diff --git a/!Załączniki/20230317101750 2023-03-17 11.06.40.excalidraw.md b/!Załączniki/20230317101750 2023-03-17 11.06.40.excalidraw.md new file mode 100644 index 0000000..91198b7 --- /dev/null +++ b/!Załączniki/20230317101750 2023-03-17 11.06.40.excalidraw.md @@ -0,0 +1,6776 @@ +--- + +excalidraw-plugin: parsed +tags: [excalidraw] + +--- +==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠== + + +# Text Elements +%% +# Drawing +```compressed-json +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 + +CQzXC0GJ1wjBjTc1DIphDXkImA3ucHXwWfZeClWnAYL+hyC2SyAxFAgJ+XHRggzC + +8vM+iwn2bwFbCl8MaATGBbgCQxXAArTXoAUBVeNmp3QEAfsDsIBIBBAOGQrmBseh + +w/FLppCXYHIONf6KI/f+iQ6JVImIi1SImJfqdye0aNIhUUVXoYLE5tLEznL9ZIVj + +FINSjZp0LQsrDDmLOdTXdMGOQIpl5wyNKIy6D48JtILWcM/2Nom1CvpzDgt+cr7T + +/APUdbfEkGA1x6AE/OWwhbznewfQBGgHmBSQAV8UBAd44ecw4KR4DCeksQh9DAHQ + +Fw2xDBqLanDxjlSIL1TFjwSIjo+IiFmPF3ahtlTVQPGLcSF3T9FaJntDQPU0iMSN + +iYi0jC4xX/Npd/oKLolAlcb2rjCuiABQ7fCrddj0ZYqPC1s2M4Mt9n0LdY5qQwK0 + ++/Y0lkuF1YGIwfMlEPIg9yyP9+M79a/RRQ8S8lPyDIzvMZ51dYj3CHSJ0gofUHkV + +L9ByNREXjPIS98b3TwEuiFJwDwmMNk2IbosqQIEDCsTylUgmU/dIIb+S6wqEx2GK + +KxaSsWjh0gWLJZXyWDKqJ0dwmjIIcb4KfofWDSJhg9b8RwziE0PQ8KCTJo1w9MDB + +PwSAcJ4QSnUE8YI3GWIQjbHy/odQjoxnkLFSFxGMbuTQiLwzOWBJ47Pz67A7kM7F + +Xozx4jsVEEc8j2z0fwERMS3jziJdgui3vrPADC71bvFTBn6BgApyYgUASxaO8hzx + +x4dGZ07z/Yzdx7d3vrac8Ki3vrVADCWX8DJAD5i03JGDiRyJTveDjbfycLGt5ErQ + +0FBmZ8W3BzYHYmsGOfagDWSJvPYD94plnVbWswVyqAd3NnAEefW4AvaR+DZwB/vk + +hgQgBMAEIAW4A2yGhY9ijmPCC0FPVT3HR7XaUBqJRYoaDtWKmYgQcw6NiI7Fjy5w + +GnCntY11mwDzQW4I/w/VZKrFO4Lo1siJCQ009NoLTouJis6PdYstjhn38OL5xYSD + +8pW48+KDP+QkYsQl41YuhcxCk+Wi8hwEs4lhj+X2XcZ49eGGqOUvItVE8ojxhvoW + +FQ9MYQTwULSgtflkAAhJ45xjehEFYyskfDScY9w2vDTXRLyPf8D5jViwmaKzjMH3 + +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 + +ZS2iRfcrc4VfKJUp+GY20o8pVOTPKJHBLyv+Kp40vy6MRr8spiovLF53yONvSvuG + +J8oxRUUyM6OqkCKBffArFNHTKYtsk8WxK1VHMjaQAg21y7HWRkyoLJXRdc9NzvAy + +acgoLz60g4yty+2TYU0gLPNAlLeuReFMISF6LV2VISNmsMay0EJ7hF9hYUxhSM/m + +mjHhS3wQwTVek+6x3wYbT9MLLi9Kgm/Fj0mhSz5XLuPU16oqHCs+EpkpByzCN2kA + +jymDyNAshgeEB9AF+DEwolcW+qdCxbjKMAfeQBASozddJKyiXikOkBiHnirGKNcu + +/uT3hwsAWypENJ8qc2amKr8NpivcL6YoPCiaCSspWSm9zZiT8ETc8hRO0sRCcaqh + +KwKcYg8S3SohDDoqrpN3L8X1N8kxySiI3yl2LjvUhy9xYSiJ0K/bLD+ETy5ENGKG + +8y/wqpFHrygihc8G7yvBAoipASuCQQ8tQEa5KX0tWyh5KUZVbykipikszkYfK44q + +SKgDyjqOyKoXQjspLkyjKDssUaMor+QxKK1FQH8rkSrIxvCsJS/2wiiu46TIquD0 + +Py/joGiqMS3fKAUohUY/LlUqsS/IqgwVqK1RL8IWaKo/4dCvn1MYrzhgmKo2KMMs + +VMXfxuir5S2YrS0oPzIEo+irLSj4ZVGkqKq4Z1ivPS3Yqnhjvyq9FYir88Bor6uX + +aynnKSzOmK7vLUdEGKrtthisuS8BBOitWKe4rtUr5yspLkXn2KpDAJitCVB9Kbiu + +yynUTDiq+IY4qrSUBK/xyPKXncdoqE7heKm1TwiojPVorNIyLCEIqz0Hoy2KJQSv + +JWSEr+GjRK60jucumSoHL4iuiidYq8SrmKnpzDoQIoF+gK4VcAzAT7LJ9iX49f/z + +cDH8C5Y0FdAL83HwDShqw2bOsdRkcvUpsdf1K8Jlk9d1KnPI5YiP82go00vV1Akm + +vk4+sdEAGcvO932L31Lty7f28EGrT760bc5Aqk3kU6NJpklMXTdAgVgnFK6CkC3N + +zvVc83uWXNLNz0BMR3Lao6ArgU0bS0Cq03VtlYgy8NQdlebLKih0rs9LSDL14IsB + +LPbnTjtJe063kyayxrcnTceWp5c5SXK1R4F7Qrc1t5SKsEdNwKk4wU1Tp0pEpPq2 + +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 + +nZ38nMwdt5j7W98s61KQKrY3GAdZpYgJOoKBkIriQxU6AXUKRFTQAUgAjm/WWGIJ + +HSk9mf6BjuAxNjbSdZscQgWZLpnj6E+d614oXHZdKFnSXcrMrq1Z1xSEKVtct6fk + +vF5c95EWxZg6m90aL5o1WUOqfC6LnnKeBl+JHvxYkeyrqtWpU+rLGPuadekomOab + +YVDYWCibLV9eWE2e0curn4pbiOwfn4QbH5/6ib1ovR/Gn1Bb7FpYVQkZMpifnuKd + +ily4WCgfKMwCH/usDB/2Uh2ax4KpGX9QrZQbbbfJpnZTKqeGj158TTe0oi92J9Zy + +ZxSJpjfnaOeGHKlTN6JomreepFv8nFsN5x/3WF5F9152HdCCCy2RJ3sEsITQAqmV + +aoyGAF9C3XUgBAQDScbnNM6e3xZCmRRnojEdaUmoiYgWGr3lkpkxMrddLyk6XEXo + +0E5F6nZeVVobWFGbdl9AgdyUEzHXzDNr1MRiY9qaEFlBjLJa4UE0XjIrA5t1lgJY + +V6YfWGueg0ReWD9b4Smrnr/sgG63bG13TaBtAslfgg9FXHzG1qrgKR1VFUB07Bpf + +/G257eWOSlk/W6iqQOL2kKACWAZoBZgW++Cpl3EEAVMlBS/pdXAanhUss53bJUKf + +H20dbJ9t0SVSrhGdTqA3HR9aq48fX3OYG1y6XP2a7l0mcmCFE4TSLm6cz3X5IOGF + +elmEzt0tm1jfX5tYZei6nttdTkVBXrPvFBivnwebNYAIXNHpRx1uGr1ePBjLmH2Y + +5RvImUCbJx6Ansxc21kvWsxom5lBXKWYTG/MITKcMVjxmhHhG57emxDfEpj5HDsu + +TVzvmfGEtV5zkH5agl7+XXsq1O+JmPEYMNnsnqiKJQ1Hm3cYQZ9rHT5kIiWnmVVT + ++LI36BZfk68BgUktwZ5nxMIu58f3GD6N5Kbyt8CD7e7Tor4tZA7pVyCZWwKRrn/n + +xVs+hW9kqln8n8hu7F2kXyVsXkXxqyUEu4FaVb2gGYXXhLCBtAXABWbnpkJndM6Z + +timA2QEoMTM+99Cf4hlE7ExeGGidGhdfImh2X+tcn1wbW0+cl17uXcnMBQIR8Bej + +3wMcRz4gL5sLn0as31u8WA5YfFjsn1Dcd1wNFnIcCJ6wDDBby29/GoaYWxsnHSuf + +eS4Hm2asMNoMWRDfOgnQ2gSryZo3qrFdNeiQ3XOXKN4YXJjZzF7SBkatkazExdhB + +HAGOxsVWS8R9idSu4IAgGNdHXPLTBV4NKls3RrJD1ugZBVdBnGz2nXGhFo11gUUX + +YK6WXsZNllvY20MKdhr8dYSWI+itFf4P2ctoBhgDKZAfGEgFBEWQABqYNxflW9ls + +MMwGh4gFs5n9YZREGGi6aTE1Ulwf6lRZcBzSXFVbqNnA2NRZn15xM2SGWiRWHH3J + +YmwiIdMBbnN6Wezos23o3/Zai5q/GJKFOG7lHbTmtx3AHvSq6ek0LL3Cy1j/Xn5l + +2G75itQNcwyRJ9AH/AaoAVrVlCZoBl+MGAJEBvvi7IZncjzs71rCbQqnD5wLqcha + +Jwco2wuple22Xn2eF11uWShctsmunPAYORgDDMmECrU9xyYIdyjK5r9Y7PT5a2Tf + +hJ+8WVwac2xbWUpeW191MVzrnlijmbRf9Fq4Y0sY0NoxA3VZcl20bKQPtGvKGsdu + +8VtfLvVbVRpqzU2dSZmRpMcbBlvfLT4Z0F1GmoICgVl8WPLVxxxBWoIEiV6RXso0 + +y2pojnJc/Fhrrzta82yM3ZFHrG5/Lb+dlaSZBJolcN5cQFuxnIncatFykLQE8LZ3 + +2XDHjomWuXLPbEnXkIi5YgAvh8twagvxeU+HyIHOwiySYnWtdqtZX+lfx1mI2ZZc + +cwos36zfO1wv63COcAI5zggBP0y44T0MDQuODIrgEc1nXoFyOQaE6p4voJi7HnyG + +1Ns2WS+L1N6tXMMtYgs3HmEvQNrmSfjPOl1gXyTZVVyk3c6WqF3sL9Nt2Qu8xYJL + +1VnFmVdeVGt03u6dQ6zk2JjbcpzxZ2joSl24WsicN1uGmwNCXJnyWN+dYN6/Hayd + +UVurDmUcUF7eAbtYkodg3fqbHyztw1ev0F7/b6DZdF/Y2D5YyK5GmGYHdmtHR6oc + +/R0CXccfYN26nbztv/A7WwbOHGi+hu8RqlpgjVVzj6i1Dzgzig9yUrZyjiFn015s + +NGGmjU0fpoiLUU0d0Le81JMPM/MwaRvlTSrSYPwKXk7K8l5O6paZWi9Ej1/q8yGd + +t5oa1xlq/HQkBFAv88qYIUgD8ABIAt9ESRFfF8AB4AMiR1TcD5wGsWyvE26+hETp + +TmsVX11gSW6RHc6qqNoT6ajarpsXXnZYaNuia1ovSQK5YLwuIN4IioqGEYbMnNIb + +HltdRZ3XPxsQWPTZ31s769hbGlmjL9zse5uxHddcBlVcmTccpxkrGf1vKtodKz9e + +Hpkq3VuY1BrKXZzu5B4caGYkwJKQHsvhwGBQtnkGmWC8zqNZEB5Z9RecpV6dnC9f + +pPTyXZyaPpr8dm1pTAKmSxggSAQYB7LZZVJ458AGaABAB1cRBydhmQ3w2lq4GQHl + +z4KFKSje4ZtcXocjDlkwnY+Z9VgoXGBdNN1JbzTfAPawmrpdsJjZ52CBf8PRAHTb + +ORoYtM41dNmg23kezNwo7CVtENhC3X/sD1qY25jbjygymKgYENlykxuce12Dc/rY + +sRnLnOWH25ya3GrY8pDBaImaRB0XHkbfNx0lmD4f11uhXJ+f0ptI6FVu7e+ptQzf + +Rlxlnyzfht/nL7yuO5wRAr9vOt5WKsufENnGnFnzZ/XejSUIoizPXQUXsygD7oqO + +g+137weLUbKzL79m+uzs2CaOIqvCqqySAKpNHwWVVo4+D9ecNpBW2lVB1c48a5iM + +CE1GHwPLMtnP6GbcJipm3JasNGr8cnjkAQrODlADLIOAAtDKWAcZGxSPFAYgA3F3 + +R670mq+uCItPUOdYy8LU3JNqZG0Mmq5fXFhwGzDN0m402eteqNvrWIrYtNsoW/zf + +T51Z1G5HwIJQcliWVh3wbiVK6N9K2UdugtyLnYLcDl4rnaudYeSQ2nxcUQYY24se + +11kpnBSf9klYXIbejNxfnQmckJ4or1DbL1xY2y+fXjDM2eitglzGW/9umFnG3dtf + +wt5xnymfxM9yq6raqtiEoBcZoe5Gn4zeJixFydBf9oaraFFcjljsS9fDaLf1zp72 + +S0n8iLoaUbUnL2qAB4d36B2CDWvyjr3q//Bmz6cpaMkwa3Bb9GYAXH42vbePqARs + +k5ita45aoRovXn+kQ5g+XwJvshQVEeAkuAHDldgAhEHRM8AD+Os/1j7xr6mSWuyo + +yFoOHh0fLYAK2+ZH8Jl1tKHv9tsiawraDtmFmyTb2Rik3w7ZqA1OxzTFWYj9Yf9L + +mwVS4CEJX+ucHujYqW5O3srf6Nz028rZMZv0XL4biWBcnuLdvS54WiHf7p8OWNte + +MZmh3USd9NhDHmrd7nW6LGOYjRaMhbUxNa3oQKNxPotVIdnpY5vfVVBEEdl0xq7v + +Z5lc3Wkbo2kaXhzolNwQZMYGUAOAAbqD14Dtaz2iZgO+4SPCSNlshv7fnF682GYk + +KNumB7rD8tj6rY61Uq2UXZAjfN77bLrbtlwO2RddqNyK2p9eitvw7JpmnG/cI3rb + +BjfyBbzGP2nMnILeoN4vmzfOFqkjmAicVm3KWXVmEp0e25v2EVtcmLJuKZrbmI4p + +3loLHO7ZoKHQWiLam+kY3OQY1DM+W8RlOFnC2gxDGh2i3EbfSd6uG7prWFkVGYbZ + +nlvYWKHailqh2+joBlgu2O4vidjx64cZ4Vnf7AzZO1tDpfHpgShVgOhYpLERChsQ + +6VyHbAUWHIhpzxSw3M0D6t7ZI1tPatHBiG6M4X9i9RsxhDBpqBNcCIsxvJkbacfR + +4Oh7o1l3pyzwCNNFwE9nFwVTqigE2lnMcwnM3lQeCd37sl8JEKyQBCwZSAJ30i+0 + +trHuI6yGE2RRTdgGPvFLpUTdp4dE3GOHgN3vXDsgOW6Sn+oI6Fj82Tgri6rA3YHf + +H+3SX/zeobVdxGjn+ctZiJtcukG5BHCooNspaqDfHlvB2vpZNV6eXVwf5O+u2+Us + +h8f53ajuKd/F214cl620W4Cw3hyfKGnYEe4pnnzaGoakCrd2x/KK1wFJVGZm09HB + +ijRebNIFg7W/WXLJYqm3mc/uL1xJ3PGZNS+J2vx23XRoBq9eB+F2jn7iMAQYAn7g + +gpiHBIbGQmz5nA30TqwRGO0uERhFhu0uSyyUw8HS1y6+xpqZEZyo3utcgdwinbHe + +Dtu63LTbkh602s4fTaNFN10bk+jcpF9i+QJXXKDZwd1k3vraO+gom9vtadsmX7Vf + +kFqqHCFrQtkBXeED1mgCtD4Ynt8xHPKrb5+LnfwdvtiN3WwhXJqVGpuc6RoJWU3e + +WFnXWUbcdV+Y3UidKt2G3DDbDN6KXX6ZMNxxnb9t38NLHv9dXcGA6n9tTNoBrA3Z + +zFipBhfG0Yc076rSntIEUGjl/e++kgYZYxmHNSNazMPNaTwKMIjMlKtQjFRaq4Bl + +HVV/Wy2H7d3NaX9YizGQ781sHdrozI9BKRxwtVOf6FrMo1rord0TQkDk30m0AYlH + +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 + +YUWL78T1/cQpnX8NkRNLXpGfq0mbpCUj/clWPXpGRdYjr+OHjgEkrlNgsZPwjMZc + +rjJHScPxZgU5w+FOQ3TTRlWjPeKQWk++WmhSWGkO7SXqZg6CkpNDDA1jvxIbnkHQ + +fC6NIy8LqckzR8Px4lUZ5nCV4bZTKDoKTtAqZCoz1i7RjLpZgn4/MsUUyy2mxcUk + +MNKdIBWFGFWxlSLFM4eqMub8gCiaxn5SPVUdcUxx69HiQw7XdP1SVNM2U6qJkTRk + +vFNqduNM28UoF0Rpnp0DydniUoUZeJTTOG5jNbQjyTVDmQoz5R6fyMWmakMaU6jU + +zQ2QwdL2mZXQFRWuG8VFanTPOsVFMp7hiUT38nMmPP0YkEtLBACD1DYrJK1Ltrwt + +kZ5IDMrECAKWSXjA0oxCsRAEFcPypgYXg72+0pjYenSmPziTDMri20pi2spftIpI + +CRYjyZ6Ug95aMPGpWkyMiqQW8sLu6iOk7KWVMuh0e8sQdHboIpKeGsaUZ7ECnSTY + +pyJmQ7tPeWYxjMpmvTNkcWpA6mWKe8xDpvXHk8SP6Ue+++xxnYofxZoZVqP1xtyS + +0s5tygJzAaFOaRDgcTYH3hiE6TCsRvJZH8SElsVMoqXN8aipynSy94IOU06XAFV2 + +xRqEf/I+DXhwRwKcIazZ4WokHAJO5HrVfpewAE4qk/qOaCqkUz38ybVugqdBUFwQ + +nE9Fk9sz5ckO/EgmVU5XLu/4zlVD1OWlKp4ITxKm5I7mmLnkZbh+M1lpHPhbMkPc + +hZbsF3aCkk2YSQkJKSImUl3NluT4gCJnkTITmZRM1Uq7Ldsu60TN8gADrB7kdEyv + +Zmd3nnuFKVTu8HEzXZksTOcgGxM/NyLZsRcHYTK5bt4Mge8RtiKgyp2J+5JxolpR + +OPVhqyOa2j0tZ8NJS0NYI9IpQFqGcDWBMqCjVbeQnVkQ0cGVR7BuvIRbr6yNeioc + +8VoZjVBoB4G118rEAM9WuS7JPdIvsnFuprXRXkGtcid6K8iD5AsMr9iOLTCfLgZj + +BLvJEkNxGkj/yZuSN9yd6YhoxMHlnADQj2IANuzDoAeoEOIqnu0hsD4fYwgFABqn + +GEpOIcHsCd2gfsZqhJHuVFye4k9qhKWSvEnmtKIyAJRcXRIdZPJzBQFa4tpYQo2Z + +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 + +AQAA +``` +%% \ No newline at end of file diff --git a/!Załączniki/20230317101750 2023-03-17 11.25.47.excalidraw.md b/!Załączniki/20230317101750 2023-03-17 11.25.47.excalidraw.md new file mode 100644 index 0000000..6f5c1c6 --- /dev/null +++ b/!Załączniki/20230317101750 2023-03-17 11.25.47.excalidraw.md @@ -0,0 +1,3818 @@ +--- + +excalidraw-plugin: parsed +tags: [excalidraw] + +--- +==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠== + + +# Text Elements +%% +# Drawing +```compressed-json +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 + +aow6p+qXMutUttVhrPKYXRRcfJP0gRkB3IRwzaUjL2hTRSDPIoVqu6i3VJBTYTrq + +ZMVKNjqVioa6mrqNo2VSnStBGrQq/WCSfJsa948bEwiUgLLIPT8i6ayKiu/Ehhqu + +6uBg9xiQ1JS1NTSqgFpgECV3LNaAKYA9HTYADK1B9gOwBQi4arKC5Jrv10pcyzqo + +K2hsmzrEEmk+FaS0ivqClcrv2qxa39qCco/S4pqyqo9qooC8tPHarpK7gEL/TXoW + +Urqa3SrPxIjSqWi7x1Uy9tTPdNgkmaifPIaMsVLa0m4wO/KaKr+q3dqgcuBovsrg + +auaAUlw+gBunMxU+xyZAAEE3bApANBEM21Yy56krNNiIazqoCoi6NuTiNS1azGqM + +iu7apzqUCpc63PKlKvN0g+q/7i2lbpTvuqY48ZIjaEvqoYEwuqHs3XddtVQiqqM5 + +XJQOQ2K3T1k1REiMzPuC4NrHgsS6wCq7T17yyWz0urKg3gTftJ/4sOr40py63ezC + +yuRQokq8oLGa4lVqX08DV+zqzSiQ2rrGKIkrMCklAtjE2UqxnylOOtJDTVKi13LE + +3TjEiClPkt+8fIS0dMVKn7K80woqkiR+n3lqpZ9EKTt6z/TEx1sHXCqHB2AMr9sd + +CrTi5pNesOVIzxANcoY6uCkE4QOilTreQt+a8eLyuA1qWPDr1xSAVoA0RM8bLvwk + +ONWAcsB6CGZAImAGYEcAL9lxtIfBMHNICvfo6KQgAvs6pzTHOp/awMqcWt3q1nrv + +UsPlJ6ZxdjVbbnqnZlSgfEJqatRimorcZyYsVgRBetWqqm8sLOFym7KGWsYKmHr7 + +WLX65edmnN5KyjqMbD+gh55ZLMzzPCYLGocvYRiHGosXZBc21BXUQtqdTmF/Gaj0 + +tzgAVYABRj8AZgA10Fb0U0ApdPoAcn1GWOREhUKTupdM0pSJ9GgrCpTbavfa+Art + +WtLbVcqISv1a0tTe+rxa41rWknqeO5Rx9Uqa7ERDzCTo+MqwIvta2or36GDfZ1qI + +eqCIrz8BirAEJHyzdj0fbXqa0QLSlOQucsJQVPkj5CyMvcjKYXvU1Xr8rPabCVKV + +ExXogkhd6MOjSpx2Bt1yhDzty1KgEIgR3NkY6dlhBrvwdxqpGvs4OjY3FNHcusqo + +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 + +YCAAA=== +``` +%% \ No newline at end of file diff --git a/!Załączniki/5. 2023-03-22 10.19.43.excalidraw.md b/!Załączniki/5. 2023-03-22 10.19.43.excalidraw.md new file mode 100644 index 0000000..7f4c780 --- /dev/null +++ b/!Załączniki/5. 2023-03-22 10.19.43.excalidraw.md @@ -0,0 +1,640 @@ +--- + +excalidraw-plugin: parsed +tags: [excalidraw] + +--- +==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠== + + +# Text Elements +%% +# Drawing +```compressed-json +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 + +DLGEmcBko+SMCNKBR4MoD4MUk6lkLUl7BtIgHELQFKIdMsgxVdMu0jKYT9NYVUO9 + +Me1qi0IpUDJEU+BpVDLpWkQjKagB2jPMNZVSh8o5XB1sL8HsJNBTKKjTO6gzIqjM + +S8MissQcJ7NsXSTakpiMnUxVUrPeHLK1VGneG6kmjdQ1XoXmgiWnJqKZyyK7MSQy + +ryIOgHKySHOyTyoF2KXzMnKqOejqtornOFIXItwaO7Q2L6UwpRKPI2O70TB1iLTz + +w2Pjxcx1nj2QxWtaMWLmI2vwqWPAuAtuKLRvkWv7lWPOspOLhfI6JuotgvKWL6Wb + +jOuLlIt5j2vWqOMgJXjoqXjZOAngJYqQO5PYv3gwK4oFJ4vqOcB1x4GOOIMlKoku + +XoC/jLBgBCzAS6HmGIDaEkC6DuDLA4AgUElSGUC0ukh0vQU+DBVxhZTUmmhMrMqd + +UkMoUdOsvkLQHoRMOUNuwRGcpJTcoDKCiDNEX0LCqij8oZTstMOZRB3FusMTKiuT + +IKlTLUgSvh0zOSsYtSolXSt6oxwHK9DdH7xhXyu8TjDNuDDrO4HdS7ASEmnNzCVb + +PSNQPWnLGyKav1sgH7PSUKJdXdF2GbK9QnPKD9RdtqODXnMt0XKX3jwkyUzjs4xo + +u/FZJSqamYoq1YpBtQPQL5Ihv2TPnqJ/0viIKEq6xEvQEwFiE0A+UzB6H4k4juDp + +HsBkskBSFqDgDaFiCGBonJogGBVNNW30tQ0tNQHdUZqB2NUsoCRZUxU5vdLJRuyc + +vUJct4QcugHcuFs8vKG8u+zDN+2MMCqB1jMsPloTIh2VpVBhzVrcPKA8K1uqh1p8 + +K9v8JagbJPQSAp0ts4EslO2KrJzlUml2DbRmhSJquqIyMgDdriQ9p2nZ1at9sHLd + +HyW80KXHOar6v9QGsgdmWGufDRjGoIYSxaLthIe3H2ujsBmgsoYSzuoSxwtBgtkQ + +oaVerIabmYZhgSwofGqALYYphfPTk2qUwfOIoSzerPFvPQqdm4ehnmp2oY3moYfv + +KRiUYTiRmmrAFWo0bTxOAQxZj0ZUcArJlUeTUTi6TMadwsdI3DmWtIzkb4YWIccr + +W+oK1YtgPTsBszuBo2VBtDs4r2Qa0Lqjs4adjvQRuEqlMuXwEaA/k0A6EzBcxkrL + +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 +``` +%% \ No newline at end of file diff --git a/.obsidian/community-plugins.json b/.obsidian/community-plugins.json index 645ccf8..416e83b 100644 --- a/.obsidian/community-plugins.json +++ b/.obsidian/community-plugins.json @@ -16,5 +16,12 @@ "emoji-shortcodes", "obsidian-excalidraw-plugin", "highlightr-plugin", - "obsidian-git" + "obsidian-git", + "obsidian-desmos", + "3d-graph", + "graph-analysis", + "juggl", + "obsidian-functionplot", + "obsidian-tikzjax", + "obsidian-export-image" ] \ No newline at end of file diff --git a/.obsidian/plugins/3d-graph/main.js b/.obsidian/plugins/3d-graph/main.js new file mode 100644 index 0000000..5db7cb2 --- /dev/null +++ b/.obsidian/plugins/3d-graph/main.js @@ -0,0 +1,31211 @@ +/* +THIS IS A GENERATED/BUNDLED FILE BY ESBUILD +if you want to view the source, please visit the github repository of this plugin +*/ + +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod)); +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// node_modules/ngraph.events/index.js +var require_ngraph = __commonJS({ + "node_modules/ngraph.events/index.js"(exports2, module2) { + module2.exports = function eventify(subject) { + validateSubject(subject); + var eventsStorage = createEventsStorage(subject); + subject.on = eventsStorage.on; + subject.off = eventsStorage.off; + subject.fire = eventsStorage.fire; + return subject; + }; + function createEventsStorage(subject) { + var registeredEvents = /* @__PURE__ */ Object.create(null); + return { + on: function(eventName, callback, ctx) { + if (typeof callback !== "function") { + throw new Error("callback is expected to be a function"); + } + var handlers = registeredEvents[eventName]; + if (!handlers) { + handlers = registeredEvents[eventName] = []; + } + handlers.push({ callback, ctx }); + return subject; + }, + off: function(eventName, callback) { + var wantToRemoveAll = typeof eventName === "undefined"; + if (wantToRemoveAll) { + registeredEvents = /* @__PURE__ */ Object.create(null); + return subject; + } + if (registeredEvents[eventName]) { + var deleteAllCallbacksForEvent = typeof callback !== "function"; + if (deleteAllCallbacksForEvent) { + delete registeredEvents[eventName]; + } else { + var callbacks = registeredEvents[eventName]; + for (var i = 0; i < callbacks.length; ++i) { + if (callbacks[i].callback === callback) { + callbacks.splice(i, 1); + } + } + } + } + return subject; + }, + fire: function(eventName) { + var callbacks = registeredEvents[eventName]; + if (!callbacks) { + return subject; + } + var fireArguments; + if (arguments.length > 1) { + fireArguments = Array.prototype.splice.call(arguments, 1); + } + for (var i = 0; i < callbacks.length; ++i) { + var callbackInfo = callbacks[i]; + callbackInfo.callback.apply(callbackInfo.ctx, fireArguments); + } + return subject; + } + }; + } + function validateSubject(subject) { + if (!subject) { + throw new Error("Eventify cannot use falsy object as events subject"); + } + var reservedWords = ["on", "fire", "off"]; + for (var i = 0; i < reservedWords.length; ++i) { + if (subject.hasOwnProperty(reservedWords[i])) { + throw new Error("Subject cannot be eventified, since it already has property '" + reservedWords[i] + "'"); + } + } + } + } +}); + +// node_modules/ngraph.graph/index.js +var require_ngraph2 = __commonJS({ + "node_modules/ngraph.graph/index.js"(exports2, module2) { + module2.exports = createGraph; + var eventify = require_ngraph(); + function createGraph(options) { + options = options || {}; + if ("uniqueLinkId" in options) { + console.warn("ngraph.graph: Starting from version 0.14 `uniqueLinkId` is deprecated.\nUse `multigraph` option instead\n", "\n", "Note: there is also change in default behavior: From now on each graph\nis considered to be not a multigraph by default (each edge is unique)."); + options.multigraph = options.uniqueLinkId; + } + if (options.multigraph === void 0) + options.multigraph = false; + if (typeof Map !== "function") { + throw new Error("ngraph.graph requires `Map` to be defined. Please polyfill it before using ngraph"); + } + var nodes = /* @__PURE__ */ new Map(); + var links = /* @__PURE__ */ new Map(); + var multiEdges = {}; + var suspendEvents = 0; + var createLink = options.multigraph ? createUniqueLink : createSingleLink, changes = [], recordLinkChange = noop2, recordNodeChange = noop2, enterModification = noop2, exitModification = noop2; + var graphPart = { + version: 20, + addNode, + addLink, + removeLink, + removeNode, + getNode, + getNodeCount, + getLinkCount, + getEdgeCount: getLinkCount, + getLinksCount: getLinkCount, + getNodesCount: getNodeCount, + getLinks, + forEachNode, + forEachLinkedNode, + forEachLink, + beginUpdate: enterModification, + endUpdate: exitModification, + clear, + hasLink: getLink, + hasNode: getNode, + getLink + }; + eventify(graphPart); + monitorSubscribers(); + return graphPart; + function monitorSubscribers() { + var realOn = graphPart.on; + graphPart.on = on; + function on() { + graphPart.beginUpdate = enterModification = enterModificationReal; + graphPart.endUpdate = exitModification = exitModificationReal; + recordLinkChange = recordLinkChangeReal; + recordNodeChange = recordNodeChangeReal; + graphPart.on = realOn; + return realOn.apply(graphPart, arguments); + } + } + function recordLinkChangeReal(link, changeType) { + changes.push({ + link, + changeType + }); + } + function recordNodeChangeReal(node, changeType) { + changes.push({ + node, + changeType + }); + } + function addNode(nodeId, data) { + if (nodeId === void 0) { + throw new Error("Invalid node identifier"); + } + enterModification(); + var node = getNode(nodeId); + if (!node) { + node = new Node2(nodeId, data); + recordNodeChange(node, "add"); + } else { + node.data = data; + recordNodeChange(node, "update"); + } + nodes.set(nodeId, node); + exitModification(); + return node; + } + function getNode(nodeId) { + return nodes.get(nodeId); + } + function removeNode(nodeId) { + var node = getNode(nodeId); + if (!node) { + return false; + } + enterModification(); + var prevLinks = node.links; + if (prevLinks) { + prevLinks.forEach(removeLinkInstance); + node.links = null; + } + nodes.delete(nodeId); + recordNodeChange(node, "remove"); + exitModification(); + return true; + } + function addLink(fromId, toId, data) { + enterModification(); + var fromNode = getNode(fromId) || addNode(fromId); + var toNode = getNode(toId) || addNode(toId); + var link = createLink(fromId, toId, data); + var isUpdate = links.has(link.id); + links.set(link.id, link); + addLinkToNode(fromNode, link); + if (fromId !== toId) { + addLinkToNode(toNode, link); + } + recordLinkChange(link, isUpdate ? "update" : "add"); + exitModification(); + return link; + } + function createSingleLink(fromId, toId, data) { + var linkId = makeLinkId(fromId, toId); + var prevLink = links.get(linkId); + if (prevLink) { + prevLink.data = data; + return prevLink; + } + return new Link2(fromId, toId, data, linkId); + } + function createUniqueLink(fromId, toId, data) { + var linkId = makeLinkId(fromId, toId); + var isMultiEdge = multiEdges.hasOwnProperty(linkId); + if (isMultiEdge || getLink(fromId, toId)) { + if (!isMultiEdge) { + multiEdges[linkId] = 0; + } + var suffix = "@" + ++multiEdges[linkId]; + linkId = makeLinkId(fromId + suffix, toId + suffix); + } + return new Link2(fromId, toId, data, linkId); + } + function getNodeCount() { + return nodes.size; + } + function getLinkCount() { + return links.size; + } + function getLinks(nodeId) { + var node = getNode(nodeId); + return node ? node.links : null; + } + function removeLink(link, otherId) { + if (otherId !== void 0) { + link = getLink(link, otherId); + } + return removeLinkInstance(link); + } + function removeLinkInstance(link) { + if (!link) { + return false; + } + if (!links.get(link.id)) + return false; + enterModification(); + links.delete(link.id); + var fromNode = getNode(link.fromId); + var toNode = getNode(link.toId); + if (fromNode) { + fromNode.links.delete(link); + } + if (toNode) { + toNode.links.delete(link); + } + recordLinkChange(link, "remove"); + exitModification(); + return true; + } + function getLink(fromNodeId, toNodeId) { + if (fromNodeId === void 0 || toNodeId === void 0) + return void 0; + return links.get(makeLinkId(fromNodeId, toNodeId)); + } + function clear() { + enterModification(); + forEachNode(function(node) { + removeNode(node.id); + }); + exitModification(); + } + function forEachLink(callback) { + if (typeof callback === "function") { + var valuesIterator = links.values(); + var nextValue = valuesIterator.next(); + while (!nextValue.done) { + if (callback(nextValue.value)) { + return true; + } + nextValue = valuesIterator.next(); + } + } + } + function forEachLinkedNode(nodeId, callback, oriented) { + var node = getNode(nodeId); + if (node && node.links && typeof callback === "function") { + if (oriented) { + return forEachOrientedLink(node.links, nodeId, callback); + } else { + return forEachNonOrientedLink(node.links, nodeId, callback); + } + } + } + function forEachNonOrientedLink(links2, nodeId, callback) { + var quitFast; + var valuesIterator = links2.values(); + var nextValue = valuesIterator.next(); + while (!nextValue.done) { + var link = nextValue.value; + var linkedNodeId = link.fromId === nodeId ? link.toId : link.fromId; + quitFast = callback(nodes.get(linkedNodeId), link); + if (quitFast) { + return true; + } + nextValue = valuesIterator.next(); + } + } + function forEachOrientedLink(links2, nodeId, callback) { + var quitFast; + var valuesIterator = links2.values(); + var nextValue = valuesIterator.next(); + while (!nextValue.done) { + var link = nextValue.value; + if (link.fromId === nodeId) { + quitFast = callback(nodes.get(link.toId), link); + if (quitFast) { + return true; + } + } + nextValue = valuesIterator.next(); + } + } + function noop2() { + } + function enterModificationReal() { + suspendEvents += 1; + } + function exitModificationReal() { + suspendEvents -= 1; + if (suspendEvents === 0 && changes.length > 0) { + graphPart.fire("changed", changes); + changes.length = 0; + } + } + function forEachNode(callback) { + if (typeof callback !== "function") { + throw new Error("Function is expected to iterate over graph nodes. You passed " + callback); + } + var valuesIterator = nodes.values(); + var nextValue = valuesIterator.next(); + while (!nextValue.done) { + if (callback(nextValue.value)) { + return true; + } + nextValue = valuesIterator.next(); + } + } + } + function Node2(id, data) { + this.id = id; + this.links = null; + this.data = data; + } + function addLinkToNode(node, link) { + if (node.links) { + node.links.add(link); + } else { + node.links = /* @__PURE__ */ new Set([link]); + } + } + function Link2(fromId, toId, data, id) { + this.fromId = fromId; + this.toId = toId; + this.data = data; + this.id = id; + } + function makeLinkId(fromId, toId) { + return fromId.toString() + "\u{1F449} " + toId.toString(); + } + } +}); + +// node_modules/ngraph.forcelayout/lib/codeGenerators/getVariableName.js +var require_getVariableName = __commonJS({ + "node_modules/ngraph.forcelayout/lib/codeGenerators/getVariableName.js"(exports2, module2) { + module2.exports = function getVariableName(index5) { + if (index5 === 0) + return "x"; + if (index5 === 1) + return "y"; + if (index5 === 2) + return "z"; + return "c" + (index5 + 1); + }; + } +}); + +// node_modules/ngraph.forcelayout/lib/codeGenerators/createPatternBuilder.js +var require_createPatternBuilder = __commonJS({ + "node_modules/ngraph.forcelayout/lib/codeGenerators/createPatternBuilder.js"(exports2, module2) { + var getVariableName = require_getVariableName(); + module2.exports = function createPatternBuilder(dimension) { + return pattern; + function pattern(template, config) { + let indent = config && config.indent || 0; + let join = config && config.join !== void 0 ? config.join : "\n"; + let indentString = Array(indent + 1).join(" "); + let buffer = []; + for (let i = 0; i < dimension; ++i) { + let variableName = getVariableName(i); + let prefix = i === 0 ? "" : indentString; + buffer.push(prefix + template.replace(/{var}/g, variableName)); + } + return buffer.join(join); + } + }; + } +}); + +// node_modules/ngraph.forcelayout/lib/codeGenerators/generateCreateBody.js +var require_generateCreateBody = __commonJS({ + "node_modules/ngraph.forcelayout/lib/codeGenerators/generateCreateBody.js"(exports2, module2) { + var createPatternBuilder = require_createPatternBuilder(); + module2.exports = generateCreateBodyFunction; + module2.exports.generateCreateBodyFunctionBody = generateCreateBodyFunctionBody; + module2.exports.getVectorCode = getVectorCode; + module2.exports.getBodyCode = getBodyCode; + function generateCreateBodyFunction(dimension, debugSetters) { + let code = generateCreateBodyFunctionBody(dimension, debugSetters); + let { Body } = new Function(code)(); + return Body; + } + function generateCreateBodyFunctionBody(dimension, debugSetters) { + let code = ` +${getVectorCode(dimension, debugSetters)} +${getBodyCode(dimension, debugSetters)} +return {Body: Body, Vector: Vector}; +`; + return code; + } + function getBodyCode(dimension) { + let pattern = createPatternBuilder(dimension); + let variableList = pattern("{var}", { join: ", " }); + return ` +function Body(${variableList}) { + this.isPinned = false; + this.pos = new Vector(${variableList}); + this.force = new Vector(); + this.velocity = new Vector(); + this.mass = 1; + + this.springCount = 0; + this.springLength = 0; +} + +Body.prototype.reset = function() { + this.force.reset(); + this.springCount = 0; + this.springLength = 0; +} + +Body.prototype.setPosition = function (${variableList}) { + ${pattern("this.pos.{var} = {var} || 0;", { indent: 2 })} +};`; + } + function getVectorCode(dimension, debugSetters) { + let pattern = createPatternBuilder(dimension); + let setters = ""; + if (debugSetters) { + setters = `${pattern("\n var v{var};\nObject.defineProperty(this, '{var}', {\n set: function(v) { \n if (!Number.isFinite(v)) throw new Error('Cannot set non-numbers to {var}');\n v{var} = v; \n },\n get: function() { return v{var}; }\n});")}`; + } + let variableList = pattern("{var}", { join: ", " }); + return `function Vector(${variableList}) { + ${setters} + if (typeof arguments[0] === 'object') { + // could be another vector + let v = arguments[0]; + ${pattern('if (!Number.isFinite(v.{var})) throw new Error("Expected value is not a finite number at Vector constructor ({var})");', { indent: 4 })} + ${pattern("this.{var} = v.{var};", { indent: 4 })} + } else { + ${pattern('this.{var} = typeof {var} === "number" ? {var} : 0;', { indent: 4 })} + } + } + + Vector.prototype.reset = function () { + ${pattern("this.{var} = ", { join: "" })}0; + };`; + } + } +}); + +// node_modules/ngraph.forcelayout/lib/codeGenerators/generateQuadTree.js +var require_generateQuadTree = __commonJS({ + "node_modules/ngraph.forcelayout/lib/codeGenerators/generateQuadTree.js"(exports2, module2) { + var createPatternBuilder = require_createPatternBuilder(); + var getVariableName = require_getVariableName(); + module2.exports = generateQuadTreeFunction; + module2.exports.generateQuadTreeFunctionBody = generateQuadTreeFunctionBody; + module2.exports.getInsertStackCode = getInsertStackCode; + module2.exports.getQuadNodeCode = getQuadNodeCode; + module2.exports.isSamePosition = isSamePosition; + module2.exports.getChildBodyCode = getChildBodyCode; + module2.exports.setChildBodyCode = setChildBodyCode; + function generateQuadTreeFunction(dimension) { + let code = generateQuadTreeFunctionBody(dimension); + return new Function(code)(); + } + function generateQuadTreeFunctionBody(dimension) { + let pattern = createPatternBuilder(dimension); + let quadCount = Math.pow(2, dimension); + let code = ` +${getInsertStackCode()} +${getQuadNodeCode(dimension)} +${isSamePosition(dimension)} +${getChildBodyCode(dimension)} +${setChildBodyCode(dimension)} + +function createQuadTree(options, random) { + options = options || {}; + options.gravity = typeof options.gravity === 'number' ? options.gravity : -1; + options.theta = typeof options.theta === 'number' ? options.theta : 0.8; + + var gravity = options.gravity; + var updateQueue = []; + var insertStack = new InsertStack(); + var theta = options.theta; + + var nodesCache = []; + var currentInCache = 0; + var root = newNode(); + + return { + insertBodies: insertBodies, + + /** + * Gets root node if it is present + */ + getRoot: function() { + return root; + }, + + updateBodyForce: update, + + options: function(newOptions) { + if (newOptions) { + if (typeof newOptions.gravity === 'number') { + gravity = newOptions.gravity; + } + if (typeof newOptions.theta === 'number') { + theta = newOptions.theta; + } + + return this; + } + + return { + gravity: gravity, + theta: theta + }; + } + }; + + function newNode() { + // To avoid pressure on GC we reuse nodes. + var node = nodesCache[currentInCache]; + if (node) { +${assignQuads(" node.")} + node.body = null; + node.mass = ${pattern("node.mass_{var} = ", { join: "" })}0; + ${pattern("node.min_{var} = node.max_{var} = ", { join: "" })}0; + } else { + node = new QuadNode(); + nodesCache[currentInCache] = node; + } + + ++currentInCache; + return node; + } + + function update(sourceBody) { + var queue = updateQueue; + var v; + ${pattern("var d{var};", { indent: 4 })} + var r; + ${pattern("var f{var} = 0;", { indent: 4 })} + var queueLength = 1; + var shiftIdx = 0; + var pushIdx = 1; + + queue[0] = root; + + while (queueLength) { + var node = queue[shiftIdx]; + var body = node.body; + + queueLength -= 1; + shiftIdx += 1; + var differentBody = (body !== sourceBody); + if (body && differentBody) { + // If the current node is a leaf node (and it is not source body), + // calculate the force exerted by the current node on body, and add this + // amount to body's net force. + ${pattern("d{var} = body.pos.{var} - sourceBody.pos.{var};", { indent: 8 })} + r = Math.sqrt(${pattern("d{var} * d{var}", { join: " + " })}); + + if (r === 0) { + // Poor man's protection against zero distance. + ${pattern("d{var} = (random.nextDouble() - 0.5) / 50;", { indent: 10 })} + r = Math.sqrt(${pattern("d{var} * d{var}", { join: " + " })}); + } + + // This is standard gravitation force calculation but we divide + // by r^3 to save two operations when normalizing force vector. + v = gravity * body.mass * sourceBody.mass / (r * r * r); + ${pattern("f{var} += v * d{var};", { indent: 8 })} + } else if (differentBody) { + // Otherwise, calculate the ratio s / r, where s is the width of the region + // represented by the internal node, and r is the distance between the body + // and the node's center-of-mass + ${pattern("d{var} = node.mass_{var} / node.mass - sourceBody.pos.{var};", { indent: 8 })} + r = Math.sqrt(${pattern("d{var} * d{var}", { join: " + " })}); + + if (r === 0) { + // Sorry about code duplication. I don't want to create many functions + // right away. Just want to see performance first. + ${pattern("d{var} = (random.nextDouble() - 0.5) / 50;", { indent: 10 })} + r = Math.sqrt(${pattern("d{var} * d{var}", { join: " + " })}); + } + // If s / r < \u03B8, treat this internal node as a single body, and calculate the + // force it exerts on sourceBody, and add this amount to sourceBody's net force. + if ((node.max_${getVariableName(0)} - node.min_${getVariableName(0)}) / r < theta) { + // in the if statement above we consider node's width only + // because the region was made into square during tree creation. + // Thus there is no difference between using width or height. + v = gravity * node.mass * sourceBody.mass / (r * r * r); + ${pattern("f{var} += v * d{var};", { indent: 10 })} + } else { + // Otherwise, run the procedure recursively on each of the current node's children. + + // I intentionally unfolded this loop, to save several CPU cycles. +${runRecursiveOnChildren()} + } + } + } + + ${pattern("sourceBody.force.{var} += f{var};", { indent: 4 })} + } + + function insertBodies(bodies) { + ${pattern("var {var}min = Number.MAX_VALUE;", { indent: 4 })} + ${pattern("var {var}max = Number.MIN_VALUE;", { indent: 4 })} + var i = bodies.length; + + // To reduce quad tree depth we are looking for exact bounding box of all particles. + while (i--) { + var pos = bodies[i].pos; + ${pattern("if (pos.{var} < {var}min) {var}min = pos.{var};", { indent: 6 })} + ${pattern("if (pos.{var} > {var}max) {var}max = pos.{var};", { indent: 6 })} + } + + // Makes the bounds square. + var maxSideLength = -Infinity; + ${pattern("if ({var}max - {var}min > maxSideLength) maxSideLength = {var}max - {var}min ;", { indent: 4 })} + + currentInCache = 0; + root = newNode(); + ${pattern("root.min_{var} = {var}min;", { indent: 4 })} + ${pattern("root.max_{var} = {var}min + maxSideLength;", { indent: 4 })} + + i = bodies.length - 1; + if (i >= 0) { + root.body = bodies[i]; + } + while (i--) { + insert(bodies[i], root); + } + } + + function insert(newBody) { + insertStack.reset(); + insertStack.push(root, newBody); + + while (!insertStack.isEmpty()) { + var stackItem = insertStack.pop(); + var node = stackItem.node; + var body = stackItem.body; + + if (!node.body) { + // This is internal node. Update the total mass of the node and center-of-mass. + ${pattern("var {var} = body.pos.{var};", { indent: 8 })} + node.mass += body.mass; + ${pattern("node.mass_{var} += body.mass * {var};", { indent: 8 })} + + // Recursively insert the body in the appropriate quadrant. + // But first find the appropriate quadrant. + var quadIdx = 0; // Assume we are in the 0's quad. + ${pattern("var min_{var} = node.min_{var};", { indent: 8 })} + ${pattern("var max_{var} = (min_{var} + node.max_{var}) / 2;", { indent: 8 })} + +${assignInsertionQuadIndex(8)} + + var child = getChild(node, quadIdx); + + if (!child) { + // The node is internal but this quadrant is not taken. Add + // subnode to it. + child = newNode(); + ${pattern("child.min_{var} = min_{var};", { indent: 10 })} + ${pattern("child.max_{var} = max_{var};", { indent: 10 })} + child.body = body; + + setChild(node, quadIdx, child); + } else { + // continue searching in this quadrant. + insertStack.push(child, body); + } + } else { + // We are trying to add to the leaf node. + // We have to convert current leaf into internal node + // and continue adding two nodes. + var oldBody = node.body; + node.body = null; // internal nodes do not cary bodies + + if (isSamePosition(oldBody.pos, body.pos)) { + // Prevent infinite subdivision by bumping one node + // anywhere in this quadrant + var retriesCount = 3; + do { + var offset = random.nextDouble(); + ${pattern("var d{var} = (node.max_{var} - node.min_{var}) * offset;", { indent: 12 })} + + ${pattern("oldBody.pos.{var} = node.min_{var} + d{var};", { indent: 12 })} + retriesCount -= 1; + // Make sure we don't bump it out of the box. If we do, next iteration should fix it + } while (retriesCount > 0 && isSamePosition(oldBody.pos, body.pos)); + + if (retriesCount === 0 && isSamePosition(oldBody.pos, body.pos)) { + // This is very bad, we ran out of precision. + // if we do not return from the method we'll get into + // infinite loop here. So we sacrifice correctness of layout, and keep the app running + // Next layout iteration should get larger bounding box in the first step and fix this + return; + } + } + // Next iteration should subdivide node further. + insertStack.push(node, oldBody); + insertStack.push(node, body); + } + } + } +} +return createQuadTree; + +`; + return code; + function assignInsertionQuadIndex(indentCount) { + let insertionCode = []; + let indent = Array(indentCount + 1).join(" "); + for (let i = 0; i < dimension; ++i) { + insertionCode.push(indent + `if (${getVariableName(i)} > max_${getVariableName(i)}) {`); + insertionCode.push(indent + ` quadIdx = quadIdx + ${Math.pow(2, i)};`); + insertionCode.push(indent + ` min_${getVariableName(i)} = max_${getVariableName(i)};`); + insertionCode.push(indent + ` max_${getVariableName(i)} = node.max_${getVariableName(i)};`); + insertionCode.push(indent + `}`); + } + return insertionCode.join("\n"); + } + function runRecursiveOnChildren() { + let indent = Array(11).join(" "); + let recursiveCode = []; + for (let i = 0; i < quadCount; ++i) { + recursiveCode.push(indent + `if (node.quad${i}) {`); + recursiveCode.push(indent + ` queue[pushIdx] = node.quad${i};`); + recursiveCode.push(indent + ` queueLength += 1;`); + recursiveCode.push(indent + ` pushIdx += 1;`); + recursiveCode.push(indent + `}`); + } + return recursiveCode.join("\n"); + } + function assignQuads(indent) { + let quads = []; + for (let i = 0; i < quadCount; ++i) { + quads.push(`${indent}quad${i} = null;`); + } + return quads.join("\n"); + } + } + function isSamePosition(dimension) { + let pattern = createPatternBuilder(dimension); + return ` + function isSamePosition(point1, point2) { + ${pattern("var d{var} = Math.abs(point1.{var} - point2.{var});", { indent: 2 })} + + return ${pattern("d{var} < 1e-8", { join: " && " })}; + } +`; + } + function setChildBodyCode(dimension) { + var quadCount = Math.pow(2, dimension); + return ` +function setChild(node, idx, child) { + ${setChildBody()} +}`; + function setChildBody() { + let childBody = []; + for (let i = 0; i < quadCount; ++i) { + let prefix = i === 0 ? " " : " else "; + childBody.push(`${prefix}if (idx === ${i}) node.quad${i} = child;`); + } + return childBody.join("\n"); + } + } + function getChildBodyCode(dimension) { + return `function getChild(node, idx) { +${getChildBody()} + return null; +}`; + function getChildBody() { + let childBody = []; + let quadCount = Math.pow(2, dimension); + for (let i = 0; i < quadCount; ++i) { + childBody.push(` if (idx === ${i}) return node.quad${i};`); + } + return childBody.join("\n"); + } + } + function getQuadNodeCode(dimension) { + let pattern = createPatternBuilder(dimension); + let quadCount = Math.pow(2, dimension); + var quadNodeCode = ` +function QuadNode() { + // body stored inside this node. In quad tree only leaf nodes (by construction) + // contain bodies: + this.body = null; + + // Child nodes are stored in quads. Each quad is presented by number: + // 0 | 1 + // ----- + // 2 | 3 +${assignQuads(" this.")} + + // Total mass of current node + this.mass = 0; + + // Center of mass coordinates + ${pattern("this.mass_{var} = 0;", { indent: 2 })} + + // bounding box coordinates + ${pattern("this.min_{var} = 0;", { indent: 2 })} + ${pattern("this.max_{var} = 0;", { indent: 2 })} +} +`; + return quadNodeCode; + function assignQuads(indent) { + let quads = []; + for (let i = 0; i < quadCount; ++i) { + quads.push(`${indent}quad${i} = null;`); + } + return quads.join("\n"); + } + } + function getInsertStackCode() { + return ` +/** + * Our implementation of QuadTree is non-recursive to avoid GC hit + * This data structure represent stack of elements + * which we are trying to insert into quad tree. + */ +function InsertStack () { + this.stack = []; + this.popIdx = 0; +} + +InsertStack.prototype = { + isEmpty: function() { + return this.popIdx === 0; + }, + push: function (node, body) { + var item = this.stack[this.popIdx]; + if (!item) { + // we are trying to avoid memory pressure: create new element + // only when absolutely necessary + this.stack[this.popIdx] = new InsertStackElement(node, body); + } else { + item.node = node; + item.body = body; + } + ++this.popIdx; + }, + pop: function () { + if (this.popIdx > 0) { + return this.stack[--this.popIdx]; + } + }, + reset: function () { + this.popIdx = 0; + } +}; + +function InsertStackElement(node, body) { + this.node = node; // QuadTree node + this.body = body; // physical body which needs to be inserted to node +} +`; + } + } +}); + +// node_modules/ngraph.forcelayout/lib/codeGenerators/generateBounds.js +var require_generateBounds = __commonJS({ + "node_modules/ngraph.forcelayout/lib/codeGenerators/generateBounds.js"(exports2, module2) { + module2.exports = generateBoundsFunction; + module2.exports.generateFunctionBody = generateBoundsFunctionBody; + var createPatternBuilder = require_createPatternBuilder(); + function generateBoundsFunction(dimension) { + let code = generateBoundsFunctionBody(dimension); + return new Function("bodies", "settings", "random", code); + } + function generateBoundsFunctionBody(dimension) { + let pattern = createPatternBuilder(dimension); + let code = ` + var boundingBox = { + ${pattern("min_{var}: 0, max_{var}: 0,", { indent: 4 })} + }; + + return { + box: boundingBox, + + update: updateBoundingBox, + + reset: resetBoundingBox, + + getBestNewPosition: function (neighbors) { + var ${pattern("base_{var} = 0", { join: ", " })}; + + if (neighbors.length) { + for (var i = 0; i < neighbors.length; ++i) { + let neighborPos = neighbors[i].pos; + ${pattern("base_{var} += neighborPos.{var};", { indent: 10 })} + } + + ${pattern("base_{var} /= neighbors.length;", { indent: 8 })} + } else { + ${pattern("base_{var} = (boundingBox.min_{var} + boundingBox.max_{var}) / 2;", { indent: 8 })} + } + + var springLength = settings.springLength; + return { + ${pattern("{var}: base_{var} + (random.nextDouble() - 0.5) * springLength,", { indent: 8 })} + }; + } + }; + + function updateBoundingBox() { + var i = bodies.length; + if (i === 0) return; // No bodies - no borders. + + ${pattern("var max_{var} = -Infinity;", { indent: 4 })} + ${pattern("var min_{var} = Infinity;", { indent: 4 })} + + while(i--) { + // this is O(n), it could be done faster with quadtree, if we check the root node bounds + var bodyPos = bodies[i].pos; + ${pattern("if (bodyPos.{var} < min_{var}) min_{var} = bodyPos.{var};", { indent: 6 })} + ${pattern("if (bodyPos.{var} > max_{var}) max_{var} = bodyPos.{var};", { indent: 6 })} + } + + ${pattern("boundingBox.min_{var} = min_{var};", { indent: 4 })} + ${pattern("boundingBox.max_{var} = max_{var};", { indent: 4 })} + } + + function resetBoundingBox() { + ${pattern("boundingBox.min_{var} = boundingBox.max_{var} = 0;", { indent: 4 })} + } +`; + return code; + } + } +}); + +// node_modules/ngraph.forcelayout/lib/codeGenerators/generateCreateDragForce.js +var require_generateCreateDragForce = __commonJS({ + "node_modules/ngraph.forcelayout/lib/codeGenerators/generateCreateDragForce.js"(exports2, module2) { + var createPatternBuilder = require_createPatternBuilder(); + module2.exports = generateCreateDragForceFunction; + module2.exports.generateCreateDragForceFunctionBody = generateCreateDragForceFunctionBody; + function generateCreateDragForceFunction(dimension) { + let code = generateCreateDragForceFunctionBody(dimension); + return new Function("options", code); + } + function generateCreateDragForceFunctionBody(dimension) { + let pattern = createPatternBuilder(dimension); + let code = ` + if (!Number.isFinite(options.dragCoefficient)) throw new Error('dragCoefficient is not a finite number'); + + return { + update: function(body) { + ${pattern("body.force.{var} -= options.dragCoefficient * body.velocity.{var};", { indent: 6 })} + } + }; +`; + return code; + } + } +}); + +// node_modules/ngraph.forcelayout/lib/codeGenerators/generateCreateSpringForce.js +var require_generateCreateSpringForce = __commonJS({ + "node_modules/ngraph.forcelayout/lib/codeGenerators/generateCreateSpringForce.js"(exports2, module2) { + var createPatternBuilder = require_createPatternBuilder(); + module2.exports = generateCreateSpringForceFunction; + module2.exports.generateCreateSpringForceFunctionBody = generateCreateSpringForceFunctionBody; + function generateCreateSpringForceFunction(dimension) { + let code = generateCreateSpringForceFunctionBody(dimension); + return new Function("options", "random", code); + } + function generateCreateSpringForceFunctionBody(dimension) { + let pattern = createPatternBuilder(dimension); + let code = ` + if (!Number.isFinite(options.springCoefficient)) throw new Error('Spring coefficient is not a number'); + if (!Number.isFinite(options.springLength)) throw new Error('Spring length is not a number'); + + return { + /** + * Updates forces acting on a spring + */ + update: function (spring) { + var body1 = spring.from; + var body2 = spring.to; + var length = spring.length < 0 ? options.springLength : spring.length; + ${pattern("var d{var} = body2.pos.{var} - body1.pos.{var};", { indent: 6 })} + var r = Math.sqrt(${pattern("d{var} * d{var}", { join: " + " })}); + + if (r === 0) { + ${pattern("d{var} = (random.nextDouble() - 0.5) / 50;", { indent: 8 })} + r = Math.sqrt(${pattern("d{var} * d{var}", { join: " + " })}); + } + + var d = r - length; + var coefficient = ((spring.coefficient > 0) ? spring.coefficient : options.springCoefficient) * d / r; + + ${pattern("body1.force.{var} += coefficient * d{var}", { indent: 6 })}; + body1.springCount += 1; + body1.springLength += r; + + ${pattern("body2.force.{var} -= coefficient * d{var}", { indent: 6 })}; + body2.springCount += 1; + body2.springLength += r; + } + }; +`; + return code; + } + } +}); + +// node_modules/ngraph.forcelayout/lib/codeGenerators/generateIntegrator.js +var require_generateIntegrator = __commonJS({ + "node_modules/ngraph.forcelayout/lib/codeGenerators/generateIntegrator.js"(exports2, module2) { + var createPatternBuilder = require_createPatternBuilder(); + module2.exports = generateIntegratorFunction; + module2.exports.generateIntegratorFunctionBody = generateIntegratorFunctionBody; + function generateIntegratorFunction(dimension) { + let code = generateIntegratorFunctionBody(dimension); + return new Function("bodies", "timeStep", "adaptiveTimeStepWeight", code); + } + function generateIntegratorFunctionBody(dimension) { + let pattern = createPatternBuilder(dimension); + let code = ` + var length = bodies.length; + if (length === 0) return 0; + + ${pattern("var d{var} = 0, t{var} = 0;", { indent: 2 })} + + for (var i = 0; i < length; ++i) { + var body = bodies[i]; + if (body.isPinned) continue; + + if (adaptiveTimeStepWeight && body.springCount) { + timeStep = (adaptiveTimeStepWeight * body.springLength/body.springCount); + } + + var coeff = timeStep / body.mass; + + ${pattern("body.velocity.{var} += coeff * body.force.{var};", { indent: 4 })} + ${pattern("var v{var} = body.velocity.{var};", { indent: 4 })} + var v = Math.sqrt(${pattern("v{var} * v{var}", { join: " + " })}); + + if (v > 1) { + // We normalize it so that we move within timeStep range. + // for the case when v <= 1 - we let velocity to fade out. + ${pattern("body.velocity.{var} = v{var} / v;", { indent: 6 })} + } + + ${pattern("d{var} = timeStep * body.velocity.{var};", { indent: 4 })} + + ${pattern("body.pos.{var} += d{var};", { indent: 4 })} + + ${pattern("t{var} += Math.abs(d{var});", { indent: 4 })} + } + + return (${pattern("t{var} * t{var}", { join: " + " })})/length; +`; + return code; + } + } +}); + +// node_modules/ngraph.forcelayout/lib/spring.js +var require_spring = __commonJS({ + "node_modules/ngraph.forcelayout/lib/spring.js"(exports2, module2) { + module2.exports = Spring; + function Spring(fromBody, toBody, length, springCoefficient) { + this.from = fromBody; + this.to = toBody; + this.length = length; + this.coefficient = springCoefficient; + } + } +}); + +// node_modules/ngraph.merge/index.js +var require_ngraph3 = __commonJS({ + "node_modules/ngraph.merge/index.js"(exports2, module2) { + module2.exports = merge; + function merge(target, options) { + var key; + if (!target) { + target = {}; + } + if (options) { + for (key in options) { + if (options.hasOwnProperty(key)) { + var targetHasIt = target.hasOwnProperty(key), optionsValueType = typeof options[key], shouldReplace = !targetHasIt || typeof target[key] !== optionsValueType; + if (shouldReplace) { + target[key] = options[key]; + } else if (optionsValueType === "object") { + target[key] = merge(target[key], options[key]); + } + } + } + } + return target; + } + } +}); + +// node_modules/ngraph.random/index.js +var require_ngraph4 = __commonJS({ + "node_modules/ngraph.random/index.js"(exports2, module2) { + module2.exports = random; + module2.exports.random = random, module2.exports.randomIterator = randomIterator; + function random(inputSeed) { + var seed = typeof inputSeed === "number" ? inputSeed : +new Date(); + return new Generator(seed); + } + function Generator(seed) { + this.seed = seed; + } + Generator.prototype.next = next; + Generator.prototype.nextDouble = nextDouble; + Generator.prototype.uniform = nextDouble; + Generator.prototype.gaussian = gaussian; + function gaussian() { + var r, x2, y2; + do { + x2 = this.nextDouble() * 2 - 1; + y2 = this.nextDouble() * 2 - 1; + r = x2 * x2 + y2 * y2; + } while (r >= 1 || r === 0); + return x2 * Math.sqrt(-2 * Math.log(r) / r); + } + Generator.prototype.levy = levy; + function levy() { + var beta = 3 / 2; + var sigma = Math.pow(gamma(1 + beta) * Math.sin(Math.PI * beta / 2) / (gamma((1 + beta) / 2) * beta * Math.pow(2, (beta - 1) / 2)), 1 / beta); + return this.gaussian() * sigma / Math.pow(Math.abs(this.gaussian()), 1 / beta); + } + function gamma(z2) { + return Math.sqrt(2 * Math.PI / z2) * Math.pow(1 / Math.E * (z2 + 1 / (12 * z2 - 1 / (10 * z2))), z2); + } + function nextDouble() { + var seed = this.seed; + seed = seed + 2127912214 + (seed << 12) & 4294967295; + seed = (seed ^ 3345072700 ^ seed >>> 19) & 4294967295; + seed = seed + 374761393 + (seed << 5) & 4294967295; + seed = (seed + 3550635116 ^ seed << 9) & 4294967295; + seed = seed + 4251993797 + (seed << 3) & 4294967295; + seed = (seed ^ 3042594569 ^ seed >>> 16) & 4294967295; + this.seed = seed; + return (seed & 268435455) / 268435456; + } + function next(maxValue) { + return Math.floor(this.nextDouble() * maxValue); + } + function randomIterator(array, customRandom) { + var localRandom = customRandom || random(); + if (typeof localRandom.next !== "function") { + throw new Error("customRandom does not match expected API: next() function is missing"); + } + return { + forEach, + shuffle + }; + function shuffle() { + var i, j, t; + for (i = array.length - 1; i > 0; --i) { + j = localRandom.next(i + 1); + t = array[j]; + array[j] = array[i]; + array[i] = t; + } + return array; + } + function forEach(callback) { + var i, j, t; + for (i = array.length - 1; i > 0; --i) { + j = localRandom.next(i + 1); + t = array[j]; + array[j] = array[i]; + array[i] = t; + callback(t); + } + if (array.length) { + callback(array[0]); + } + } + } + } +}); + +// node_modules/ngraph.forcelayout/lib/createPhysicsSimulator.js +var require_createPhysicsSimulator = __commonJS({ + "node_modules/ngraph.forcelayout/lib/createPhysicsSimulator.js"(exports2, module2) { + module2.exports = createPhysicsSimulator; + var generateCreateBodyFunction = require_generateCreateBody(); + var generateQuadTreeFunction = require_generateQuadTree(); + var generateBoundsFunction = require_generateBounds(); + var generateCreateDragForceFunction = require_generateCreateDragForce(); + var generateCreateSpringForceFunction = require_generateCreateSpringForce(); + var generateIntegratorFunction = require_generateIntegrator(); + var dimensionalCache = {}; + function createPhysicsSimulator(settings) { + var Spring = require_spring(); + var merge = require_ngraph3(); + var eventify = require_ngraph(); + if (settings) { + if (settings.springCoeff !== void 0) + throw new Error("springCoeff was renamed to springCoefficient"); + if (settings.dragCoeff !== void 0) + throw new Error("dragCoeff was renamed to dragCoefficient"); + } + settings = merge(settings, { + springLength: 10, + springCoefficient: 0.8, + gravity: -12, + theta: 0.8, + dragCoefficient: 0.9, + timeStep: 0.5, + adaptiveTimeStepWeight: 0, + dimensions: 2, + debug: false + }); + var factory = dimensionalCache[settings.dimensions]; + if (!factory) { + var dimensions = settings.dimensions; + factory = { + Body: generateCreateBodyFunction(dimensions, settings.debug), + createQuadTree: generateQuadTreeFunction(dimensions), + createBounds: generateBoundsFunction(dimensions), + createDragForce: generateCreateDragForceFunction(dimensions), + createSpringForce: generateCreateSpringForceFunction(dimensions), + integrate: generateIntegratorFunction(dimensions) + }; + dimensionalCache[dimensions] = factory; + } + var Body = factory.Body; + var createQuadTree = factory.createQuadTree; + var createBounds = factory.createBounds; + var createDragForce = factory.createDragForce; + var createSpringForce = factory.createSpringForce; + var integrate = factory.integrate; + var createBody = (pos) => new Body(pos); + var random = require_ngraph4().random(42); + var bodies = []; + var springs = []; + var quadTree = createQuadTree(settings, random); + var bounds = createBounds(bodies, settings, random); + var springForce = createSpringForce(settings, random); + var dragForce = createDragForce(settings); + var totalMovement = 0; + var forces = []; + var forceMap = /* @__PURE__ */ new Map(); + var iterationNumber = 0; + addForce("nbody", nbodyForce); + addForce("spring", updateSpringForce); + var publicApi = { + bodies, + quadTree, + springs, + settings, + addForce, + removeForce, + getForces, + step: function() { + for (var i = 0; i < forces.length; ++i) { + forces[i](iterationNumber); + } + var movement = integrate(bodies, settings.timeStep, settings.adaptiveTimeStepWeight); + iterationNumber += 1; + return movement; + }, + addBody: function(body) { + if (!body) { + throw new Error("Body is required"); + } + bodies.push(body); + return body; + }, + addBodyAt: function(pos) { + if (!pos) { + throw new Error("Body position is required"); + } + var body = createBody(pos); + bodies.push(body); + return body; + }, + removeBody: function(body) { + if (!body) { + return; + } + var idx = bodies.indexOf(body); + if (idx < 0) { + return; + } + bodies.splice(idx, 1); + if (bodies.length === 0) { + bounds.reset(); + } + return true; + }, + addSpring: function(body1, body2, springLength, springCoefficient) { + if (!body1 || !body2) { + throw new Error("Cannot add null spring to force simulator"); + } + if (typeof springLength !== "number") { + springLength = -1; + } + var spring = new Spring(body1, body2, springLength, springCoefficient >= 0 ? springCoefficient : -1); + springs.push(spring); + return spring; + }, + getTotalMovement: function() { + return totalMovement; + }, + removeSpring: function(spring) { + if (!spring) { + return; + } + var idx = springs.indexOf(spring); + if (idx > -1) { + springs.splice(idx, 1); + return true; + } + }, + getBestNewBodyPosition: function(neighbors) { + return bounds.getBestNewPosition(neighbors); + }, + getBBox: getBoundingBox, + getBoundingBox, + invalidateBBox: function() { + console.warn("invalidateBBox() is deprecated, bounds always recomputed on `getBBox()` call"); + }, + gravity: function(value) { + if (value !== void 0) { + settings.gravity = value; + quadTree.options({ gravity: value }); + return this; + } else { + return settings.gravity; + } + }, + theta: function(value) { + if (value !== void 0) { + settings.theta = value; + quadTree.options({ theta: value }); + return this; + } else { + return settings.theta; + } + }, + random + }; + expose(settings, publicApi); + eventify(publicApi); + return publicApi; + function getBoundingBox() { + bounds.update(); + return bounds.box; + } + function addForce(forceName, forceFunction) { + if (forceMap.has(forceName)) + throw new Error("Force " + forceName + " is already added"); + forceMap.set(forceName, forceFunction); + forces.push(forceFunction); + } + function removeForce(forceName) { + var forceIndex = forces.indexOf(forceMap.get(forceName)); + if (forceIndex < 0) + return; + forces.splice(forceIndex, 1); + forceMap.delete(forceName); + } + function getForces() { + return forceMap; + } + function nbodyForce() { + if (bodies.length === 0) + return; + quadTree.insertBodies(bodies); + var i = bodies.length; + while (i--) { + var body = bodies[i]; + if (!body.isPinned) { + body.reset(); + quadTree.updateBodyForce(body); + dragForce.update(body); + } + } + } + function updateSpringForce() { + var i = springs.length; + while (i--) { + springForce.update(springs[i]); + } + } + } + function expose(settings, target) { + for (var key in settings) { + augment(settings, target, key); + } + } + function augment(source, target, key) { + if (!source.hasOwnProperty(key)) + return; + if (typeof target[key] === "function") { + return; + } + var sourceIsNumber = Number.isFinite(source[key]); + if (sourceIsNumber) { + target[key] = function(value) { + if (value !== void 0) { + if (!Number.isFinite(value)) + throw new Error("Value of " + key + " should be a valid number."); + source[key] = value; + return target; + } + return source[key]; + }; + } else { + target[key] = function(value) { + if (value !== void 0) { + source[key] = value; + return target; + } + return source[key]; + }; + } + } + } +}); + +// node_modules/ngraph.forcelayout/index.js +var require_ngraph5 = __commonJS({ + "node_modules/ngraph.forcelayout/index.js"(exports2, module2) { + module2.exports = createLayout; + module2.exports.simulator = require_createPhysicsSimulator(); + var eventify = require_ngraph(); + function createLayout(graph2, physicsSettings) { + if (!graph2) { + throw new Error("Graph structure cannot be undefined"); + } + var createSimulator = physicsSettings && physicsSettings.createSimulator || require_createPhysicsSimulator(); + var physicsSimulator = createSimulator(physicsSettings); + if (Array.isArray(physicsSettings)) + throw new Error("Physics settings is expected to be an object"); + var nodeMass = graph2.version > 19 ? defaultSetNodeMass : defaultArrayNodeMass; + if (physicsSettings && typeof physicsSettings.nodeMass === "function") { + nodeMass = physicsSettings.nodeMass; + } + var nodeBodies = /* @__PURE__ */ new Map(); + var springs = {}; + var bodiesCount = 0; + var springTransform = physicsSimulator.settings.springTransform || noop2; + initPhysics(); + listenToEvents(); + var wasStable = false; + var api = { + step: function() { + if (bodiesCount === 0) { + updateStableStatus(true); + return true; + } + var lastMove = physicsSimulator.step(); + api.lastMove = lastMove; + api.fire("step"); + var ratio = lastMove / bodiesCount; + var isStableNow = ratio <= 0.01; + updateStableStatus(isStableNow); + return isStableNow; + }, + getNodePosition: function(nodeId) { + return getInitializedBody(nodeId).pos; + }, + setNodePosition: function(nodeId) { + var body = getInitializedBody(nodeId); + body.setPosition.apply(body, Array.prototype.slice.call(arguments, 1)); + }, + getLinkPosition: function(linkId) { + var spring = springs[linkId]; + if (spring) { + return { + from: spring.from.pos, + to: spring.to.pos + }; + } + }, + getGraphRect: function() { + return physicsSimulator.getBBox(); + }, + forEachBody, + pinNode: function(node, isPinned) { + var body = getInitializedBody(node.id); + body.isPinned = !!isPinned; + }, + isNodePinned: function(node) { + return getInitializedBody(node.id).isPinned; + }, + dispose: function() { + graph2.off("changed", onGraphChanged); + api.fire("disposed"); + }, + getBody, + getSpring, + getForceVectorLength, + simulator: physicsSimulator, + graph: graph2, + lastMove: 0 + }; + eventify(api); + return api; + function updateStableStatus(isStableNow) { + if (wasStable !== isStableNow) { + wasStable = isStableNow; + onStableChanged(isStableNow); + } + } + function forEachBody(cb) { + nodeBodies.forEach(cb); + } + function getForceVectorLength() { + var fx = 0, fy = 0; + forEachBody(function(body) { + fx += Math.abs(body.force.x); + fy += Math.abs(body.force.y); + }); + return Math.sqrt(fx * fx + fy * fy); + } + function getSpring(fromId, toId) { + var linkId; + if (toId === void 0) { + if (typeof fromId !== "object") { + linkId = fromId; + } else { + linkId = fromId.id; + } + } else { + var link = graph2.hasLink(fromId, toId); + if (!link) + return; + linkId = link.id; + } + return springs[linkId]; + } + function getBody(nodeId) { + return nodeBodies.get(nodeId); + } + function listenToEvents() { + graph2.on("changed", onGraphChanged); + } + function onStableChanged(isStable) { + api.fire("stable", isStable); + } + function onGraphChanged(changes) { + for (var i = 0; i < changes.length; ++i) { + var change = changes[i]; + if (change.changeType === "add") { + if (change.node) { + initBody(change.node.id); + } + if (change.link) { + initLink(change.link); + } + } else if (change.changeType === "remove") { + if (change.node) { + releaseNode(change.node); + } + if (change.link) { + releaseLink(change.link); + } + } + } + bodiesCount = graph2.getNodesCount(); + } + function initPhysics() { + bodiesCount = 0; + graph2.forEachNode(function(node) { + initBody(node.id); + bodiesCount += 1; + }); + graph2.forEachLink(initLink); + } + function initBody(nodeId) { + var body = nodeBodies.get(nodeId); + if (!body) { + var node = graph2.getNode(nodeId); + if (!node) { + throw new Error("initBody() was called with unknown node id"); + } + var pos = node.position; + if (!pos) { + var neighbors = getNeighborBodies(node); + pos = physicsSimulator.getBestNewBodyPosition(neighbors); + } + body = physicsSimulator.addBodyAt(pos); + body.id = nodeId; + nodeBodies.set(nodeId, body); + updateBodyMass(nodeId); + if (isNodeOriginallyPinned(node)) { + body.isPinned = true; + } + } + } + function releaseNode(node) { + var nodeId = node.id; + var body = nodeBodies.get(nodeId); + if (body) { + nodeBodies.delete(nodeId); + physicsSimulator.removeBody(body); + } + } + function initLink(link) { + updateBodyMass(link.fromId); + updateBodyMass(link.toId); + var fromBody = nodeBodies.get(link.fromId), toBody = nodeBodies.get(link.toId), spring = physicsSimulator.addSpring(fromBody, toBody, link.length); + springTransform(link, spring); + springs[link.id] = spring; + } + function releaseLink(link) { + var spring = springs[link.id]; + if (spring) { + var from = graph2.getNode(link.fromId), to = graph2.getNode(link.toId); + if (from) + updateBodyMass(from.id); + if (to) + updateBodyMass(to.id); + delete springs[link.id]; + physicsSimulator.removeSpring(spring); + } + } + function getNeighborBodies(node) { + var neighbors = []; + if (!node.links) { + return neighbors; + } + var maxNeighbors = Math.min(node.links.length, 2); + for (var i = 0; i < maxNeighbors; ++i) { + var link = node.links[i]; + var otherBody = link.fromId !== node.id ? nodeBodies.get(link.fromId) : nodeBodies.get(link.toId); + if (otherBody && otherBody.pos) { + neighbors.push(otherBody); + } + } + return neighbors; + } + function updateBodyMass(nodeId) { + var body = nodeBodies.get(nodeId); + body.mass = nodeMass(nodeId); + if (Number.isNaN(body.mass)) { + throw new Error("Node mass should be a number"); + } + } + function isNodeOriginallyPinned(node) { + return node && (node.isPinned || node.data && node.data.isPinned); + } + function getInitializedBody(nodeId) { + var body = nodeBodies.get(nodeId); + if (!body) { + initBody(nodeId); + body = nodeBodies.get(nodeId); + } + return body; + } + function defaultArrayNodeMass(nodeId) { + var links = graph2.getLinks(nodeId); + if (!links) + return 1; + return 1 + links.length / 3; + } + function defaultSetNodeMass(nodeId) { + var links = graph2.getLinks(nodeId); + if (!links) + return 1; + return 1 + links.size / 3; + } + } + function noop2() { + } + } +}); + +// node_modules/debounce/index.js +var require_debounce = __commonJS({ + "node_modules/debounce/index.js"(exports2, module2) { + function debounce2(func, wait, immediate) { + var timeout2, args, context, timestamp, result; + if (wait == null) + wait = 100; + function later() { + var last = Date.now() - timestamp; + if (last < wait && last >= 0) { + timeout2 = setTimeout(later, wait - last); + } else { + timeout2 = null; + if (!immediate) { + result = func.apply(context, args); + context = args = null; + } + } + } + ; + var debounced = function() { + context = this; + args = arguments; + timestamp = Date.now(); + var callNow = immediate && !timeout2; + if (!timeout2) + timeout2 = setTimeout(later, wait); + if (callNow) { + result = func.apply(context, args); + context = args = null; + } + return result; + }; + debounced.clear = function() { + if (timeout2) { + clearTimeout(timeout2); + timeout2 = null; + } + }; + debounced.flush = function() { + if (timeout2) { + result = func.apply(context, args); + context = args = null; + clearTimeout(timeout2); + timeout2 = null; + } + }; + return debounced; + } + debounce2.debounce = debounce2; + module2.exports = debounce2; + } +}); + +// node_modules/tinycolor2/tinycolor.js +var require_tinycolor = __commonJS({ + "node_modules/tinycolor2/tinycolor.js"(exports2, module2) { + (function(Math2) { + var trimLeft = /^\s+/, trimRight = /\s+$/, tinyCounter = 0, mathRound = Math2.round, mathMin = Math2.min, mathMax = Math2.max, mathRandom = Math2.random; + function tinycolor(color, opts) { + color = color ? color : ""; + opts = opts || {}; + if (color instanceof tinycolor) { + return color; + } + if (!(this instanceof tinycolor)) { + return new tinycolor(color, opts); + } + var rgb2 = inputToRGB(color); + this._originalInput = color, this._r = rgb2.r, this._g = rgb2.g, this._b = rgb2.b, this._a = rgb2.a, this._roundA = mathRound(100 * this._a) / 100, this._format = opts.format || rgb2.format; + this._gradientType = opts.gradientType; + if (this._r < 1) { + this._r = mathRound(this._r); + } + if (this._g < 1) { + this._g = mathRound(this._g); + } + if (this._b < 1) { + this._b = mathRound(this._b); + } + this._ok = rgb2.ok; + this._tc_id = tinyCounter++; + } + tinycolor.prototype = { + isDark: function() { + return this.getBrightness() < 128; + }, + isLight: function() { + return !this.isDark(); + }, + isValid: function() { + return this._ok; + }, + getOriginalInput: function() { + return this._originalInput; + }, + getFormat: function() { + return this._format; + }, + getAlpha: function() { + return this._a; + }, + getBrightness: function() { + var rgb2 = this.toRgb(); + return (rgb2.r * 299 + rgb2.g * 587 + rgb2.b * 114) / 1e3; + }, + getLuminance: function() { + var rgb2 = this.toRgb(); + var RsRGB, GsRGB, BsRGB, R, G, B; + RsRGB = rgb2.r / 255; + GsRGB = rgb2.g / 255; + BsRGB = rgb2.b / 255; + if (RsRGB <= 0.03928) { + R = RsRGB / 12.92; + } else { + R = Math2.pow((RsRGB + 0.055) / 1.055, 2.4); + } + if (GsRGB <= 0.03928) { + G = GsRGB / 12.92; + } else { + G = Math2.pow((GsRGB + 0.055) / 1.055, 2.4); + } + if (BsRGB <= 0.03928) { + B = BsRGB / 12.92; + } else { + B = Math2.pow((BsRGB + 0.055) / 1.055, 2.4); + } + return 0.2126 * R + 0.7152 * G + 0.0722 * B; + }, + setAlpha: function(value) { + this._a = boundAlpha(value); + this._roundA = mathRound(100 * this._a) / 100; + return this; + }, + toHsv: function() { + var hsv = rgbToHsv(this._r, this._g, this._b); + return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this._a }; + }, + toHsvString: function() { + var hsv = rgbToHsv(this._r, this._g, this._b); + var h = mathRound(hsv.h * 360), s = mathRound(hsv.s * 100), v = mathRound(hsv.v * 100); + return this._a == 1 ? "hsv(" + h + ", " + s + "%, " + v + "%)" : "hsva(" + h + ", " + s + "%, " + v + "%, " + this._roundA + ")"; + }, + toHsl: function() { + var hsl = rgbToHsl(this._r, this._g, this._b); + return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this._a }; + }, + toHslString: function() { + var hsl = rgbToHsl(this._r, this._g, this._b); + var h = mathRound(hsl.h * 360), s = mathRound(hsl.s * 100), l = mathRound(hsl.l * 100); + return this._a == 1 ? "hsl(" + h + ", " + s + "%, " + l + "%)" : "hsla(" + h + ", " + s + "%, " + l + "%, " + this._roundA + ")"; + }, + toHex: function(allow3Char) { + return rgbToHex(this._r, this._g, this._b, allow3Char); + }, + toHexString: function(allow3Char) { + return "#" + this.toHex(allow3Char); + }, + toHex8: function(allow4Char) { + return rgbaToHex(this._r, this._g, this._b, this._a, allow4Char); + }, + toHex8String: function(allow4Char) { + return "#" + this.toHex8(allow4Char); + }, + toRgb: function() { + return { r: mathRound(this._r), g: mathRound(this._g), b: mathRound(this._b), a: this._a }; + }, + toRgbString: function() { + return this._a == 1 ? "rgb(" + mathRound(this._r) + ", " + mathRound(this._g) + ", " + mathRound(this._b) + ")" : "rgba(" + mathRound(this._r) + ", " + mathRound(this._g) + ", " + mathRound(this._b) + ", " + this._roundA + ")"; + }, + toPercentageRgb: function() { + return { r: mathRound(bound01(this._r, 255) * 100) + "%", g: mathRound(bound01(this._g, 255) * 100) + "%", b: mathRound(bound01(this._b, 255) * 100) + "%", a: this._a }; + }, + toPercentageRgbString: function() { + return this._a == 1 ? "rgb(" + mathRound(bound01(this._r, 255) * 100) + "%, " + mathRound(bound01(this._g, 255) * 100) + "%, " + mathRound(bound01(this._b, 255) * 100) + "%)" : "rgba(" + mathRound(bound01(this._r, 255) * 100) + "%, " + mathRound(bound01(this._g, 255) * 100) + "%, " + mathRound(bound01(this._b, 255) * 100) + "%, " + this._roundA + ")"; + }, + toName: function() { + if (this._a === 0) { + return "transparent"; + } + if (this._a < 1) { + return false; + } + return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false; + }, + toFilter: function(secondColor) { + var hex8String = "#" + rgbaToArgbHex(this._r, this._g, this._b, this._a); + var secondHex8String = hex8String; + var gradientType = this._gradientType ? "GradientType = 1, " : ""; + if (secondColor) { + var s = tinycolor(secondColor); + secondHex8String = "#" + rgbaToArgbHex(s._r, s._g, s._b, s._a); + } + return "progid:DXImageTransform.Microsoft.gradient(" + gradientType + "startColorstr=" + hex8String + ",endColorstr=" + secondHex8String + ")"; + }, + toString: function(format2) { + var formatSet = !!format2; + format2 = format2 || this._format; + var formattedString = false; + var hasAlpha = this._a < 1 && this._a >= 0; + var needsAlphaFormat = !formatSet && hasAlpha && (format2 === "hex" || format2 === "hex6" || format2 === "hex3" || format2 === "hex4" || format2 === "hex8" || format2 === "name"); + if (needsAlphaFormat) { + if (format2 === "name" && this._a === 0) { + return this.toName(); + } + return this.toRgbString(); + } + if (format2 === "rgb") { + formattedString = this.toRgbString(); + } + if (format2 === "prgb") { + formattedString = this.toPercentageRgbString(); + } + if (format2 === "hex" || format2 === "hex6") { + formattedString = this.toHexString(); + } + if (format2 === "hex3") { + formattedString = this.toHexString(true); + } + if (format2 === "hex4") { + formattedString = this.toHex8String(true); + } + if (format2 === "hex8") { + formattedString = this.toHex8String(); + } + if (format2 === "name") { + formattedString = this.toName(); + } + if (format2 === "hsl") { + formattedString = this.toHslString(); + } + if (format2 === "hsv") { + formattedString = this.toHsvString(); + } + return formattedString || this.toHexString(); + }, + clone: function() { + return tinycolor(this.toString()); + }, + _applyModification: function(fn, args) { + var color = fn.apply(null, [this].concat([].slice.call(args))); + this._r = color._r; + this._g = color._g; + this._b = color._b; + this.setAlpha(color._a); + return this; + }, + lighten: function() { + return this._applyModification(lighten, arguments); + }, + brighten: function() { + return this._applyModification(brighten, arguments); + }, + darken: function() { + return this._applyModification(darken, arguments); + }, + desaturate: function() { + return this._applyModification(desaturate, arguments); + }, + saturate: function() { + return this._applyModification(saturate, arguments); + }, + greyscale: function() { + return this._applyModification(greyscale, arguments); + }, + spin: function() { + return this._applyModification(spin, arguments); + }, + _applyCombination: function(fn, args) { + return fn.apply(null, [this].concat([].slice.call(args))); + }, + analogous: function() { + return this._applyCombination(analogous, arguments); + }, + complement: function() { + return this._applyCombination(complement, arguments); + }, + monochromatic: function() { + return this._applyCombination(monochromatic, arguments); + }, + splitcomplement: function() { + return this._applyCombination(splitcomplement, arguments); + }, + triad: function() { + return this._applyCombination(triad, arguments); + }, + tetrad: function() { + return this._applyCombination(tetrad, arguments); + } + }; + tinycolor.fromRatio = function(color, opts) { + if (typeof color == "object") { + var newColor = {}; + for (var i in color) { + if (color.hasOwnProperty(i)) { + if (i === "a") { + newColor[i] = color[i]; + } else { + newColor[i] = convertToPercentage(color[i]); + } + } + } + color = newColor; + } + return tinycolor(color, opts); + }; + function inputToRGB(color) { + var rgb2 = { r: 0, g: 0, b: 0 }; + var a2 = 1; + var s = null; + var v = null; + var l = null; + var ok = false; + var format2 = false; + if (typeof color == "string") { + color = stringInputToObject(color); + } + if (typeof color == "object") { + if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) { + rgb2 = rgbToRgb(color.r, color.g, color.b); + ok = true; + format2 = String(color.r).substr(-1) === "%" ? "prgb" : "rgb"; + } else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) { + s = convertToPercentage(color.s); + v = convertToPercentage(color.v); + rgb2 = hsvToRgb(color.h, s, v); + ok = true; + format2 = "hsv"; + } else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) { + s = convertToPercentage(color.s); + l = convertToPercentage(color.l); + rgb2 = hslToRgb2(color.h, s, l); + ok = true; + format2 = "hsl"; + } + if (color.hasOwnProperty("a")) { + a2 = color.a; + } + } + a2 = boundAlpha(a2); + return { + ok, + format: color.format || format2, + r: mathMin(255, mathMax(rgb2.r, 0)), + g: mathMin(255, mathMax(rgb2.g, 0)), + b: mathMin(255, mathMax(rgb2.b, 0)), + a: a2 + }; + } + function rgbToRgb(r, g, b) { + return { + r: bound01(r, 255) * 255, + g: bound01(g, 255) * 255, + b: bound01(b, 255) * 255 + }; + } + function rgbToHsl(r, g, b) { + r = bound01(r, 255); + g = bound01(g, 255); + b = bound01(b, 255); + var max2 = mathMax(r, g, b), min2 = mathMin(r, g, b); + var h, s, l = (max2 + min2) / 2; + if (max2 == min2) { + h = s = 0; + } else { + var d = max2 - min2; + s = l > 0.5 ? d / (2 - max2 - min2) : d / (max2 + min2); + switch (max2) { + case r: + h = (g - b) / d + (g < b ? 6 : 0); + break; + case g: + h = (b - r) / d + 2; + break; + case b: + h = (r - g) / d + 4; + break; + } + h /= 6; + } + return { h, s, l }; + } + function hslToRgb2(h, s, l) { + var r, g, b; + h = bound01(h, 360); + s = bound01(s, 100); + l = bound01(l, 100); + function hue2rgb2(p2, q2, t) { + if (t < 0) + t += 1; + if (t > 1) + t -= 1; + if (t < 1 / 6) + return p2 + (q2 - p2) * 6 * t; + if (t < 1 / 2) + return q2; + if (t < 2 / 3) + return p2 + (q2 - p2) * (2 / 3 - t) * 6; + return p2; + } + if (s === 0) { + r = g = b = l; + } else { + var q = l < 0.5 ? l * (1 + s) : l + s - l * s; + var p = 2 * l - q; + r = hue2rgb2(p, q, h + 1 / 3); + g = hue2rgb2(p, q, h); + b = hue2rgb2(p, q, h - 1 / 3); + } + return { r: r * 255, g: g * 255, b: b * 255 }; + } + function rgbToHsv(r, g, b) { + r = bound01(r, 255); + g = bound01(g, 255); + b = bound01(b, 255); + var max2 = mathMax(r, g, b), min2 = mathMin(r, g, b); + var h, s, v = max2; + var d = max2 - min2; + s = max2 === 0 ? 0 : d / max2; + if (max2 == min2) { + h = 0; + } else { + switch (max2) { + case r: + h = (g - b) / d + (g < b ? 6 : 0); + break; + case g: + h = (b - r) / d + 2; + break; + case b: + h = (r - g) / d + 4; + break; + } + h /= 6; + } + return { h, s, v }; + } + function hsvToRgb(h, s, v) { + h = bound01(h, 360) * 6; + s = bound01(s, 100); + v = bound01(v, 100); + var i = Math2.floor(h), f = h - i, p = v * (1 - s), q = v * (1 - f * s), t = v * (1 - (1 - f) * s), mod = i % 6, r = [v, q, p, p, t, v][mod], g = [t, v, v, q, p, p][mod], b = [p, p, t, v, v, q][mod]; + return { r: r * 255, g: g * 255, b: b * 255 }; + } + function rgbToHex(r, g, b, allow3Char) { + var hex = [ + pad2(mathRound(r).toString(16)), + pad2(mathRound(g).toString(16)), + pad2(mathRound(b).toString(16)) + ]; + if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) { + return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0); + } + return hex.join(""); + } + function rgbaToHex(r, g, b, a2, allow4Char) { + var hex = [ + pad2(mathRound(r).toString(16)), + pad2(mathRound(g).toString(16)), + pad2(mathRound(b).toString(16)), + pad2(convertDecimalToHex(a2)) + ]; + if (allow4Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1) && hex[3].charAt(0) == hex[3].charAt(1)) { + return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0); + } + return hex.join(""); + } + function rgbaToArgbHex(r, g, b, a2) { + var hex = [ + pad2(convertDecimalToHex(a2)), + pad2(mathRound(r).toString(16)), + pad2(mathRound(g).toString(16)), + pad2(mathRound(b).toString(16)) + ]; + return hex.join(""); + } + tinycolor.equals = function(color1, color2) { + if (!color1 || !color2) { + return false; + } + return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString(); + }; + tinycolor.random = function() { + return tinycolor.fromRatio({ + r: mathRandom(), + g: mathRandom(), + b: mathRandom() + }); + }; + function desaturate(color, amount) { + amount = amount === 0 ? 0 : amount || 10; + var hsl = tinycolor(color).toHsl(); + hsl.s -= amount / 100; + hsl.s = clamp01(hsl.s); + return tinycolor(hsl); + } + function saturate(color, amount) { + amount = amount === 0 ? 0 : amount || 10; + var hsl = tinycolor(color).toHsl(); + hsl.s += amount / 100; + hsl.s = clamp01(hsl.s); + return tinycolor(hsl); + } + function greyscale(color) { + return tinycolor(color).desaturate(100); + } + function lighten(color, amount) { + amount = amount === 0 ? 0 : amount || 10; + var hsl = tinycolor(color).toHsl(); + hsl.l += amount / 100; + hsl.l = clamp01(hsl.l); + return tinycolor(hsl); + } + function brighten(color, amount) { + amount = amount === 0 ? 0 : amount || 10; + var rgb2 = tinycolor(color).toRgb(); + rgb2.r = mathMax(0, mathMin(255, rgb2.r - mathRound(255 * -(amount / 100)))); + rgb2.g = mathMax(0, mathMin(255, rgb2.g - mathRound(255 * -(amount / 100)))); + rgb2.b = mathMax(0, mathMin(255, rgb2.b - mathRound(255 * -(amount / 100)))); + return tinycolor(rgb2); + } + function darken(color, amount) { + amount = amount === 0 ? 0 : amount || 10; + var hsl = tinycolor(color).toHsl(); + hsl.l -= amount / 100; + hsl.l = clamp01(hsl.l); + return tinycolor(hsl); + } + function spin(color, amount) { + var hsl = tinycolor(color).toHsl(); + var hue = (hsl.h + amount) % 360; + hsl.h = hue < 0 ? 360 + hue : hue; + return tinycolor(hsl); + } + function complement(color) { + var hsl = tinycolor(color).toHsl(); + hsl.h = (hsl.h + 180) % 360; + return tinycolor(hsl); + } + function triad(color) { + var hsl = tinycolor(color).toHsl(); + var h = hsl.h; + return [ + tinycolor(color), + tinycolor({ h: (h + 120) % 360, s: hsl.s, l: hsl.l }), + tinycolor({ h: (h + 240) % 360, s: hsl.s, l: hsl.l }) + ]; + } + function tetrad(color) { + var hsl = tinycolor(color).toHsl(); + var h = hsl.h; + return [ + tinycolor(color), + tinycolor({ h: (h + 90) % 360, s: hsl.s, l: hsl.l }), + tinycolor({ h: (h + 180) % 360, s: hsl.s, l: hsl.l }), + tinycolor({ h: (h + 270) % 360, s: hsl.s, l: hsl.l }) + ]; + } + function splitcomplement(color) { + var hsl = tinycolor(color).toHsl(); + var h = hsl.h; + return [ + tinycolor(color), + tinycolor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l }), + tinycolor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l }) + ]; + } + function analogous(color, results, slices) { + results = results || 6; + slices = slices || 30; + var hsl = tinycolor(color).toHsl(); + var part = 360 / slices; + var ret = [tinycolor(color)]; + for (hsl.h = (hsl.h - (part * results >> 1) + 720) % 360; --results; ) { + hsl.h = (hsl.h + part) % 360; + ret.push(tinycolor(hsl)); + } + return ret; + } + function monochromatic(color, results) { + results = results || 6; + var hsv = tinycolor(color).toHsv(); + var h = hsv.h, s = hsv.s, v = hsv.v; + var ret = []; + var modification = 1 / results; + while (results--) { + ret.push(tinycolor({ h, s, v })); + v = (v + modification) % 1; + } + return ret; + } + tinycolor.mix = function(color1, color2, amount) { + amount = amount === 0 ? 0 : amount || 50; + var rgb1 = tinycolor(color1).toRgb(); + var rgb2 = tinycolor(color2).toRgb(); + var p = amount / 100; + var rgba2 = { + r: (rgb2.r - rgb1.r) * p + rgb1.r, + g: (rgb2.g - rgb1.g) * p + rgb1.g, + b: (rgb2.b - rgb1.b) * p + rgb1.b, + a: (rgb2.a - rgb1.a) * p + rgb1.a + }; + return tinycolor(rgba2); + }; + tinycolor.readability = function(color1, color2) { + var c1 = tinycolor(color1); + var c2 = tinycolor(color2); + return (Math2.max(c1.getLuminance(), c2.getLuminance()) + 0.05) / (Math2.min(c1.getLuminance(), c2.getLuminance()) + 0.05); + }; + tinycolor.isReadable = function(color1, color2, wcag2) { + var readability = tinycolor.readability(color1, color2); + var wcag2Parms, out; + out = false; + wcag2Parms = validateWCAG2Parms(wcag2); + switch (wcag2Parms.level + wcag2Parms.size) { + case "AAsmall": + case "AAAlarge": + out = readability >= 4.5; + break; + case "AAlarge": + out = readability >= 3; + break; + case "AAAsmall": + out = readability >= 7; + break; + } + return out; + }; + tinycolor.mostReadable = function(baseColor, colorList, args) { + var bestColor = null; + var bestScore = 0; + var readability; + var includeFallbackColors, level, size; + args = args || {}; + includeFallbackColors = args.includeFallbackColors; + level = args.level; + size = args.size; + for (var i = 0; i < colorList.length; i++) { + readability = tinycolor.readability(baseColor, colorList[i]); + if (readability > bestScore) { + bestScore = readability; + bestColor = tinycolor(colorList[i]); + } + } + if (tinycolor.isReadable(baseColor, bestColor, { "level": level, "size": size }) || !includeFallbackColors) { + return bestColor; + } else { + args.includeFallbackColors = false; + return tinycolor.mostReadable(baseColor, ["#fff", "#000"], args); + } + }; + var names = tinycolor.names = { + aliceblue: "f0f8ff", + antiquewhite: "faebd7", + aqua: "0ff", + aquamarine: "7fffd4", + azure: "f0ffff", + beige: "f5f5dc", + bisque: "ffe4c4", + black: "000", + blanchedalmond: "ffebcd", + blue: "00f", + blueviolet: "8a2be2", + brown: "a52a2a", + burlywood: "deb887", + burntsienna: "ea7e5d", + cadetblue: "5f9ea0", + chartreuse: "7fff00", + chocolate: "d2691e", + coral: "ff7f50", + cornflowerblue: "6495ed", + cornsilk: "fff8dc", + crimson: "dc143c", + cyan: "0ff", + darkblue: "00008b", + darkcyan: "008b8b", + darkgoldenrod: "b8860b", + darkgray: "a9a9a9", + darkgreen: "006400", + darkgrey: "a9a9a9", + darkkhaki: "bdb76b", + darkmagenta: "8b008b", + darkolivegreen: "556b2f", + darkorange: "ff8c00", + darkorchid: "9932cc", + darkred: "8b0000", + darksalmon: "e9967a", + darkseagreen: "8fbc8f", + darkslateblue: "483d8b", + darkslategray: "2f4f4f", + darkslategrey: "2f4f4f", + darkturquoise: "00ced1", + darkviolet: "9400d3", + deeppink: "ff1493", + deepskyblue: "00bfff", + dimgray: "696969", + dimgrey: "696969", + dodgerblue: "1e90ff", + firebrick: "b22222", + floralwhite: "fffaf0", + forestgreen: "228b22", + fuchsia: "f0f", + gainsboro: "dcdcdc", + ghostwhite: "f8f8ff", + gold: "ffd700", + goldenrod: "daa520", + gray: "808080", + green: "008000", + greenyellow: "adff2f", + grey: "808080", + honeydew: "f0fff0", + hotpink: "ff69b4", + indianred: "cd5c5c", + indigo: "4b0082", + ivory: "fffff0", + khaki: "f0e68c", + lavender: "e6e6fa", + lavenderblush: "fff0f5", + lawngreen: "7cfc00", + lemonchiffon: "fffacd", + lightblue: "add8e6", + lightcoral: "f08080", + lightcyan: "e0ffff", + lightgoldenrodyellow: "fafad2", + lightgray: "d3d3d3", + lightgreen: "90ee90", + lightgrey: "d3d3d3", + lightpink: "ffb6c1", + lightsalmon: "ffa07a", + lightseagreen: "20b2aa", + lightskyblue: "87cefa", + lightslategray: "789", + lightslategrey: "789", + lightsteelblue: "b0c4de", + lightyellow: "ffffe0", + lime: "0f0", + limegreen: "32cd32", + linen: "faf0e6", + magenta: "f0f", + maroon: "800000", + mediumaquamarine: "66cdaa", + mediumblue: "0000cd", + mediumorchid: "ba55d3", + mediumpurple: "9370db", + mediumseagreen: "3cb371", + mediumslateblue: "7b68ee", + mediumspringgreen: "00fa9a", + mediumturquoise: "48d1cc", + mediumvioletred: "c71585", + midnightblue: "191970", + mintcream: "f5fffa", + mistyrose: "ffe4e1", + moccasin: "ffe4b5", + navajowhite: "ffdead", + navy: "000080", + oldlace: "fdf5e6", + olive: "808000", + olivedrab: "6b8e23", + orange: "ffa500", + orangered: "ff4500", + orchid: "da70d6", + palegoldenrod: "eee8aa", + palegreen: "98fb98", + paleturquoise: "afeeee", + palevioletred: "db7093", + papayawhip: "ffefd5", + peachpuff: "ffdab9", + peru: "cd853f", + pink: "ffc0cb", + plum: "dda0dd", + powderblue: "b0e0e6", + purple: "800080", + rebeccapurple: "663399", + red: "f00", + rosybrown: "bc8f8f", + royalblue: "4169e1", + saddlebrown: "8b4513", + salmon: "fa8072", + sandybrown: "f4a460", + seagreen: "2e8b57", + seashell: "fff5ee", + sienna: "a0522d", + silver: "c0c0c0", + skyblue: "87ceeb", + slateblue: "6a5acd", + slategray: "708090", + slategrey: "708090", + snow: "fffafa", + springgreen: "00ff7f", + steelblue: "4682b4", + tan: "d2b48c", + teal: "008080", + thistle: "d8bfd8", + tomato: "ff6347", + turquoise: "40e0d0", + violet: "ee82ee", + wheat: "f5deb3", + white: "fff", + whitesmoke: "f5f5f5", + yellow: "ff0", + yellowgreen: "9acd32" + }; + var hexNames = tinycolor.hexNames = flip(names); + function flip(o) { + var flipped = {}; + for (var i in o) { + if (o.hasOwnProperty(i)) { + flipped[o[i]] = i; + } + } + return flipped; + } + function boundAlpha(a2) { + a2 = parseFloat(a2); + if (isNaN(a2) || a2 < 0 || a2 > 1) { + a2 = 1; + } + return a2; + } + function bound01(n, max2) { + if (isOnePointZero(n)) { + n = "100%"; + } + var processPercent = isPercentage(n); + n = mathMin(max2, mathMax(0, parseFloat(n))); + if (processPercent) { + n = parseInt(n * max2, 10) / 100; + } + if (Math2.abs(n - max2) < 1e-6) { + return 1; + } + return n % max2 / parseFloat(max2); + } + function clamp01(val) { + return mathMin(1, mathMax(0, val)); + } + function parseIntFromHex(val) { + return parseInt(val, 16); + } + function isOnePointZero(n) { + return typeof n == "string" && n.indexOf(".") != -1 && parseFloat(n) === 1; + } + function isPercentage(n) { + return typeof n === "string" && n.indexOf("%") != -1; + } + function pad2(c2) { + return c2.length == 1 ? "0" + c2 : "" + c2; + } + function convertToPercentage(n) { + if (n <= 1) { + n = n * 100 + "%"; + } + return n; + } + function convertDecimalToHex(d) { + return Math2.round(parseFloat(d) * 255).toString(16); + } + function convertHexToDecimal(h) { + return parseIntFromHex(h) / 255; + } + var matchers = function() { + var CSS_INTEGER = "[-\\+]?\\d+%?"; + var CSS_NUMBER = "[-\\+]?\\d*\\.\\d+%?"; + var CSS_UNIT = "(?:" + CSS_NUMBER + ")|(?:" + CSS_INTEGER + ")"; + var PERMISSIVE_MATCH3 = "[\\s|\\(]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")\\s*\\)?"; + var PERMISSIVE_MATCH4 = "[\\s|\\(]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")\\s*\\)?"; + return { + CSS_UNIT: new RegExp(CSS_UNIT), + rgb: new RegExp("rgb" + PERMISSIVE_MATCH3), + rgba: new RegExp("rgba" + PERMISSIVE_MATCH4), + hsl: new RegExp("hsl" + PERMISSIVE_MATCH3), + hsla: new RegExp("hsla" + PERMISSIVE_MATCH4), + hsv: new RegExp("hsv" + PERMISSIVE_MATCH3), + hsva: new RegExp("hsva" + PERMISSIVE_MATCH4), + hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, + hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/, + hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, + hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/ + }; + }(); + function isValidCSSUnit(color) { + return !!matchers.CSS_UNIT.exec(color); + } + function stringInputToObject(color) { + color = color.replace(trimLeft, "").replace(trimRight, "").toLowerCase(); + var named = false; + if (names[color]) { + color = names[color]; + named = true; + } else if (color == "transparent") { + return { r: 0, g: 0, b: 0, a: 0, format: "name" }; + } + var match; + if (match = matchers.rgb.exec(color)) { + return { r: match[1], g: match[2], b: match[3] }; + } + if (match = matchers.rgba.exec(color)) { + return { r: match[1], g: match[2], b: match[3], a: match[4] }; + } + if (match = matchers.hsl.exec(color)) { + return { h: match[1], s: match[2], l: match[3] }; + } + if (match = matchers.hsla.exec(color)) { + return { h: match[1], s: match[2], l: match[3], a: match[4] }; + } + if (match = matchers.hsv.exec(color)) { + return { h: match[1], s: match[2], v: match[3] }; + } + if (match = matchers.hsva.exec(color)) { + return { h: match[1], s: match[2], v: match[3], a: match[4] }; + } + if (match = matchers.hex8.exec(color)) { + return { + r: parseIntFromHex(match[1]), + g: parseIntFromHex(match[2]), + b: parseIntFromHex(match[3]), + a: convertHexToDecimal(match[4]), + format: named ? "name" : "hex8" + }; + } + if (match = matchers.hex6.exec(color)) { + return { + r: parseIntFromHex(match[1]), + g: parseIntFromHex(match[2]), + b: parseIntFromHex(match[3]), + format: named ? "name" : "hex" + }; + } + if (match = matchers.hex4.exec(color)) { + return { + r: parseIntFromHex(match[1] + "" + match[1]), + g: parseIntFromHex(match[2] + "" + match[2]), + b: parseIntFromHex(match[3] + "" + match[3]), + a: convertHexToDecimal(match[4] + "" + match[4]), + format: named ? "name" : "hex8" + }; + } + if (match = matchers.hex3.exec(color)) { + return { + r: parseIntFromHex(match[1] + "" + match[1]), + g: parseIntFromHex(match[2] + "" + match[2]), + b: parseIntFromHex(match[3] + "" + match[3]), + format: named ? "name" : "hex" + }; + } + return false; + } + function validateWCAG2Parms(parms) { + var level, size; + parms = parms || { "level": "AA", "size": "small" }; + level = (parms.level || "AA").toUpperCase(); + size = (parms.size || "small").toLowerCase(); + if (level !== "AA" && level !== "AAA") { + level = "AA"; + } + if (size !== "small" && size !== "large") { + size = "small"; + } + return { "level": level, "size": size }; + } + if (typeof module2 !== "undefined" && module2.exports) { + module2.exports = tinycolor; + } else if (typeof define === "function" && define.amd) { + define(function() { + return tinycolor; + }); + } else { + window.tinycolor = tinycolor; + } + })(Math); + } +}); + +// node_modules/observable-slim/observable-slim.js +var require_observable_slim = __commonJS({ + "node_modules/observable-slim/observable-slim.js"(exports2, module2) { + var ObservableSlim2 = function() { + var paths = []; + var observables = []; + var targets = []; + var targetsProxy = []; + var dupProxy = null; + var _getProperty = function(obj, path) { + return path.split(".").reduce(function(prev, curr) { + return prev ? prev[curr] : void 0; + }, obj || self); + }; + var _create = function(target, domDelay, originalObservable, originalPath) { + var observable = originalObservable || null; + var path = originalPath || [{ "target": target, "property": "" }]; + paths.push(path); + if (target instanceof Array) { + if (!target.hasOwnProperty("__length")) + Object.defineProperty(target, "__length", { enumerable: false, value: target.length, writable: true }); + else + target.__length = target.length; + } + var changes = []; + var _getPath = function(target2, property, jsonPointer) { + var fullPath = ""; + var lastTarget = null; + for (var i = 0; i < path.length; i++) { + if (lastTarget instanceof Array && !isNaN(path[i].property)) { + path[i].property = lastTarget.indexOf(path[i].target); + } + fullPath = fullPath + "." + path[i].property; + lastTarget = path[i].target; + } + fullPath = fullPath + "." + property; + fullPath = fullPath.substring(2); + if (jsonPointer === true) + fullPath = "/" + fullPath.replace(/\./g, "/"); + return fullPath; + }; + var _notifyObservers = function(numChanges) { + if (observable.paused === true) + return; + var domDelayIsNumber = typeof domDelay === "number"; + if (domDelayIsNumber || domDelay === true) { + setTimeout(function() { + if (numChanges === changes.length) { + var changesCopy2 = changes.slice(0); + changes = []; + for (var i2 = 0; i2 < observable.observers.length; i2++) + observable.observers[i2](changesCopy2); + } + }, domDelayIsNumber && domDelay > 0 ? domDelay : 10); + } else { + var changesCopy = changes.slice(0); + changes = []; + for (var i = 0; i < observable.observers.length; i++) + observable.observers[i](changesCopy); + } + }; + var handler = { + get: function(target2, property) { + if (property === "__getTarget") { + return target2; + } else if (property === "__isProxy") { + return true; + } else if (property === "__getParent") { + return function(i2) { + if (typeof i2 === "undefined") + var i2 = 1; + var parentPath2 = _getPath(target2, "__getParent").split("."); + parentPath2.splice(-(i2 + 1), i2 + 1); + return _getProperty(observable.parentProxy, parentPath2.join(".")); + }; + } else if (property === "__getPath") { + var parentPath = _getPath(target2, "__getParent"); + return parentPath.slice(0, -12); + } + var targetProp = target2[property]; + if (target2 instanceof Date && targetProp instanceof Function && targetProp !== null) { + return targetProp.bind(target2); + } + if (targetProp instanceof Object && targetProp !== null && target2.hasOwnProperty(property)) { + if (targetProp.__isProxy === true) + targetProp = targetProp.__getTarget; + if (targetProp.__targetPosition > -1 && targets[targetProp.__targetPosition] !== null) { + var ttp = targetsProxy[targetProp.__targetPosition]; + for (var i = 0, l = ttp.length; i < l; i++) { + if (observable === ttp[i].observable) { + return ttp[i].proxy; + } + } + } + var newPath = path.slice(0); + newPath.push({ "target": targetProp, "property": property }); + return _create(targetProp, domDelay, observable, newPath); + } else { + return targetProp; + } + }, + deleteProperty: function(target2, property) { + var originalChange = true; + if (dupProxy === proxy) { + originalChange = false; + dupProxy = null; + } + var previousValue = Object.assign({}, target2); + changes.push({ + "type": "delete", + "target": target2, + "property": property, + "newValue": null, + "previousValue": previousValue[property], + "currentPath": _getPath(target2, property), + "jsonPointer": _getPath(target2, property, true), + "proxy": proxy + }); + if (originalChange === true) { + if (!observable.changesPaused) + delete target2[property]; + for (var a2 = 0, l = targets.length; a2 < l; a2++) + if (target2 === targets[a2]) + break; + var currentTargetProxy = targetsProxy[a2] || []; + var b = currentTargetProxy.length; + while (b--) { + if (currentTargetProxy[b].proxy !== proxy) { + dupProxy = currentTargetProxy[b].proxy; + delete currentTargetProxy[b].proxy[property]; + } + } + } + _notifyObservers(changes.length); + return true; + }, + set: function(target2, property, value, receiver) { + if (value && value.__isProxy) + value = value.__getTarget; + var originalChange = true; + if (dupProxy === proxy) { + originalChange = false; + dupProxy = null; + } + var targetProp = target2[property]; + if (targetProp !== value || originalChange === false || property === "length" && target2 instanceof Array && target2.__length !== value) { + var foundObservable = true; + var typeOfTargetProp = typeof targetProp; + var type = "update"; + if (typeOfTargetProp === "undefined") + type = "add"; + changes.push({ + "type": type, + "target": target2, + "property": property, + "newValue": value, + "previousValue": receiver[property], + "currentPath": _getPath(target2, property), + "jsonPointer": _getPath(target2, property, true), + "proxy": proxy + }); + if (property === "length" && target2 instanceof Array && target2.__length !== value) { + changes[changes.length - 1].previousValue = target2.__length; + target2.__length = value; + } + if (originalChange === true) { + if (!observable.changesPaused) + target2[property] = value; + foundObservable = false; + var targetPosition = target2.__targetPosition; + var z2 = targetsProxy[targetPosition].length; + while (z2--) { + if (observable === targetsProxy[targetPosition][z2].observable) { + if (targets[targetsProxy[targetPosition][z2].observable.parentTarget.__targetPosition] !== null) { + foundObservable = true; + break; + } + } + } + if (foundObservable) { + var currentTargetProxy = targetsProxy[targetPosition]; + for (var b = 0, l = currentTargetProxy.length; b < l; b++) { + if (currentTargetProxy[b].proxy !== proxy) { + dupProxy = currentTargetProxy[b].proxy; + currentTargetProxy[b].proxy[property] = value; + } + } + setTimeout(function() { + if (typeOfTargetProp === "object" && targetProp !== null) { + var keys = Object.keys(target2); + for (var i = 0, l2 = keys.length; i < l2; i++) { + if (target2[keys[i]] === targetProp) + return; + } + var stillExists = false; + (function iterate(target3) { + var keys2 = Object.keys(target3); + for (var i2 = 0, l3 = keys2.length; i2 < l3; i2++) { + var property2 = keys2[i2]; + var nestedTarget = target3[property2]; + if (nestedTarget instanceof Object && nestedTarget !== null) + iterate(nestedTarget); + if (nestedTarget === targetProp) { + stillExists = true; + return; + } + } + ; + })(target2); + if (stillExists === true) + return; + (function iterate(obj) { + var keys2 = Object.keys(obj); + for (var i2 = 0, l3 = keys2.length; i2 < l3; i2++) { + var objProp = obj[keys2[i2]]; + if (objProp instanceof Object && objProp !== null) + iterate(objProp); + } + var c2 = -1; + for (var i2 = 0, l3 = targets.length; i2 < l3; i2++) { + if (obj === targets[i2]) { + c2 = i2; + break; + } + } + if (c2 > -1) { + var currentTargetProxy2 = targetsProxy[c2]; + var d = currentTargetProxy2.length; + while (d--) { + if (observable === currentTargetProxy2[d].observable) { + currentTargetProxy2.splice(d, 1); + break; + } + } + if (currentTargetProxy2.length == 0) { + targets[c2] = null; + } + } + })(targetProp); + } + }, 1e4); + } + } + ; + if (foundObservable) { + _notifyObservers(changes.length); + } + } + return true; + } + }; + var __targetPosition = target.__targetPosition; + if (!(__targetPosition > -1)) { + Object.defineProperty(target, "__targetPosition", { + value: targets.length, + writable: false, + enumerable: false, + configurable: false + }); + } + var proxy = new Proxy(target, handler); + if (observable === null) { + observable = { "parentTarget": target, "domDelay": domDelay, "parentProxy": proxy, "observers": [], "paused": false, "path": path, "changesPaused": false }; + observables.push(observable); + } + var proxyItem = { "target": target, "proxy": proxy, "observable": observable }; + if (__targetPosition > -1) { + if (targets[__targetPosition] === null) { + targets[__targetPosition] = target; + } + targetsProxy[__targetPosition].push(proxyItem); + } else { + targets.push(target); + targetsProxy.push([proxyItem]); + } + return proxy; + }; + return { + create: function(target, domDelay, observer) { + if (target.__isProxy === true) { + var target = target.__getTarget; + } + var proxy = _create(target, domDelay); + if (typeof observer === "function") + this.observe(proxy, observer); + (function iterate(proxy2) { + var target2 = proxy2.__getTarget; + var keys = Object.keys(target2); + for (var i = 0, l = keys.length; i < l; i++) { + var property = keys[i]; + if (target2[property] instanceof Object && target2[property] !== null) + iterate(proxy2[property]); + } + })(proxy); + return proxy; + }, + observe: function(proxy, observer) { + var i = observables.length; + while (i--) { + if (observables[i].parentProxy === proxy) { + observables[i].observers.push(observer); + break; + } + } + ; + }, + pause: function(proxy) { + var i = observables.length; + var foundMatch = false; + while (i--) { + if (observables[i].parentProxy === proxy) { + observables[i].paused = true; + foundMatch = true; + break; + } + } + ; + if (foundMatch == false) + throw new Error("ObseravableSlim could not pause observable -- matching proxy not found."); + }, + resume: function(proxy) { + var i = observables.length; + var foundMatch = false; + while (i--) { + if (observables[i].parentProxy === proxy) { + observables[i].paused = false; + foundMatch = true; + break; + } + } + ; + if (foundMatch == false) + throw new Error("ObseravableSlim could not resume observable -- matching proxy not found."); + }, + pauseChanges: function(proxy) { + var i = observables.length; + var foundMatch = false; + while (i--) { + if (observables[i].parentProxy === proxy) { + observables[i].changesPaused = true; + foundMatch = true; + break; + } + } + ; + if (foundMatch == false) + throw new Error("ObseravableSlim could not pause changes on observable -- matching proxy not found."); + }, + resumeChanges: function(proxy) { + var i = observables.length; + var foundMatch = false; + while (i--) { + if (observables[i].parentProxy === proxy) { + observables[i].changesPaused = false; + foundMatch = true; + break; + } + } + ; + if (foundMatch == false) + throw new Error("ObseravableSlim could not resume changes on observable -- matching proxy not found."); + }, + remove: function(proxy) { + var matchedObservable = null; + var foundMatch = false; + var c2 = observables.length; + while (c2--) { + if (observables[c2].parentProxy === proxy) { + matchedObservable = observables[c2]; + foundMatch = true; + break; + } + } + ; + var a2 = targetsProxy.length; + while (a2--) { + var b = targetsProxy[a2].length; + while (b--) { + if (targetsProxy[a2][b].observable === matchedObservable) { + targetsProxy[a2].splice(b, 1); + if (targetsProxy[a2].length === 0) { + targets[a2] = null; + } + ; + } + } + ; + } + ; + if (foundMatch === true) { + observables.splice(c2, 1); + } + } + }; + }(); + try { + module2.exports = ObservableSlim2; + } catch (err) { + } + } +}); + +// src/main.ts +var main_exports = {}; +__export(main_exports, { + default: () => Graph3dPlugin +}); +module.exports = __toCommonJS(main_exports); +var import_obsidian7 = require("obsidian"); + +// src/views/graph/Graph3dView.ts +var import_obsidian6 = require("obsidian"); + +// node_modules/three/build/three.module.js +var REVISION = "146"; +var MOUSE = { LEFT: 0, MIDDLE: 1, RIGHT: 2, ROTATE: 0, DOLLY: 1, PAN: 2 }; +var TOUCH = { ROTATE: 0, PAN: 1, DOLLY_PAN: 2, DOLLY_ROTATE: 3 }; +var CullFaceNone = 0; +var CullFaceBack = 1; +var CullFaceFront = 2; +var PCFShadowMap = 1; +var PCFSoftShadowMap = 2; +var VSMShadowMap = 3; +var FrontSide = 0; +var BackSide = 1; +var DoubleSide = 2; +var NoBlending = 0; +var NormalBlending = 1; +var AdditiveBlending = 2; +var SubtractiveBlending = 3; +var MultiplyBlending = 4; +var CustomBlending = 5; +var AddEquation = 100; +var SubtractEquation = 101; +var ReverseSubtractEquation = 102; +var MinEquation = 103; +var MaxEquation = 104; +var ZeroFactor = 200; +var OneFactor = 201; +var SrcColorFactor = 202; +var OneMinusSrcColorFactor = 203; +var SrcAlphaFactor = 204; +var OneMinusSrcAlphaFactor = 205; +var DstAlphaFactor = 206; +var OneMinusDstAlphaFactor = 207; +var DstColorFactor = 208; +var OneMinusDstColorFactor = 209; +var SrcAlphaSaturateFactor = 210; +var NeverDepth = 0; +var AlwaysDepth = 1; +var LessDepth = 2; +var LessEqualDepth = 3; +var EqualDepth = 4; +var GreaterEqualDepth = 5; +var GreaterDepth = 6; +var NotEqualDepth = 7; +var MultiplyOperation = 0; +var MixOperation = 1; +var AddOperation = 2; +var NoToneMapping = 0; +var LinearToneMapping = 1; +var ReinhardToneMapping = 2; +var CineonToneMapping = 3; +var ACESFilmicToneMapping = 4; +var CustomToneMapping = 5; +var UVMapping = 300; +var CubeReflectionMapping = 301; +var CubeRefractionMapping = 302; +var EquirectangularReflectionMapping = 303; +var EquirectangularRefractionMapping = 304; +var CubeUVReflectionMapping = 306; +var RepeatWrapping = 1e3; +var ClampToEdgeWrapping = 1001; +var MirroredRepeatWrapping = 1002; +var NearestFilter = 1003; +var NearestMipmapNearestFilter = 1004; +var NearestMipmapLinearFilter = 1005; +var LinearFilter = 1006; +var LinearMipmapNearestFilter = 1007; +var LinearMipmapLinearFilter = 1008; +var UnsignedByteType = 1009; +var ByteType = 1010; +var ShortType = 1011; +var UnsignedShortType = 1012; +var IntType = 1013; +var UnsignedIntType = 1014; +var FloatType = 1015; +var HalfFloatType = 1016; +var UnsignedShort4444Type = 1017; +var UnsignedShort5551Type = 1018; +var UnsignedInt248Type = 1020; +var AlphaFormat = 1021; +var RGBFormat = 1022; +var RGBAFormat = 1023; +var LuminanceFormat = 1024; +var LuminanceAlphaFormat = 1025; +var DepthFormat = 1026; +var DepthStencilFormat = 1027; +var RedFormat = 1028; +var RedIntegerFormat = 1029; +var RGFormat = 1030; +var RGIntegerFormat = 1031; +var RGBAIntegerFormat = 1033; +var RGB_S3TC_DXT1_Format = 33776; +var RGBA_S3TC_DXT1_Format = 33777; +var RGBA_S3TC_DXT3_Format = 33778; +var RGBA_S3TC_DXT5_Format = 33779; +var RGB_PVRTC_4BPPV1_Format = 35840; +var RGB_PVRTC_2BPPV1_Format = 35841; +var RGBA_PVRTC_4BPPV1_Format = 35842; +var RGBA_PVRTC_2BPPV1_Format = 35843; +var RGB_ETC1_Format = 36196; +var RGB_ETC2_Format = 37492; +var RGBA_ETC2_EAC_Format = 37496; +var RGBA_ASTC_4x4_Format = 37808; +var RGBA_ASTC_5x4_Format = 37809; +var RGBA_ASTC_5x5_Format = 37810; +var RGBA_ASTC_6x5_Format = 37811; +var RGBA_ASTC_6x6_Format = 37812; +var RGBA_ASTC_8x5_Format = 37813; +var RGBA_ASTC_8x6_Format = 37814; +var RGBA_ASTC_8x8_Format = 37815; +var RGBA_ASTC_10x5_Format = 37816; +var RGBA_ASTC_10x6_Format = 37817; +var RGBA_ASTC_10x8_Format = 37818; +var RGBA_ASTC_10x10_Format = 37819; +var RGBA_ASTC_12x10_Format = 37820; +var RGBA_ASTC_12x12_Format = 37821; +var RGBA_BPTC_Format = 36492; +var InterpolateDiscrete = 2300; +var InterpolateLinear = 2301; +var InterpolateSmooth = 2302; +var ZeroCurvatureEnding = 2400; +var ZeroSlopeEnding = 2401; +var WrapAroundEnding = 2402; +var LinearEncoding = 3e3; +var sRGBEncoding = 3001; +var BasicDepthPacking = 3200; +var RGBADepthPacking = 3201; +var TangentSpaceNormalMap = 0; +var ObjectSpaceNormalMap = 1; +var SRGBColorSpace = "srgb"; +var LinearSRGBColorSpace = "srgb-linear"; +var KeepStencilOp = 7680; +var AlwaysStencilFunc = 519; +var StaticDrawUsage = 35044; +var GLSL3 = "300 es"; +var _SRGBAFormat = 1035; +var EventDispatcher = class { + addEventListener(type, listener) { + if (this._listeners === void 0) + this._listeners = {}; + const listeners = this._listeners; + if (listeners[type] === void 0) { + listeners[type] = []; + } + if (listeners[type].indexOf(listener) === -1) { + listeners[type].push(listener); + } + } + hasEventListener(type, listener) { + if (this._listeners === void 0) + return false; + const listeners = this._listeners; + return listeners[type] !== void 0 && listeners[type].indexOf(listener) !== -1; + } + removeEventListener(type, listener) { + if (this._listeners === void 0) + return; + const listeners = this._listeners; + const listenerArray = listeners[type]; + if (listenerArray !== void 0) { + const index5 = listenerArray.indexOf(listener); + if (index5 !== -1) { + listenerArray.splice(index5, 1); + } + } + } + dispatchEvent(event) { + if (this._listeners === void 0) + return; + const listeners = this._listeners; + const listenerArray = listeners[event.type]; + if (listenerArray !== void 0) { + event.target = this; + const array = listenerArray.slice(0); + for (let i = 0, l = array.length; i < l; i++) { + array[i].call(this, event); + } + event.target = null; + } + } +}; +var _lut = ["00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "0a", "0b", "0c", "0d", "0e", "0f", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "1a", "1b", "1c", "1d", "1e", "1f", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "2a", "2b", "2c", "2d", "2e", "2f", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "3a", "3b", "3c", "3d", "3e", "3f", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "4a", "4b", "4c", "4d", "4e", "4f", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "5a", "5b", "5c", "5d", "5e", "5f", "60", "61", "62", "63", "64", "65", "66", "67", "68", "69", "6a", "6b", "6c", "6d", "6e", "6f", "70", "71", "72", "73", "74", "75", "76", "77", "78", "79", "7a", "7b", "7c", "7d", "7e", "7f", "80", "81", "82", "83", "84", "85", "86", "87", "88", "89", "8a", "8b", "8c", "8d", "8e", "8f", "90", "91", "92", "93", "94", "95", "96", "97", "98", "99", "9a", "9b", "9c", "9d", "9e", "9f", "a0", "a1", "a2", "a3", "a4", "a5", "a6", "a7", "a8", "a9", "aa", "ab", "ac", "ad", "ae", "af", "b0", "b1", "b2", "b3", "b4", "b5", "b6", "b7", "b8", "b9", "ba", "bb", "bc", "bd", "be", "bf", "c0", "c1", "c2", "c3", "c4", "c5", "c6", "c7", "c8", "c9", "ca", "cb", "cc", "cd", "ce", "cf", "d0", "d1", "d2", "d3", "d4", "d5", "d6", "d7", "d8", "d9", "da", "db", "dc", "dd", "de", "df", "e0", "e1", "e2", "e3", "e4", "e5", "e6", "e7", "e8", "e9", "ea", "eb", "ec", "ed", "ee", "ef", "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", "f8", "f9", "fa", "fb", "fc", "fd", "fe", "ff"]; +var DEG2RAD = Math.PI / 180; +var RAD2DEG = 180 / Math.PI; +function generateUUID() { + const d0 = Math.random() * 4294967295 | 0; + const d1 = Math.random() * 4294967295 | 0; + const d2 = Math.random() * 4294967295 | 0; + const d3 = Math.random() * 4294967295 | 0; + const uuid = _lut[d0 & 255] + _lut[d0 >> 8 & 255] + _lut[d0 >> 16 & 255] + _lut[d0 >> 24 & 255] + "-" + _lut[d1 & 255] + _lut[d1 >> 8 & 255] + "-" + _lut[d1 >> 16 & 15 | 64] + _lut[d1 >> 24 & 255] + "-" + _lut[d2 & 63 | 128] + _lut[d2 >> 8 & 255] + "-" + _lut[d2 >> 16 & 255] + _lut[d2 >> 24 & 255] + _lut[d3 & 255] + _lut[d3 >> 8 & 255] + _lut[d3 >> 16 & 255] + _lut[d3 >> 24 & 255]; + return uuid.toLowerCase(); +} +function clamp(value, min2, max2) { + return Math.max(min2, Math.min(max2, value)); +} +function euclideanModulo(n, m2) { + return (n % m2 + m2) % m2; +} +function lerp(x2, y2, t) { + return (1 - t) * x2 + t * y2; +} +function isPowerOfTwo(value) { + return (value & value - 1) === 0 && value !== 0; +} +function floorPowerOfTwo(value) { + return Math.pow(2, Math.floor(Math.log(value) / Math.LN2)); +} +function denormalize(value, array) { + switch (array.constructor) { + case Float32Array: + return value; + case Uint16Array: + return value / 65535; + case Uint8Array: + return value / 255; + case Int16Array: + return Math.max(value / 32767, -1); + case Int8Array: + return Math.max(value / 127, -1); + default: + throw new Error("Invalid component type."); + } +} +function normalize(value, array) { + switch (array.constructor) { + case Float32Array: + return value; + case Uint16Array: + return Math.round(value * 65535); + case Uint8Array: + return Math.round(value * 255); + case Int16Array: + return Math.round(value * 32767); + case Int8Array: + return Math.round(value * 127); + default: + throw new Error("Invalid component type."); + } +} +var Vector2 = class { + constructor(x2 = 0, y2 = 0) { + Vector2.prototype.isVector2 = true; + this.x = x2; + this.y = y2; + } + get width() { + return this.x; + } + set width(value) { + this.x = value; + } + get height() { + return this.y; + } + set height(value) { + this.y = value; + } + set(x2, y2) { + this.x = x2; + this.y = y2; + return this; + } + setScalar(scalar) { + this.x = scalar; + this.y = scalar; + return this; + } + setX(x2) { + this.x = x2; + return this; + } + setY(y2) { + this.y = y2; + return this; + } + setComponent(index5, value) { + switch (index5) { + case 0: + this.x = value; + break; + case 1: + this.y = value; + break; + default: + throw new Error("index is out of range: " + index5); + } + return this; + } + getComponent(index5) { + switch (index5) { + case 0: + return this.x; + case 1: + return this.y; + default: + throw new Error("index is out of range: " + index5); + } + } + clone() { + return new this.constructor(this.x, this.y); + } + copy(v) { + this.x = v.x; + this.y = v.y; + return this; + } + add(v) { + this.x += v.x; + this.y += v.y; + return this; + } + addScalar(s) { + this.x += s; + this.y += s; + return this; + } + addVectors(a2, b) { + this.x = a2.x + b.x; + this.y = a2.y + b.y; + return this; + } + addScaledVector(v, s) { + this.x += v.x * s; + this.y += v.y * s; + return this; + } + sub(v) { + this.x -= v.x; + this.y -= v.y; + return this; + } + subScalar(s) { + this.x -= s; + this.y -= s; + return this; + } + subVectors(a2, b) { + this.x = a2.x - b.x; + this.y = a2.y - b.y; + return this; + } + multiply(v) { + this.x *= v.x; + this.y *= v.y; + return this; + } + multiplyScalar(scalar) { + this.x *= scalar; + this.y *= scalar; + return this; + } + divide(v) { + this.x /= v.x; + this.y /= v.y; + return this; + } + divideScalar(scalar) { + return this.multiplyScalar(1 / scalar); + } + applyMatrix3(m2) { + const x2 = this.x, y2 = this.y; + const e = m2.elements; + this.x = e[0] * x2 + e[3] * y2 + e[6]; + this.y = e[1] * x2 + e[4] * y2 + e[7]; + return this; + } + min(v) { + this.x = Math.min(this.x, v.x); + this.y = Math.min(this.y, v.y); + return this; + } + max(v) { + this.x = Math.max(this.x, v.x); + this.y = Math.max(this.y, v.y); + return this; + } + clamp(min2, max2) { + this.x = Math.max(min2.x, Math.min(max2.x, this.x)); + this.y = Math.max(min2.y, Math.min(max2.y, this.y)); + return this; + } + clampScalar(minVal, maxVal) { + this.x = Math.max(minVal, Math.min(maxVal, this.x)); + this.y = Math.max(minVal, Math.min(maxVal, this.y)); + return this; + } + clampLength(min2, max2) { + const length = this.length(); + return this.divideScalar(length || 1).multiplyScalar(Math.max(min2, Math.min(max2, length))); + } + floor() { + this.x = Math.floor(this.x); + this.y = Math.floor(this.y); + return this; + } + ceil() { + this.x = Math.ceil(this.x); + this.y = Math.ceil(this.y); + return this; + } + round() { + this.x = Math.round(this.x); + this.y = Math.round(this.y); + return this; + } + roundToZero() { + this.x = this.x < 0 ? Math.ceil(this.x) : Math.floor(this.x); + this.y = this.y < 0 ? Math.ceil(this.y) : Math.floor(this.y); + return this; + } + negate() { + this.x = -this.x; + this.y = -this.y; + return this; + } + dot(v) { + return this.x * v.x + this.y * v.y; + } + cross(v) { + return this.x * v.y - this.y * v.x; + } + lengthSq() { + return this.x * this.x + this.y * this.y; + } + length() { + return Math.sqrt(this.x * this.x + this.y * this.y); + } + manhattanLength() { + return Math.abs(this.x) + Math.abs(this.y); + } + normalize() { + return this.divideScalar(this.length() || 1); + } + angle() { + const angle = Math.atan2(-this.y, -this.x) + Math.PI; + return angle; + } + distanceTo(v) { + return Math.sqrt(this.distanceToSquared(v)); + } + distanceToSquared(v) { + const dx = this.x - v.x, dy = this.y - v.y; + return dx * dx + dy * dy; + } + manhattanDistanceTo(v) { + return Math.abs(this.x - v.x) + Math.abs(this.y - v.y); + } + setLength(length) { + return this.normalize().multiplyScalar(length); + } + lerp(v, alpha) { + this.x += (v.x - this.x) * alpha; + this.y += (v.y - this.y) * alpha; + return this; + } + lerpVectors(v1, v2, alpha) { + this.x = v1.x + (v2.x - v1.x) * alpha; + this.y = v1.y + (v2.y - v1.y) * alpha; + return this; + } + equals(v) { + return v.x === this.x && v.y === this.y; + } + fromArray(array, offset = 0) { + this.x = array[offset]; + this.y = array[offset + 1]; + return this; + } + toArray(array = [], offset = 0) { + array[offset] = this.x; + array[offset + 1] = this.y; + return array; + } + fromBufferAttribute(attribute, index5) { + this.x = attribute.getX(index5); + this.y = attribute.getY(index5); + return this; + } + rotateAround(center, angle) { + const c2 = Math.cos(angle), s = Math.sin(angle); + const x2 = this.x - center.x; + const y2 = this.y - center.y; + this.x = x2 * c2 - y2 * s + center.x; + this.y = x2 * s + y2 * c2 + center.y; + return this; + } + random() { + this.x = Math.random(); + this.y = Math.random(); + return this; + } + *[Symbol.iterator]() { + yield this.x; + yield this.y; + } +}; +var Matrix3 = class { + constructor() { + Matrix3.prototype.isMatrix3 = true; + this.elements = [ + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 1 + ]; + } + set(n11, n12, n13, n21, n22, n23, n31, n32, n33) { + const te = this.elements; + te[0] = n11; + te[1] = n21; + te[2] = n31; + te[3] = n12; + te[4] = n22; + te[5] = n32; + te[6] = n13; + te[7] = n23; + te[8] = n33; + return this; + } + identity() { + this.set(1, 0, 0, 0, 1, 0, 0, 0, 1); + return this; + } + copy(m2) { + const te = this.elements; + const me = m2.elements; + te[0] = me[0]; + te[1] = me[1]; + te[2] = me[2]; + te[3] = me[3]; + te[4] = me[4]; + te[5] = me[5]; + te[6] = me[6]; + te[7] = me[7]; + te[8] = me[8]; + return this; + } + extractBasis(xAxis, yAxis, zAxis) { + xAxis.setFromMatrix3Column(this, 0); + yAxis.setFromMatrix3Column(this, 1); + zAxis.setFromMatrix3Column(this, 2); + return this; + } + setFromMatrix4(m2) { + const me = m2.elements; + this.set(me[0], me[4], me[8], me[1], me[5], me[9], me[2], me[6], me[10]); + return this; + } + multiply(m2) { + return this.multiplyMatrices(this, m2); + } + premultiply(m2) { + return this.multiplyMatrices(m2, this); + } + multiplyMatrices(a2, b) { + const ae = a2.elements; + const be = b.elements; + const te = this.elements; + const a11 = ae[0], a12 = ae[3], a13 = ae[6]; + const a21 = ae[1], a22 = ae[4], a23 = ae[7]; + const a31 = ae[2], a32 = ae[5], a33 = ae[8]; + const b11 = be[0], b12 = be[3], b13 = be[6]; + const b21 = be[1], b22 = be[4], b23 = be[7]; + const b31 = be[2], b32 = be[5], b33 = be[8]; + te[0] = a11 * b11 + a12 * b21 + a13 * b31; + te[3] = a11 * b12 + a12 * b22 + a13 * b32; + te[6] = a11 * b13 + a12 * b23 + a13 * b33; + te[1] = a21 * b11 + a22 * b21 + a23 * b31; + te[4] = a21 * b12 + a22 * b22 + a23 * b32; + te[7] = a21 * b13 + a22 * b23 + a23 * b33; + te[2] = a31 * b11 + a32 * b21 + a33 * b31; + te[5] = a31 * b12 + a32 * b22 + a33 * b32; + te[8] = a31 * b13 + a32 * b23 + a33 * b33; + return this; + } + multiplyScalar(s) { + const te = this.elements; + te[0] *= s; + te[3] *= s; + te[6] *= s; + te[1] *= s; + te[4] *= s; + te[7] *= s; + te[2] *= s; + te[5] *= s; + te[8] *= s; + return this; + } + determinant() { + const te = this.elements; + const a2 = te[0], b = te[1], c2 = te[2], d = te[3], e = te[4], f = te[5], g = te[6], h = te[7], i = te[8]; + return a2 * e * i - a2 * f * h - b * d * i + b * f * g + c2 * d * h - c2 * e * g; + } + invert() { + const te = this.elements, n11 = te[0], n21 = te[1], n31 = te[2], n12 = te[3], n22 = te[4], n32 = te[5], n13 = te[6], n23 = te[7], n33 = te[8], t11 = n33 * n22 - n32 * n23, t12 = n32 * n13 - n33 * n12, t13 = n23 * n12 - n22 * n13, det = n11 * t11 + n21 * t12 + n31 * t13; + if (det === 0) + return this.set(0, 0, 0, 0, 0, 0, 0, 0, 0); + const detInv = 1 / det; + te[0] = t11 * detInv; + te[1] = (n31 * n23 - n33 * n21) * detInv; + te[2] = (n32 * n21 - n31 * n22) * detInv; + te[3] = t12 * detInv; + te[4] = (n33 * n11 - n31 * n13) * detInv; + te[5] = (n31 * n12 - n32 * n11) * detInv; + te[6] = t13 * detInv; + te[7] = (n21 * n13 - n23 * n11) * detInv; + te[8] = (n22 * n11 - n21 * n12) * detInv; + return this; + } + transpose() { + let tmp2; + const m2 = this.elements; + tmp2 = m2[1]; + m2[1] = m2[3]; + m2[3] = tmp2; + tmp2 = m2[2]; + m2[2] = m2[6]; + m2[6] = tmp2; + tmp2 = m2[5]; + m2[5] = m2[7]; + m2[7] = tmp2; + return this; + } + getNormalMatrix(matrix4) { + return this.setFromMatrix4(matrix4).invert().transpose(); + } + transposeIntoArray(r) { + const m2 = this.elements; + r[0] = m2[0]; + r[1] = m2[3]; + r[2] = m2[6]; + r[3] = m2[1]; + r[4] = m2[4]; + r[5] = m2[7]; + r[6] = m2[2]; + r[7] = m2[5]; + r[8] = m2[8]; + return this; + } + setUvTransform(tx, ty, sx, sy, rotation, cx, cy) { + const c2 = Math.cos(rotation); + const s = Math.sin(rotation); + this.set(sx * c2, sx * s, -sx * (c2 * cx + s * cy) + cx + tx, -sy * s, sy * c2, -sy * (-s * cx + c2 * cy) + cy + ty, 0, 0, 1); + return this; + } + scale(sx, sy) { + const te = this.elements; + te[0] *= sx; + te[3] *= sx; + te[6] *= sx; + te[1] *= sy; + te[4] *= sy; + te[7] *= sy; + return this; + } + rotate(theta) { + const c2 = Math.cos(theta); + const s = Math.sin(theta); + const te = this.elements; + const a11 = te[0], a12 = te[3], a13 = te[6]; + const a21 = te[1], a22 = te[4], a23 = te[7]; + te[0] = c2 * a11 + s * a21; + te[3] = c2 * a12 + s * a22; + te[6] = c2 * a13 + s * a23; + te[1] = -s * a11 + c2 * a21; + te[4] = -s * a12 + c2 * a22; + te[7] = -s * a13 + c2 * a23; + return this; + } + translate(tx, ty) { + const te = this.elements; + te[0] += tx * te[2]; + te[3] += tx * te[5]; + te[6] += tx * te[8]; + te[1] += ty * te[2]; + te[4] += ty * te[5]; + te[7] += ty * te[8]; + return this; + } + equals(matrix) { + const te = this.elements; + const me = matrix.elements; + for (let i = 0; i < 9; i++) { + if (te[i] !== me[i]) + return false; + } + return true; + } + fromArray(array, offset = 0) { + for (let i = 0; i < 9; i++) { + this.elements[i] = array[i + offset]; + } + return this; + } + toArray(array = [], offset = 0) { + const te = this.elements; + array[offset] = te[0]; + array[offset + 1] = te[1]; + array[offset + 2] = te[2]; + array[offset + 3] = te[3]; + array[offset + 4] = te[4]; + array[offset + 5] = te[5]; + array[offset + 6] = te[6]; + array[offset + 7] = te[7]; + array[offset + 8] = te[8]; + return array; + } + clone() { + return new this.constructor().fromArray(this.elements); + } +}; +function arrayNeedsUint32(array) { + for (let i = array.length - 1; i >= 0; --i) { + if (array[i] >= 65535) + return true; + } + return false; +} +function createElementNS(name) { + return document.createElementNS("http://www.w3.org/1999/xhtml", name); +} +function SRGBToLinear(c2) { + return c2 < 0.04045 ? c2 * 0.0773993808 : Math.pow(c2 * 0.9478672986 + 0.0521327014, 2.4); +} +function LinearToSRGB(c2) { + return c2 < 31308e-7 ? c2 * 12.92 : 1.055 * Math.pow(c2, 0.41666) - 0.055; +} +var FN = { + [SRGBColorSpace]: { [LinearSRGBColorSpace]: SRGBToLinear }, + [LinearSRGBColorSpace]: { [SRGBColorSpace]: LinearToSRGB } +}; +var ColorManagement = { + legacyMode: true, + get workingColorSpace() { + return LinearSRGBColorSpace; + }, + set workingColorSpace(colorSpace) { + console.warn("THREE.ColorManagement: .workingColorSpace is readonly."); + }, + convert: function(color, sourceColorSpace, targetColorSpace) { + if (this.legacyMode || sourceColorSpace === targetColorSpace || !sourceColorSpace || !targetColorSpace) { + return color; + } + if (FN[sourceColorSpace] && FN[sourceColorSpace][targetColorSpace] !== void 0) { + const fn = FN[sourceColorSpace][targetColorSpace]; + color.r = fn(color.r); + color.g = fn(color.g); + color.b = fn(color.b); + return color; + } + throw new Error("Unsupported color space conversion."); + }, + fromWorkingColorSpace: function(color, targetColorSpace) { + return this.convert(color, this.workingColorSpace, targetColorSpace); + }, + toWorkingColorSpace: function(color, sourceColorSpace) { + return this.convert(color, sourceColorSpace, this.workingColorSpace); + } +}; +var _colorKeywords = { + "aliceblue": 15792383, + "antiquewhite": 16444375, + "aqua": 65535, + "aquamarine": 8388564, + "azure": 15794175, + "beige": 16119260, + "bisque": 16770244, + "black": 0, + "blanchedalmond": 16772045, + "blue": 255, + "blueviolet": 9055202, + "brown": 10824234, + "burlywood": 14596231, + "cadetblue": 6266528, + "chartreuse": 8388352, + "chocolate": 13789470, + "coral": 16744272, + "cornflowerblue": 6591981, + "cornsilk": 16775388, + "crimson": 14423100, + "cyan": 65535, + "darkblue": 139, + "darkcyan": 35723, + "darkgoldenrod": 12092939, + "darkgray": 11119017, + "darkgreen": 25600, + "darkgrey": 11119017, + "darkkhaki": 12433259, + "darkmagenta": 9109643, + "darkolivegreen": 5597999, + "darkorange": 16747520, + "darkorchid": 10040012, + "darkred": 9109504, + "darksalmon": 15308410, + "darkseagreen": 9419919, + "darkslateblue": 4734347, + "darkslategray": 3100495, + "darkslategrey": 3100495, + "darkturquoise": 52945, + "darkviolet": 9699539, + "deeppink": 16716947, + "deepskyblue": 49151, + "dimgray": 6908265, + "dimgrey": 6908265, + "dodgerblue": 2003199, + "firebrick": 11674146, + "floralwhite": 16775920, + "forestgreen": 2263842, + "fuchsia": 16711935, + "gainsboro": 14474460, + "ghostwhite": 16316671, + "gold": 16766720, + "goldenrod": 14329120, + "gray": 8421504, + "green": 32768, + "greenyellow": 11403055, + "grey": 8421504, + "honeydew": 15794160, + "hotpink": 16738740, + "indianred": 13458524, + "indigo": 4915330, + "ivory": 16777200, + "khaki": 15787660, + "lavender": 15132410, + "lavenderblush": 16773365, + "lawngreen": 8190976, + "lemonchiffon": 16775885, + "lightblue": 11393254, + "lightcoral": 15761536, + "lightcyan": 14745599, + "lightgoldenrodyellow": 16448210, + "lightgray": 13882323, + "lightgreen": 9498256, + "lightgrey": 13882323, + "lightpink": 16758465, + "lightsalmon": 16752762, + "lightseagreen": 2142890, + "lightskyblue": 8900346, + "lightslategray": 7833753, + "lightslategrey": 7833753, + "lightsteelblue": 11584734, + "lightyellow": 16777184, + "lime": 65280, + "limegreen": 3329330, + "linen": 16445670, + "magenta": 16711935, + "maroon": 8388608, + "mediumaquamarine": 6737322, + "mediumblue": 205, + "mediumorchid": 12211667, + "mediumpurple": 9662683, + "mediumseagreen": 3978097, + "mediumslateblue": 8087790, + "mediumspringgreen": 64154, + "mediumturquoise": 4772300, + "mediumvioletred": 13047173, + "midnightblue": 1644912, + "mintcream": 16121850, + "mistyrose": 16770273, + "moccasin": 16770229, + "navajowhite": 16768685, + "navy": 128, + "oldlace": 16643558, + "olive": 8421376, + "olivedrab": 7048739, + "orange": 16753920, + "orangered": 16729344, + "orchid": 14315734, + "palegoldenrod": 15657130, + "palegreen": 10025880, + "paleturquoise": 11529966, + "palevioletred": 14381203, + "papayawhip": 16773077, + "peachpuff": 16767673, + "peru": 13468991, + "pink": 16761035, + "plum": 14524637, + "powderblue": 11591910, + "purple": 8388736, + "rebeccapurple": 6697881, + "red": 16711680, + "rosybrown": 12357519, + "royalblue": 4286945, + "saddlebrown": 9127187, + "salmon": 16416882, + "sandybrown": 16032864, + "seagreen": 3050327, + "seashell": 16774638, + "sienna": 10506797, + "silver": 12632256, + "skyblue": 8900331, + "slateblue": 6970061, + "slategray": 7372944, + "slategrey": 7372944, + "snow": 16775930, + "springgreen": 65407, + "steelblue": 4620980, + "tan": 13808780, + "teal": 32896, + "thistle": 14204888, + "tomato": 16737095, + "turquoise": 4251856, + "violet": 15631086, + "wheat": 16113331, + "white": 16777215, + "whitesmoke": 16119285, + "yellow": 16776960, + "yellowgreen": 10145074 +}; +var _rgb = { r: 0, g: 0, b: 0 }; +var _hslA = { h: 0, s: 0, l: 0 }; +var _hslB = { h: 0, s: 0, l: 0 }; +function hue2rgb(p, q, t) { + if (t < 0) + t += 1; + if (t > 1) + t -= 1; + if (t < 1 / 6) + return p + (q - p) * 6 * t; + if (t < 1 / 2) + return q; + if (t < 2 / 3) + return p + (q - p) * 6 * (2 / 3 - t); + return p; +} +function toComponents(source, target) { + target.r = source.r; + target.g = source.g; + target.b = source.b; + return target; +} +var Color = class { + constructor(r, g, b) { + this.isColor = true; + this.r = 1; + this.g = 1; + this.b = 1; + if (g === void 0 && b === void 0) { + return this.set(r); + } + return this.setRGB(r, g, b); + } + set(value) { + if (value && value.isColor) { + this.copy(value); + } else if (typeof value === "number") { + this.setHex(value); + } else if (typeof value === "string") { + this.setStyle(value); + } + return this; + } + setScalar(scalar) { + this.r = scalar; + this.g = scalar; + this.b = scalar; + return this; + } + setHex(hex, colorSpace = SRGBColorSpace) { + hex = Math.floor(hex); + this.r = (hex >> 16 & 255) / 255; + this.g = (hex >> 8 & 255) / 255; + this.b = (hex & 255) / 255; + ColorManagement.toWorkingColorSpace(this, colorSpace); + return this; + } + setRGB(r, g, b, colorSpace = LinearSRGBColorSpace) { + this.r = r; + this.g = g; + this.b = b; + ColorManagement.toWorkingColorSpace(this, colorSpace); + return this; + } + setHSL(h, s, l, colorSpace = LinearSRGBColorSpace) { + h = euclideanModulo(h, 1); + s = clamp(s, 0, 1); + l = clamp(l, 0, 1); + if (s === 0) { + this.r = this.g = this.b = l; + } else { + const p = l <= 0.5 ? l * (1 + s) : l + s - l * s; + const q = 2 * l - p; + this.r = hue2rgb(q, p, h + 1 / 3); + this.g = hue2rgb(q, p, h); + this.b = hue2rgb(q, p, h - 1 / 3); + } + ColorManagement.toWorkingColorSpace(this, colorSpace); + return this; + } + setStyle(style, colorSpace = SRGBColorSpace) { + function handleAlpha(string) { + if (string === void 0) + return; + if (parseFloat(string) < 1) { + console.warn("THREE.Color: Alpha component of " + style + " will be ignored."); + } + } + let m2; + if (m2 = /^((?:rgb|hsl)a?)\(([^\)]*)\)/.exec(style)) { + let color; + const name = m2[1]; + const components = m2[2]; + switch (name) { + case "rgb": + case "rgba": + if (color = /^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(components)) { + this.r = Math.min(255, parseInt(color[1], 10)) / 255; + this.g = Math.min(255, parseInt(color[2], 10)) / 255; + this.b = Math.min(255, parseInt(color[3], 10)) / 255; + ColorManagement.toWorkingColorSpace(this, colorSpace); + handleAlpha(color[4]); + return this; + } + if (color = /^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(components)) { + this.r = Math.min(100, parseInt(color[1], 10)) / 100; + this.g = Math.min(100, parseInt(color[2], 10)) / 100; + this.b = Math.min(100, parseInt(color[3], 10)) / 100; + ColorManagement.toWorkingColorSpace(this, colorSpace); + handleAlpha(color[4]); + return this; + } + break; + case "hsl": + case "hsla": + if (color = /^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(components)) { + const h = parseFloat(color[1]) / 360; + const s = parseFloat(color[2]) / 100; + const l = parseFloat(color[3]) / 100; + handleAlpha(color[4]); + return this.setHSL(h, s, l, colorSpace); + } + break; + } + } else if (m2 = /^\#([A-Fa-f\d]+)$/.exec(style)) { + const hex = m2[1]; + const size = hex.length; + if (size === 3) { + this.r = parseInt(hex.charAt(0) + hex.charAt(0), 16) / 255; + this.g = parseInt(hex.charAt(1) + hex.charAt(1), 16) / 255; + this.b = parseInt(hex.charAt(2) + hex.charAt(2), 16) / 255; + ColorManagement.toWorkingColorSpace(this, colorSpace); + return this; + } else if (size === 6) { + this.r = parseInt(hex.charAt(0) + hex.charAt(1), 16) / 255; + this.g = parseInt(hex.charAt(2) + hex.charAt(3), 16) / 255; + this.b = parseInt(hex.charAt(4) + hex.charAt(5), 16) / 255; + ColorManagement.toWorkingColorSpace(this, colorSpace); + return this; + } + } + if (style && style.length > 0) { + return this.setColorName(style, colorSpace); + } + return this; + } + setColorName(style, colorSpace = SRGBColorSpace) { + const hex = _colorKeywords[style.toLowerCase()]; + if (hex !== void 0) { + this.setHex(hex, colorSpace); + } else { + console.warn("THREE.Color: Unknown color " + style); + } + return this; + } + clone() { + return new this.constructor(this.r, this.g, this.b); + } + copy(color) { + this.r = color.r; + this.g = color.g; + this.b = color.b; + return this; + } + copySRGBToLinear(color) { + this.r = SRGBToLinear(color.r); + this.g = SRGBToLinear(color.g); + this.b = SRGBToLinear(color.b); + return this; + } + copyLinearToSRGB(color) { + this.r = LinearToSRGB(color.r); + this.g = LinearToSRGB(color.g); + this.b = LinearToSRGB(color.b); + return this; + } + convertSRGBToLinear() { + this.copySRGBToLinear(this); + return this; + } + convertLinearToSRGB() { + this.copyLinearToSRGB(this); + return this; + } + getHex(colorSpace = SRGBColorSpace) { + ColorManagement.fromWorkingColorSpace(toComponents(this, _rgb), colorSpace); + return clamp(_rgb.r * 255, 0, 255) << 16 ^ clamp(_rgb.g * 255, 0, 255) << 8 ^ clamp(_rgb.b * 255, 0, 255) << 0; + } + getHexString(colorSpace = SRGBColorSpace) { + return ("000000" + this.getHex(colorSpace).toString(16)).slice(-6); + } + getHSL(target, colorSpace = LinearSRGBColorSpace) { + ColorManagement.fromWorkingColorSpace(toComponents(this, _rgb), colorSpace); + const r = _rgb.r, g = _rgb.g, b = _rgb.b; + const max2 = Math.max(r, g, b); + const min2 = Math.min(r, g, b); + let hue, saturation; + const lightness = (min2 + max2) / 2; + if (min2 === max2) { + hue = 0; + saturation = 0; + } else { + const delta = max2 - min2; + saturation = lightness <= 0.5 ? delta / (max2 + min2) : delta / (2 - max2 - min2); + switch (max2) { + case r: + hue = (g - b) / delta + (g < b ? 6 : 0); + break; + case g: + hue = (b - r) / delta + 2; + break; + case b: + hue = (r - g) / delta + 4; + break; + } + hue /= 6; + } + target.h = hue; + target.s = saturation; + target.l = lightness; + return target; + } + getRGB(target, colorSpace = LinearSRGBColorSpace) { + ColorManagement.fromWorkingColorSpace(toComponents(this, _rgb), colorSpace); + target.r = _rgb.r; + target.g = _rgb.g; + target.b = _rgb.b; + return target; + } + getStyle(colorSpace = SRGBColorSpace) { + ColorManagement.fromWorkingColorSpace(toComponents(this, _rgb), colorSpace); + if (colorSpace !== SRGBColorSpace) { + return `color(${colorSpace} ${_rgb.r} ${_rgb.g} ${_rgb.b})`; + } + return `rgb(${_rgb.r * 255 | 0},${_rgb.g * 255 | 0},${_rgb.b * 255 | 0})`; + } + offsetHSL(h, s, l) { + this.getHSL(_hslA); + _hslA.h += h; + _hslA.s += s; + _hslA.l += l; + this.setHSL(_hslA.h, _hslA.s, _hslA.l); + return this; + } + add(color) { + this.r += color.r; + this.g += color.g; + this.b += color.b; + return this; + } + addColors(color1, color2) { + this.r = color1.r + color2.r; + this.g = color1.g + color2.g; + this.b = color1.b + color2.b; + return this; + } + addScalar(s) { + this.r += s; + this.g += s; + this.b += s; + return this; + } + sub(color) { + this.r = Math.max(0, this.r - color.r); + this.g = Math.max(0, this.g - color.g); + this.b = Math.max(0, this.b - color.b); + return this; + } + multiply(color) { + this.r *= color.r; + this.g *= color.g; + this.b *= color.b; + return this; + } + multiplyScalar(s) { + this.r *= s; + this.g *= s; + this.b *= s; + return this; + } + lerp(color, alpha) { + this.r += (color.r - this.r) * alpha; + this.g += (color.g - this.g) * alpha; + this.b += (color.b - this.b) * alpha; + return this; + } + lerpColors(color1, color2, alpha) { + this.r = color1.r + (color2.r - color1.r) * alpha; + this.g = color1.g + (color2.g - color1.g) * alpha; + this.b = color1.b + (color2.b - color1.b) * alpha; + return this; + } + lerpHSL(color, alpha) { + this.getHSL(_hslA); + color.getHSL(_hslB); + const h = lerp(_hslA.h, _hslB.h, alpha); + const s = lerp(_hslA.s, _hslB.s, alpha); + const l = lerp(_hslA.l, _hslB.l, alpha); + this.setHSL(h, s, l); + return this; + } + equals(c2) { + return c2.r === this.r && c2.g === this.g && c2.b === this.b; + } + fromArray(array, offset = 0) { + this.r = array[offset]; + this.g = array[offset + 1]; + this.b = array[offset + 2]; + return this; + } + toArray(array = [], offset = 0) { + array[offset] = this.r; + array[offset + 1] = this.g; + array[offset + 2] = this.b; + return array; + } + fromBufferAttribute(attribute, index5) { + this.r = attribute.getX(index5); + this.g = attribute.getY(index5); + this.b = attribute.getZ(index5); + return this; + } + toJSON() { + return this.getHex(); + } + *[Symbol.iterator]() { + yield this.r; + yield this.g; + yield this.b; + } +}; +Color.NAMES = _colorKeywords; +var _canvas; +var ImageUtils = class { + static getDataURL(image) { + if (/^data:/i.test(image.src)) { + return image.src; + } + if (typeof HTMLCanvasElement == "undefined") { + return image.src; + } + let canvas; + if (image instanceof HTMLCanvasElement) { + canvas = image; + } else { + if (_canvas === void 0) + _canvas = createElementNS("canvas"); + _canvas.width = image.width; + _canvas.height = image.height; + const context = _canvas.getContext("2d"); + if (image instanceof ImageData) { + context.putImageData(image, 0, 0); + } else { + context.drawImage(image, 0, 0, image.width, image.height); + } + canvas = _canvas; + } + if (canvas.width > 2048 || canvas.height > 2048) { + console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons", image); + return canvas.toDataURL("image/jpeg", 0.6); + } else { + return canvas.toDataURL("image/png"); + } + } + static sRGBToLinear(image) { + if (typeof HTMLImageElement !== "undefined" && image instanceof HTMLImageElement || typeof HTMLCanvasElement !== "undefined" && image instanceof HTMLCanvasElement || typeof ImageBitmap !== "undefined" && image instanceof ImageBitmap) { + const canvas = createElementNS("canvas"); + canvas.width = image.width; + canvas.height = image.height; + const context = canvas.getContext("2d"); + context.drawImage(image, 0, 0, image.width, image.height); + const imageData = context.getImageData(0, 0, image.width, image.height); + const data = imageData.data; + for (let i = 0; i < data.length; i++) { + data[i] = SRGBToLinear(data[i] / 255) * 255; + } + context.putImageData(imageData, 0, 0); + return canvas; + } else if (image.data) { + const data = image.data.slice(0); + for (let i = 0; i < data.length; i++) { + if (data instanceof Uint8Array || data instanceof Uint8ClampedArray) { + data[i] = Math.floor(SRGBToLinear(data[i] / 255) * 255); + } else { + data[i] = SRGBToLinear(data[i]); + } + } + return { + data, + width: image.width, + height: image.height + }; + } else { + console.warn("THREE.ImageUtils.sRGBToLinear(): Unsupported image type. No color space conversion applied."); + return image; + } + } +}; +var Source = class { + constructor(data = null) { + this.isSource = true; + this.uuid = generateUUID(); + this.data = data; + this.version = 0; + } + set needsUpdate(value) { + if (value === true) + this.version++; + } + toJSON(meta) { + const isRootObject = meta === void 0 || typeof meta === "string"; + if (!isRootObject && meta.images[this.uuid] !== void 0) { + return meta.images[this.uuid]; + } + const output = { + uuid: this.uuid, + url: "" + }; + const data = this.data; + if (data !== null) { + let url; + if (Array.isArray(data)) { + url = []; + for (let i = 0, l = data.length; i < l; i++) { + if (data[i].isDataTexture) { + url.push(serializeImage(data[i].image)); + } else { + url.push(serializeImage(data[i])); + } + } + } else { + url = serializeImage(data); + } + output.url = url; + } + if (!isRootObject) { + meta.images[this.uuid] = output; + } + return output; + } +}; +function serializeImage(image) { + if (typeof HTMLImageElement !== "undefined" && image instanceof HTMLImageElement || typeof HTMLCanvasElement !== "undefined" && image instanceof HTMLCanvasElement || typeof ImageBitmap !== "undefined" && image instanceof ImageBitmap) { + return ImageUtils.getDataURL(image); + } else { + if (image.data) { + return { + data: Array.from(image.data), + width: image.width, + height: image.height, + type: image.data.constructor.name + }; + } else { + console.warn("THREE.Texture: Unable to serialize Texture."); + return {}; + } + } +} +var textureId = 0; +var Texture = class extends EventDispatcher { + constructor(image = Texture.DEFAULT_IMAGE, mapping = Texture.DEFAULT_MAPPING, wrapS = ClampToEdgeWrapping, wrapT = ClampToEdgeWrapping, magFilter = LinearFilter, minFilter = LinearMipmapLinearFilter, format2 = RGBAFormat, type = UnsignedByteType, anisotropy = 1, encoding = LinearEncoding) { + super(); + this.isTexture = true; + Object.defineProperty(this, "id", { value: textureId++ }); + this.uuid = generateUUID(); + this.name = ""; + this.source = new Source(image); + this.mipmaps = []; + this.mapping = mapping; + this.wrapS = wrapS; + this.wrapT = wrapT; + this.magFilter = magFilter; + this.minFilter = minFilter; + this.anisotropy = anisotropy; + this.format = format2; + this.internalFormat = null; + this.type = type; + this.offset = new Vector2(0, 0); + this.repeat = new Vector2(1, 1); + this.center = new Vector2(0, 0); + this.rotation = 0; + this.matrixAutoUpdate = true; + this.matrix = new Matrix3(); + this.generateMipmaps = true; + this.premultiplyAlpha = false; + this.flipY = true; + this.unpackAlignment = 4; + this.encoding = encoding; + this.userData = {}; + this.version = 0; + this.onUpdate = null; + this.isRenderTargetTexture = false; + this.needsPMREMUpdate = false; + } + get image() { + return this.source.data; + } + set image(value) { + this.source.data = value; + } + updateMatrix() { + this.matrix.setUvTransform(this.offset.x, this.offset.y, this.repeat.x, this.repeat.y, this.rotation, this.center.x, this.center.y); + } + clone() { + return new this.constructor().copy(this); + } + copy(source) { + this.name = source.name; + this.source = source.source; + this.mipmaps = source.mipmaps.slice(0); + this.mapping = source.mapping; + this.wrapS = source.wrapS; + this.wrapT = source.wrapT; + this.magFilter = source.magFilter; + this.minFilter = source.minFilter; + this.anisotropy = source.anisotropy; + this.format = source.format; + this.internalFormat = source.internalFormat; + this.type = source.type; + this.offset.copy(source.offset); + this.repeat.copy(source.repeat); + this.center.copy(source.center); + this.rotation = source.rotation; + this.matrixAutoUpdate = source.matrixAutoUpdate; + this.matrix.copy(source.matrix); + this.generateMipmaps = source.generateMipmaps; + this.premultiplyAlpha = source.premultiplyAlpha; + this.flipY = source.flipY; + this.unpackAlignment = source.unpackAlignment; + this.encoding = source.encoding; + this.userData = JSON.parse(JSON.stringify(source.userData)); + this.needsUpdate = true; + return this; + } + toJSON(meta) { + const isRootObject = meta === void 0 || typeof meta === "string"; + if (!isRootObject && meta.textures[this.uuid] !== void 0) { + return meta.textures[this.uuid]; + } + const output = { + metadata: { + version: 4.5, + type: "Texture", + generator: "Texture.toJSON" + }, + uuid: this.uuid, + name: this.name, + image: this.source.toJSON(meta).uuid, + mapping: this.mapping, + repeat: [this.repeat.x, this.repeat.y], + offset: [this.offset.x, this.offset.y], + center: [this.center.x, this.center.y], + rotation: this.rotation, + wrap: [this.wrapS, this.wrapT], + format: this.format, + type: this.type, + encoding: this.encoding, + minFilter: this.minFilter, + magFilter: this.magFilter, + anisotropy: this.anisotropy, + flipY: this.flipY, + premultiplyAlpha: this.premultiplyAlpha, + unpackAlignment: this.unpackAlignment + }; + if (JSON.stringify(this.userData) !== "{}") + output.userData = this.userData; + if (!isRootObject) { + meta.textures[this.uuid] = output; + } + return output; + } + dispose() { + this.dispatchEvent({ type: "dispose" }); + } + transformUv(uv) { + if (this.mapping !== UVMapping) + return uv; + uv.applyMatrix3(this.matrix); + if (uv.x < 0 || uv.x > 1) { + switch (this.wrapS) { + case RepeatWrapping: + uv.x = uv.x - Math.floor(uv.x); + break; + case ClampToEdgeWrapping: + uv.x = uv.x < 0 ? 0 : 1; + break; + case MirroredRepeatWrapping: + if (Math.abs(Math.floor(uv.x) % 2) === 1) { + uv.x = Math.ceil(uv.x) - uv.x; + } else { + uv.x = uv.x - Math.floor(uv.x); + } + break; + } + } + if (uv.y < 0 || uv.y > 1) { + switch (this.wrapT) { + case RepeatWrapping: + uv.y = uv.y - Math.floor(uv.y); + break; + case ClampToEdgeWrapping: + uv.y = uv.y < 0 ? 0 : 1; + break; + case MirroredRepeatWrapping: + if (Math.abs(Math.floor(uv.y) % 2) === 1) { + uv.y = Math.ceil(uv.y) - uv.y; + } else { + uv.y = uv.y - Math.floor(uv.y); + } + break; + } + } + if (this.flipY) { + uv.y = 1 - uv.y; + } + return uv; + } + set needsUpdate(value) { + if (value === true) { + this.version++; + this.source.needsUpdate = true; + } + } +}; +Texture.DEFAULT_IMAGE = null; +Texture.DEFAULT_MAPPING = UVMapping; +var Vector4 = class { + constructor(x2 = 0, y2 = 0, z2 = 0, w = 1) { + Vector4.prototype.isVector4 = true; + this.x = x2; + this.y = y2; + this.z = z2; + this.w = w; + } + get width() { + return this.z; + } + set width(value) { + this.z = value; + } + get height() { + return this.w; + } + set height(value) { + this.w = value; + } + set(x2, y2, z2, w) { + this.x = x2; + this.y = y2; + this.z = z2; + this.w = w; + return this; + } + setScalar(scalar) { + this.x = scalar; + this.y = scalar; + this.z = scalar; + this.w = scalar; + return this; + } + setX(x2) { + this.x = x2; + return this; + } + setY(y2) { + this.y = y2; + return this; + } + setZ(z2) { + this.z = z2; + return this; + } + setW(w) { + this.w = w; + return this; + } + setComponent(index5, value) { + switch (index5) { + case 0: + this.x = value; + break; + case 1: + this.y = value; + break; + case 2: + this.z = value; + break; + case 3: + this.w = value; + break; + default: + throw new Error("index is out of range: " + index5); + } + return this; + } + getComponent(index5) { + switch (index5) { + case 0: + return this.x; + case 1: + return this.y; + case 2: + return this.z; + case 3: + return this.w; + default: + throw new Error("index is out of range: " + index5); + } + } + clone() { + return new this.constructor(this.x, this.y, this.z, this.w); + } + copy(v) { + this.x = v.x; + this.y = v.y; + this.z = v.z; + this.w = v.w !== void 0 ? v.w : 1; + return this; + } + add(v) { + this.x += v.x; + this.y += v.y; + this.z += v.z; + this.w += v.w; + return this; + } + addScalar(s) { + this.x += s; + this.y += s; + this.z += s; + this.w += s; + return this; + } + addVectors(a2, b) { + this.x = a2.x + b.x; + this.y = a2.y + b.y; + this.z = a2.z + b.z; + this.w = a2.w + b.w; + return this; + } + addScaledVector(v, s) { + this.x += v.x * s; + this.y += v.y * s; + this.z += v.z * s; + this.w += v.w * s; + return this; + } + sub(v) { + this.x -= v.x; + this.y -= v.y; + this.z -= v.z; + this.w -= v.w; + return this; + } + subScalar(s) { + this.x -= s; + this.y -= s; + this.z -= s; + this.w -= s; + return this; + } + subVectors(a2, b) { + this.x = a2.x - b.x; + this.y = a2.y - b.y; + this.z = a2.z - b.z; + this.w = a2.w - b.w; + return this; + } + multiply(v) { + this.x *= v.x; + this.y *= v.y; + this.z *= v.z; + this.w *= v.w; + return this; + } + multiplyScalar(scalar) { + this.x *= scalar; + this.y *= scalar; + this.z *= scalar; + this.w *= scalar; + return this; + } + applyMatrix4(m2) { + const x2 = this.x, y2 = this.y, z2 = this.z, w = this.w; + const e = m2.elements; + this.x = e[0] * x2 + e[4] * y2 + e[8] * z2 + e[12] * w; + this.y = e[1] * x2 + e[5] * y2 + e[9] * z2 + e[13] * w; + this.z = e[2] * x2 + e[6] * y2 + e[10] * z2 + e[14] * w; + this.w = e[3] * x2 + e[7] * y2 + e[11] * z2 + e[15] * w; + return this; + } + divideScalar(scalar) { + return this.multiplyScalar(1 / scalar); + } + setAxisAngleFromQuaternion(q) { + this.w = 2 * Math.acos(q.w); + const s = Math.sqrt(1 - q.w * q.w); + if (s < 1e-4) { + this.x = 1; + this.y = 0; + this.z = 0; + } else { + this.x = q.x / s; + this.y = q.y / s; + this.z = q.z / s; + } + return this; + } + setAxisAngleFromRotationMatrix(m2) { + let angle, x2, y2, z2; + const epsilon = 0.01, epsilon2 = 0.1, te = m2.elements, m11 = te[0], m12 = te[4], m13 = te[8], m21 = te[1], m22 = te[5], m23 = te[9], m31 = te[2], m32 = te[6], m33 = te[10]; + if (Math.abs(m12 - m21) < epsilon && Math.abs(m13 - m31) < epsilon && Math.abs(m23 - m32) < epsilon) { + if (Math.abs(m12 + m21) < epsilon2 && Math.abs(m13 + m31) < epsilon2 && Math.abs(m23 + m32) < epsilon2 && Math.abs(m11 + m22 + m33 - 3) < epsilon2) { + this.set(1, 0, 0, 0); + return this; + } + angle = Math.PI; + const xx = (m11 + 1) / 2; + const yy = (m22 + 1) / 2; + const zz = (m33 + 1) / 2; + const xy = (m12 + m21) / 4; + const xz = (m13 + m31) / 4; + const yz = (m23 + m32) / 4; + if (xx > yy && xx > zz) { + if (xx < epsilon) { + x2 = 0; + y2 = 0.707106781; + z2 = 0.707106781; + } else { + x2 = Math.sqrt(xx); + y2 = xy / x2; + z2 = xz / x2; + } + } else if (yy > zz) { + if (yy < epsilon) { + x2 = 0.707106781; + y2 = 0; + z2 = 0.707106781; + } else { + y2 = Math.sqrt(yy); + x2 = xy / y2; + z2 = yz / y2; + } + } else { + if (zz < epsilon) { + x2 = 0.707106781; + y2 = 0.707106781; + z2 = 0; + } else { + z2 = Math.sqrt(zz); + x2 = xz / z2; + y2 = yz / z2; + } + } + this.set(x2, y2, z2, angle); + return this; + } + let s = Math.sqrt((m32 - m23) * (m32 - m23) + (m13 - m31) * (m13 - m31) + (m21 - m12) * (m21 - m12)); + if (Math.abs(s) < 1e-3) + s = 1; + this.x = (m32 - m23) / s; + this.y = (m13 - m31) / s; + this.z = (m21 - m12) / s; + this.w = Math.acos((m11 + m22 + m33 - 1) / 2); + return this; + } + min(v) { + this.x = Math.min(this.x, v.x); + this.y = Math.min(this.y, v.y); + this.z = Math.min(this.z, v.z); + this.w = Math.min(this.w, v.w); + return this; + } + max(v) { + this.x = Math.max(this.x, v.x); + this.y = Math.max(this.y, v.y); + this.z = Math.max(this.z, v.z); + this.w = Math.max(this.w, v.w); + return this; + } + clamp(min2, max2) { + this.x = Math.max(min2.x, Math.min(max2.x, this.x)); + this.y = Math.max(min2.y, Math.min(max2.y, this.y)); + this.z = Math.max(min2.z, Math.min(max2.z, this.z)); + this.w = Math.max(min2.w, Math.min(max2.w, this.w)); + return this; + } + clampScalar(minVal, maxVal) { + this.x = Math.max(minVal, Math.min(maxVal, this.x)); + this.y = Math.max(minVal, Math.min(maxVal, this.y)); + this.z = Math.max(minVal, Math.min(maxVal, this.z)); + this.w = Math.max(minVal, Math.min(maxVal, this.w)); + return this; + } + clampLength(min2, max2) { + const length = this.length(); + return this.divideScalar(length || 1).multiplyScalar(Math.max(min2, Math.min(max2, length))); + } + floor() { + this.x = Math.floor(this.x); + this.y = Math.floor(this.y); + this.z = Math.floor(this.z); + this.w = Math.floor(this.w); + return this; + } + ceil() { + this.x = Math.ceil(this.x); + this.y = Math.ceil(this.y); + this.z = Math.ceil(this.z); + this.w = Math.ceil(this.w); + return this; + } + round() { + this.x = Math.round(this.x); + this.y = Math.round(this.y); + this.z = Math.round(this.z); + this.w = Math.round(this.w); + return this; + } + roundToZero() { + this.x = this.x < 0 ? Math.ceil(this.x) : Math.floor(this.x); + this.y = this.y < 0 ? Math.ceil(this.y) : Math.floor(this.y); + this.z = this.z < 0 ? Math.ceil(this.z) : Math.floor(this.z); + this.w = this.w < 0 ? Math.ceil(this.w) : Math.floor(this.w); + return this; + } + negate() { + this.x = -this.x; + this.y = -this.y; + this.z = -this.z; + this.w = -this.w; + return this; + } + dot(v) { + return this.x * v.x + this.y * v.y + this.z * v.z + this.w * v.w; + } + lengthSq() { + return this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w; + } + length() { + return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w); + } + manhattanLength() { + return Math.abs(this.x) + Math.abs(this.y) + Math.abs(this.z) + Math.abs(this.w); + } + normalize() { + return this.divideScalar(this.length() || 1); + } + setLength(length) { + return this.normalize().multiplyScalar(length); + } + lerp(v, alpha) { + this.x += (v.x - this.x) * alpha; + this.y += (v.y - this.y) * alpha; + this.z += (v.z - this.z) * alpha; + this.w += (v.w - this.w) * alpha; + return this; + } + lerpVectors(v1, v2, alpha) { + this.x = v1.x + (v2.x - v1.x) * alpha; + this.y = v1.y + (v2.y - v1.y) * alpha; + this.z = v1.z + (v2.z - v1.z) * alpha; + this.w = v1.w + (v2.w - v1.w) * alpha; + return this; + } + equals(v) { + return v.x === this.x && v.y === this.y && v.z === this.z && v.w === this.w; + } + fromArray(array, offset = 0) { + this.x = array[offset]; + this.y = array[offset + 1]; + this.z = array[offset + 2]; + this.w = array[offset + 3]; + return this; + } + toArray(array = [], offset = 0) { + array[offset] = this.x; + array[offset + 1] = this.y; + array[offset + 2] = this.z; + array[offset + 3] = this.w; + return array; + } + fromBufferAttribute(attribute, index5) { + this.x = attribute.getX(index5); + this.y = attribute.getY(index5); + this.z = attribute.getZ(index5); + this.w = attribute.getW(index5); + return this; + } + random() { + this.x = Math.random(); + this.y = Math.random(); + this.z = Math.random(); + this.w = Math.random(); + return this; + } + *[Symbol.iterator]() { + yield this.x; + yield this.y; + yield this.z; + yield this.w; + } +}; +var WebGLRenderTarget = class extends EventDispatcher { + constructor(width = 1, height = 1, options = {}) { + super(); + this.isWebGLRenderTarget = true; + this.width = width; + this.height = height; + this.depth = 1; + this.scissor = new Vector4(0, 0, width, height); + this.scissorTest = false; + this.viewport = new Vector4(0, 0, width, height); + const image = { width, height, depth: 1 }; + this.texture = new Texture(image, options.mapping, options.wrapS, options.wrapT, options.magFilter, options.minFilter, options.format, options.type, options.anisotropy, options.encoding); + this.texture.isRenderTargetTexture = true; + this.texture.flipY = false; + this.texture.generateMipmaps = options.generateMipmaps !== void 0 ? options.generateMipmaps : false; + this.texture.internalFormat = options.internalFormat !== void 0 ? options.internalFormat : null; + this.texture.minFilter = options.minFilter !== void 0 ? options.minFilter : LinearFilter; + this.depthBuffer = options.depthBuffer !== void 0 ? options.depthBuffer : true; + this.stencilBuffer = options.stencilBuffer !== void 0 ? options.stencilBuffer : false; + this.depthTexture = options.depthTexture !== void 0 ? options.depthTexture : null; + this.samples = options.samples !== void 0 ? options.samples : 0; + } + setSize(width, height, depth = 1) { + if (this.width !== width || this.height !== height || this.depth !== depth) { + this.width = width; + this.height = height; + this.depth = depth; + this.texture.image.width = width; + this.texture.image.height = height; + this.texture.image.depth = depth; + this.dispose(); + } + this.viewport.set(0, 0, width, height); + this.scissor.set(0, 0, width, height); + } + clone() { + return new this.constructor().copy(this); + } + copy(source) { + this.width = source.width; + this.height = source.height; + this.depth = source.depth; + this.viewport.copy(source.viewport); + this.texture = source.texture.clone(); + this.texture.isRenderTargetTexture = true; + const image = Object.assign({}, source.texture.image); + this.texture.source = new Source(image); + this.depthBuffer = source.depthBuffer; + this.stencilBuffer = source.stencilBuffer; + if (source.depthTexture !== null) + this.depthTexture = source.depthTexture.clone(); + this.samples = source.samples; + return this; + } + dispose() { + this.dispatchEvent({ type: "dispose" }); + } +}; +var DataArrayTexture = class extends Texture { + constructor(data = null, width = 1, height = 1, depth = 1) { + super(null); + this.isDataArrayTexture = true; + this.image = { data, width, height, depth }; + this.magFilter = NearestFilter; + this.minFilter = NearestFilter; + this.wrapR = ClampToEdgeWrapping; + this.generateMipmaps = false; + this.flipY = false; + this.unpackAlignment = 1; + } +}; +var Data3DTexture = class extends Texture { + constructor(data = null, width = 1, height = 1, depth = 1) { + super(null); + this.isData3DTexture = true; + this.image = { data, width, height, depth }; + this.magFilter = NearestFilter; + this.minFilter = NearestFilter; + this.wrapR = ClampToEdgeWrapping; + this.generateMipmaps = false; + this.flipY = false; + this.unpackAlignment = 1; + } +}; +var Quaternion = class { + constructor(x2 = 0, y2 = 0, z2 = 0, w = 1) { + this.isQuaternion = true; + this._x = x2; + this._y = y2; + this._z = z2; + this._w = w; + } + static slerpFlat(dst, dstOffset, src0, srcOffset0, src1, srcOffset1, t) { + let x0 = src0[srcOffset0 + 0], y0 = src0[srcOffset0 + 1], z0 = src0[srcOffset0 + 2], w0 = src0[srcOffset0 + 3]; + const x1 = src1[srcOffset1 + 0], y1 = src1[srcOffset1 + 1], z1 = src1[srcOffset1 + 2], w1 = src1[srcOffset1 + 3]; + if (t === 0) { + dst[dstOffset + 0] = x0; + dst[dstOffset + 1] = y0; + dst[dstOffset + 2] = z0; + dst[dstOffset + 3] = w0; + return; + } + if (t === 1) { + dst[dstOffset + 0] = x1; + dst[dstOffset + 1] = y1; + dst[dstOffset + 2] = z1; + dst[dstOffset + 3] = w1; + return; + } + if (w0 !== w1 || x0 !== x1 || y0 !== y1 || z0 !== z1) { + let s = 1 - t; + const cos = x0 * x1 + y0 * y1 + z0 * z1 + w0 * w1, dir = cos >= 0 ? 1 : -1, sqrSin = 1 - cos * cos; + if (sqrSin > Number.EPSILON) { + const sin = Math.sqrt(sqrSin), len = Math.atan2(sin, cos * dir); + s = Math.sin(s * len) / sin; + t = Math.sin(t * len) / sin; + } + const tDir = t * dir; + x0 = x0 * s + x1 * tDir; + y0 = y0 * s + y1 * tDir; + z0 = z0 * s + z1 * tDir; + w0 = w0 * s + w1 * tDir; + if (s === 1 - t) { + const f = 1 / Math.sqrt(x0 * x0 + y0 * y0 + z0 * z0 + w0 * w0); + x0 *= f; + y0 *= f; + z0 *= f; + w0 *= f; + } + } + dst[dstOffset] = x0; + dst[dstOffset + 1] = y0; + dst[dstOffset + 2] = z0; + dst[dstOffset + 3] = w0; + } + static multiplyQuaternionsFlat(dst, dstOffset, src0, srcOffset0, src1, srcOffset1) { + const x0 = src0[srcOffset0]; + const y0 = src0[srcOffset0 + 1]; + const z0 = src0[srcOffset0 + 2]; + const w0 = src0[srcOffset0 + 3]; + const x1 = src1[srcOffset1]; + const y1 = src1[srcOffset1 + 1]; + const z1 = src1[srcOffset1 + 2]; + const w1 = src1[srcOffset1 + 3]; + dst[dstOffset] = x0 * w1 + w0 * x1 + y0 * z1 - z0 * y1; + dst[dstOffset + 1] = y0 * w1 + w0 * y1 + z0 * x1 - x0 * z1; + dst[dstOffset + 2] = z0 * w1 + w0 * z1 + x0 * y1 - y0 * x1; + dst[dstOffset + 3] = w0 * w1 - x0 * x1 - y0 * y1 - z0 * z1; + return dst; + } + get x() { + return this._x; + } + set x(value) { + this._x = value; + this._onChangeCallback(); + } + get y() { + return this._y; + } + set y(value) { + this._y = value; + this._onChangeCallback(); + } + get z() { + return this._z; + } + set z(value) { + this._z = value; + this._onChangeCallback(); + } + get w() { + return this._w; + } + set w(value) { + this._w = value; + this._onChangeCallback(); + } + set(x2, y2, z2, w) { + this._x = x2; + this._y = y2; + this._z = z2; + this._w = w; + this._onChangeCallback(); + return this; + } + clone() { + return new this.constructor(this._x, this._y, this._z, this._w); + } + copy(quaternion) { + this._x = quaternion.x; + this._y = quaternion.y; + this._z = quaternion.z; + this._w = quaternion.w; + this._onChangeCallback(); + return this; + } + setFromEuler(euler, update4) { + const x2 = euler._x, y2 = euler._y, z2 = euler._z, order = euler._order; + const cos = Math.cos; + const sin = Math.sin; + const c1 = cos(x2 / 2); + const c2 = cos(y2 / 2); + const c3 = cos(z2 / 2); + const s1 = sin(x2 / 2); + const s2 = sin(y2 / 2); + const s3 = sin(z2 / 2); + switch (order) { + case "XYZ": + this._x = s1 * c2 * c3 + c1 * s2 * s3; + this._y = c1 * s2 * c3 - s1 * c2 * s3; + this._z = c1 * c2 * s3 + s1 * s2 * c3; + this._w = c1 * c2 * c3 - s1 * s2 * s3; + break; + case "YXZ": + this._x = s1 * c2 * c3 + c1 * s2 * s3; + this._y = c1 * s2 * c3 - s1 * c2 * s3; + this._z = c1 * c2 * s3 - s1 * s2 * c3; + this._w = c1 * c2 * c3 + s1 * s2 * s3; + break; + case "ZXY": + this._x = s1 * c2 * c3 - c1 * s2 * s3; + this._y = c1 * s2 * c3 + s1 * c2 * s3; + this._z = c1 * c2 * s3 + s1 * s2 * c3; + this._w = c1 * c2 * c3 - s1 * s2 * s3; + break; + case "ZYX": + this._x = s1 * c2 * c3 - c1 * s2 * s3; + this._y = c1 * s2 * c3 + s1 * c2 * s3; + this._z = c1 * c2 * s3 - s1 * s2 * c3; + this._w = c1 * c2 * c3 + s1 * s2 * s3; + break; + case "YZX": + this._x = s1 * c2 * c3 + c1 * s2 * s3; + this._y = c1 * s2 * c3 + s1 * c2 * s3; + this._z = c1 * c2 * s3 - s1 * s2 * c3; + this._w = c1 * c2 * c3 - s1 * s2 * s3; + break; + case "XZY": + this._x = s1 * c2 * c3 - c1 * s2 * s3; + this._y = c1 * s2 * c3 - s1 * c2 * s3; + this._z = c1 * c2 * s3 + s1 * s2 * c3; + this._w = c1 * c2 * c3 + s1 * s2 * s3; + break; + default: + console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: " + order); + } + if (update4 !== false) + this._onChangeCallback(); + return this; + } + setFromAxisAngle(axis, angle) { + const halfAngle = angle / 2, s = Math.sin(halfAngle); + this._x = axis.x * s; + this._y = axis.y * s; + this._z = axis.z * s; + this._w = Math.cos(halfAngle); + this._onChangeCallback(); + return this; + } + setFromRotationMatrix(m2) { + const te = m2.elements, m11 = te[0], m12 = te[4], m13 = te[8], m21 = te[1], m22 = te[5], m23 = te[9], m31 = te[2], m32 = te[6], m33 = te[10], trace = m11 + m22 + m33; + if (trace > 0) { + const s = 0.5 / Math.sqrt(trace + 1); + this._w = 0.25 / s; + this._x = (m32 - m23) * s; + this._y = (m13 - m31) * s; + this._z = (m21 - m12) * s; + } else if (m11 > m22 && m11 > m33) { + const s = 2 * Math.sqrt(1 + m11 - m22 - m33); + this._w = (m32 - m23) / s; + this._x = 0.25 * s; + this._y = (m12 + m21) / s; + this._z = (m13 + m31) / s; + } else if (m22 > m33) { + const s = 2 * Math.sqrt(1 + m22 - m11 - m33); + this._w = (m13 - m31) / s; + this._x = (m12 + m21) / s; + this._y = 0.25 * s; + this._z = (m23 + m32) / s; + } else { + const s = 2 * Math.sqrt(1 + m33 - m11 - m22); + this._w = (m21 - m12) / s; + this._x = (m13 + m31) / s; + this._y = (m23 + m32) / s; + this._z = 0.25 * s; + } + this._onChangeCallback(); + return this; + } + setFromUnitVectors(vFrom, vTo) { + let r = vFrom.dot(vTo) + 1; + if (r < Number.EPSILON) { + r = 0; + if (Math.abs(vFrom.x) > Math.abs(vFrom.z)) { + this._x = -vFrom.y; + this._y = vFrom.x; + this._z = 0; + this._w = r; + } else { + this._x = 0; + this._y = -vFrom.z; + this._z = vFrom.y; + this._w = r; + } + } else { + this._x = vFrom.y * vTo.z - vFrom.z * vTo.y; + this._y = vFrom.z * vTo.x - vFrom.x * vTo.z; + this._z = vFrom.x * vTo.y - vFrom.y * vTo.x; + this._w = r; + } + return this.normalize(); + } + angleTo(q) { + return 2 * Math.acos(Math.abs(clamp(this.dot(q), -1, 1))); + } + rotateTowards(q, step) { + const angle = this.angleTo(q); + if (angle === 0) + return this; + const t = Math.min(1, step / angle); + this.slerp(q, t); + return this; + } + identity() { + return this.set(0, 0, 0, 1); + } + invert() { + return this.conjugate(); + } + conjugate() { + this._x *= -1; + this._y *= -1; + this._z *= -1; + this._onChangeCallback(); + return this; + } + dot(v) { + return this._x * v._x + this._y * v._y + this._z * v._z + this._w * v._w; + } + lengthSq() { + return this._x * this._x + this._y * this._y + this._z * this._z + this._w * this._w; + } + length() { + return Math.sqrt(this._x * this._x + this._y * this._y + this._z * this._z + this._w * this._w); + } + normalize() { + let l = this.length(); + if (l === 0) { + this._x = 0; + this._y = 0; + this._z = 0; + this._w = 1; + } else { + l = 1 / l; + this._x = this._x * l; + this._y = this._y * l; + this._z = this._z * l; + this._w = this._w * l; + } + this._onChangeCallback(); + return this; + } + multiply(q) { + return this.multiplyQuaternions(this, q); + } + premultiply(q) { + return this.multiplyQuaternions(q, this); + } + multiplyQuaternions(a2, b) { + const qax = a2._x, qay = a2._y, qaz = a2._z, qaw = a2._w; + const qbx = b._x, qby = b._y, qbz = b._z, qbw = b._w; + this._x = qax * qbw + qaw * qbx + qay * qbz - qaz * qby; + this._y = qay * qbw + qaw * qby + qaz * qbx - qax * qbz; + this._z = qaz * qbw + qaw * qbz + qax * qby - qay * qbx; + this._w = qaw * qbw - qax * qbx - qay * qby - qaz * qbz; + this._onChangeCallback(); + return this; + } + slerp(qb, t) { + if (t === 0) + return this; + if (t === 1) + return this.copy(qb); + const x2 = this._x, y2 = this._y, z2 = this._z, w = this._w; + let cosHalfTheta = w * qb._w + x2 * qb._x + y2 * qb._y + z2 * qb._z; + if (cosHalfTheta < 0) { + this._w = -qb._w; + this._x = -qb._x; + this._y = -qb._y; + this._z = -qb._z; + cosHalfTheta = -cosHalfTheta; + } else { + this.copy(qb); + } + if (cosHalfTheta >= 1) { + this._w = w; + this._x = x2; + this._y = y2; + this._z = z2; + return this; + } + const sqrSinHalfTheta = 1 - cosHalfTheta * cosHalfTheta; + if (sqrSinHalfTheta <= Number.EPSILON) { + const s = 1 - t; + this._w = s * w + t * this._w; + this._x = s * x2 + t * this._x; + this._y = s * y2 + t * this._y; + this._z = s * z2 + t * this._z; + this.normalize(); + this._onChangeCallback(); + return this; + } + const sinHalfTheta = Math.sqrt(sqrSinHalfTheta); + const halfTheta = Math.atan2(sinHalfTheta, cosHalfTheta); + const ratioA = Math.sin((1 - t) * halfTheta) / sinHalfTheta, ratioB = Math.sin(t * halfTheta) / sinHalfTheta; + this._w = w * ratioA + this._w * ratioB; + this._x = x2 * ratioA + this._x * ratioB; + this._y = y2 * ratioA + this._y * ratioB; + this._z = z2 * ratioA + this._z * ratioB; + this._onChangeCallback(); + return this; + } + slerpQuaternions(qa, qb, t) { + return this.copy(qa).slerp(qb, t); + } + random() { + const u1 = Math.random(); + const sqrt1u1 = Math.sqrt(1 - u1); + const sqrtu1 = Math.sqrt(u1); + const u2 = 2 * Math.PI * Math.random(); + const u3 = 2 * Math.PI * Math.random(); + return this.set(sqrt1u1 * Math.cos(u2), sqrtu1 * Math.sin(u3), sqrtu1 * Math.cos(u3), sqrt1u1 * Math.sin(u2)); + } + equals(quaternion) { + return quaternion._x === this._x && quaternion._y === this._y && quaternion._z === this._z && quaternion._w === this._w; + } + fromArray(array, offset = 0) { + this._x = array[offset]; + this._y = array[offset + 1]; + this._z = array[offset + 2]; + this._w = array[offset + 3]; + this._onChangeCallback(); + return this; + } + toArray(array = [], offset = 0) { + array[offset] = this._x; + array[offset + 1] = this._y; + array[offset + 2] = this._z; + array[offset + 3] = this._w; + return array; + } + fromBufferAttribute(attribute, index5) { + this._x = attribute.getX(index5); + this._y = attribute.getY(index5); + this._z = attribute.getZ(index5); + this._w = attribute.getW(index5); + return this; + } + _onChange(callback) { + this._onChangeCallback = callback; + return this; + } + _onChangeCallback() { + } + *[Symbol.iterator]() { + yield this._x; + yield this._y; + yield this._z; + yield this._w; + } +}; +var Vector3 = class { + constructor(x2 = 0, y2 = 0, z2 = 0) { + Vector3.prototype.isVector3 = true; + this.x = x2; + this.y = y2; + this.z = z2; + } + set(x2, y2, z2) { + if (z2 === void 0) + z2 = this.z; + this.x = x2; + this.y = y2; + this.z = z2; + return this; + } + setScalar(scalar) { + this.x = scalar; + this.y = scalar; + this.z = scalar; + return this; + } + setX(x2) { + this.x = x2; + return this; + } + setY(y2) { + this.y = y2; + return this; + } + setZ(z2) { + this.z = z2; + return this; + } + setComponent(index5, value) { + switch (index5) { + case 0: + this.x = value; + break; + case 1: + this.y = value; + break; + case 2: + this.z = value; + break; + default: + throw new Error("index is out of range: " + index5); + } + return this; + } + getComponent(index5) { + switch (index5) { + case 0: + return this.x; + case 1: + return this.y; + case 2: + return this.z; + default: + throw new Error("index is out of range: " + index5); + } + } + clone() { + return new this.constructor(this.x, this.y, this.z); + } + copy(v) { + this.x = v.x; + this.y = v.y; + this.z = v.z; + return this; + } + add(v) { + this.x += v.x; + this.y += v.y; + this.z += v.z; + return this; + } + addScalar(s) { + this.x += s; + this.y += s; + this.z += s; + return this; + } + addVectors(a2, b) { + this.x = a2.x + b.x; + this.y = a2.y + b.y; + this.z = a2.z + b.z; + return this; + } + addScaledVector(v, s) { + this.x += v.x * s; + this.y += v.y * s; + this.z += v.z * s; + return this; + } + sub(v) { + this.x -= v.x; + this.y -= v.y; + this.z -= v.z; + return this; + } + subScalar(s) { + this.x -= s; + this.y -= s; + this.z -= s; + return this; + } + subVectors(a2, b) { + this.x = a2.x - b.x; + this.y = a2.y - b.y; + this.z = a2.z - b.z; + return this; + } + multiply(v) { + this.x *= v.x; + this.y *= v.y; + this.z *= v.z; + return this; + } + multiplyScalar(scalar) { + this.x *= scalar; + this.y *= scalar; + this.z *= scalar; + return this; + } + multiplyVectors(a2, b) { + this.x = a2.x * b.x; + this.y = a2.y * b.y; + this.z = a2.z * b.z; + return this; + } + applyEuler(euler) { + return this.applyQuaternion(_quaternion$4.setFromEuler(euler)); + } + applyAxisAngle(axis, angle) { + return this.applyQuaternion(_quaternion$4.setFromAxisAngle(axis, angle)); + } + applyMatrix3(m2) { + const x2 = this.x, y2 = this.y, z2 = this.z; + const e = m2.elements; + this.x = e[0] * x2 + e[3] * y2 + e[6] * z2; + this.y = e[1] * x2 + e[4] * y2 + e[7] * z2; + this.z = e[2] * x2 + e[5] * y2 + e[8] * z2; + return this; + } + applyNormalMatrix(m2) { + return this.applyMatrix3(m2).normalize(); + } + applyMatrix4(m2) { + const x2 = this.x, y2 = this.y, z2 = this.z; + const e = m2.elements; + const w = 1 / (e[3] * x2 + e[7] * y2 + e[11] * z2 + e[15]); + this.x = (e[0] * x2 + e[4] * y2 + e[8] * z2 + e[12]) * w; + this.y = (e[1] * x2 + e[5] * y2 + e[9] * z2 + e[13]) * w; + this.z = (e[2] * x2 + e[6] * y2 + e[10] * z2 + e[14]) * w; + return this; + } + applyQuaternion(q) { + const x2 = this.x, y2 = this.y, z2 = this.z; + const qx = q.x, qy = q.y, qz = q.z, qw = q.w; + const ix = qw * x2 + qy * z2 - qz * y2; + const iy = qw * y2 + qz * x2 - qx * z2; + const iz = qw * z2 + qx * y2 - qy * x2; + const iw = -qx * x2 - qy * y2 - qz * z2; + this.x = ix * qw + iw * -qx + iy * -qz - iz * -qy; + this.y = iy * qw + iw * -qy + iz * -qx - ix * -qz; + this.z = iz * qw + iw * -qz + ix * -qy - iy * -qx; + return this; + } + project(camera3) { + return this.applyMatrix4(camera3.matrixWorldInverse).applyMatrix4(camera3.projectionMatrix); + } + unproject(camera3) { + return this.applyMatrix4(camera3.projectionMatrixInverse).applyMatrix4(camera3.matrixWorld); + } + transformDirection(m2) { + const x2 = this.x, y2 = this.y, z2 = this.z; + const e = m2.elements; + this.x = e[0] * x2 + e[4] * y2 + e[8] * z2; + this.y = e[1] * x2 + e[5] * y2 + e[9] * z2; + this.z = e[2] * x2 + e[6] * y2 + e[10] * z2; + return this.normalize(); + } + divide(v) { + this.x /= v.x; + this.y /= v.y; + this.z /= v.z; + return this; + } + divideScalar(scalar) { + return this.multiplyScalar(1 / scalar); + } + min(v) { + this.x = Math.min(this.x, v.x); + this.y = Math.min(this.y, v.y); + this.z = Math.min(this.z, v.z); + return this; + } + max(v) { + this.x = Math.max(this.x, v.x); + this.y = Math.max(this.y, v.y); + this.z = Math.max(this.z, v.z); + return this; + } + clamp(min2, max2) { + this.x = Math.max(min2.x, Math.min(max2.x, this.x)); + this.y = Math.max(min2.y, Math.min(max2.y, this.y)); + this.z = Math.max(min2.z, Math.min(max2.z, this.z)); + return this; + } + clampScalar(minVal, maxVal) { + this.x = Math.max(minVal, Math.min(maxVal, this.x)); + this.y = Math.max(minVal, Math.min(maxVal, this.y)); + this.z = Math.max(minVal, Math.min(maxVal, this.z)); + return this; + } + clampLength(min2, max2) { + const length = this.length(); + return this.divideScalar(length || 1).multiplyScalar(Math.max(min2, Math.min(max2, length))); + } + floor() { + this.x = Math.floor(this.x); + this.y = Math.floor(this.y); + this.z = Math.floor(this.z); + return this; + } + ceil() { + this.x = Math.ceil(this.x); + this.y = Math.ceil(this.y); + this.z = Math.ceil(this.z); + return this; + } + round() { + this.x = Math.round(this.x); + this.y = Math.round(this.y); + this.z = Math.round(this.z); + return this; + } + roundToZero() { + this.x = this.x < 0 ? Math.ceil(this.x) : Math.floor(this.x); + this.y = this.y < 0 ? Math.ceil(this.y) : Math.floor(this.y); + this.z = this.z < 0 ? Math.ceil(this.z) : Math.floor(this.z); + return this; + } + negate() { + this.x = -this.x; + this.y = -this.y; + this.z = -this.z; + return this; + } + dot(v) { + return this.x * v.x + this.y * v.y + this.z * v.z; + } + lengthSq() { + return this.x * this.x + this.y * this.y + this.z * this.z; + } + length() { + return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z); + } + manhattanLength() { + return Math.abs(this.x) + Math.abs(this.y) + Math.abs(this.z); + } + normalize() { + return this.divideScalar(this.length() || 1); + } + setLength(length) { + return this.normalize().multiplyScalar(length); + } + lerp(v, alpha) { + this.x += (v.x - this.x) * alpha; + this.y += (v.y - this.y) * alpha; + this.z += (v.z - this.z) * alpha; + return this; + } + lerpVectors(v1, v2, alpha) { + this.x = v1.x + (v2.x - v1.x) * alpha; + this.y = v1.y + (v2.y - v1.y) * alpha; + this.z = v1.z + (v2.z - v1.z) * alpha; + return this; + } + cross(v) { + return this.crossVectors(this, v); + } + crossVectors(a2, b) { + const ax = a2.x, ay = a2.y, az = a2.z; + const bx = b.x, by = b.y, bz = b.z; + this.x = ay * bz - az * by; + this.y = az * bx - ax * bz; + this.z = ax * by - ay * bx; + return this; + } + projectOnVector(v) { + const denominator = v.lengthSq(); + if (denominator === 0) + return this.set(0, 0, 0); + const scalar = v.dot(this) / denominator; + return this.copy(v).multiplyScalar(scalar); + } + projectOnPlane(planeNormal) { + _vector$c.copy(this).projectOnVector(planeNormal); + return this.sub(_vector$c); + } + reflect(normal) { + return this.sub(_vector$c.copy(normal).multiplyScalar(2 * this.dot(normal))); + } + angleTo(v) { + const denominator = Math.sqrt(this.lengthSq() * v.lengthSq()); + if (denominator === 0) + return Math.PI / 2; + const theta = this.dot(v) / denominator; + return Math.acos(clamp(theta, -1, 1)); + } + distanceTo(v) { + return Math.sqrt(this.distanceToSquared(v)); + } + distanceToSquared(v) { + const dx = this.x - v.x, dy = this.y - v.y, dz = this.z - v.z; + return dx * dx + dy * dy + dz * dz; + } + manhattanDistanceTo(v) { + return Math.abs(this.x - v.x) + Math.abs(this.y - v.y) + Math.abs(this.z - v.z); + } + setFromSpherical(s) { + return this.setFromSphericalCoords(s.radius, s.phi, s.theta); + } + setFromSphericalCoords(radius, phi, theta) { + const sinPhiRadius = Math.sin(phi) * radius; + this.x = sinPhiRadius * Math.sin(theta); + this.y = Math.cos(phi) * radius; + this.z = sinPhiRadius * Math.cos(theta); + return this; + } + setFromCylindrical(c2) { + return this.setFromCylindricalCoords(c2.radius, c2.theta, c2.y); + } + setFromCylindricalCoords(radius, theta, y2) { + this.x = radius * Math.sin(theta); + this.y = y2; + this.z = radius * Math.cos(theta); + return this; + } + setFromMatrixPosition(m2) { + const e = m2.elements; + this.x = e[12]; + this.y = e[13]; + this.z = e[14]; + return this; + } + setFromMatrixScale(m2) { + const sx = this.setFromMatrixColumn(m2, 0).length(); + const sy = this.setFromMatrixColumn(m2, 1).length(); + const sz = this.setFromMatrixColumn(m2, 2).length(); + this.x = sx; + this.y = sy; + this.z = sz; + return this; + } + setFromMatrixColumn(m2, index5) { + return this.fromArray(m2.elements, index5 * 4); + } + setFromMatrix3Column(m2, index5) { + return this.fromArray(m2.elements, index5 * 3); + } + setFromEuler(e) { + this.x = e._x; + this.y = e._y; + this.z = e._z; + return this; + } + equals(v) { + return v.x === this.x && v.y === this.y && v.z === this.z; + } + fromArray(array, offset = 0) { + this.x = array[offset]; + this.y = array[offset + 1]; + this.z = array[offset + 2]; + return this; + } + toArray(array = [], offset = 0) { + array[offset] = this.x; + array[offset + 1] = this.y; + array[offset + 2] = this.z; + return array; + } + fromBufferAttribute(attribute, index5) { + this.x = attribute.getX(index5); + this.y = attribute.getY(index5); + this.z = attribute.getZ(index5); + return this; + } + random() { + this.x = Math.random(); + this.y = Math.random(); + this.z = Math.random(); + return this; + } + randomDirection() { + const u = (Math.random() - 0.5) * 2; + const t = Math.random() * Math.PI * 2; + const f = Math.sqrt(1 - u ** 2); + this.x = f * Math.cos(t); + this.y = f * Math.sin(t); + this.z = u; + return this; + } + *[Symbol.iterator]() { + yield this.x; + yield this.y; + yield this.z; + } +}; +var _vector$c = /* @__PURE__ */ new Vector3(); +var _quaternion$4 = /* @__PURE__ */ new Quaternion(); +var Box3 = class { + constructor(min2 = new Vector3(Infinity, Infinity, Infinity), max2 = new Vector3(-Infinity, -Infinity, -Infinity)) { + this.isBox3 = true; + this.min = min2; + this.max = max2; + } + set(min2, max2) { + this.min.copy(min2); + this.max.copy(max2); + return this; + } + setFromArray(array) { + let minX = Infinity; + let minY = Infinity; + let minZ = Infinity; + let maxX = -Infinity; + let maxY = -Infinity; + let maxZ = -Infinity; + for (let i = 0, l = array.length; i < l; i += 3) { + const x2 = array[i]; + const y2 = array[i + 1]; + const z2 = array[i + 2]; + if (x2 < minX) + minX = x2; + if (y2 < minY) + minY = y2; + if (z2 < minZ) + minZ = z2; + if (x2 > maxX) + maxX = x2; + if (y2 > maxY) + maxY = y2; + if (z2 > maxZ) + maxZ = z2; + } + this.min.set(minX, minY, minZ); + this.max.set(maxX, maxY, maxZ); + return this; + } + setFromBufferAttribute(attribute) { + let minX = Infinity; + let minY = Infinity; + let minZ = Infinity; + let maxX = -Infinity; + let maxY = -Infinity; + let maxZ = -Infinity; + for (let i = 0, l = attribute.count; i < l; i++) { + const x2 = attribute.getX(i); + const y2 = attribute.getY(i); + const z2 = attribute.getZ(i); + if (x2 < minX) + minX = x2; + if (y2 < minY) + minY = y2; + if (z2 < minZ) + minZ = z2; + if (x2 > maxX) + maxX = x2; + if (y2 > maxY) + maxY = y2; + if (z2 > maxZ) + maxZ = z2; + } + this.min.set(minX, minY, minZ); + this.max.set(maxX, maxY, maxZ); + return this; + } + setFromPoints(points) { + this.makeEmpty(); + for (let i = 0, il = points.length; i < il; i++) { + this.expandByPoint(points[i]); + } + return this; + } + setFromCenterAndSize(center, size) { + const halfSize = _vector$b.copy(size).multiplyScalar(0.5); + this.min.copy(center).sub(halfSize); + this.max.copy(center).add(halfSize); + return this; + } + setFromObject(object, precise = false) { + this.makeEmpty(); + return this.expandByObject(object, precise); + } + clone() { + return new this.constructor().copy(this); + } + copy(box) { + this.min.copy(box.min); + this.max.copy(box.max); + return this; + } + makeEmpty() { + this.min.x = this.min.y = this.min.z = Infinity; + this.max.x = this.max.y = this.max.z = -Infinity; + return this; + } + isEmpty() { + return this.max.x < this.min.x || this.max.y < this.min.y || this.max.z < this.min.z; + } + getCenter(target) { + return this.isEmpty() ? target.set(0, 0, 0) : target.addVectors(this.min, this.max).multiplyScalar(0.5); + } + getSize(target) { + return this.isEmpty() ? target.set(0, 0, 0) : target.subVectors(this.max, this.min); + } + expandByPoint(point) { + this.min.min(point); + this.max.max(point); + return this; + } + expandByVector(vector) { + this.min.sub(vector); + this.max.add(vector); + return this; + } + expandByScalar(scalar) { + this.min.addScalar(-scalar); + this.max.addScalar(scalar); + return this; + } + expandByObject(object, precise = false) { + object.updateWorldMatrix(false, false); + const geometry = object.geometry; + if (geometry !== void 0) { + if (precise && geometry.attributes != void 0 && geometry.attributes.position !== void 0) { + const position = geometry.attributes.position; + for (let i = 0, l = position.count; i < l; i++) { + _vector$b.fromBufferAttribute(position, i).applyMatrix4(object.matrixWorld); + this.expandByPoint(_vector$b); + } + } else { + if (geometry.boundingBox === null) { + geometry.computeBoundingBox(); + } + _box$3.copy(geometry.boundingBox); + _box$3.applyMatrix4(object.matrixWorld); + this.union(_box$3); + } + } + const children = object.children; + for (let i = 0, l = children.length; i < l; i++) { + this.expandByObject(children[i], precise); + } + return this; + } + containsPoint(point) { + return point.x < this.min.x || point.x > this.max.x || point.y < this.min.y || point.y > this.max.y || point.z < this.min.z || point.z > this.max.z ? false : true; + } + containsBox(box) { + return this.min.x <= box.min.x && box.max.x <= this.max.x && this.min.y <= box.min.y && box.max.y <= this.max.y && this.min.z <= box.min.z && box.max.z <= this.max.z; + } + getParameter(point, target) { + return target.set((point.x - this.min.x) / (this.max.x - this.min.x), (point.y - this.min.y) / (this.max.y - this.min.y), (point.z - this.min.z) / (this.max.z - this.min.z)); + } + intersectsBox(box) { + return box.max.x < this.min.x || box.min.x > this.max.x || box.max.y < this.min.y || box.min.y > this.max.y || box.max.z < this.min.z || box.min.z > this.max.z ? false : true; + } + intersectsSphere(sphere) { + this.clampPoint(sphere.center, _vector$b); + return _vector$b.distanceToSquared(sphere.center) <= sphere.radius * sphere.radius; + } + intersectsPlane(plane) { + let min2, max2; + if (plane.normal.x > 0) { + min2 = plane.normal.x * this.min.x; + max2 = plane.normal.x * this.max.x; + } else { + min2 = plane.normal.x * this.max.x; + max2 = plane.normal.x * this.min.x; + } + if (plane.normal.y > 0) { + min2 += plane.normal.y * this.min.y; + max2 += plane.normal.y * this.max.y; + } else { + min2 += plane.normal.y * this.max.y; + max2 += plane.normal.y * this.min.y; + } + if (plane.normal.z > 0) { + min2 += plane.normal.z * this.min.z; + max2 += plane.normal.z * this.max.z; + } else { + min2 += plane.normal.z * this.max.z; + max2 += plane.normal.z * this.min.z; + } + return min2 <= -plane.constant && max2 >= -plane.constant; + } + intersectsTriangle(triangle) { + if (this.isEmpty()) { + return false; + } + this.getCenter(_center); + _extents.subVectors(this.max, _center); + _v0$2.subVectors(triangle.a, _center); + _v1$7.subVectors(triangle.b, _center); + _v2$4.subVectors(triangle.c, _center); + _f0.subVectors(_v1$7, _v0$2); + _f1.subVectors(_v2$4, _v1$7); + _f2.subVectors(_v0$2, _v2$4); + let axes = [ + 0, + -_f0.z, + _f0.y, + 0, + -_f1.z, + _f1.y, + 0, + -_f2.z, + _f2.y, + _f0.z, + 0, + -_f0.x, + _f1.z, + 0, + -_f1.x, + _f2.z, + 0, + -_f2.x, + -_f0.y, + _f0.x, + 0, + -_f1.y, + _f1.x, + 0, + -_f2.y, + _f2.x, + 0 + ]; + if (!satForAxes(axes, _v0$2, _v1$7, _v2$4, _extents)) { + return false; + } + axes = [1, 0, 0, 0, 1, 0, 0, 0, 1]; + if (!satForAxes(axes, _v0$2, _v1$7, _v2$4, _extents)) { + return false; + } + _triangleNormal.crossVectors(_f0, _f1); + axes = [_triangleNormal.x, _triangleNormal.y, _triangleNormal.z]; + return satForAxes(axes, _v0$2, _v1$7, _v2$4, _extents); + } + clampPoint(point, target) { + return target.copy(point).clamp(this.min, this.max); + } + distanceToPoint(point) { + const clampedPoint = _vector$b.copy(point).clamp(this.min, this.max); + return clampedPoint.sub(point).length(); + } + getBoundingSphere(target) { + this.getCenter(target.center); + target.radius = this.getSize(_vector$b).length() * 0.5; + return target; + } + intersect(box) { + this.min.max(box.min); + this.max.min(box.max); + if (this.isEmpty()) + this.makeEmpty(); + return this; + } + union(box) { + this.min.min(box.min); + this.max.max(box.max); + return this; + } + applyMatrix4(matrix) { + if (this.isEmpty()) + return this; + _points[0].set(this.min.x, this.min.y, this.min.z).applyMatrix4(matrix); + _points[1].set(this.min.x, this.min.y, this.max.z).applyMatrix4(matrix); + _points[2].set(this.min.x, this.max.y, this.min.z).applyMatrix4(matrix); + _points[3].set(this.min.x, this.max.y, this.max.z).applyMatrix4(matrix); + _points[4].set(this.max.x, this.min.y, this.min.z).applyMatrix4(matrix); + _points[5].set(this.max.x, this.min.y, this.max.z).applyMatrix4(matrix); + _points[6].set(this.max.x, this.max.y, this.min.z).applyMatrix4(matrix); + _points[7].set(this.max.x, this.max.y, this.max.z).applyMatrix4(matrix); + this.setFromPoints(_points); + return this; + } + translate(offset) { + this.min.add(offset); + this.max.add(offset); + return this; + } + equals(box) { + return box.min.equals(this.min) && box.max.equals(this.max); + } +}; +var _points = [ + /* @__PURE__ */ new Vector3(), + /* @__PURE__ */ new Vector3(), + /* @__PURE__ */ new Vector3(), + /* @__PURE__ */ new Vector3(), + /* @__PURE__ */ new Vector3(), + /* @__PURE__ */ new Vector3(), + /* @__PURE__ */ new Vector3(), + /* @__PURE__ */ new Vector3() +]; +var _vector$b = /* @__PURE__ */ new Vector3(); +var _box$3 = /* @__PURE__ */ new Box3(); +var _v0$2 = /* @__PURE__ */ new Vector3(); +var _v1$7 = /* @__PURE__ */ new Vector3(); +var _v2$4 = /* @__PURE__ */ new Vector3(); +var _f0 = /* @__PURE__ */ new Vector3(); +var _f1 = /* @__PURE__ */ new Vector3(); +var _f2 = /* @__PURE__ */ new Vector3(); +var _center = /* @__PURE__ */ new Vector3(); +var _extents = /* @__PURE__ */ new Vector3(); +var _triangleNormal = /* @__PURE__ */ new Vector3(); +var _testAxis = /* @__PURE__ */ new Vector3(); +function satForAxes(axes, v0, v1, v2, extents) { + for (let i = 0, j = axes.length - 3; i <= j; i += 3) { + _testAxis.fromArray(axes, i); + const r = extents.x * Math.abs(_testAxis.x) + extents.y * Math.abs(_testAxis.y) + extents.z * Math.abs(_testAxis.z); + const p0 = v0.dot(_testAxis); + const p1 = v1.dot(_testAxis); + const p2 = v2.dot(_testAxis); + if (Math.max(-Math.max(p0, p1, p2), Math.min(p0, p1, p2)) > r) { + return false; + } + } + return true; +} +var _box$2 = /* @__PURE__ */ new Box3(); +var _v1$6 = /* @__PURE__ */ new Vector3(); +var _v2$3 = /* @__PURE__ */ new Vector3(); +var Sphere = class { + constructor(center = new Vector3(), radius = -1) { + this.center = center; + this.radius = radius; + } + set(center, radius) { + this.center.copy(center); + this.radius = radius; + return this; + } + setFromPoints(points, optionalCenter) { + const center = this.center; + if (optionalCenter !== void 0) { + center.copy(optionalCenter); + } else { + _box$2.setFromPoints(points).getCenter(center); + } + let maxRadiusSq = 0; + for (let i = 0, il = points.length; i < il; i++) { + maxRadiusSq = Math.max(maxRadiusSq, center.distanceToSquared(points[i])); + } + this.radius = Math.sqrt(maxRadiusSq); + return this; + } + copy(sphere) { + this.center.copy(sphere.center); + this.radius = sphere.radius; + return this; + } + isEmpty() { + return this.radius < 0; + } + makeEmpty() { + this.center.set(0, 0, 0); + this.radius = -1; + return this; + } + containsPoint(point) { + return point.distanceToSquared(this.center) <= this.radius * this.radius; + } + distanceToPoint(point) { + return point.distanceTo(this.center) - this.radius; + } + intersectsSphere(sphere) { + const radiusSum = this.radius + sphere.radius; + return sphere.center.distanceToSquared(this.center) <= radiusSum * radiusSum; + } + intersectsBox(box) { + return box.intersectsSphere(this); + } + intersectsPlane(plane) { + return Math.abs(plane.distanceToPoint(this.center)) <= this.radius; + } + clampPoint(point, target) { + const deltaLengthSq = this.center.distanceToSquared(point); + target.copy(point); + if (deltaLengthSq > this.radius * this.radius) { + target.sub(this.center).normalize(); + target.multiplyScalar(this.radius).add(this.center); + } + return target; + } + getBoundingBox(target) { + if (this.isEmpty()) { + target.makeEmpty(); + return target; + } + target.set(this.center, this.center); + target.expandByScalar(this.radius); + return target; + } + applyMatrix4(matrix) { + this.center.applyMatrix4(matrix); + this.radius = this.radius * matrix.getMaxScaleOnAxis(); + return this; + } + translate(offset) { + this.center.add(offset); + return this; + } + expandByPoint(point) { + if (this.isEmpty()) { + this.center.copy(point); + this.radius = 0; + return this; + } + _v1$6.subVectors(point, this.center); + const lengthSq = _v1$6.lengthSq(); + if (lengthSq > this.radius * this.radius) { + const length = Math.sqrt(lengthSq); + const delta = (length - this.radius) * 0.5; + this.center.addScaledVector(_v1$6, delta / length); + this.radius += delta; + } + return this; + } + union(sphere) { + if (sphere.isEmpty()) { + return this; + } + if (this.isEmpty()) { + this.copy(sphere); + return this; + } + if (this.center.equals(sphere.center) === true) { + this.radius = Math.max(this.radius, sphere.radius); + } else { + _v2$3.subVectors(sphere.center, this.center).setLength(sphere.radius); + this.expandByPoint(_v1$6.copy(sphere.center).add(_v2$3)); + this.expandByPoint(_v1$6.copy(sphere.center).sub(_v2$3)); + } + return this; + } + equals(sphere) { + return sphere.center.equals(this.center) && sphere.radius === this.radius; + } + clone() { + return new this.constructor().copy(this); + } +}; +var _vector$a = /* @__PURE__ */ new Vector3(); +var _segCenter = /* @__PURE__ */ new Vector3(); +var _segDir = /* @__PURE__ */ new Vector3(); +var _diff = /* @__PURE__ */ new Vector3(); +var _edge1 = /* @__PURE__ */ new Vector3(); +var _edge2 = /* @__PURE__ */ new Vector3(); +var _normal$1 = /* @__PURE__ */ new Vector3(); +var Ray = class { + constructor(origin = new Vector3(), direction = new Vector3(0, 0, -1)) { + this.origin = origin; + this.direction = direction; + } + set(origin, direction) { + this.origin.copy(origin); + this.direction.copy(direction); + return this; + } + copy(ray) { + this.origin.copy(ray.origin); + this.direction.copy(ray.direction); + return this; + } + at(t, target) { + return target.copy(this.direction).multiplyScalar(t).add(this.origin); + } + lookAt(v) { + this.direction.copy(v).sub(this.origin).normalize(); + return this; + } + recast(t) { + this.origin.copy(this.at(t, _vector$a)); + return this; + } + closestPointToPoint(point, target) { + target.subVectors(point, this.origin); + const directionDistance = target.dot(this.direction); + if (directionDistance < 0) { + return target.copy(this.origin); + } + return target.copy(this.direction).multiplyScalar(directionDistance).add(this.origin); + } + distanceToPoint(point) { + return Math.sqrt(this.distanceSqToPoint(point)); + } + distanceSqToPoint(point) { + const directionDistance = _vector$a.subVectors(point, this.origin).dot(this.direction); + if (directionDistance < 0) { + return this.origin.distanceToSquared(point); + } + _vector$a.copy(this.direction).multiplyScalar(directionDistance).add(this.origin); + return _vector$a.distanceToSquared(point); + } + distanceSqToSegment(v0, v1, optionalPointOnRay, optionalPointOnSegment) { + _segCenter.copy(v0).add(v1).multiplyScalar(0.5); + _segDir.copy(v1).sub(v0).normalize(); + _diff.copy(this.origin).sub(_segCenter); + const segExtent = v0.distanceTo(v1) * 0.5; + const a01 = -this.direction.dot(_segDir); + const b0 = _diff.dot(this.direction); + const b1 = -_diff.dot(_segDir); + const c2 = _diff.lengthSq(); + const det = Math.abs(1 - a01 * a01); + let s0, s1, sqrDist, extDet; + if (det > 0) { + s0 = a01 * b1 - b0; + s1 = a01 * b0 - b1; + extDet = segExtent * det; + if (s0 >= 0) { + if (s1 >= -extDet) { + if (s1 <= extDet) { + const invDet = 1 / det; + s0 *= invDet; + s1 *= invDet; + sqrDist = s0 * (s0 + a01 * s1 + 2 * b0) + s1 * (a01 * s0 + s1 + 2 * b1) + c2; + } else { + s1 = segExtent; + s0 = Math.max(0, -(a01 * s1 + b0)); + sqrDist = -s0 * s0 + s1 * (s1 + 2 * b1) + c2; + } + } else { + s1 = -segExtent; + s0 = Math.max(0, -(a01 * s1 + b0)); + sqrDist = -s0 * s0 + s1 * (s1 + 2 * b1) + c2; + } + } else { + if (s1 <= -extDet) { + s0 = Math.max(0, -(-a01 * segExtent + b0)); + s1 = s0 > 0 ? -segExtent : Math.min(Math.max(-segExtent, -b1), segExtent); + sqrDist = -s0 * s0 + s1 * (s1 + 2 * b1) + c2; + } else if (s1 <= extDet) { + s0 = 0; + s1 = Math.min(Math.max(-segExtent, -b1), segExtent); + sqrDist = s1 * (s1 + 2 * b1) + c2; + } else { + s0 = Math.max(0, -(a01 * segExtent + b0)); + s1 = s0 > 0 ? segExtent : Math.min(Math.max(-segExtent, -b1), segExtent); + sqrDist = -s0 * s0 + s1 * (s1 + 2 * b1) + c2; + } + } + } else { + s1 = a01 > 0 ? -segExtent : segExtent; + s0 = Math.max(0, -(a01 * s1 + b0)); + sqrDist = -s0 * s0 + s1 * (s1 + 2 * b1) + c2; + } + if (optionalPointOnRay) { + optionalPointOnRay.copy(this.direction).multiplyScalar(s0).add(this.origin); + } + if (optionalPointOnSegment) { + optionalPointOnSegment.copy(_segDir).multiplyScalar(s1).add(_segCenter); + } + return sqrDist; + } + intersectSphere(sphere, target) { + _vector$a.subVectors(sphere.center, this.origin); + const tca = _vector$a.dot(this.direction); + const d2 = _vector$a.dot(_vector$a) - tca * tca; + const radius2 = sphere.radius * sphere.radius; + if (d2 > radius2) + return null; + const thc = Math.sqrt(radius2 - d2); + const t0 = tca - thc; + const t1 = tca + thc; + if (t0 < 0 && t1 < 0) + return null; + if (t0 < 0) + return this.at(t1, target); + return this.at(t0, target); + } + intersectsSphere(sphere) { + return this.distanceSqToPoint(sphere.center) <= sphere.radius * sphere.radius; + } + distanceToPlane(plane) { + const denominator = plane.normal.dot(this.direction); + if (denominator === 0) { + if (plane.distanceToPoint(this.origin) === 0) { + return 0; + } + return null; + } + const t = -(this.origin.dot(plane.normal) + plane.constant) / denominator; + return t >= 0 ? t : null; + } + intersectPlane(plane, target) { + const t = this.distanceToPlane(plane); + if (t === null) { + return null; + } + return this.at(t, target); + } + intersectsPlane(plane) { + const distToPoint = plane.distanceToPoint(this.origin); + if (distToPoint === 0) { + return true; + } + const denominator = plane.normal.dot(this.direction); + if (denominator * distToPoint < 0) { + return true; + } + return false; + } + intersectBox(box, target) { + let tmin, tmax, tymin, tymax, tzmin, tzmax; + const invdirx = 1 / this.direction.x, invdiry = 1 / this.direction.y, invdirz = 1 / this.direction.z; + const origin = this.origin; + if (invdirx >= 0) { + tmin = (box.min.x - origin.x) * invdirx; + tmax = (box.max.x - origin.x) * invdirx; + } else { + tmin = (box.max.x - origin.x) * invdirx; + tmax = (box.min.x - origin.x) * invdirx; + } + if (invdiry >= 0) { + tymin = (box.min.y - origin.y) * invdiry; + tymax = (box.max.y - origin.y) * invdiry; + } else { + tymin = (box.max.y - origin.y) * invdiry; + tymax = (box.min.y - origin.y) * invdiry; + } + if (tmin > tymax || tymin > tmax) + return null; + if (tymin > tmin || isNaN(tmin)) + tmin = tymin; + if (tymax < tmax || isNaN(tmax)) + tmax = tymax; + if (invdirz >= 0) { + tzmin = (box.min.z - origin.z) * invdirz; + tzmax = (box.max.z - origin.z) * invdirz; + } else { + tzmin = (box.max.z - origin.z) * invdirz; + tzmax = (box.min.z - origin.z) * invdirz; + } + if (tmin > tzmax || tzmin > tmax) + return null; + if (tzmin > tmin || tmin !== tmin) + tmin = tzmin; + if (tzmax < tmax || tmax !== tmax) + tmax = tzmax; + if (tmax < 0) + return null; + return this.at(tmin >= 0 ? tmin : tmax, target); + } + intersectsBox(box) { + return this.intersectBox(box, _vector$a) !== null; + } + intersectTriangle(a2, b, c2, backfaceCulling, target) { + _edge1.subVectors(b, a2); + _edge2.subVectors(c2, a2); + _normal$1.crossVectors(_edge1, _edge2); + let DdN = this.direction.dot(_normal$1); + let sign; + if (DdN > 0) { + if (backfaceCulling) + return null; + sign = 1; + } else if (DdN < 0) { + sign = -1; + DdN = -DdN; + } else { + return null; + } + _diff.subVectors(this.origin, a2); + const DdQxE2 = sign * this.direction.dot(_edge2.crossVectors(_diff, _edge2)); + if (DdQxE2 < 0) { + return null; + } + const DdE1xQ = sign * this.direction.dot(_edge1.cross(_diff)); + if (DdE1xQ < 0) { + return null; + } + if (DdQxE2 + DdE1xQ > DdN) { + return null; + } + const QdN = -sign * _diff.dot(_normal$1); + if (QdN < 0) { + return null; + } + return this.at(QdN / DdN, target); + } + applyMatrix4(matrix4) { + this.origin.applyMatrix4(matrix4); + this.direction.transformDirection(matrix4); + return this; + } + equals(ray) { + return ray.origin.equals(this.origin) && ray.direction.equals(this.direction); + } + clone() { + return new this.constructor().copy(this); + } +}; +var Matrix4 = class { + constructor() { + Matrix4.prototype.isMatrix4 = true; + this.elements = [ + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 1 + ]; + } + set(n11, n12, n13, n14, n21, n22, n23, n24, n31, n32, n33, n34, n41, n42, n43, n44) { + const te = this.elements; + te[0] = n11; + te[4] = n12; + te[8] = n13; + te[12] = n14; + te[1] = n21; + te[5] = n22; + te[9] = n23; + te[13] = n24; + te[2] = n31; + te[6] = n32; + te[10] = n33; + te[14] = n34; + te[3] = n41; + te[7] = n42; + te[11] = n43; + te[15] = n44; + return this; + } + identity() { + this.set(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); + return this; + } + clone() { + return new Matrix4().fromArray(this.elements); + } + copy(m2) { + const te = this.elements; + const me = m2.elements; + te[0] = me[0]; + te[1] = me[1]; + te[2] = me[2]; + te[3] = me[3]; + te[4] = me[4]; + te[5] = me[5]; + te[6] = me[6]; + te[7] = me[7]; + te[8] = me[8]; + te[9] = me[9]; + te[10] = me[10]; + te[11] = me[11]; + te[12] = me[12]; + te[13] = me[13]; + te[14] = me[14]; + te[15] = me[15]; + return this; + } + copyPosition(m2) { + const te = this.elements, me = m2.elements; + te[12] = me[12]; + te[13] = me[13]; + te[14] = me[14]; + return this; + } + setFromMatrix3(m2) { + const me = m2.elements; + this.set(me[0], me[3], me[6], 0, me[1], me[4], me[7], 0, me[2], me[5], me[8], 0, 0, 0, 0, 1); + return this; + } + extractBasis(xAxis, yAxis, zAxis) { + xAxis.setFromMatrixColumn(this, 0); + yAxis.setFromMatrixColumn(this, 1); + zAxis.setFromMatrixColumn(this, 2); + return this; + } + makeBasis(xAxis, yAxis, zAxis) { + this.set(xAxis.x, yAxis.x, zAxis.x, 0, xAxis.y, yAxis.y, zAxis.y, 0, xAxis.z, yAxis.z, zAxis.z, 0, 0, 0, 0, 1); + return this; + } + extractRotation(m2) { + const te = this.elements; + const me = m2.elements; + const scaleX = 1 / _v1$5.setFromMatrixColumn(m2, 0).length(); + const scaleY = 1 / _v1$5.setFromMatrixColumn(m2, 1).length(); + const scaleZ = 1 / _v1$5.setFromMatrixColumn(m2, 2).length(); + te[0] = me[0] * scaleX; + te[1] = me[1] * scaleX; + te[2] = me[2] * scaleX; + te[3] = 0; + te[4] = me[4] * scaleY; + te[5] = me[5] * scaleY; + te[6] = me[6] * scaleY; + te[7] = 0; + te[8] = me[8] * scaleZ; + te[9] = me[9] * scaleZ; + te[10] = me[10] * scaleZ; + te[11] = 0; + te[12] = 0; + te[13] = 0; + te[14] = 0; + te[15] = 1; + return this; + } + makeRotationFromEuler(euler) { + const te = this.elements; + const x2 = euler.x, y2 = euler.y, z2 = euler.z; + const a2 = Math.cos(x2), b = Math.sin(x2); + const c2 = Math.cos(y2), d = Math.sin(y2); + const e = Math.cos(z2), f = Math.sin(z2); + if (euler.order === "XYZ") { + const ae = a2 * e, af = a2 * f, be = b * e, bf = b * f; + te[0] = c2 * e; + te[4] = -c2 * f; + te[8] = d; + te[1] = af + be * d; + te[5] = ae - bf * d; + te[9] = -b * c2; + te[2] = bf - ae * d; + te[6] = be + af * d; + te[10] = a2 * c2; + } else if (euler.order === "YXZ") { + const ce = c2 * e, cf = c2 * f, de = d * e, df = d * f; + te[0] = ce + df * b; + te[4] = de * b - cf; + te[8] = a2 * d; + te[1] = a2 * f; + te[5] = a2 * e; + te[9] = -b; + te[2] = cf * b - de; + te[6] = df + ce * b; + te[10] = a2 * c2; + } else if (euler.order === "ZXY") { + const ce = c2 * e, cf = c2 * f, de = d * e, df = d * f; + te[0] = ce - df * b; + te[4] = -a2 * f; + te[8] = de + cf * b; + te[1] = cf + de * b; + te[5] = a2 * e; + te[9] = df - ce * b; + te[2] = -a2 * d; + te[6] = b; + te[10] = a2 * c2; + } else if (euler.order === "ZYX") { + const ae = a2 * e, af = a2 * f, be = b * e, bf = b * f; + te[0] = c2 * e; + te[4] = be * d - af; + te[8] = ae * d + bf; + te[1] = c2 * f; + te[5] = bf * d + ae; + te[9] = af * d - be; + te[2] = -d; + te[6] = b * c2; + te[10] = a2 * c2; + } else if (euler.order === "YZX") { + const ac = a2 * c2, ad = a2 * d, bc = b * c2, bd = b * d; + te[0] = c2 * e; + te[4] = bd - ac * f; + te[8] = bc * f + ad; + te[1] = f; + te[5] = a2 * e; + te[9] = -b * e; + te[2] = -d * e; + te[6] = ad * f + bc; + te[10] = ac - bd * f; + } else if (euler.order === "XZY") { + const ac = a2 * c2, ad = a2 * d, bc = b * c2, bd = b * d; + te[0] = c2 * e; + te[4] = -f; + te[8] = d * e; + te[1] = ac * f + bd; + te[5] = a2 * e; + te[9] = ad * f - bc; + te[2] = bc * f - ad; + te[6] = b * e; + te[10] = bd * f + ac; + } + te[3] = 0; + te[7] = 0; + te[11] = 0; + te[12] = 0; + te[13] = 0; + te[14] = 0; + te[15] = 1; + return this; + } + makeRotationFromQuaternion(q) { + return this.compose(_zero, q, _one); + } + lookAt(eye, target, up) { + const te = this.elements; + _z.subVectors(eye, target); + if (_z.lengthSq() === 0) { + _z.z = 1; + } + _z.normalize(); + _x.crossVectors(up, _z); + if (_x.lengthSq() === 0) { + if (Math.abs(up.z) === 1) { + _z.x += 1e-4; + } else { + _z.z += 1e-4; + } + _z.normalize(); + _x.crossVectors(up, _z); + } + _x.normalize(); + _y.crossVectors(_z, _x); + te[0] = _x.x; + te[4] = _y.x; + te[8] = _z.x; + te[1] = _x.y; + te[5] = _y.y; + te[9] = _z.y; + te[2] = _x.z; + te[6] = _y.z; + te[10] = _z.z; + return this; + } + multiply(m2) { + return this.multiplyMatrices(this, m2); + } + premultiply(m2) { + return this.multiplyMatrices(m2, this); + } + multiplyMatrices(a2, b) { + const ae = a2.elements; + const be = b.elements; + const te = this.elements; + const a11 = ae[0], a12 = ae[4], a13 = ae[8], a14 = ae[12]; + const a21 = ae[1], a22 = ae[5], a23 = ae[9], a24 = ae[13]; + const a31 = ae[2], a32 = ae[6], a33 = ae[10], a34 = ae[14]; + const a41 = ae[3], a42 = ae[7], a43 = ae[11], a44 = ae[15]; + const b11 = be[0], b12 = be[4], b13 = be[8], b14 = be[12]; + const b21 = be[1], b22 = be[5], b23 = be[9], b24 = be[13]; + const b31 = be[2], b32 = be[6], b33 = be[10], b34 = be[14]; + const b41 = be[3], b42 = be[7], b43 = be[11], b44 = be[15]; + te[0] = a11 * b11 + a12 * b21 + a13 * b31 + a14 * b41; + te[4] = a11 * b12 + a12 * b22 + a13 * b32 + a14 * b42; + te[8] = a11 * b13 + a12 * b23 + a13 * b33 + a14 * b43; + te[12] = a11 * b14 + a12 * b24 + a13 * b34 + a14 * b44; + te[1] = a21 * b11 + a22 * b21 + a23 * b31 + a24 * b41; + te[5] = a21 * b12 + a22 * b22 + a23 * b32 + a24 * b42; + te[9] = a21 * b13 + a22 * b23 + a23 * b33 + a24 * b43; + te[13] = a21 * b14 + a22 * b24 + a23 * b34 + a24 * b44; + te[2] = a31 * b11 + a32 * b21 + a33 * b31 + a34 * b41; + te[6] = a31 * b12 + a32 * b22 + a33 * b32 + a34 * b42; + te[10] = a31 * b13 + a32 * b23 + a33 * b33 + a34 * b43; + te[14] = a31 * b14 + a32 * b24 + a33 * b34 + a34 * b44; + te[3] = a41 * b11 + a42 * b21 + a43 * b31 + a44 * b41; + te[7] = a41 * b12 + a42 * b22 + a43 * b32 + a44 * b42; + te[11] = a41 * b13 + a42 * b23 + a43 * b33 + a44 * b43; + te[15] = a41 * b14 + a42 * b24 + a43 * b34 + a44 * b44; + return this; + } + multiplyScalar(s) { + const te = this.elements; + te[0] *= s; + te[4] *= s; + te[8] *= s; + te[12] *= s; + te[1] *= s; + te[5] *= s; + te[9] *= s; + te[13] *= s; + te[2] *= s; + te[6] *= s; + te[10] *= s; + te[14] *= s; + te[3] *= s; + te[7] *= s; + te[11] *= s; + te[15] *= s; + return this; + } + determinant() { + const te = this.elements; + const n11 = te[0], n12 = te[4], n13 = te[8], n14 = te[12]; + const n21 = te[1], n22 = te[5], n23 = te[9], n24 = te[13]; + const n31 = te[2], n32 = te[6], n33 = te[10], n34 = te[14]; + const n41 = te[3], n42 = te[7], n43 = te[11], n44 = te[15]; + return n41 * (+n14 * n23 * n32 - n13 * n24 * n32 - n14 * n22 * n33 + n12 * n24 * n33 + n13 * n22 * n34 - n12 * n23 * n34) + n42 * (+n11 * n23 * n34 - n11 * n24 * n33 + n14 * n21 * n33 - n13 * n21 * n34 + n13 * n24 * n31 - n14 * n23 * n31) + n43 * (+n11 * n24 * n32 - n11 * n22 * n34 - n14 * n21 * n32 + n12 * n21 * n34 + n14 * n22 * n31 - n12 * n24 * n31) + n44 * (-n13 * n22 * n31 - n11 * n23 * n32 + n11 * n22 * n33 + n13 * n21 * n32 - n12 * n21 * n33 + n12 * n23 * n31); + } + transpose() { + const te = this.elements; + let tmp2; + tmp2 = te[1]; + te[1] = te[4]; + te[4] = tmp2; + tmp2 = te[2]; + te[2] = te[8]; + te[8] = tmp2; + tmp2 = te[6]; + te[6] = te[9]; + te[9] = tmp2; + tmp2 = te[3]; + te[3] = te[12]; + te[12] = tmp2; + tmp2 = te[7]; + te[7] = te[13]; + te[13] = tmp2; + tmp2 = te[11]; + te[11] = te[14]; + te[14] = tmp2; + return this; + } + setPosition(x2, y2, z2) { + const te = this.elements; + if (x2.isVector3) { + te[12] = x2.x; + te[13] = x2.y; + te[14] = x2.z; + } else { + te[12] = x2; + te[13] = y2; + te[14] = z2; + } + return this; + } + invert() { + const te = this.elements, n11 = te[0], n21 = te[1], n31 = te[2], n41 = te[3], n12 = te[4], n22 = te[5], n32 = te[6], n42 = te[7], n13 = te[8], n23 = te[9], n33 = te[10], n43 = te[11], n14 = te[12], n24 = te[13], n34 = te[14], n44 = te[15], t11 = n23 * n34 * n42 - n24 * n33 * n42 + n24 * n32 * n43 - n22 * n34 * n43 - n23 * n32 * n44 + n22 * n33 * n44, t12 = n14 * n33 * n42 - n13 * n34 * n42 - n14 * n32 * n43 + n12 * n34 * n43 + n13 * n32 * n44 - n12 * n33 * n44, t13 = n13 * n24 * n42 - n14 * n23 * n42 + n14 * n22 * n43 - n12 * n24 * n43 - n13 * n22 * n44 + n12 * n23 * n44, t14 = n14 * n23 * n32 - n13 * n24 * n32 - n14 * n22 * n33 + n12 * n24 * n33 + n13 * n22 * n34 - n12 * n23 * n34; + const det = n11 * t11 + n21 * t12 + n31 * t13 + n41 * t14; + if (det === 0) + return this.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); + const detInv = 1 / det; + te[0] = t11 * detInv; + te[1] = (n24 * n33 * n41 - n23 * n34 * n41 - n24 * n31 * n43 + n21 * n34 * n43 + n23 * n31 * n44 - n21 * n33 * n44) * detInv; + te[2] = (n22 * n34 * n41 - n24 * n32 * n41 + n24 * n31 * n42 - n21 * n34 * n42 - n22 * n31 * n44 + n21 * n32 * n44) * detInv; + te[3] = (n23 * n32 * n41 - n22 * n33 * n41 - n23 * n31 * n42 + n21 * n33 * n42 + n22 * n31 * n43 - n21 * n32 * n43) * detInv; + te[4] = t12 * detInv; + te[5] = (n13 * n34 * n41 - n14 * n33 * n41 + n14 * n31 * n43 - n11 * n34 * n43 - n13 * n31 * n44 + n11 * n33 * n44) * detInv; + te[6] = (n14 * n32 * n41 - n12 * n34 * n41 - n14 * n31 * n42 + n11 * n34 * n42 + n12 * n31 * n44 - n11 * n32 * n44) * detInv; + te[7] = (n12 * n33 * n41 - n13 * n32 * n41 + n13 * n31 * n42 - n11 * n33 * n42 - n12 * n31 * n43 + n11 * n32 * n43) * detInv; + te[8] = t13 * detInv; + te[9] = (n14 * n23 * n41 - n13 * n24 * n41 - n14 * n21 * n43 + n11 * n24 * n43 + n13 * n21 * n44 - n11 * n23 * n44) * detInv; + te[10] = (n12 * n24 * n41 - n14 * n22 * n41 + n14 * n21 * n42 - n11 * n24 * n42 - n12 * n21 * n44 + n11 * n22 * n44) * detInv; + te[11] = (n13 * n22 * n41 - n12 * n23 * n41 - n13 * n21 * n42 + n11 * n23 * n42 + n12 * n21 * n43 - n11 * n22 * n43) * detInv; + te[12] = t14 * detInv; + te[13] = (n13 * n24 * n31 - n14 * n23 * n31 + n14 * n21 * n33 - n11 * n24 * n33 - n13 * n21 * n34 + n11 * n23 * n34) * detInv; + te[14] = (n14 * n22 * n31 - n12 * n24 * n31 - n14 * n21 * n32 + n11 * n24 * n32 + n12 * n21 * n34 - n11 * n22 * n34) * detInv; + te[15] = (n12 * n23 * n31 - n13 * n22 * n31 + n13 * n21 * n32 - n11 * n23 * n32 - n12 * n21 * n33 + n11 * n22 * n33) * detInv; + return this; + } + scale(v) { + const te = this.elements; + const x2 = v.x, y2 = v.y, z2 = v.z; + te[0] *= x2; + te[4] *= y2; + te[8] *= z2; + te[1] *= x2; + te[5] *= y2; + te[9] *= z2; + te[2] *= x2; + te[6] *= y2; + te[10] *= z2; + te[3] *= x2; + te[7] *= y2; + te[11] *= z2; + return this; + } + getMaxScaleOnAxis() { + const te = this.elements; + const scaleXSq = te[0] * te[0] + te[1] * te[1] + te[2] * te[2]; + const scaleYSq = te[4] * te[4] + te[5] * te[5] + te[6] * te[6]; + const scaleZSq = te[8] * te[8] + te[9] * te[9] + te[10] * te[10]; + return Math.sqrt(Math.max(scaleXSq, scaleYSq, scaleZSq)); + } + makeTranslation(x2, y2, z2) { + this.set(1, 0, 0, x2, 0, 1, 0, y2, 0, 0, 1, z2, 0, 0, 0, 1); + return this; + } + makeRotationX(theta) { + const c2 = Math.cos(theta), s = Math.sin(theta); + this.set(1, 0, 0, 0, 0, c2, -s, 0, 0, s, c2, 0, 0, 0, 0, 1); + return this; + } + makeRotationY(theta) { + const c2 = Math.cos(theta), s = Math.sin(theta); + this.set(c2, 0, s, 0, 0, 1, 0, 0, -s, 0, c2, 0, 0, 0, 0, 1); + return this; + } + makeRotationZ(theta) { + const c2 = Math.cos(theta), s = Math.sin(theta); + this.set(c2, -s, 0, 0, s, c2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); + return this; + } + makeRotationAxis(axis, angle) { + const c2 = Math.cos(angle); + const s = Math.sin(angle); + const t = 1 - c2; + const x2 = axis.x, y2 = axis.y, z2 = axis.z; + const tx = t * x2, ty = t * y2; + this.set(tx * x2 + c2, tx * y2 - s * z2, tx * z2 + s * y2, 0, tx * y2 + s * z2, ty * y2 + c2, ty * z2 - s * x2, 0, tx * z2 - s * y2, ty * z2 + s * x2, t * z2 * z2 + c2, 0, 0, 0, 0, 1); + return this; + } + makeScale(x2, y2, z2) { + this.set(x2, 0, 0, 0, 0, y2, 0, 0, 0, 0, z2, 0, 0, 0, 0, 1); + return this; + } + makeShear(xy, xz, yx, yz, zx, zy) { + this.set(1, yx, zx, 0, xy, 1, zy, 0, xz, yz, 1, 0, 0, 0, 0, 1); + return this; + } + compose(position, quaternion, scale) { + const te = this.elements; + const x2 = quaternion._x, y2 = quaternion._y, z2 = quaternion._z, w = quaternion._w; + const x22 = x2 + x2, y22 = y2 + y2, z22 = z2 + z2; + const xx = x2 * x22, xy = x2 * y22, xz = x2 * z22; + const yy = y2 * y22, yz = y2 * z22, zz = z2 * z22; + const wx = w * x22, wy = w * y22, wz = w * z22; + const sx = scale.x, sy = scale.y, sz = scale.z; + te[0] = (1 - (yy + zz)) * sx; + te[1] = (xy + wz) * sx; + te[2] = (xz - wy) * sx; + te[3] = 0; + te[4] = (xy - wz) * sy; + te[5] = (1 - (xx + zz)) * sy; + te[6] = (yz + wx) * sy; + te[7] = 0; + te[8] = (xz + wy) * sz; + te[9] = (yz - wx) * sz; + te[10] = (1 - (xx + yy)) * sz; + te[11] = 0; + te[12] = position.x; + te[13] = position.y; + te[14] = position.z; + te[15] = 1; + return this; + } + decompose(position, quaternion, scale) { + const te = this.elements; + let sx = _v1$5.set(te[0], te[1], te[2]).length(); + const sy = _v1$5.set(te[4], te[5], te[6]).length(); + const sz = _v1$5.set(te[8], te[9], te[10]).length(); + const det = this.determinant(); + if (det < 0) + sx = -sx; + position.x = te[12]; + position.y = te[13]; + position.z = te[14]; + _m1$2.copy(this); + const invSX = 1 / sx; + const invSY = 1 / sy; + const invSZ = 1 / sz; + _m1$2.elements[0] *= invSX; + _m1$2.elements[1] *= invSX; + _m1$2.elements[2] *= invSX; + _m1$2.elements[4] *= invSY; + _m1$2.elements[5] *= invSY; + _m1$2.elements[6] *= invSY; + _m1$2.elements[8] *= invSZ; + _m1$2.elements[9] *= invSZ; + _m1$2.elements[10] *= invSZ; + quaternion.setFromRotationMatrix(_m1$2); + scale.x = sx; + scale.y = sy; + scale.z = sz; + return this; + } + makePerspective(left, right, top, bottom, near, far) { + const te = this.elements; + const x2 = 2 * near / (right - left); + const y2 = 2 * near / (top - bottom); + const a2 = (right + left) / (right - left); + const b = (top + bottom) / (top - bottom); + const c2 = -(far + near) / (far - near); + const d = -2 * far * near / (far - near); + te[0] = x2; + te[4] = 0; + te[8] = a2; + te[12] = 0; + te[1] = 0; + te[5] = y2; + te[9] = b; + te[13] = 0; + te[2] = 0; + te[6] = 0; + te[10] = c2; + te[14] = d; + te[3] = 0; + te[7] = 0; + te[11] = -1; + te[15] = 0; + return this; + } + makeOrthographic(left, right, top, bottom, near, far) { + const te = this.elements; + const w = 1 / (right - left); + const h = 1 / (top - bottom); + const p = 1 / (far - near); + const x2 = (right + left) * w; + const y2 = (top + bottom) * h; + const z2 = (far + near) * p; + te[0] = 2 * w; + te[4] = 0; + te[8] = 0; + te[12] = -x2; + te[1] = 0; + te[5] = 2 * h; + te[9] = 0; + te[13] = -y2; + te[2] = 0; + te[6] = 0; + te[10] = -2 * p; + te[14] = -z2; + te[3] = 0; + te[7] = 0; + te[11] = 0; + te[15] = 1; + return this; + } + equals(matrix) { + const te = this.elements; + const me = matrix.elements; + for (let i = 0; i < 16; i++) { + if (te[i] !== me[i]) + return false; + } + return true; + } + fromArray(array, offset = 0) { + for (let i = 0; i < 16; i++) { + this.elements[i] = array[i + offset]; + } + return this; + } + toArray(array = [], offset = 0) { + const te = this.elements; + array[offset] = te[0]; + array[offset + 1] = te[1]; + array[offset + 2] = te[2]; + array[offset + 3] = te[3]; + array[offset + 4] = te[4]; + array[offset + 5] = te[5]; + array[offset + 6] = te[6]; + array[offset + 7] = te[7]; + array[offset + 8] = te[8]; + array[offset + 9] = te[9]; + array[offset + 10] = te[10]; + array[offset + 11] = te[11]; + array[offset + 12] = te[12]; + array[offset + 13] = te[13]; + array[offset + 14] = te[14]; + array[offset + 15] = te[15]; + return array; + } +}; +var _v1$5 = /* @__PURE__ */ new Vector3(); +var _m1$2 = /* @__PURE__ */ new Matrix4(); +var _zero = /* @__PURE__ */ new Vector3(0, 0, 0); +var _one = /* @__PURE__ */ new Vector3(1, 1, 1); +var _x = /* @__PURE__ */ new Vector3(); +var _y = /* @__PURE__ */ new Vector3(); +var _z = /* @__PURE__ */ new Vector3(); +var _matrix$1 = /* @__PURE__ */ new Matrix4(); +var _quaternion$3 = /* @__PURE__ */ new Quaternion(); +var Euler = class { + constructor(x2 = 0, y2 = 0, z2 = 0, order = Euler.DefaultOrder) { + this.isEuler = true; + this._x = x2; + this._y = y2; + this._z = z2; + this._order = order; + } + get x() { + return this._x; + } + set x(value) { + this._x = value; + this._onChangeCallback(); + } + get y() { + return this._y; + } + set y(value) { + this._y = value; + this._onChangeCallback(); + } + get z() { + return this._z; + } + set z(value) { + this._z = value; + this._onChangeCallback(); + } + get order() { + return this._order; + } + set order(value) { + this._order = value; + this._onChangeCallback(); + } + set(x2, y2, z2, order = this._order) { + this._x = x2; + this._y = y2; + this._z = z2; + this._order = order; + this._onChangeCallback(); + return this; + } + clone() { + return new this.constructor(this._x, this._y, this._z, this._order); + } + copy(euler) { + this._x = euler._x; + this._y = euler._y; + this._z = euler._z; + this._order = euler._order; + this._onChangeCallback(); + return this; + } + setFromRotationMatrix(m2, order = this._order, update4 = true) { + const te = m2.elements; + const m11 = te[0], m12 = te[4], m13 = te[8]; + const m21 = te[1], m22 = te[5], m23 = te[9]; + const m31 = te[2], m32 = te[6], m33 = te[10]; + switch (order) { + case "XYZ": + this._y = Math.asin(clamp(m13, -1, 1)); + if (Math.abs(m13) < 0.9999999) { + this._x = Math.atan2(-m23, m33); + this._z = Math.atan2(-m12, m11); + } else { + this._x = Math.atan2(m32, m22); + this._z = 0; + } + break; + case "YXZ": + this._x = Math.asin(-clamp(m23, -1, 1)); + if (Math.abs(m23) < 0.9999999) { + this._y = Math.atan2(m13, m33); + this._z = Math.atan2(m21, m22); + } else { + this._y = Math.atan2(-m31, m11); + this._z = 0; + } + break; + case "ZXY": + this._x = Math.asin(clamp(m32, -1, 1)); + if (Math.abs(m32) < 0.9999999) { + this._y = Math.atan2(-m31, m33); + this._z = Math.atan2(-m12, m22); + } else { + this._y = 0; + this._z = Math.atan2(m21, m11); + } + break; + case "ZYX": + this._y = Math.asin(-clamp(m31, -1, 1)); + if (Math.abs(m31) < 0.9999999) { + this._x = Math.atan2(m32, m33); + this._z = Math.atan2(m21, m11); + } else { + this._x = 0; + this._z = Math.atan2(-m12, m22); + } + break; + case "YZX": + this._z = Math.asin(clamp(m21, -1, 1)); + if (Math.abs(m21) < 0.9999999) { + this._x = Math.atan2(-m23, m22); + this._y = Math.atan2(-m31, m11); + } else { + this._x = 0; + this._y = Math.atan2(m13, m33); + } + break; + case "XZY": + this._z = Math.asin(-clamp(m12, -1, 1)); + if (Math.abs(m12) < 0.9999999) { + this._x = Math.atan2(m32, m22); + this._y = Math.atan2(m13, m11); + } else { + this._x = Math.atan2(-m23, m33); + this._y = 0; + } + break; + default: + console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: " + order); + } + this._order = order; + if (update4 === true) + this._onChangeCallback(); + return this; + } + setFromQuaternion(q, order, update4) { + _matrix$1.makeRotationFromQuaternion(q); + return this.setFromRotationMatrix(_matrix$1, order, update4); + } + setFromVector3(v, order = this._order) { + return this.set(v.x, v.y, v.z, order); + } + reorder(newOrder) { + _quaternion$3.setFromEuler(this); + return this.setFromQuaternion(_quaternion$3, newOrder); + } + equals(euler) { + return euler._x === this._x && euler._y === this._y && euler._z === this._z && euler._order === this._order; + } + fromArray(array) { + this._x = array[0]; + this._y = array[1]; + this._z = array[2]; + if (array[3] !== void 0) + this._order = array[3]; + this._onChangeCallback(); + return this; + } + toArray(array = [], offset = 0) { + array[offset] = this._x; + array[offset + 1] = this._y; + array[offset + 2] = this._z; + array[offset + 3] = this._order; + return array; + } + _onChange(callback) { + this._onChangeCallback = callback; + return this; + } + _onChangeCallback() { + } + *[Symbol.iterator]() { + yield this._x; + yield this._y; + yield this._z; + yield this._order; + } + toVector3() { + console.error("THREE.Euler: .toVector3() has been removed. Use Vector3.setFromEuler() instead"); + } +}; +Euler.DefaultOrder = "XYZ"; +Euler.RotationOrders = ["XYZ", "YZX", "ZXY", "XZY", "YXZ", "ZYX"]; +var Layers = class { + constructor() { + this.mask = 1 | 0; + } + set(channel) { + this.mask = (1 << channel | 0) >>> 0; + } + enable(channel) { + this.mask |= 1 << channel | 0; + } + enableAll() { + this.mask = 4294967295 | 0; + } + toggle(channel) { + this.mask ^= 1 << channel | 0; + } + disable(channel) { + this.mask &= ~(1 << channel | 0); + } + disableAll() { + this.mask = 0; + } + test(layers) { + return (this.mask & layers.mask) !== 0; + } + isEnabled(channel) { + return (this.mask & (1 << channel | 0)) !== 0; + } +}; +var _object3DId = 0; +var _v1$4 = /* @__PURE__ */ new Vector3(); +var _q1 = /* @__PURE__ */ new Quaternion(); +var _m1$1 = /* @__PURE__ */ new Matrix4(); +var _target = /* @__PURE__ */ new Vector3(); +var _position$3 = /* @__PURE__ */ new Vector3(); +var _scale$2 = /* @__PURE__ */ new Vector3(); +var _quaternion$2 = /* @__PURE__ */ new Quaternion(); +var _xAxis = /* @__PURE__ */ new Vector3(1, 0, 0); +var _yAxis = /* @__PURE__ */ new Vector3(0, 1, 0); +var _zAxis = /* @__PURE__ */ new Vector3(0, 0, 1); +var _addedEvent = { type: "added" }; +var _removedEvent = { type: "removed" }; +var Object3D = class extends EventDispatcher { + constructor() { + super(); + this.isObject3D = true; + Object.defineProperty(this, "id", { value: _object3DId++ }); + this.uuid = generateUUID(); + this.name = ""; + this.type = "Object3D"; + this.parent = null; + this.children = []; + this.up = Object3D.DefaultUp.clone(); + const position = new Vector3(); + const rotation = new Euler(); + const quaternion = new Quaternion(); + const scale = new Vector3(1, 1, 1); + function onRotationChange() { + quaternion.setFromEuler(rotation, false); + } + function onQuaternionChange() { + rotation.setFromQuaternion(quaternion, void 0, false); + } + rotation._onChange(onRotationChange); + quaternion._onChange(onQuaternionChange); + Object.defineProperties(this, { + position: { + configurable: true, + enumerable: true, + value: position + }, + rotation: { + configurable: true, + enumerable: true, + value: rotation + }, + quaternion: { + configurable: true, + enumerable: true, + value: quaternion + }, + scale: { + configurable: true, + enumerable: true, + value: scale + }, + modelViewMatrix: { + value: new Matrix4() + }, + normalMatrix: { + value: new Matrix3() + } + }); + this.matrix = new Matrix4(); + this.matrixWorld = new Matrix4(); + this.matrixAutoUpdate = Object3D.DefaultMatrixAutoUpdate; + this.matrixWorldNeedsUpdate = false; + this.matrixWorldAutoUpdate = Object3D.DefaultMatrixWorldAutoUpdate; + this.layers = new Layers(); + this.visible = true; + this.castShadow = false; + this.receiveShadow = false; + this.frustumCulled = true; + this.renderOrder = 0; + this.animations = []; + this.userData = {}; + } + onBeforeRender() { + } + onAfterRender() { + } + applyMatrix4(matrix) { + if (this.matrixAutoUpdate) + this.updateMatrix(); + this.matrix.premultiply(matrix); + this.matrix.decompose(this.position, this.quaternion, this.scale); + } + applyQuaternion(q) { + this.quaternion.premultiply(q); + return this; + } + setRotationFromAxisAngle(axis, angle) { + this.quaternion.setFromAxisAngle(axis, angle); + } + setRotationFromEuler(euler) { + this.quaternion.setFromEuler(euler, true); + } + setRotationFromMatrix(m2) { + this.quaternion.setFromRotationMatrix(m2); + } + setRotationFromQuaternion(q) { + this.quaternion.copy(q); + } + rotateOnAxis(axis, angle) { + _q1.setFromAxisAngle(axis, angle); + this.quaternion.multiply(_q1); + return this; + } + rotateOnWorldAxis(axis, angle) { + _q1.setFromAxisAngle(axis, angle); + this.quaternion.premultiply(_q1); + return this; + } + rotateX(angle) { + return this.rotateOnAxis(_xAxis, angle); + } + rotateY(angle) { + return this.rotateOnAxis(_yAxis, angle); + } + rotateZ(angle) { + return this.rotateOnAxis(_zAxis, angle); + } + translateOnAxis(axis, distance) { + _v1$4.copy(axis).applyQuaternion(this.quaternion); + this.position.add(_v1$4.multiplyScalar(distance)); + return this; + } + translateX(distance) { + return this.translateOnAxis(_xAxis, distance); + } + translateY(distance) { + return this.translateOnAxis(_yAxis, distance); + } + translateZ(distance) { + return this.translateOnAxis(_zAxis, distance); + } + localToWorld(vector) { + return vector.applyMatrix4(this.matrixWorld); + } + worldToLocal(vector) { + return vector.applyMatrix4(_m1$1.copy(this.matrixWorld).invert()); + } + lookAt(x2, y2, z2) { + if (x2.isVector3) { + _target.copy(x2); + } else { + _target.set(x2, y2, z2); + } + const parent = this.parent; + this.updateWorldMatrix(true, false); + _position$3.setFromMatrixPosition(this.matrixWorld); + if (this.isCamera || this.isLight) { + _m1$1.lookAt(_position$3, _target, this.up); + } else { + _m1$1.lookAt(_target, _position$3, this.up); + } + this.quaternion.setFromRotationMatrix(_m1$1); + if (parent) { + _m1$1.extractRotation(parent.matrixWorld); + _q1.setFromRotationMatrix(_m1$1); + this.quaternion.premultiply(_q1.invert()); + } + } + add(object) { + if (arguments.length > 1) { + for (let i = 0; i < arguments.length; i++) { + this.add(arguments[i]); + } + return this; + } + if (object === this) { + console.error("THREE.Object3D.add: object can't be added as a child of itself.", object); + return this; + } + if (object && object.isObject3D) { + if (object.parent !== null) { + object.parent.remove(object); + } + object.parent = this; + this.children.push(object); + object.dispatchEvent(_addedEvent); + } else { + console.error("THREE.Object3D.add: object not an instance of THREE.Object3D.", object); + } + return this; + } + remove(object) { + if (arguments.length > 1) { + for (let i = 0; i < arguments.length; i++) { + this.remove(arguments[i]); + } + return this; + } + const index5 = this.children.indexOf(object); + if (index5 !== -1) { + object.parent = null; + this.children.splice(index5, 1); + object.dispatchEvent(_removedEvent); + } + return this; + } + removeFromParent() { + const parent = this.parent; + if (parent !== null) { + parent.remove(this); + } + return this; + } + clear() { + for (let i = 0; i < this.children.length; i++) { + const object = this.children[i]; + object.parent = null; + object.dispatchEvent(_removedEvent); + } + this.children.length = 0; + return this; + } + attach(object) { + this.updateWorldMatrix(true, false); + _m1$1.copy(this.matrixWorld).invert(); + if (object.parent !== null) { + object.parent.updateWorldMatrix(true, false); + _m1$1.multiply(object.parent.matrixWorld); + } + object.applyMatrix4(_m1$1); + this.add(object); + object.updateWorldMatrix(false, true); + return this; + } + getObjectById(id) { + return this.getObjectByProperty("id", id); + } + getObjectByName(name) { + return this.getObjectByProperty("name", name); + } + getObjectByProperty(name, value) { + if (this[name] === value) + return this; + for (let i = 0, l = this.children.length; i < l; i++) { + const child = this.children[i]; + const object = child.getObjectByProperty(name, value); + if (object !== void 0) { + return object; + } + } + return void 0; + } + getWorldPosition(target) { + this.updateWorldMatrix(true, false); + return target.setFromMatrixPosition(this.matrixWorld); + } + getWorldQuaternion(target) { + this.updateWorldMatrix(true, false); + this.matrixWorld.decompose(_position$3, target, _scale$2); + return target; + } + getWorldScale(target) { + this.updateWorldMatrix(true, false); + this.matrixWorld.decompose(_position$3, _quaternion$2, target); + return target; + } + getWorldDirection(target) { + this.updateWorldMatrix(true, false); + const e = this.matrixWorld.elements; + return target.set(e[8], e[9], e[10]).normalize(); + } + raycast() { + } + traverse(callback) { + callback(this); + const children = this.children; + for (let i = 0, l = children.length; i < l; i++) { + children[i].traverse(callback); + } + } + traverseVisible(callback) { + if (this.visible === false) + return; + callback(this); + const children = this.children; + for (let i = 0, l = children.length; i < l; i++) { + children[i].traverseVisible(callback); + } + } + traverseAncestors(callback) { + const parent = this.parent; + if (parent !== null) { + callback(parent); + parent.traverseAncestors(callback); + } + } + updateMatrix() { + this.matrix.compose(this.position, this.quaternion, this.scale); + this.matrixWorldNeedsUpdate = true; + } + updateMatrixWorld(force) { + if (this.matrixAutoUpdate) + this.updateMatrix(); + if (this.matrixWorldNeedsUpdate || force) { + if (this.parent === null) { + this.matrixWorld.copy(this.matrix); + } else { + this.matrixWorld.multiplyMatrices(this.parent.matrixWorld, this.matrix); + } + this.matrixWorldNeedsUpdate = false; + force = true; + } + const children = this.children; + for (let i = 0, l = children.length; i < l; i++) { + const child = children[i]; + if (child.matrixWorldAutoUpdate === true || force === true) { + child.updateMatrixWorld(force); + } + } + } + updateWorldMatrix(updateParents, updateChildren) { + const parent = this.parent; + if (updateParents === true && parent !== null && parent.matrixWorldAutoUpdate === true) { + parent.updateWorldMatrix(true, false); + } + if (this.matrixAutoUpdate) + this.updateMatrix(); + if (this.parent === null) { + this.matrixWorld.copy(this.matrix); + } else { + this.matrixWorld.multiplyMatrices(this.parent.matrixWorld, this.matrix); + } + if (updateChildren === true) { + const children = this.children; + for (let i = 0, l = children.length; i < l; i++) { + const child = children[i]; + if (child.matrixWorldAutoUpdate === true) { + child.updateWorldMatrix(false, true); + } + } + } + } + toJSON(meta) { + const isRootObject = meta === void 0 || typeof meta === "string"; + const output = {}; + if (isRootObject) { + meta = { + geometries: {}, + materials: {}, + textures: {}, + images: {}, + shapes: {}, + skeletons: {}, + animations: {}, + nodes: {} + }; + output.metadata = { + version: 4.5, + type: "Object", + generator: "Object3D.toJSON" + }; + } + const object = {}; + object.uuid = this.uuid; + object.type = this.type; + if (this.name !== "") + object.name = this.name; + if (this.castShadow === true) + object.castShadow = true; + if (this.receiveShadow === true) + object.receiveShadow = true; + if (this.visible === false) + object.visible = false; + if (this.frustumCulled === false) + object.frustumCulled = false; + if (this.renderOrder !== 0) + object.renderOrder = this.renderOrder; + if (JSON.stringify(this.userData) !== "{}") + object.userData = this.userData; + object.layers = this.layers.mask; + object.matrix = this.matrix.toArray(); + if (this.matrixAutoUpdate === false) + object.matrixAutoUpdate = false; + if (this.isInstancedMesh) { + object.type = "InstancedMesh"; + object.count = this.count; + object.instanceMatrix = this.instanceMatrix.toJSON(); + if (this.instanceColor !== null) + object.instanceColor = this.instanceColor.toJSON(); + } + function serialize(library, element) { + if (library[element.uuid] === void 0) { + library[element.uuid] = element.toJSON(meta); + } + return element.uuid; + } + if (this.isScene) { + if (this.background) { + if (this.background.isColor) { + object.background = this.background.toJSON(); + } else if (this.background.isTexture) { + object.background = this.background.toJSON(meta).uuid; + } + } + if (this.environment && this.environment.isTexture && this.environment.isRenderTargetTexture !== true) { + object.environment = this.environment.toJSON(meta).uuid; + } + } else if (this.isMesh || this.isLine || this.isPoints) { + object.geometry = serialize(meta.geometries, this.geometry); + const parameters = this.geometry.parameters; + if (parameters !== void 0 && parameters.shapes !== void 0) { + const shapes = parameters.shapes; + if (Array.isArray(shapes)) { + for (let i = 0, l = shapes.length; i < l; i++) { + const shape = shapes[i]; + serialize(meta.shapes, shape); + } + } else { + serialize(meta.shapes, shapes); + } + } + } + if (this.isSkinnedMesh) { + object.bindMode = this.bindMode; + object.bindMatrix = this.bindMatrix.toArray(); + if (this.skeleton !== void 0) { + serialize(meta.skeletons, this.skeleton); + object.skeleton = this.skeleton.uuid; + } + } + if (this.material !== void 0) { + if (Array.isArray(this.material)) { + const uuids = []; + for (let i = 0, l = this.material.length; i < l; i++) { + uuids.push(serialize(meta.materials, this.material[i])); + } + object.material = uuids; + } else { + object.material = serialize(meta.materials, this.material); + } + } + if (this.children.length > 0) { + object.children = []; + for (let i = 0; i < this.children.length; i++) { + object.children.push(this.children[i].toJSON(meta).object); + } + } + if (this.animations.length > 0) { + object.animations = []; + for (let i = 0; i < this.animations.length; i++) { + const animation = this.animations[i]; + object.animations.push(serialize(meta.animations, animation)); + } + } + if (isRootObject) { + const geometries = extractFromCache(meta.geometries); + const materials = extractFromCache(meta.materials); + const textures = extractFromCache(meta.textures); + const images = extractFromCache(meta.images); + const shapes = extractFromCache(meta.shapes); + const skeletons = extractFromCache(meta.skeletons); + const animations = extractFromCache(meta.animations); + const nodes = extractFromCache(meta.nodes); + if (geometries.length > 0) + output.geometries = geometries; + if (materials.length > 0) + output.materials = materials; + if (textures.length > 0) + output.textures = textures; + if (images.length > 0) + output.images = images; + if (shapes.length > 0) + output.shapes = shapes; + if (skeletons.length > 0) + output.skeletons = skeletons; + if (animations.length > 0) + output.animations = animations; + if (nodes.length > 0) + output.nodes = nodes; + } + output.object = object; + return output; + function extractFromCache(cache) { + const values = []; + for (const key in cache) { + const data = cache[key]; + delete data.metadata; + values.push(data); + } + return values; + } + } + clone(recursive) { + return new this.constructor().copy(this, recursive); + } + copy(source, recursive = true) { + this.name = source.name; + this.up.copy(source.up); + this.position.copy(source.position); + this.rotation.order = source.rotation.order; + this.quaternion.copy(source.quaternion); + this.scale.copy(source.scale); + this.matrix.copy(source.matrix); + this.matrixWorld.copy(source.matrixWorld); + this.matrixAutoUpdate = source.matrixAutoUpdate; + this.matrixWorldNeedsUpdate = source.matrixWorldNeedsUpdate; + this.matrixWorldAutoUpdate = source.matrixWorldAutoUpdate; + this.layers.mask = source.layers.mask; + this.visible = source.visible; + this.castShadow = source.castShadow; + this.receiveShadow = source.receiveShadow; + this.frustumCulled = source.frustumCulled; + this.renderOrder = source.renderOrder; + this.userData = JSON.parse(JSON.stringify(source.userData)); + if (recursive === true) { + for (let i = 0; i < source.children.length; i++) { + const child = source.children[i]; + this.add(child.clone()); + } + } + return this; + } +}; +Object3D.DefaultUp = /* @__PURE__ */ new Vector3(0, 1, 0); +Object3D.DefaultMatrixAutoUpdate = true; +Object3D.DefaultMatrixWorldAutoUpdate = true; +var _v0$1 = /* @__PURE__ */ new Vector3(); +var _v1$3 = /* @__PURE__ */ new Vector3(); +var _v2$2 = /* @__PURE__ */ new Vector3(); +var _v3$1 = /* @__PURE__ */ new Vector3(); +var _vab = /* @__PURE__ */ new Vector3(); +var _vac = /* @__PURE__ */ new Vector3(); +var _vbc = /* @__PURE__ */ new Vector3(); +var _vap = /* @__PURE__ */ new Vector3(); +var _vbp = /* @__PURE__ */ new Vector3(); +var _vcp = /* @__PURE__ */ new Vector3(); +var Triangle = class { + constructor(a2 = new Vector3(), b = new Vector3(), c2 = new Vector3()) { + this.a = a2; + this.b = b; + this.c = c2; + } + static getNormal(a2, b, c2, target) { + target.subVectors(c2, b); + _v0$1.subVectors(a2, b); + target.cross(_v0$1); + const targetLengthSq = target.lengthSq(); + if (targetLengthSq > 0) { + return target.multiplyScalar(1 / Math.sqrt(targetLengthSq)); + } + return target.set(0, 0, 0); + } + static getBarycoord(point, a2, b, c2, target) { + _v0$1.subVectors(c2, a2); + _v1$3.subVectors(b, a2); + _v2$2.subVectors(point, a2); + const dot00 = _v0$1.dot(_v0$1); + const dot01 = _v0$1.dot(_v1$3); + const dot02 = _v0$1.dot(_v2$2); + const dot11 = _v1$3.dot(_v1$3); + const dot12 = _v1$3.dot(_v2$2); + const denom = dot00 * dot11 - dot01 * dot01; + if (denom === 0) { + return target.set(-2, -1, -1); + } + const invDenom = 1 / denom; + const u = (dot11 * dot02 - dot01 * dot12) * invDenom; + const v = (dot00 * dot12 - dot01 * dot02) * invDenom; + return target.set(1 - u - v, v, u); + } + static containsPoint(point, a2, b, c2) { + this.getBarycoord(point, a2, b, c2, _v3$1); + return _v3$1.x >= 0 && _v3$1.y >= 0 && _v3$1.x + _v3$1.y <= 1; + } + static getUV(point, p1, p2, p3, uv1, uv2, uv3, target) { + this.getBarycoord(point, p1, p2, p3, _v3$1); + target.set(0, 0); + target.addScaledVector(uv1, _v3$1.x); + target.addScaledVector(uv2, _v3$1.y); + target.addScaledVector(uv3, _v3$1.z); + return target; + } + static isFrontFacing(a2, b, c2, direction) { + _v0$1.subVectors(c2, b); + _v1$3.subVectors(a2, b); + return _v0$1.cross(_v1$3).dot(direction) < 0 ? true : false; + } + set(a2, b, c2) { + this.a.copy(a2); + this.b.copy(b); + this.c.copy(c2); + return this; + } + setFromPointsAndIndices(points, i0, i1, i2) { + this.a.copy(points[i0]); + this.b.copy(points[i1]); + this.c.copy(points[i2]); + return this; + } + setFromAttributeAndIndices(attribute, i0, i1, i2) { + this.a.fromBufferAttribute(attribute, i0); + this.b.fromBufferAttribute(attribute, i1); + this.c.fromBufferAttribute(attribute, i2); + return this; + } + clone() { + return new this.constructor().copy(this); + } + copy(triangle) { + this.a.copy(triangle.a); + this.b.copy(triangle.b); + this.c.copy(triangle.c); + return this; + } + getArea() { + _v0$1.subVectors(this.c, this.b); + _v1$3.subVectors(this.a, this.b); + return _v0$1.cross(_v1$3).length() * 0.5; + } + getMidpoint(target) { + return target.addVectors(this.a, this.b).add(this.c).multiplyScalar(1 / 3); + } + getNormal(target) { + return Triangle.getNormal(this.a, this.b, this.c, target); + } + getPlane(target) { + return target.setFromCoplanarPoints(this.a, this.b, this.c); + } + getBarycoord(point, target) { + return Triangle.getBarycoord(point, this.a, this.b, this.c, target); + } + getUV(point, uv1, uv2, uv3, target) { + return Triangle.getUV(point, this.a, this.b, this.c, uv1, uv2, uv3, target); + } + containsPoint(point) { + return Triangle.containsPoint(point, this.a, this.b, this.c); + } + isFrontFacing(direction) { + return Triangle.isFrontFacing(this.a, this.b, this.c, direction); + } + intersectsBox(box) { + return box.intersectsTriangle(this); + } + closestPointToPoint(p, target) { + const a2 = this.a, b = this.b, c2 = this.c; + let v, w; + _vab.subVectors(b, a2); + _vac.subVectors(c2, a2); + _vap.subVectors(p, a2); + const d1 = _vab.dot(_vap); + const d2 = _vac.dot(_vap); + if (d1 <= 0 && d2 <= 0) { + return target.copy(a2); + } + _vbp.subVectors(p, b); + const d3 = _vab.dot(_vbp); + const d4 = _vac.dot(_vbp); + if (d3 >= 0 && d4 <= d3) { + return target.copy(b); + } + const vc = d1 * d4 - d3 * d2; + if (vc <= 0 && d1 >= 0 && d3 <= 0) { + v = d1 / (d1 - d3); + return target.copy(a2).addScaledVector(_vab, v); + } + _vcp.subVectors(p, c2); + const d5 = _vab.dot(_vcp); + const d6 = _vac.dot(_vcp); + if (d6 >= 0 && d5 <= d6) { + return target.copy(c2); + } + const vb = d5 * d2 - d1 * d6; + if (vb <= 0 && d2 >= 0 && d6 <= 0) { + w = d2 / (d2 - d6); + return target.copy(a2).addScaledVector(_vac, w); + } + const va = d3 * d6 - d5 * d4; + if (va <= 0 && d4 - d3 >= 0 && d5 - d6 >= 0) { + _vbc.subVectors(c2, b); + w = (d4 - d3) / (d4 - d3 + (d5 - d6)); + return target.copy(b).addScaledVector(_vbc, w); + } + const denom = 1 / (va + vb + vc); + v = vb * denom; + w = vc * denom; + return target.copy(a2).addScaledVector(_vab, v).addScaledVector(_vac, w); + } + equals(triangle) { + return triangle.a.equals(this.a) && triangle.b.equals(this.b) && triangle.c.equals(this.c); + } +}; +var materialId = 0; +var Material = class extends EventDispatcher { + constructor() { + super(); + this.isMaterial = true; + Object.defineProperty(this, "id", { value: materialId++ }); + this.uuid = generateUUID(); + this.name = ""; + this.type = "Material"; + this.blending = NormalBlending; + this.side = FrontSide; + this.vertexColors = false; + this.opacity = 1; + this.transparent = false; + this.blendSrc = SrcAlphaFactor; + this.blendDst = OneMinusSrcAlphaFactor; + this.blendEquation = AddEquation; + this.blendSrcAlpha = null; + this.blendDstAlpha = null; + this.blendEquationAlpha = null; + this.depthFunc = LessEqualDepth; + this.depthTest = true; + this.depthWrite = true; + this.stencilWriteMask = 255; + this.stencilFunc = AlwaysStencilFunc; + this.stencilRef = 0; + this.stencilFuncMask = 255; + this.stencilFail = KeepStencilOp; + this.stencilZFail = KeepStencilOp; + this.stencilZPass = KeepStencilOp; + this.stencilWrite = false; + this.clippingPlanes = null; + this.clipIntersection = false; + this.clipShadows = false; + this.shadowSide = null; + this.colorWrite = true; + this.precision = null; + this.polygonOffset = false; + this.polygonOffsetFactor = 0; + this.polygonOffsetUnits = 0; + this.dithering = false; + this.alphaToCoverage = false; + this.premultipliedAlpha = false; + this.visible = true; + this.toneMapped = true; + this.userData = {}; + this.version = 0; + this._alphaTest = 0; + } + get alphaTest() { + return this._alphaTest; + } + set alphaTest(value) { + if (this._alphaTest > 0 !== value > 0) { + this.version++; + } + this._alphaTest = value; + } + onBuild() { + } + onBeforeRender() { + } + onBeforeCompile() { + } + customProgramCacheKey() { + return this.onBeforeCompile.toString(); + } + setValues(values) { + if (values === void 0) + return; + for (const key in values) { + const newValue = values[key]; + if (newValue === void 0) { + console.warn("THREE.Material: '" + key + "' parameter is undefined."); + continue; + } + const currentValue = this[key]; + if (currentValue === void 0) { + console.warn("THREE." + this.type + ": '" + key + "' is not a property of this material."); + continue; + } + if (currentValue && currentValue.isColor) { + currentValue.set(newValue); + } else if (currentValue && currentValue.isVector3 && (newValue && newValue.isVector3)) { + currentValue.copy(newValue); + } else { + this[key] = newValue; + } + } + } + toJSON(meta) { + const isRootObject = meta === void 0 || typeof meta === "string"; + if (isRootObject) { + meta = { + textures: {}, + images: {} + }; + } + const data = { + metadata: { + version: 4.5, + type: "Material", + generator: "Material.toJSON" + } + }; + data.uuid = this.uuid; + data.type = this.type; + if (this.name !== "") + data.name = this.name; + if (this.color && this.color.isColor) + data.color = this.color.getHex(); + if (this.roughness !== void 0) + data.roughness = this.roughness; + if (this.metalness !== void 0) + data.metalness = this.metalness; + if (this.sheen !== void 0) + data.sheen = this.sheen; + if (this.sheenColor && this.sheenColor.isColor) + data.sheenColor = this.sheenColor.getHex(); + if (this.sheenRoughness !== void 0) + data.sheenRoughness = this.sheenRoughness; + if (this.emissive && this.emissive.isColor) + data.emissive = this.emissive.getHex(); + if (this.emissiveIntensity && this.emissiveIntensity !== 1) + data.emissiveIntensity = this.emissiveIntensity; + if (this.specular && this.specular.isColor) + data.specular = this.specular.getHex(); + if (this.specularIntensity !== void 0) + data.specularIntensity = this.specularIntensity; + if (this.specularColor && this.specularColor.isColor) + data.specularColor = this.specularColor.getHex(); + if (this.shininess !== void 0) + data.shininess = this.shininess; + if (this.clearcoat !== void 0) + data.clearcoat = this.clearcoat; + if (this.clearcoatRoughness !== void 0) + data.clearcoatRoughness = this.clearcoatRoughness; + if (this.clearcoatMap && this.clearcoatMap.isTexture) { + data.clearcoatMap = this.clearcoatMap.toJSON(meta).uuid; + } + if (this.clearcoatRoughnessMap && this.clearcoatRoughnessMap.isTexture) { + data.clearcoatRoughnessMap = this.clearcoatRoughnessMap.toJSON(meta).uuid; + } + if (this.clearcoatNormalMap && this.clearcoatNormalMap.isTexture) { + data.clearcoatNormalMap = this.clearcoatNormalMap.toJSON(meta).uuid; + data.clearcoatNormalScale = this.clearcoatNormalScale.toArray(); + } + if (this.iridescence !== void 0) + data.iridescence = this.iridescence; + if (this.iridescenceIOR !== void 0) + data.iridescenceIOR = this.iridescenceIOR; + if (this.iridescenceThicknessRange !== void 0) + data.iridescenceThicknessRange = this.iridescenceThicknessRange; + if (this.iridescenceMap && this.iridescenceMap.isTexture) { + data.iridescenceMap = this.iridescenceMap.toJSON(meta).uuid; + } + if (this.iridescenceThicknessMap && this.iridescenceThicknessMap.isTexture) { + data.iridescenceThicknessMap = this.iridescenceThicknessMap.toJSON(meta).uuid; + } + if (this.map && this.map.isTexture) + data.map = this.map.toJSON(meta).uuid; + if (this.matcap && this.matcap.isTexture) + data.matcap = this.matcap.toJSON(meta).uuid; + if (this.alphaMap && this.alphaMap.isTexture) + data.alphaMap = this.alphaMap.toJSON(meta).uuid; + if (this.lightMap && this.lightMap.isTexture) { + data.lightMap = this.lightMap.toJSON(meta).uuid; + data.lightMapIntensity = this.lightMapIntensity; + } + if (this.aoMap && this.aoMap.isTexture) { + data.aoMap = this.aoMap.toJSON(meta).uuid; + data.aoMapIntensity = this.aoMapIntensity; + } + if (this.bumpMap && this.bumpMap.isTexture) { + data.bumpMap = this.bumpMap.toJSON(meta).uuid; + data.bumpScale = this.bumpScale; + } + if (this.normalMap && this.normalMap.isTexture) { + data.normalMap = this.normalMap.toJSON(meta).uuid; + data.normalMapType = this.normalMapType; + data.normalScale = this.normalScale.toArray(); + } + if (this.displacementMap && this.displacementMap.isTexture) { + data.displacementMap = this.displacementMap.toJSON(meta).uuid; + data.displacementScale = this.displacementScale; + data.displacementBias = this.displacementBias; + } + if (this.roughnessMap && this.roughnessMap.isTexture) + data.roughnessMap = this.roughnessMap.toJSON(meta).uuid; + if (this.metalnessMap && this.metalnessMap.isTexture) + data.metalnessMap = this.metalnessMap.toJSON(meta).uuid; + if (this.emissiveMap && this.emissiveMap.isTexture) + data.emissiveMap = this.emissiveMap.toJSON(meta).uuid; + if (this.specularMap && this.specularMap.isTexture) + data.specularMap = this.specularMap.toJSON(meta).uuid; + if (this.specularIntensityMap && this.specularIntensityMap.isTexture) + data.specularIntensityMap = this.specularIntensityMap.toJSON(meta).uuid; + if (this.specularColorMap && this.specularColorMap.isTexture) + data.specularColorMap = this.specularColorMap.toJSON(meta).uuid; + if (this.envMap && this.envMap.isTexture) { + data.envMap = this.envMap.toJSON(meta).uuid; + if (this.combine !== void 0) + data.combine = this.combine; + } + if (this.envMapIntensity !== void 0) + data.envMapIntensity = this.envMapIntensity; + if (this.reflectivity !== void 0) + data.reflectivity = this.reflectivity; + if (this.refractionRatio !== void 0) + data.refractionRatio = this.refractionRatio; + if (this.gradientMap && this.gradientMap.isTexture) { + data.gradientMap = this.gradientMap.toJSON(meta).uuid; + } + if (this.transmission !== void 0) + data.transmission = this.transmission; + if (this.transmissionMap && this.transmissionMap.isTexture) + data.transmissionMap = this.transmissionMap.toJSON(meta).uuid; + if (this.thickness !== void 0) + data.thickness = this.thickness; + if (this.thicknessMap && this.thicknessMap.isTexture) + data.thicknessMap = this.thicknessMap.toJSON(meta).uuid; + if (this.attenuationDistance !== void 0 && this.attenuationDistance !== Infinity) + data.attenuationDistance = this.attenuationDistance; + if (this.attenuationColor !== void 0) + data.attenuationColor = this.attenuationColor.getHex(); + if (this.size !== void 0) + data.size = this.size; + if (this.shadowSide !== null) + data.shadowSide = this.shadowSide; + if (this.sizeAttenuation !== void 0) + data.sizeAttenuation = this.sizeAttenuation; + if (this.blending !== NormalBlending) + data.blending = this.blending; + if (this.side !== FrontSide) + data.side = this.side; + if (this.vertexColors) + data.vertexColors = true; + if (this.opacity < 1) + data.opacity = this.opacity; + if (this.transparent === true) + data.transparent = this.transparent; + data.depthFunc = this.depthFunc; + data.depthTest = this.depthTest; + data.depthWrite = this.depthWrite; + data.colorWrite = this.colorWrite; + data.stencilWrite = this.stencilWrite; + data.stencilWriteMask = this.stencilWriteMask; + data.stencilFunc = this.stencilFunc; + data.stencilRef = this.stencilRef; + data.stencilFuncMask = this.stencilFuncMask; + data.stencilFail = this.stencilFail; + data.stencilZFail = this.stencilZFail; + data.stencilZPass = this.stencilZPass; + if (this.rotation !== void 0 && this.rotation !== 0) + data.rotation = this.rotation; + if (this.polygonOffset === true) + data.polygonOffset = true; + if (this.polygonOffsetFactor !== 0) + data.polygonOffsetFactor = this.polygonOffsetFactor; + if (this.polygonOffsetUnits !== 0) + data.polygonOffsetUnits = this.polygonOffsetUnits; + if (this.linewidth !== void 0 && this.linewidth !== 1) + data.linewidth = this.linewidth; + if (this.dashSize !== void 0) + data.dashSize = this.dashSize; + if (this.gapSize !== void 0) + data.gapSize = this.gapSize; + if (this.scale !== void 0) + data.scale = this.scale; + if (this.dithering === true) + data.dithering = true; + if (this.alphaTest > 0) + data.alphaTest = this.alphaTest; + if (this.alphaToCoverage === true) + data.alphaToCoverage = this.alphaToCoverage; + if (this.premultipliedAlpha === true) + data.premultipliedAlpha = this.premultipliedAlpha; + if (this.wireframe === true) + data.wireframe = this.wireframe; + if (this.wireframeLinewidth > 1) + data.wireframeLinewidth = this.wireframeLinewidth; + if (this.wireframeLinecap !== "round") + data.wireframeLinecap = this.wireframeLinecap; + if (this.wireframeLinejoin !== "round") + data.wireframeLinejoin = this.wireframeLinejoin; + if (this.flatShading === true) + data.flatShading = this.flatShading; + if (this.visible === false) + data.visible = false; + if (this.toneMapped === false) + data.toneMapped = false; + if (this.fog === false) + data.fog = false; + if (JSON.stringify(this.userData) !== "{}") + data.userData = this.userData; + function extractFromCache(cache) { + const values = []; + for (const key in cache) { + const data2 = cache[key]; + delete data2.metadata; + values.push(data2); + } + return values; + } + if (isRootObject) { + const textures = extractFromCache(meta.textures); + const images = extractFromCache(meta.images); + if (textures.length > 0) + data.textures = textures; + if (images.length > 0) + data.images = images; + } + return data; + } + clone() { + return new this.constructor().copy(this); + } + copy(source) { + this.name = source.name; + this.blending = source.blending; + this.side = source.side; + this.vertexColors = source.vertexColors; + this.opacity = source.opacity; + this.transparent = source.transparent; + this.blendSrc = source.blendSrc; + this.blendDst = source.blendDst; + this.blendEquation = source.blendEquation; + this.blendSrcAlpha = source.blendSrcAlpha; + this.blendDstAlpha = source.blendDstAlpha; + this.blendEquationAlpha = source.blendEquationAlpha; + this.depthFunc = source.depthFunc; + this.depthTest = source.depthTest; + this.depthWrite = source.depthWrite; + this.stencilWriteMask = source.stencilWriteMask; + this.stencilFunc = source.stencilFunc; + this.stencilRef = source.stencilRef; + this.stencilFuncMask = source.stencilFuncMask; + this.stencilFail = source.stencilFail; + this.stencilZFail = source.stencilZFail; + this.stencilZPass = source.stencilZPass; + this.stencilWrite = source.stencilWrite; + const srcPlanes = source.clippingPlanes; + let dstPlanes = null; + if (srcPlanes !== null) { + const n = srcPlanes.length; + dstPlanes = new Array(n); + for (let i = 0; i !== n; ++i) { + dstPlanes[i] = srcPlanes[i].clone(); + } + } + this.clippingPlanes = dstPlanes; + this.clipIntersection = source.clipIntersection; + this.clipShadows = source.clipShadows; + this.shadowSide = source.shadowSide; + this.colorWrite = source.colorWrite; + this.precision = source.precision; + this.polygonOffset = source.polygonOffset; + this.polygonOffsetFactor = source.polygonOffsetFactor; + this.polygonOffsetUnits = source.polygonOffsetUnits; + this.dithering = source.dithering; + this.alphaTest = source.alphaTest; + this.alphaToCoverage = source.alphaToCoverage; + this.premultipliedAlpha = source.premultipliedAlpha; + this.visible = source.visible; + this.toneMapped = source.toneMapped; + this.userData = JSON.parse(JSON.stringify(source.userData)); + return this; + } + dispose() { + this.dispatchEvent({ type: "dispose" }); + } + set needsUpdate(value) { + if (value === true) + this.version++; + } +}; +var MeshBasicMaterial = class extends Material { + constructor(parameters) { + super(); + this.isMeshBasicMaterial = true; + this.type = "MeshBasicMaterial"; + this.color = new Color(16777215); + this.map = null; + this.lightMap = null; + this.lightMapIntensity = 1; + this.aoMap = null; + this.aoMapIntensity = 1; + this.specularMap = null; + this.alphaMap = null; + this.envMap = null; + this.combine = MultiplyOperation; + this.reflectivity = 1; + this.refractionRatio = 0.98; + this.wireframe = false; + this.wireframeLinewidth = 1; + this.wireframeLinecap = "round"; + this.wireframeLinejoin = "round"; + this.fog = true; + this.setValues(parameters); + } + copy(source) { + super.copy(source); + this.color.copy(source.color); + this.map = source.map; + this.lightMap = source.lightMap; + this.lightMapIntensity = source.lightMapIntensity; + this.aoMap = source.aoMap; + this.aoMapIntensity = source.aoMapIntensity; + this.specularMap = source.specularMap; + this.alphaMap = source.alphaMap; + this.envMap = source.envMap; + this.combine = source.combine; + this.reflectivity = source.reflectivity; + this.refractionRatio = source.refractionRatio; + this.wireframe = source.wireframe; + this.wireframeLinewidth = source.wireframeLinewidth; + this.wireframeLinecap = source.wireframeLinecap; + this.wireframeLinejoin = source.wireframeLinejoin; + this.fog = source.fog; + return this; + } +}; +var _vector$9 = /* @__PURE__ */ new Vector3(); +var _vector2$1 = /* @__PURE__ */ new Vector2(); +var BufferAttribute = class { + constructor(array, itemSize, normalized) { + if (Array.isArray(array)) { + throw new TypeError("THREE.BufferAttribute: array should be a Typed Array."); + } + this.isBufferAttribute = true; + this.name = ""; + this.array = array; + this.itemSize = itemSize; + this.count = array !== void 0 ? array.length / itemSize : 0; + this.normalized = normalized === true; + this.usage = StaticDrawUsage; + this.updateRange = { offset: 0, count: -1 }; + this.version = 0; + } + onUploadCallback() { + } + set needsUpdate(value) { + if (value === true) + this.version++; + } + setUsage(value) { + this.usage = value; + return this; + } + copy(source) { + this.name = source.name; + this.array = new source.array.constructor(source.array); + this.itemSize = source.itemSize; + this.count = source.count; + this.normalized = source.normalized; + this.usage = source.usage; + return this; + } + copyAt(index1, attribute, index22) { + index1 *= this.itemSize; + index22 *= attribute.itemSize; + for (let i = 0, l = this.itemSize; i < l; i++) { + this.array[index1 + i] = attribute.array[index22 + i]; + } + return this; + } + copyArray(array) { + this.array.set(array); + return this; + } + applyMatrix3(m2) { + if (this.itemSize === 2) { + for (let i = 0, l = this.count; i < l; i++) { + _vector2$1.fromBufferAttribute(this, i); + _vector2$1.applyMatrix3(m2); + this.setXY(i, _vector2$1.x, _vector2$1.y); + } + } else if (this.itemSize === 3) { + for (let i = 0, l = this.count; i < l; i++) { + _vector$9.fromBufferAttribute(this, i); + _vector$9.applyMatrix3(m2); + this.setXYZ(i, _vector$9.x, _vector$9.y, _vector$9.z); + } + } + return this; + } + applyMatrix4(m2) { + for (let i = 0, l = this.count; i < l; i++) { + _vector$9.fromBufferAttribute(this, i); + _vector$9.applyMatrix4(m2); + this.setXYZ(i, _vector$9.x, _vector$9.y, _vector$9.z); + } + return this; + } + applyNormalMatrix(m2) { + for (let i = 0, l = this.count; i < l; i++) { + _vector$9.fromBufferAttribute(this, i); + _vector$9.applyNormalMatrix(m2); + this.setXYZ(i, _vector$9.x, _vector$9.y, _vector$9.z); + } + return this; + } + transformDirection(m2) { + for (let i = 0, l = this.count; i < l; i++) { + _vector$9.fromBufferAttribute(this, i); + _vector$9.transformDirection(m2); + this.setXYZ(i, _vector$9.x, _vector$9.y, _vector$9.z); + } + return this; + } + set(value, offset = 0) { + this.array.set(value, offset); + return this; + } + getX(index5) { + let x2 = this.array[index5 * this.itemSize]; + if (this.normalized) + x2 = denormalize(x2, this.array); + return x2; + } + setX(index5, x2) { + if (this.normalized) + x2 = normalize(x2, this.array); + this.array[index5 * this.itemSize] = x2; + return this; + } + getY(index5) { + let y2 = this.array[index5 * this.itemSize + 1]; + if (this.normalized) + y2 = denormalize(y2, this.array); + return y2; + } + setY(index5, y2) { + if (this.normalized) + y2 = normalize(y2, this.array); + this.array[index5 * this.itemSize + 1] = y2; + return this; + } + getZ(index5) { + let z2 = this.array[index5 * this.itemSize + 2]; + if (this.normalized) + z2 = denormalize(z2, this.array); + return z2; + } + setZ(index5, z2) { + if (this.normalized) + z2 = normalize(z2, this.array); + this.array[index5 * this.itemSize + 2] = z2; + return this; + } + getW(index5) { + let w = this.array[index5 * this.itemSize + 3]; + if (this.normalized) + w = denormalize(w, this.array); + return w; + } + setW(index5, w) { + if (this.normalized) + w = normalize(w, this.array); + this.array[index5 * this.itemSize + 3] = w; + return this; + } + setXY(index5, x2, y2) { + index5 *= this.itemSize; + if (this.normalized) { + x2 = normalize(x2, this.array); + y2 = normalize(y2, this.array); + } + this.array[index5 + 0] = x2; + this.array[index5 + 1] = y2; + return this; + } + setXYZ(index5, x2, y2, z2) { + index5 *= this.itemSize; + if (this.normalized) { + x2 = normalize(x2, this.array); + y2 = normalize(y2, this.array); + z2 = normalize(z2, this.array); + } + this.array[index5 + 0] = x2; + this.array[index5 + 1] = y2; + this.array[index5 + 2] = z2; + return this; + } + setXYZW(index5, x2, y2, z2, w) { + index5 *= this.itemSize; + if (this.normalized) { + x2 = normalize(x2, this.array); + y2 = normalize(y2, this.array); + z2 = normalize(z2, this.array); + w = normalize(w, this.array); + } + this.array[index5 + 0] = x2; + this.array[index5 + 1] = y2; + this.array[index5 + 2] = z2; + this.array[index5 + 3] = w; + return this; + } + onUpload(callback) { + this.onUploadCallback = callback; + return this; + } + clone() { + return new this.constructor(this.array, this.itemSize).copy(this); + } + toJSON() { + const data = { + itemSize: this.itemSize, + type: this.array.constructor.name, + array: Array.from(this.array), + normalized: this.normalized + }; + if (this.name !== "") + data.name = this.name; + if (this.usage !== StaticDrawUsage) + data.usage = this.usage; + if (this.updateRange.offset !== 0 || this.updateRange.count !== -1) + data.updateRange = this.updateRange; + return data; + } + copyColorsArray() { + console.error("THREE.BufferAttribute: copyColorsArray() was removed in r144."); + } + copyVector2sArray() { + console.error("THREE.BufferAttribute: copyVector2sArray() was removed in r144."); + } + copyVector3sArray() { + console.error("THREE.BufferAttribute: copyVector3sArray() was removed in r144."); + } + copyVector4sArray() { + console.error("THREE.BufferAttribute: copyVector4sArray() was removed in r144."); + } +}; +var Uint16BufferAttribute = class extends BufferAttribute { + constructor(array, itemSize, normalized) { + super(new Uint16Array(array), itemSize, normalized); + } +}; +var Uint32BufferAttribute = class extends BufferAttribute { + constructor(array, itemSize, normalized) { + super(new Uint32Array(array), itemSize, normalized); + } +}; +var Float32BufferAttribute = class extends BufferAttribute { + constructor(array, itemSize, normalized) { + super(new Float32Array(array), itemSize, normalized); + } +}; +var _id$1 = 0; +var _m1 = /* @__PURE__ */ new Matrix4(); +var _obj = /* @__PURE__ */ new Object3D(); +var _offset = /* @__PURE__ */ new Vector3(); +var _box$1 = /* @__PURE__ */ new Box3(); +var _boxMorphTargets = /* @__PURE__ */ new Box3(); +var _vector$8 = /* @__PURE__ */ new Vector3(); +var BufferGeometry = class extends EventDispatcher { + constructor() { + super(); + this.isBufferGeometry = true; + Object.defineProperty(this, "id", { value: _id$1++ }); + this.uuid = generateUUID(); + this.name = ""; + this.type = "BufferGeometry"; + this.index = null; + this.attributes = {}; + this.morphAttributes = {}; + this.morphTargetsRelative = false; + this.groups = []; + this.boundingBox = null; + this.boundingSphere = null; + this.drawRange = { start: 0, count: Infinity }; + this.userData = {}; + } + getIndex() { + return this.index; + } + setIndex(index5) { + if (Array.isArray(index5)) { + this.index = new (arrayNeedsUint32(index5) ? Uint32BufferAttribute : Uint16BufferAttribute)(index5, 1); + } else { + this.index = index5; + } + return this; + } + getAttribute(name) { + return this.attributes[name]; + } + setAttribute(name, attribute) { + this.attributes[name] = attribute; + return this; + } + deleteAttribute(name) { + delete this.attributes[name]; + return this; + } + hasAttribute(name) { + return this.attributes[name] !== void 0; + } + addGroup(start, count, materialIndex = 0) { + this.groups.push({ + start, + count, + materialIndex + }); + } + clearGroups() { + this.groups = []; + } + setDrawRange(start, count) { + this.drawRange.start = start; + this.drawRange.count = count; + } + applyMatrix4(matrix) { + const position = this.attributes.position; + if (position !== void 0) { + position.applyMatrix4(matrix); + position.needsUpdate = true; + } + const normal = this.attributes.normal; + if (normal !== void 0) { + const normalMatrix = new Matrix3().getNormalMatrix(matrix); + normal.applyNormalMatrix(normalMatrix); + normal.needsUpdate = true; + } + const tangent = this.attributes.tangent; + if (tangent !== void 0) { + tangent.transformDirection(matrix); + tangent.needsUpdate = true; + } + if (this.boundingBox !== null) { + this.computeBoundingBox(); + } + if (this.boundingSphere !== null) { + this.computeBoundingSphere(); + } + return this; + } + applyQuaternion(q) { + _m1.makeRotationFromQuaternion(q); + this.applyMatrix4(_m1); + return this; + } + rotateX(angle) { + _m1.makeRotationX(angle); + this.applyMatrix4(_m1); + return this; + } + rotateY(angle) { + _m1.makeRotationY(angle); + this.applyMatrix4(_m1); + return this; + } + rotateZ(angle) { + _m1.makeRotationZ(angle); + this.applyMatrix4(_m1); + return this; + } + translate(x2, y2, z2) { + _m1.makeTranslation(x2, y2, z2); + this.applyMatrix4(_m1); + return this; + } + scale(x2, y2, z2) { + _m1.makeScale(x2, y2, z2); + this.applyMatrix4(_m1); + return this; + } + lookAt(vector) { + _obj.lookAt(vector); + _obj.updateMatrix(); + this.applyMatrix4(_obj.matrix); + return this; + } + center() { + this.computeBoundingBox(); + this.boundingBox.getCenter(_offset).negate(); + this.translate(_offset.x, _offset.y, _offset.z); + return this; + } + setFromPoints(points) { + const position = []; + for (let i = 0, l = points.length; i < l; i++) { + const point = points[i]; + position.push(point.x, point.y, point.z || 0); + } + this.setAttribute("position", new Float32BufferAttribute(position, 3)); + return this; + } + computeBoundingBox() { + if (this.boundingBox === null) { + this.boundingBox = new Box3(); + } + const position = this.attributes.position; + const morphAttributesPosition = this.morphAttributes.position; + if (position && position.isGLBufferAttribute) { + console.error('THREE.BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box. Alternatively set "mesh.frustumCulled" to "false".', this); + this.boundingBox.set(new Vector3(-Infinity, -Infinity, -Infinity), new Vector3(Infinity, Infinity, Infinity)); + return; + } + if (position !== void 0) { + this.boundingBox.setFromBufferAttribute(position); + if (morphAttributesPosition) { + for (let i = 0, il = morphAttributesPosition.length; i < il; i++) { + const morphAttribute = morphAttributesPosition[i]; + _box$1.setFromBufferAttribute(morphAttribute); + if (this.morphTargetsRelative) { + _vector$8.addVectors(this.boundingBox.min, _box$1.min); + this.boundingBox.expandByPoint(_vector$8); + _vector$8.addVectors(this.boundingBox.max, _box$1.max); + this.boundingBox.expandByPoint(_vector$8); + } else { + this.boundingBox.expandByPoint(_box$1.min); + this.boundingBox.expandByPoint(_box$1.max); + } + } + } + } else { + this.boundingBox.makeEmpty(); + } + if (isNaN(this.boundingBox.min.x) || isNaN(this.boundingBox.min.y) || isNaN(this.boundingBox.min.z)) { + console.error('THREE.BufferGeometry.computeBoundingBox(): Computed min/max have NaN values. The "position" attribute is likely to have NaN values.', this); + } + } + computeBoundingSphere() { + if (this.boundingSphere === null) { + this.boundingSphere = new Sphere(); + } + const position = this.attributes.position; + const morphAttributesPosition = this.morphAttributes.position; + if (position && position.isGLBufferAttribute) { + console.error('THREE.BufferGeometry.computeBoundingSphere(): GLBufferAttribute requires a manual bounding sphere. Alternatively set "mesh.frustumCulled" to "false".', this); + this.boundingSphere.set(new Vector3(), Infinity); + return; + } + if (position) { + const center = this.boundingSphere.center; + _box$1.setFromBufferAttribute(position); + if (morphAttributesPosition) { + for (let i = 0, il = morphAttributesPosition.length; i < il; i++) { + const morphAttribute = morphAttributesPosition[i]; + _boxMorphTargets.setFromBufferAttribute(morphAttribute); + if (this.morphTargetsRelative) { + _vector$8.addVectors(_box$1.min, _boxMorphTargets.min); + _box$1.expandByPoint(_vector$8); + _vector$8.addVectors(_box$1.max, _boxMorphTargets.max); + _box$1.expandByPoint(_vector$8); + } else { + _box$1.expandByPoint(_boxMorphTargets.min); + _box$1.expandByPoint(_boxMorphTargets.max); + } + } + } + _box$1.getCenter(center); + let maxRadiusSq = 0; + for (let i = 0, il = position.count; i < il; i++) { + _vector$8.fromBufferAttribute(position, i); + maxRadiusSq = Math.max(maxRadiusSq, center.distanceToSquared(_vector$8)); + } + if (morphAttributesPosition) { + for (let i = 0, il = morphAttributesPosition.length; i < il; i++) { + const morphAttribute = morphAttributesPosition[i]; + const morphTargetsRelative = this.morphTargetsRelative; + for (let j = 0, jl = morphAttribute.count; j < jl; j++) { + _vector$8.fromBufferAttribute(morphAttribute, j); + if (morphTargetsRelative) { + _offset.fromBufferAttribute(position, j); + _vector$8.add(_offset); + } + maxRadiusSq = Math.max(maxRadiusSq, center.distanceToSquared(_vector$8)); + } + } + } + this.boundingSphere.radius = Math.sqrt(maxRadiusSq); + if (isNaN(this.boundingSphere.radius)) { + console.error('THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The "position" attribute is likely to have NaN values.', this); + } + } + } + computeTangents() { + const index5 = this.index; + const attributes = this.attributes; + if (index5 === null || attributes.position === void 0 || attributes.normal === void 0 || attributes.uv === void 0) { + console.error("THREE.BufferGeometry: .computeTangents() failed. Missing required attributes (index, position, normal or uv)"); + return; + } + const indices = index5.array; + const positions = attributes.position.array; + const normals = attributes.normal.array; + const uvs = attributes.uv.array; + const nVertices = positions.length / 3; + if (this.hasAttribute("tangent") === false) { + this.setAttribute("tangent", new BufferAttribute(new Float32Array(4 * nVertices), 4)); + } + const tangents = this.getAttribute("tangent").array; + const tan1 = [], tan2 = []; + for (let i = 0; i < nVertices; i++) { + tan1[i] = new Vector3(); + tan2[i] = new Vector3(); + } + const vA = new Vector3(), vB = new Vector3(), vC = new Vector3(), uvA = new Vector2(), uvB = new Vector2(), uvC = new Vector2(), sdir = new Vector3(), tdir = new Vector3(); + function handleTriangle(a2, b, c2) { + vA.fromArray(positions, a2 * 3); + vB.fromArray(positions, b * 3); + vC.fromArray(positions, c2 * 3); + uvA.fromArray(uvs, a2 * 2); + uvB.fromArray(uvs, b * 2); + uvC.fromArray(uvs, c2 * 2); + vB.sub(vA); + vC.sub(vA); + uvB.sub(uvA); + uvC.sub(uvA); + const r = 1 / (uvB.x * uvC.y - uvC.x * uvB.y); + if (!isFinite(r)) + return; + sdir.copy(vB).multiplyScalar(uvC.y).addScaledVector(vC, -uvB.y).multiplyScalar(r); + tdir.copy(vC).multiplyScalar(uvB.x).addScaledVector(vB, -uvC.x).multiplyScalar(r); + tan1[a2].add(sdir); + tan1[b].add(sdir); + tan1[c2].add(sdir); + tan2[a2].add(tdir); + tan2[b].add(tdir); + tan2[c2].add(tdir); + } + let groups = this.groups; + if (groups.length === 0) { + groups = [{ + start: 0, + count: indices.length + }]; + } + for (let i = 0, il = groups.length; i < il; ++i) { + const group = groups[i]; + const start = group.start; + const count = group.count; + for (let j = start, jl = start + count; j < jl; j += 3) { + handleTriangle(indices[j + 0], indices[j + 1], indices[j + 2]); + } + } + const tmp2 = new Vector3(), tmp22 = new Vector3(); + const n = new Vector3(), n2 = new Vector3(); + function handleVertex(v) { + n.fromArray(normals, v * 3); + n2.copy(n); + const t = tan1[v]; + tmp2.copy(t); + tmp2.sub(n.multiplyScalar(n.dot(t))).normalize(); + tmp22.crossVectors(n2, t); + const test = tmp22.dot(tan2[v]); + const w = test < 0 ? -1 : 1; + tangents[v * 4] = tmp2.x; + tangents[v * 4 + 1] = tmp2.y; + tangents[v * 4 + 2] = tmp2.z; + tangents[v * 4 + 3] = w; + } + for (let i = 0, il = groups.length; i < il; ++i) { + const group = groups[i]; + const start = group.start; + const count = group.count; + for (let j = start, jl = start + count; j < jl; j += 3) { + handleVertex(indices[j + 0]); + handleVertex(indices[j + 1]); + handleVertex(indices[j + 2]); + } + } + } + computeVertexNormals() { + const index5 = this.index; + const positionAttribute = this.getAttribute("position"); + if (positionAttribute !== void 0) { + let normalAttribute = this.getAttribute("normal"); + if (normalAttribute === void 0) { + normalAttribute = new BufferAttribute(new Float32Array(positionAttribute.count * 3), 3); + this.setAttribute("normal", normalAttribute); + } else { + for (let i = 0, il = normalAttribute.count; i < il; i++) { + normalAttribute.setXYZ(i, 0, 0, 0); + } + } + const pA = new Vector3(), pB = new Vector3(), pC = new Vector3(); + const nA = new Vector3(), nB = new Vector3(), nC = new Vector3(); + const cb = new Vector3(), ab = new Vector3(); + if (index5) { + for (let i = 0, il = index5.count; i < il; i += 3) { + const vA = index5.getX(i + 0); + const vB = index5.getX(i + 1); + const vC = index5.getX(i + 2); + pA.fromBufferAttribute(positionAttribute, vA); + pB.fromBufferAttribute(positionAttribute, vB); + pC.fromBufferAttribute(positionAttribute, vC); + cb.subVectors(pC, pB); + ab.subVectors(pA, pB); + cb.cross(ab); + nA.fromBufferAttribute(normalAttribute, vA); + nB.fromBufferAttribute(normalAttribute, vB); + nC.fromBufferAttribute(normalAttribute, vC); + nA.add(cb); + nB.add(cb); + nC.add(cb); + normalAttribute.setXYZ(vA, nA.x, nA.y, nA.z); + normalAttribute.setXYZ(vB, nB.x, nB.y, nB.z); + normalAttribute.setXYZ(vC, nC.x, nC.y, nC.z); + } + } else { + for (let i = 0, il = positionAttribute.count; i < il; i += 3) { + pA.fromBufferAttribute(positionAttribute, i + 0); + pB.fromBufferAttribute(positionAttribute, i + 1); + pC.fromBufferAttribute(positionAttribute, i + 2); + cb.subVectors(pC, pB); + ab.subVectors(pA, pB); + cb.cross(ab); + normalAttribute.setXYZ(i + 0, cb.x, cb.y, cb.z); + normalAttribute.setXYZ(i + 1, cb.x, cb.y, cb.z); + normalAttribute.setXYZ(i + 2, cb.x, cb.y, cb.z); + } + } + this.normalizeNormals(); + normalAttribute.needsUpdate = true; + } + } + merge() { + console.error("THREE.BufferGeometry.merge() has been removed. Use THREE.BufferGeometryUtils.mergeBufferGeometries() instead."); + return this; + } + normalizeNormals() { + const normals = this.attributes.normal; + for (let i = 0, il = normals.count; i < il; i++) { + _vector$8.fromBufferAttribute(normals, i); + _vector$8.normalize(); + normals.setXYZ(i, _vector$8.x, _vector$8.y, _vector$8.z); + } + } + toNonIndexed() { + function convertBufferAttribute(attribute, indices2) { + const array = attribute.array; + const itemSize = attribute.itemSize; + const normalized = attribute.normalized; + const array2 = new array.constructor(indices2.length * itemSize); + let index5 = 0, index22 = 0; + for (let i = 0, l = indices2.length; i < l; i++) { + if (attribute.isInterleavedBufferAttribute) { + index5 = indices2[i] * attribute.data.stride + attribute.offset; + } else { + index5 = indices2[i] * itemSize; + } + for (let j = 0; j < itemSize; j++) { + array2[index22++] = array[index5++]; + } + } + return new BufferAttribute(array2, itemSize, normalized); + } + if (this.index === null) { + console.warn("THREE.BufferGeometry.toNonIndexed(): BufferGeometry is already non-indexed."); + return this; + } + const geometry2 = new BufferGeometry(); + const indices = this.index.array; + const attributes = this.attributes; + for (const name in attributes) { + const attribute = attributes[name]; + const newAttribute = convertBufferAttribute(attribute, indices); + geometry2.setAttribute(name, newAttribute); + } + const morphAttributes = this.morphAttributes; + for (const name in morphAttributes) { + const morphArray = []; + const morphAttribute = morphAttributes[name]; + for (let i = 0, il = morphAttribute.length; i < il; i++) { + const attribute = morphAttribute[i]; + const newAttribute = convertBufferAttribute(attribute, indices); + morphArray.push(newAttribute); + } + geometry2.morphAttributes[name] = morphArray; + } + geometry2.morphTargetsRelative = this.morphTargetsRelative; + const groups = this.groups; + for (let i = 0, l = groups.length; i < l; i++) { + const group = groups[i]; + geometry2.addGroup(group.start, group.count, group.materialIndex); + } + return geometry2; + } + toJSON() { + const data = { + metadata: { + version: 4.5, + type: "BufferGeometry", + generator: "BufferGeometry.toJSON" + } + }; + data.uuid = this.uuid; + data.type = this.type; + if (this.name !== "") + data.name = this.name; + if (Object.keys(this.userData).length > 0) + data.userData = this.userData; + if (this.parameters !== void 0) { + const parameters = this.parameters; + for (const key in parameters) { + if (parameters[key] !== void 0) + data[key] = parameters[key]; + } + return data; + } + data.data = { attributes: {} }; + const index5 = this.index; + if (index5 !== null) { + data.data.index = { + type: index5.array.constructor.name, + array: Array.prototype.slice.call(index5.array) + }; + } + const attributes = this.attributes; + for (const key in attributes) { + const attribute = attributes[key]; + data.data.attributes[key] = attribute.toJSON(data.data); + } + const morphAttributes = {}; + let hasMorphAttributes = false; + for (const key in this.morphAttributes) { + const attributeArray = this.morphAttributes[key]; + const array = []; + for (let i = 0, il = attributeArray.length; i < il; i++) { + const attribute = attributeArray[i]; + array.push(attribute.toJSON(data.data)); + } + if (array.length > 0) { + morphAttributes[key] = array; + hasMorphAttributes = true; + } + } + if (hasMorphAttributes) { + data.data.morphAttributes = morphAttributes; + data.data.morphTargetsRelative = this.morphTargetsRelative; + } + const groups = this.groups; + if (groups.length > 0) { + data.data.groups = JSON.parse(JSON.stringify(groups)); + } + const boundingSphere = this.boundingSphere; + if (boundingSphere !== null) { + data.data.boundingSphere = { + center: boundingSphere.center.toArray(), + radius: boundingSphere.radius + }; + } + return data; + } + clone() { + return new this.constructor().copy(this); + } + copy(source) { + this.index = null; + this.attributes = {}; + this.morphAttributes = {}; + this.groups = []; + this.boundingBox = null; + this.boundingSphere = null; + const data = {}; + this.name = source.name; + const index5 = source.index; + if (index5 !== null) { + this.setIndex(index5.clone(data)); + } + const attributes = source.attributes; + for (const name in attributes) { + const attribute = attributes[name]; + this.setAttribute(name, attribute.clone(data)); + } + const morphAttributes = source.morphAttributes; + for (const name in morphAttributes) { + const array = []; + const morphAttribute = morphAttributes[name]; + for (let i = 0, l = morphAttribute.length; i < l; i++) { + array.push(morphAttribute[i].clone(data)); + } + this.morphAttributes[name] = array; + } + this.morphTargetsRelative = source.morphTargetsRelative; + const groups = source.groups; + for (let i = 0, l = groups.length; i < l; i++) { + const group = groups[i]; + this.addGroup(group.start, group.count, group.materialIndex); + } + const boundingBox = source.boundingBox; + if (boundingBox !== null) { + this.boundingBox = boundingBox.clone(); + } + const boundingSphere = source.boundingSphere; + if (boundingSphere !== null) { + this.boundingSphere = boundingSphere.clone(); + } + this.drawRange.start = source.drawRange.start; + this.drawRange.count = source.drawRange.count; + this.userData = source.userData; + if (source.parameters !== void 0) + this.parameters = Object.assign({}, source.parameters); + return this; + } + dispose() { + this.dispatchEvent({ type: "dispose" }); + } +}; +var _inverseMatrix$2 = /* @__PURE__ */ new Matrix4(); +var _ray$2 = /* @__PURE__ */ new Ray(); +var _sphere$3 = /* @__PURE__ */ new Sphere(); +var _vA$1 = /* @__PURE__ */ new Vector3(); +var _vB$1 = /* @__PURE__ */ new Vector3(); +var _vC$1 = /* @__PURE__ */ new Vector3(); +var _tempA = /* @__PURE__ */ new Vector3(); +var _tempB = /* @__PURE__ */ new Vector3(); +var _tempC = /* @__PURE__ */ new Vector3(); +var _morphA = /* @__PURE__ */ new Vector3(); +var _morphB = /* @__PURE__ */ new Vector3(); +var _morphC = /* @__PURE__ */ new Vector3(); +var _uvA$1 = /* @__PURE__ */ new Vector2(); +var _uvB$1 = /* @__PURE__ */ new Vector2(); +var _uvC$1 = /* @__PURE__ */ new Vector2(); +var _intersectionPoint = /* @__PURE__ */ new Vector3(); +var _intersectionPointWorld = /* @__PURE__ */ new Vector3(); +var Mesh = class extends Object3D { + constructor(geometry = new BufferGeometry(), material = new MeshBasicMaterial()) { + super(); + this.isMesh = true; + this.type = "Mesh"; + this.geometry = geometry; + this.material = material; + this.updateMorphTargets(); + } + copy(source, recursive) { + super.copy(source, recursive); + if (source.morphTargetInfluences !== void 0) { + this.morphTargetInfluences = source.morphTargetInfluences.slice(); + } + if (source.morphTargetDictionary !== void 0) { + this.morphTargetDictionary = Object.assign({}, source.morphTargetDictionary); + } + this.material = source.material; + this.geometry = source.geometry; + return this; + } + updateMorphTargets() { + const geometry = this.geometry; + const morphAttributes = geometry.morphAttributes; + const keys = Object.keys(morphAttributes); + if (keys.length > 0) { + const morphAttribute = morphAttributes[keys[0]]; + if (morphAttribute !== void 0) { + this.morphTargetInfluences = []; + this.morphTargetDictionary = {}; + for (let m2 = 0, ml = morphAttribute.length; m2 < ml; m2++) { + const name = morphAttribute[m2].name || String(m2); + this.morphTargetInfluences.push(0); + this.morphTargetDictionary[name] = m2; + } + } + } + } + raycast(raycaster, intersects) { + const geometry = this.geometry; + const material = this.material; + const matrixWorld = this.matrixWorld; + if (material === void 0) + return; + if (geometry.boundingSphere === null) + geometry.computeBoundingSphere(); + _sphere$3.copy(geometry.boundingSphere); + _sphere$3.applyMatrix4(matrixWorld); + if (raycaster.ray.intersectsSphere(_sphere$3) === false) + return; + _inverseMatrix$2.copy(matrixWorld).invert(); + _ray$2.copy(raycaster.ray).applyMatrix4(_inverseMatrix$2); + if (geometry.boundingBox !== null) { + if (_ray$2.intersectsBox(geometry.boundingBox) === false) + return; + } + let intersection; + const index5 = geometry.index; + const position = geometry.attributes.position; + const morphPosition = geometry.morphAttributes.position; + const morphTargetsRelative = geometry.morphTargetsRelative; + const uv = geometry.attributes.uv; + const uv2 = geometry.attributes.uv2; + const groups = geometry.groups; + const drawRange = geometry.drawRange; + if (index5 !== null) { + if (Array.isArray(material)) { + for (let i = 0, il = groups.length; i < il; i++) { + const group = groups[i]; + const groupMaterial = material[group.materialIndex]; + const start = Math.max(group.start, drawRange.start); + const end = Math.min(index5.count, Math.min(group.start + group.count, drawRange.start + drawRange.count)); + for (let j = start, jl = end; j < jl; j += 3) { + const a2 = index5.getX(j); + const b = index5.getX(j + 1); + const c2 = index5.getX(j + 2); + intersection = checkBufferGeometryIntersection(this, groupMaterial, raycaster, _ray$2, position, morphPosition, morphTargetsRelative, uv, uv2, a2, b, c2); + if (intersection) { + intersection.faceIndex = Math.floor(j / 3); + intersection.face.materialIndex = group.materialIndex; + intersects.push(intersection); + } + } + } + } else { + const start = Math.max(0, drawRange.start); + const end = Math.min(index5.count, drawRange.start + drawRange.count); + for (let i = start, il = end; i < il; i += 3) { + const a2 = index5.getX(i); + const b = index5.getX(i + 1); + const c2 = index5.getX(i + 2); + intersection = checkBufferGeometryIntersection(this, material, raycaster, _ray$2, position, morphPosition, morphTargetsRelative, uv, uv2, a2, b, c2); + if (intersection) { + intersection.faceIndex = Math.floor(i / 3); + intersects.push(intersection); + } + } + } + } else if (position !== void 0) { + if (Array.isArray(material)) { + for (let i = 0, il = groups.length; i < il; i++) { + const group = groups[i]; + const groupMaterial = material[group.materialIndex]; + const start = Math.max(group.start, drawRange.start); + const end = Math.min(position.count, Math.min(group.start + group.count, drawRange.start + drawRange.count)); + for (let j = start, jl = end; j < jl; j += 3) { + const a2 = j; + const b = j + 1; + const c2 = j + 2; + intersection = checkBufferGeometryIntersection(this, groupMaterial, raycaster, _ray$2, position, morphPosition, morphTargetsRelative, uv, uv2, a2, b, c2); + if (intersection) { + intersection.faceIndex = Math.floor(j / 3); + intersection.face.materialIndex = group.materialIndex; + intersects.push(intersection); + } + } + } + } else { + const start = Math.max(0, drawRange.start); + const end = Math.min(position.count, drawRange.start + drawRange.count); + for (let i = start, il = end; i < il; i += 3) { + const a2 = i; + const b = i + 1; + const c2 = i + 2; + intersection = checkBufferGeometryIntersection(this, material, raycaster, _ray$2, position, morphPosition, morphTargetsRelative, uv, uv2, a2, b, c2); + if (intersection) { + intersection.faceIndex = Math.floor(i / 3); + intersects.push(intersection); + } + } + } + } + } +}; +function checkIntersection(object, material, raycaster, ray, pA, pB, pC, point) { + let intersect; + if (material.side === BackSide) { + intersect = ray.intersectTriangle(pC, pB, pA, true, point); + } else { + intersect = ray.intersectTriangle(pA, pB, pC, material.side !== DoubleSide, point); + } + if (intersect === null) + return null; + _intersectionPointWorld.copy(point); + _intersectionPointWorld.applyMatrix4(object.matrixWorld); + const distance = raycaster.ray.origin.distanceTo(_intersectionPointWorld); + if (distance < raycaster.near || distance > raycaster.far) + return null; + return { + distance, + point: _intersectionPointWorld.clone(), + object + }; +} +function checkBufferGeometryIntersection(object, material, raycaster, ray, position, morphPosition, morphTargetsRelative, uv, uv2, a2, b, c2) { + _vA$1.fromBufferAttribute(position, a2); + _vB$1.fromBufferAttribute(position, b); + _vC$1.fromBufferAttribute(position, c2); + const morphInfluences = object.morphTargetInfluences; + if (morphPosition && morphInfluences) { + _morphA.set(0, 0, 0); + _morphB.set(0, 0, 0); + _morphC.set(0, 0, 0); + for (let i = 0, il = morphPosition.length; i < il; i++) { + const influence = morphInfluences[i]; + const morphAttribute = morphPosition[i]; + if (influence === 0) + continue; + _tempA.fromBufferAttribute(morphAttribute, a2); + _tempB.fromBufferAttribute(morphAttribute, b); + _tempC.fromBufferAttribute(morphAttribute, c2); + if (morphTargetsRelative) { + _morphA.addScaledVector(_tempA, influence); + _morphB.addScaledVector(_tempB, influence); + _morphC.addScaledVector(_tempC, influence); + } else { + _morphA.addScaledVector(_tempA.sub(_vA$1), influence); + _morphB.addScaledVector(_tempB.sub(_vB$1), influence); + _morphC.addScaledVector(_tempC.sub(_vC$1), influence); + } + } + _vA$1.add(_morphA); + _vB$1.add(_morphB); + _vC$1.add(_morphC); + } + if (object.isSkinnedMesh) { + object.boneTransform(a2, _vA$1); + object.boneTransform(b, _vB$1); + object.boneTransform(c2, _vC$1); + } + const intersection = checkIntersection(object, material, raycaster, ray, _vA$1, _vB$1, _vC$1, _intersectionPoint); + if (intersection) { + if (uv) { + _uvA$1.fromBufferAttribute(uv, a2); + _uvB$1.fromBufferAttribute(uv, b); + _uvC$1.fromBufferAttribute(uv, c2); + intersection.uv = Triangle.getUV(_intersectionPoint, _vA$1, _vB$1, _vC$1, _uvA$1, _uvB$1, _uvC$1, new Vector2()); + } + if (uv2) { + _uvA$1.fromBufferAttribute(uv2, a2); + _uvB$1.fromBufferAttribute(uv2, b); + _uvC$1.fromBufferAttribute(uv2, c2); + intersection.uv2 = Triangle.getUV(_intersectionPoint, _vA$1, _vB$1, _vC$1, _uvA$1, _uvB$1, _uvC$1, new Vector2()); + } + const face = { + a: a2, + b, + c: c2, + normal: new Vector3(), + materialIndex: 0 + }; + Triangle.getNormal(_vA$1, _vB$1, _vC$1, face.normal); + intersection.face = face; + } + return intersection; +} +var BoxGeometry = class extends BufferGeometry { + constructor(width = 1, height = 1, depth = 1, widthSegments = 1, heightSegments = 1, depthSegments = 1) { + super(); + this.type = "BoxGeometry"; + this.parameters = { + width, + height, + depth, + widthSegments, + heightSegments, + depthSegments + }; + const scope = this; + widthSegments = Math.floor(widthSegments); + heightSegments = Math.floor(heightSegments); + depthSegments = Math.floor(depthSegments); + const indices = []; + const vertices = []; + const normals = []; + const uvs = []; + let numberOfVertices = 0; + let groupStart = 0; + buildPlane("z", "y", "x", -1, -1, depth, height, width, depthSegments, heightSegments, 0); + buildPlane("z", "y", "x", 1, -1, depth, height, -width, depthSegments, heightSegments, 1); + buildPlane("x", "z", "y", 1, 1, width, depth, height, widthSegments, depthSegments, 2); + buildPlane("x", "z", "y", 1, -1, width, depth, -height, widthSegments, depthSegments, 3); + buildPlane("x", "y", "z", 1, -1, width, height, depth, widthSegments, heightSegments, 4); + buildPlane("x", "y", "z", -1, -1, width, height, -depth, widthSegments, heightSegments, 5); + this.setIndex(indices); + this.setAttribute("position", new Float32BufferAttribute(vertices, 3)); + this.setAttribute("normal", new Float32BufferAttribute(normals, 3)); + this.setAttribute("uv", new Float32BufferAttribute(uvs, 2)); + function buildPlane(u, v, w, udir, vdir, width2, height2, depth2, gridX, gridY, materialIndex) { + const segmentWidth = width2 / gridX; + const segmentHeight = height2 / gridY; + const widthHalf = width2 / 2; + const heightHalf = height2 / 2; + const depthHalf = depth2 / 2; + const gridX1 = gridX + 1; + const gridY1 = gridY + 1; + let vertexCounter = 0; + let groupCount = 0; + const vector = new Vector3(); + for (let iy = 0; iy < gridY1; iy++) { + const y2 = iy * segmentHeight - heightHalf; + for (let ix = 0; ix < gridX1; ix++) { + const x2 = ix * segmentWidth - widthHalf; + vector[u] = x2 * udir; + vector[v] = y2 * vdir; + vector[w] = depthHalf; + vertices.push(vector.x, vector.y, vector.z); + vector[u] = 0; + vector[v] = 0; + vector[w] = depth2 > 0 ? 1 : -1; + normals.push(vector.x, vector.y, vector.z); + uvs.push(ix / gridX); + uvs.push(1 - iy / gridY); + vertexCounter += 1; + } + } + for (let iy = 0; iy < gridY; iy++) { + for (let ix = 0; ix < gridX; ix++) { + const a2 = numberOfVertices + ix + gridX1 * iy; + const b = numberOfVertices + ix + gridX1 * (iy + 1); + const c2 = numberOfVertices + (ix + 1) + gridX1 * (iy + 1); + const d = numberOfVertices + (ix + 1) + gridX1 * iy; + indices.push(a2, b, d); + indices.push(b, c2, d); + groupCount += 6; + } + } + scope.addGroup(groupStart, groupCount, materialIndex); + groupStart += groupCount; + numberOfVertices += vertexCounter; + } + } + static fromJSON(data) { + return new BoxGeometry(data.width, data.height, data.depth, data.widthSegments, data.heightSegments, data.depthSegments); + } +}; +function cloneUniforms(src) { + const dst = {}; + for (const u in src) { + dst[u] = {}; + for (const p in src[u]) { + const property = src[u][p]; + if (property && (property.isColor || property.isMatrix3 || property.isMatrix4 || property.isVector2 || property.isVector3 || property.isVector4 || property.isTexture || property.isQuaternion)) { + dst[u][p] = property.clone(); + } else if (Array.isArray(property)) { + dst[u][p] = property.slice(); + } else { + dst[u][p] = property; + } + } + } + return dst; +} +function mergeUniforms(uniforms) { + const merged = {}; + for (let u = 0; u < uniforms.length; u++) { + const tmp2 = cloneUniforms(uniforms[u]); + for (const p in tmp2) { + merged[p] = tmp2[p]; + } + } + return merged; +} +function cloneUniformsGroups(src) { + const dst = []; + for (let u = 0; u < src.length; u++) { + dst.push(src[u].clone()); + } + return dst; +} +var UniformsUtils = { clone: cloneUniforms, merge: mergeUniforms }; +var default_vertex = "void main() {\n gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}"; +var default_fragment = "void main() {\n gl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );\n}"; +var ShaderMaterial = class extends Material { + constructor(parameters) { + super(); + this.isShaderMaterial = true; + this.type = "ShaderMaterial"; + this.defines = {}; + this.uniforms = {}; + this.uniformsGroups = []; + this.vertexShader = default_vertex; + this.fragmentShader = default_fragment; + this.linewidth = 1; + this.wireframe = false; + this.wireframeLinewidth = 1; + this.fog = false; + this.lights = false; + this.clipping = false; + this.extensions = { + derivatives: false, + fragDepth: false, + drawBuffers: false, + shaderTextureLOD: false + }; + this.defaultAttributeValues = { + "color": [1, 1, 1], + "uv": [0, 0], + "uv2": [0, 0] + }; + this.index0AttributeName = void 0; + this.uniformsNeedUpdate = false; + this.glslVersion = null; + if (parameters !== void 0) { + this.setValues(parameters); + } + } + copy(source) { + super.copy(source); + this.fragmentShader = source.fragmentShader; + this.vertexShader = source.vertexShader; + this.uniforms = cloneUniforms(source.uniforms); + this.uniformsGroups = cloneUniformsGroups(source.uniformsGroups); + this.defines = Object.assign({}, source.defines); + this.wireframe = source.wireframe; + this.wireframeLinewidth = source.wireframeLinewidth; + this.fog = source.fog; + this.lights = source.lights; + this.clipping = source.clipping; + this.extensions = Object.assign({}, source.extensions); + this.glslVersion = source.glslVersion; + return this; + } + toJSON(meta) { + const data = super.toJSON(meta); + data.glslVersion = this.glslVersion; + data.uniforms = {}; + for (const name in this.uniforms) { + const uniform = this.uniforms[name]; + const value = uniform.value; + if (value && value.isTexture) { + data.uniforms[name] = { + type: "t", + value: value.toJSON(meta).uuid + }; + } else if (value && value.isColor) { + data.uniforms[name] = { + type: "c", + value: value.getHex() + }; + } else if (value && value.isVector2) { + data.uniforms[name] = { + type: "v2", + value: value.toArray() + }; + } else if (value && value.isVector3) { + data.uniforms[name] = { + type: "v3", + value: value.toArray() + }; + } else if (value && value.isVector4) { + data.uniforms[name] = { + type: "v4", + value: value.toArray() + }; + } else if (value && value.isMatrix3) { + data.uniforms[name] = { + type: "m3", + value: value.toArray() + }; + } else if (value && value.isMatrix4) { + data.uniforms[name] = { + type: "m4", + value: value.toArray() + }; + } else { + data.uniforms[name] = { + value + }; + } + } + if (Object.keys(this.defines).length > 0) + data.defines = this.defines; + data.vertexShader = this.vertexShader; + data.fragmentShader = this.fragmentShader; + const extensions = {}; + for (const key in this.extensions) { + if (this.extensions[key] === true) + extensions[key] = true; + } + if (Object.keys(extensions).length > 0) + data.extensions = extensions; + return data; + } +}; +var Camera = class extends Object3D { + constructor() { + super(); + this.isCamera = true; + this.type = "Camera"; + this.matrixWorldInverse = new Matrix4(); + this.projectionMatrix = new Matrix4(); + this.projectionMatrixInverse = new Matrix4(); + } + copy(source, recursive) { + super.copy(source, recursive); + this.matrixWorldInverse.copy(source.matrixWorldInverse); + this.projectionMatrix.copy(source.projectionMatrix); + this.projectionMatrixInverse.copy(source.projectionMatrixInverse); + return this; + } + getWorldDirection(target) { + this.updateWorldMatrix(true, false); + const e = this.matrixWorld.elements; + return target.set(-e[8], -e[9], -e[10]).normalize(); + } + updateMatrixWorld(force) { + super.updateMatrixWorld(force); + this.matrixWorldInverse.copy(this.matrixWorld).invert(); + } + updateWorldMatrix(updateParents, updateChildren) { + super.updateWorldMatrix(updateParents, updateChildren); + this.matrixWorldInverse.copy(this.matrixWorld).invert(); + } + clone() { + return new this.constructor().copy(this); + } +}; +var PerspectiveCamera = class extends Camera { + constructor(fov2 = 50, aspect2 = 1, near = 0.1, far = 2e3) { + super(); + this.isPerspectiveCamera = true; + this.type = "PerspectiveCamera"; + this.fov = fov2; + this.zoom = 1; + this.near = near; + this.far = far; + this.focus = 10; + this.aspect = aspect2; + this.view = null; + this.filmGauge = 35; + this.filmOffset = 0; + this.updateProjectionMatrix(); + } + copy(source, recursive) { + super.copy(source, recursive); + this.fov = source.fov; + this.zoom = source.zoom; + this.near = source.near; + this.far = source.far; + this.focus = source.focus; + this.aspect = source.aspect; + this.view = source.view === null ? null : Object.assign({}, source.view); + this.filmGauge = source.filmGauge; + this.filmOffset = source.filmOffset; + return this; + } + setFocalLength(focalLength) { + const vExtentSlope = 0.5 * this.getFilmHeight() / focalLength; + this.fov = RAD2DEG * 2 * Math.atan(vExtentSlope); + this.updateProjectionMatrix(); + } + getFocalLength() { + const vExtentSlope = Math.tan(DEG2RAD * 0.5 * this.fov); + return 0.5 * this.getFilmHeight() / vExtentSlope; + } + getEffectiveFOV() { + return RAD2DEG * 2 * Math.atan(Math.tan(DEG2RAD * 0.5 * this.fov) / this.zoom); + } + getFilmWidth() { + return this.filmGauge * Math.min(this.aspect, 1); + } + getFilmHeight() { + return this.filmGauge / Math.max(this.aspect, 1); + } + setViewOffset(fullWidth, fullHeight, x2, y2, width, height) { + this.aspect = fullWidth / fullHeight; + if (this.view === null) { + this.view = { + enabled: true, + fullWidth: 1, + fullHeight: 1, + offsetX: 0, + offsetY: 0, + width: 1, + height: 1 + }; + } + this.view.enabled = true; + this.view.fullWidth = fullWidth; + this.view.fullHeight = fullHeight; + this.view.offsetX = x2; + this.view.offsetY = y2; + this.view.width = width; + this.view.height = height; + this.updateProjectionMatrix(); + } + clearViewOffset() { + if (this.view !== null) { + this.view.enabled = false; + } + this.updateProjectionMatrix(); + } + updateProjectionMatrix() { + const near = this.near; + let top = near * Math.tan(DEG2RAD * 0.5 * this.fov) / this.zoom; + let height = 2 * top; + let width = this.aspect * height; + let left = -0.5 * width; + const view = this.view; + if (this.view !== null && this.view.enabled) { + const fullWidth = view.fullWidth, fullHeight = view.fullHeight; + left += view.offsetX * width / fullWidth; + top -= view.offsetY * height / fullHeight; + width *= view.width / fullWidth; + height *= view.height / fullHeight; + } + const skew = this.filmOffset; + if (skew !== 0) + left += near * skew / this.getFilmWidth(); + this.projectionMatrix.makePerspective(left, left + width, top, top - height, near, this.far); + this.projectionMatrixInverse.copy(this.projectionMatrix).invert(); + } + toJSON(meta) { + const data = super.toJSON(meta); + data.object.fov = this.fov; + data.object.zoom = this.zoom; + data.object.near = this.near; + data.object.far = this.far; + data.object.focus = this.focus; + data.object.aspect = this.aspect; + if (this.view !== null) + data.object.view = Object.assign({}, this.view); + data.object.filmGauge = this.filmGauge; + data.object.filmOffset = this.filmOffset; + return data; + } +}; +var fov = 90; +var aspect = 1; +var CubeCamera = class extends Object3D { + constructor(near, far, renderTarget) { + super(); + this.type = "CubeCamera"; + this.renderTarget = renderTarget; + const cameraPX = new PerspectiveCamera(fov, aspect, near, far); + cameraPX.layers = this.layers; + cameraPX.up.set(0, -1, 0); + cameraPX.lookAt(new Vector3(1, 0, 0)); + this.add(cameraPX); + const cameraNX = new PerspectiveCamera(fov, aspect, near, far); + cameraNX.layers = this.layers; + cameraNX.up.set(0, -1, 0); + cameraNX.lookAt(new Vector3(-1, 0, 0)); + this.add(cameraNX); + const cameraPY = new PerspectiveCamera(fov, aspect, near, far); + cameraPY.layers = this.layers; + cameraPY.up.set(0, 0, 1); + cameraPY.lookAt(new Vector3(0, 1, 0)); + this.add(cameraPY); + const cameraNY = new PerspectiveCamera(fov, aspect, near, far); + cameraNY.layers = this.layers; + cameraNY.up.set(0, 0, -1); + cameraNY.lookAt(new Vector3(0, -1, 0)); + this.add(cameraNY); + const cameraPZ = new PerspectiveCamera(fov, aspect, near, far); + cameraPZ.layers = this.layers; + cameraPZ.up.set(0, -1, 0); + cameraPZ.lookAt(new Vector3(0, 0, 1)); + this.add(cameraPZ); + const cameraNZ = new PerspectiveCamera(fov, aspect, near, far); + cameraNZ.layers = this.layers; + cameraNZ.up.set(0, -1, 0); + cameraNZ.lookAt(new Vector3(0, 0, -1)); + this.add(cameraNZ); + } + update(renderer3, scene3) { + if (this.parent === null) + this.updateMatrixWorld(); + const renderTarget = this.renderTarget; + const [cameraPX, cameraNX, cameraPY, cameraNY, cameraPZ, cameraNZ] = this.children; + const currentRenderTarget = renderer3.getRenderTarget(); + const currentToneMapping = renderer3.toneMapping; + const currentXrEnabled = renderer3.xr.enabled; + renderer3.toneMapping = NoToneMapping; + renderer3.xr.enabled = false; + const generateMipmaps = renderTarget.texture.generateMipmaps; + renderTarget.texture.generateMipmaps = false; + renderer3.setRenderTarget(renderTarget, 0); + renderer3.render(scene3, cameraPX); + renderer3.setRenderTarget(renderTarget, 1); + renderer3.render(scene3, cameraNX); + renderer3.setRenderTarget(renderTarget, 2); + renderer3.render(scene3, cameraPY); + renderer3.setRenderTarget(renderTarget, 3); + renderer3.render(scene3, cameraNY); + renderer3.setRenderTarget(renderTarget, 4); + renderer3.render(scene3, cameraPZ); + renderTarget.texture.generateMipmaps = generateMipmaps; + renderer3.setRenderTarget(renderTarget, 5); + renderer3.render(scene3, cameraNZ); + renderer3.setRenderTarget(currentRenderTarget); + renderer3.toneMapping = currentToneMapping; + renderer3.xr.enabled = currentXrEnabled; + renderTarget.texture.needsPMREMUpdate = true; + } +}; +var CubeTexture = class extends Texture { + constructor(images, mapping, wrapS, wrapT, magFilter, minFilter, format2, type, anisotropy, encoding) { + images = images !== void 0 ? images : []; + mapping = mapping !== void 0 ? mapping : CubeReflectionMapping; + super(images, mapping, wrapS, wrapT, magFilter, minFilter, format2, type, anisotropy, encoding); + this.isCubeTexture = true; + this.flipY = false; + } + get images() { + return this.image; + } + set images(value) { + this.image = value; + } +}; +var WebGLCubeRenderTarget = class extends WebGLRenderTarget { + constructor(size = 1, options = {}) { + super(size, size, options); + this.isWebGLCubeRenderTarget = true; + const image = { width: size, height: size, depth: 1 }; + const images = [image, image, image, image, image, image]; + this.texture = new CubeTexture(images, options.mapping, options.wrapS, options.wrapT, options.magFilter, options.minFilter, options.format, options.type, options.anisotropy, options.encoding); + this.texture.isRenderTargetTexture = true; + this.texture.generateMipmaps = options.generateMipmaps !== void 0 ? options.generateMipmaps : false; + this.texture.minFilter = options.minFilter !== void 0 ? options.minFilter : LinearFilter; + } + fromEquirectangularTexture(renderer3, texture) { + this.texture.type = texture.type; + this.texture.encoding = texture.encoding; + this.texture.generateMipmaps = texture.generateMipmaps; + this.texture.minFilter = texture.minFilter; + this.texture.magFilter = texture.magFilter; + const shader = { + uniforms: { + tEquirect: { value: null } + }, + vertexShader: ` + + varying vec3 vWorldDirection; + + vec3 transformDirection( in vec3 dir, in mat4 matrix ) { + + return normalize( ( matrix * vec4( dir, 0.0 ) ).xyz ); + + } + + void main() { + + vWorldDirection = transformDirection( position, modelMatrix ); + + #include + #include + + } + `, + fragmentShader: ` + + uniform sampler2D tEquirect; + + varying vec3 vWorldDirection; + + #include + + void main() { + + vec3 direction = normalize( vWorldDirection ); + + vec2 sampleUV = equirectUv( direction ); + + gl_FragColor = texture2D( tEquirect, sampleUV ); + + } + ` + }; + const geometry = new BoxGeometry(5, 5, 5); + const material = new ShaderMaterial({ + name: "CubemapFromEquirect", + uniforms: cloneUniforms(shader.uniforms), + vertexShader: shader.vertexShader, + fragmentShader: shader.fragmentShader, + side: BackSide, + blending: NoBlending + }); + material.uniforms.tEquirect.value = texture; + const mesh = new Mesh(geometry, material); + const currentMinFilter = texture.minFilter; + if (texture.minFilter === LinearMipmapLinearFilter) + texture.minFilter = LinearFilter; + const camera3 = new CubeCamera(1, 10, this); + camera3.update(renderer3, mesh); + texture.minFilter = currentMinFilter; + mesh.geometry.dispose(); + mesh.material.dispose(); + return this; + } + clear(renderer3, color, depth, stencil) { + const currentRenderTarget = renderer3.getRenderTarget(); + for (let i = 0; i < 6; i++) { + renderer3.setRenderTarget(this, i); + renderer3.clear(color, depth, stencil); + } + renderer3.setRenderTarget(currentRenderTarget); + } +}; +var _vector1 = /* @__PURE__ */ new Vector3(); +var _vector2 = /* @__PURE__ */ new Vector3(); +var _normalMatrix = /* @__PURE__ */ new Matrix3(); +var Plane = class { + constructor(normal = new Vector3(1, 0, 0), constant = 0) { + this.isPlane = true; + this.normal = normal; + this.constant = constant; + } + set(normal, constant) { + this.normal.copy(normal); + this.constant = constant; + return this; + } + setComponents(x2, y2, z2, w) { + this.normal.set(x2, y2, z2); + this.constant = w; + return this; + } + setFromNormalAndCoplanarPoint(normal, point) { + this.normal.copy(normal); + this.constant = -point.dot(this.normal); + return this; + } + setFromCoplanarPoints(a2, b, c2) { + const normal = _vector1.subVectors(c2, b).cross(_vector2.subVectors(a2, b)).normalize(); + this.setFromNormalAndCoplanarPoint(normal, a2); + return this; + } + copy(plane) { + this.normal.copy(plane.normal); + this.constant = plane.constant; + return this; + } + normalize() { + const inverseNormalLength = 1 / this.normal.length(); + this.normal.multiplyScalar(inverseNormalLength); + this.constant *= inverseNormalLength; + return this; + } + negate() { + this.constant *= -1; + this.normal.negate(); + return this; + } + distanceToPoint(point) { + return this.normal.dot(point) + this.constant; + } + distanceToSphere(sphere) { + return this.distanceToPoint(sphere.center) - sphere.radius; + } + projectPoint(point, target) { + return target.copy(this.normal).multiplyScalar(-this.distanceToPoint(point)).add(point); + } + intersectLine(line, target) { + const direction = line.delta(_vector1); + const denominator = this.normal.dot(direction); + if (denominator === 0) { + if (this.distanceToPoint(line.start) === 0) { + return target.copy(line.start); + } + return null; + } + const t = -(line.start.dot(this.normal) + this.constant) / denominator; + if (t < 0 || t > 1) { + return null; + } + return target.copy(direction).multiplyScalar(t).add(line.start); + } + intersectsLine(line) { + const startSign = this.distanceToPoint(line.start); + const endSign = this.distanceToPoint(line.end); + return startSign < 0 && endSign > 0 || endSign < 0 && startSign > 0; + } + intersectsBox(box) { + return box.intersectsPlane(this); + } + intersectsSphere(sphere) { + return sphere.intersectsPlane(this); + } + coplanarPoint(target) { + return target.copy(this.normal).multiplyScalar(-this.constant); + } + applyMatrix4(matrix, optionalNormalMatrix) { + const normalMatrix = optionalNormalMatrix || _normalMatrix.getNormalMatrix(matrix); + const referencePoint = this.coplanarPoint(_vector1).applyMatrix4(matrix); + const normal = this.normal.applyMatrix3(normalMatrix).normalize(); + this.constant = -referencePoint.dot(normal); + return this; + } + translate(offset) { + this.constant -= offset.dot(this.normal); + return this; + } + equals(plane) { + return plane.normal.equals(this.normal) && plane.constant === this.constant; + } + clone() { + return new this.constructor().copy(this); + } +}; +var _sphere$2 = /* @__PURE__ */ new Sphere(); +var _vector$7 = /* @__PURE__ */ new Vector3(); +var Frustum = class { + constructor(p0 = new Plane(), p1 = new Plane(), p2 = new Plane(), p3 = new Plane(), p4 = new Plane(), p5 = new Plane()) { + this.planes = [p0, p1, p2, p3, p4, p5]; + } + set(p0, p1, p2, p3, p4, p5) { + const planes = this.planes; + planes[0].copy(p0); + planes[1].copy(p1); + planes[2].copy(p2); + planes[3].copy(p3); + planes[4].copy(p4); + planes[5].copy(p5); + return this; + } + copy(frustum) { + const planes = this.planes; + for (let i = 0; i < 6; i++) { + planes[i].copy(frustum.planes[i]); + } + return this; + } + setFromProjectionMatrix(m2) { + const planes = this.planes; + const me = m2.elements; + const me0 = me[0], me1 = me[1], me2 = me[2], me3 = me[3]; + const me4 = me[4], me5 = me[5], me6 = me[6], me7 = me[7]; + const me8 = me[8], me9 = me[9], me10 = me[10], me11 = me[11]; + const me12 = me[12], me13 = me[13], me14 = me[14], me15 = me[15]; + planes[0].setComponents(me3 - me0, me7 - me4, me11 - me8, me15 - me12).normalize(); + planes[1].setComponents(me3 + me0, me7 + me4, me11 + me8, me15 + me12).normalize(); + planes[2].setComponents(me3 + me1, me7 + me5, me11 + me9, me15 + me13).normalize(); + planes[3].setComponents(me3 - me1, me7 - me5, me11 - me9, me15 - me13).normalize(); + planes[4].setComponents(me3 - me2, me7 - me6, me11 - me10, me15 - me14).normalize(); + planes[5].setComponents(me3 + me2, me7 + me6, me11 + me10, me15 + me14).normalize(); + return this; + } + intersectsObject(object) { + const geometry = object.geometry; + if (geometry.boundingSphere === null) + geometry.computeBoundingSphere(); + _sphere$2.copy(geometry.boundingSphere).applyMatrix4(object.matrixWorld); + return this.intersectsSphere(_sphere$2); + } + intersectsSprite(sprite) { + _sphere$2.center.set(0, 0, 0); + _sphere$2.radius = 0.7071067811865476; + _sphere$2.applyMatrix4(sprite.matrixWorld); + return this.intersectsSphere(_sphere$2); + } + intersectsSphere(sphere) { + const planes = this.planes; + const center = sphere.center; + const negRadius = -sphere.radius; + for (let i = 0; i < 6; i++) { + const distance = planes[i].distanceToPoint(center); + if (distance < negRadius) { + return false; + } + } + return true; + } + intersectsBox(box) { + const planes = this.planes; + for (let i = 0; i < 6; i++) { + const plane = planes[i]; + _vector$7.x = plane.normal.x > 0 ? box.max.x : box.min.x; + _vector$7.y = plane.normal.y > 0 ? box.max.y : box.min.y; + _vector$7.z = plane.normal.z > 0 ? box.max.z : box.min.z; + if (plane.distanceToPoint(_vector$7) < 0) { + return false; + } + } + return true; + } + containsPoint(point) { + const planes = this.planes; + for (let i = 0; i < 6; i++) { + if (planes[i].distanceToPoint(point) < 0) { + return false; + } + } + return true; + } + clone() { + return new this.constructor().copy(this); + } +}; +function WebGLAnimation() { + let context = null; + let isAnimating = false; + let animationLoop = null; + let requestId = null; + function onAnimationFrame(time, frame2) { + animationLoop(time, frame2); + requestId = context.requestAnimationFrame(onAnimationFrame); + } + return { + start: function() { + if (isAnimating === true) + return; + if (animationLoop === null) + return; + requestId = context.requestAnimationFrame(onAnimationFrame); + isAnimating = true; + }, + stop: function() { + context.cancelAnimationFrame(requestId); + isAnimating = false; + }, + setAnimationLoop: function(callback) { + animationLoop = callback; + }, + setContext: function(value) { + context = value; + } + }; +} +function WebGLAttributes(gl, capabilities) { + const isWebGL2 = capabilities.isWebGL2; + const buffers = /* @__PURE__ */ new WeakMap(); + function createBuffer(attribute, bufferType) { + const array = attribute.array; + const usage = attribute.usage; + const buffer = gl.createBuffer(); + gl.bindBuffer(bufferType, buffer); + gl.bufferData(bufferType, array, usage); + attribute.onUploadCallback(); + let type; + if (array instanceof Float32Array) { + type = 5126; + } else if (array instanceof Uint16Array) { + if (attribute.isFloat16BufferAttribute) { + if (isWebGL2) { + type = 5131; + } else { + throw new Error("THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2."); + } + } else { + type = 5123; + } + } else if (array instanceof Int16Array) { + type = 5122; + } else if (array instanceof Uint32Array) { + type = 5125; + } else if (array instanceof Int32Array) { + type = 5124; + } else if (array instanceof Int8Array) { + type = 5120; + } else if (array instanceof Uint8Array) { + type = 5121; + } else if (array instanceof Uint8ClampedArray) { + type = 5121; + } else { + throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: " + array); + } + return { + buffer, + type, + bytesPerElement: array.BYTES_PER_ELEMENT, + version: attribute.version + }; + } + function updateBuffer(buffer, attribute, bufferType) { + const array = attribute.array; + const updateRange = attribute.updateRange; + gl.bindBuffer(bufferType, buffer); + if (updateRange.count === -1) { + gl.bufferSubData(bufferType, 0, array); + } else { + if (isWebGL2) { + gl.bufferSubData(bufferType, updateRange.offset * array.BYTES_PER_ELEMENT, array, updateRange.offset, updateRange.count); + } else { + gl.bufferSubData(bufferType, updateRange.offset * array.BYTES_PER_ELEMENT, array.subarray(updateRange.offset, updateRange.offset + updateRange.count)); + } + updateRange.count = -1; + } + } + function get2(attribute) { + if (attribute.isInterleavedBufferAttribute) + attribute = attribute.data; + return buffers.get(attribute); + } + function remove2(attribute) { + if (attribute.isInterleavedBufferAttribute) + attribute = attribute.data; + const data = buffers.get(attribute); + if (data) { + gl.deleteBuffer(data.buffer); + buffers.delete(attribute); + } + } + function update4(attribute, bufferType) { + if (attribute.isGLBufferAttribute) { + const cached = buffers.get(attribute); + if (!cached || cached.version < attribute.version) { + buffers.set(attribute, { + buffer: attribute.buffer, + type: attribute.type, + bytesPerElement: attribute.elementSize, + version: attribute.version + }); + } + return; + } + if (attribute.isInterleavedBufferAttribute) + attribute = attribute.data; + const data = buffers.get(attribute); + if (data === void 0) { + buffers.set(attribute, createBuffer(attribute, bufferType)); + } else if (data.version < attribute.version) { + updateBuffer(data.buffer, attribute, bufferType); + data.version = attribute.version; + } + } + return { + get: get2, + remove: remove2, + update: update4 + }; +} +var PlaneGeometry = class extends BufferGeometry { + constructor(width = 1, height = 1, widthSegments = 1, heightSegments = 1) { + super(); + this.type = "PlaneGeometry"; + this.parameters = { + width, + height, + widthSegments, + heightSegments + }; + const width_half = width / 2; + const height_half = height / 2; + const gridX = Math.floor(widthSegments); + const gridY = Math.floor(heightSegments); + const gridX1 = gridX + 1; + const gridY1 = gridY + 1; + const segment_width = width / gridX; + const segment_height = height / gridY; + const indices = []; + const vertices = []; + const normals = []; + const uvs = []; + for (let iy = 0; iy < gridY1; iy++) { + const y2 = iy * segment_height - height_half; + for (let ix = 0; ix < gridX1; ix++) { + const x2 = ix * segment_width - width_half; + vertices.push(x2, -y2, 0); + normals.push(0, 0, 1); + uvs.push(ix / gridX); + uvs.push(1 - iy / gridY); + } + } + for (let iy = 0; iy < gridY; iy++) { + for (let ix = 0; ix < gridX; ix++) { + const a2 = ix + gridX1 * iy; + const b = ix + gridX1 * (iy + 1); + const c2 = ix + 1 + gridX1 * (iy + 1); + const d = ix + 1 + gridX1 * iy; + indices.push(a2, b, d); + indices.push(b, c2, d); + } + } + this.setIndex(indices); + this.setAttribute("position", new Float32BufferAttribute(vertices, 3)); + this.setAttribute("normal", new Float32BufferAttribute(normals, 3)); + this.setAttribute("uv", new Float32BufferAttribute(uvs, 2)); + } + static fromJSON(data) { + return new PlaneGeometry(data.width, data.height, data.widthSegments, data.heightSegments); + } +}; +var alphamap_fragment = "#ifdef USE_ALPHAMAP\n diffuseColor.a *= texture2D( alphaMap, vUv ).g;\n#endif"; +var alphamap_pars_fragment = "#ifdef USE_ALPHAMAP\n uniform sampler2D alphaMap;\n#endif"; +var alphatest_fragment = "#ifdef USE_ALPHATEST\n if ( diffuseColor.a < alphaTest ) discard;\n#endif"; +var alphatest_pars_fragment = "#ifdef USE_ALPHATEST\n uniform float alphaTest;\n#endif"; +var aomap_fragment = "#ifdef USE_AOMAP\n float ambientOcclusion = ( texture2D( aoMap, vUv2 ).r - 1.0 ) * aoMapIntensity + 1.0;\n reflectedLight.indirectDiffuse *= ambientOcclusion;\n #if defined( USE_ENVMAP ) && defined( STANDARD )\n float dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n reflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.roughness );\n #endif\n#endif"; +var aomap_pars_fragment = "#ifdef USE_AOMAP\n uniform sampler2D aoMap;\n uniform float aoMapIntensity;\n#endif"; +var begin_vertex = "vec3 transformed = vec3( position );"; +var beginnormal_vertex = "vec3 objectNormal = vec3( normal );\n#ifdef USE_TANGENT\n vec3 objectTangent = vec3( tangent.xyz );\n#endif"; +var bsdfs = "vec3 BRDF_Lambert( const in vec3 diffuseColor ) {\n return RECIPROCAL_PI * diffuseColor;\n}\nvec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) {\n float fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );\n return f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );\n}\nfloat F_Schlick( const in float f0, const in float f90, const in float dotVH ) {\n float fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );\n return f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );\n}\nvec3 Schlick_to_F0( const in vec3 f, const in float f90, const in float dotVH ) {\n float x = clamp( 1.0 - dotVH, 0.0, 1.0 );\n float x2 = x * x;\n float x5 = clamp( x * x2 * x2, 0.0, 0.9999 );\n return ( f - vec3( f90 ) * x5 ) / ( 1.0 - x5 );\n}\nfloat V_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {\n float a2 = pow2( alpha );\n float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n return 0.5 / max( gv + gl, EPSILON );\n}\nfloat D_GGX( const in float alpha, const in float dotNH ) {\n float a2 = pow2( alpha );\n float denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;\n return RECIPROCAL_PI * a2 / pow2( denom );\n}\nvec3 BRDF_GGX( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 f0, const in float f90, const in float roughness ) {\n float alpha = pow2( roughness );\n vec3 halfDir = normalize( lightDir + viewDir );\n float dotNL = saturate( dot( normal, lightDir ) );\n float dotNV = saturate( dot( normal, viewDir ) );\n float dotNH = saturate( dot( normal, halfDir ) );\n float dotVH = saturate( dot( viewDir, halfDir ) );\n vec3 F = F_Schlick( f0, f90, dotVH );\n float V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n float D = D_GGX( alpha, dotNH );\n return F * ( V * D );\n}\n#ifdef USE_IRIDESCENCE\n vec3 BRDF_GGX_Iridescence( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 f0, const in float f90, const in float iridescence, const in vec3 iridescenceFresnel, const in float roughness ) {\n float alpha = pow2( roughness );\n vec3 halfDir = normalize( lightDir + viewDir );\n float dotNL = saturate( dot( normal, lightDir ) );\n float dotNV = saturate( dot( normal, viewDir ) );\n float dotNH = saturate( dot( normal, halfDir ) );\n float dotVH = saturate( dot( viewDir, halfDir ) );\n vec3 F = mix( F_Schlick( f0, f90, dotVH ), iridescenceFresnel, iridescence );\n float V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n float D = D_GGX( alpha, dotNH );\n return F * ( V * D );\n }\n#endif\nvec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {\n const float LUT_SIZE = 64.0;\n const float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\n const float LUT_BIAS = 0.5 / LUT_SIZE;\n float dotNV = saturate( dot( N, V ) );\n vec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );\n uv = uv * LUT_SCALE + LUT_BIAS;\n return uv;\n}\nfloat LTC_ClippedSphereFormFactor( const in vec3 f ) {\n float l = length( f );\n return max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );\n}\nvec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {\n float x = dot( v1, v2 );\n float y = abs( x );\n float a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;\n float b = 3.4175940 + ( 4.1616724 + y ) * y;\n float v = a / b;\n float theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\n return cross( v1, v2 ) * theta_sintheta;\n}\nvec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {\n vec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];\n vec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];\n vec3 lightNormal = cross( v1, v2 );\n if( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );\n vec3 T1, T2;\n T1 = normalize( V - N * dot( V, N ) );\n T2 = - cross( N, T1 );\n mat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );\n vec3 coords[ 4 ];\n coords[ 0 ] = mat * ( rectCoords[ 0 ] - P );\n coords[ 1 ] = mat * ( rectCoords[ 1 ] - P );\n coords[ 2 ] = mat * ( rectCoords[ 2 ] - P );\n coords[ 3 ] = mat * ( rectCoords[ 3 ] - P );\n coords[ 0 ] = normalize( coords[ 0 ] );\n coords[ 1 ] = normalize( coords[ 1 ] );\n coords[ 2 ] = normalize( coords[ 2 ] );\n coords[ 3 ] = normalize( coords[ 3 ] );\n vec3 vectorFormFactor = vec3( 0.0 );\n vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\n vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\n vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\n vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\n float result = LTC_ClippedSphereFormFactor( vectorFormFactor );\n return vec3( result );\n}\nfloat G_BlinnPhong_Implicit( ) {\n return 0.25;\n}\nfloat D_BlinnPhong( const in float shininess, const in float dotNH ) {\n return RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );\n}\nvec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float shininess ) {\n vec3 halfDir = normalize( lightDir + viewDir );\n float dotNH = saturate( dot( normal, halfDir ) );\n float dotVH = saturate( dot( viewDir, halfDir ) );\n vec3 F = F_Schlick( specularColor, 1.0, dotVH );\n float G = G_BlinnPhong_Implicit( );\n float D = D_BlinnPhong( shininess, dotNH );\n return F * ( G * D );\n}\n#if defined( USE_SHEEN )\nfloat D_Charlie( float roughness, float dotNH ) {\n float alpha = pow2( roughness );\n float invAlpha = 1.0 / alpha;\n float cos2h = dotNH * dotNH;\n float sin2h = max( 1.0 - cos2h, 0.0078125 );\n return ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI );\n}\nfloat V_Neubelt( float dotNV, float dotNL ) {\n return saturate( 1.0 / ( 4.0 * ( dotNL + dotNV - dotNL * dotNV ) ) );\n}\nvec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, vec3 sheenColor, const in float sheenRoughness ) {\n vec3 halfDir = normalize( lightDir + viewDir );\n float dotNL = saturate( dot( normal, lightDir ) );\n float dotNV = saturate( dot( normal, viewDir ) );\n float dotNH = saturate( dot( normal, halfDir ) );\n float D = D_Charlie( sheenRoughness, dotNH );\n float V = V_Neubelt( dotNV, dotNL );\n return sheenColor * ( D * V );\n}\n#endif"; +var iridescence_fragment = "#ifdef USE_IRIDESCENCE\n const mat3 XYZ_TO_REC709 = mat3(\n 3.2404542, -0.9692660, 0.0556434,\n -1.5371385, 1.8760108, -0.2040259,\n -0.4985314, 0.0415560, 1.0572252\n );\n vec3 Fresnel0ToIor( vec3 fresnel0 ) {\n vec3 sqrtF0 = sqrt( fresnel0 );\n return ( vec3( 1.0 ) + sqrtF0 ) / ( vec3( 1.0 ) - sqrtF0 );\n }\n vec3 IorToFresnel0( vec3 transmittedIor, float incidentIor ) {\n return pow2( ( transmittedIor - vec3( incidentIor ) ) / ( transmittedIor + vec3( incidentIor ) ) );\n }\n float IorToFresnel0( float transmittedIor, float incidentIor ) {\n return pow2( ( transmittedIor - incidentIor ) / ( transmittedIor + incidentIor ));\n }\n vec3 evalSensitivity( float OPD, vec3 shift ) {\n float phase = 2.0 * PI * OPD * 1.0e-9;\n vec3 val = vec3( 5.4856e-13, 4.4201e-13, 5.2481e-13 );\n vec3 pos = vec3( 1.6810e+06, 1.7953e+06, 2.2084e+06 );\n vec3 var = vec3( 4.3278e+09, 9.3046e+09, 6.6121e+09 );\n vec3 xyz = val * sqrt( 2.0 * PI * var ) * cos( pos * phase + shift ) * exp( - pow2( phase ) * var );\n xyz.x += 9.7470e-14 * sqrt( 2.0 * PI * 4.5282e+09 ) * cos( 2.2399e+06 * phase + shift[ 0 ] ) * exp( - 4.5282e+09 * pow2( phase ) );\n xyz /= 1.0685e-7;\n vec3 rgb = XYZ_TO_REC709 * xyz;\n return rgb;\n }\n vec3 evalIridescence( float outsideIOR, float eta2, float cosTheta1, float thinFilmThickness, vec3 baseF0 ) {\n vec3 I;\n float iridescenceIOR = mix( outsideIOR, eta2, smoothstep( 0.0, 0.03, thinFilmThickness ) );\n float sinTheta2Sq = pow2( outsideIOR / iridescenceIOR ) * ( 1.0 - pow2( cosTheta1 ) );\n float cosTheta2Sq = 1.0 - sinTheta2Sq;\n if ( cosTheta2Sq < 0.0 ) {\n return vec3( 1.0 );\n }\n float cosTheta2 = sqrt( cosTheta2Sq );\n float R0 = IorToFresnel0( iridescenceIOR, outsideIOR );\n float R12 = F_Schlick( R0, 1.0, cosTheta1 );\n float R21 = R12;\n float T121 = 1.0 - R12;\n float phi12 = 0.0;\n if ( iridescenceIOR < outsideIOR ) phi12 = PI;\n float phi21 = PI - phi12;\n vec3 baseIOR = Fresnel0ToIor( clamp( baseF0, 0.0, 0.9999 ) ); vec3 R1 = IorToFresnel0( baseIOR, iridescenceIOR );\n vec3 R23 = F_Schlick( R1, 1.0, cosTheta2 );\n vec3 phi23 = vec3( 0.0 );\n if ( baseIOR[ 0 ] < iridescenceIOR ) phi23[ 0 ] = PI;\n if ( baseIOR[ 1 ] < iridescenceIOR ) phi23[ 1 ] = PI;\n if ( baseIOR[ 2 ] < iridescenceIOR ) phi23[ 2 ] = PI;\n float OPD = 2.0 * iridescenceIOR * thinFilmThickness * cosTheta2;\n vec3 phi = vec3( phi21 ) + phi23;\n vec3 R123 = clamp( R12 * R23, 1e-5, 0.9999 );\n vec3 r123 = sqrt( R123 );\n vec3 Rs = pow2( T121 ) * R23 / ( vec3( 1.0 ) - R123 );\n vec3 C0 = R12 + Rs;\n I = C0;\n vec3 Cm = Rs - T121;\n for ( int m = 1; m <= 2; ++ m ) {\n Cm *= r123;\n vec3 Sm = 2.0 * evalSensitivity( float( m ) * OPD, float( m ) * phi );\n I += Cm * Sm;\n }\n return max( I, vec3( 0.0 ) );\n }\n#endif"; +var bumpmap_pars_fragment = "#ifdef USE_BUMPMAP\n uniform sampler2D bumpMap;\n uniform float bumpScale;\n vec2 dHdxy_fwd() {\n vec2 dSTdx = dFdx( vUv );\n vec2 dSTdy = dFdy( vUv );\n float Hll = bumpScale * texture2D( bumpMap, vUv ).x;\n float dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;\n float dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;\n return vec2( dBx, dBy );\n }\n vec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy, float faceDirection ) {\n vec3 vSigmaX = dFdx( surf_pos.xyz );\n vec3 vSigmaY = dFdy( surf_pos.xyz );\n vec3 vN = surf_norm;\n vec3 R1 = cross( vSigmaY, vN );\n vec3 R2 = cross( vN, vSigmaX );\n float fDet = dot( vSigmaX, R1 ) * faceDirection;\n vec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\n return normalize( abs( fDet ) * surf_norm - vGrad );\n }\n#endif"; +var clipping_planes_fragment = "#if NUM_CLIPPING_PLANES > 0\n vec4 plane;\n #pragma unroll_loop_start\n for ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\n plane = clippingPlanes[ i ];\n if ( dot( vClipPosition, plane.xyz ) > plane.w ) discard;\n }\n #pragma unroll_loop_end\n #if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n bool clipped = true;\n #pragma unroll_loop_start\n for ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\n plane = clippingPlanes[ i ];\n clipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped;\n }\n #pragma unroll_loop_end\n if ( clipped ) discard;\n #endif\n#endif"; +var clipping_planes_pars_fragment = "#if NUM_CLIPPING_PLANES > 0\n varying vec3 vClipPosition;\n uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\n#endif"; +var clipping_planes_pars_vertex = "#if NUM_CLIPPING_PLANES > 0\n varying vec3 vClipPosition;\n#endif"; +var clipping_planes_vertex = "#if NUM_CLIPPING_PLANES > 0\n vClipPosition = - mvPosition.xyz;\n#endif"; +var color_fragment = "#if defined( USE_COLOR_ALPHA )\n diffuseColor *= vColor;\n#elif defined( USE_COLOR )\n diffuseColor.rgb *= vColor;\n#endif"; +var color_pars_fragment = "#if defined( USE_COLOR_ALPHA )\n varying vec4 vColor;\n#elif defined( USE_COLOR )\n varying vec3 vColor;\n#endif"; +var color_pars_vertex = "#if defined( USE_COLOR_ALPHA )\n varying vec4 vColor;\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n varying vec3 vColor;\n#endif"; +var color_vertex = "#if defined( USE_COLOR_ALPHA )\n vColor = vec4( 1.0 );\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n vColor = vec3( 1.0 );\n#endif\n#ifdef USE_COLOR\n vColor *= color;\n#endif\n#ifdef USE_INSTANCING_COLOR\n vColor.xyz *= instanceColor.xyz;\n#endif"; +var common = "#define PI 3.141592653589793\n#define PI2 6.283185307179586\n#define PI_HALF 1.5707963267948966\n#define RECIPROCAL_PI 0.3183098861837907\n#define RECIPROCAL_PI2 0.15915494309189535\n#define EPSILON 1e-6\n#ifndef saturate\n#define saturate( a ) clamp( a, 0.0, 1.0 )\n#endif\n#define whiteComplement( a ) ( 1.0 - saturate( a ) )\nfloat pow2( const in float x ) { return x*x; }\nvec3 pow2( const in vec3 x ) { return x*x; }\nfloat pow3( const in float x ) { return x*x*x; }\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\nfloat max3( const in vec3 v ) { return max( max( v.x, v.y ), v.z ); }\nfloat average( const in vec3 v ) { return dot( v, vec3( 0.3333333 ) ); }\nhighp float rand( const in vec2 uv ) {\n const highp float a = 12.9898, b = 78.233, c = 43758.5453;\n highp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\n return fract( sin( sn ) * c );\n}\n#ifdef HIGH_PRECISION\n float precisionSafeLength( vec3 v ) { return length( v ); }\n#else\n float precisionSafeLength( vec3 v ) {\n float maxComponent = max3( abs( v ) );\n return length( v / maxComponent ) * maxComponent;\n }\n#endif\nstruct IncidentLight {\n vec3 color;\n vec3 direction;\n bool visible;\n};\nstruct ReflectedLight {\n vec3 directDiffuse;\n vec3 directSpecular;\n vec3 indirectDiffuse;\n vec3 indirectSpecular;\n};\nstruct GeometricContext {\n vec3 position;\n vec3 normal;\n vec3 viewDir;\n#ifdef USE_CLEARCOAT\n vec3 clearcoatNormal;\n#endif\n};\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n return normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n}\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\n return normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\n}\nmat3 transposeMat3( const in mat3 m ) {\n mat3 tmp;\n tmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\n tmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\n tmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\n return tmp;\n}\nfloat luminance( const in vec3 rgb ) {\n const vec3 weights = vec3( 0.2126729, 0.7151522, 0.0721750 );\n return dot( weights, rgb );\n}\nbool isPerspectiveMatrix( mat4 m ) {\n return m[ 2 ][ 3 ] == - 1.0;\n}\nvec2 equirectUv( in vec3 dir ) {\n float u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5;\n float v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n return vec2( u, v );\n}"; +var cube_uv_reflection_fragment = "#ifdef ENVMAP_TYPE_CUBE_UV\n #define cubeUV_minMipLevel 4.0\n #define cubeUV_minTileSize 16.0\n float getFace( vec3 direction ) {\n vec3 absDirection = abs( direction );\n float face = - 1.0;\n if ( absDirection.x > absDirection.z ) {\n if ( absDirection.x > absDirection.y )\n face = direction.x > 0.0 ? 0.0 : 3.0;\n else\n face = direction.y > 0.0 ? 1.0 : 4.0;\n } else {\n if ( absDirection.z > absDirection.y )\n face = direction.z > 0.0 ? 2.0 : 5.0;\n else\n face = direction.y > 0.0 ? 1.0 : 4.0;\n }\n return face;\n }\n vec2 getUV( vec3 direction, float face ) {\n vec2 uv;\n if ( face == 0.0 ) {\n uv = vec2( direction.z, direction.y ) / abs( direction.x );\n } else if ( face == 1.0 ) {\n uv = vec2( - direction.x, - direction.z ) / abs( direction.y );\n } else if ( face == 2.0 ) {\n uv = vec2( - direction.x, direction.y ) / abs( direction.z );\n } else if ( face == 3.0 ) {\n uv = vec2( - direction.z, direction.y ) / abs( direction.x );\n } else if ( face == 4.0 ) {\n uv = vec2( - direction.x, direction.z ) / abs( direction.y );\n } else {\n uv = vec2( direction.x, direction.y ) / abs( direction.z );\n }\n return 0.5 * ( uv + 1.0 );\n }\n vec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) {\n float face = getFace( direction );\n float filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 );\n mipInt = max( mipInt, cubeUV_minMipLevel );\n float faceSize = exp2( mipInt );\n vec2 uv = getUV( direction, face ) * ( faceSize - 2.0 ) + 1.0;\n if ( face > 2.0 ) {\n uv.y += faceSize;\n face -= 3.0;\n }\n uv.x += face * faceSize;\n uv.x += filterInt * 3.0 * cubeUV_minTileSize;\n uv.y += 4.0 * ( exp2( CUBEUV_MAX_MIP ) - faceSize );\n uv.x *= CUBEUV_TEXEL_WIDTH;\n uv.y *= CUBEUV_TEXEL_HEIGHT;\n #ifdef texture2DGradEXT\n return texture2DGradEXT( envMap, uv, vec2( 0.0 ), vec2( 0.0 ) ).rgb;\n #else\n return texture2D( envMap, uv ).rgb;\n #endif\n }\n #define cubeUV_r0 1.0\n #define cubeUV_v0 0.339\n #define cubeUV_m0 - 2.0\n #define cubeUV_r1 0.8\n #define cubeUV_v1 0.276\n #define cubeUV_m1 - 1.0\n #define cubeUV_r4 0.4\n #define cubeUV_v4 0.046\n #define cubeUV_m4 2.0\n #define cubeUV_r5 0.305\n #define cubeUV_v5 0.016\n #define cubeUV_m5 3.0\n #define cubeUV_r6 0.21\n #define cubeUV_v6 0.0038\n #define cubeUV_m6 4.0\n float roughnessToMip( float roughness ) {\n float mip = 0.0;\n if ( roughness >= cubeUV_r1 ) {\n mip = ( cubeUV_r0 - roughness ) * ( cubeUV_m1 - cubeUV_m0 ) / ( cubeUV_r0 - cubeUV_r1 ) + cubeUV_m0;\n } else if ( roughness >= cubeUV_r4 ) {\n mip = ( cubeUV_r1 - roughness ) * ( cubeUV_m4 - cubeUV_m1 ) / ( cubeUV_r1 - cubeUV_r4 ) + cubeUV_m1;\n } else if ( roughness >= cubeUV_r5 ) {\n mip = ( cubeUV_r4 - roughness ) * ( cubeUV_m5 - cubeUV_m4 ) / ( cubeUV_r4 - cubeUV_r5 ) + cubeUV_m4;\n } else if ( roughness >= cubeUV_r6 ) {\n mip = ( cubeUV_r5 - roughness ) * ( cubeUV_m6 - cubeUV_m5 ) / ( cubeUV_r5 - cubeUV_r6 ) + cubeUV_m5;\n } else {\n mip = - 2.0 * log2( 1.16 * roughness ); }\n return mip;\n }\n vec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) {\n float mip = clamp( roughnessToMip( roughness ), cubeUV_m0, CUBEUV_MAX_MIP );\n float mipF = fract( mip );\n float mipInt = floor( mip );\n vec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt );\n if ( mipF == 0.0 ) {\n return vec4( color0, 1.0 );\n } else {\n vec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 );\n return vec4( mix( color0, color1, mipF ), 1.0 );\n }\n }\n#endif"; +var defaultnormal_vertex = "vec3 transformedNormal = objectNormal;\n#ifdef USE_INSTANCING\n mat3 m = mat3( instanceMatrix );\n transformedNormal /= vec3( dot( m[ 0 ], m[ 0 ] ), dot( m[ 1 ], m[ 1 ] ), dot( m[ 2 ], m[ 2 ] ) );\n transformedNormal = m * transformedNormal;\n#endif\ntransformedNormal = normalMatrix * transformedNormal;\n#ifdef FLIP_SIDED\n transformedNormal = - transformedNormal;\n#endif\n#ifdef USE_TANGENT\n vec3 transformedTangent = ( modelViewMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n #ifdef FLIP_SIDED\n transformedTangent = - transformedTangent;\n #endif\n#endif"; +var displacementmap_pars_vertex = "#ifdef USE_DISPLACEMENTMAP\n uniform sampler2D displacementMap;\n uniform float displacementScale;\n uniform float displacementBias;\n#endif"; +var displacementmap_vertex = "#ifdef USE_DISPLACEMENTMAP\n transformed += normalize( objectNormal ) * ( texture2D( displacementMap, vUv ).x * displacementScale + displacementBias );\n#endif"; +var emissivemap_fragment = "#ifdef USE_EMISSIVEMAP\n vec4 emissiveColor = texture2D( emissiveMap, vUv );\n totalEmissiveRadiance *= emissiveColor.rgb;\n#endif"; +var emissivemap_pars_fragment = "#ifdef USE_EMISSIVEMAP\n uniform sampler2D emissiveMap;\n#endif"; +var encodings_fragment = "gl_FragColor = linearToOutputTexel( gl_FragColor );"; +var encodings_pars_fragment = "vec4 LinearToLinear( in vec4 value ) {\n return value;\n}\nvec4 LinearTosRGB( in vec4 value ) {\n return vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );\n}"; +var envmap_fragment = "#ifdef USE_ENVMAP\n #ifdef ENV_WORLDPOS\n vec3 cameraToFrag;\n if ( isOrthographic ) {\n cameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n } else {\n cameraToFrag = normalize( vWorldPosition - cameraPosition );\n }\n vec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n #ifdef ENVMAP_MODE_REFLECTION\n vec3 reflectVec = reflect( cameraToFrag, worldNormal );\n #else\n vec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio );\n #endif\n #else\n vec3 reflectVec = vReflect;\n #endif\n #ifdef ENVMAP_TYPE_CUBE\n vec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\n #else\n vec4 envColor = vec4( 0.0 );\n #endif\n #ifdef ENVMAP_BLENDING_MULTIPLY\n outgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\n #elif defined( ENVMAP_BLENDING_MIX )\n outgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\n #elif defined( ENVMAP_BLENDING_ADD )\n outgoingLight += envColor.xyz * specularStrength * reflectivity;\n #endif\n#endif"; +var envmap_common_pars_fragment = "#ifdef USE_ENVMAP\n uniform float envMapIntensity;\n uniform float flipEnvMap;\n #ifdef ENVMAP_TYPE_CUBE\n uniform samplerCube envMap;\n #else\n uniform sampler2D envMap;\n #endif\n \n#endif"; +var envmap_pars_fragment = "#ifdef USE_ENVMAP\n uniform float reflectivity;\n #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT )\n #define ENV_WORLDPOS\n #endif\n #ifdef ENV_WORLDPOS\n varying vec3 vWorldPosition;\n uniform float refractionRatio;\n #else\n varying vec3 vReflect;\n #endif\n#endif"; +var envmap_pars_vertex = "#ifdef USE_ENVMAP\n #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT )\n #define ENV_WORLDPOS\n #endif\n #ifdef ENV_WORLDPOS\n \n varying vec3 vWorldPosition;\n #else\n varying vec3 vReflect;\n uniform float refractionRatio;\n #endif\n#endif"; +var envmap_vertex = "#ifdef USE_ENVMAP\n #ifdef ENV_WORLDPOS\n vWorldPosition = worldPosition.xyz;\n #else\n vec3 cameraToVertex;\n if ( isOrthographic ) {\n cameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n } else {\n cameraToVertex = normalize( worldPosition.xyz - cameraPosition );\n }\n vec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n #ifdef ENVMAP_MODE_REFLECTION\n vReflect = reflect( cameraToVertex, worldNormal );\n #else\n vReflect = refract( cameraToVertex, worldNormal, refractionRatio );\n #endif\n #endif\n#endif"; +var fog_vertex = "#ifdef USE_FOG\n vFogDepth = - mvPosition.z;\n#endif"; +var fog_pars_vertex = "#ifdef USE_FOG\n varying float vFogDepth;\n#endif"; +var fog_fragment = "#ifdef USE_FOG\n #ifdef FOG_EXP2\n float fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth );\n #else\n float fogFactor = smoothstep( fogNear, fogFar, vFogDepth );\n #endif\n gl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\n#endif"; +var fog_pars_fragment = "#ifdef USE_FOG\n uniform vec3 fogColor;\n varying float vFogDepth;\n #ifdef FOG_EXP2\n uniform float fogDensity;\n #else\n uniform float fogNear;\n uniform float fogFar;\n #endif\n#endif"; +var gradientmap_pars_fragment = "#ifdef USE_GRADIENTMAP\n uniform sampler2D gradientMap;\n#endif\nvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\n float dotNL = dot( normal, lightDirection );\n vec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\n #ifdef USE_GRADIENTMAP\n return vec3( texture2D( gradientMap, coord ).r );\n #else\n vec2 fw = fwidth( coord ) * 0.5;\n return mix( vec3( 0.7 ), vec3( 1.0 ), smoothstep( 0.7 - fw.x, 0.7 + fw.x, coord.x ) );\n #endif\n}"; +var lightmap_fragment = "#ifdef USE_LIGHTMAP\n vec4 lightMapTexel = texture2D( lightMap, vUv2 );\n vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity;\n reflectedLight.indirectDiffuse += lightMapIrradiance;\n#endif"; +var lightmap_pars_fragment = "#ifdef USE_LIGHTMAP\n uniform sampler2D lightMap;\n uniform float lightMapIntensity;\n#endif"; +var lights_lambert_fragment = "LambertMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularStrength = specularStrength;"; +var lights_lambert_pars_fragment = "varying vec3 vViewPosition;\nstruct LambertMaterial {\n vec3 diffuseColor;\n float specularStrength;\n};\nvoid RE_Direct_Lambert( const in IncidentLight directLight, const in GeometricContext geometry, const in LambertMaterial material, inout ReflectedLight reflectedLight ) {\n float dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n vec3 irradiance = dotNL * directLight.color;\n reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Lambert( const in vec3 irradiance, const in GeometricContext geometry, const in LambertMaterial material, inout ReflectedLight reflectedLight ) {\n reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct RE_Direct_Lambert\n#define RE_IndirectDiffuse RE_IndirectDiffuse_Lambert\n#define Material_LightProbeLOD( material ) (0)"; +var lights_pars_begin = "uniform bool receiveShadow;\nuniform vec3 ambientLightColor;\nuniform vec3 lightProbe[ 9 ];\nvec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) {\n float x = normal.x, y = normal.y, z = normal.z;\n vec3 result = shCoefficients[ 0 ] * 0.886227;\n result += shCoefficients[ 1 ] * 2.0 * 0.511664 * y;\n result += shCoefficients[ 2 ] * 2.0 * 0.511664 * z;\n result += shCoefficients[ 3 ] * 2.0 * 0.511664 * x;\n result += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y;\n result += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z;\n result += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 );\n result += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z;\n result += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y );\n return result;\n}\nvec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in vec3 normal ) {\n vec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n vec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe );\n return irradiance;\n}\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\n vec3 irradiance = ambientLightColor;\n return irradiance;\n}\nfloat getDistanceAttenuation( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\n #if defined ( PHYSICALLY_CORRECT_LIGHTS )\n float distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\n if ( cutoffDistance > 0.0 ) {\n distanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\n }\n return distanceFalloff;\n #else\n if ( cutoffDistance > 0.0 && decayExponent > 0.0 ) {\n return pow( saturate( - lightDistance / cutoffDistance + 1.0 ), decayExponent );\n }\n return 1.0;\n #endif\n}\nfloat getSpotAttenuation( const in float coneCosine, const in float penumbraCosine, const in float angleCosine ) {\n return smoothstep( coneCosine, penumbraCosine, angleCosine );\n}\n#if NUM_DIR_LIGHTS > 0\n struct DirectionalLight {\n vec3 direction;\n vec3 color;\n };\n uniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\n void getDirectionalLightInfo( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight light ) {\n light.color = directionalLight.color;\n light.direction = directionalLight.direction;\n light.visible = true;\n }\n#endif\n#if NUM_POINT_LIGHTS > 0\n struct PointLight {\n vec3 position;\n vec3 color;\n float distance;\n float decay;\n };\n uniform PointLight pointLights[ NUM_POINT_LIGHTS ];\n void getPointLightInfo( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight light ) {\n vec3 lVector = pointLight.position - geometry.position;\n light.direction = normalize( lVector );\n float lightDistance = length( lVector );\n light.color = pointLight.color;\n light.color *= getDistanceAttenuation( lightDistance, pointLight.distance, pointLight.decay );\n light.visible = ( light.color != vec3( 0.0 ) );\n }\n#endif\n#if NUM_SPOT_LIGHTS > 0\n struct SpotLight {\n vec3 position;\n vec3 direction;\n vec3 color;\n float distance;\n float decay;\n float coneCos;\n float penumbraCos;\n };\n uniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\n void getSpotLightInfo( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight light ) {\n vec3 lVector = spotLight.position - geometry.position;\n light.direction = normalize( lVector );\n float angleCos = dot( light.direction, spotLight.direction );\n float spotAttenuation = getSpotAttenuation( spotLight.coneCos, spotLight.penumbraCos, angleCos );\n if ( spotAttenuation > 0.0 ) {\n float lightDistance = length( lVector );\n light.color = spotLight.color * spotAttenuation;\n light.color *= getDistanceAttenuation( lightDistance, spotLight.distance, spotLight.decay );\n light.visible = ( light.color != vec3( 0.0 ) );\n } else {\n light.color = vec3( 0.0 );\n light.visible = false;\n }\n }\n#endif\n#if NUM_RECT_AREA_LIGHTS > 0\n struct RectAreaLight {\n vec3 color;\n vec3 position;\n vec3 halfWidth;\n vec3 halfHeight;\n };\n uniform sampler2D ltc_1; uniform sampler2D ltc_2;\n uniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\n#endif\n#if NUM_HEMI_LIGHTS > 0\n struct HemisphereLight {\n vec3 direction;\n vec3 skyColor;\n vec3 groundColor;\n };\n uniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\n vec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in vec3 normal ) {\n float dotNL = dot( normal, hemiLight.direction );\n float hemiDiffuseWeight = 0.5 * dotNL + 0.5;\n vec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\n return irradiance;\n }\n#endif"; +var envmap_physical_pars_fragment = "#if defined( USE_ENVMAP )\n vec3 getIBLIrradiance( const in vec3 normal ) {\n #if defined( ENVMAP_TYPE_CUBE_UV )\n vec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n vec4 envMapColor = textureCubeUV( envMap, worldNormal, 1.0 );\n return PI * envMapColor.rgb * envMapIntensity;\n #else\n return vec3( 0.0 );\n #endif\n }\n vec3 getIBLRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) {\n #if defined( ENVMAP_TYPE_CUBE_UV )\n vec3 reflectVec = reflect( - viewDir, normal );\n reflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );\n reflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n vec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness );\n return envMapColor.rgb * envMapIntensity;\n #else\n return vec3( 0.0 );\n #endif\n }\n#endif"; +var lights_toon_fragment = "ToonMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;"; +var lights_toon_pars_fragment = "varying vec3 vViewPosition;\nstruct ToonMaterial {\n vec3 diffuseColor;\n};\nvoid RE_Direct_Toon( const in IncidentLight directLight, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n vec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\n reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct RE_Direct_Toon\n#define RE_IndirectDiffuse RE_IndirectDiffuse_Toon\n#define Material_LightProbeLOD( material ) (0)"; +var lights_phong_fragment = "BlinnPhongMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularColor = specular;\nmaterial.specularShininess = shininess;\nmaterial.specularStrength = specularStrength;"; +var lights_phong_pars_fragment = "varying vec3 vViewPosition;\nstruct BlinnPhongMaterial {\n vec3 diffuseColor;\n vec3 specularColor;\n float specularShininess;\n float specularStrength;\n};\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n float dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n vec3 irradiance = dotNL * directLight.color;\n reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n reflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularShininess ) * material.specularStrength;\n}\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct RE_Direct_BlinnPhong\n#define RE_IndirectDiffuse RE_IndirectDiffuse_BlinnPhong\n#define Material_LightProbeLOD( material ) (0)"; +var lights_physical_fragment = "PhysicalMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\nvec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );\nfloat geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );\nmaterial.roughness = max( roughnessFactor, 0.0525 );material.roughness += geometryRoughness;\nmaterial.roughness = min( material.roughness, 1.0 );\n#ifdef IOR\n material.ior = ior;\n #ifdef SPECULAR\n float specularIntensityFactor = specularIntensity;\n vec3 specularColorFactor = specularColor;\n #ifdef USE_SPECULARINTENSITYMAP\n specularIntensityFactor *= texture2D( specularIntensityMap, vUv ).a;\n #endif\n #ifdef USE_SPECULARCOLORMAP\n specularColorFactor *= texture2D( specularColorMap, vUv ).rgb;\n #endif\n material.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor );\n #else\n float specularIntensityFactor = 1.0;\n vec3 specularColorFactor = vec3( 1.0 );\n material.specularF90 = 1.0;\n #endif\n material.specularColor = mix( min( pow2( ( material.ior - 1.0 ) / ( material.ior + 1.0 ) ) * specularColorFactor, vec3( 1.0 ) ) * specularIntensityFactor, diffuseColor.rgb, metalnessFactor );\n#else\n material.specularColor = mix( vec3( 0.04 ), diffuseColor.rgb, metalnessFactor );\n material.specularF90 = 1.0;\n#endif\n#ifdef USE_CLEARCOAT\n material.clearcoat = clearcoat;\n material.clearcoatRoughness = clearcoatRoughness;\n material.clearcoatF0 = vec3( 0.04 );\n material.clearcoatF90 = 1.0;\n #ifdef USE_CLEARCOATMAP\n material.clearcoat *= texture2D( clearcoatMap, vUv ).x;\n #endif\n #ifdef USE_CLEARCOAT_ROUGHNESSMAP\n material.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vUv ).y;\n #endif\n material.clearcoat = saturate( material.clearcoat ); material.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 );\n material.clearcoatRoughness += geometryRoughness;\n material.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 );\n#endif\n#ifdef USE_IRIDESCENCE\n material.iridescence = iridescence;\n material.iridescenceIOR = iridescenceIOR;\n #ifdef USE_IRIDESCENCEMAP\n material.iridescence *= texture2D( iridescenceMap, vUv ).r;\n #endif\n #ifdef USE_IRIDESCENCE_THICKNESSMAP\n material.iridescenceThickness = (iridescenceThicknessMaximum - iridescenceThicknessMinimum) * texture2D( iridescenceThicknessMap, vUv ).g + iridescenceThicknessMinimum;\n #else\n material.iridescenceThickness = iridescenceThicknessMaximum;\n #endif\n#endif\n#ifdef USE_SHEEN\n material.sheenColor = sheenColor;\n #ifdef USE_SHEENCOLORMAP\n material.sheenColor *= texture2D( sheenColorMap, vUv ).rgb;\n #endif\n material.sheenRoughness = clamp( sheenRoughness, 0.07, 1.0 );\n #ifdef USE_SHEENROUGHNESSMAP\n material.sheenRoughness *= texture2D( sheenRoughnessMap, vUv ).a;\n #endif\n#endif"; +var lights_physical_pars_fragment = "struct PhysicalMaterial {\n vec3 diffuseColor;\n float roughness;\n vec3 specularColor;\n float specularF90;\n #ifdef USE_CLEARCOAT\n float clearcoat;\n float clearcoatRoughness;\n vec3 clearcoatF0;\n float clearcoatF90;\n #endif\n #ifdef USE_IRIDESCENCE\n float iridescence;\n float iridescenceIOR;\n float iridescenceThickness;\n vec3 iridescenceFresnel;\n vec3 iridescenceF0;\n #endif\n #ifdef USE_SHEEN\n vec3 sheenColor;\n float sheenRoughness;\n #endif\n #ifdef IOR\n float ior;\n #endif\n #ifdef USE_TRANSMISSION\n float transmission;\n float transmissionAlpha;\n float thickness;\n float attenuationDistance;\n vec3 attenuationColor;\n #endif\n};\nvec3 clearcoatSpecular = vec3( 0.0 );\nvec3 sheenSpecular = vec3( 0.0 );\nfloat IBLSheenBRDF( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {\n float dotNV = saturate( dot( normal, viewDir ) );\n float r2 = roughness * roughness;\n float a = roughness < 0.25 ? -339.2 * r2 + 161.4 * roughness - 25.9 : -8.48 * r2 + 14.3 * roughness - 9.95;\n float b = roughness < 0.25 ? 44.0 * r2 - 23.7 * roughness + 3.26 : 1.97 * r2 - 3.27 * roughness + 0.72;\n float DG = exp( a * dotNV + b ) + ( roughness < 0.25 ? 0.0 : 0.1 * ( roughness - 0.25 ) );\n return saturate( DG * RECIPROCAL_PI );\n}\nvec2 DFGApprox( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {\n float dotNV = saturate( dot( normal, viewDir ) );\n const vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );\n const vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );\n vec4 r = roughness * c0 + c1;\n float a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;\n vec2 fab = vec2( - 1.04, 1.04 ) * a004 + r.zw;\n return fab;\n}\nvec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) {\n vec2 fab = DFGApprox( normal, viewDir, roughness );\n return specularColor * fab.x + specularF90 * fab.y;\n}\n#ifdef USE_IRIDESCENCE\nvoid computeMultiscatteringIridescence( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float iridescence, const in vec3 iridescenceF0, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\n#else\nvoid computeMultiscattering( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\n#endif\n vec2 fab = DFGApprox( normal, viewDir, roughness );\n #ifdef USE_IRIDESCENCE\n vec3 Fr = mix( specularColor, iridescenceF0, iridescence );\n #else\n vec3 Fr = specularColor;\n #endif\n vec3 FssEss = Fr * fab.x + specularF90 * fab.y;\n float Ess = fab.x + fab.y;\n float Ems = 1.0 - Ess;\n vec3 Favg = Fr + ( 1.0 - Fr ) * 0.047619; vec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg );\n singleScatter += FssEss;\n multiScatter += Fms * Ems;\n}\n#if NUM_RECT_AREA_LIGHTS > 0\n void RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n vec3 normal = geometry.normal;\n vec3 viewDir = geometry.viewDir;\n vec3 position = geometry.position;\n vec3 lightPos = rectAreaLight.position;\n vec3 halfWidth = rectAreaLight.halfWidth;\n vec3 halfHeight = rectAreaLight.halfHeight;\n vec3 lightColor = rectAreaLight.color;\n float roughness = material.roughness;\n vec3 rectCoords[ 4 ];\n rectCoords[ 0 ] = lightPos + halfWidth - halfHeight; rectCoords[ 1 ] = lightPos - halfWidth - halfHeight;\n rectCoords[ 2 ] = lightPos - halfWidth + halfHeight;\n rectCoords[ 3 ] = lightPos + halfWidth + halfHeight;\n vec2 uv = LTC_Uv( normal, viewDir, roughness );\n vec4 t1 = texture2D( ltc_1, uv );\n vec4 t2 = texture2D( ltc_2, uv );\n mat3 mInv = mat3(\n vec3( t1.x, 0, t1.y ),\n vec3( 0, 1, 0 ),\n vec3( t1.z, 0, t1.w )\n );\n vec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );\n reflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\n reflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );\n }\n#endif\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n float dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n vec3 irradiance = dotNL * directLight.color;\n #ifdef USE_CLEARCOAT\n float dotNLcc = saturate( dot( geometry.clearcoatNormal, directLight.direction ) );\n vec3 ccIrradiance = dotNLcc * directLight.color;\n clearcoatSpecular += ccIrradiance * BRDF_GGX( directLight.direction, geometry.viewDir, geometry.clearcoatNormal, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\n #endif\n #ifdef USE_SHEEN\n sheenSpecular += irradiance * BRDF_Sheen( directLight.direction, geometry.viewDir, geometry.normal, material.sheenColor, material.sheenRoughness );\n #endif\n #ifdef USE_IRIDESCENCE\n reflectedLight.directSpecular += irradiance * BRDF_GGX_Iridescence( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness );\n #else\n reflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularF90, material.roughness );\n #endif\n reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {\n #ifdef USE_CLEARCOAT\n clearcoatSpecular += clearcoatRadiance * EnvironmentBRDF( geometry.clearcoatNormal, geometry.viewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\n #endif\n #ifdef USE_SHEEN\n sheenSpecular += irradiance * material.sheenColor * IBLSheenBRDF( geometry.normal, geometry.viewDir, material.sheenRoughness );\n #endif\n vec3 singleScattering = vec3( 0.0 );\n vec3 multiScattering = vec3( 0.0 );\n vec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;\n #ifdef USE_IRIDESCENCE\n computeMultiscatteringIridescence( geometry.normal, geometry.viewDir, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness, singleScattering, multiScattering );\n #else\n computeMultiscattering( geometry.normal, geometry.viewDir, material.specularColor, material.specularF90, material.roughness, singleScattering, multiScattering );\n #endif\n vec3 totalScattering = singleScattering + multiScattering;\n vec3 diffuse = material.diffuseColor * ( 1.0 - max( max( totalScattering.r, totalScattering.g ), totalScattering.b ) );\n reflectedLight.indirectSpecular += radiance * singleScattering;\n reflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance;\n reflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;\n}\n#define RE_Direct RE_Direct_Physical\n#define RE_Direct_RectArea RE_Direct_RectArea_Physical\n#define RE_IndirectDiffuse RE_IndirectDiffuse_Physical\n#define RE_IndirectSpecular RE_IndirectSpecular_Physical\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\n return saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\n}"; +var lights_fragment_begin = "\nGeometricContext geometry;\ngeometry.position = - vViewPosition;\ngeometry.normal = normal;\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\n#ifdef USE_CLEARCOAT\n geometry.clearcoatNormal = clearcoatNormal;\n#endif\n#ifdef USE_IRIDESCENCE\n float dotNVi = saturate( dot( normal, geometry.viewDir ) );\n if ( material.iridescenceThickness == 0.0 ) {\n material.iridescence = 0.0;\n } else {\n material.iridescence = saturate( material.iridescence );\n }\n if ( material.iridescence > 0.0 ) {\n material.iridescenceFresnel = evalIridescence( 1.0, material.iridescenceIOR, dotNVi, material.iridescenceThickness, material.specularColor );\n material.iridescenceF0 = Schlick_to_F0( material.iridescenceFresnel, 1.0, dotNVi );\n }\n#endif\nIncidentLight directLight;\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n PointLight pointLight;\n #if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0\n PointLightShadow pointLightShadow;\n #endif\n #pragma unroll_loop_start\n for ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n pointLight = pointLights[ i ];\n getPointLightInfo( pointLight, geometry, directLight );\n #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\n pointLightShadow = pointLightShadows[ i ];\n directLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;\n #endif\n RE_Direct( directLight, geometry, material, reflectedLight );\n }\n #pragma unroll_loop_end\n#endif\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n SpotLight spotLight;\n vec4 spotColor;\n vec3 spotLightCoord;\n bool inSpotLightMap;\n #if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0\n SpotLightShadow spotLightShadow;\n #endif\n #pragma unroll_loop_start\n for ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n spotLight = spotLights[ i ];\n getSpotLightInfo( spotLight, geometry, directLight );\n #if ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )\n #define SPOT_LIGHT_MAP_INDEX UNROLLED_LOOP_INDEX\n #elif ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n #define SPOT_LIGHT_MAP_INDEX NUM_SPOT_LIGHT_MAPS\n #else\n #define SPOT_LIGHT_MAP_INDEX ( UNROLLED_LOOP_INDEX - NUM_SPOT_LIGHT_SHADOWS + NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )\n #endif\n #if ( SPOT_LIGHT_MAP_INDEX < NUM_SPOT_LIGHT_MAPS )\n spotLightCoord = vSpotLightCoord[ i ].xyz / vSpotLightCoord[ i ].w;\n inSpotLightMap = all( lessThan( abs( spotLightCoord * 2. - 1. ), vec3( 1.0 ) ) );\n spotColor = texture2D( spotLightMap[ SPOT_LIGHT_MAP_INDEX ], spotLightCoord.xy );\n directLight.color = inSpotLightMap ? directLight.color * spotColor.rgb : directLight.color;\n #endif\n #undef SPOT_LIGHT_MAP_INDEX\n #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n spotLightShadow = spotLightShadows[ i ];\n directLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;\n #endif\n RE_Direct( directLight, geometry, material, reflectedLight );\n }\n #pragma unroll_loop_end\n#endif\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\n DirectionalLight directionalLight;\n #if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\n DirectionalLightShadow directionalLightShadow;\n #endif\n #pragma unroll_loop_start\n for ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n directionalLight = directionalLights[ i ];\n getDirectionalLightInfo( directionalLight, geometry, directLight );\n #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\n directionalLightShadow = directionalLightShadows[ i ];\n directLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n #endif\n RE_Direct( directLight, geometry, material, reflectedLight );\n }\n #pragma unroll_loop_end\n#endif\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n RectAreaLight rectAreaLight;\n #pragma unroll_loop_start\n for ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\n rectAreaLight = rectAreaLights[ i ];\n RE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\n }\n #pragma unroll_loop_end\n#endif\n#if defined( RE_IndirectDiffuse )\n vec3 iblIrradiance = vec3( 0.0 );\n vec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n irradiance += getLightProbeIrradiance( lightProbe, geometry.normal );\n #if ( NUM_HEMI_LIGHTS > 0 )\n #pragma unroll_loop_start\n for ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n irradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry.normal );\n }\n #pragma unroll_loop_end\n #endif\n#endif\n#if defined( RE_IndirectSpecular )\n vec3 radiance = vec3( 0.0 );\n vec3 clearcoatRadiance = vec3( 0.0 );\n#endif"; +var lights_fragment_maps = "#if defined( RE_IndirectDiffuse )\n #ifdef USE_LIGHTMAP\n vec4 lightMapTexel = texture2D( lightMap, vUv2 );\n vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity;\n irradiance += lightMapIrradiance;\n #endif\n #if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV )\n iblIrradiance += getIBLIrradiance( geometry.normal );\n #endif\n#endif\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n radiance += getIBLRadiance( geometry.viewDir, geometry.normal, material.roughness );\n #ifdef USE_CLEARCOAT\n clearcoatRadiance += getIBLRadiance( geometry.viewDir, geometry.clearcoatNormal, material.clearcoatRoughness );\n #endif\n#endif"; +var lights_fragment_end = "#if defined( RE_IndirectDiffuse )\n RE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\n#endif\n#if defined( RE_IndirectSpecular )\n RE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometry, material, reflectedLight );\n#endif"; +var logdepthbuf_fragment = "#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n gl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;\n#endif"; +var logdepthbuf_pars_fragment = "#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n uniform float logDepthBufFC;\n varying float vFragDepth;\n varying float vIsPerspective;\n#endif"; +var logdepthbuf_pars_vertex = "#ifdef USE_LOGDEPTHBUF\n #ifdef USE_LOGDEPTHBUF_EXT\n varying float vFragDepth;\n varying float vIsPerspective;\n #else\n uniform float logDepthBufFC;\n #endif\n#endif"; +var logdepthbuf_vertex = "#ifdef USE_LOGDEPTHBUF\n #ifdef USE_LOGDEPTHBUF_EXT\n vFragDepth = 1.0 + gl_Position.w;\n vIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );\n #else\n if ( isPerspectiveMatrix( projectionMatrix ) ) {\n gl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0;\n gl_Position.z *= gl_Position.w;\n }\n #endif\n#endif"; +var map_fragment = "#ifdef USE_MAP\n vec4 sampledDiffuseColor = texture2D( map, vUv );\n #ifdef DECODE_VIDEO_TEXTURE\n sampledDiffuseColor = vec4( mix( pow( sampledDiffuseColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), sampledDiffuseColor.rgb * 0.0773993808, vec3( lessThanEqual( sampledDiffuseColor.rgb, vec3( 0.04045 ) ) ) ), sampledDiffuseColor.w );\n #endif\n diffuseColor *= sampledDiffuseColor;\n#endif"; +var map_pars_fragment = "#ifdef USE_MAP\n uniform sampler2D map;\n#endif"; +var map_particle_fragment = "#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n vec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\n#endif\n#ifdef USE_MAP\n diffuseColor *= texture2D( map, uv );\n#endif\n#ifdef USE_ALPHAMAP\n diffuseColor.a *= texture2D( alphaMap, uv ).g;\n#endif"; +var map_particle_pars_fragment = "#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n uniform mat3 uvTransform;\n#endif\n#ifdef USE_MAP\n uniform sampler2D map;\n#endif\n#ifdef USE_ALPHAMAP\n uniform sampler2D alphaMap;\n#endif"; +var metalnessmap_fragment = "float metalnessFactor = metalness;\n#ifdef USE_METALNESSMAP\n vec4 texelMetalness = texture2D( metalnessMap, vUv );\n metalnessFactor *= texelMetalness.b;\n#endif"; +var metalnessmap_pars_fragment = "#ifdef USE_METALNESSMAP\n uniform sampler2D metalnessMap;\n#endif"; +var morphcolor_vertex = "#if defined( USE_MORPHCOLORS ) && defined( MORPHTARGETS_TEXTURE )\n vColor *= morphTargetBaseInfluence;\n for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n #if defined( USE_COLOR_ALPHA )\n if ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ) * morphTargetInfluences[ i ];\n #elif defined( USE_COLOR )\n if ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ).rgb * morphTargetInfluences[ i ];\n #endif\n }\n#endif"; +var morphnormal_vertex = "#ifdef USE_MORPHNORMALS\n objectNormal *= morphTargetBaseInfluence;\n #ifdef MORPHTARGETS_TEXTURE\n for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n if ( morphTargetInfluences[ i ] != 0.0 ) objectNormal += getMorph( gl_VertexID, i, 1 ).xyz * morphTargetInfluences[ i ];\n }\n #else\n objectNormal += morphNormal0 * morphTargetInfluences[ 0 ];\n objectNormal += morphNormal1 * morphTargetInfluences[ 1 ];\n objectNormal += morphNormal2 * morphTargetInfluences[ 2 ];\n objectNormal += morphNormal3 * morphTargetInfluences[ 3 ];\n #endif\n#endif"; +var morphtarget_pars_vertex = "#ifdef USE_MORPHTARGETS\n uniform float morphTargetBaseInfluence;\n #ifdef MORPHTARGETS_TEXTURE\n uniform float morphTargetInfluences[ MORPHTARGETS_COUNT ];\n uniform sampler2DArray morphTargetsTexture;\n uniform ivec2 morphTargetsTextureSize;\n vec4 getMorph( const in int vertexIndex, const in int morphTargetIndex, const in int offset ) {\n int texelIndex = vertexIndex * MORPHTARGETS_TEXTURE_STRIDE + offset;\n int y = texelIndex / morphTargetsTextureSize.x;\n int x = texelIndex - y * morphTargetsTextureSize.x;\n ivec3 morphUV = ivec3( x, y, morphTargetIndex );\n return texelFetch( morphTargetsTexture, morphUV, 0 );\n }\n #else\n #ifndef USE_MORPHNORMALS\n uniform float morphTargetInfluences[ 8 ];\n #else\n uniform float morphTargetInfluences[ 4 ];\n #endif\n #endif\n#endif"; +var morphtarget_vertex = "#ifdef USE_MORPHTARGETS\n transformed *= morphTargetBaseInfluence;\n #ifdef MORPHTARGETS_TEXTURE\n for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n if ( morphTargetInfluences[ i ] != 0.0 ) transformed += getMorph( gl_VertexID, i, 0 ).xyz * morphTargetInfluences[ i ];\n }\n #else\n transformed += morphTarget0 * morphTargetInfluences[ 0 ];\n transformed += morphTarget1 * morphTargetInfluences[ 1 ];\n transformed += morphTarget2 * morphTargetInfluences[ 2 ];\n transformed += morphTarget3 * morphTargetInfluences[ 3 ];\n #ifndef USE_MORPHNORMALS\n transformed += morphTarget4 * morphTargetInfluences[ 4 ];\n transformed += morphTarget5 * morphTargetInfluences[ 5 ];\n transformed += morphTarget6 * morphTargetInfluences[ 6 ];\n transformed += morphTarget7 * morphTargetInfluences[ 7 ];\n #endif\n #endif\n#endif"; +var normal_fragment_begin = "float faceDirection = gl_FrontFacing ? 1.0 : - 1.0;\n#ifdef FLAT_SHADED\n vec3 fdx = dFdx( vViewPosition );\n vec3 fdy = dFdy( vViewPosition );\n vec3 normal = normalize( cross( fdx, fdy ) );\n#else\n vec3 normal = normalize( vNormal );\n #ifdef DOUBLE_SIDED\n normal = normal * faceDirection;\n #endif\n #ifdef USE_TANGENT\n vec3 tangent = normalize( vTangent );\n vec3 bitangent = normalize( vBitangent );\n #ifdef DOUBLE_SIDED\n tangent = tangent * faceDirection;\n bitangent = bitangent * faceDirection;\n #endif\n #if defined( TANGENTSPACE_NORMALMAP ) || defined( USE_CLEARCOAT_NORMALMAP )\n mat3 vTBN = mat3( tangent, bitangent, normal );\n #endif\n #endif\n#endif\nvec3 geometryNormal = normal;"; +var normal_fragment_maps = "#ifdef OBJECTSPACE_NORMALMAP\n normal = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n #ifdef FLIP_SIDED\n normal = - normal;\n #endif\n #ifdef DOUBLE_SIDED\n normal = normal * faceDirection;\n #endif\n normal = normalize( normalMatrix * normal );\n#elif defined( TANGENTSPACE_NORMALMAP )\n vec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n mapN.xy *= normalScale;\n #ifdef USE_TANGENT\n normal = normalize( vTBN * mapN );\n #else\n normal = perturbNormal2Arb( - vViewPosition, normal, mapN, faceDirection );\n #endif\n#elif defined( USE_BUMPMAP )\n normal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection );\n#endif"; +var normal_pars_fragment = "#ifndef FLAT_SHADED\n varying vec3 vNormal;\n #ifdef USE_TANGENT\n varying vec3 vTangent;\n varying vec3 vBitangent;\n #endif\n#endif"; +var normal_pars_vertex = "#ifndef FLAT_SHADED\n varying vec3 vNormal;\n #ifdef USE_TANGENT\n varying vec3 vTangent;\n varying vec3 vBitangent;\n #endif\n#endif"; +var normal_vertex = "#ifndef FLAT_SHADED\n vNormal = normalize( transformedNormal );\n #ifdef USE_TANGENT\n vTangent = normalize( transformedTangent );\n vBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\n #endif\n#endif"; +var normalmap_pars_fragment = "#ifdef USE_NORMALMAP\n uniform sampler2D normalMap;\n uniform vec2 normalScale;\n#endif\n#ifdef OBJECTSPACE_NORMALMAP\n uniform mat3 normalMatrix;\n#endif\n#if ! defined ( USE_TANGENT ) && ( defined ( TANGENTSPACE_NORMALMAP ) || defined ( USE_CLEARCOAT_NORMALMAP ) )\n vec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec3 mapN, float faceDirection ) {\n vec3 q0 = dFdx( eye_pos.xyz );\n vec3 q1 = dFdy( eye_pos.xyz );\n vec2 st0 = dFdx( vUv.st );\n vec2 st1 = dFdy( vUv.st );\n vec3 N = surf_norm;\n vec3 q1perp = cross( q1, N );\n vec3 q0perp = cross( N, q0 );\n vec3 T = q1perp * st0.x + q0perp * st1.x;\n vec3 B = q1perp * st0.y + q0perp * st1.y;\n float det = max( dot( T, T ), dot( B, B ) );\n float scale = ( det == 0.0 ) ? 0.0 : faceDirection * inversesqrt( det );\n return normalize( T * ( mapN.x * scale ) + B * ( mapN.y * scale ) + N * mapN.z );\n }\n#endif"; +var clearcoat_normal_fragment_begin = "#ifdef USE_CLEARCOAT\n vec3 clearcoatNormal = geometryNormal;\n#endif"; +var clearcoat_normal_fragment_maps = "#ifdef USE_CLEARCOAT_NORMALMAP\n vec3 clearcoatMapN = texture2D( clearcoatNormalMap, vUv ).xyz * 2.0 - 1.0;\n clearcoatMapN.xy *= clearcoatNormalScale;\n #ifdef USE_TANGENT\n clearcoatNormal = normalize( vTBN * clearcoatMapN );\n #else\n clearcoatNormal = perturbNormal2Arb( - vViewPosition, clearcoatNormal, clearcoatMapN, faceDirection );\n #endif\n#endif"; +var clearcoat_pars_fragment = "#ifdef USE_CLEARCOATMAP\n uniform sampler2D clearcoatMap;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n uniform sampler2D clearcoatRoughnessMap;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n uniform sampler2D clearcoatNormalMap;\n uniform vec2 clearcoatNormalScale;\n#endif"; +var iridescence_pars_fragment = "#ifdef USE_IRIDESCENCEMAP\n uniform sampler2D iridescenceMap;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n uniform sampler2D iridescenceThicknessMap;\n#endif"; +var output_fragment = "#ifdef OPAQUE\ndiffuseColor.a = 1.0;\n#endif\n#ifdef USE_TRANSMISSION\ndiffuseColor.a *= material.transmissionAlpha + 0.1;\n#endif\ngl_FragColor = vec4( outgoingLight, diffuseColor.a );"; +var packing = "vec3 packNormalToRGB( const in vec3 normal ) {\n return normalize( normal ) * 0.5 + 0.5;\n}\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\n return 2.0 * rgb.xyz - 1.0;\n}\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;\nconst vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\nconst vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\nconst float ShiftRight8 = 1. / 256.;\nvec4 packDepthToRGBA( const in float v ) {\n vec4 r = vec4( fract( v * PackFactors ), v );\n r.yzw -= r.xyz * ShiftRight8; return r * PackUpscale;\n}\nfloat unpackRGBAToDepth( const in vec4 v ) {\n return dot( v, UnpackFactors );\n}\nvec2 packDepthToRG( in highp float v ) {\n return packDepthToRGBA( v ).yx;\n}\nfloat unpackRGToDepth( const in highp vec2 v ) {\n return unpackRGBAToDepth( vec4( v.xy, 0.0, 0.0 ) );\n}\nvec4 pack2HalfToRGBA( vec2 v ) {\n vec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ) );\n return vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w );\n}\nvec2 unpackRGBATo2Half( vec4 v ) {\n return vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) );\n}\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\n return ( viewZ + near ) / ( near - far );\n}\nfloat orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {\n return linearClipZ * ( near - far ) - near;\n}\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\n return ( ( near + viewZ ) * far ) / ( ( far - near ) * viewZ );\n}\nfloat perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {\n return ( near * far ) / ( ( far - near ) * invClipZ - far );\n}"; +var premultiplied_alpha_fragment = "#ifdef PREMULTIPLIED_ALPHA\n gl_FragColor.rgb *= gl_FragColor.a;\n#endif"; +var project_vertex = "vec4 mvPosition = vec4( transformed, 1.0 );\n#ifdef USE_INSTANCING\n mvPosition = instanceMatrix * mvPosition;\n#endif\nmvPosition = modelViewMatrix * mvPosition;\ngl_Position = projectionMatrix * mvPosition;"; +var dithering_fragment = "#ifdef DITHERING\n gl_FragColor.rgb = dithering( gl_FragColor.rgb );\n#endif"; +var dithering_pars_fragment = "#ifdef DITHERING\n vec3 dithering( vec3 color ) {\n float grid_position = rand( gl_FragCoord.xy );\n vec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );\n dither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );\n return color + dither_shift_RGB;\n }\n#endif"; +var roughnessmap_fragment = "float roughnessFactor = roughness;\n#ifdef USE_ROUGHNESSMAP\n vec4 texelRoughness = texture2D( roughnessMap, vUv );\n roughnessFactor *= texelRoughness.g;\n#endif"; +var roughnessmap_pars_fragment = "#ifdef USE_ROUGHNESSMAP\n uniform sampler2D roughnessMap;\n#endif"; +var shadowmap_pars_fragment = "#if NUM_SPOT_LIGHT_COORDS > 0\n varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ];\n#endif\n#if NUM_SPOT_LIGHT_MAPS > 0\n uniform sampler2D spotLightMap[ NUM_SPOT_LIGHT_MAPS ];\n#endif\n#ifdef USE_SHADOWMAP\n #if NUM_DIR_LIGHT_SHADOWS > 0\n uniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];\n varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n struct DirectionalLightShadow {\n float shadowBias;\n float shadowNormalBias;\n float shadowRadius;\n vec2 shadowMapSize;\n };\n uniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n #endif\n #if NUM_SPOT_LIGHT_SHADOWS > 0\n uniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];\n struct SpotLightShadow {\n float shadowBias;\n float shadowNormalBias;\n float shadowRadius;\n vec2 shadowMapSize;\n };\n uniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n #endif\n #if NUM_POINT_LIGHT_SHADOWS > 0\n uniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ];\n varying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n struct PointLightShadow {\n float shadowBias;\n float shadowNormalBias;\n float shadowRadius;\n vec2 shadowMapSize;\n float shadowCameraNear;\n float shadowCameraFar;\n };\n uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n #endif\n float texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\n return step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\n }\n vec2 texture2DDistribution( sampler2D shadow, vec2 uv ) {\n return unpackRGBATo2Half( texture2D( shadow, uv ) );\n }\n float VSMShadow (sampler2D shadow, vec2 uv, float compare ){\n float occlusion = 1.0;\n vec2 distribution = texture2DDistribution( shadow, uv );\n float hard_shadow = step( compare , distribution.x );\n if (hard_shadow != 1.0 ) {\n float distance = compare - distribution.x ;\n float variance = max( 0.00000, distribution.y * distribution.y );\n float softness_probability = variance / (variance + distance * distance ); softness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 ); occlusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 );\n }\n return occlusion;\n }\n float getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\n float shadow = 1.0;\n shadowCoord.xyz /= shadowCoord.w;\n shadowCoord.z += shadowBias;\n bvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );\n bool inFrustum = all( inFrustumVec );\n bvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );\n bool frustumTest = all( frustumTestVec );\n if ( frustumTest ) {\n #if defined( SHADOWMAP_TYPE_PCF )\n vec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n float dx0 = - texelSize.x * shadowRadius;\n float dy0 = - texelSize.y * shadowRadius;\n float dx1 = + texelSize.x * shadowRadius;\n float dy1 = + texelSize.y * shadowRadius;\n float dx2 = dx0 / 2.0;\n float dy2 = dy0 / 2.0;\n float dx3 = dx1 / 2.0;\n float dy3 = dy1 / 2.0;\n shadow = (\n texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\n texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\n texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\n texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) +\n texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) +\n texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) +\n texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) +\n texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\n texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) +\n texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\n texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) +\n texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) +\n texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) +\n texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\n texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\n texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\n ) * ( 1.0 / 17.0 );\n #elif defined( SHADOWMAP_TYPE_PCF_SOFT )\n vec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n float dx = texelSize.x;\n float dy = texelSize.y;\n vec2 uv = shadowCoord.xy;\n vec2 f = fract( uv * shadowMapSize + 0.5 );\n uv -= f * texelSize;\n shadow = (\n texture2DCompare( shadowMap, uv, shadowCoord.z ) +\n texture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +\n texture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +\n texture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) +\n mix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ),\n texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),\n f.x ) +\n mix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ),\n texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),\n f.x ) +\n mix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ),\n texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),\n f.y ) +\n mix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ),\n texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),\n f.y ) +\n mix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ),\n texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),\n f.x ),\n mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ),\n texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),\n f.x ),\n f.y )\n ) * ( 1.0 / 9.0 );\n #elif defined( SHADOWMAP_TYPE_VSM )\n shadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z );\n #else\n shadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\n #endif\n }\n return shadow;\n }\n vec2 cubeToUV( vec3 v, float texelSizeY ) {\n vec3 absV = abs( v );\n float scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\n absV *= scaleToCube;\n v *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\n vec2 planar = v.xy;\n float almostATexel = 1.5 * texelSizeY;\n float almostOne = 1.0 - almostATexel;\n if ( absV.z >= almostOne ) {\n if ( v.z > 0.0 )\n planar.x = 4.0 - v.x;\n } else if ( absV.x >= almostOne ) {\n float signX = sign( v.x );\n planar.x = v.z * signX + 2.0 * signX;\n } else if ( absV.y >= almostOne ) {\n float signY = sign( v.y );\n planar.x = v.x + 2.0 * signY + 2.0;\n planar.y = v.z * signY - 2.0;\n }\n return vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\n }\n float getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {\n vec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\n vec3 lightToPosition = shadowCoord.xyz;\n float dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear ); dp += shadowBias;\n vec3 bd3D = normalize( lightToPosition );\n #if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM )\n vec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\n return (\n texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\n texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\n texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\n texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\n texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\n texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\n texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\n texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\n texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\n ) * ( 1.0 / 9.0 );\n #else\n return texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\n #endif\n }\n#endif"; +var shadowmap_pars_vertex = "#if NUM_SPOT_LIGHT_COORDS > 0\n uniform mat4 spotLightMatrix[ NUM_SPOT_LIGHT_COORDS ];\n varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ];\n#endif\n#ifdef USE_SHADOWMAP\n #if NUM_DIR_LIGHT_SHADOWS > 0\n uniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ];\n varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n struct DirectionalLightShadow {\n float shadowBias;\n float shadowNormalBias;\n float shadowRadius;\n vec2 shadowMapSize;\n };\n uniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n #endif\n #if NUM_SPOT_LIGHT_SHADOWS > 0\n struct SpotLightShadow {\n float shadowBias;\n float shadowNormalBias;\n float shadowRadius;\n vec2 shadowMapSize;\n };\n uniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n #endif\n #if NUM_POINT_LIGHT_SHADOWS > 0\n uniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ];\n varying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n struct PointLightShadow {\n float shadowBias;\n float shadowNormalBias;\n float shadowRadius;\n vec2 shadowMapSize;\n float shadowCameraNear;\n float shadowCameraFar;\n };\n uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n #endif\n#endif"; +var shadowmap_vertex = "#if defined( USE_SHADOWMAP ) || ( NUM_SPOT_LIGHT_COORDS > 0 )\n #if NUM_DIR_LIGHT_SHADOWS > 0 || NUM_SPOT_LIGHT_COORDS > 0 || NUM_POINT_LIGHT_SHADOWS > 0\n vec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n vec4 shadowWorldPosition;\n #endif\n #if NUM_DIR_LIGHT_SHADOWS > 0\n #pragma unroll_loop_start\n for ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );\n vDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;\n }\n #pragma unroll_loop_end\n #endif\n #if NUM_SPOT_LIGHT_COORDS > 0\n #pragma unroll_loop_start\n for ( int i = 0; i < NUM_SPOT_LIGHT_COORDS; i ++ ) {\n shadowWorldPosition = worldPosition;\n #if ( defined( USE_SHADOWMAP ) && UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n shadowWorldPosition.xyz += shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias;\n #endif\n vSpotLightCoord[ i ] = spotLightMatrix[ i ] * shadowWorldPosition;\n }\n #pragma unroll_loop_end\n #endif\n #if NUM_POINT_LIGHT_SHADOWS > 0\n #pragma unroll_loop_start\n for ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );\n vPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;\n }\n #pragma unroll_loop_end\n #endif\n#endif"; +var shadowmask_pars_fragment = "float getShadowMask() {\n float shadow = 1.0;\n #ifdef USE_SHADOWMAP\n #if NUM_DIR_LIGHT_SHADOWS > 0\n DirectionalLightShadow directionalLight;\n #pragma unroll_loop_start\n for ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n directionalLight = directionalLightShadows[ i ];\n shadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n }\n #pragma unroll_loop_end\n #endif\n #if NUM_SPOT_LIGHT_SHADOWS > 0\n SpotLightShadow spotLight;\n #pragma unroll_loop_start\n for ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n spotLight = spotLightShadows[ i ];\n shadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;\n }\n #pragma unroll_loop_end\n #endif\n #if NUM_POINT_LIGHT_SHADOWS > 0\n PointLightShadow pointLight;\n #pragma unroll_loop_start\n for ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n pointLight = pointLightShadows[ i ];\n shadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\n }\n #pragma unroll_loop_end\n #endif\n #endif\n return shadow;\n}"; +var skinbase_vertex = "#ifdef USE_SKINNING\n mat4 boneMatX = getBoneMatrix( skinIndex.x );\n mat4 boneMatY = getBoneMatrix( skinIndex.y );\n mat4 boneMatZ = getBoneMatrix( skinIndex.z );\n mat4 boneMatW = getBoneMatrix( skinIndex.w );\n#endif"; +var skinning_pars_vertex = "#ifdef USE_SKINNING\n uniform mat4 bindMatrix;\n uniform mat4 bindMatrixInverse;\n uniform highp sampler2D boneTexture;\n uniform int boneTextureSize;\n mat4 getBoneMatrix( const in float i ) {\n float j = i * 4.0;\n float x = mod( j, float( boneTextureSize ) );\n float y = floor( j / float( boneTextureSize ) );\n float dx = 1.0 / float( boneTextureSize );\n float dy = 1.0 / float( boneTextureSize );\n y = dy * ( y + 0.5 );\n vec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\n vec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\n vec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\n vec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\n mat4 bone = mat4( v1, v2, v3, v4 );\n return bone;\n }\n#endif"; +var skinning_vertex = "#ifdef USE_SKINNING\n vec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\n vec4 skinned = vec4( 0.0 );\n skinned += boneMatX * skinVertex * skinWeight.x;\n skinned += boneMatY * skinVertex * skinWeight.y;\n skinned += boneMatZ * skinVertex * skinWeight.z;\n skinned += boneMatW * skinVertex * skinWeight.w;\n transformed = ( bindMatrixInverse * skinned ).xyz;\n#endif"; +var skinnormal_vertex = "#ifdef USE_SKINNING\n mat4 skinMatrix = mat4( 0.0 );\n skinMatrix += skinWeight.x * boneMatX;\n skinMatrix += skinWeight.y * boneMatY;\n skinMatrix += skinWeight.z * boneMatZ;\n skinMatrix += skinWeight.w * boneMatW;\n skinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\n objectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\n #ifdef USE_TANGENT\n objectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n #endif\n#endif"; +var specularmap_fragment = "float specularStrength;\n#ifdef USE_SPECULARMAP\n vec4 texelSpecular = texture2D( specularMap, vUv );\n specularStrength = texelSpecular.r;\n#else\n specularStrength = 1.0;\n#endif"; +var specularmap_pars_fragment = "#ifdef USE_SPECULARMAP\n uniform sampler2D specularMap;\n#endif"; +var tonemapping_fragment = "#if defined( TONE_MAPPING )\n gl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\n#endif"; +var tonemapping_pars_fragment = "#ifndef saturate\n#define saturate( a ) clamp( a, 0.0, 1.0 )\n#endif\nuniform float toneMappingExposure;\nvec3 LinearToneMapping( vec3 color ) {\n return toneMappingExposure * color;\n}\nvec3 ReinhardToneMapping( vec3 color ) {\n color *= toneMappingExposure;\n return saturate( color / ( vec3( 1.0 ) + color ) );\n}\nvec3 OptimizedCineonToneMapping( vec3 color ) {\n color *= toneMappingExposure;\n color = max( vec3( 0.0 ), color - 0.004 );\n return pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\n}\nvec3 RRTAndODTFit( vec3 v ) {\n vec3 a = v * ( v + 0.0245786 ) - 0.000090537;\n vec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;\n return a / b;\n}\nvec3 ACESFilmicToneMapping( vec3 color ) {\n const mat3 ACESInputMat = mat3(\n vec3( 0.59719, 0.07600, 0.02840 ), vec3( 0.35458, 0.90834, 0.13383 ),\n vec3( 0.04823, 0.01566, 0.83777 )\n );\n const mat3 ACESOutputMat = mat3(\n vec3( 1.60475, -0.10208, -0.00327 ), vec3( -0.53108, 1.10813, -0.07276 ),\n vec3( -0.07367, -0.00605, 1.07602 )\n );\n color *= toneMappingExposure / 0.6;\n color = ACESInputMat * color;\n color = RRTAndODTFit( color );\n color = ACESOutputMat * color;\n return saturate( color );\n}\nvec3 CustomToneMapping( vec3 color ) { return color; }"; +var transmission_fragment = "#ifdef USE_TRANSMISSION\n material.transmission = transmission;\n material.transmissionAlpha = 1.0;\n material.thickness = thickness;\n material.attenuationDistance = attenuationDistance;\n material.attenuationColor = attenuationColor;\n #ifdef USE_TRANSMISSIONMAP\n material.transmission *= texture2D( transmissionMap, vUv ).r;\n #endif\n #ifdef USE_THICKNESSMAP\n material.thickness *= texture2D( thicknessMap, vUv ).g;\n #endif\n vec3 pos = vWorldPosition;\n vec3 v = normalize( cameraPosition - pos );\n vec3 n = inverseTransformDirection( normal, viewMatrix );\n vec4 transmission = getIBLVolumeRefraction(\n n, v, material.roughness, material.diffuseColor, material.specularColor, material.specularF90,\n pos, modelMatrix, viewMatrix, projectionMatrix, material.ior, material.thickness,\n material.attenuationColor, material.attenuationDistance );\n material.transmissionAlpha = mix( material.transmissionAlpha, transmission.a, material.transmission );\n totalDiffuse = mix( totalDiffuse, transmission.rgb, material.transmission );\n#endif"; +var transmission_pars_fragment = "#ifdef USE_TRANSMISSION\n uniform float transmission;\n uniform float thickness;\n uniform float attenuationDistance;\n uniform vec3 attenuationColor;\n #ifdef USE_TRANSMISSIONMAP\n uniform sampler2D transmissionMap;\n #endif\n #ifdef USE_THICKNESSMAP\n uniform sampler2D thicknessMap;\n #endif\n uniform vec2 transmissionSamplerSize;\n uniform sampler2D transmissionSamplerMap;\n uniform mat4 modelMatrix;\n uniform mat4 projectionMatrix;\n varying vec3 vWorldPosition;\n vec3 getVolumeTransmissionRay( const in vec3 n, const in vec3 v, const in float thickness, const in float ior, const in mat4 modelMatrix ) {\n vec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior );\n vec3 modelScale;\n modelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) );\n modelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) );\n modelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) );\n return normalize( refractionVector ) * thickness * modelScale;\n }\n float applyIorToRoughness( const in float roughness, const in float ior ) {\n return roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 );\n }\n vec4 getTransmissionSample( const in vec2 fragCoord, const in float roughness, const in float ior ) {\n float framebufferLod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior );\n #ifdef texture2DLodEXT\n return texture2DLodEXT( transmissionSamplerMap, fragCoord.xy, framebufferLod );\n #else\n return texture2D( transmissionSamplerMap, fragCoord.xy, framebufferLod );\n #endif\n }\n vec3 applyVolumeAttenuation( const in vec3 radiance, const in float transmissionDistance, const in vec3 attenuationColor, const in float attenuationDistance ) {\n if ( isinf( attenuationDistance ) ) {\n return radiance;\n } else {\n vec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance;\n vec3 transmittance = exp( - attenuationCoefficient * transmissionDistance ); return transmittance * radiance;\n }\n }\n vec4 getIBLVolumeRefraction( const in vec3 n, const in vec3 v, const in float roughness, const in vec3 diffuseColor,\n const in vec3 specularColor, const in float specularF90, const in vec3 position, const in mat4 modelMatrix,\n const in mat4 viewMatrix, const in mat4 projMatrix, const in float ior, const in float thickness,\n const in vec3 attenuationColor, const in float attenuationDistance ) {\n vec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix );\n vec3 refractedRayExit = position + transmissionRay;\n vec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 );\n vec2 refractionCoords = ndcPos.xy / ndcPos.w;\n refractionCoords += 1.0;\n refractionCoords /= 2.0;\n vec4 transmittedLight = getTransmissionSample( refractionCoords, roughness, ior );\n vec3 attenuatedColor = applyVolumeAttenuation( transmittedLight.rgb, length( transmissionRay ), attenuationColor, attenuationDistance );\n vec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness );\n return vec4( ( 1.0 - F ) * attenuatedColor * diffuseColor, transmittedLight.a );\n }\n#endif"; +var uv_pars_fragment = "#if ( defined( USE_UV ) && ! defined( UVS_VERTEX_ONLY ) )\n varying vec2 vUv;\n#endif"; +var uv_pars_vertex = "#ifdef USE_UV\n #ifdef UVS_VERTEX_ONLY\n vec2 vUv;\n #else\n varying vec2 vUv;\n #endif\n uniform mat3 uvTransform;\n#endif"; +var uv_vertex = "#ifdef USE_UV\n vUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n#endif"; +var uv2_pars_fragment = "#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n varying vec2 vUv2;\n#endif"; +var uv2_pars_vertex = "#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n attribute vec2 uv2;\n varying vec2 vUv2;\n uniform mat3 uv2Transform;\n#endif"; +var uv2_vertex = "#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n vUv2 = ( uv2Transform * vec3( uv2, 1 ) ).xy;\n#endif"; +var worldpos_vertex = "#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0\n vec4 worldPosition = vec4( transformed, 1.0 );\n #ifdef USE_INSTANCING\n worldPosition = instanceMatrix * worldPosition;\n #endif\n worldPosition = modelMatrix * worldPosition;\n#endif"; +var vertex$h = "varying vec2 vUv;\nuniform mat3 uvTransform;\nvoid main() {\n vUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n gl_Position = vec4( position.xy, 1.0, 1.0 );\n}"; +var fragment$h = "uniform sampler2D t2D;\nvarying vec2 vUv;\nvoid main() {\n gl_FragColor = texture2D( t2D, vUv );\n #ifdef DECODE_VIDEO_TEXTURE\n gl_FragColor = vec4( mix( pow( gl_FragColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), gl_FragColor.rgb * 0.0773993808, vec3( lessThanEqual( gl_FragColor.rgb, vec3( 0.04045 ) ) ) ), gl_FragColor.w );\n #endif\n #include \n #include \n}"; +var vertex$g = "varying vec3 vWorldDirection;\n#include \nvoid main() {\n vWorldDirection = transformDirection( position, modelMatrix );\n #include \n #include \n gl_Position.z = gl_Position.w;\n}"; +var fragment$g = "#ifdef ENVMAP_TYPE_CUBE\n uniform samplerCube envMap;\n#elif defined( ENVMAP_TYPE_CUBE_UV )\n uniform sampler2D envMap;\n#endif\nuniform float flipEnvMap;\nuniform float backgroundBlurriness;\nvarying vec3 vWorldDirection;\n#include \nvoid main() {\n #ifdef ENVMAP_TYPE_CUBE\n vec4 texColor = textureCube( envMap, vec3( flipEnvMap * vWorldDirection.x, vWorldDirection.yz ) );\n #elif defined( ENVMAP_TYPE_CUBE_UV )\n vec4 texColor = textureCubeUV( envMap, vWorldDirection, backgroundBlurriness );\n #else\n vec4 texColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n #endif\n gl_FragColor = texColor;\n #include \n #include \n}"; +var vertex$f = "varying vec3 vWorldDirection;\n#include \nvoid main() {\n vWorldDirection = transformDirection( position, modelMatrix );\n #include \n #include \n gl_Position.z = gl_Position.w;\n}"; +var fragment$f = "uniform samplerCube tCube;\nuniform float tFlip;\nuniform float opacity;\nvarying vec3 vWorldDirection;\nvoid main() {\n vec4 texColor = textureCube( tCube, vec3( tFlip * vWorldDirection.x, vWorldDirection.yz ) );\n gl_FragColor = texColor;\n gl_FragColor.a *= opacity;\n #include \n #include \n}"; +var vertex$e = "#include \n#include \n#include \n#include \n#include \n#include \n#include \nvarying vec2 vHighPrecisionZW;\nvoid main() {\n #include \n #include \n #ifdef USE_DISPLACEMENTMAP\n #include \n #include \n #include \n #endif\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n vHighPrecisionZW = gl_Position.zw;\n}"; +var fragment$e = "#if DEPTH_PACKING == 3200\n uniform float opacity;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvarying vec2 vHighPrecisionZW;\nvoid main() {\n #include \n vec4 diffuseColor = vec4( 1.0 );\n #if DEPTH_PACKING == 3200\n diffuseColor.a = opacity;\n #endif\n #include \n #include \n #include \n #include \n float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;\n #if DEPTH_PACKING == 3200\n gl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );\n #elif DEPTH_PACKING == 3201\n gl_FragColor = packDepthToRGBA( fragCoordZ );\n #endif\n}"; +var vertex$d = "#define DISTANCE\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n #include \n #include \n #ifdef USE_DISPLACEMENTMAP\n #include \n #include \n #include \n #endif\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n vWorldPosition = worldPosition.xyz;\n}"; +var fragment$d = "#define DISTANCE\nuniform vec3 referencePosition;\nuniform float nearDistance;\nuniform float farDistance;\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main () {\n #include \n vec4 diffuseColor = vec4( 1.0 );\n #include \n #include \n #include \n float dist = length( vWorldPosition - referencePosition );\n dist = ( dist - nearDistance ) / ( farDistance - nearDistance );\n dist = saturate( dist );\n gl_FragColor = packDepthToRGBA( dist );\n}"; +var vertex$c = "varying vec3 vWorldDirection;\n#include \nvoid main() {\n vWorldDirection = transformDirection( position, modelMatrix );\n #include \n #include \n}"; +var fragment$c = "uniform sampler2D tEquirect;\nvarying vec3 vWorldDirection;\n#include \nvoid main() {\n vec3 direction = normalize( vWorldDirection );\n vec2 sampleUV = equirectUv( direction );\n gl_FragColor = texture2D( tEquirect, sampleUV );\n #include \n #include \n}"; +var vertex$b = "uniform float scale;\nattribute float lineDistance;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n vLineDistance = scale * lineDistance;\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n}"; +var fragment$b = "uniform vec3 diffuse;\nuniform float opacity;\nuniform float dashSize;\nuniform float totalSize;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n #include \n if ( mod( vLineDistance, totalSize ) > dashSize ) {\n discard;\n }\n vec3 outgoingLight = vec3( 0.0 );\n vec4 diffuseColor = vec4( diffuse, opacity );\n #include \n #include \n outgoingLight = diffuseColor.rgb;\n #include \n #include \n #include \n #include \n #include \n}"; +var vertex$a = "#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n #include \n #include \n #include \n #include \n #if defined ( USE_ENVMAP ) || defined ( USE_SKINNING )\n #include \n #include \n #include \n #include \n #include \n #endif\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n}"; +var fragment$a = "uniform vec3 diffuse;\nuniform float opacity;\n#ifndef FLAT_SHADED\n varying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n #include \n vec4 diffuseColor = vec4( diffuse, opacity );\n #include \n #include \n #include \n #include \n #include \n #include \n ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n #ifdef USE_LIGHTMAP\n vec4 lightMapTexel = texture2D( lightMap, vUv2 );\n reflectedLight.indirectDiffuse += lightMapTexel.rgb * lightMapIntensity * RECIPROCAL_PI;\n #else\n reflectedLight.indirectDiffuse += vec3( 1.0 );\n #endif\n #include \n reflectedLight.indirectDiffuse *= diffuseColor.rgb;\n vec3 outgoingLight = reflectedLight.indirectDiffuse;\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n}"; +var vertex$9 = "#define LAMBERT\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n vViewPosition = - mvPosition.xyz;\n #include \n #include \n #include \n #include \n}"; +var fragment$9 = "#define LAMBERT\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n #include \n vec4 diffuseColor = vec4( diffuse, opacity );\n ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n vec3 totalEmissiveRadiance = emissive;\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n}"; +var vertex$8 = "#define MATCAP\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n vViewPosition = - mvPosition.xyz;\n}"; +var fragment$8 = "#define MATCAP\nuniform vec3 diffuse;\nuniform float opacity;\nuniform sampler2D matcap;\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n #include \n vec4 diffuseColor = vec4( diffuse, opacity );\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n vec3 viewDir = normalize( vViewPosition );\n vec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );\n vec3 y = cross( viewDir, x );\n vec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;\n #ifdef USE_MATCAP\n vec4 matcapColor = texture2D( matcap, uv );\n #else\n vec4 matcapColor = vec4( vec3( mix( 0.2, 0.8, uv.y ) ), 1.0 );\n #endif\n vec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\n #include \n #include \n #include \n #include \n #include \n #include \n}"; +var vertex$7 = "#define NORMAL\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n varying vec3 vViewPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n vViewPosition = - mvPosition.xyz;\n#endif\n}"; +var fragment$7 = "#define NORMAL\nuniform float opacity;\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n varying vec3 vViewPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n #include \n #include \n #include \n #include \n gl_FragColor = vec4( packNormalToRGB( normal ), opacity );\n #ifdef OPAQUE\n gl_FragColor.a = 1.0;\n #endif\n}"; +var vertex$6 = "#define PHONG\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n vViewPosition = - mvPosition.xyz;\n #include \n #include \n #include \n #include \n}"; +var fragment$6 = "#define PHONG\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform vec3 specular;\nuniform float shininess;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n #include \n vec4 diffuseColor = vec4( diffuse, opacity );\n ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n vec3 totalEmissiveRadiance = emissive;\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n}"; +var vertex$5 = "#define STANDARD\nvarying vec3 vViewPosition;\n#ifdef USE_TRANSMISSION\n varying vec3 vWorldPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n vViewPosition = - mvPosition.xyz;\n #include \n #include \n #include \n#ifdef USE_TRANSMISSION\n vWorldPosition = worldPosition.xyz;\n#endif\n}"; +var fragment$5 = "#define STANDARD\n#ifdef PHYSICAL\n #define IOR\n #define SPECULAR\n#endif\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float roughness;\nuniform float metalness;\nuniform float opacity;\n#ifdef IOR\n uniform float ior;\n#endif\n#ifdef SPECULAR\n uniform float specularIntensity;\n uniform vec3 specularColor;\n #ifdef USE_SPECULARINTENSITYMAP\n uniform sampler2D specularIntensityMap;\n #endif\n #ifdef USE_SPECULARCOLORMAP\n uniform sampler2D specularColorMap;\n #endif\n#endif\n#ifdef USE_CLEARCOAT\n uniform float clearcoat;\n uniform float clearcoatRoughness;\n#endif\n#ifdef USE_IRIDESCENCE\n uniform float iridescence;\n uniform float iridescenceIOR;\n uniform float iridescenceThicknessMinimum;\n uniform float iridescenceThicknessMaximum;\n#endif\n#ifdef USE_SHEEN\n uniform vec3 sheenColor;\n uniform float sheenRoughness;\n #ifdef USE_SHEENCOLORMAP\n uniform sampler2D sheenColorMap;\n #endif\n #ifdef USE_SHEENROUGHNESSMAP\n uniform sampler2D sheenRoughnessMap;\n #endif\n#endif\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n #include \n vec4 diffuseColor = vec4( diffuse, opacity );\n ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n vec3 totalEmissiveRadiance = emissive;\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n vec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse;\n vec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular;\n #include \n vec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance;\n #ifdef USE_SHEEN\n float sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor );\n outgoingLight = outgoingLight * sheenEnergyComp + sheenSpecular;\n #endif\n #ifdef USE_CLEARCOAT\n float dotNVcc = saturate( dot( geometry.clearcoatNormal, geometry.viewDir ) );\n vec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc );\n outgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + clearcoatSpecular * material.clearcoat;\n #endif\n #include \n #include \n #include \n #include \n #include \n #include \n}"; +var vertex$4 = "#define TOON\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n vViewPosition = - mvPosition.xyz;\n #include \n #include \n #include \n}"; +var fragment$4 = "#define TOON\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n #include \n vec4 diffuseColor = vec4( diffuse, opacity );\n ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n vec3 totalEmissiveRadiance = emissive;\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n #include \n #include \n #include \n #include \n #include \n #include \n}"; +var vertex$3 = "uniform float size;\nuniform float scale;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n #include \n #include \n #include \n #include \n #include \n gl_PointSize = size;\n #ifdef USE_SIZEATTENUATION\n bool isPerspective = isPerspectiveMatrix( projectionMatrix );\n if ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );\n #endif\n #include \n #include \n #include \n #include \n}"; +var fragment$3 = "uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n #include \n vec3 outgoingLight = vec3( 0.0 );\n vec4 diffuseColor = vec4( diffuse, opacity );\n #include \n #include \n #include \n #include \n outgoingLight = diffuseColor.rgb;\n #include \n #include \n #include \n #include \n #include \n}"; +var vertex$2 = "#include \n#include \n#include \n#include \n#include \nvoid main() {\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n}"; +var fragment$2 = "uniform vec3 color;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n gl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\n #include \n #include \n #include \n}"; +var vertex$1 = "uniform float rotation;\nuniform vec2 center;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n #include \n vec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\n vec2 scale;\n scale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );\n scale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );\n #ifndef USE_SIZEATTENUATION\n bool isPerspective = isPerspectiveMatrix( projectionMatrix );\n if ( isPerspective ) scale *= - mvPosition.z;\n #endif\n vec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;\n vec2 rotatedPosition;\n rotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\n rotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\n mvPosition.xy += rotatedPosition;\n gl_Position = projectionMatrix * mvPosition;\n #include \n #include \n #include \n}"; +var fragment$1 = "uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n #include \n vec3 outgoingLight = vec3( 0.0 );\n vec4 diffuseColor = vec4( diffuse, opacity );\n #include \n #include \n #include \n #include \n outgoingLight = diffuseColor.rgb;\n #include \n #include \n #include \n #include \n}"; +var ShaderChunk = { + alphamap_fragment, + alphamap_pars_fragment, + alphatest_fragment, + alphatest_pars_fragment, + aomap_fragment, + aomap_pars_fragment, + begin_vertex, + beginnormal_vertex, + bsdfs, + iridescence_fragment, + bumpmap_pars_fragment, + clipping_planes_fragment, + clipping_planes_pars_fragment, + clipping_planes_pars_vertex, + clipping_planes_vertex, + color_fragment, + color_pars_fragment, + color_pars_vertex, + color_vertex, + common, + cube_uv_reflection_fragment, + defaultnormal_vertex, + displacementmap_pars_vertex, + displacementmap_vertex, + emissivemap_fragment, + emissivemap_pars_fragment, + encodings_fragment, + encodings_pars_fragment, + envmap_fragment, + envmap_common_pars_fragment, + envmap_pars_fragment, + envmap_pars_vertex, + envmap_physical_pars_fragment, + envmap_vertex, + fog_vertex, + fog_pars_vertex, + fog_fragment, + fog_pars_fragment, + gradientmap_pars_fragment, + lightmap_fragment, + lightmap_pars_fragment, + lights_lambert_fragment, + lights_lambert_pars_fragment, + lights_pars_begin, + lights_toon_fragment, + lights_toon_pars_fragment, + lights_phong_fragment, + lights_phong_pars_fragment, + lights_physical_fragment, + lights_physical_pars_fragment, + lights_fragment_begin, + lights_fragment_maps, + lights_fragment_end, + logdepthbuf_fragment, + logdepthbuf_pars_fragment, + logdepthbuf_pars_vertex, + logdepthbuf_vertex, + map_fragment, + map_pars_fragment, + map_particle_fragment, + map_particle_pars_fragment, + metalnessmap_fragment, + metalnessmap_pars_fragment, + morphcolor_vertex, + morphnormal_vertex, + morphtarget_pars_vertex, + morphtarget_vertex, + normal_fragment_begin, + normal_fragment_maps, + normal_pars_fragment, + normal_pars_vertex, + normal_vertex, + normalmap_pars_fragment, + clearcoat_normal_fragment_begin, + clearcoat_normal_fragment_maps, + clearcoat_pars_fragment, + iridescence_pars_fragment, + output_fragment, + packing, + premultiplied_alpha_fragment, + project_vertex, + dithering_fragment, + dithering_pars_fragment, + roughnessmap_fragment, + roughnessmap_pars_fragment, + shadowmap_pars_fragment, + shadowmap_pars_vertex, + shadowmap_vertex, + shadowmask_pars_fragment, + skinbase_vertex, + skinning_pars_vertex, + skinning_vertex, + skinnormal_vertex, + specularmap_fragment, + specularmap_pars_fragment, + tonemapping_fragment, + tonemapping_pars_fragment, + transmission_fragment, + transmission_pars_fragment, + uv_pars_fragment, + uv_pars_vertex, + uv_vertex, + uv2_pars_fragment, + uv2_pars_vertex, + uv2_vertex, + worldpos_vertex, + background_vert: vertex$h, + background_frag: fragment$h, + backgroundCube_vert: vertex$g, + backgroundCube_frag: fragment$g, + cube_vert: vertex$f, + cube_frag: fragment$f, + depth_vert: vertex$e, + depth_frag: fragment$e, + distanceRGBA_vert: vertex$d, + distanceRGBA_frag: fragment$d, + equirect_vert: vertex$c, + equirect_frag: fragment$c, + linedashed_vert: vertex$b, + linedashed_frag: fragment$b, + meshbasic_vert: vertex$a, + meshbasic_frag: fragment$a, + meshlambert_vert: vertex$9, + meshlambert_frag: fragment$9, + meshmatcap_vert: vertex$8, + meshmatcap_frag: fragment$8, + meshnormal_vert: vertex$7, + meshnormal_frag: fragment$7, + meshphong_vert: vertex$6, + meshphong_frag: fragment$6, + meshphysical_vert: vertex$5, + meshphysical_frag: fragment$5, + meshtoon_vert: vertex$4, + meshtoon_frag: fragment$4, + points_vert: vertex$3, + points_frag: fragment$3, + shadow_vert: vertex$2, + shadow_frag: fragment$2, + sprite_vert: vertex$1, + sprite_frag: fragment$1 +}; +var UniformsLib = { + common: { + diffuse: { value: /* @__PURE__ */ new Color(16777215) }, + opacity: { value: 1 }, + map: { value: null }, + uvTransform: { value: /* @__PURE__ */ new Matrix3() }, + uv2Transform: { value: /* @__PURE__ */ new Matrix3() }, + alphaMap: { value: null }, + alphaTest: { value: 0 } + }, + specularmap: { + specularMap: { value: null } + }, + envmap: { + envMap: { value: null }, + flipEnvMap: { value: -1 }, + reflectivity: { value: 1 }, + ior: { value: 1.5 }, + refractionRatio: { value: 0.98 } + }, + aomap: { + aoMap: { value: null }, + aoMapIntensity: { value: 1 } + }, + lightmap: { + lightMap: { value: null }, + lightMapIntensity: { value: 1 } + }, + emissivemap: { + emissiveMap: { value: null } + }, + bumpmap: { + bumpMap: { value: null }, + bumpScale: { value: 1 } + }, + normalmap: { + normalMap: { value: null }, + normalScale: { value: /* @__PURE__ */ new Vector2(1, 1) } + }, + displacementmap: { + displacementMap: { value: null }, + displacementScale: { value: 1 }, + displacementBias: { value: 0 } + }, + roughnessmap: { + roughnessMap: { value: null } + }, + metalnessmap: { + metalnessMap: { value: null } + }, + gradientmap: { + gradientMap: { value: null } + }, + fog: { + fogDensity: { value: 25e-5 }, + fogNear: { value: 1 }, + fogFar: { value: 2e3 }, + fogColor: { value: /* @__PURE__ */ new Color(16777215) } + }, + lights: { + ambientLightColor: { value: [] }, + lightProbe: { value: [] }, + directionalLights: { value: [], properties: { + direction: {}, + color: {} + } }, + directionalLightShadows: { value: [], properties: { + shadowBias: {}, + shadowNormalBias: {}, + shadowRadius: {}, + shadowMapSize: {} + } }, + directionalShadowMap: { value: [] }, + directionalShadowMatrix: { value: [] }, + spotLights: { value: [], properties: { + color: {}, + position: {}, + direction: {}, + distance: {}, + coneCos: {}, + penumbraCos: {}, + decay: {} + } }, + spotLightShadows: { value: [], properties: { + shadowBias: {}, + shadowNormalBias: {}, + shadowRadius: {}, + shadowMapSize: {} + } }, + spotLightMap: { value: [] }, + spotShadowMap: { value: [] }, + spotLightMatrix: { value: [] }, + pointLights: { value: [], properties: { + color: {}, + position: {}, + decay: {}, + distance: {} + } }, + pointLightShadows: { value: [], properties: { + shadowBias: {}, + shadowNormalBias: {}, + shadowRadius: {}, + shadowMapSize: {}, + shadowCameraNear: {}, + shadowCameraFar: {} + } }, + pointShadowMap: { value: [] }, + pointShadowMatrix: { value: [] }, + hemisphereLights: { value: [], properties: { + direction: {}, + skyColor: {}, + groundColor: {} + } }, + rectAreaLights: { value: [], properties: { + color: {}, + position: {}, + width: {}, + height: {} + } }, + ltc_1: { value: null }, + ltc_2: { value: null } + }, + points: { + diffuse: { value: /* @__PURE__ */ new Color(16777215) }, + opacity: { value: 1 }, + size: { value: 1 }, + scale: { value: 1 }, + map: { value: null }, + alphaMap: { value: null }, + alphaTest: { value: 0 }, + uvTransform: { value: /* @__PURE__ */ new Matrix3() } + }, + sprite: { + diffuse: { value: /* @__PURE__ */ new Color(16777215) }, + opacity: { value: 1 }, + center: { value: /* @__PURE__ */ new Vector2(0.5, 0.5) }, + rotation: { value: 0 }, + map: { value: null }, + alphaMap: { value: null }, + alphaTest: { value: 0 }, + uvTransform: { value: /* @__PURE__ */ new Matrix3() } + } +}; +var ShaderLib = { + basic: { + uniforms: /* @__PURE__ */ mergeUniforms([ + UniformsLib.common, + UniformsLib.specularmap, + UniformsLib.envmap, + UniformsLib.aomap, + UniformsLib.lightmap, + UniformsLib.fog + ]), + vertexShader: ShaderChunk.meshbasic_vert, + fragmentShader: ShaderChunk.meshbasic_frag + }, + lambert: { + uniforms: /* @__PURE__ */ mergeUniforms([ + UniformsLib.common, + UniformsLib.specularmap, + UniformsLib.envmap, + UniformsLib.aomap, + UniformsLib.lightmap, + UniformsLib.emissivemap, + UniformsLib.bumpmap, + UniformsLib.normalmap, + UniformsLib.displacementmap, + UniformsLib.fog, + UniformsLib.lights, + { + emissive: { value: /* @__PURE__ */ new Color(0) } + } + ]), + vertexShader: ShaderChunk.meshlambert_vert, + fragmentShader: ShaderChunk.meshlambert_frag + }, + phong: { + uniforms: /* @__PURE__ */ mergeUniforms([ + UniformsLib.common, + UniformsLib.specularmap, + UniformsLib.envmap, + UniformsLib.aomap, + UniformsLib.lightmap, + UniformsLib.emissivemap, + UniformsLib.bumpmap, + UniformsLib.normalmap, + UniformsLib.displacementmap, + UniformsLib.fog, + UniformsLib.lights, + { + emissive: { value: /* @__PURE__ */ new Color(0) }, + specular: { value: /* @__PURE__ */ new Color(1118481) }, + shininess: { value: 30 } + } + ]), + vertexShader: ShaderChunk.meshphong_vert, + fragmentShader: ShaderChunk.meshphong_frag + }, + standard: { + uniforms: /* @__PURE__ */ mergeUniforms([ + UniformsLib.common, + UniformsLib.envmap, + UniformsLib.aomap, + UniformsLib.lightmap, + UniformsLib.emissivemap, + UniformsLib.bumpmap, + UniformsLib.normalmap, + UniformsLib.displacementmap, + UniformsLib.roughnessmap, + UniformsLib.metalnessmap, + UniformsLib.fog, + UniformsLib.lights, + { + emissive: { value: /* @__PURE__ */ new Color(0) }, + roughness: { value: 1 }, + metalness: { value: 0 }, + envMapIntensity: { value: 1 } + } + ]), + vertexShader: ShaderChunk.meshphysical_vert, + fragmentShader: ShaderChunk.meshphysical_frag + }, + toon: { + uniforms: /* @__PURE__ */ mergeUniforms([ + UniformsLib.common, + UniformsLib.aomap, + UniformsLib.lightmap, + UniformsLib.emissivemap, + UniformsLib.bumpmap, + UniformsLib.normalmap, + UniformsLib.displacementmap, + UniformsLib.gradientmap, + UniformsLib.fog, + UniformsLib.lights, + { + emissive: { value: /* @__PURE__ */ new Color(0) } + } + ]), + vertexShader: ShaderChunk.meshtoon_vert, + fragmentShader: ShaderChunk.meshtoon_frag + }, + matcap: { + uniforms: /* @__PURE__ */ mergeUniforms([ + UniformsLib.common, + UniformsLib.bumpmap, + UniformsLib.normalmap, + UniformsLib.displacementmap, + UniformsLib.fog, + { + matcap: { value: null } + } + ]), + vertexShader: ShaderChunk.meshmatcap_vert, + fragmentShader: ShaderChunk.meshmatcap_frag + }, + points: { + uniforms: /* @__PURE__ */ mergeUniforms([ + UniformsLib.points, + UniformsLib.fog + ]), + vertexShader: ShaderChunk.points_vert, + fragmentShader: ShaderChunk.points_frag + }, + dashed: { + uniforms: /* @__PURE__ */ mergeUniforms([ + UniformsLib.common, + UniformsLib.fog, + { + scale: { value: 1 }, + dashSize: { value: 1 }, + totalSize: { value: 2 } + } + ]), + vertexShader: ShaderChunk.linedashed_vert, + fragmentShader: ShaderChunk.linedashed_frag + }, + depth: { + uniforms: /* @__PURE__ */ mergeUniforms([ + UniformsLib.common, + UniformsLib.displacementmap + ]), + vertexShader: ShaderChunk.depth_vert, + fragmentShader: ShaderChunk.depth_frag + }, + normal: { + uniforms: /* @__PURE__ */ mergeUniforms([ + UniformsLib.common, + UniformsLib.bumpmap, + UniformsLib.normalmap, + UniformsLib.displacementmap, + { + opacity: { value: 1 } + } + ]), + vertexShader: ShaderChunk.meshnormal_vert, + fragmentShader: ShaderChunk.meshnormal_frag + }, + sprite: { + uniforms: /* @__PURE__ */ mergeUniforms([ + UniformsLib.sprite, + UniformsLib.fog + ]), + vertexShader: ShaderChunk.sprite_vert, + fragmentShader: ShaderChunk.sprite_frag + }, + background: { + uniforms: { + uvTransform: { value: /* @__PURE__ */ new Matrix3() }, + t2D: { value: null } + }, + vertexShader: ShaderChunk.background_vert, + fragmentShader: ShaderChunk.background_frag + }, + backgroundCube: { + uniforms: { + envMap: { value: null }, + flipEnvMap: { value: -1 }, + backgroundBlurriness: { value: 0 } + }, + vertexShader: ShaderChunk.backgroundCube_vert, + fragmentShader: ShaderChunk.backgroundCube_frag + }, + cube: { + uniforms: { + tCube: { value: null }, + tFlip: { value: -1 }, + opacity: { value: 1 } + }, + vertexShader: ShaderChunk.cube_vert, + fragmentShader: ShaderChunk.cube_frag + }, + equirect: { + uniforms: { + tEquirect: { value: null } + }, + vertexShader: ShaderChunk.equirect_vert, + fragmentShader: ShaderChunk.equirect_frag + }, + distanceRGBA: { + uniforms: /* @__PURE__ */ mergeUniforms([ + UniformsLib.common, + UniformsLib.displacementmap, + { + referencePosition: { value: /* @__PURE__ */ new Vector3() }, + nearDistance: { value: 1 }, + farDistance: { value: 1e3 } + } + ]), + vertexShader: ShaderChunk.distanceRGBA_vert, + fragmentShader: ShaderChunk.distanceRGBA_frag + }, + shadow: { + uniforms: /* @__PURE__ */ mergeUniforms([ + UniformsLib.lights, + UniformsLib.fog, + { + color: { value: /* @__PURE__ */ new Color(0) }, + opacity: { value: 1 } + } + ]), + vertexShader: ShaderChunk.shadow_vert, + fragmentShader: ShaderChunk.shadow_frag + } +}; +ShaderLib.physical = { + uniforms: /* @__PURE__ */ mergeUniforms([ + ShaderLib.standard.uniforms, + { + clearcoat: { value: 0 }, + clearcoatMap: { value: null }, + clearcoatRoughness: { value: 0 }, + clearcoatRoughnessMap: { value: null }, + clearcoatNormalScale: { value: /* @__PURE__ */ new Vector2(1, 1) }, + clearcoatNormalMap: { value: null }, + iridescence: { value: 0 }, + iridescenceMap: { value: null }, + iridescenceIOR: { value: 1.3 }, + iridescenceThicknessMinimum: { value: 100 }, + iridescenceThicknessMaximum: { value: 400 }, + iridescenceThicknessMap: { value: null }, + sheen: { value: 0 }, + sheenColor: { value: /* @__PURE__ */ new Color(0) }, + sheenColorMap: { value: null }, + sheenRoughness: { value: 1 }, + sheenRoughnessMap: { value: null }, + transmission: { value: 0 }, + transmissionMap: { value: null }, + transmissionSamplerSize: { value: /* @__PURE__ */ new Vector2() }, + transmissionSamplerMap: { value: null }, + thickness: { value: 0 }, + thicknessMap: { value: null }, + attenuationDistance: { value: 0 }, + attenuationColor: { value: /* @__PURE__ */ new Color(0) }, + specularIntensity: { value: 1 }, + specularIntensityMap: { value: null }, + specularColor: { value: /* @__PURE__ */ new Color(1, 1, 1) }, + specularColorMap: { value: null } + } + ]), + vertexShader: ShaderChunk.meshphysical_vert, + fragmentShader: ShaderChunk.meshphysical_frag +}; +function WebGLBackground(renderer3, cubemaps, cubeuvmaps, state, objects, alpha, premultipliedAlpha) { + const clearColor = new Color(0); + let clearAlpha = alpha === true ? 0 : 1; + let planeMesh; + let boxMesh; + let currentBackground = null; + let currentBackgroundVersion = 0; + let currentTonemapping = null; + function render(renderList, scene3) { + let forceClear = false; + let background = scene3.isScene === true ? scene3.background : null; + if (background && background.isTexture) { + const usePMREM = scene3.backgroundBlurriness > 0; + background = (usePMREM ? cubeuvmaps : cubemaps).get(background); + } + const xr = renderer3.xr; + const session = xr.getSession && xr.getSession(); + if (session && session.environmentBlendMode === "additive") { + background = null; + } + if (background === null) { + setClear(clearColor, clearAlpha); + } else if (background && background.isColor) { + setClear(background, 1); + forceClear = true; + } + if (renderer3.autoClear || forceClear) { + renderer3.clear(renderer3.autoClearColor, renderer3.autoClearDepth, renderer3.autoClearStencil); + } + if (background && (background.isCubeTexture || background.mapping === CubeUVReflectionMapping)) { + if (boxMesh === void 0) { + boxMesh = new Mesh(new BoxGeometry(1, 1, 1), new ShaderMaterial({ + name: "BackgroundCubeMaterial", + uniforms: cloneUniforms(ShaderLib.backgroundCube.uniforms), + vertexShader: ShaderLib.backgroundCube.vertexShader, + fragmentShader: ShaderLib.backgroundCube.fragmentShader, + side: BackSide, + depthTest: false, + depthWrite: false, + fog: false + })); + boxMesh.geometry.deleteAttribute("normal"); + boxMesh.geometry.deleteAttribute("uv"); + boxMesh.onBeforeRender = function(renderer4, scene4, camera3) { + this.matrixWorld.copyPosition(camera3.matrixWorld); + }; + Object.defineProperty(boxMesh.material, "envMap", { + get: function() { + return this.uniforms.envMap.value; + } + }); + objects.update(boxMesh); + } + boxMesh.material.uniforms.envMap.value = background; + boxMesh.material.uniforms.flipEnvMap.value = background.isCubeTexture && background.isRenderTargetTexture === false ? -1 : 1; + boxMesh.material.uniforms.backgroundBlurriness.value = scene3.backgroundBlurriness; + if (currentBackground !== background || currentBackgroundVersion !== background.version || currentTonemapping !== renderer3.toneMapping) { + boxMesh.material.needsUpdate = true; + currentBackground = background; + currentBackgroundVersion = background.version; + currentTonemapping = renderer3.toneMapping; + } + boxMesh.layers.enableAll(); + renderList.unshift(boxMesh, boxMesh.geometry, boxMesh.material, 0, 0, null); + } else if (background && background.isTexture) { + if (planeMesh === void 0) { + planeMesh = new Mesh(new PlaneGeometry(2, 2), new ShaderMaterial({ + name: "BackgroundMaterial", + uniforms: cloneUniforms(ShaderLib.background.uniforms), + vertexShader: ShaderLib.background.vertexShader, + fragmentShader: ShaderLib.background.fragmentShader, + side: FrontSide, + depthTest: false, + depthWrite: false, + fog: false + })); + planeMesh.geometry.deleteAttribute("normal"); + Object.defineProperty(planeMesh.material, "map", { + get: function() { + return this.uniforms.t2D.value; + } + }); + objects.update(planeMesh); + } + planeMesh.material.uniforms.t2D.value = background; + if (background.matrixAutoUpdate === true) { + background.updateMatrix(); + } + planeMesh.material.uniforms.uvTransform.value.copy(background.matrix); + if (currentBackground !== background || currentBackgroundVersion !== background.version || currentTonemapping !== renderer3.toneMapping) { + planeMesh.material.needsUpdate = true; + currentBackground = background; + currentBackgroundVersion = background.version; + currentTonemapping = renderer3.toneMapping; + } + planeMesh.layers.enableAll(); + renderList.unshift(planeMesh, planeMesh.geometry, planeMesh.material, 0, 0, null); + } + } + function setClear(color, alpha2) { + state.buffers.color.setClear(color.r, color.g, color.b, alpha2, premultipliedAlpha); + } + return { + getClearColor: function() { + return clearColor; + }, + setClearColor: function(color, alpha2 = 1) { + clearColor.set(color); + clearAlpha = alpha2; + setClear(clearColor, clearAlpha); + }, + getClearAlpha: function() { + return clearAlpha; + }, + setClearAlpha: function(alpha2) { + clearAlpha = alpha2; + setClear(clearColor, clearAlpha); + }, + render + }; +} +function WebGLBindingStates(gl, extensions, attributes, capabilities) { + const maxVertexAttributes = gl.getParameter(34921); + const extension = capabilities.isWebGL2 ? null : extensions.get("OES_vertex_array_object"); + const vaoAvailable = capabilities.isWebGL2 || extension !== null; + const bindingStates = {}; + const defaultState = createBindingState(null); + let currentState = defaultState; + let forceUpdate = false; + function setup(object, material, program, geometry, index5) { + let updateBuffers = false; + if (vaoAvailable) { + const state = getBindingState(geometry, program, material); + if (currentState !== state) { + currentState = state; + bindVertexArrayObject(currentState.object); + } + updateBuffers = needsUpdate(object, geometry, program, index5); + if (updateBuffers) + saveCache(object, geometry, program, index5); + } else { + const wireframe = material.wireframe === true; + if (currentState.geometry !== geometry.id || currentState.program !== program.id || currentState.wireframe !== wireframe) { + currentState.geometry = geometry.id; + currentState.program = program.id; + currentState.wireframe = wireframe; + updateBuffers = true; + } + } + if (index5 !== null) { + attributes.update(index5, 34963); + } + if (updateBuffers || forceUpdate) { + forceUpdate = false; + setupVertexAttributes(object, material, program, geometry); + if (index5 !== null) { + gl.bindBuffer(34963, attributes.get(index5).buffer); + } + } + } + function createVertexArrayObject() { + if (capabilities.isWebGL2) + return gl.createVertexArray(); + return extension.createVertexArrayOES(); + } + function bindVertexArrayObject(vao) { + if (capabilities.isWebGL2) + return gl.bindVertexArray(vao); + return extension.bindVertexArrayOES(vao); + } + function deleteVertexArrayObject(vao) { + if (capabilities.isWebGL2) + return gl.deleteVertexArray(vao); + return extension.deleteVertexArrayOES(vao); + } + function getBindingState(geometry, program, material) { + const wireframe = material.wireframe === true; + let programMap = bindingStates[geometry.id]; + if (programMap === void 0) { + programMap = {}; + bindingStates[geometry.id] = programMap; + } + let stateMap = programMap[program.id]; + if (stateMap === void 0) { + stateMap = {}; + programMap[program.id] = stateMap; + } + let state = stateMap[wireframe]; + if (state === void 0) { + state = createBindingState(createVertexArrayObject()); + stateMap[wireframe] = state; + } + return state; + } + function createBindingState(vao) { + const newAttributes = []; + const enabledAttributes = []; + const attributeDivisors = []; + for (let i = 0; i < maxVertexAttributes; i++) { + newAttributes[i] = 0; + enabledAttributes[i] = 0; + attributeDivisors[i] = 0; + } + return { + geometry: null, + program: null, + wireframe: false, + newAttributes, + enabledAttributes, + attributeDivisors, + object: vao, + attributes: {}, + index: null + }; + } + function needsUpdate(object, geometry, program, index5) { + const cachedAttributes = currentState.attributes; + const geometryAttributes = geometry.attributes; + let attributesNum = 0; + const programAttributes = program.getAttributes(); + for (const name in programAttributes) { + const programAttribute = programAttributes[name]; + if (programAttribute.location >= 0) { + const cachedAttribute = cachedAttributes[name]; + let geometryAttribute = geometryAttributes[name]; + if (geometryAttribute === void 0) { + if (name === "instanceMatrix" && object.instanceMatrix) + geometryAttribute = object.instanceMatrix; + if (name === "instanceColor" && object.instanceColor) + geometryAttribute = object.instanceColor; + } + if (cachedAttribute === void 0) + return true; + if (cachedAttribute.attribute !== geometryAttribute) + return true; + if (geometryAttribute && cachedAttribute.data !== geometryAttribute.data) + return true; + attributesNum++; + } + } + if (currentState.attributesNum !== attributesNum) + return true; + if (currentState.index !== index5) + return true; + return false; + } + function saveCache(object, geometry, program, index5) { + const cache = {}; + const attributes2 = geometry.attributes; + let attributesNum = 0; + const programAttributes = program.getAttributes(); + for (const name in programAttributes) { + const programAttribute = programAttributes[name]; + if (programAttribute.location >= 0) { + let attribute = attributes2[name]; + if (attribute === void 0) { + if (name === "instanceMatrix" && object.instanceMatrix) + attribute = object.instanceMatrix; + if (name === "instanceColor" && object.instanceColor) + attribute = object.instanceColor; + } + const data = {}; + data.attribute = attribute; + if (attribute && attribute.data) { + data.data = attribute.data; + } + cache[name] = data; + attributesNum++; + } + } + currentState.attributes = cache; + currentState.attributesNum = attributesNum; + currentState.index = index5; + } + function initAttributes() { + const newAttributes = currentState.newAttributes; + for (let i = 0, il = newAttributes.length; i < il; i++) { + newAttributes[i] = 0; + } + } + function enableAttribute(attribute) { + enableAttributeAndDivisor(attribute, 0); + } + function enableAttributeAndDivisor(attribute, meshPerAttribute) { + const newAttributes = currentState.newAttributes; + const enabledAttributes = currentState.enabledAttributes; + const attributeDivisors = currentState.attributeDivisors; + newAttributes[attribute] = 1; + if (enabledAttributes[attribute] === 0) { + gl.enableVertexAttribArray(attribute); + enabledAttributes[attribute] = 1; + } + if (attributeDivisors[attribute] !== meshPerAttribute) { + const extension2 = capabilities.isWebGL2 ? gl : extensions.get("ANGLE_instanced_arrays"); + extension2[capabilities.isWebGL2 ? "vertexAttribDivisor" : "vertexAttribDivisorANGLE"](attribute, meshPerAttribute); + attributeDivisors[attribute] = meshPerAttribute; + } + } + function disableUnusedAttributes() { + const newAttributes = currentState.newAttributes; + const enabledAttributes = currentState.enabledAttributes; + for (let i = 0, il = enabledAttributes.length; i < il; i++) { + if (enabledAttributes[i] !== newAttributes[i]) { + gl.disableVertexAttribArray(i); + enabledAttributes[i] = 0; + } + } + } + function vertexAttribPointer(index5, size, type, normalized, stride, offset) { + if (capabilities.isWebGL2 === true && (type === 5124 || type === 5125)) { + gl.vertexAttribIPointer(index5, size, type, stride, offset); + } else { + gl.vertexAttribPointer(index5, size, type, normalized, stride, offset); + } + } + function setupVertexAttributes(object, material, program, geometry) { + if (capabilities.isWebGL2 === false && (object.isInstancedMesh || geometry.isInstancedBufferGeometry)) { + if (extensions.get("ANGLE_instanced_arrays") === null) + return; + } + initAttributes(); + const geometryAttributes = geometry.attributes; + const programAttributes = program.getAttributes(); + const materialDefaultAttributeValues = material.defaultAttributeValues; + for (const name in programAttributes) { + const programAttribute = programAttributes[name]; + if (programAttribute.location >= 0) { + let geometryAttribute = geometryAttributes[name]; + if (geometryAttribute === void 0) { + if (name === "instanceMatrix" && object.instanceMatrix) + geometryAttribute = object.instanceMatrix; + if (name === "instanceColor" && object.instanceColor) + geometryAttribute = object.instanceColor; + } + if (geometryAttribute !== void 0) { + const normalized = geometryAttribute.normalized; + const size = geometryAttribute.itemSize; + const attribute = attributes.get(geometryAttribute); + if (attribute === void 0) + continue; + const buffer = attribute.buffer; + const type = attribute.type; + const bytesPerElement = attribute.bytesPerElement; + if (geometryAttribute.isInterleavedBufferAttribute) { + const data = geometryAttribute.data; + const stride = data.stride; + const offset = geometryAttribute.offset; + if (data.isInstancedInterleavedBuffer) { + for (let i = 0; i < programAttribute.locationSize; i++) { + enableAttributeAndDivisor(programAttribute.location + i, data.meshPerAttribute); + } + if (object.isInstancedMesh !== true && geometry._maxInstanceCount === void 0) { + geometry._maxInstanceCount = data.meshPerAttribute * data.count; + } + } else { + for (let i = 0; i < programAttribute.locationSize; i++) { + enableAttribute(programAttribute.location + i); + } + } + gl.bindBuffer(34962, buffer); + for (let i = 0; i < programAttribute.locationSize; i++) { + vertexAttribPointer(programAttribute.location + i, size / programAttribute.locationSize, type, normalized, stride * bytesPerElement, (offset + size / programAttribute.locationSize * i) * bytesPerElement); + } + } else { + if (geometryAttribute.isInstancedBufferAttribute) { + for (let i = 0; i < programAttribute.locationSize; i++) { + enableAttributeAndDivisor(programAttribute.location + i, geometryAttribute.meshPerAttribute); + } + if (object.isInstancedMesh !== true && geometry._maxInstanceCount === void 0) { + geometry._maxInstanceCount = geometryAttribute.meshPerAttribute * geometryAttribute.count; + } + } else { + for (let i = 0; i < programAttribute.locationSize; i++) { + enableAttribute(programAttribute.location + i); + } + } + gl.bindBuffer(34962, buffer); + for (let i = 0; i < programAttribute.locationSize; i++) { + vertexAttribPointer(programAttribute.location + i, size / programAttribute.locationSize, type, normalized, size * bytesPerElement, size / programAttribute.locationSize * i * bytesPerElement); + } + } + } else if (materialDefaultAttributeValues !== void 0) { + const value = materialDefaultAttributeValues[name]; + if (value !== void 0) { + switch (value.length) { + case 2: + gl.vertexAttrib2fv(programAttribute.location, value); + break; + case 3: + gl.vertexAttrib3fv(programAttribute.location, value); + break; + case 4: + gl.vertexAttrib4fv(programAttribute.location, value); + break; + default: + gl.vertexAttrib1fv(programAttribute.location, value); + } + } + } + } + } + disableUnusedAttributes(); + } + function dispose() { + reset(); + for (const geometryId in bindingStates) { + const programMap = bindingStates[geometryId]; + for (const programId in programMap) { + const stateMap = programMap[programId]; + for (const wireframe in stateMap) { + deleteVertexArrayObject(stateMap[wireframe].object); + delete stateMap[wireframe]; + } + delete programMap[programId]; + } + delete bindingStates[geometryId]; + } + } + function releaseStatesOfGeometry(geometry) { + if (bindingStates[geometry.id] === void 0) + return; + const programMap = bindingStates[geometry.id]; + for (const programId in programMap) { + const stateMap = programMap[programId]; + for (const wireframe in stateMap) { + deleteVertexArrayObject(stateMap[wireframe].object); + delete stateMap[wireframe]; + } + delete programMap[programId]; + } + delete bindingStates[geometry.id]; + } + function releaseStatesOfProgram(program) { + for (const geometryId in bindingStates) { + const programMap = bindingStates[geometryId]; + if (programMap[program.id] === void 0) + continue; + const stateMap = programMap[program.id]; + for (const wireframe in stateMap) { + deleteVertexArrayObject(stateMap[wireframe].object); + delete stateMap[wireframe]; + } + delete programMap[program.id]; + } + } + function reset() { + resetDefaultState(); + forceUpdate = true; + if (currentState === defaultState) + return; + currentState = defaultState; + bindVertexArrayObject(currentState.object); + } + function resetDefaultState() { + defaultState.geometry = null; + defaultState.program = null; + defaultState.wireframe = false; + } + return { + setup, + reset, + resetDefaultState, + dispose, + releaseStatesOfGeometry, + releaseStatesOfProgram, + initAttributes, + enableAttribute, + disableUnusedAttributes + }; +} +function WebGLBufferRenderer(gl, extensions, info, capabilities) { + const isWebGL2 = capabilities.isWebGL2; + let mode; + function setMode(value) { + mode = value; + } + function render(start, count) { + gl.drawArrays(mode, start, count); + info.update(count, mode, 1); + } + function renderInstances(start, count, primcount) { + if (primcount === 0) + return; + let extension, methodName; + if (isWebGL2) { + extension = gl; + methodName = "drawArraysInstanced"; + } else { + extension = extensions.get("ANGLE_instanced_arrays"); + methodName = "drawArraysInstancedANGLE"; + if (extension === null) { + console.error("THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays."); + return; + } + } + extension[methodName](mode, start, count, primcount); + info.update(count, mode, primcount); + } + this.setMode = setMode; + this.render = render; + this.renderInstances = renderInstances; +} +function WebGLCapabilities(gl, extensions, parameters) { + let maxAnisotropy; + function getMaxAnisotropy() { + if (maxAnisotropy !== void 0) + return maxAnisotropy; + if (extensions.has("EXT_texture_filter_anisotropic") === true) { + const extension = extensions.get("EXT_texture_filter_anisotropic"); + maxAnisotropy = gl.getParameter(extension.MAX_TEXTURE_MAX_ANISOTROPY_EXT); + } else { + maxAnisotropy = 0; + } + return maxAnisotropy; + } + function getMaxPrecision(precision2) { + if (precision2 === "highp") { + if (gl.getShaderPrecisionFormat(35633, 36338).precision > 0 && gl.getShaderPrecisionFormat(35632, 36338).precision > 0) { + return "highp"; + } + precision2 = "mediump"; + } + if (precision2 === "mediump") { + if (gl.getShaderPrecisionFormat(35633, 36337).precision > 0 && gl.getShaderPrecisionFormat(35632, 36337).precision > 0) { + return "mediump"; + } + } + return "lowp"; + } + const isWebGL2 = typeof WebGL2RenderingContext !== "undefined" && gl instanceof WebGL2RenderingContext || typeof WebGL2ComputeRenderingContext !== "undefined" && gl instanceof WebGL2ComputeRenderingContext; + let precision = parameters.precision !== void 0 ? parameters.precision : "highp"; + const maxPrecision = getMaxPrecision(precision); + if (maxPrecision !== precision) { + console.warn("THREE.WebGLRenderer:", precision, "not supported, using", maxPrecision, "instead."); + precision = maxPrecision; + } + const drawBuffers = isWebGL2 || extensions.has("WEBGL_draw_buffers"); + const logarithmicDepthBuffer = parameters.logarithmicDepthBuffer === true; + const maxTextures = gl.getParameter(34930); + const maxVertexTextures = gl.getParameter(35660); + const maxTextureSize = gl.getParameter(3379); + const maxCubemapSize = gl.getParameter(34076); + const maxAttributes = gl.getParameter(34921); + const maxVertexUniforms = gl.getParameter(36347); + const maxVaryings = gl.getParameter(36348); + const maxFragmentUniforms = gl.getParameter(36349); + const vertexTextures = maxVertexTextures > 0; + const floatFragmentTextures = isWebGL2 || extensions.has("OES_texture_float"); + const floatVertexTextures = vertexTextures && floatFragmentTextures; + const maxSamples = isWebGL2 ? gl.getParameter(36183) : 0; + return { + isWebGL2, + drawBuffers, + getMaxAnisotropy, + getMaxPrecision, + precision, + logarithmicDepthBuffer, + maxTextures, + maxVertexTextures, + maxTextureSize, + maxCubemapSize, + maxAttributes, + maxVertexUniforms, + maxVaryings, + maxFragmentUniforms, + vertexTextures, + floatFragmentTextures, + floatVertexTextures, + maxSamples + }; +} +function WebGLClipping(properties) { + const scope = this; + let globalState = null, numGlobalPlanes = 0, localClippingEnabled = false, renderingShadows = false; + const plane = new Plane(), viewNormalMatrix = new Matrix3(), uniform = { value: null, needsUpdate: false }; + this.uniform = uniform; + this.numPlanes = 0; + this.numIntersection = 0; + this.init = function(planes, enableLocalClipping, camera3) { + const enabled = planes.length !== 0 || enableLocalClipping || numGlobalPlanes !== 0 || localClippingEnabled; + localClippingEnabled = enableLocalClipping; + globalState = projectPlanes(planes, camera3, 0); + numGlobalPlanes = planes.length; + return enabled; + }; + this.beginShadows = function() { + renderingShadows = true; + projectPlanes(null); + }; + this.endShadows = function() { + renderingShadows = false; + resetGlobalState(); + }; + this.setState = function(material, camera3, useCache) { + const planes = material.clippingPlanes, clipIntersection = material.clipIntersection, clipShadows = material.clipShadows; + const materialProperties = properties.get(material); + if (!localClippingEnabled || planes === null || planes.length === 0 || renderingShadows && !clipShadows) { + if (renderingShadows) { + projectPlanes(null); + } else { + resetGlobalState(); + } + } else { + const nGlobal = renderingShadows ? 0 : numGlobalPlanes, lGlobal = nGlobal * 4; + let dstArray = materialProperties.clippingState || null; + uniform.value = dstArray; + dstArray = projectPlanes(planes, camera3, lGlobal, useCache); + for (let i = 0; i !== lGlobal; ++i) { + dstArray[i] = globalState[i]; + } + materialProperties.clippingState = dstArray; + this.numIntersection = clipIntersection ? this.numPlanes : 0; + this.numPlanes += nGlobal; + } + }; + function resetGlobalState() { + if (uniform.value !== globalState) { + uniform.value = globalState; + uniform.needsUpdate = numGlobalPlanes > 0; + } + scope.numPlanes = numGlobalPlanes; + scope.numIntersection = 0; + } + function projectPlanes(planes, camera3, dstOffset, skipTransform) { + const nPlanes = planes !== null ? planes.length : 0; + let dstArray = null; + if (nPlanes !== 0) { + dstArray = uniform.value; + if (skipTransform !== true || dstArray === null) { + const flatSize = dstOffset + nPlanes * 4, viewMatrix = camera3.matrixWorldInverse; + viewNormalMatrix.getNormalMatrix(viewMatrix); + if (dstArray === null || dstArray.length < flatSize) { + dstArray = new Float32Array(flatSize); + } + for (let i = 0, i4 = dstOffset; i !== nPlanes; ++i, i4 += 4) { + plane.copy(planes[i]).applyMatrix4(viewMatrix, viewNormalMatrix); + plane.normal.toArray(dstArray, i4); + dstArray[i4 + 3] = plane.constant; + } + } + uniform.value = dstArray; + uniform.needsUpdate = true; + } + scope.numPlanes = nPlanes; + scope.numIntersection = 0; + return dstArray; + } +} +function WebGLCubeMaps(renderer3) { + let cubemaps = /* @__PURE__ */ new WeakMap(); + function mapTextureMapping(texture, mapping) { + if (mapping === EquirectangularReflectionMapping) { + texture.mapping = CubeReflectionMapping; + } else if (mapping === EquirectangularRefractionMapping) { + texture.mapping = CubeRefractionMapping; + } + return texture; + } + function get2(texture) { + if (texture && texture.isTexture && texture.isRenderTargetTexture === false) { + const mapping = texture.mapping; + if (mapping === EquirectangularReflectionMapping || mapping === EquirectangularRefractionMapping) { + if (cubemaps.has(texture)) { + const cubemap = cubemaps.get(texture).texture; + return mapTextureMapping(cubemap, texture.mapping); + } else { + const image = texture.image; + if (image && image.height > 0) { + const renderTarget = new WebGLCubeRenderTarget(image.height / 2); + renderTarget.fromEquirectangularTexture(renderer3, texture); + cubemaps.set(texture, renderTarget); + texture.addEventListener("dispose", onTextureDispose); + return mapTextureMapping(renderTarget.texture, texture.mapping); + } else { + return null; + } + } + } + } + return texture; + } + function onTextureDispose(event) { + const texture = event.target; + texture.removeEventListener("dispose", onTextureDispose); + const cubemap = cubemaps.get(texture); + if (cubemap !== void 0) { + cubemaps.delete(texture); + cubemap.dispose(); + } + } + function dispose() { + cubemaps = /* @__PURE__ */ new WeakMap(); + } + return { + get: get2, + dispose + }; +} +var OrthographicCamera = class extends Camera { + constructor(left = -1, right = 1, top = 1, bottom = -1, near = 0.1, far = 2e3) { + super(); + this.isOrthographicCamera = true; + this.type = "OrthographicCamera"; + this.zoom = 1; + this.view = null; + this.left = left; + this.right = right; + this.top = top; + this.bottom = bottom; + this.near = near; + this.far = far; + this.updateProjectionMatrix(); + } + copy(source, recursive) { + super.copy(source, recursive); + this.left = source.left; + this.right = source.right; + this.top = source.top; + this.bottom = source.bottom; + this.near = source.near; + this.far = source.far; + this.zoom = source.zoom; + this.view = source.view === null ? null : Object.assign({}, source.view); + return this; + } + setViewOffset(fullWidth, fullHeight, x2, y2, width, height) { + if (this.view === null) { + this.view = { + enabled: true, + fullWidth: 1, + fullHeight: 1, + offsetX: 0, + offsetY: 0, + width: 1, + height: 1 + }; + } + this.view.enabled = true; + this.view.fullWidth = fullWidth; + this.view.fullHeight = fullHeight; + this.view.offsetX = x2; + this.view.offsetY = y2; + this.view.width = width; + this.view.height = height; + this.updateProjectionMatrix(); + } + clearViewOffset() { + if (this.view !== null) { + this.view.enabled = false; + } + this.updateProjectionMatrix(); + } + updateProjectionMatrix() { + const dx = (this.right - this.left) / (2 * this.zoom); + const dy = (this.top - this.bottom) / (2 * this.zoom); + const cx = (this.right + this.left) / 2; + const cy = (this.top + this.bottom) / 2; + let left = cx - dx; + let right = cx + dx; + let top = cy + dy; + let bottom = cy - dy; + if (this.view !== null && this.view.enabled) { + const scaleW = (this.right - this.left) / this.view.fullWidth / this.zoom; + const scaleH = (this.top - this.bottom) / this.view.fullHeight / this.zoom; + left += scaleW * this.view.offsetX; + right = left + scaleW * this.view.width; + top -= scaleH * this.view.offsetY; + bottom = top - scaleH * this.view.height; + } + this.projectionMatrix.makeOrthographic(left, right, top, bottom, this.near, this.far); + this.projectionMatrixInverse.copy(this.projectionMatrix).invert(); + } + toJSON(meta) { + const data = super.toJSON(meta); + data.object.zoom = this.zoom; + data.object.left = this.left; + data.object.right = this.right; + data.object.top = this.top; + data.object.bottom = this.bottom; + data.object.near = this.near; + data.object.far = this.far; + if (this.view !== null) + data.object.view = Object.assign({}, this.view); + return data; + } +}; +var LOD_MIN = 4; +var EXTRA_LOD_SIGMA = [0.125, 0.215, 0.35, 0.446, 0.526, 0.582]; +var MAX_SAMPLES = 20; +var _flatCamera = /* @__PURE__ */ new OrthographicCamera(); +var _clearColor = /* @__PURE__ */ new Color(); +var _oldTarget = null; +var PHI = (1 + Math.sqrt(5)) / 2; +var INV_PHI = 1 / PHI; +var _axisDirections = [ + /* @__PURE__ */ new Vector3(1, 1, 1), + /* @__PURE__ */ new Vector3(-1, 1, 1), + /* @__PURE__ */ new Vector3(1, 1, -1), + /* @__PURE__ */ new Vector3(-1, 1, -1), + /* @__PURE__ */ new Vector3(0, PHI, INV_PHI), + /* @__PURE__ */ new Vector3(0, PHI, -INV_PHI), + /* @__PURE__ */ new Vector3(INV_PHI, 0, PHI), + /* @__PURE__ */ new Vector3(-INV_PHI, 0, PHI), + /* @__PURE__ */ new Vector3(PHI, INV_PHI, 0), + /* @__PURE__ */ new Vector3(-PHI, INV_PHI, 0) +]; +var PMREMGenerator = class { + constructor(renderer3) { + this._renderer = renderer3; + this._pingPongRenderTarget = null; + this._lodMax = 0; + this._cubeSize = 0; + this._lodPlanes = []; + this._sizeLods = []; + this._sigmas = []; + this._blurMaterial = null; + this._cubemapMaterial = null; + this._equirectMaterial = null; + this._compileMaterial(this._blurMaterial); + } + fromScene(scene3, sigma = 0, near = 0.1, far = 100) { + _oldTarget = this._renderer.getRenderTarget(); + this._setSize(256); + const cubeUVRenderTarget = this._allocateTargets(); + cubeUVRenderTarget.depthBuffer = true; + this._sceneToCubeUV(scene3, near, far, cubeUVRenderTarget); + if (sigma > 0) { + this._blur(cubeUVRenderTarget, 0, 0, sigma); + } + this._applyPMREM(cubeUVRenderTarget); + this._cleanup(cubeUVRenderTarget); + return cubeUVRenderTarget; + } + fromEquirectangular(equirectangular, renderTarget = null) { + return this._fromTexture(equirectangular, renderTarget); + } + fromCubemap(cubemap, renderTarget = null) { + return this._fromTexture(cubemap, renderTarget); + } + compileCubemapShader() { + if (this._cubemapMaterial === null) { + this._cubemapMaterial = _getCubemapMaterial(); + this._compileMaterial(this._cubemapMaterial); + } + } + compileEquirectangularShader() { + if (this._equirectMaterial === null) { + this._equirectMaterial = _getEquirectMaterial(); + this._compileMaterial(this._equirectMaterial); + } + } + dispose() { + this._dispose(); + if (this._cubemapMaterial !== null) + this._cubemapMaterial.dispose(); + if (this._equirectMaterial !== null) + this._equirectMaterial.dispose(); + } + _setSize(cubeSize) { + this._lodMax = Math.floor(Math.log2(cubeSize)); + this._cubeSize = Math.pow(2, this._lodMax); + } + _dispose() { + if (this._blurMaterial !== null) + this._blurMaterial.dispose(); + if (this._pingPongRenderTarget !== null) + this._pingPongRenderTarget.dispose(); + for (let i = 0; i < this._lodPlanes.length; i++) { + this._lodPlanes[i].dispose(); + } + } + _cleanup(outputTarget) { + this._renderer.setRenderTarget(_oldTarget); + outputTarget.scissorTest = false; + _setViewport(outputTarget, 0, 0, outputTarget.width, outputTarget.height); + } + _fromTexture(texture, renderTarget) { + if (texture.mapping === CubeReflectionMapping || texture.mapping === CubeRefractionMapping) { + this._setSize(texture.image.length === 0 ? 16 : texture.image[0].width || texture.image[0].image.width); + } else { + this._setSize(texture.image.width / 4); + } + _oldTarget = this._renderer.getRenderTarget(); + const cubeUVRenderTarget = renderTarget || this._allocateTargets(); + this._textureToCubeUV(texture, cubeUVRenderTarget); + this._applyPMREM(cubeUVRenderTarget); + this._cleanup(cubeUVRenderTarget); + return cubeUVRenderTarget; + } + _allocateTargets() { + const width = 3 * Math.max(this._cubeSize, 16 * 7); + const height = 4 * this._cubeSize; + const params = { + magFilter: LinearFilter, + minFilter: LinearFilter, + generateMipmaps: false, + type: HalfFloatType, + format: RGBAFormat, + encoding: LinearEncoding, + depthBuffer: false + }; + const cubeUVRenderTarget = _createRenderTarget(width, height, params); + if (this._pingPongRenderTarget === null || this._pingPongRenderTarget.width !== width) { + if (this._pingPongRenderTarget !== null) { + this._dispose(); + } + this._pingPongRenderTarget = _createRenderTarget(width, height, params); + const { _lodMax } = this; + ({ sizeLods: this._sizeLods, lodPlanes: this._lodPlanes, sigmas: this._sigmas } = _createPlanes(_lodMax)); + this._blurMaterial = _getBlurShader(_lodMax, width, height); + } + return cubeUVRenderTarget; + } + _compileMaterial(material) { + const tmpMesh = new Mesh(this._lodPlanes[0], material); + this._renderer.compile(tmpMesh, _flatCamera); + } + _sceneToCubeUV(scene3, near, far, cubeUVRenderTarget) { + const fov2 = 90; + const aspect2 = 1; + const cubeCamera = new PerspectiveCamera(fov2, aspect2, near, far); + const upSign = [1, -1, 1, 1, 1, 1]; + const forwardSign = [1, 1, 1, -1, -1, -1]; + const renderer3 = this._renderer; + const originalAutoClear = renderer3.autoClear; + const toneMapping = renderer3.toneMapping; + renderer3.getClearColor(_clearColor); + renderer3.toneMapping = NoToneMapping; + renderer3.autoClear = false; + const backgroundMaterial = new MeshBasicMaterial({ + name: "PMREM.Background", + side: BackSide, + depthWrite: false, + depthTest: false + }); + const backgroundBox = new Mesh(new BoxGeometry(), backgroundMaterial); + let useSolidColor = false; + const background = scene3.background; + if (background) { + if (background.isColor) { + backgroundMaterial.color.copy(background); + scene3.background = null; + useSolidColor = true; + } + } else { + backgroundMaterial.color.copy(_clearColor); + useSolidColor = true; + } + for (let i = 0; i < 6; i++) { + const col = i % 3; + if (col === 0) { + cubeCamera.up.set(0, upSign[i], 0); + cubeCamera.lookAt(forwardSign[i], 0, 0); + } else if (col === 1) { + cubeCamera.up.set(0, 0, upSign[i]); + cubeCamera.lookAt(0, forwardSign[i], 0); + } else { + cubeCamera.up.set(0, upSign[i], 0); + cubeCamera.lookAt(0, 0, forwardSign[i]); + } + const size = this._cubeSize; + _setViewport(cubeUVRenderTarget, col * size, i > 2 ? size : 0, size, size); + renderer3.setRenderTarget(cubeUVRenderTarget); + if (useSolidColor) { + renderer3.render(backgroundBox, cubeCamera); + } + renderer3.render(scene3, cubeCamera); + } + backgroundBox.geometry.dispose(); + backgroundBox.material.dispose(); + renderer3.toneMapping = toneMapping; + renderer3.autoClear = originalAutoClear; + scene3.background = background; + } + _textureToCubeUV(texture, cubeUVRenderTarget) { + const renderer3 = this._renderer; + const isCubeTexture = texture.mapping === CubeReflectionMapping || texture.mapping === CubeRefractionMapping; + if (isCubeTexture) { + if (this._cubemapMaterial === null) { + this._cubemapMaterial = _getCubemapMaterial(); + } + this._cubemapMaterial.uniforms.flipEnvMap.value = texture.isRenderTargetTexture === false ? -1 : 1; + } else { + if (this._equirectMaterial === null) { + this._equirectMaterial = _getEquirectMaterial(); + } + } + const material = isCubeTexture ? this._cubemapMaterial : this._equirectMaterial; + const mesh = new Mesh(this._lodPlanes[0], material); + const uniforms = material.uniforms; + uniforms["envMap"].value = texture; + const size = this._cubeSize; + _setViewport(cubeUVRenderTarget, 0, 0, 3 * size, 2 * size); + renderer3.setRenderTarget(cubeUVRenderTarget); + renderer3.render(mesh, _flatCamera); + } + _applyPMREM(cubeUVRenderTarget) { + const renderer3 = this._renderer; + const autoClear = renderer3.autoClear; + renderer3.autoClear = false; + for (let i = 1; i < this._lodPlanes.length; i++) { + const sigma = Math.sqrt(this._sigmas[i] * this._sigmas[i] - this._sigmas[i - 1] * this._sigmas[i - 1]); + const poleAxis = _axisDirections[(i - 1) % _axisDirections.length]; + this._blur(cubeUVRenderTarget, i - 1, i, sigma, poleAxis); + } + renderer3.autoClear = autoClear; + } + _blur(cubeUVRenderTarget, lodIn, lodOut, sigma, poleAxis) { + const pingPongRenderTarget = this._pingPongRenderTarget; + this._halfBlur(cubeUVRenderTarget, pingPongRenderTarget, lodIn, lodOut, sigma, "latitudinal", poleAxis); + this._halfBlur(pingPongRenderTarget, cubeUVRenderTarget, lodOut, lodOut, sigma, "longitudinal", poleAxis); + } + _halfBlur(targetIn, targetOut, lodIn, lodOut, sigmaRadians, direction, poleAxis) { + const renderer3 = this._renderer; + const blurMaterial = this._blurMaterial; + if (direction !== "latitudinal" && direction !== "longitudinal") { + console.error("blur direction must be either latitudinal or longitudinal!"); + } + const STANDARD_DEVIATIONS = 3; + const blurMesh = new Mesh(this._lodPlanes[lodOut], blurMaterial); + const blurUniforms = blurMaterial.uniforms; + const pixels = this._sizeLods[lodIn] - 1; + const radiansPerPixel = isFinite(sigmaRadians) ? Math.PI / (2 * pixels) : 2 * Math.PI / (2 * MAX_SAMPLES - 1); + const sigmaPixels = sigmaRadians / radiansPerPixel; + const samples = isFinite(sigmaRadians) ? 1 + Math.floor(STANDARD_DEVIATIONS * sigmaPixels) : MAX_SAMPLES; + if (samples > MAX_SAMPLES) { + console.warn(`sigmaRadians, ${sigmaRadians}, is too large and will clip, as it requested ${samples} samples when the maximum is set to ${MAX_SAMPLES}`); + } + const weights = []; + let sum = 0; + for (let i = 0; i < MAX_SAMPLES; ++i) { + const x3 = i / sigmaPixels; + const weight = Math.exp(-x3 * x3 / 2); + weights.push(weight); + if (i === 0) { + sum += weight; + } else if (i < samples) { + sum += 2 * weight; + } + } + for (let i = 0; i < weights.length; i++) { + weights[i] = weights[i] / sum; + } + blurUniforms["envMap"].value = targetIn.texture; + blurUniforms["samples"].value = samples; + blurUniforms["weights"].value = weights; + blurUniforms["latitudinal"].value = direction === "latitudinal"; + if (poleAxis) { + blurUniforms["poleAxis"].value = poleAxis; + } + const { _lodMax } = this; + blurUniforms["dTheta"].value = radiansPerPixel; + blurUniforms["mipInt"].value = _lodMax - lodIn; + const outputSize = this._sizeLods[lodOut]; + const x2 = 3 * outputSize * (lodOut > _lodMax - LOD_MIN ? lodOut - _lodMax + LOD_MIN : 0); + const y2 = 4 * (this._cubeSize - outputSize); + _setViewport(targetOut, x2, y2, 3 * outputSize, 2 * outputSize); + renderer3.setRenderTarget(targetOut); + renderer3.render(blurMesh, _flatCamera); + } +}; +function _createPlanes(lodMax) { + const lodPlanes = []; + const sizeLods = []; + const sigmas = []; + let lod = lodMax; + const totalLods = lodMax - LOD_MIN + 1 + EXTRA_LOD_SIGMA.length; + for (let i = 0; i < totalLods; i++) { + const sizeLod = Math.pow(2, lod); + sizeLods.push(sizeLod); + let sigma = 1 / sizeLod; + if (i > lodMax - LOD_MIN) { + sigma = EXTRA_LOD_SIGMA[i - lodMax + LOD_MIN - 1]; + } else if (i === 0) { + sigma = 0; + } + sigmas.push(sigma); + const texelSize = 1 / (sizeLod - 2); + const min2 = -texelSize; + const max2 = 1 + texelSize; + const uv1 = [min2, min2, max2, min2, max2, max2, min2, min2, max2, max2, min2, max2]; + const cubeFaces = 6; + const vertices = 6; + const positionSize = 3; + const uvSize = 2; + const faceIndexSize = 1; + const position = new Float32Array(positionSize * vertices * cubeFaces); + const uv = new Float32Array(uvSize * vertices * cubeFaces); + const faceIndex = new Float32Array(faceIndexSize * vertices * cubeFaces); + for (let face = 0; face < cubeFaces; face++) { + const x2 = face % 3 * 2 / 3 - 1; + const y2 = face > 2 ? 0 : -1; + const coordinates = [ + x2, + y2, + 0, + x2 + 2 / 3, + y2, + 0, + x2 + 2 / 3, + y2 + 1, + 0, + x2, + y2, + 0, + x2 + 2 / 3, + y2 + 1, + 0, + x2, + y2 + 1, + 0 + ]; + position.set(coordinates, positionSize * vertices * face); + uv.set(uv1, uvSize * vertices * face); + const fill = [face, face, face, face, face, face]; + faceIndex.set(fill, faceIndexSize * vertices * face); + } + const planes = new BufferGeometry(); + planes.setAttribute("position", new BufferAttribute(position, positionSize)); + planes.setAttribute("uv", new BufferAttribute(uv, uvSize)); + planes.setAttribute("faceIndex", new BufferAttribute(faceIndex, faceIndexSize)); + lodPlanes.push(planes); + if (lod > LOD_MIN) { + lod--; + } + } + return { lodPlanes, sizeLods, sigmas }; +} +function _createRenderTarget(width, height, params) { + const cubeUVRenderTarget = new WebGLRenderTarget(width, height, params); + cubeUVRenderTarget.texture.mapping = CubeUVReflectionMapping; + cubeUVRenderTarget.texture.name = "PMREM.cubeUv"; + cubeUVRenderTarget.scissorTest = true; + return cubeUVRenderTarget; +} +function _setViewport(target, x2, y2, width, height) { + target.viewport.set(x2, y2, width, height); + target.scissor.set(x2, y2, width, height); +} +function _getBlurShader(lodMax, width, height) { + const weights = new Float32Array(MAX_SAMPLES); + const poleAxis = new Vector3(0, 1, 0); + const shaderMaterial = new ShaderMaterial({ + name: "SphericalGaussianBlur", + defines: { + "n": MAX_SAMPLES, + "CUBEUV_TEXEL_WIDTH": 1 / width, + "CUBEUV_TEXEL_HEIGHT": 1 / height, + "CUBEUV_MAX_MIP": `${lodMax}.0` + }, + uniforms: { + "envMap": { value: null }, + "samples": { value: 1 }, + "weights": { value: weights }, + "latitudinal": { value: false }, + "dTheta": { value: 0 }, + "mipInt": { value: 0 }, + "poleAxis": { value: poleAxis } + }, + vertexShader: _getCommonVertexShader(), + fragmentShader: ` + + precision mediump float; + precision mediump int; + + varying vec3 vOutputDirection; + + uniform sampler2D envMap; + uniform int samples; + uniform float weights[ n ]; + uniform bool latitudinal; + uniform float dTheta; + uniform float mipInt; + uniform vec3 poleAxis; + + #define ENVMAP_TYPE_CUBE_UV + #include + + vec3 getSample( float theta, vec3 axis ) { + + float cosTheta = cos( theta ); + // Rodrigues' axis-angle rotation + vec3 sampleDirection = vOutputDirection * cosTheta + + cross( axis, vOutputDirection ) * sin( theta ) + + axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta ); + + return bilinearCubeUV( envMap, sampleDirection, mipInt ); + + } + + void main() { + + vec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection ); + + if ( all( equal( axis, vec3( 0.0 ) ) ) ) { + + axis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x ); + + } + + axis = normalize( axis ); + + gl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 ); + gl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis ); + + for ( int i = 1; i < n; i++ ) { + + if ( i >= samples ) { + + break; + + } + + float theta = dTheta * float( i ); + gl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis ); + gl_FragColor.rgb += weights[ i ] * getSample( theta, axis ); + + } + + } + `, + blending: NoBlending, + depthTest: false, + depthWrite: false + }); + return shaderMaterial; +} +function _getEquirectMaterial() { + return new ShaderMaterial({ + name: "EquirectangularToCubeUV", + uniforms: { + "envMap": { value: null } + }, + vertexShader: _getCommonVertexShader(), + fragmentShader: ` + + precision mediump float; + precision mediump int; + + varying vec3 vOutputDirection; + + uniform sampler2D envMap; + + #include + + void main() { + + vec3 outputDirection = normalize( vOutputDirection ); + vec2 uv = equirectUv( outputDirection ); + + gl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 ); + + } + `, + blending: NoBlending, + depthTest: false, + depthWrite: false + }); +} +function _getCubemapMaterial() { + return new ShaderMaterial({ + name: "CubemapToCubeUV", + uniforms: { + "envMap": { value: null }, + "flipEnvMap": { value: -1 } + }, + vertexShader: _getCommonVertexShader(), + fragmentShader: ` + + precision mediump float; + precision mediump int; + + uniform float flipEnvMap; + + varying vec3 vOutputDirection; + + uniform samplerCube envMap; + + void main() { + + gl_FragColor = textureCube( envMap, vec3( flipEnvMap * vOutputDirection.x, vOutputDirection.yz ) ); + + } + `, + blending: NoBlending, + depthTest: false, + depthWrite: false + }); +} +function _getCommonVertexShader() { + return ` + + precision mediump float; + precision mediump int; + + attribute float faceIndex; + + varying vec3 vOutputDirection; + + // RH coordinate system; PMREM face-indexing convention + vec3 getDirection( vec2 uv, float face ) { + + uv = 2.0 * uv - 1.0; + + vec3 direction = vec3( uv, 1.0 ); + + if ( face == 0.0 ) { + + direction = direction.zyx; // ( 1, v, u ) pos x + + } else if ( face == 1.0 ) { + + direction = direction.xzy; + direction.xz *= -1.0; // ( -u, 1, -v ) pos y + + } else if ( face == 2.0 ) { + + direction.x *= -1.0; // ( -u, v, 1 ) pos z + + } else if ( face == 3.0 ) { + + direction = direction.zyx; + direction.xz *= -1.0; // ( -1, v, -u ) neg x + + } else if ( face == 4.0 ) { + + direction = direction.xzy; + direction.xy *= -1.0; // ( -u, -1, v ) neg y + + } else if ( face == 5.0 ) { + + direction.z *= -1.0; // ( u, v, -1 ) neg z + + } + + return direction; + + } + + void main() { + + vOutputDirection = getDirection( uv, faceIndex ); + gl_Position = vec4( position, 1.0 ); + + } + `; +} +function WebGLCubeUVMaps(renderer3) { + let cubeUVmaps = /* @__PURE__ */ new WeakMap(); + let pmremGenerator = null; + function get2(texture) { + if (texture && texture.isTexture) { + const mapping = texture.mapping; + const isEquirectMap = mapping === EquirectangularReflectionMapping || mapping === EquirectangularRefractionMapping; + const isCubeMap = mapping === CubeReflectionMapping || mapping === CubeRefractionMapping; + if (isEquirectMap || isCubeMap) { + if (texture.isRenderTargetTexture && texture.needsPMREMUpdate === true) { + texture.needsPMREMUpdate = false; + let renderTarget = cubeUVmaps.get(texture); + if (pmremGenerator === null) + pmremGenerator = new PMREMGenerator(renderer3); + renderTarget = isEquirectMap ? pmremGenerator.fromEquirectangular(texture, renderTarget) : pmremGenerator.fromCubemap(texture, renderTarget); + cubeUVmaps.set(texture, renderTarget); + return renderTarget.texture; + } else { + if (cubeUVmaps.has(texture)) { + return cubeUVmaps.get(texture).texture; + } else { + const image = texture.image; + if (isEquirectMap && image && image.height > 0 || isCubeMap && image && isCubeTextureComplete(image)) { + if (pmremGenerator === null) + pmremGenerator = new PMREMGenerator(renderer3); + const renderTarget = isEquirectMap ? pmremGenerator.fromEquirectangular(texture) : pmremGenerator.fromCubemap(texture); + cubeUVmaps.set(texture, renderTarget); + texture.addEventListener("dispose", onTextureDispose); + return renderTarget.texture; + } else { + return null; + } + } + } + } + } + return texture; + } + function isCubeTextureComplete(image) { + let count = 0; + const length = 6; + for (let i = 0; i < length; i++) { + if (image[i] !== void 0) + count++; + } + return count === length; + } + function onTextureDispose(event) { + const texture = event.target; + texture.removeEventListener("dispose", onTextureDispose); + const cubemapUV = cubeUVmaps.get(texture); + if (cubemapUV !== void 0) { + cubeUVmaps.delete(texture); + cubemapUV.dispose(); + } + } + function dispose() { + cubeUVmaps = /* @__PURE__ */ new WeakMap(); + if (pmremGenerator !== null) { + pmremGenerator.dispose(); + pmremGenerator = null; + } + } + return { + get: get2, + dispose + }; +} +function WebGLExtensions(gl) { + const extensions = {}; + function getExtension(name) { + if (extensions[name] !== void 0) { + return extensions[name]; + } + let extension; + switch (name) { + case "WEBGL_depth_texture": + extension = gl.getExtension("WEBGL_depth_texture") || gl.getExtension("MOZ_WEBGL_depth_texture") || gl.getExtension("WEBKIT_WEBGL_depth_texture"); + break; + case "EXT_texture_filter_anisotropic": + extension = gl.getExtension("EXT_texture_filter_anisotropic") || gl.getExtension("MOZ_EXT_texture_filter_anisotropic") || gl.getExtension("WEBKIT_EXT_texture_filter_anisotropic"); + break; + case "WEBGL_compressed_texture_s3tc": + extension = gl.getExtension("WEBGL_compressed_texture_s3tc") || gl.getExtension("MOZ_WEBGL_compressed_texture_s3tc") || gl.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc"); + break; + case "WEBGL_compressed_texture_pvrtc": + extension = gl.getExtension("WEBGL_compressed_texture_pvrtc") || gl.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc"); + break; + default: + extension = gl.getExtension(name); + } + extensions[name] = extension; + return extension; + } + return { + has: function(name) { + return getExtension(name) !== null; + }, + init: function(capabilities) { + if (capabilities.isWebGL2) { + getExtension("EXT_color_buffer_float"); + } else { + getExtension("WEBGL_depth_texture"); + getExtension("OES_texture_float"); + getExtension("OES_texture_half_float"); + getExtension("OES_texture_half_float_linear"); + getExtension("OES_standard_derivatives"); + getExtension("OES_element_index_uint"); + getExtension("OES_vertex_array_object"); + getExtension("ANGLE_instanced_arrays"); + } + getExtension("OES_texture_float_linear"); + getExtension("EXT_color_buffer_half_float"); + getExtension("WEBGL_multisampled_render_to_texture"); + }, + get: function(name) { + const extension = getExtension(name); + if (extension === null) { + console.warn("THREE.WebGLRenderer: " + name + " extension not supported."); + } + return extension; + } + }; +} +function WebGLGeometries(gl, attributes, info, bindingStates) { + const geometries = {}; + const wireframeAttributes = /* @__PURE__ */ new WeakMap(); + function onGeometryDispose(event) { + const geometry = event.target; + if (geometry.index !== null) { + attributes.remove(geometry.index); + } + for (const name in geometry.attributes) { + attributes.remove(geometry.attributes[name]); + } + geometry.removeEventListener("dispose", onGeometryDispose); + delete geometries[geometry.id]; + const attribute = wireframeAttributes.get(geometry); + if (attribute) { + attributes.remove(attribute); + wireframeAttributes.delete(geometry); + } + bindingStates.releaseStatesOfGeometry(geometry); + if (geometry.isInstancedBufferGeometry === true) { + delete geometry._maxInstanceCount; + } + info.memory.geometries--; + } + function get2(object, geometry) { + if (geometries[geometry.id] === true) + return geometry; + geometry.addEventListener("dispose", onGeometryDispose); + geometries[geometry.id] = true; + info.memory.geometries++; + return geometry; + } + function update4(geometry) { + const geometryAttributes = geometry.attributes; + for (const name in geometryAttributes) { + attributes.update(geometryAttributes[name], 34962); + } + const morphAttributes = geometry.morphAttributes; + for (const name in morphAttributes) { + const array = morphAttributes[name]; + for (let i = 0, l = array.length; i < l; i++) { + attributes.update(array[i], 34962); + } + } + } + function updateWireframeAttribute(geometry) { + const indices = []; + const geometryIndex = geometry.index; + const geometryPosition = geometry.attributes.position; + let version = 0; + if (geometryIndex !== null) { + const array = geometryIndex.array; + version = geometryIndex.version; + for (let i = 0, l = array.length; i < l; i += 3) { + const a2 = array[i + 0]; + const b = array[i + 1]; + const c2 = array[i + 2]; + indices.push(a2, b, b, c2, c2, a2); + } + } else { + const array = geometryPosition.array; + version = geometryPosition.version; + for (let i = 0, l = array.length / 3 - 1; i < l; i += 3) { + const a2 = i + 0; + const b = i + 1; + const c2 = i + 2; + indices.push(a2, b, b, c2, c2, a2); + } + } + const attribute = new (arrayNeedsUint32(indices) ? Uint32BufferAttribute : Uint16BufferAttribute)(indices, 1); + attribute.version = version; + const previousAttribute = wireframeAttributes.get(geometry); + if (previousAttribute) + attributes.remove(previousAttribute); + wireframeAttributes.set(geometry, attribute); + } + function getWireframeAttribute(geometry) { + const currentAttribute = wireframeAttributes.get(geometry); + if (currentAttribute) { + const geometryIndex = geometry.index; + if (geometryIndex !== null) { + if (currentAttribute.version < geometryIndex.version) { + updateWireframeAttribute(geometry); + } + } + } else { + updateWireframeAttribute(geometry); + } + return wireframeAttributes.get(geometry); + } + return { + get: get2, + update: update4, + getWireframeAttribute + }; +} +function WebGLIndexedBufferRenderer(gl, extensions, info, capabilities) { + const isWebGL2 = capabilities.isWebGL2; + let mode; + function setMode(value) { + mode = value; + } + let type, bytesPerElement; + function setIndex(value) { + type = value.type; + bytesPerElement = value.bytesPerElement; + } + function render(start, count) { + gl.drawElements(mode, count, type, start * bytesPerElement); + info.update(count, mode, 1); + } + function renderInstances(start, count, primcount) { + if (primcount === 0) + return; + let extension, methodName; + if (isWebGL2) { + extension = gl; + methodName = "drawElementsInstanced"; + } else { + extension = extensions.get("ANGLE_instanced_arrays"); + methodName = "drawElementsInstancedANGLE"; + if (extension === null) { + console.error("THREE.WebGLIndexedBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays."); + return; + } + } + extension[methodName](mode, count, type, start * bytesPerElement, primcount); + info.update(count, mode, primcount); + } + this.setMode = setMode; + this.setIndex = setIndex; + this.render = render; + this.renderInstances = renderInstances; +} +function WebGLInfo(gl) { + const memory = { + geometries: 0, + textures: 0 + }; + const render = { + frame: 0, + calls: 0, + triangles: 0, + points: 0, + lines: 0 + }; + function update4(count, mode, instanceCount) { + render.calls++; + switch (mode) { + case 4: + render.triangles += instanceCount * (count / 3); + break; + case 1: + render.lines += instanceCount * (count / 2); + break; + case 3: + render.lines += instanceCount * (count - 1); + break; + case 2: + render.lines += instanceCount * count; + break; + case 0: + render.points += instanceCount * count; + break; + default: + console.error("THREE.WebGLInfo: Unknown draw mode:", mode); + break; + } + } + function reset() { + render.frame++; + render.calls = 0; + render.triangles = 0; + render.points = 0; + render.lines = 0; + } + return { + memory, + render, + programs: null, + autoReset: true, + reset, + update: update4 + }; +} +function numericalSort(a2, b) { + return a2[0] - b[0]; +} +function absNumericalSort(a2, b) { + return Math.abs(b[1]) - Math.abs(a2[1]); +} +function WebGLMorphtargets(gl, capabilities, textures) { + const influencesList = {}; + const morphInfluences = new Float32Array(8); + const morphTextures = /* @__PURE__ */ new WeakMap(); + const morph = new Vector4(); + const workInfluences = []; + for (let i = 0; i < 8; i++) { + workInfluences[i] = [i, 0]; + } + function update4(object, geometry, material, program) { + const objectInfluences = object.morphTargetInfluences; + if (capabilities.isWebGL2 === true) { + const morphAttribute = geometry.morphAttributes.position || geometry.morphAttributes.normal || geometry.morphAttributes.color; + const morphTargetsCount = morphAttribute !== void 0 ? morphAttribute.length : 0; + let entry = morphTextures.get(geometry); + if (entry === void 0 || entry.count !== morphTargetsCount) { + let disposeTexture = function() { + texture.dispose(); + morphTextures.delete(geometry); + geometry.removeEventListener("dispose", disposeTexture); + }; + if (entry !== void 0) + entry.texture.dispose(); + const hasMorphPosition = geometry.morphAttributes.position !== void 0; + const hasMorphNormals = geometry.morphAttributes.normal !== void 0; + const hasMorphColors = geometry.morphAttributes.color !== void 0; + const morphTargets = geometry.morphAttributes.position || []; + const morphNormals = geometry.morphAttributes.normal || []; + const morphColors = geometry.morphAttributes.color || []; + let vertexDataCount = 0; + if (hasMorphPosition === true) + vertexDataCount = 1; + if (hasMorphNormals === true) + vertexDataCount = 2; + if (hasMorphColors === true) + vertexDataCount = 3; + let width = geometry.attributes.position.count * vertexDataCount; + let height = 1; + if (width > capabilities.maxTextureSize) { + height = Math.ceil(width / capabilities.maxTextureSize); + width = capabilities.maxTextureSize; + } + const buffer = new Float32Array(width * height * 4 * morphTargetsCount); + const texture = new DataArrayTexture(buffer, width, height, morphTargetsCount); + texture.type = FloatType; + texture.needsUpdate = true; + const vertexDataStride = vertexDataCount * 4; + for (let i = 0; i < morphTargetsCount; i++) { + const morphTarget = morphTargets[i]; + const morphNormal = morphNormals[i]; + const morphColor = morphColors[i]; + const offset = width * height * 4 * i; + for (let j = 0; j < morphTarget.count; j++) { + const stride = j * vertexDataStride; + if (hasMorphPosition === true) { + morph.fromBufferAttribute(morphTarget, j); + buffer[offset + stride + 0] = morph.x; + buffer[offset + stride + 1] = morph.y; + buffer[offset + stride + 2] = morph.z; + buffer[offset + stride + 3] = 0; + } + if (hasMorphNormals === true) { + morph.fromBufferAttribute(morphNormal, j); + buffer[offset + stride + 4] = morph.x; + buffer[offset + stride + 5] = morph.y; + buffer[offset + stride + 6] = morph.z; + buffer[offset + stride + 7] = 0; + } + if (hasMorphColors === true) { + morph.fromBufferAttribute(morphColor, j); + buffer[offset + stride + 8] = morph.x; + buffer[offset + stride + 9] = morph.y; + buffer[offset + stride + 10] = morph.z; + buffer[offset + stride + 11] = morphColor.itemSize === 4 ? morph.w : 1; + } + } + } + entry = { + count: morphTargetsCount, + texture, + size: new Vector2(width, height) + }; + morphTextures.set(geometry, entry); + geometry.addEventListener("dispose", disposeTexture); + } + let morphInfluencesSum = 0; + for (let i = 0; i < objectInfluences.length; i++) { + morphInfluencesSum += objectInfluences[i]; + } + const morphBaseInfluence = geometry.morphTargetsRelative ? 1 : 1 - morphInfluencesSum; + program.getUniforms().setValue(gl, "morphTargetBaseInfluence", morphBaseInfluence); + program.getUniforms().setValue(gl, "morphTargetInfluences", objectInfluences); + program.getUniforms().setValue(gl, "morphTargetsTexture", entry.texture, textures); + program.getUniforms().setValue(gl, "morphTargetsTextureSize", entry.size); + } else { + const length = objectInfluences === void 0 ? 0 : objectInfluences.length; + let influences = influencesList[geometry.id]; + if (influences === void 0 || influences.length !== length) { + influences = []; + for (let i = 0; i < length; i++) { + influences[i] = [i, 0]; + } + influencesList[geometry.id] = influences; + } + for (let i = 0; i < length; i++) { + const influence = influences[i]; + influence[0] = i; + influence[1] = objectInfluences[i]; + } + influences.sort(absNumericalSort); + for (let i = 0; i < 8; i++) { + if (i < length && influences[i][1]) { + workInfluences[i][0] = influences[i][0]; + workInfluences[i][1] = influences[i][1]; + } else { + workInfluences[i][0] = Number.MAX_SAFE_INTEGER; + workInfluences[i][1] = 0; + } + } + workInfluences.sort(numericalSort); + const morphTargets = geometry.morphAttributes.position; + const morphNormals = geometry.morphAttributes.normal; + let morphInfluencesSum = 0; + for (let i = 0; i < 8; i++) { + const influence = workInfluences[i]; + const index5 = influence[0]; + const value = influence[1]; + if (index5 !== Number.MAX_SAFE_INTEGER && value) { + if (morphTargets && geometry.getAttribute("morphTarget" + i) !== morphTargets[index5]) { + geometry.setAttribute("morphTarget" + i, morphTargets[index5]); + } + if (morphNormals && geometry.getAttribute("morphNormal" + i) !== morphNormals[index5]) { + geometry.setAttribute("morphNormal" + i, morphNormals[index5]); + } + morphInfluences[i] = value; + morphInfluencesSum += value; + } else { + if (morphTargets && geometry.hasAttribute("morphTarget" + i) === true) { + geometry.deleteAttribute("morphTarget" + i); + } + if (morphNormals && geometry.hasAttribute("morphNormal" + i) === true) { + geometry.deleteAttribute("morphNormal" + i); + } + morphInfluences[i] = 0; + } + } + const morphBaseInfluence = geometry.morphTargetsRelative ? 1 : 1 - morphInfluencesSum; + program.getUniforms().setValue(gl, "morphTargetBaseInfluence", morphBaseInfluence); + program.getUniforms().setValue(gl, "morphTargetInfluences", morphInfluences); + } + } + return { + update: update4 + }; +} +function WebGLObjects(gl, geometries, attributes, info) { + let updateMap = /* @__PURE__ */ new WeakMap(); + function update4(object) { + const frame2 = info.render.frame; + const geometry = object.geometry; + const buffergeometry = geometries.get(object, geometry); + if (updateMap.get(buffergeometry) !== frame2) { + geometries.update(buffergeometry); + updateMap.set(buffergeometry, frame2); + } + if (object.isInstancedMesh) { + if (object.hasEventListener("dispose", onInstancedMeshDispose) === false) { + object.addEventListener("dispose", onInstancedMeshDispose); + } + attributes.update(object.instanceMatrix, 34962); + if (object.instanceColor !== null) { + attributes.update(object.instanceColor, 34962); + } + } + return buffergeometry; + } + function dispose() { + updateMap = /* @__PURE__ */ new WeakMap(); + } + function onInstancedMeshDispose(event) { + const instancedMesh = event.target; + instancedMesh.removeEventListener("dispose", onInstancedMeshDispose); + attributes.remove(instancedMesh.instanceMatrix); + if (instancedMesh.instanceColor !== null) + attributes.remove(instancedMesh.instanceColor); + } + return { + update: update4, + dispose + }; +} +var emptyTexture = /* @__PURE__ */ new Texture(); +var emptyArrayTexture = /* @__PURE__ */ new DataArrayTexture(); +var empty3dTexture = /* @__PURE__ */ new Data3DTexture(); +var emptyCubeTexture = /* @__PURE__ */ new CubeTexture(); +var arrayCacheF32 = []; +var arrayCacheI32 = []; +var mat4array = new Float32Array(16); +var mat3array = new Float32Array(9); +var mat2array = new Float32Array(4); +function flatten(array, nBlocks, blockSize) { + const firstElem = array[0]; + if (firstElem <= 0 || firstElem > 0) + return array; + const n = nBlocks * blockSize; + let r = arrayCacheF32[n]; + if (r === void 0) { + r = new Float32Array(n); + arrayCacheF32[n] = r; + } + if (nBlocks !== 0) { + firstElem.toArray(r, 0); + for (let i = 1, offset = 0; i !== nBlocks; ++i) { + offset += blockSize; + array[i].toArray(r, offset); + } + } + return r; +} +function arraysEqual(a2, b) { + if (a2.length !== b.length) + return false; + for (let i = 0, l = a2.length; i < l; i++) { + if (a2[i] !== b[i]) + return false; + } + return true; +} +function copyArray(a2, b) { + for (let i = 0, l = b.length; i < l; i++) { + a2[i] = b[i]; + } +} +function allocTexUnits(textures, n) { + let r = arrayCacheI32[n]; + if (r === void 0) { + r = new Int32Array(n); + arrayCacheI32[n] = r; + } + for (let i = 0; i !== n; ++i) { + r[i] = textures.allocateTextureUnit(); + } + return r; +} +function setValueV1f(gl, v) { + const cache = this.cache; + if (cache[0] === v) + return; + gl.uniform1f(this.addr, v); + cache[0] = v; +} +function setValueV2f(gl, v) { + const cache = this.cache; + if (v.x !== void 0) { + if (cache[0] !== v.x || cache[1] !== v.y) { + gl.uniform2f(this.addr, v.x, v.y); + cache[0] = v.x; + cache[1] = v.y; + } + } else { + if (arraysEqual(cache, v)) + return; + gl.uniform2fv(this.addr, v); + copyArray(cache, v); + } +} +function setValueV3f(gl, v) { + const cache = this.cache; + if (v.x !== void 0) { + if (cache[0] !== v.x || cache[1] !== v.y || cache[2] !== v.z) { + gl.uniform3f(this.addr, v.x, v.y, v.z); + cache[0] = v.x; + cache[1] = v.y; + cache[2] = v.z; + } + } else if (v.r !== void 0) { + if (cache[0] !== v.r || cache[1] !== v.g || cache[2] !== v.b) { + gl.uniform3f(this.addr, v.r, v.g, v.b); + cache[0] = v.r; + cache[1] = v.g; + cache[2] = v.b; + } + } else { + if (arraysEqual(cache, v)) + return; + gl.uniform3fv(this.addr, v); + copyArray(cache, v); + } +} +function setValueV4f(gl, v) { + const cache = this.cache; + if (v.x !== void 0) { + if (cache[0] !== v.x || cache[1] !== v.y || cache[2] !== v.z || cache[3] !== v.w) { + gl.uniform4f(this.addr, v.x, v.y, v.z, v.w); + cache[0] = v.x; + cache[1] = v.y; + cache[2] = v.z; + cache[3] = v.w; + } + } else { + if (arraysEqual(cache, v)) + return; + gl.uniform4fv(this.addr, v); + copyArray(cache, v); + } +} +function setValueM2(gl, v) { + const cache = this.cache; + const elements = v.elements; + if (elements === void 0) { + if (arraysEqual(cache, v)) + return; + gl.uniformMatrix2fv(this.addr, false, v); + copyArray(cache, v); + } else { + if (arraysEqual(cache, elements)) + return; + mat2array.set(elements); + gl.uniformMatrix2fv(this.addr, false, mat2array); + copyArray(cache, elements); + } +} +function setValueM3(gl, v) { + const cache = this.cache; + const elements = v.elements; + if (elements === void 0) { + if (arraysEqual(cache, v)) + return; + gl.uniformMatrix3fv(this.addr, false, v); + copyArray(cache, v); + } else { + if (arraysEqual(cache, elements)) + return; + mat3array.set(elements); + gl.uniformMatrix3fv(this.addr, false, mat3array); + copyArray(cache, elements); + } +} +function setValueM4(gl, v) { + const cache = this.cache; + const elements = v.elements; + if (elements === void 0) { + if (arraysEqual(cache, v)) + return; + gl.uniformMatrix4fv(this.addr, false, v); + copyArray(cache, v); + } else { + if (arraysEqual(cache, elements)) + return; + mat4array.set(elements); + gl.uniformMatrix4fv(this.addr, false, mat4array); + copyArray(cache, elements); + } +} +function setValueV1i(gl, v) { + const cache = this.cache; + if (cache[0] === v) + return; + gl.uniform1i(this.addr, v); + cache[0] = v; +} +function setValueV2i(gl, v) { + const cache = this.cache; + if (v.x !== void 0) { + if (cache[0] !== v.x || cache[1] !== v.y) { + gl.uniform2i(this.addr, v.x, v.y); + cache[0] = v.x; + cache[1] = v.y; + } + } else { + if (arraysEqual(cache, v)) + return; + gl.uniform2iv(this.addr, v); + copyArray(cache, v); + } +} +function setValueV3i(gl, v) { + const cache = this.cache; + if (v.x !== void 0) { + if (cache[0] !== v.x || cache[1] !== v.y || cache[2] !== v.z) { + gl.uniform3i(this.addr, v.x, v.y, v.z); + cache[0] = v.x; + cache[1] = v.y; + cache[2] = v.z; + } + } else { + if (arraysEqual(cache, v)) + return; + gl.uniform3iv(this.addr, v); + copyArray(cache, v); + } +} +function setValueV4i(gl, v) { + const cache = this.cache; + if (v.x !== void 0) { + if (cache[0] !== v.x || cache[1] !== v.y || cache[2] !== v.z || cache[3] !== v.w) { + gl.uniform4i(this.addr, v.x, v.y, v.z, v.w); + cache[0] = v.x; + cache[1] = v.y; + cache[2] = v.z; + cache[3] = v.w; + } + } else { + if (arraysEqual(cache, v)) + return; + gl.uniform4iv(this.addr, v); + copyArray(cache, v); + } +} +function setValueV1ui(gl, v) { + const cache = this.cache; + if (cache[0] === v) + return; + gl.uniform1ui(this.addr, v); + cache[0] = v; +} +function setValueV2ui(gl, v) { + const cache = this.cache; + if (v.x !== void 0) { + if (cache[0] !== v.x || cache[1] !== v.y) { + gl.uniform2ui(this.addr, v.x, v.y); + cache[0] = v.x; + cache[1] = v.y; + } + } else { + if (arraysEqual(cache, v)) + return; + gl.uniform2uiv(this.addr, v); + copyArray(cache, v); + } +} +function setValueV3ui(gl, v) { + const cache = this.cache; + if (v.x !== void 0) { + if (cache[0] !== v.x || cache[1] !== v.y || cache[2] !== v.z) { + gl.uniform3ui(this.addr, v.x, v.y, v.z); + cache[0] = v.x; + cache[1] = v.y; + cache[2] = v.z; + } + } else { + if (arraysEqual(cache, v)) + return; + gl.uniform3uiv(this.addr, v); + copyArray(cache, v); + } +} +function setValueV4ui(gl, v) { + const cache = this.cache; + if (v.x !== void 0) { + if (cache[0] !== v.x || cache[1] !== v.y || cache[2] !== v.z || cache[3] !== v.w) { + gl.uniform4ui(this.addr, v.x, v.y, v.z, v.w); + cache[0] = v.x; + cache[1] = v.y; + cache[2] = v.z; + cache[3] = v.w; + } + } else { + if (arraysEqual(cache, v)) + return; + gl.uniform4uiv(this.addr, v); + copyArray(cache, v); + } +} +function setValueT1(gl, v, textures) { + const cache = this.cache; + const unit = textures.allocateTextureUnit(); + if (cache[0] !== unit) { + gl.uniform1i(this.addr, unit); + cache[0] = unit; + } + textures.setTexture2D(v || emptyTexture, unit); +} +function setValueT3D1(gl, v, textures) { + const cache = this.cache; + const unit = textures.allocateTextureUnit(); + if (cache[0] !== unit) { + gl.uniform1i(this.addr, unit); + cache[0] = unit; + } + textures.setTexture3D(v || empty3dTexture, unit); +} +function setValueT6(gl, v, textures) { + const cache = this.cache; + const unit = textures.allocateTextureUnit(); + if (cache[0] !== unit) { + gl.uniform1i(this.addr, unit); + cache[0] = unit; + } + textures.setTextureCube(v || emptyCubeTexture, unit); +} +function setValueT2DArray1(gl, v, textures) { + const cache = this.cache; + const unit = textures.allocateTextureUnit(); + if (cache[0] !== unit) { + gl.uniform1i(this.addr, unit); + cache[0] = unit; + } + textures.setTexture2DArray(v || emptyArrayTexture, unit); +} +function getSingularSetter(type) { + switch (type) { + case 5126: + return setValueV1f; + case 35664: + return setValueV2f; + case 35665: + return setValueV3f; + case 35666: + return setValueV4f; + case 35674: + return setValueM2; + case 35675: + return setValueM3; + case 35676: + return setValueM4; + case 5124: + case 35670: + return setValueV1i; + case 35667: + case 35671: + return setValueV2i; + case 35668: + case 35672: + return setValueV3i; + case 35669: + case 35673: + return setValueV4i; + case 5125: + return setValueV1ui; + case 36294: + return setValueV2ui; + case 36295: + return setValueV3ui; + case 36296: + return setValueV4ui; + case 35678: + case 36198: + case 36298: + case 36306: + case 35682: + return setValueT1; + case 35679: + case 36299: + case 36307: + return setValueT3D1; + case 35680: + case 36300: + case 36308: + case 36293: + return setValueT6; + case 36289: + case 36303: + case 36311: + case 36292: + return setValueT2DArray1; + } +} +function setValueV1fArray(gl, v) { + gl.uniform1fv(this.addr, v); +} +function setValueV2fArray(gl, v) { + const data = flatten(v, this.size, 2); + gl.uniform2fv(this.addr, data); +} +function setValueV3fArray(gl, v) { + const data = flatten(v, this.size, 3); + gl.uniform3fv(this.addr, data); +} +function setValueV4fArray(gl, v) { + const data = flatten(v, this.size, 4); + gl.uniform4fv(this.addr, data); +} +function setValueM2Array(gl, v) { + const data = flatten(v, this.size, 4); + gl.uniformMatrix2fv(this.addr, false, data); +} +function setValueM3Array(gl, v) { + const data = flatten(v, this.size, 9); + gl.uniformMatrix3fv(this.addr, false, data); +} +function setValueM4Array(gl, v) { + const data = flatten(v, this.size, 16); + gl.uniformMatrix4fv(this.addr, false, data); +} +function setValueV1iArray(gl, v) { + gl.uniform1iv(this.addr, v); +} +function setValueV2iArray(gl, v) { + gl.uniform2iv(this.addr, v); +} +function setValueV3iArray(gl, v) { + gl.uniform3iv(this.addr, v); +} +function setValueV4iArray(gl, v) { + gl.uniform4iv(this.addr, v); +} +function setValueV1uiArray(gl, v) { + gl.uniform1uiv(this.addr, v); +} +function setValueV2uiArray(gl, v) { + gl.uniform2uiv(this.addr, v); +} +function setValueV3uiArray(gl, v) { + gl.uniform3uiv(this.addr, v); +} +function setValueV4uiArray(gl, v) { + gl.uniform4uiv(this.addr, v); +} +function setValueT1Array(gl, v, textures) { + const cache = this.cache; + const n = v.length; + const units = allocTexUnits(textures, n); + if (!arraysEqual(cache, units)) { + gl.uniform1iv(this.addr, units); + copyArray(cache, units); + } + for (let i = 0; i !== n; ++i) { + textures.setTexture2D(v[i] || emptyTexture, units[i]); + } +} +function setValueT3DArray(gl, v, textures) { + const cache = this.cache; + const n = v.length; + const units = allocTexUnits(textures, n); + if (!arraysEqual(cache, units)) { + gl.uniform1iv(this.addr, units); + copyArray(cache, units); + } + for (let i = 0; i !== n; ++i) { + textures.setTexture3D(v[i] || empty3dTexture, units[i]); + } +} +function setValueT6Array(gl, v, textures) { + const cache = this.cache; + const n = v.length; + const units = allocTexUnits(textures, n); + if (!arraysEqual(cache, units)) { + gl.uniform1iv(this.addr, units); + copyArray(cache, units); + } + for (let i = 0; i !== n; ++i) { + textures.setTextureCube(v[i] || emptyCubeTexture, units[i]); + } +} +function setValueT2DArrayArray(gl, v, textures) { + const cache = this.cache; + const n = v.length; + const units = allocTexUnits(textures, n); + if (!arraysEqual(cache, units)) { + gl.uniform1iv(this.addr, units); + copyArray(cache, units); + } + for (let i = 0; i !== n; ++i) { + textures.setTexture2DArray(v[i] || emptyArrayTexture, units[i]); + } +} +function getPureArraySetter(type) { + switch (type) { + case 5126: + return setValueV1fArray; + case 35664: + return setValueV2fArray; + case 35665: + return setValueV3fArray; + case 35666: + return setValueV4fArray; + case 35674: + return setValueM2Array; + case 35675: + return setValueM3Array; + case 35676: + return setValueM4Array; + case 5124: + case 35670: + return setValueV1iArray; + case 35667: + case 35671: + return setValueV2iArray; + case 35668: + case 35672: + return setValueV3iArray; + case 35669: + case 35673: + return setValueV4iArray; + case 5125: + return setValueV1uiArray; + case 36294: + return setValueV2uiArray; + case 36295: + return setValueV3uiArray; + case 36296: + return setValueV4uiArray; + case 35678: + case 36198: + case 36298: + case 36306: + case 35682: + return setValueT1Array; + case 35679: + case 36299: + case 36307: + return setValueT3DArray; + case 35680: + case 36300: + case 36308: + case 36293: + return setValueT6Array; + case 36289: + case 36303: + case 36311: + case 36292: + return setValueT2DArrayArray; + } +} +var SingleUniform = class { + constructor(id, activeInfo, addr) { + this.id = id; + this.addr = addr; + this.cache = []; + this.setValue = getSingularSetter(activeInfo.type); + } +}; +var PureArrayUniform = class { + constructor(id, activeInfo, addr) { + this.id = id; + this.addr = addr; + this.cache = []; + this.size = activeInfo.size; + this.setValue = getPureArraySetter(activeInfo.type); + } +}; +var StructuredUniform = class { + constructor(id) { + this.id = id; + this.seq = []; + this.map = {}; + } + setValue(gl, value, textures) { + const seq = this.seq; + for (let i = 0, n = seq.length; i !== n; ++i) { + const u = seq[i]; + u.setValue(gl, value[u.id], textures); + } + } +}; +var RePathPart = /(\w+)(\])?(\[|\.)?/g; +function addUniform(container, uniformObject) { + container.seq.push(uniformObject); + container.map[uniformObject.id] = uniformObject; +} +function parseUniform(activeInfo, addr, container) { + const path = activeInfo.name, pathLength = path.length; + RePathPart.lastIndex = 0; + while (true) { + const match = RePathPart.exec(path), matchEnd = RePathPart.lastIndex; + let id = match[1]; + const idIsIndex = match[2] === "]", subscript = match[3]; + if (idIsIndex) + id = id | 0; + if (subscript === void 0 || subscript === "[" && matchEnd + 2 === pathLength) { + addUniform(container, subscript === void 0 ? new SingleUniform(id, activeInfo, addr) : new PureArrayUniform(id, activeInfo, addr)); + break; + } else { + const map = container.map; + let next = map[id]; + if (next === void 0) { + next = new StructuredUniform(id); + addUniform(container, next); + } + container = next; + } + } +} +var WebGLUniforms = class { + constructor(gl, program) { + this.seq = []; + this.map = {}; + const n = gl.getProgramParameter(program, 35718); + for (let i = 0; i < n; ++i) { + const info = gl.getActiveUniform(program, i), addr = gl.getUniformLocation(program, info.name); + parseUniform(info, addr, this); + } + } + setValue(gl, name, value, textures) { + const u = this.map[name]; + if (u !== void 0) + u.setValue(gl, value, textures); + } + setOptional(gl, object, name) { + const v = object[name]; + if (v !== void 0) + this.setValue(gl, name, v); + } + static upload(gl, seq, values, textures) { + for (let i = 0, n = seq.length; i !== n; ++i) { + const u = seq[i], v = values[u.id]; + if (v.needsUpdate !== false) { + u.setValue(gl, v.value, textures); + } + } + } + static seqWithValue(seq, values) { + const r = []; + for (let i = 0, n = seq.length; i !== n; ++i) { + const u = seq[i]; + if (u.id in values) + r.push(u); + } + return r; + } +}; +function WebGLShader(gl, type, string) { + const shader = gl.createShader(type); + gl.shaderSource(shader, string); + gl.compileShader(shader); + return shader; +} +var programIdCount = 0; +function handleSource(string, errorLine) { + const lines = string.split("\n"); + const lines2 = []; + const from = Math.max(errorLine - 6, 0); + const to = Math.min(errorLine + 6, lines.length); + for (let i = from; i < to; i++) { + const line = i + 1; + lines2.push(`${line === errorLine ? ">" : " "} ${line}: ${lines[i]}`); + } + return lines2.join("\n"); +} +function getEncodingComponents(encoding) { + switch (encoding) { + case LinearEncoding: + return ["Linear", "( value )"]; + case sRGBEncoding: + return ["sRGB", "( value )"]; + default: + console.warn("THREE.WebGLProgram: Unsupported encoding:", encoding); + return ["Linear", "( value )"]; + } +} +function getShaderErrors(gl, shader, type) { + const status = gl.getShaderParameter(shader, 35713); + const errors = gl.getShaderInfoLog(shader).trim(); + if (status && errors === "") + return ""; + const errorMatches = /ERROR: 0:(\d+)/.exec(errors); + if (errorMatches) { + const errorLine = parseInt(errorMatches[1]); + return type.toUpperCase() + "\n\n" + errors + "\n\n" + handleSource(gl.getShaderSource(shader), errorLine); + } else { + return errors; + } +} +function getTexelEncodingFunction(functionName, encoding) { + const components = getEncodingComponents(encoding); + return "vec4 " + functionName + "( vec4 value ) { return LinearTo" + components[0] + components[1] + "; }"; +} +function getToneMappingFunction(functionName, toneMapping) { + let toneMappingName; + switch (toneMapping) { + case LinearToneMapping: + toneMappingName = "Linear"; + break; + case ReinhardToneMapping: + toneMappingName = "Reinhard"; + break; + case CineonToneMapping: + toneMappingName = "OptimizedCineon"; + break; + case ACESFilmicToneMapping: + toneMappingName = "ACESFilmic"; + break; + case CustomToneMapping: + toneMappingName = "Custom"; + break; + default: + console.warn("THREE.WebGLProgram: Unsupported toneMapping:", toneMapping); + toneMappingName = "Linear"; + } + return "vec3 " + functionName + "( vec3 color ) { return " + toneMappingName + "ToneMapping( color ); }"; +} +function generateExtensions(parameters) { + const chunks = [ + parameters.extensionDerivatives || !!parameters.envMapCubeUVHeight || parameters.bumpMap || parameters.tangentSpaceNormalMap || parameters.clearcoatNormalMap || parameters.flatShading || parameters.shaderID === "physical" ? "#extension GL_OES_standard_derivatives : enable" : "", + (parameters.extensionFragDepth || parameters.logarithmicDepthBuffer) && parameters.rendererExtensionFragDepth ? "#extension GL_EXT_frag_depth : enable" : "", + parameters.extensionDrawBuffers && parameters.rendererExtensionDrawBuffers ? "#extension GL_EXT_draw_buffers : require" : "", + (parameters.extensionShaderTextureLOD || parameters.envMap || parameters.transmission) && parameters.rendererExtensionShaderTextureLod ? "#extension GL_EXT_shader_texture_lod : enable" : "" + ]; + return chunks.filter(filterEmptyLine).join("\n"); +} +function generateDefines(defines) { + const chunks = []; + for (const name in defines) { + const value = defines[name]; + if (value === false) + continue; + chunks.push("#define " + name + " " + value); + } + return chunks.join("\n"); +} +function fetchAttributeLocations(gl, program) { + const attributes = {}; + const n = gl.getProgramParameter(program, 35721); + for (let i = 0; i < n; i++) { + const info = gl.getActiveAttrib(program, i); + const name = info.name; + let locationSize = 1; + if (info.type === 35674) + locationSize = 2; + if (info.type === 35675) + locationSize = 3; + if (info.type === 35676) + locationSize = 4; + attributes[name] = { + type: info.type, + location: gl.getAttribLocation(program, name), + locationSize + }; + } + return attributes; +} +function filterEmptyLine(string) { + return string !== ""; +} +function replaceLightNums(string, parameters) { + const numSpotLightCoords = parameters.numSpotLightShadows + parameters.numSpotLightMaps - parameters.numSpotLightShadowsWithMaps; + return string.replace(/NUM_DIR_LIGHTS/g, parameters.numDirLights).replace(/NUM_SPOT_LIGHTS/g, parameters.numSpotLights).replace(/NUM_SPOT_LIGHT_MAPS/g, parameters.numSpotLightMaps).replace(/NUM_SPOT_LIGHT_COORDS/g, numSpotLightCoords).replace(/NUM_RECT_AREA_LIGHTS/g, parameters.numRectAreaLights).replace(/NUM_POINT_LIGHTS/g, parameters.numPointLights).replace(/NUM_HEMI_LIGHTS/g, parameters.numHemiLights).replace(/NUM_DIR_LIGHT_SHADOWS/g, parameters.numDirLightShadows).replace(/NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS/g, parameters.numSpotLightShadowsWithMaps).replace(/NUM_SPOT_LIGHT_SHADOWS/g, parameters.numSpotLightShadows).replace(/NUM_POINT_LIGHT_SHADOWS/g, parameters.numPointLightShadows); +} +function replaceClippingPlaneNums(string, parameters) { + return string.replace(/NUM_CLIPPING_PLANES/g, parameters.numClippingPlanes).replace(/UNION_CLIPPING_PLANES/g, parameters.numClippingPlanes - parameters.numClipIntersection); +} +var includePattern = /^[ \t]*#include +<([\w\d./]+)>/gm; +function resolveIncludes(string) { + return string.replace(includePattern, includeReplacer); +} +function includeReplacer(match, include) { + const string = ShaderChunk[include]; + if (string === void 0) { + throw new Error("Can not resolve #include <" + include + ">"); + } + return resolveIncludes(string); +} +var unrollLoopPattern = /#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g; +function unrollLoops(string) { + return string.replace(unrollLoopPattern, loopReplacer); +} +function loopReplacer(match, start, end, snippet) { + let string = ""; + for (let i = parseInt(start); i < parseInt(end); i++) { + string += snippet.replace(/\[\s*i\s*\]/g, "[ " + i + " ]").replace(/UNROLLED_LOOP_INDEX/g, i); + } + return string; +} +function generatePrecision(parameters) { + let precisionstring = "precision " + parameters.precision + " float;\nprecision " + parameters.precision + " int;"; + if (parameters.precision === "highp") { + precisionstring += "\n#define HIGH_PRECISION"; + } else if (parameters.precision === "mediump") { + precisionstring += "\n#define MEDIUM_PRECISION"; + } else if (parameters.precision === "lowp") { + precisionstring += "\n#define LOW_PRECISION"; + } + return precisionstring; +} +function generateShadowMapTypeDefine(parameters) { + let shadowMapTypeDefine = "SHADOWMAP_TYPE_BASIC"; + if (parameters.shadowMapType === PCFShadowMap) { + shadowMapTypeDefine = "SHADOWMAP_TYPE_PCF"; + } else if (parameters.shadowMapType === PCFSoftShadowMap) { + shadowMapTypeDefine = "SHADOWMAP_TYPE_PCF_SOFT"; + } else if (parameters.shadowMapType === VSMShadowMap) { + shadowMapTypeDefine = "SHADOWMAP_TYPE_VSM"; + } + return shadowMapTypeDefine; +} +function generateEnvMapTypeDefine(parameters) { + let envMapTypeDefine = "ENVMAP_TYPE_CUBE"; + if (parameters.envMap) { + switch (parameters.envMapMode) { + case CubeReflectionMapping: + case CubeRefractionMapping: + envMapTypeDefine = "ENVMAP_TYPE_CUBE"; + break; + case CubeUVReflectionMapping: + envMapTypeDefine = "ENVMAP_TYPE_CUBE_UV"; + break; + } + } + return envMapTypeDefine; +} +function generateEnvMapModeDefine(parameters) { + let envMapModeDefine = "ENVMAP_MODE_REFLECTION"; + if (parameters.envMap) { + switch (parameters.envMapMode) { + case CubeRefractionMapping: + envMapModeDefine = "ENVMAP_MODE_REFRACTION"; + break; + } + } + return envMapModeDefine; +} +function generateEnvMapBlendingDefine(parameters) { + let envMapBlendingDefine = "ENVMAP_BLENDING_NONE"; + if (parameters.envMap) { + switch (parameters.combine) { + case MultiplyOperation: + envMapBlendingDefine = "ENVMAP_BLENDING_MULTIPLY"; + break; + case MixOperation: + envMapBlendingDefine = "ENVMAP_BLENDING_MIX"; + break; + case AddOperation: + envMapBlendingDefine = "ENVMAP_BLENDING_ADD"; + break; + } + } + return envMapBlendingDefine; +} +function generateCubeUVSize(parameters) { + const imageHeight = parameters.envMapCubeUVHeight; + if (imageHeight === null) + return null; + const maxMip = Math.log2(imageHeight) - 2; + const texelHeight = 1 / imageHeight; + const texelWidth = 1 / (3 * Math.max(Math.pow(2, maxMip), 7 * 16)); + return { texelWidth, texelHeight, maxMip }; +} +function WebGLProgram(renderer3, cacheKey, parameters, bindingStates) { + const gl = renderer3.getContext(); + const defines = parameters.defines; + let vertexShader = parameters.vertexShader; + let fragmentShader = parameters.fragmentShader; + const shadowMapTypeDefine = generateShadowMapTypeDefine(parameters); + const envMapTypeDefine = generateEnvMapTypeDefine(parameters); + const envMapModeDefine = generateEnvMapModeDefine(parameters); + const envMapBlendingDefine = generateEnvMapBlendingDefine(parameters); + const envMapCubeUVSize = generateCubeUVSize(parameters); + const customExtensions = parameters.isWebGL2 ? "" : generateExtensions(parameters); + const customDefines = generateDefines(defines); + const program = gl.createProgram(); + let prefixVertex, prefixFragment; + let versionString = parameters.glslVersion ? "#version " + parameters.glslVersion + "\n" : ""; + if (parameters.isRawShaderMaterial) { + prefixVertex = [ + customDefines + ].filter(filterEmptyLine).join("\n"); + if (prefixVertex.length > 0) { + prefixVertex += "\n"; + } + prefixFragment = [ + customExtensions, + customDefines + ].filter(filterEmptyLine).join("\n"); + if (prefixFragment.length > 0) { + prefixFragment += "\n"; + } + } else { + prefixVertex = [ + generatePrecision(parameters), + "#define SHADER_NAME " + parameters.shaderName, + customDefines, + parameters.instancing ? "#define USE_INSTANCING" : "", + parameters.instancingColor ? "#define USE_INSTANCING_COLOR" : "", + parameters.supportsVertexTextures ? "#define VERTEX_TEXTURES" : "", + parameters.useFog && parameters.fog ? "#define USE_FOG" : "", + parameters.useFog && parameters.fogExp2 ? "#define FOG_EXP2" : "", + parameters.map ? "#define USE_MAP" : "", + parameters.envMap ? "#define USE_ENVMAP" : "", + parameters.envMap ? "#define " + envMapModeDefine : "", + parameters.lightMap ? "#define USE_LIGHTMAP" : "", + parameters.aoMap ? "#define USE_AOMAP" : "", + parameters.emissiveMap ? "#define USE_EMISSIVEMAP" : "", + parameters.bumpMap ? "#define USE_BUMPMAP" : "", + parameters.normalMap ? "#define USE_NORMALMAP" : "", + parameters.normalMap && parameters.objectSpaceNormalMap ? "#define OBJECTSPACE_NORMALMAP" : "", + parameters.normalMap && parameters.tangentSpaceNormalMap ? "#define TANGENTSPACE_NORMALMAP" : "", + parameters.clearcoatMap ? "#define USE_CLEARCOATMAP" : "", + parameters.clearcoatRoughnessMap ? "#define USE_CLEARCOAT_ROUGHNESSMAP" : "", + parameters.clearcoatNormalMap ? "#define USE_CLEARCOAT_NORMALMAP" : "", + parameters.iridescenceMap ? "#define USE_IRIDESCENCEMAP" : "", + parameters.iridescenceThicknessMap ? "#define USE_IRIDESCENCE_THICKNESSMAP" : "", + parameters.displacementMap && parameters.supportsVertexTextures ? "#define USE_DISPLACEMENTMAP" : "", + parameters.specularMap ? "#define USE_SPECULARMAP" : "", + parameters.specularIntensityMap ? "#define USE_SPECULARINTENSITYMAP" : "", + parameters.specularColorMap ? "#define USE_SPECULARCOLORMAP" : "", + parameters.roughnessMap ? "#define USE_ROUGHNESSMAP" : "", + parameters.metalnessMap ? "#define USE_METALNESSMAP" : "", + parameters.alphaMap ? "#define USE_ALPHAMAP" : "", + parameters.transmission ? "#define USE_TRANSMISSION" : "", + parameters.transmissionMap ? "#define USE_TRANSMISSIONMAP" : "", + parameters.thicknessMap ? "#define USE_THICKNESSMAP" : "", + parameters.sheenColorMap ? "#define USE_SHEENCOLORMAP" : "", + parameters.sheenRoughnessMap ? "#define USE_SHEENROUGHNESSMAP" : "", + parameters.vertexTangents ? "#define USE_TANGENT" : "", + parameters.vertexColors ? "#define USE_COLOR" : "", + parameters.vertexAlphas ? "#define USE_COLOR_ALPHA" : "", + parameters.vertexUvs ? "#define USE_UV" : "", + parameters.uvsVertexOnly ? "#define UVS_VERTEX_ONLY" : "", + parameters.flatShading ? "#define FLAT_SHADED" : "", + parameters.skinning ? "#define USE_SKINNING" : "", + parameters.morphTargets ? "#define USE_MORPHTARGETS" : "", + parameters.morphNormals && parameters.flatShading === false ? "#define USE_MORPHNORMALS" : "", + parameters.morphColors && parameters.isWebGL2 ? "#define USE_MORPHCOLORS" : "", + parameters.morphTargetsCount > 0 && parameters.isWebGL2 ? "#define MORPHTARGETS_TEXTURE" : "", + parameters.morphTargetsCount > 0 && parameters.isWebGL2 ? "#define MORPHTARGETS_TEXTURE_STRIDE " + parameters.morphTextureStride : "", + parameters.morphTargetsCount > 0 && parameters.isWebGL2 ? "#define MORPHTARGETS_COUNT " + parameters.morphTargetsCount : "", + parameters.doubleSided ? "#define DOUBLE_SIDED" : "", + parameters.flipSided ? "#define FLIP_SIDED" : "", + parameters.shadowMapEnabled ? "#define USE_SHADOWMAP" : "", + parameters.shadowMapEnabled ? "#define " + shadowMapTypeDefine : "", + parameters.sizeAttenuation ? "#define USE_SIZEATTENUATION" : "", + parameters.logarithmicDepthBuffer ? "#define USE_LOGDEPTHBUF" : "", + parameters.logarithmicDepthBuffer && parameters.rendererExtensionFragDepth ? "#define USE_LOGDEPTHBUF_EXT" : "", + "uniform mat4 modelMatrix;", + "uniform mat4 modelViewMatrix;", + "uniform mat4 projectionMatrix;", + "uniform mat4 viewMatrix;", + "uniform mat3 normalMatrix;", + "uniform vec3 cameraPosition;", + "uniform bool isOrthographic;", + "#ifdef USE_INSTANCING", + " attribute mat4 instanceMatrix;", + "#endif", + "#ifdef USE_INSTANCING_COLOR", + " attribute vec3 instanceColor;", + "#endif", + "attribute vec3 position;", + "attribute vec3 normal;", + "attribute vec2 uv;", + "#ifdef USE_TANGENT", + " attribute vec4 tangent;", + "#endif", + "#if defined( USE_COLOR_ALPHA )", + " attribute vec4 color;", + "#elif defined( USE_COLOR )", + " attribute vec3 color;", + "#endif", + "#if ( defined( USE_MORPHTARGETS ) && ! defined( MORPHTARGETS_TEXTURE ) )", + " attribute vec3 morphTarget0;", + " attribute vec3 morphTarget1;", + " attribute vec3 morphTarget2;", + " attribute vec3 morphTarget3;", + " #ifdef USE_MORPHNORMALS", + " attribute vec3 morphNormal0;", + " attribute vec3 morphNormal1;", + " attribute vec3 morphNormal2;", + " attribute vec3 morphNormal3;", + " #else", + " attribute vec3 morphTarget4;", + " attribute vec3 morphTarget5;", + " attribute vec3 morphTarget6;", + " attribute vec3 morphTarget7;", + " #endif", + "#endif", + "#ifdef USE_SKINNING", + " attribute vec4 skinIndex;", + " attribute vec4 skinWeight;", + "#endif", + "\n" + ].filter(filterEmptyLine).join("\n"); + prefixFragment = [ + customExtensions, + generatePrecision(parameters), + "#define SHADER_NAME " + parameters.shaderName, + customDefines, + parameters.useFog && parameters.fog ? "#define USE_FOG" : "", + parameters.useFog && parameters.fogExp2 ? "#define FOG_EXP2" : "", + parameters.map ? "#define USE_MAP" : "", + parameters.matcap ? "#define USE_MATCAP" : "", + parameters.envMap ? "#define USE_ENVMAP" : "", + parameters.envMap ? "#define " + envMapTypeDefine : "", + parameters.envMap ? "#define " + envMapModeDefine : "", + parameters.envMap ? "#define " + envMapBlendingDefine : "", + envMapCubeUVSize ? "#define CUBEUV_TEXEL_WIDTH " + envMapCubeUVSize.texelWidth : "", + envMapCubeUVSize ? "#define CUBEUV_TEXEL_HEIGHT " + envMapCubeUVSize.texelHeight : "", + envMapCubeUVSize ? "#define CUBEUV_MAX_MIP " + envMapCubeUVSize.maxMip + ".0" : "", + parameters.lightMap ? "#define USE_LIGHTMAP" : "", + parameters.aoMap ? "#define USE_AOMAP" : "", + parameters.emissiveMap ? "#define USE_EMISSIVEMAP" : "", + parameters.bumpMap ? "#define USE_BUMPMAP" : "", + parameters.normalMap ? "#define USE_NORMALMAP" : "", + parameters.normalMap && parameters.objectSpaceNormalMap ? "#define OBJECTSPACE_NORMALMAP" : "", + parameters.normalMap && parameters.tangentSpaceNormalMap ? "#define TANGENTSPACE_NORMALMAP" : "", + parameters.clearcoat ? "#define USE_CLEARCOAT" : "", + parameters.clearcoatMap ? "#define USE_CLEARCOATMAP" : "", + parameters.clearcoatRoughnessMap ? "#define USE_CLEARCOAT_ROUGHNESSMAP" : "", + parameters.clearcoatNormalMap ? "#define USE_CLEARCOAT_NORMALMAP" : "", + parameters.iridescence ? "#define USE_IRIDESCENCE" : "", + parameters.iridescenceMap ? "#define USE_IRIDESCENCEMAP" : "", + parameters.iridescenceThicknessMap ? "#define USE_IRIDESCENCE_THICKNESSMAP" : "", + parameters.specularMap ? "#define USE_SPECULARMAP" : "", + parameters.specularIntensityMap ? "#define USE_SPECULARINTENSITYMAP" : "", + parameters.specularColorMap ? "#define USE_SPECULARCOLORMAP" : "", + parameters.roughnessMap ? "#define USE_ROUGHNESSMAP" : "", + parameters.metalnessMap ? "#define USE_METALNESSMAP" : "", + parameters.alphaMap ? "#define USE_ALPHAMAP" : "", + parameters.alphaTest ? "#define USE_ALPHATEST" : "", + parameters.sheen ? "#define USE_SHEEN" : "", + parameters.sheenColorMap ? "#define USE_SHEENCOLORMAP" : "", + parameters.sheenRoughnessMap ? "#define USE_SHEENROUGHNESSMAP" : "", + parameters.transmission ? "#define USE_TRANSMISSION" : "", + parameters.transmissionMap ? "#define USE_TRANSMISSIONMAP" : "", + parameters.thicknessMap ? "#define USE_THICKNESSMAP" : "", + parameters.decodeVideoTexture ? "#define DECODE_VIDEO_TEXTURE" : "", + parameters.vertexTangents ? "#define USE_TANGENT" : "", + parameters.vertexColors || parameters.instancingColor ? "#define USE_COLOR" : "", + parameters.vertexAlphas ? "#define USE_COLOR_ALPHA" : "", + parameters.vertexUvs ? "#define USE_UV" : "", + parameters.uvsVertexOnly ? "#define UVS_VERTEX_ONLY" : "", + parameters.gradientMap ? "#define USE_GRADIENTMAP" : "", + parameters.flatShading ? "#define FLAT_SHADED" : "", + parameters.doubleSided ? "#define DOUBLE_SIDED" : "", + parameters.flipSided ? "#define FLIP_SIDED" : "", + parameters.shadowMapEnabled ? "#define USE_SHADOWMAP" : "", + parameters.shadowMapEnabled ? "#define " + shadowMapTypeDefine : "", + parameters.premultipliedAlpha ? "#define PREMULTIPLIED_ALPHA" : "", + parameters.physicallyCorrectLights ? "#define PHYSICALLY_CORRECT_LIGHTS" : "", + parameters.logarithmicDepthBuffer ? "#define USE_LOGDEPTHBUF" : "", + parameters.logarithmicDepthBuffer && parameters.rendererExtensionFragDepth ? "#define USE_LOGDEPTHBUF_EXT" : "", + "uniform mat4 viewMatrix;", + "uniform vec3 cameraPosition;", + "uniform bool isOrthographic;", + parameters.toneMapping !== NoToneMapping ? "#define TONE_MAPPING" : "", + parameters.toneMapping !== NoToneMapping ? ShaderChunk["tonemapping_pars_fragment"] : "", + parameters.toneMapping !== NoToneMapping ? getToneMappingFunction("toneMapping", parameters.toneMapping) : "", + parameters.dithering ? "#define DITHERING" : "", + parameters.opaque ? "#define OPAQUE" : "", + ShaderChunk["encodings_pars_fragment"], + getTexelEncodingFunction("linearToOutputTexel", parameters.outputEncoding), + parameters.useDepthPacking ? "#define DEPTH_PACKING " + parameters.depthPacking : "", + "\n" + ].filter(filterEmptyLine).join("\n"); + } + vertexShader = resolveIncludes(vertexShader); + vertexShader = replaceLightNums(vertexShader, parameters); + vertexShader = replaceClippingPlaneNums(vertexShader, parameters); + fragmentShader = resolveIncludes(fragmentShader); + fragmentShader = replaceLightNums(fragmentShader, parameters); + fragmentShader = replaceClippingPlaneNums(fragmentShader, parameters); + vertexShader = unrollLoops(vertexShader); + fragmentShader = unrollLoops(fragmentShader); + if (parameters.isWebGL2 && parameters.isRawShaderMaterial !== true) { + versionString = "#version 300 es\n"; + prefixVertex = [ + "precision mediump sampler2DArray;", + "#define attribute in", + "#define varying out", + "#define texture2D texture" + ].join("\n") + "\n" + prefixVertex; + prefixFragment = [ + "#define varying in", + parameters.glslVersion === GLSL3 ? "" : "layout(location = 0) out highp vec4 pc_fragColor;", + parameters.glslVersion === GLSL3 ? "" : "#define gl_FragColor pc_fragColor", + "#define gl_FragDepthEXT gl_FragDepth", + "#define texture2D texture", + "#define textureCube texture", + "#define texture2DProj textureProj", + "#define texture2DLodEXT textureLod", + "#define texture2DProjLodEXT textureProjLod", + "#define textureCubeLodEXT textureLod", + "#define texture2DGradEXT textureGrad", + "#define texture2DProjGradEXT textureProjGrad", + "#define textureCubeGradEXT textureGrad" + ].join("\n") + "\n" + prefixFragment; + } + const vertexGlsl = versionString + prefixVertex + vertexShader; + const fragmentGlsl = versionString + prefixFragment + fragmentShader; + const glVertexShader = WebGLShader(gl, 35633, vertexGlsl); + const glFragmentShader = WebGLShader(gl, 35632, fragmentGlsl); + gl.attachShader(program, glVertexShader); + gl.attachShader(program, glFragmentShader); + if (parameters.index0AttributeName !== void 0) { + gl.bindAttribLocation(program, 0, parameters.index0AttributeName); + } else if (parameters.morphTargets === true) { + gl.bindAttribLocation(program, 0, "position"); + } + gl.linkProgram(program); + if (renderer3.debug.checkShaderErrors) { + const programLog = gl.getProgramInfoLog(program).trim(); + const vertexLog = gl.getShaderInfoLog(glVertexShader).trim(); + const fragmentLog = gl.getShaderInfoLog(glFragmentShader).trim(); + let runnable = true; + let haveDiagnostics = true; + if (gl.getProgramParameter(program, 35714) === false) { + runnable = false; + const vertexErrors = getShaderErrors(gl, glVertexShader, "vertex"); + const fragmentErrors = getShaderErrors(gl, glFragmentShader, "fragment"); + console.error("THREE.WebGLProgram: Shader Error " + gl.getError() + " - VALIDATE_STATUS " + gl.getProgramParameter(program, 35715) + "\n\nProgram Info Log: " + programLog + "\n" + vertexErrors + "\n" + fragmentErrors); + } else if (programLog !== "") { + console.warn("THREE.WebGLProgram: Program Info Log:", programLog); + } else if (vertexLog === "" || fragmentLog === "") { + haveDiagnostics = false; + } + if (haveDiagnostics) { + this.diagnostics = { + runnable, + programLog, + vertexShader: { + log: vertexLog, + prefix: prefixVertex + }, + fragmentShader: { + log: fragmentLog, + prefix: prefixFragment + } + }; + } + } + gl.deleteShader(glVertexShader); + gl.deleteShader(glFragmentShader); + let cachedUniforms; + this.getUniforms = function() { + if (cachedUniforms === void 0) { + cachedUniforms = new WebGLUniforms(gl, program); + } + return cachedUniforms; + }; + let cachedAttributes; + this.getAttributes = function() { + if (cachedAttributes === void 0) { + cachedAttributes = fetchAttributeLocations(gl, program); + } + return cachedAttributes; + }; + this.destroy = function() { + bindingStates.releaseStatesOfProgram(this); + gl.deleteProgram(program); + this.program = void 0; + }; + this.name = parameters.shaderName; + this.id = programIdCount++; + this.cacheKey = cacheKey; + this.usedTimes = 1; + this.program = program; + this.vertexShader = glVertexShader; + this.fragmentShader = glFragmentShader; + return this; +} +var _id = 0; +var WebGLShaderCache = class { + constructor() { + this.shaderCache = /* @__PURE__ */ new Map(); + this.materialCache = /* @__PURE__ */ new Map(); + } + update(material) { + const vertexShader = material.vertexShader; + const fragmentShader = material.fragmentShader; + const vertexShaderStage = this._getShaderStage(vertexShader); + const fragmentShaderStage = this._getShaderStage(fragmentShader); + const materialShaders = this._getShaderCacheForMaterial(material); + if (materialShaders.has(vertexShaderStage) === false) { + materialShaders.add(vertexShaderStage); + vertexShaderStage.usedTimes++; + } + if (materialShaders.has(fragmentShaderStage) === false) { + materialShaders.add(fragmentShaderStage); + fragmentShaderStage.usedTimes++; + } + return this; + } + remove(material) { + const materialShaders = this.materialCache.get(material); + for (const shaderStage of materialShaders) { + shaderStage.usedTimes--; + if (shaderStage.usedTimes === 0) + this.shaderCache.delete(shaderStage.code); + } + this.materialCache.delete(material); + return this; + } + getVertexShaderID(material) { + return this._getShaderStage(material.vertexShader).id; + } + getFragmentShaderID(material) { + return this._getShaderStage(material.fragmentShader).id; + } + dispose() { + this.shaderCache.clear(); + this.materialCache.clear(); + } + _getShaderCacheForMaterial(material) { + const cache = this.materialCache; + let set2 = cache.get(material); + if (set2 === void 0) { + set2 = /* @__PURE__ */ new Set(); + cache.set(material, set2); + } + return set2; + } + _getShaderStage(code) { + const cache = this.shaderCache; + let stage = cache.get(code); + if (stage === void 0) { + stage = new WebGLShaderStage(code); + cache.set(code, stage); + } + return stage; + } +}; +var WebGLShaderStage = class { + constructor(code) { + this.id = _id++; + this.code = code; + this.usedTimes = 0; + } +}; +function WebGLPrograms(renderer3, cubemaps, cubeuvmaps, extensions, capabilities, bindingStates, clipping) { + const _programLayers = new Layers(); + const _customShaders = new WebGLShaderCache(); + const programs = []; + const isWebGL2 = capabilities.isWebGL2; + const logarithmicDepthBuffer = capabilities.logarithmicDepthBuffer; + const vertexTextures = capabilities.vertexTextures; + let precision = capabilities.precision; + const shaderIDs = { + MeshDepthMaterial: "depth", + MeshDistanceMaterial: "distanceRGBA", + MeshNormalMaterial: "normal", + MeshBasicMaterial: "basic", + MeshLambertMaterial: "lambert", + MeshPhongMaterial: "phong", + MeshToonMaterial: "toon", + MeshStandardMaterial: "physical", + MeshPhysicalMaterial: "physical", + MeshMatcapMaterial: "matcap", + LineBasicMaterial: "basic", + LineDashedMaterial: "dashed", + PointsMaterial: "points", + ShadowMaterial: "shadow", + SpriteMaterial: "sprite" + }; + function getParameters(material, lights, shadows, scene3, object) { + const fog = scene3.fog; + const geometry = object.geometry; + const environment = material.isMeshStandardMaterial ? scene3.environment : null; + const envMap = (material.isMeshStandardMaterial ? cubeuvmaps : cubemaps).get(material.envMap || environment); + const envMapCubeUVHeight = !!envMap && envMap.mapping === CubeUVReflectionMapping ? envMap.image.height : null; + const shaderID = shaderIDs[material.type]; + if (material.precision !== null) { + precision = capabilities.getMaxPrecision(material.precision); + if (precision !== material.precision) { + console.warn("THREE.WebGLProgram.getParameters:", material.precision, "not supported, using", precision, "instead."); + } + } + const morphAttribute = geometry.morphAttributes.position || geometry.morphAttributes.normal || geometry.morphAttributes.color; + const morphTargetsCount = morphAttribute !== void 0 ? morphAttribute.length : 0; + let morphTextureStride = 0; + if (geometry.morphAttributes.position !== void 0) + morphTextureStride = 1; + if (geometry.morphAttributes.normal !== void 0) + morphTextureStride = 2; + if (geometry.morphAttributes.color !== void 0) + morphTextureStride = 3; + let vertexShader, fragmentShader; + let customVertexShaderID, customFragmentShaderID; + if (shaderID) { + const shader = ShaderLib[shaderID]; + vertexShader = shader.vertexShader; + fragmentShader = shader.fragmentShader; + } else { + vertexShader = material.vertexShader; + fragmentShader = material.fragmentShader; + _customShaders.update(material); + customVertexShaderID = _customShaders.getVertexShaderID(material); + customFragmentShaderID = _customShaders.getFragmentShaderID(material); + } + const currentRenderTarget = renderer3.getRenderTarget(); + const useAlphaTest = material.alphaTest > 0; + const useClearcoat = material.clearcoat > 0; + const useIridescence = material.iridescence > 0; + const parameters = { + isWebGL2, + shaderID, + shaderName: material.type, + vertexShader, + fragmentShader, + defines: material.defines, + customVertexShaderID, + customFragmentShaderID, + isRawShaderMaterial: material.isRawShaderMaterial === true, + glslVersion: material.glslVersion, + precision, + instancing: object.isInstancedMesh === true, + instancingColor: object.isInstancedMesh === true && object.instanceColor !== null, + supportsVertexTextures: vertexTextures, + outputEncoding: currentRenderTarget === null ? renderer3.outputEncoding : currentRenderTarget.isXRRenderTarget === true ? currentRenderTarget.texture.encoding : LinearEncoding, + map: !!material.map, + matcap: !!material.matcap, + envMap: !!envMap, + envMapMode: envMap && envMap.mapping, + envMapCubeUVHeight, + lightMap: !!material.lightMap, + aoMap: !!material.aoMap, + emissiveMap: !!material.emissiveMap, + bumpMap: !!material.bumpMap, + normalMap: !!material.normalMap, + objectSpaceNormalMap: material.normalMapType === ObjectSpaceNormalMap, + tangentSpaceNormalMap: material.normalMapType === TangentSpaceNormalMap, + decodeVideoTexture: !!material.map && material.map.isVideoTexture === true && material.map.encoding === sRGBEncoding, + clearcoat: useClearcoat, + clearcoatMap: useClearcoat && !!material.clearcoatMap, + clearcoatRoughnessMap: useClearcoat && !!material.clearcoatRoughnessMap, + clearcoatNormalMap: useClearcoat && !!material.clearcoatNormalMap, + iridescence: useIridescence, + iridescenceMap: useIridescence && !!material.iridescenceMap, + iridescenceThicknessMap: useIridescence && !!material.iridescenceThicknessMap, + displacementMap: !!material.displacementMap, + roughnessMap: !!material.roughnessMap, + metalnessMap: !!material.metalnessMap, + specularMap: !!material.specularMap, + specularIntensityMap: !!material.specularIntensityMap, + specularColorMap: !!material.specularColorMap, + opaque: material.transparent === false && material.blending === NormalBlending, + alphaMap: !!material.alphaMap, + alphaTest: useAlphaTest, + gradientMap: !!material.gradientMap, + sheen: material.sheen > 0, + sheenColorMap: !!material.sheenColorMap, + sheenRoughnessMap: !!material.sheenRoughnessMap, + transmission: material.transmission > 0, + transmissionMap: !!material.transmissionMap, + thicknessMap: !!material.thicknessMap, + combine: material.combine, + vertexTangents: !!material.normalMap && !!geometry.attributes.tangent, + vertexColors: material.vertexColors, + vertexAlphas: material.vertexColors === true && !!geometry.attributes.color && geometry.attributes.color.itemSize === 4, + vertexUvs: !!material.map || !!material.bumpMap || !!material.normalMap || !!material.specularMap || !!material.alphaMap || !!material.emissiveMap || !!material.roughnessMap || !!material.metalnessMap || !!material.clearcoatMap || !!material.clearcoatRoughnessMap || !!material.clearcoatNormalMap || !!material.iridescenceMap || !!material.iridescenceThicknessMap || !!material.displacementMap || !!material.transmissionMap || !!material.thicknessMap || !!material.specularIntensityMap || !!material.specularColorMap || !!material.sheenColorMap || !!material.sheenRoughnessMap, + uvsVertexOnly: !(!!material.map || !!material.bumpMap || !!material.normalMap || !!material.specularMap || !!material.alphaMap || !!material.emissiveMap || !!material.roughnessMap || !!material.metalnessMap || !!material.clearcoatNormalMap || !!material.iridescenceMap || !!material.iridescenceThicknessMap || material.transmission > 0 || !!material.transmissionMap || !!material.thicknessMap || !!material.specularIntensityMap || !!material.specularColorMap || material.sheen > 0 || !!material.sheenColorMap || !!material.sheenRoughnessMap) && !!material.displacementMap, + fog: !!fog, + useFog: material.fog === true, + fogExp2: fog && fog.isFogExp2, + flatShading: !!material.flatShading, + sizeAttenuation: material.sizeAttenuation, + logarithmicDepthBuffer, + skinning: object.isSkinnedMesh === true, + morphTargets: geometry.morphAttributes.position !== void 0, + morphNormals: geometry.morphAttributes.normal !== void 0, + morphColors: geometry.morphAttributes.color !== void 0, + morphTargetsCount, + morphTextureStride, + numDirLights: lights.directional.length, + numPointLights: lights.point.length, + numSpotLights: lights.spot.length, + numSpotLightMaps: lights.spotLightMap.length, + numRectAreaLights: lights.rectArea.length, + numHemiLights: lights.hemi.length, + numDirLightShadows: lights.directionalShadowMap.length, + numPointLightShadows: lights.pointShadowMap.length, + numSpotLightShadows: lights.spotShadowMap.length, + numSpotLightShadowsWithMaps: lights.numSpotLightShadowsWithMaps, + numClippingPlanes: clipping.numPlanes, + numClipIntersection: clipping.numIntersection, + dithering: material.dithering, + shadowMapEnabled: renderer3.shadowMap.enabled && shadows.length > 0, + shadowMapType: renderer3.shadowMap.type, + toneMapping: material.toneMapped ? renderer3.toneMapping : NoToneMapping, + physicallyCorrectLights: renderer3.physicallyCorrectLights, + premultipliedAlpha: material.premultipliedAlpha, + doubleSided: material.side === DoubleSide, + flipSided: material.side === BackSide, + useDepthPacking: !!material.depthPacking, + depthPacking: material.depthPacking || 0, + index0AttributeName: material.index0AttributeName, + extensionDerivatives: material.extensions && material.extensions.derivatives, + extensionFragDepth: material.extensions && material.extensions.fragDepth, + extensionDrawBuffers: material.extensions && material.extensions.drawBuffers, + extensionShaderTextureLOD: material.extensions && material.extensions.shaderTextureLOD, + rendererExtensionFragDepth: isWebGL2 || extensions.has("EXT_frag_depth"), + rendererExtensionDrawBuffers: isWebGL2 || extensions.has("WEBGL_draw_buffers"), + rendererExtensionShaderTextureLod: isWebGL2 || extensions.has("EXT_shader_texture_lod"), + customProgramCacheKey: material.customProgramCacheKey() + }; + return parameters; + } + function getProgramCacheKey(parameters) { + const array = []; + if (parameters.shaderID) { + array.push(parameters.shaderID); + } else { + array.push(parameters.customVertexShaderID); + array.push(parameters.customFragmentShaderID); + } + if (parameters.defines !== void 0) { + for (const name in parameters.defines) { + array.push(name); + array.push(parameters.defines[name]); + } + } + if (parameters.isRawShaderMaterial === false) { + getProgramCacheKeyParameters(array, parameters); + getProgramCacheKeyBooleans(array, parameters); + array.push(renderer3.outputEncoding); + } + array.push(parameters.customProgramCacheKey); + return array.join(); + } + function getProgramCacheKeyParameters(array, parameters) { + array.push(parameters.precision); + array.push(parameters.outputEncoding); + array.push(parameters.envMapMode); + array.push(parameters.envMapCubeUVHeight); + array.push(parameters.combine); + array.push(parameters.vertexUvs); + array.push(parameters.fogExp2); + array.push(parameters.sizeAttenuation); + array.push(parameters.morphTargetsCount); + array.push(parameters.morphAttributeCount); + array.push(parameters.numDirLights); + array.push(parameters.numPointLights); + array.push(parameters.numSpotLights); + array.push(parameters.numSpotLightMaps); + array.push(parameters.numHemiLights); + array.push(parameters.numRectAreaLights); + array.push(parameters.numDirLightShadows); + array.push(parameters.numPointLightShadows); + array.push(parameters.numSpotLightShadows); + array.push(parameters.numSpotLightShadowsWithMaps); + array.push(parameters.shadowMapType); + array.push(parameters.toneMapping); + array.push(parameters.numClippingPlanes); + array.push(parameters.numClipIntersection); + array.push(parameters.depthPacking); + } + function getProgramCacheKeyBooleans(array, parameters) { + _programLayers.disableAll(); + if (parameters.isWebGL2) + _programLayers.enable(0); + if (parameters.supportsVertexTextures) + _programLayers.enable(1); + if (parameters.instancing) + _programLayers.enable(2); + if (parameters.instancingColor) + _programLayers.enable(3); + if (parameters.map) + _programLayers.enable(4); + if (parameters.matcap) + _programLayers.enable(5); + if (parameters.envMap) + _programLayers.enable(6); + if (parameters.lightMap) + _programLayers.enable(7); + if (parameters.aoMap) + _programLayers.enable(8); + if (parameters.emissiveMap) + _programLayers.enable(9); + if (parameters.bumpMap) + _programLayers.enable(10); + if (parameters.normalMap) + _programLayers.enable(11); + if (parameters.objectSpaceNormalMap) + _programLayers.enable(12); + if (parameters.tangentSpaceNormalMap) + _programLayers.enable(13); + if (parameters.clearcoat) + _programLayers.enable(14); + if (parameters.clearcoatMap) + _programLayers.enable(15); + if (parameters.clearcoatRoughnessMap) + _programLayers.enable(16); + if (parameters.clearcoatNormalMap) + _programLayers.enable(17); + if (parameters.iridescence) + _programLayers.enable(18); + if (parameters.iridescenceMap) + _programLayers.enable(19); + if (parameters.iridescenceThicknessMap) + _programLayers.enable(20); + if (parameters.displacementMap) + _programLayers.enable(21); + if (parameters.specularMap) + _programLayers.enable(22); + if (parameters.roughnessMap) + _programLayers.enable(23); + if (parameters.metalnessMap) + _programLayers.enable(24); + if (parameters.gradientMap) + _programLayers.enable(25); + if (parameters.alphaMap) + _programLayers.enable(26); + if (parameters.alphaTest) + _programLayers.enable(27); + if (parameters.vertexColors) + _programLayers.enable(28); + if (parameters.vertexAlphas) + _programLayers.enable(29); + if (parameters.vertexUvs) + _programLayers.enable(30); + if (parameters.vertexTangents) + _programLayers.enable(31); + if (parameters.uvsVertexOnly) + _programLayers.enable(32); + array.push(_programLayers.mask); + _programLayers.disableAll(); + if (parameters.fog) + _programLayers.enable(0); + if (parameters.useFog) + _programLayers.enable(1); + if (parameters.flatShading) + _programLayers.enable(2); + if (parameters.logarithmicDepthBuffer) + _programLayers.enable(3); + if (parameters.skinning) + _programLayers.enable(4); + if (parameters.morphTargets) + _programLayers.enable(5); + if (parameters.morphNormals) + _programLayers.enable(6); + if (parameters.morphColors) + _programLayers.enable(7); + if (parameters.premultipliedAlpha) + _programLayers.enable(8); + if (parameters.shadowMapEnabled) + _programLayers.enable(9); + if (parameters.physicallyCorrectLights) + _programLayers.enable(10); + if (parameters.doubleSided) + _programLayers.enable(11); + if (parameters.flipSided) + _programLayers.enable(12); + if (parameters.useDepthPacking) + _programLayers.enable(13); + if (parameters.dithering) + _programLayers.enable(14); + if (parameters.specularIntensityMap) + _programLayers.enable(15); + if (parameters.specularColorMap) + _programLayers.enable(16); + if (parameters.transmission) + _programLayers.enable(17); + if (parameters.transmissionMap) + _programLayers.enable(18); + if (parameters.thicknessMap) + _programLayers.enable(19); + if (parameters.sheen) + _programLayers.enable(20); + if (parameters.sheenColorMap) + _programLayers.enable(21); + if (parameters.sheenRoughnessMap) + _programLayers.enable(22); + if (parameters.decodeVideoTexture) + _programLayers.enable(23); + if (parameters.opaque) + _programLayers.enable(24); + array.push(_programLayers.mask); + } + function getUniforms(material) { + const shaderID = shaderIDs[material.type]; + let uniforms; + if (shaderID) { + const shader = ShaderLib[shaderID]; + uniforms = UniformsUtils.clone(shader.uniforms); + } else { + uniforms = material.uniforms; + } + return uniforms; + } + function acquireProgram(parameters, cacheKey) { + let program; + for (let p = 0, pl = programs.length; p < pl; p++) { + const preexistingProgram = programs[p]; + if (preexistingProgram.cacheKey === cacheKey) { + program = preexistingProgram; + ++program.usedTimes; + break; + } + } + if (program === void 0) { + program = new WebGLProgram(renderer3, cacheKey, parameters, bindingStates); + programs.push(program); + } + return program; + } + function releaseProgram(program) { + if (--program.usedTimes === 0) { + const i = programs.indexOf(program); + programs[i] = programs[programs.length - 1]; + programs.pop(); + program.destroy(); + } + } + function releaseShaderCache(material) { + _customShaders.remove(material); + } + function dispose() { + _customShaders.dispose(); + } + return { + getParameters, + getProgramCacheKey, + getUniforms, + acquireProgram, + releaseProgram, + releaseShaderCache, + programs, + dispose + }; +} +function WebGLProperties() { + let properties = /* @__PURE__ */ new WeakMap(); + function get2(object) { + let map = properties.get(object); + if (map === void 0) { + map = {}; + properties.set(object, map); + } + return map; + } + function remove2(object) { + properties.delete(object); + } + function update4(object, key, value) { + properties.get(object)[key] = value; + } + function dispose() { + properties = /* @__PURE__ */ new WeakMap(); + } + return { + get: get2, + remove: remove2, + update: update4, + dispose + }; +} +function painterSortStable(a2, b) { + if (a2.groupOrder !== b.groupOrder) { + return a2.groupOrder - b.groupOrder; + } else if (a2.renderOrder !== b.renderOrder) { + return a2.renderOrder - b.renderOrder; + } else if (a2.material.id !== b.material.id) { + return a2.material.id - b.material.id; + } else if (a2.z !== b.z) { + return a2.z - b.z; + } else { + return a2.id - b.id; + } +} +function reversePainterSortStable(a2, b) { + if (a2.groupOrder !== b.groupOrder) { + return a2.groupOrder - b.groupOrder; + } else if (a2.renderOrder !== b.renderOrder) { + return a2.renderOrder - b.renderOrder; + } else if (a2.z !== b.z) { + return b.z - a2.z; + } else { + return a2.id - b.id; + } +} +function WebGLRenderList() { + const renderItems = []; + let renderItemsIndex = 0; + const opaque = []; + const transmissive = []; + const transparent = []; + function init4() { + renderItemsIndex = 0; + opaque.length = 0; + transmissive.length = 0; + transparent.length = 0; + } + function getNextRenderItem(object, geometry, material, groupOrder, z2, group) { + let renderItem = renderItems[renderItemsIndex]; + if (renderItem === void 0) { + renderItem = { + id: object.id, + object, + geometry, + material, + groupOrder, + renderOrder: object.renderOrder, + z: z2, + group + }; + renderItems[renderItemsIndex] = renderItem; + } else { + renderItem.id = object.id; + renderItem.object = object; + renderItem.geometry = geometry; + renderItem.material = material; + renderItem.groupOrder = groupOrder; + renderItem.renderOrder = object.renderOrder; + renderItem.z = z2; + renderItem.group = group; + } + renderItemsIndex++; + return renderItem; + } + function push(object, geometry, material, groupOrder, z2, group) { + const renderItem = getNextRenderItem(object, geometry, material, groupOrder, z2, group); + if (material.transmission > 0) { + transmissive.push(renderItem); + } else if (material.transparent === true) { + transparent.push(renderItem); + } else { + opaque.push(renderItem); + } + } + function unshift(object, geometry, material, groupOrder, z2, group) { + const renderItem = getNextRenderItem(object, geometry, material, groupOrder, z2, group); + if (material.transmission > 0) { + transmissive.unshift(renderItem); + } else if (material.transparent === true) { + transparent.unshift(renderItem); + } else { + opaque.unshift(renderItem); + } + } + function sort(customOpaqueSort, customTransparentSort) { + if (opaque.length > 1) + opaque.sort(customOpaqueSort || painterSortStable); + if (transmissive.length > 1) + transmissive.sort(customTransparentSort || reversePainterSortStable); + if (transparent.length > 1) + transparent.sort(customTransparentSort || reversePainterSortStable); + } + function finish() { + for (let i = renderItemsIndex, il = renderItems.length; i < il; i++) { + const renderItem = renderItems[i]; + if (renderItem.id === null) + break; + renderItem.id = null; + renderItem.object = null; + renderItem.geometry = null; + renderItem.material = null; + renderItem.group = null; + } + } + return { + opaque, + transmissive, + transparent, + init: init4, + push, + unshift, + finish, + sort + }; +} +function WebGLRenderLists() { + let lists = /* @__PURE__ */ new WeakMap(); + function get2(scene3, renderCallDepth) { + const listArray = lists.get(scene3); + let list; + if (listArray === void 0) { + list = new WebGLRenderList(); + lists.set(scene3, [list]); + } else { + if (renderCallDepth >= listArray.length) { + list = new WebGLRenderList(); + listArray.push(list); + } else { + list = listArray[renderCallDepth]; + } + } + return list; + } + function dispose() { + lists = /* @__PURE__ */ new WeakMap(); + } + return { + get: get2, + dispose + }; +} +function UniformsCache() { + const lights = {}; + return { + get: function(light) { + if (lights[light.id] !== void 0) { + return lights[light.id]; + } + let uniforms; + switch (light.type) { + case "DirectionalLight": + uniforms = { + direction: new Vector3(), + color: new Color() + }; + break; + case "SpotLight": + uniforms = { + position: new Vector3(), + direction: new Vector3(), + color: new Color(), + distance: 0, + coneCos: 0, + penumbraCos: 0, + decay: 0 + }; + break; + case "PointLight": + uniforms = { + position: new Vector3(), + color: new Color(), + distance: 0, + decay: 0 + }; + break; + case "HemisphereLight": + uniforms = { + direction: new Vector3(), + skyColor: new Color(), + groundColor: new Color() + }; + break; + case "RectAreaLight": + uniforms = { + color: new Color(), + position: new Vector3(), + halfWidth: new Vector3(), + halfHeight: new Vector3() + }; + break; + } + lights[light.id] = uniforms; + return uniforms; + } + }; +} +function ShadowUniformsCache() { + const lights = {}; + return { + get: function(light) { + if (lights[light.id] !== void 0) { + return lights[light.id]; + } + let uniforms; + switch (light.type) { + case "DirectionalLight": + uniforms = { + shadowBias: 0, + shadowNormalBias: 0, + shadowRadius: 1, + shadowMapSize: new Vector2() + }; + break; + case "SpotLight": + uniforms = { + shadowBias: 0, + shadowNormalBias: 0, + shadowRadius: 1, + shadowMapSize: new Vector2() + }; + break; + case "PointLight": + uniforms = { + shadowBias: 0, + shadowNormalBias: 0, + shadowRadius: 1, + shadowMapSize: new Vector2(), + shadowCameraNear: 1, + shadowCameraFar: 1e3 + }; + break; + } + lights[light.id] = uniforms; + return uniforms; + } + }; +} +var nextVersion = 0; +function shadowCastingAndTexturingLightsFirst(lightA, lightB) { + return (lightB.castShadow ? 2 : 0) - (lightA.castShadow ? 2 : 0) + (lightB.map ? 1 : 0) - (lightA.map ? 1 : 0); +} +function WebGLLights(extensions, capabilities) { + const cache = new UniformsCache(); + const shadowCache = ShadowUniformsCache(); + const state = { + version: 0, + hash: { + directionalLength: -1, + pointLength: -1, + spotLength: -1, + rectAreaLength: -1, + hemiLength: -1, + numDirectionalShadows: -1, + numPointShadows: -1, + numSpotShadows: -1, + numSpotMaps: -1 + }, + ambient: [0, 0, 0], + probe: [], + directional: [], + directionalShadow: [], + directionalShadowMap: [], + directionalShadowMatrix: [], + spot: [], + spotLightMap: [], + spotShadow: [], + spotShadowMap: [], + spotLightMatrix: [], + rectArea: [], + rectAreaLTC1: null, + rectAreaLTC2: null, + point: [], + pointShadow: [], + pointShadowMap: [], + pointShadowMatrix: [], + hemi: [], + numSpotLightShadowsWithMaps: 0 + }; + for (let i = 0; i < 9; i++) + state.probe.push(new Vector3()); + const vector3 = new Vector3(); + const matrix4 = new Matrix4(); + const matrix42 = new Matrix4(); + function setup(lights, physicallyCorrectLights) { + let r = 0, g = 0, b = 0; + for (let i = 0; i < 9; i++) + state.probe[i].set(0, 0, 0); + let directionalLength = 0; + let pointLength = 0; + let spotLength = 0; + let rectAreaLength = 0; + let hemiLength = 0; + let numDirectionalShadows = 0; + let numPointShadows = 0; + let numSpotShadows = 0; + let numSpotMaps = 0; + let numSpotShadowsWithMaps = 0; + lights.sort(shadowCastingAndTexturingLightsFirst); + const scaleFactor = physicallyCorrectLights !== true ? Math.PI : 1; + for (let i = 0, l = lights.length; i < l; i++) { + const light = lights[i]; + const color = light.color; + const intensity = light.intensity; + const distance = light.distance; + const shadowMap = light.shadow && light.shadow.map ? light.shadow.map.texture : null; + if (light.isAmbientLight) { + r += color.r * intensity * scaleFactor; + g += color.g * intensity * scaleFactor; + b += color.b * intensity * scaleFactor; + } else if (light.isLightProbe) { + for (let j = 0; j < 9; j++) { + state.probe[j].addScaledVector(light.sh.coefficients[j], intensity); + } + } else if (light.isDirectionalLight) { + const uniforms = cache.get(light); + uniforms.color.copy(light.color).multiplyScalar(light.intensity * scaleFactor); + if (light.castShadow) { + const shadow = light.shadow; + const shadowUniforms = shadowCache.get(light); + shadowUniforms.shadowBias = shadow.bias; + shadowUniforms.shadowNormalBias = shadow.normalBias; + shadowUniforms.shadowRadius = shadow.radius; + shadowUniforms.shadowMapSize = shadow.mapSize; + state.directionalShadow[directionalLength] = shadowUniforms; + state.directionalShadowMap[directionalLength] = shadowMap; + state.directionalShadowMatrix[directionalLength] = light.shadow.matrix; + numDirectionalShadows++; + } + state.directional[directionalLength] = uniforms; + directionalLength++; + } else if (light.isSpotLight) { + const uniforms = cache.get(light); + uniforms.position.setFromMatrixPosition(light.matrixWorld); + uniforms.color.copy(color).multiplyScalar(intensity * scaleFactor); + uniforms.distance = distance; + uniforms.coneCos = Math.cos(light.angle); + uniforms.penumbraCos = Math.cos(light.angle * (1 - light.penumbra)); + uniforms.decay = light.decay; + state.spot[spotLength] = uniforms; + const shadow = light.shadow; + if (light.map) { + state.spotLightMap[numSpotMaps] = light.map; + numSpotMaps++; + shadow.updateMatrices(light); + if (light.castShadow) + numSpotShadowsWithMaps++; + } + state.spotLightMatrix[spotLength] = shadow.matrix; + if (light.castShadow) { + const shadowUniforms = shadowCache.get(light); + shadowUniforms.shadowBias = shadow.bias; + shadowUniforms.shadowNormalBias = shadow.normalBias; + shadowUniforms.shadowRadius = shadow.radius; + shadowUniforms.shadowMapSize = shadow.mapSize; + state.spotShadow[spotLength] = shadowUniforms; + state.spotShadowMap[spotLength] = shadowMap; + numSpotShadows++; + } + spotLength++; + } else if (light.isRectAreaLight) { + const uniforms = cache.get(light); + uniforms.color.copy(color).multiplyScalar(intensity); + uniforms.halfWidth.set(light.width * 0.5, 0, 0); + uniforms.halfHeight.set(0, light.height * 0.5, 0); + state.rectArea[rectAreaLength] = uniforms; + rectAreaLength++; + } else if (light.isPointLight) { + const uniforms = cache.get(light); + uniforms.color.copy(light.color).multiplyScalar(light.intensity * scaleFactor); + uniforms.distance = light.distance; + uniforms.decay = light.decay; + if (light.castShadow) { + const shadow = light.shadow; + const shadowUniforms = shadowCache.get(light); + shadowUniforms.shadowBias = shadow.bias; + shadowUniforms.shadowNormalBias = shadow.normalBias; + shadowUniforms.shadowRadius = shadow.radius; + shadowUniforms.shadowMapSize = shadow.mapSize; + shadowUniforms.shadowCameraNear = shadow.camera.near; + shadowUniforms.shadowCameraFar = shadow.camera.far; + state.pointShadow[pointLength] = shadowUniforms; + state.pointShadowMap[pointLength] = shadowMap; + state.pointShadowMatrix[pointLength] = light.shadow.matrix; + numPointShadows++; + } + state.point[pointLength] = uniforms; + pointLength++; + } else if (light.isHemisphereLight) { + const uniforms = cache.get(light); + uniforms.skyColor.copy(light.color).multiplyScalar(intensity * scaleFactor); + uniforms.groundColor.copy(light.groundColor).multiplyScalar(intensity * scaleFactor); + state.hemi[hemiLength] = uniforms; + hemiLength++; + } + } + if (rectAreaLength > 0) { + if (capabilities.isWebGL2) { + state.rectAreaLTC1 = UniformsLib.LTC_FLOAT_1; + state.rectAreaLTC2 = UniformsLib.LTC_FLOAT_2; + } else { + if (extensions.has("OES_texture_float_linear") === true) { + state.rectAreaLTC1 = UniformsLib.LTC_FLOAT_1; + state.rectAreaLTC2 = UniformsLib.LTC_FLOAT_2; + } else if (extensions.has("OES_texture_half_float_linear") === true) { + state.rectAreaLTC1 = UniformsLib.LTC_HALF_1; + state.rectAreaLTC2 = UniformsLib.LTC_HALF_2; + } else { + console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions."); + } + } + } + state.ambient[0] = r; + state.ambient[1] = g; + state.ambient[2] = b; + const hash = state.hash; + if (hash.directionalLength !== directionalLength || hash.pointLength !== pointLength || hash.spotLength !== spotLength || hash.rectAreaLength !== rectAreaLength || hash.hemiLength !== hemiLength || hash.numDirectionalShadows !== numDirectionalShadows || hash.numPointShadows !== numPointShadows || hash.numSpotShadows !== numSpotShadows || hash.numSpotMaps !== numSpotMaps) { + state.directional.length = directionalLength; + state.spot.length = spotLength; + state.rectArea.length = rectAreaLength; + state.point.length = pointLength; + state.hemi.length = hemiLength; + state.directionalShadow.length = numDirectionalShadows; + state.directionalShadowMap.length = numDirectionalShadows; + state.pointShadow.length = numPointShadows; + state.pointShadowMap.length = numPointShadows; + state.spotShadow.length = numSpotShadows; + state.spotShadowMap.length = numSpotShadows; + state.directionalShadowMatrix.length = numDirectionalShadows; + state.pointShadowMatrix.length = numPointShadows; + state.spotLightMatrix.length = numSpotShadows + numSpotMaps - numSpotShadowsWithMaps; + state.spotLightMap.length = numSpotMaps; + state.numSpotLightShadowsWithMaps = numSpotShadowsWithMaps; + hash.directionalLength = directionalLength; + hash.pointLength = pointLength; + hash.spotLength = spotLength; + hash.rectAreaLength = rectAreaLength; + hash.hemiLength = hemiLength; + hash.numDirectionalShadows = numDirectionalShadows; + hash.numPointShadows = numPointShadows; + hash.numSpotShadows = numSpotShadows; + hash.numSpotMaps = numSpotMaps; + state.version = nextVersion++; + } + } + function setupView(lights, camera3) { + let directionalLength = 0; + let pointLength = 0; + let spotLength = 0; + let rectAreaLength = 0; + let hemiLength = 0; + const viewMatrix = camera3.matrixWorldInverse; + for (let i = 0, l = lights.length; i < l; i++) { + const light = lights[i]; + if (light.isDirectionalLight) { + const uniforms = state.directional[directionalLength]; + uniforms.direction.setFromMatrixPosition(light.matrixWorld); + vector3.setFromMatrixPosition(light.target.matrixWorld); + uniforms.direction.sub(vector3); + uniforms.direction.transformDirection(viewMatrix); + directionalLength++; + } else if (light.isSpotLight) { + const uniforms = state.spot[spotLength]; + uniforms.position.setFromMatrixPosition(light.matrixWorld); + uniforms.position.applyMatrix4(viewMatrix); + uniforms.direction.setFromMatrixPosition(light.matrixWorld); + vector3.setFromMatrixPosition(light.target.matrixWorld); + uniforms.direction.sub(vector3); + uniforms.direction.transformDirection(viewMatrix); + spotLength++; + } else if (light.isRectAreaLight) { + const uniforms = state.rectArea[rectAreaLength]; + uniforms.position.setFromMatrixPosition(light.matrixWorld); + uniforms.position.applyMatrix4(viewMatrix); + matrix42.identity(); + matrix4.copy(light.matrixWorld); + matrix4.premultiply(viewMatrix); + matrix42.extractRotation(matrix4); + uniforms.halfWidth.set(light.width * 0.5, 0, 0); + uniforms.halfHeight.set(0, light.height * 0.5, 0); + uniforms.halfWidth.applyMatrix4(matrix42); + uniforms.halfHeight.applyMatrix4(matrix42); + rectAreaLength++; + } else if (light.isPointLight) { + const uniforms = state.point[pointLength]; + uniforms.position.setFromMatrixPosition(light.matrixWorld); + uniforms.position.applyMatrix4(viewMatrix); + pointLength++; + } else if (light.isHemisphereLight) { + const uniforms = state.hemi[hemiLength]; + uniforms.direction.setFromMatrixPosition(light.matrixWorld); + uniforms.direction.transformDirection(viewMatrix); + hemiLength++; + } + } + } + return { + setup, + setupView, + state + }; +} +function WebGLRenderState(extensions, capabilities) { + const lights = new WebGLLights(extensions, capabilities); + const lightsArray = []; + const shadowsArray = []; + function init4() { + lightsArray.length = 0; + shadowsArray.length = 0; + } + function pushLight(light) { + lightsArray.push(light); + } + function pushShadow(shadowLight) { + shadowsArray.push(shadowLight); + } + function setupLights(physicallyCorrectLights) { + lights.setup(lightsArray, physicallyCorrectLights); + } + function setupLightsView(camera3) { + lights.setupView(lightsArray, camera3); + } + const state = { + lightsArray, + shadowsArray, + lights + }; + return { + init: init4, + state, + setupLights, + setupLightsView, + pushLight, + pushShadow + }; +} +function WebGLRenderStates(extensions, capabilities) { + let renderStates = /* @__PURE__ */ new WeakMap(); + function get2(scene3, renderCallDepth = 0) { + const renderStateArray = renderStates.get(scene3); + let renderState; + if (renderStateArray === void 0) { + renderState = new WebGLRenderState(extensions, capabilities); + renderStates.set(scene3, [renderState]); + } else { + if (renderCallDepth >= renderStateArray.length) { + renderState = new WebGLRenderState(extensions, capabilities); + renderStateArray.push(renderState); + } else { + renderState = renderStateArray[renderCallDepth]; + } + } + return renderState; + } + function dispose() { + renderStates = /* @__PURE__ */ new WeakMap(); + } + return { + get: get2, + dispose + }; +} +var MeshDepthMaterial = class extends Material { + constructor(parameters) { + super(); + this.isMeshDepthMaterial = true; + this.type = "MeshDepthMaterial"; + this.depthPacking = BasicDepthPacking; + this.map = null; + this.alphaMap = null; + this.displacementMap = null; + this.displacementScale = 1; + this.displacementBias = 0; + this.wireframe = false; + this.wireframeLinewidth = 1; + this.setValues(parameters); + } + copy(source) { + super.copy(source); + this.depthPacking = source.depthPacking; + this.map = source.map; + this.alphaMap = source.alphaMap; + this.displacementMap = source.displacementMap; + this.displacementScale = source.displacementScale; + this.displacementBias = source.displacementBias; + this.wireframe = source.wireframe; + this.wireframeLinewidth = source.wireframeLinewidth; + return this; + } +}; +var MeshDistanceMaterial = class extends Material { + constructor(parameters) { + super(); + this.isMeshDistanceMaterial = true; + this.type = "MeshDistanceMaterial"; + this.referencePosition = new Vector3(); + this.nearDistance = 1; + this.farDistance = 1e3; + this.map = null; + this.alphaMap = null; + this.displacementMap = null; + this.displacementScale = 1; + this.displacementBias = 0; + this.setValues(parameters); + } + copy(source) { + super.copy(source); + this.referencePosition.copy(source.referencePosition); + this.nearDistance = source.nearDistance; + this.farDistance = source.farDistance; + this.map = source.map; + this.alphaMap = source.alphaMap; + this.displacementMap = source.displacementMap; + this.displacementScale = source.displacementScale; + this.displacementBias = source.displacementBias; + return this; + } +}; +var vertex = "void main() {\n gl_Position = vec4( position, 1.0 );\n}"; +var fragment = "uniform sampler2D shadow_pass;\nuniform vec2 resolution;\nuniform float radius;\n#include \nvoid main() {\n const float samples = float( VSM_SAMPLES );\n float mean = 0.0;\n float squared_mean = 0.0;\n float uvStride = samples <= 1.0 ? 0.0 : 2.0 / ( samples - 1.0 );\n float uvStart = samples <= 1.0 ? 0.0 : - 1.0;\n for ( float i = 0.0; i < samples; i ++ ) {\n float uvOffset = uvStart + i * uvStride;\n #ifdef HORIZONTAL_PASS\n vec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( uvOffset, 0.0 ) * radius ) / resolution ) );\n mean += distribution.x;\n squared_mean += distribution.y * distribution.y + distribution.x * distribution.x;\n #else\n float depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, uvOffset ) * radius ) / resolution ) );\n mean += depth;\n squared_mean += depth * depth;\n #endif\n }\n mean = mean / samples;\n squared_mean = squared_mean / samples;\n float std_dev = sqrt( squared_mean - mean * mean );\n gl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );\n}"; +function WebGLShadowMap(_renderer, _objects, _capabilities) { + let _frustum = new Frustum(); + const _shadowMapSize = new Vector2(), _viewportSize = new Vector2(), _viewport = new Vector4(), _depthMaterial = new MeshDepthMaterial({ depthPacking: RGBADepthPacking }), _distanceMaterial = new MeshDistanceMaterial(), _materialCache = {}, _maxTextureSize = _capabilities.maxTextureSize; + const shadowSide = { 0: BackSide, 1: FrontSide, 2: DoubleSide }; + const shadowMaterialVertical = new ShaderMaterial({ + defines: { + VSM_SAMPLES: 8 + }, + uniforms: { + shadow_pass: { value: null }, + resolution: { value: new Vector2() }, + radius: { value: 4 } + }, + vertexShader: vertex, + fragmentShader: fragment + }); + const shadowMaterialHorizontal = shadowMaterialVertical.clone(); + shadowMaterialHorizontal.defines.HORIZONTAL_PASS = 1; + const fullScreenTri = new BufferGeometry(); + fullScreenTri.setAttribute("position", new BufferAttribute(new Float32Array([-1, -1, 0.5, 3, -1, 0.5, -1, 3, 0.5]), 3)); + const fullScreenMesh = new Mesh(fullScreenTri, shadowMaterialVertical); + const scope = this; + this.enabled = false; + this.autoUpdate = true; + this.needsUpdate = false; + this.type = PCFShadowMap; + this.render = function(lights, scene3, camera3) { + if (scope.enabled === false) + return; + if (scope.autoUpdate === false && scope.needsUpdate === false) + return; + if (lights.length === 0) + return; + const currentRenderTarget = _renderer.getRenderTarget(); + const activeCubeFace = _renderer.getActiveCubeFace(); + const activeMipmapLevel = _renderer.getActiveMipmapLevel(); + const _state = _renderer.state; + _state.setBlending(NoBlending); + _state.buffers.color.setClear(1, 1, 1, 1); + _state.buffers.depth.setTest(true); + _state.setScissorTest(false); + for (let i = 0, il = lights.length; i < il; i++) { + const light = lights[i]; + const shadow = light.shadow; + if (shadow === void 0) { + console.warn("THREE.WebGLShadowMap:", light, "has no shadow."); + continue; + } + if (shadow.autoUpdate === false && shadow.needsUpdate === false) + continue; + _shadowMapSize.copy(shadow.mapSize); + const shadowFrameExtents = shadow.getFrameExtents(); + _shadowMapSize.multiply(shadowFrameExtents); + _viewportSize.copy(shadow.mapSize); + if (_shadowMapSize.x > _maxTextureSize || _shadowMapSize.y > _maxTextureSize) { + if (_shadowMapSize.x > _maxTextureSize) { + _viewportSize.x = Math.floor(_maxTextureSize / shadowFrameExtents.x); + _shadowMapSize.x = _viewportSize.x * shadowFrameExtents.x; + shadow.mapSize.x = _viewportSize.x; + } + if (_shadowMapSize.y > _maxTextureSize) { + _viewportSize.y = Math.floor(_maxTextureSize / shadowFrameExtents.y); + _shadowMapSize.y = _viewportSize.y * shadowFrameExtents.y; + shadow.mapSize.y = _viewportSize.y; + } + } + if (shadow.map === null) { + const pars = this.type !== VSMShadowMap ? { minFilter: NearestFilter, magFilter: NearestFilter } : {}; + shadow.map = new WebGLRenderTarget(_shadowMapSize.x, _shadowMapSize.y, pars); + shadow.map.texture.name = light.name + ".shadowMap"; + shadow.camera.updateProjectionMatrix(); + } + _renderer.setRenderTarget(shadow.map); + _renderer.clear(); + const viewportCount = shadow.getViewportCount(); + for (let vp = 0; vp < viewportCount; vp++) { + const viewport = shadow.getViewport(vp); + _viewport.set(_viewportSize.x * viewport.x, _viewportSize.y * viewport.y, _viewportSize.x * viewport.z, _viewportSize.y * viewport.w); + _state.viewport(_viewport); + shadow.updateMatrices(light, vp); + _frustum = shadow.getFrustum(); + renderObject(scene3, camera3, shadow.camera, light, this.type); + } + if (shadow.isPointLightShadow !== true && this.type === VSMShadowMap) { + VSMPass(shadow, camera3); + } + shadow.needsUpdate = false; + } + scope.needsUpdate = false; + _renderer.setRenderTarget(currentRenderTarget, activeCubeFace, activeMipmapLevel); + }; + function VSMPass(shadow, camera3) { + const geometry = _objects.update(fullScreenMesh); + if (shadowMaterialVertical.defines.VSM_SAMPLES !== shadow.blurSamples) { + shadowMaterialVertical.defines.VSM_SAMPLES = shadow.blurSamples; + shadowMaterialHorizontal.defines.VSM_SAMPLES = shadow.blurSamples; + shadowMaterialVertical.needsUpdate = true; + shadowMaterialHorizontal.needsUpdate = true; + } + if (shadow.mapPass === null) { + shadow.mapPass = new WebGLRenderTarget(_shadowMapSize.x, _shadowMapSize.y); + } + shadowMaterialVertical.uniforms.shadow_pass.value = shadow.map.texture; + shadowMaterialVertical.uniforms.resolution.value = shadow.mapSize; + shadowMaterialVertical.uniforms.radius.value = shadow.radius; + _renderer.setRenderTarget(shadow.mapPass); + _renderer.clear(); + _renderer.renderBufferDirect(camera3, null, geometry, shadowMaterialVertical, fullScreenMesh, null); + shadowMaterialHorizontal.uniforms.shadow_pass.value = shadow.mapPass.texture; + shadowMaterialHorizontal.uniforms.resolution.value = shadow.mapSize; + shadowMaterialHorizontal.uniforms.radius.value = shadow.radius; + _renderer.setRenderTarget(shadow.map); + _renderer.clear(); + _renderer.renderBufferDirect(camera3, null, geometry, shadowMaterialHorizontal, fullScreenMesh, null); + } + function getDepthMaterial(object, material, light, shadowCameraNear, shadowCameraFar, type) { + let result = null; + const customMaterial = light.isPointLight === true ? object.customDistanceMaterial : object.customDepthMaterial; + if (customMaterial !== void 0) { + result = customMaterial; + } else { + result = light.isPointLight === true ? _distanceMaterial : _depthMaterial; + } + if (_renderer.localClippingEnabled && material.clipShadows === true && Array.isArray(material.clippingPlanes) && material.clippingPlanes.length !== 0 || material.displacementMap && material.displacementScale !== 0 || material.alphaMap && material.alphaTest > 0) { + const keyA = result.uuid, keyB = material.uuid; + let materialsForVariant = _materialCache[keyA]; + if (materialsForVariant === void 0) { + materialsForVariant = {}; + _materialCache[keyA] = materialsForVariant; + } + let cachedMaterial = materialsForVariant[keyB]; + if (cachedMaterial === void 0) { + cachedMaterial = result.clone(); + materialsForVariant[keyB] = cachedMaterial; + } + result = cachedMaterial; + } + result.visible = material.visible; + result.wireframe = material.wireframe; + if (type === VSMShadowMap) { + result.side = material.shadowSide !== null ? material.shadowSide : material.side; + } else { + result.side = material.shadowSide !== null ? material.shadowSide : shadowSide[material.side]; + } + result.alphaMap = material.alphaMap; + result.alphaTest = material.alphaTest; + result.clipShadows = material.clipShadows; + result.clippingPlanes = material.clippingPlanes; + result.clipIntersection = material.clipIntersection; + result.displacementMap = material.displacementMap; + result.displacementScale = material.displacementScale; + result.displacementBias = material.displacementBias; + result.wireframeLinewidth = material.wireframeLinewidth; + result.linewidth = material.linewidth; + if (light.isPointLight === true && result.isMeshDistanceMaterial === true) { + result.referencePosition.setFromMatrixPosition(light.matrixWorld); + result.nearDistance = shadowCameraNear; + result.farDistance = shadowCameraFar; + } + return result; + } + function renderObject(object, camera3, shadowCamera, light, type) { + if (object.visible === false) + return; + const visible = object.layers.test(camera3.layers); + if (visible && (object.isMesh || object.isLine || object.isPoints)) { + if ((object.castShadow || object.receiveShadow && type === VSMShadowMap) && (!object.frustumCulled || _frustum.intersectsObject(object))) { + object.modelViewMatrix.multiplyMatrices(shadowCamera.matrixWorldInverse, object.matrixWorld); + const geometry = _objects.update(object); + const material = object.material; + if (Array.isArray(material)) { + const groups = geometry.groups; + for (let k = 0, kl = groups.length; k < kl; k++) { + const group = groups[k]; + const groupMaterial = material[group.materialIndex]; + if (groupMaterial && groupMaterial.visible) { + const depthMaterial = getDepthMaterial(object, groupMaterial, light, shadowCamera.near, shadowCamera.far, type); + _renderer.renderBufferDirect(shadowCamera, null, geometry, depthMaterial, object, group); + } + } + } else if (material.visible) { + const depthMaterial = getDepthMaterial(object, material, light, shadowCamera.near, shadowCamera.far, type); + _renderer.renderBufferDirect(shadowCamera, null, geometry, depthMaterial, object, null); + } + } + } + const children = object.children; + for (let i = 0, l = children.length; i < l; i++) { + renderObject(children[i], camera3, shadowCamera, light, type); + } + } +} +function WebGLState(gl, extensions, capabilities) { + const isWebGL2 = capabilities.isWebGL2; + function ColorBuffer() { + let locked = false; + const color = new Vector4(); + let currentColorMask = null; + const currentColorClear = new Vector4(0, 0, 0, 0); + return { + setMask: function(colorMask) { + if (currentColorMask !== colorMask && !locked) { + gl.colorMask(colorMask, colorMask, colorMask, colorMask); + currentColorMask = colorMask; + } + }, + setLocked: function(lock) { + locked = lock; + }, + setClear: function(r, g, b, a2, premultipliedAlpha) { + if (premultipliedAlpha === true) { + r *= a2; + g *= a2; + b *= a2; + } + color.set(r, g, b, a2); + if (currentColorClear.equals(color) === false) { + gl.clearColor(r, g, b, a2); + currentColorClear.copy(color); + } + }, + reset: function() { + locked = false; + currentColorMask = null; + currentColorClear.set(-1, 0, 0, 0); + } + }; + } + function DepthBuffer() { + let locked = false; + let currentDepthMask = null; + let currentDepthFunc = null; + let currentDepthClear = null; + return { + setTest: function(depthTest) { + if (depthTest) { + enable(2929); + } else { + disable(2929); + } + }, + setMask: function(depthMask) { + if (currentDepthMask !== depthMask && !locked) { + gl.depthMask(depthMask); + currentDepthMask = depthMask; + } + }, + setFunc: function(depthFunc) { + if (currentDepthFunc !== depthFunc) { + switch (depthFunc) { + case NeverDepth: + gl.depthFunc(512); + break; + case AlwaysDepth: + gl.depthFunc(519); + break; + case LessDepth: + gl.depthFunc(513); + break; + case LessEqualDepth: + gl.depthFunc(515); + break; + case EqualDepth: + gl.depthFunc(514); + break; + case GreaterEqualDepth: + gl.depthFunc(518); + break; + case GreaterDepth: + gl.depthFunc(516); + break; + case NotEqualDepth: + gl.depthFunc(517); + break; + default: + gl.depthFunc(515); + } + currentDepthFunc = depthFunc; + } + }, + setLocked: function(lock) { + locked = lock; + }, + setClear: function(depth) { + if (currentDepthClear !== depth) { + gl.clearDepth(depth); + currentDepthClear = depth; + } + }, + reset: function() { + locked = false; + currentDepthMask = null; + currentDepthFunc = null; + currentDepthClear = null; + } + }; + } + function StencilBuffer() { + let locked = false; + let currentStencilMask = null; + let currentStencilFunc = null; + let currentStencilRef = null; + let currentStencilFuncMask = null; + let currentStencilFail = null; + let currentStencilZFail = null; + let currentStencilZPass = null; + let currentStencilClear = null; + return { + setTest: function(stencilTest) { + if (!locked) { + if (stencilTest) { + enable(2960); + } else { + disable(2960); + } + } + }, + setMask: function(stencilMask) { + if (currentStencilMask !== stencilMask && !locked) { + gl.stencilMask(stencilMask); + currentStencilMask = stencilMask; + } + }, + setFunc: function(stencilFunc, stencilRef, stencilMask) { + if (currentStencilFunc !== stencilFunc || currentStencilRef !== stencilRef || currentStencilFuncMask !== stencilMask) { + gl.stencilFunc(stencilFunc, stencilRef, stencilMask); + currentStencilFunc = stencilFunc; + currentStencilRef = stencilRef; + currentStencilFuncMask = stencilMask; + } + }, + setOp: function(stencilFail, stencilZFail, stencilZPass) { + if (currentStencilFail !== stencilFail || currentStencilZFail !== stencilZFail || currentStencilZPass !== stencilZPass) { + gl.stencilOp(stencilFail, stencilZFail, stencilZPass); + currentStencilFail = stencilFail; + currentStencilZFail = stencilZFail; + currentStencilZPass = stencilZPass; + } + }, + setLocked: function(lock) { + locked = lock; + }, + setClear: function(stencil) { + if (currentStencilClear !== stencil) { + gl.clearStencil(stencil); + currentStencilClear = stencil; + } + }, + reset: function() { + locked = false; + currentStencilMask = null; + currentStencilFunc = null; + currentStencilRef = null; + currentStencilFuncMask = null; + currentStencilFail = null; + currentStencilZFail = null; + currentStencilZPass = null; + currentStencilClear = null; + } + }; + } + const colorBuffer = new ColorBuffer(); + const depthBuffer = new DepthBuffer(); + const stencilBuffer = new StencilBuffer(); + const uboBindings = /* @__PURE__ */ new WeakMap(); + const uboProgamMap = /* @__PURE__ */ new WeakMap(); + let enabledCapabilities = {}; + let currentBoundFramebuffers = {}; + let currentDrawbuffers = /* @__PURE__ */ new WeakMap(); + let defaultDrawbuffers = []; + let currentProgram = null; + let currentBlendingEnabled = false; + let currentBlending = null; + let currentBlendEquation = null; + let currentBlendSrc = null; + let currentBlendDst = null; + let currentBlendEquationAlpha = null; + let currentBlendSrcAlpha = null; + let currentBlendDstAlpha = null; + let currentPremultipledAlpha = false; + let currentFlipSided = null; + let currentCullFace = null; + let currentLineWidth = null; + let currentPolygonOffsetFactor = null; + let currentPolygonOffsetUnits = null; + const maxTextures = gl.getParameter(35661); + let lineWidthAvailable = false; + let version = 0; + const glVersion = gl.getParameter(7938); + if (glVersion.indexOf("WebGL") !== -1) { + version = parseFloat(/^WebGL (\d)/.exec(glVersion)[1]); + lineWidthAvailable = version >= 1; + } else if (glVersion.indexOf("OpenGL ES") !== -1) { + version = parseFloat(/^OpenGL ES (\d)/.exec(glVersion)[1]); + lineWidthAvailable = version >= 2; + } + let currentTextureSlot = null; + let currentBoundTextures = {}; + const scissorParam = gl.getParameter(3088); + const viewportParam = gl.getParameter(2978); + const currentScissor = new Vector4().fromArray(scissorParam); + const currentViewport = new Vector4().fromArray(viewportParam); + function createTexture(type, target, count) { + const data = new Uint8Array(4); + const texture = gl.createTexture(); + gl.bindTexture(type, texture); + gl.texParameteri(type, 10241, 9728); + gl.texParameteri(type, 10240, 9728); + for (let i = 0; i < count; i++) { + gl.texImage2D(target + i, 0, 6408, 1, 1, 0, 6408, 5121, data); + } + return texture; + } + const emptyTextures = {}; + emptyTextures[3553] = createTexture(3553, 3553, 1); + emptyTextures[34067] = createTexture(34067, 34069, 6); + colorBuffer.setClear(0, 0, 0, 1); + depthBuffer.setClear(1); + stencilBuffer.setClear(0); + enable(2929); + depthBuffer.setFunc(LessEqualDepth); + setFlipSided(false); + setCullFace(CullFaceBack); + enable(2884); + setBlending(NoBlending); + function enable(id) { + if (enabledCapabilities[id] !== true) { + gl.enable(id); + enabledCapabilities[id] = true; + } + } + function disable(id) { + if (enabledCapabilities[id] !== false) { + gl.disable(id); + enabledCapabilities[id] = false; + } + } + function bindFramebuffer(target, framebuffer) { + if (currentBoundFramebuffers[target] !== framebuffer) { + gl.bindFramebuffer(target, framebuffer); + currentBoundFramebuffers[target] = framebuffer; + if (isWebGL2) { + if (target === 36009) { + currentBoundFramebuffers[36160] = framebuffer; + } + if (target === 36160) { + currentBoundFramebuffers[36009] = framebuffer; + } + } + return true; + } + return false; + } + function drawBuffers(renderTarget, framebuffer) { + let drawBuffers2 = defaultDrawbuffers; + let needsUpdate = false; + if (renderTarget) { + drawBuffers2 = currentDrawbuffers.get(framebuffer); + if (drawBuffers2 === void 0) { + drawBuffers2 = []; + currentDrawbuffers.set(framebuffer, drawBuffers2); + } + if (renderTarget.isWebGLMultipleRenderTargets) { + const textures = renderTarget.texture; + if (drawBuffers2.length !== textures.length || drawBuffers2[0] !== 36064) { + for (let i = 0, il = textures.length; i < il; i++) { + drawBuffers2[i] = 36064 + i; + } + drawBuffers2.length = textures.length; + needsUpdate = true; + } + } else { + if (drawBuffers2[0] !== 36064) { + drawBuffers2[0] = 36064; + needsUpdate = true; + } + } + } else { + if (drawBuffers2[0] !== 1029) { + drawBuffers2[0] = 1029; + needsUpdate = true; + } + } + if (needsUpdate) { + if (capabilities.isWebGL2) { + gl.drawBuffers(drawBuffers2); + } else { + extensions.get("WEBGL_draw_buffers").drawBuffersWEBGL(drawBuffers2); + } + } + } + function useProgram(program) { + if (currentProgram !== program) { + gl.useProgram(program); + currentProgram = program; + return true; + } + return false; + } + const equationToGL = { + [AddEquation]: 32774, + [SubtractEquation]: 32778, + [ReverseSubtractEquation]: 32779 + }; + if (isWebGL2) { + equationToGL[MinEquation] = 32775; + equationToGL[MaxEquation] = 32776; + } else { + const extension = extensions.get("EXT_blend_minmax"); + if (extension !== null) { + equationToGL[MinEquation] = extension.MIN_EXT; + equationToGL[MaxEquation] = extension.MAX_EXT; + } + } + const factorToGL = { + [ZeroFactor]: 0, + [OneFactor]: 1, + [SrcColorFactor]: 768, + [SrcAlphaFactor]: 770, + [SrcAlphaSaturateFactor]: 776, + [DstColorFactor]: 774, + [DstAlphaFactor]: 772, + [OneMinusSrcColorFactor]: 769, + [OneMinusSrcAlphaFactor]: 771, + [OneMinusDstColorFactor]: 775, + [OneMinusDstAlphaFactor]: 773 + }; + function setBlending(blending, blendEquation, blendSrc, blendDst, blendEquationAlpha, blendSrcAlpha, blendDstAlpha, premultipliedAlpha) { + if (blending === NoBlending) { + if (currentBlendingEnabled === true) { + disable(3042); + currentBlendingEnabled = false; + } + return; + } + if (currentBlendingEnabled === false) { + enable(3042); + currentBlendingEnabled = true; + } + if (blending !== CustomBlending) { + if (blending !== currentBlending || premultipliedAlpha !== currentPremultipledAlpha) { + if (currentBlendEquation !== AddEquation || currentBlendEquationAlpha !== AddEquation) { + gl.blendEquation(32774); + currentBlendEquation = AddEquation; + currentBlendEquationAlpha = AddEquation; + } + if (premultipliedAlpha) { + switch (blending) { + case NormalBlending: + gl.blendFuncSeparate(1, 771, 1, 771); + break; + case AdditiveBlending: + gl.blendFunc(1, 1); + break; + case SubtractiveBlending: + gl.blendFuncSeparate(0, 769, 0, 1); + break; + case MultiplyBlending: + gl.blendFuncSeparate(0, 768, 0, 770); + break; + default: + console.error("THREE.WebGLState: Invalid blending: ", blending); + break; + } + } else { + switch (blending) { + case NormalBlending: + gl.blendFuncSeparate(770, 771, 1, 771); + break; + case AdditiveBlending: + gl.blendFunc(770, 1); + break; + case SubtractiveBlending: + gl.blendFuncSeparate(0, 769, 0, 1); + break; + case MultiplyBlending: + gl.blendFunc(0, 768); + break; + default: + console.error("THREE.WebGLState: Invalid blending: ", blending); + break; + } + } + currentBlendSrc = null; + currentBlendDst = null; + currentBlendSrcAlpha = null; + currentBlendDstAlpha = null; + currentBlending = blending; + currentPremultipledAlpha = premultipliedAlpha; + } + return; + } + blendEquationAlpha = blendEquationAlpha || blendEquation; + blendSrcAlpha = blendSrcAlpha || blendSrc; + blendDstAlpha = blendDstAlpha || blendDst; + if (blendEquation !== currentBlendEquation || blendEquationAlpha !== currentBlendEquationAlpha) { + gl.blendEquationSeparate(equationToGL[blendEquation], equationToGL[blendEquationAlpha]); + currentBlendEquation = blendEquation; + currentBlendEquationAlpha = blendEquationAlpha; + } + if (blendSrc !== currentBlendSrc || blendDst !== currentBlendDst || blendSrcAlpha !== currentBlendSrcAlpha || blendDstAlpha !== currentBlendDstAlpha) { + gl.blendFuncSeparate(factorToGL[blendSrc], factorToGL[blendDst], factorToGL[blendSrcAlpha], factorToGL[blendDstAlpha]); + currentBlendSrc = blendSrc; + currentBlendDst = blendDst; + currentBlendSrcAlpha = blendSrcAlpha; + currentBlendDstAlpha = blendDstAlpha; + } + currentBlending = blending; + currentPremultipledAlpha = null; + } + function setMaterial(material, frontFaceCW) { + material.side === DoubleSide ? disable(2884) : enable(2884); + let flipSided = material.side === BackSide; + if (frontFaceCW) + flipSided = !flipSided; + setFlipSided(flipSided); + material.blending === NormalBlending && material.transparent === false ? setBlending(NoBlending) : setBlending(material.blending, material.blendEquation, material.blendSrc, material.blendDst, material.blendEquationAlpha, material.blendSrcAlpha, material.blendDstAlpha, material.premultipliedAlpha); + depthBuffer.setFunc(material.depthFunc); + depthBuffer.setTest(material.depthTest); + depthBuffer.setMask(material.depthWrite); + colorBuffer.setMask(material.colorWrite); + const stencilWrite = material.stencilWrite; + stencilBuffer.setTest(stencilWrite); + if (stencilWrite) { + stencilBuffer.setMask(material.stencilWriteMask); + stencilBuffer.setFunc(material.stencilFunc, material.stencilRef, material.stencilFuncMask); + stencilBuffer.setOp(material.stencilFail, material.stencilZFail, material.stencilZPass); + } + setPolygonOffset(material.polygonOffset, material.polygonOffsetFactor, material.polygonOffsetUnits); + material.alphaToCoverage === true ? enable(32926) : disable(32926); + } + function setFlipSided(flipSided) { + if (currentFlipSided !== flipSided) { + if (flipSided) { + gl.frontFace(2304); + } else { + gl.frontFace(2305); + } + currentFlipSided = flipSided; + } + } + function setCullFace(cullFace) { + if (cullFace !== CullFaceNone) { + enable(2884); + if (cullFace !== currentCullFace) { + if (cullFace === CullFaceBack) { + gl.cullFace(1029); + } else if (cullFace === CullFaceFront) { + gl.cullFace(1028); + } else { + gl.cullFace(1032); + } + } + } else { + disable(2884); + } + currentCullFace = cullFace; + } + function setLineWidth(width) { + if (width !== currentLineWidth) { + if (lineWidthAvailable) + gl.lineWidth(width); + currentLineWidth = width; + } + } + function setPolygonOffset(polygonOffset, factor, units) { + if (polygonOffset) { + enable(32823); + if (currentPolygonOffsetFactor !== factor || currentPolygonOffsetUnits !== units) { + gl.polygonOffset(factor, units); + currentPolygonOffsetFactor = factor; + currentPolygonOffsetUnits = units; + } + } else { + disable(32823); + } + } + function setScissorTest(scissorTest) { + if (scissorTest) { + enable(3089); + } else { + disable(3089); + } + } + function activeTexture(webglSlot) { + if (webglSlot === void 0) + webglSlot = 33984 + maxTextures - 1; + if (currentTextureSlot !== webglSlot) { + gl.activeTexture(webglSlot); + currentTextureSlot = webglSlot; + } + } + function bindTexture(webglType, webglTexture, webglSlot) { + if (webglSlot === void 0) { + if (currentTextureSlot === null) { + webglSlot = 33984 + maxTextures - 1; + } else { + webglSlot = currentTextureSlot; + } + } + let boundTexture = currentBoundTextures[webglSlot]; + if (boundTexture === void 0) { + boundTexture = { type: void 0, texture: void 0 }; + currentBoundTextures[webglSlot] = boundTexture; + } + if (boundTexture.type !== webglType || boundTexture.texture !== webglTexture) { + if (currentTextureSlot !== webglSlot) { + gl.activeTexture(webglSlot); + currentTextureSlot = webglSlot; + } + gl.bindTexture(webglType, webglTexture || emptyTextures[webglType]); + boundTexture.type = webglType; + boundTexture.texture = webglTexture; + } + } + function unbindTexture() { + const boundTexture = currentBoundTextures[currentTextureSlot]; + if (boundTexture !== void 0 && boundTexture.type !== void 0) { + gl.bindTexture(boundTexture.type, null); + boundTexture.type = void 0; + boundTexture.texture = void 0; + } + } + function compressedTexImage2D() { + try { + gl.compressedTexImage2D.apply(gl, arguments); + } catch (error) { + console.error("THREE.WebGLState:", error); + } + } + function compressedTexImage3D() { + try { + gl.compressedTexImage3D.apply(gl, arguments); + } catch (error) { + console.error("THREE.WebGLState:", error); + } + } + function texSubImage2D() { + try { + gl.texSubImage2D.apply(gl, arguments); + } catch (error) { + console.error("THREE.WebGLState:", error); + } + } + function texSubImage3D() { + try { + gl.texSubImage3D.apply(gl, arguments); + } catch (error) { + console.error("THREE.WebGLState:", error); + } + } + function compressedTexSubImage2D() { + try { + gl.compressedTexSubImage2D.apply(gl, arguments); + } catch (error) { + console.error("THREE.WebGLState:", error); + } + } + function compressedTexSubImage3D() { + try { + gl.compressedTexSubImage3D.apply(gl, arguments); + } catch (error) { + console.error("THREE.WebGLState:", error); + } + } + function texStorage2D() { + try { + gl.texStorage2D.apply(gl, arguments); + } catch (error) { + console.error("THREE.WebGLState:", error); + } + } + function texStorage3D() { + try { + gl.texStorage3D.apply(gl, arguments); + } catch (error) { + console.error("THREE.WebGLState:", error); + } + } + function texImage2D() { + try { + gl.texImage2D.apply(gl, arguments); + } catch (error) { + console.error("THREE.WebGLState:", error); + } + } + function texImage3D() { + try { + gl.texImage3D.apply(gl, arguments); + } catch (error) { + console.error("THREE.WebGLState:", error); + } + } + function scissor(scissor2) { + if (currentScissor.equals(scissor2) === false) { + gl.scissor(scissor2.x, scissor2.y, scissor2.z, scissor2.w); + currentScissor.copy(scissor2); + } + } + function viewport(viewport2) { + if (currentViewport.equals(viewport2) === false) { + gl.viewport(viewport2.x, viewport2.y, viewport2.z, viewport2.w); + currentViewport.copy(viewport2); + } + } + function updateUBOMapping(uniformsGroup, program) { + let mapping = uboProgamMap.get(program); + if (mapping === void 0) { + mapping = /* @__PURE__ */ new WeakMap(); + uboProgamMap.set(program, mapping); + } + let blockIndex = mapping.get(uniformsGroup); + if (blockIndex === void 0) { + blockIndex = gl.getUniformBlockIndex(program, uniformsGroup.name); + mapping.set(uniformsGroup, blockIndex); + } + } + function uniformBlockBinding(uniformsGroup, program) { + const mapping = uboProgamMap.get(program); + const blockIndex = mapping.get(uniformsGroup); + if (uboBindings.get(uniformsGroup) !== blockIndex) { + gl.uniformBlockBinding(program, blockIndex, uniformsGroup.__bindingPointIndex); + uboBindings.set(uniformsGroup, blockIndex); + } + } + function reset() { + gl.disable(3042); + gl.disable(2884); + gl.disable(2929); + gl.disable(32823); + gl.disable(3089); + gl.disable(2960); + gl.disable(32926); + gl.blendEquation(32774); + gl.blendFunc(1, 0); + gl.blendFuncSeparate(1, 0, 1, 0); + gl.colorMask(true, true, true, true); + gl.clearColor(0, 0, 0, 0); + gl.depthMask(true); + gl.depthFunc(513); + gl.clearDepth(1); + gl.stencilMask(4294967295); + gl.stencilFunc(519, 0, 4294967295); + gl.stencilOp(7680, 7680, 7680); + gl.clearStencil(0); + gl.cullFace(1029); + gl.frontFace(2305); + gl.polygonOffset(0, 0); + gl.activeTexture(33984); + gl.bindFramebuffer(36160, null); + if (isWebGL2 === true) { + gl.bindFramebuffer(36009, null); + gl.bindFramebuffer(36008, null); + } + gl.useProgram(null); + gl.lineWidth(1); + gl.scissor(0, 0, gl.canvas.width, gl.canvas.height); + gl.viewport(0, 0, gl.canvas.width, gl.canvas.height); + enabledCapabilities = {}; + currentTextureSlot = null; + currentBoundTextures = {}; + currentBoundFramebuffers = {}; + currentDrawbuffers = /* @__PURE__ */ new WeakMap(); + defaultDrawbuffers = []; + currentProgram = null; + currentBlendingEnabled = false; + currentBlending = null; + currentBlendEquation = null; + currentBlendSrc = null; + currentBlendDst = null; + currentBlendEquationAlpha = null; + currentBlendSrcAlpha = null; + currentBlendDstAlpha = null; + currentPremultipledAlpha = false; + currentFlipSided = null; + currentCullFace = null; + currentLineWidth = null; + currentPolygonOffsetFactor = null; + currentPolygonOffsetUnits = null; + currentScissor.set(0, 0, gl.canvas.width, gl.canvas.height); + currentViewport.set(0, 0, gl.canvas.width, gl.canvas.height); + colorBuffer.reset(); + depthBuffer.reset(); + stencilBuffer.reset(); + } + return { + buffers: { + color: colorBuffer, + depth: depthBuffer, + stencil: stencilBuffer + }, + enable, + disable, + bindFramebuffer, + drawBuffers, + useProgram, + setBlending, + setMaterial, + setFlipSided, + setCullFace, + setLineWidth, + setPolygonOffset, + setScissorTest, + activeTexture, + bindTexture, + unbindTexture, + compressedTexImage2D, + compressedTexImage3D, + texImage2D, + texImage3D, + updateUBOMapping, + uniformBlockBinding, + texStorage2D, + texStorage3D, + texSubImage2D, + texSubImage3D, + compressedTexSubImage2D, + compressedTexSubImage3D, + scissor, + viewport, + reset + }; +} +function WebGLTextures(_gl, extensions, state, properties, capabilities, utils, info) { + const isWebGL2 = capabilities.isWebGL2; + const maxTextures = capabilities.maxTextures; + const maxCubemapSize = capabilities.maxCubemapSize; + const maxTextureSize = capabilities.maxTextureSize; + const maxSamples = capabilities.maxSamples; + const multisampledRTTExt = extensions.has("WEBGL_multisampled_render_to_texture") ? extensions.get("WEBGL_multisampled_render_to_texture") : null; + const supportsInvalidateFramebuffer = /OculusBrowser/g.test(typeof navigator === "undefined" ? "" : navigator.userAgent); + const _videoTextures = /* @__PURE__ */ new WeakMap(); + let _canvas2; + const _sources = /* @__PURE__ */ new WeakMap(); + let useOffscreenCanvas = false; + try { + useOffscreenCanvas = typeof OffscreenCanvas !== "undefined" && new OffscreenCanvas(1, 1).getContext("2d") !== null; + } catch (err) { + } + function createCanvas(width, height) { + return useOffscreenCanvas ? new OffscreenCanvas(width, height) : createElementNS("canvas"); + } + function resizeImage(image, needsPowerOfTwo, needsNewCanvas, maxSize) { + let scale = 1; + if (image.width > maxSize || image.height > maxSize) { + scale = maxSize / Math.max(image.width, image.height); + } + if (scale < 1 || needsPowerOfTwo === true) { + if (typeof HTMLImageElement !== "undefined" && image instanceof HTMLImageElement || typeof HTMLCanvasElement !== "undefined" && image instanceof HTMLCanvasElement || typeof ImageBitmap !== "undefined" && image instanceof ImageBitmap) { + const floor = needsPowerOfTwo ? floorPowerOfTwo : Math.floor; + const width = floor(scale * image.width); + const height = floor(scale * image.height); + if (_canvas2 === void 0) + _canvas2 = createCanvas(width, height); + const canvas = needsNewCanvas ? createCanvas(width, height) : _canvas2; + canvas.width = width; + canvas.height = height; + const context = canvas.getContext("2d"); + context.drawImage(image, 0, 0, width, height); + console.warn("THREE.WebGLRenderer: Texture has been resized from (" + image.width + "x" + image.height + ") to (" + width + "x" + height + ")."); + return canvas; + } else { + if ("data" in image) { + console.warn("THREE.WebGLRenderer: Image in DataTexture is too big (" + image.width + "x" + image.height + ")."); + } + return image; + } + } + return image; + } + function isPowerOfTwo$1(image) { + return isPowerOfTwo(image.width) && isPowerOfTwo(image.height); + } + function textureNeedsPowerOfTwo(texture) { + if (isWebGL2) + return false; + return texture.wrapS !== ClampToEdgeWrapping || texture.wrapT !== ClampToEdgeWrapping || texture.minFilter !== NearestFilter && texture.minFilter !== LinearFilter; + } + function textureNeedsGenerateMipmaps(texture, supportsMips) { + return texture.generateMipmaps && supportsMips && texture.minFilter !== NearestFilter && texture.minFilter !== LinearFilter; + } + function generateMipmap(target) { + _gl.generateMipmap(target); + } + function getInternalFormat(internalFormatName, glFormat, glType, encoding, forceLinearEncoding = false) { + if (isWebGL2 === false) + return glFormat; + if (internalFormatName !== null) { + if (_gl[internalFormatName] !== void 0) + return _gl[internalFormatName]; + console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '" + internalFormatName + "'"); + } + let internalFormat = glFormat; + if (glFormat === 6403) { + if (glType === 5126) + internalFormat = 33326; + if (glType === 5131) + internalFormat = 33325; + if (glType === 5121) + internalFormat = 33321; + } + if (glFormat === 33319) { + if (glType === 5126) + internalFormat = 33328; + if (glType === 5131) + internalFormat = 33327; + if (glType === 5121) + internalFormat = 33323; + } + if (glFormat === 6408) { + if (glType === 5126) + internalFormat = 34836; + if (glType === 5131) + internalFormat = 34842; + if (glType === 5121) + internalFormat = encoding === sRGBEncoding && forceLinearEncoding === false ? 35907 : 32856; + if (glType === 32819) + internalFormat = 32854; + if (glType === 32820) + internalFormat = 32855; + } + if (internalFormat === 33325 || internalFormat === 33326 || internalFormat === 33327 || internalFormat === 33328 || internalFormat === 34842 || internalFormat === 34836) { + extensions.get("EXT_color_buffer_float"); + } + return internalFormat; + } + function getMipLevels(texture, image, supportsMips) { + if (textureNeedsGenerateMipmaps(texture, supportsMips) === true || texture.isFramebufferTexture && texture.minFilter !== NearestFilter && texture.minFilter !== LinearFilter) { + return Math.log2(Math.max(image.width, image.height)) + 1; + } else if (texture.mipmaps !== void 0 && texture.mipmaps.length > 0) { + return texture.mipmaps.length; + } else if (texture.isCompressedTexture && Array.isArray(texture.image)) { + return image.mipmaps.length; + } else { + return 1; + } + } + function filterFallback(f) { + if (f === NearestFilter || f === NearestMipmapNearestFilter || f === NearestMipmapLinearFilter) { + return 9728; + } + return 9729; + } + function onTextureDispose(event) { + const texture = event.target; + texture.removeEventListener("dispose", onTextureDispose); + deallocateTexture(texture); + if (texture.isVideoTexture) { + _videoTextures.delete(texture); + } + } + function onRenderTargetDispose(event) { + const renderTarget = event.target; + renderTarget.removeEventListener("dispose", onRenderTargetDispose); + deallocateRenderTarget(renderTarget); + } + function deallocateTexture(texture) { + const textureProperties = properties.get(texture); + if (textureProperties.__webglInit === void 0) + return; + const source = texture.source; + const webglTextures = _sources.get(source); + if (webglTextures) { + const webglTexture = webglTextures[textureProperties.__cacheKey]; + webglTexture.usedTimes--; + if (webglTexture.usedTimes === 0) { + deleteTexture(texture); + } + if (Object.keys(webglTextures).length === 0) { + _sources.delete(source); + } + } + properties.remove(texture); + } + function deleteTexture(texture) { + const textureProperties = properties.get(texture); + _gl.deleteTexture(textureProperties.__webglTexture); + const source = texture.source; + const webglTextures = _sources.get(source); + delete webglTextures[textureProperties.__cacheKey]; + info.memory.textures--; + } + function deallocateRenderTarget(renderTarget) { + const texture = renderTarget.texture; + const renderTargetProperties = properties.get(renderTarget); + const textureProperties = properties.get(texture); + if (textureProperties.__webglTexture !== void 0) { + _gl.deleteTexture(textureProperties.__webglTexture); + info.memory.textures--; + } + if (renderTarget.depthTexture) { + renderTarget.depthTexture.dispose(); + } + if (renderTarget.isWebGLCubeRenderTarget) { + for (let i = 0; i < 6; i++) { + _gl.deleteFramebuffer(renderTargetProperties.__webglFramebuffer[i]); + if (renderTargetProperties.__webglDepthbuffer) + _gl.deleteRenderbuffer(renderTargetProperties.__webglDepthbuffer[i]); + } + } else { + _gl.deleteFramebuffer(renderTargetProperties.__webglFramebuffer); + if (renderTargetProperties.__webglDepthbuffer) + _gl.deleteRenderbuffer(renderTargetProperties.__webglDepthbuffer); + if (renderTargetProperties.__webglMultisampledFramebuffer) + _gl.deleteFramebuffer(renderTargetProperties.__webglMultisampledFramebuffer); + if (renderTargetProperties.__webglColorRenderbuffer) { + for (let i = 0; i < renderTargetProperties.__webglColorRenderbuffer.length; i++) { + if (renderTargetProperties.__webglColorRenderbuffer[i]) + _gl.deleteRenderbuffer(renderTargetProperties.__webglColorRenderbuffer[i]); + } + } + if (renderTargetProperties.__webglDepthRenderbuffer) + _gl.deleteRenderbuffer(renderTargetProperties.__webglDepthRenderbuffer); + } + if (renderTarget.isWebGLMultipleRenderTargets) { + for (let i = 0, il = texture.length; i < il; i++) { + const attachmentProperties = properties.get(texture[i]); + if (attachmentProperties.__webglTexture) { + _gl.deleteTexture(attachmentProperties.__webglTexture); + info.memory.textures--; + } + properties.remove(texture[i]); + } + } + properties.remove(texture); + properties.remove(renderTarget); + } + let textureUnits = 0; + function resetTextureUnits() { + textureUnits = 0; + } + function allocateTextureUnit() { + const textureUnit = textureUnits; + if (textureUnit >= maxTextures) { + console.warn("THREE.WebGLTextures: Trying to use " + textureUnit + " texture units while this GPU supports only " + maxTextures); + } + textureUnits += 1; + return textureUnit; + } + function getTextureCacheKey(texture) { + const array = []; + array.push(texture.wrapS); + array.push(texture.wrapT); + array.push(texture.wrapR || 0); + array.push(texture.magFilter); + array.push(texture.minFilter); + array.push(texture.anisotropy); + array.push(texture.internalFormat); + array.push(texture.format); + array.push(texture.type); + array.push(texture.generateMipmaps); + array.push(texture.premultiplyAlpha); + array.push(texture.flipY); + array.push(texture.unpackAlignment); + array.push(texture.encoding); + return array.join(); + } + function setTexture2D(texture, slot) { + const textureProperties = properties.get(texture); + if (texture.isVideoTexture) + updateVideoTexture(texture); + if (texture.isRenderTargetTexture === false && texture.version > 0 && textureProperties.__version !== texture.version) { + const image = texture.image; + if (image === null) { + console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found."); + } else if (image.complete === false) { + console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete"); + } else { + uploadTexture(textureProperties, texture, slot); + return; + } + } + state.bindTexture(3553, textureProperties.__webglTexture, 33984 + slot); + } + function setTexture2DArray(texture, slot) { + const textureProperties = properties.get(texture); + if (texture.version > 0 && textureProperties.__version !== texture.version) { + uploadTexture(textureProperties, texture, slot); + return; + } + state.bindTexture(35866, textureProperties.__webglTexture, 33984 + slot); + } + function setTexture3D(texture, slot) { + const textureProperties = properties.get(texture); + if (texture.version > 0 && textureProperties.__version !== texture.version) { + uploadTexture(textureProperties, texture, slot); + return; + } + state.bindTexture(32879, textureProperties.__webglTexture, 33984 + slot); + } + function setTextureCube(texture, slot) { + const textureProperties = properties.get(texture); + if (texture.version > 0 && textureProperties.__version !== texture.version) { + uploadCubeTexture(textureProperties, texture, slot); + return; + } + state.bindTexture(34067, textureProperties.__webglTexture, 33984 + slot); + } + const wrappingToGL = { + [RepeatWrapping]: 10497, + [ClampToEdgeWrapping]: 33071, + [MirroredRepeatWrapping]: 33648 + }; + const filterToGL = { + [NearestFilter]: 9728, + [NearestMipmapNearestFilter]: 9984, + [NearestMipmapLinearFilter]: 9986, + [LinearFilter]: 9729, + [LinearMipmapNearestFilter]: 9985, + [LinearMipmapLinearFilter]: 9987 + }; + function setTextureParameters(textureType, texture, supportsMips) { + if (supportsMips) { + _gl.texParameteri(textureType, 10242, wrappingToGL[texture.wrapS]); + _gl.texParameteri(textureType, 10243, wrappingToGL[texture.wrapT]); + if (textureType === 32879 || textureType === 35866) { + _gl.texParameteri(textureType, 32882, wrappingToGL[texture.wrapR]); + } + _gl.texParameteri(textureType, 10240, filterToGL[texture.magFilter]); + _gl.texParameteri(textureType, 10241, filterToGL[texture.minFilter]); + } else { + _gl.texParameteri(textureType, 10242, 33071); + _gl.texParameteri(textureType, 10243, 33071); + if (textureType === 32879 || textureType === 35866) { + _gl.texParameteri(textureType, 32882, 33071); + } + if (texture.wrapS !== ClampToEdgeWrapping || texture.wrapT !== ClampToEdgeWrapping) { + console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."); + } + _gl.texParameteri(textureType, 10240, filterFallback(texture.magFilter)); + _gl.texParameteri(textureType, 10241, filterFallback(texture.minFilter)); + if (texture.minFilter !== NearestFilter && texture.minFilter !== LinearFilter) { + console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter."); + } + } + if (extensions.has("EXT_texture_filter_anisotropic") === true) { + const extension = extensions.get("EXT_texture_filter_anisotropic"); + if (texture.type === FloatType && extensions.has("OES_texture_float_linear") === false) + return; + if (isWebGL2 === false && (texture.type === HalfFloatType && extensions.has("OES_texture_half_float_linear") === false)) + return; + if (texture.anisotropy > 1 || properties.get(texture).__currentAnisotropy) { + _gl.texParameterf(textureType, extension.TEXTURE_MAX_ANISOTROPY_EXT, Math.min(texture.anisotropy, capabilities.getMaxAnisotropy())); + properties.get(texture).__currentAnisotropy = texture.anisotropy; + } + } + } + function initTexture(textureProperties, texture) { + let forceUpload = false; + if (textureProperties.__webglInit === void 0) { + textureProperties.__webglInit = true; + texture.addEventListener("dispose", onTextureDispose); + } + const source = texture.source; + let webglTextures = _sources.get(source); + if (webglTextures === void 0) { + webglTextures = {}; + _sources.set(source, webglTextures); + } + const textureCacheKey = getTextureCacheKey(texture); + if (textureCacheKey !== textureProperties.__cacheKey) { + if (webglTextures[textureCacheKey] === void 0) { + webglTextures[textureCacheKey] = { + texture: _gl.createTexture(), + usedTimes: 0 + }; + info.memory.textures++; + forceUpload = true; + } + webglTextures[textureCacheKey].usedTimes++; + const webglTexture = webglTextures[textureProperties.__cacheKey]; + if (webglTexture !== void 0) { + webglTextures[textureProperties.__cacheKey].usedTimes--; + if (webglTexture.usedTimes === 0) { + deleteTexture(texture); + } + } + textureProperties.__cacheKey = textureCacheKey; + textureProperties.__webglTexture = webglTextures[textureCacheKey].texture; + } + return forceUpload; + } + function uploadTexture(textureProperties, texture, slot) { + let textureType = 3553; + if (texture.isDataArrayTexture || texture.isCompressedArrayTexture) + textureType = 35866; + if (texture.isData3DTexture) + textureType = 32879; + const forceUpload = initTexture(textureProperties, texture); + const source = texture.source; + state.bindTexture(textureType, textureProperties.__webglTexture, 33984 + slot); + const sourceProperties = properties.get(source); + if (source.version !== sourceProperties.__version || forceUpload === true) { + state.activeTexture(33984 + slot); + _gl.pixelStorei(37440, texture.flipY); + _gl.pixelStorei(37441, texture.premultiplyAlpha); + _gl.pixelStorei(3317, texture.unpackAlignment); + _gl.pixelStorei(37443, 0); + const needsPowerOfTwo = textureNeedsPowerOfTwo(texture) && isPowerOfTwo$1(texture.image) === false; + let image = resizeImage(texture.image, needsPowerOfTwo, false, maxTextureSize); + image = verifyColorSpace(texture, image); + const supportsMips = isPowerOfTwo$1(image) || isWebGL2, glFormat = utils.convert(texture.format, texture.encoding); + let glType = utils.convert(texture.type), glInternalFormat = getInternalFormat(texture.internalFormat, glFormat, glType, texture.encoding, texture.isVideoTexture); + setTextureParameters(textureType, texture, supportsMips); + let mipmap; + const mipmaps = texture.mipmaps; + const useTexStorage = isWebGL2 && texture.isVideoTexture !== true; + const allocateMemory = sourceProperties.__version === void 0 || forceUpload === true; + const levels = getMipLevels(texture, image, supportsMips); + if (texture.isDepthTexture) { + glInternalFormat = 6402; + if (isWebGL2) { + if (texture.type === FloatType) { + glInternalFormat = 36012; + } else if (texture.type === UnsignedIntType) { + glInternalFormat = 33190; + } else if (texture.type === UnsignedInt248Type) { + glInternalFormat = 35056; + } else { + glInternalFormat = 33189; + } + } else { + if (texture.type === FloatType) { + console.error("WebGLRenderer: Floating point depth texture requires WebGL2."); + } + } + if (texture.format === DepthFormat && glInternalFormat === 6402) { + if (texture.type !== UnsignedShortType && texture.type !== UnsignedIntType) { + console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."); + texture.type = UnsignedIntType; + glType = utils.convert(texture.type); + } + } + if (texture.format === DepthStencilFormat && glInternalFormat === 6402) { + glInternalFormat = 34041; + if (texture.type !== UnsignedInt248Type) { + console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."); + texture.type = UnsignedInt248Type; + glType = utils.convert(texture.type); + } + } + if (allocateMemory) { + if (useTexStorage) { + state.texStorage2D(3553, 1, glInternalFormat, image.width, image.height); + } else { + state.texImage2D(3553, 0, glInternalFormat, image.width, image.height, 0, glFormat, glType, null); + } + } + } else if (texture.isDataTexture) { + if (mipmaps.length > 0 && supportsMips) { + if (useTexStorage && allocateMemory) { + state.texStorage2D(3553, levels, glInternalFormat, mipmaps[0].width, mipmaps[0].height); + } + for (let i = 0, il = mipmaps.length; i < il; i++) { + mipmap = mipmaps[i]; + if (useTexStorage) { + state.texSubImage2D(3553, i, 0, 0, mipmap.width, mipmap.height, glFormat, glType, mipmap.data); + } else { + state.texImage2D(3553, i, glInternalFormat, mipmap.width, mipmap.height, 0, glFormat, glType, mipmap.data); + } + } + texture.generateMipmaps = false; + } else { + if (useTexStorage) { + if (allocateMemory) { + state.texStorage2D(3553, levels, glInternalFormat, image.width, image.height); + } + state.texSubImage2D(3553, 0, 0, 0, image.width, image.height, glFormat, glType, image.data); + } else { + state.texImage2D(3553, 0, glInternalFormat, image.width, image.height, 0, glFormat, glType, image.data); + } + } + } else if (texture.isCompressedTexture) { + if (texture.isCompressedArrayTexture) { + if (useTexStorage && allocateMemory) { + state.texStorage3D(35866, levels, glInternalFormat, mipmaps[0].width, mipmaps[0].height, image.depth); + } + for (let i = 0, il = mipmaps.length; i < il; i++) { + mipmap = mipmaps[i]; + if (texture.format !== RGBAFormat) { + if (glFormat !== null) { + if (useTexStorage) { + state.compressedTexSubImage3D(35866, i, 0, 0, 0, mipmap.width, mipmap.height, image.depth, glFormat, mipmap.data, 0, 0); + } else { + state.compressedTexImage3D(35866, i, glInternalFormat, mipmap.width, mipmap.height, image.depth, 0, mipmap.data, 0, 0); + } + } else { + console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"); + } + } else { + if (useTexStorage) { + state.texSubImage3D(35866, i, 0, 0, 0, mipmap.width, mipmap.height, image.depth, glFormat, glType, mipmap.data); + } else { + state.texImage3D(35866, i, glInternalFormat, mipmap.width, mipmap.height, image.depth, 0, glFormat, glType, mipmap.data); + } + } + } + } else { + if (useTexStorage && allocateMemory) { + state.texStorage2D(3553, levels, glInternalFormat, mipmaps[0].width, mipmaps[0].height); + } + for (let i = 0, il = mipmaps.length; i < il; i++) { + mipmap = mipmaps[i]; + if (texture.format !== RGBAFormat) { + if (glFormat !== null) { + if (useTexStorage) { + state.compressedTexSubImage2D(3553, i, 0, 0, mipmap.width, mipmap.height, glFormat, mipmap.data); + } else { + state.compressedTexImage2D(3553, i, glInternalFormat, mipmap.width, mipmap.height, 0, mipmap.data); + } + } else { + console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"); + } + } else { + if (useTexStorage) { + state.texSubImage2D(3553, i, 0, 0, mipmap.width, mipmap.height, glFormat, glType, mipmap.data); + } else { + state.texImage2D(3553, i, glInternalFormat, mipmap.width, mipmap.height, 0, glFormat, glType, mipmap.data); + } + } + } + } + } else if (texture.isDataArrayTexture) { + if (useTexStorage) { + if (allocateMemory) { + state.texStorage3D(35866, levels, glInternalFormat, image.width, image.height, image.depth); + } + state.texSubImage3D(35866, 0, 0, 0, 0, image.width, image.height, image.depth, glFormat, glType, image.data); + } else { + state.texImage3D(35866, 0, glInternalFormat, image.width, image.height, image.depth, 0, glFormat, glType, image.data); + } + } else if (texture.isData3DTexture) { + if (useTexStorage) { + if (allocateMemory) { + state.texStorage3D(32879, levels, glInternalFormat, image.width, image.height, image.depth); + } + state.texSubImage3D(32879, 0, 0, 0, 0, image.width, image.height, image.depth, glFormat, glType, image.data); + } else { + state.texImage3D(32879, 0, glInternalFormat, image.width, image.height, image.depth, 0, glFormat, glType, image.data); + } + } else if (texture.isFramebufferTexture) { + if (allocateMemory) { + if (useTexStorage) { + state.texStorage2D(3553, levels, glInternalFormat, image.width, image.height); + } else { + let width = image.width, height = image.height; + for (let i = 0; i < levels; i++) { + state.texImage2D(3553, i, glInternalFormat, width, height, 0, glFormat, glType, null); + width >>= 1; + height >>= 1; + } + } + } + } else { + if (mipmaps.length > 0 && supportsMips) { + if (useTexStorage && allocateMemory) { + state.texStorage2D(3553, levels, glInternalFormat, mipmaps[0].width, mipmaps[0].height); + } + for (let i = 0, il = mipmaps.length; i < il; i++) { + mipmap = mipmaps[i]; + if (useTexStorage) { + state.texSubImage2D(3553, i, 0, 0, glFormat, glType, mipmap); + } else { + state.texImage2D(3553, i, glInternalFormat, glFormat, glType, mipmap); + } + } + texture.generateMipmaps = false; + } else { + if (useTexStorage) { + if (allocateMemory) { + state.texStorage2D(3553, levels, glInternalFormat, image.width, image.height); + } + state.texSubImage2D(3553, 0, 0, 0, glFormat, glType, image); + } else { + state.texImage2D(3553, 0, glInternalFormat, glFormat, glType, image); + } + } + } + if (textureNeedsGenerateMipmaps(texture, supportsMips)) { + generateMipmap(textureType); + } + sourceProperties.__version = source.version; + if (texture.onUpdate) + texture.onUpdate(texture); + } + textureProperties.__version = texture.version; + } + function uploadCubeTexture(textureProperties, texture, slot) { + if (texture.image.length !== 6) + return; + const forceUpload = initTexture(textureProperties, texture); + const source = texture.source; + state.bindTexture(34067, textureProperties.__webglTexture, 33984 + slot); + const sourceProperties = properties.get(source); + if (source.version !== sourceProperties.__version || forceUpload === true) { + state.activeTexture(33984 + slot); + _gl.pixelStorei(37440, texture.flipY); + _gl.pixelStorei(37441, texture.premultiplyAlpha); + _gl.pixelStorei(3317, texture.unpackAlignment); + _gl.pixelStorei(37443, 0); + const isCompressed = texture.isCompressedTexture || texture.image[0].isCompressedTexture; + const isDataTexture = texture.image[0] && texture.image[0].isDataTexture; + const cubeImage = []; + for (let i = 0; i < 6; i++) { + if (!isCompressed && !isDataTexture) { + cubeImage[i] = resizeImage(texture.image[i], false, true, maxCubemapSize); + } else { + cubeImage[i] = isDataTexture ? texture.image[i].image : texture.image[i]; + } + cubeImage[i] = verifyColorSpace(texture, cubeImage[i]); + } + const image = cubeImage[0], supportsMips = isPowerOfTwo$1(image) || isWebGL2, glFormat = utils.convert(texture.format, texture.encoding), glType = utils.convert(texture.type), glInternalFormat = getInternalFormat(texture.internalFormat, glFormat, glType, texture.encoding); + const useTexStorage = isWebGL2 && texture.isVideoTexture !== true; + const allocateMemory = sourceProperties.__version === void 0 || forceUpload === true; + let levels = getMipLevels(texture, image, supportsMips); + setTextureParameters(34067, texture, supportsMips); + let mipmaps; + if (isCompressed) { + if (useTexStorage && allocateMemory) { + state.texStorage2D(34067, levels, glInternalFormat, image.width, image.height); + } + for (let i = 0; i < 6; i++) { + mipmaps = cubeImage[i].mipmaps; + for (let j = 0; j < mipmaps.length; j++) { + const mipmap = mipmaps[j]; + if (texture.format !== RGBAFormat) { + if (glFormat !== null) { + if (useTexStorage) { + state.compressedTexSubImage2D(34069 + i, j, 0, 0, mipmap.width, mipmap.height, glFormat, mipmap.data); + } else { + state.compressedTexImage2D(34069 + i, j, glInternalFormat, mipmap.width, mipmap.height, 0, mipmap.data); + } + } else { + console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()"); + } + } else { + if (useTexStorage) { + state.texSubImage2D(34069 + i, j, 0, 0, mipmap.width, mipmap.height, glFormat, glType, mipmap.data); + } else { + state.texImage2D(34069 + i, j, glInternalFormat, mipmap.width, mipmap.height, 0, glFormat, glType, mipmap.data); + } + } + } + } + } else { + mipmaps = texture.mipmaps; + if (useTexStorage && allocateMemory) { + if (mipmaps.length > 0) + levels++; + state.texStorage2D(34067, levels, glInternalFormat, cubeImage[0].width, cubeImage[0].height); + } + for (let i = 0; i < 6; i++) { + if (isDataTexture) { + if (useTexStorage) { + state.texSubImage2D(34069 + i, 0, 0, 0, cubeImage[i].width, cubeImage[i].height, glFormat, glType, cubeImage[i].data); + } else { + state.texImage2D(34069 + i, 0, glInternalFormat, cubeImage[i].width, cubeImage[i].height, 0, glFormat, glType, cubeImage[i].data); + } + for (let j = 0; j < mipmaps.length; j++) { + const mipmap = mipmaps[j]; + const mipmapImage = mipmap.image[i].image; + if (useTexStorage) { + state.texSubImage2D(34069 + i, j + 1, 0, 0, mipmapImage.width, mipmapImage.height, glFormat, glType, mipmapImage.data); + } else { + state.texImage2D(34069 + i, j + 1, glInternalFormat, mipmapImage.width, mipmapImage.height, 0, glFormat, glType, mipmapImage.data); + } + } + } else { + if (useTexStorage) { + state.texSubImage2D(34069 + i, 0, 0, 0, glFormat, glType, cubeImage[i]); + } else { + state.texImage2D(34069 + i, 0, glInternalFormat, glFormat, glType, cubeImage[i]); + } + for (let j = 0; j < mipmaps.length; j++) { + const mipmap = mipmaps[j]; + if (useTexStorage) { + state.texSubImage2D(34069 + i, j + 1, 0, 0, glFormat, glType, mipmap.image[i]); + } else { + state.texImage2D(34069 + i, j + 1, glInternalFormat, glFormat, glType, mipmap.image[i]); + } + } + } + } + } + if (textureNeedsGenerateMipmaps(texture, supportsMips)) { + generateMipmap(34067); + } + sourceProperties.__version = source.version; + if (texture.onUpdate) + texture.onUpdate(texture); + } + textureProperties.__version = texture.version; + } + function setupFrameBufferTexture(framebuffer, renderTarget, texture, attachment, textureTarget) { + const glFormat = utils.convert(texture.format, texture.encoding); + const glType = utils.convert(texture.type); + const glInternalFormat = getInternalFormat(texture.internalFormat, glFormat, glType, texture.encoding); + const renderTargetProperties = properties.get(renderTarget); + if (!renderTargetProperties.__hasExternalTextures) { + if (textureTarget === 32879 || textureTarget === 35866) { + state.texImage3D(textureTarget, 0, glInternalFormat, renderTarget.width, renderTarget.height, renderTarget.depth, 0, glFormat, glType, null); + } else { + state.texImage2D(textureTarget, 0, glInternalFormat, renderTarget.width, renderTarget.height, 0, glFormat, glType, null); + } + } + state.bindFramebuffer(36160, framebuffer); + if (useMultisampledRTT(renderTarget)) { + multisampledRTTExt.framebufferTexture2DMultisampleEXT(36160, attachment, textureTarget, properties.get(texture).__webglTexture, 0, getRenderTargetSamples(renderTarget)); + } else if (textureTarget === 3553 || textureTarget >= 34069 && textureTarget <= 34074) { + _gl.framebufferTexture2D(36160, attachment, textureTarget, properties.get(texture).__webglTexture, 0); + } + state.bindFramebuffer(36160, null); + } + function setupRenderBufferStorage(renderbuffer, renderTarget, isMultisample) { + _gl.bindRenderbuffer(36161, renderbuffer); + if (renderTarget.depthBuffer && !renderTarget.stencilBuffer) { + let glInternalFormat = 33189; + if (isMultisample || useMultisampledRTT(renderTarget)) { + const depthTexture = renderTarget.depthTexture; + if (depthTexture && depthTexture.isDepthTexture) { + if (depthTexture.type === FloatType) { + glInternalFormat = 36012; + } else if (depthTexture.type === UnsignedIntType) { + glInternalFormat = 33190; + } + } + const samples = getRenderTargetSamples(renderTarget); + if (useMultisampledRTT(renderTarget)) { + multisampledRTTExt.renderbufferStorageMultisampleEXT(36161, samples, glInternalFormat, renderTarget.width, renderTarget.height); + } else { + _gl.renderbufferStorageMultisample(36161, samples, glInternalFormat, renderTarget.width, renderTarget.height); + } + } else { + _gl.renderbufferStorage(36161, glInternalFormat, renderTarget.width, renderTarget.height); + } + _gl.framebufferRenderbuffer(36160, 36096, 36161, renderbuffer); + } else if (renderTarget.depthBuffer && renderTarget.stencilBuffer) { + const samples = getRenderTargetSamples(renderTarget); + if (isMultisample && useMultisampledRTT(renderTarget) === false) { + _gl.renderbufferStorageMultisample(36161, samples, 35056, renderTarget.width, renderTarget.height); + } else if (useMultisampledRTT(renderTarget)) { + multisampledRTTExt.renderbufferStorageMultisampleEXT(36161, samples, 35056, renderTarget.width, renderTarget.height); + } else { + _gl.renderbufferStorage(36161, 34041, renderTarget.width, renderTarget.height); + } + _gl.framebufferRenderbuffer(36160, 33306, 36161, renderbuffer); + } else { + const textures = renderTarget.isWebGLMultipleRenderTargets === true ? renderTarget.texture : [renderTarget.texture]; + for (let i = 0; i < textures.length; i++) { + const texture = textures[i]; + const glFormat = utils.convert(texture.format, texture.encoding); + const glType = utils.convert(texture.type); + const glInternalFormat = getInternalFormat(texture.internalFormat, glFormat, glType, texture.encoding); + const samples = getRenderTargetSamples(renderTarget); + if (isMultisample && useMultisampledRTT(renderTarget) === false) { + _gl.renderbufferStorageMultisample(36161, samples, glInternalFormat, renderTarget.width, renderTarget.height); + } else if (useMultisampledRTT(renderTarget)) { + multisampledRTTExt.renderbufferStorageMultisampleEXT(36161, samples, glInternalFormat, renderTarget.width, renderTarget.height); + } else { + _gl.renderbufferStorage(36161, glInternalFormat, renderTarget.width, renderTarget.height); + } + } + } + _gl.bindRenderbuffer(36161, null); + } + function setupDepthTexture(framebuffer, renderTarget) { + const isCube = renderTarget && renderTarget.isWebGLCubeRenderTarget; + if (isCube) + throw new Error("Depth Texture with cube render targets is not supported"); + state.bindFramebuffer(36160, framebuffer); + if (!(renderTarget.depthTexture && renderTarget.depthTexture.isDepthTexture)) { + throw new Error("renderTarget.depthTexture must be an instance of THREE.DepthTexture"); + } + if (!properties.get(renderTarget.depthTexture).__webglTexture || renderTarget.depthTexture.image.width !== renderTarget.width || renderTarget.depthTexture.image.height !== renderTarget.height) { + renderTarget.depthTexture.image.width = renderTarget.width; + renderTarget.depthTexture.image.height = renderTarget.height; + renderTarget.depthTexture.needsUpdate = true; + } + setTexture2D(renderTarget.depthTexture, 0); + const webglDepthTexture = properties.get(renderTarget.depthTexture).__webglTexture; + const samples = getRenderTargetSamples(renderTarget); + if (renderTarget.depthTexture.format === DepthFormat) { + if (useMultisampledRTT(renderTarget)) { + multisampledRTTExt.framebufferTexture2DMultisampleEXT(36160, 36096, 3553, webglDepthTexture, 0, samples); + } else { + _gl.framebufferTexture2D(36160, 36096, 3553, webglDepthTexture, 0); + } + } else if (renderTarget.depthTexture.format === DepthStencilFormat) { + if (useMultisampledRTT(renderTarget)) { + multisampledRTTExt.framebufferTexture2DMultisampleEXT(36160, 33306, 3553, webglDepthTexture, 0, samples); + } else { + _gl.framebufferTexture2D(36160, 33306, 3553, webglDepthTexture, 0); + } + } else { + throw new Error("Unknown depthTexture format"); + } + } + function setupDepthRenderbuffer(renderTarget) { + const renderTargetProperties = properties.get(renderTarget); + const isCube = renderTarget.isWebGLCubeRenderTarget === true; + if (renderTarget.depthTexture && !renderTargetProperties.__autoAllocateDepthBuffer) { + if (isCube) + throw new Error("target.depthTexture not supported in Cube render targets"); + setupDepthTexture(renderTargetProperties.__webglFramebuffer, renderTarget); + } else { + if (isCube) { + renderTargetProperties.__webglDepthbuffer = []; + for (let i = 0; i < 6; i++) { + state.bindFramebuffer(36160, renderTargetProperties.__webglFramebuffer[i]); + renderTargetProperties.__webglDepthbuffer[i] = _gl.createRenderbuffer(); + setupRenderBufferStorage(renderTargetProperties.__webglDepthbuffer[i], renderTarget, false); + } + } else { + state.bindFramebuffer(36160, renderTargetProperties.__webglFramebuffer); + renderTargetProperties.__webglDepthbuffer = _gl.createRenderbuffer(); + setupRenderBufferStorage(renderTargetProperties.__webglDepthbuffer, renderTarget, false); + } + } + state.bindFramebuffer(36160, null); + } + function rebindTextures(renderTarget, colorTexture, depthTexture) { + const renderTargetProperties = properties.get(renderTarget); + if (colorTexture !== void 0) { + setupFrameBufferTexture(renderTargetProperties.__webglFramebuffer, renderTarget, renderTarget.texture, 36064, 3553); + } + if (depthTexture !== void 0) { + setupDepthRenderbuffer(renderTarget); + } + } + function setupRenderTarget(renderTarget) { + const texture = renderTarget.texture; + const renderTargetProperties = properties.get(renderTarget); + const textureProperties = properties.get(texture); + renderTarget.addEventListener("dispose", onRenderTargetDispose); + if (renderTarget.isWebGLMultipleRenderTargets !== true) { + if (textureProperties.__webglTexture === void 0) { + textureProperties.__webglTexture = _gl.createTexture(); + } + textureProperties.__version = texture.version; + info.memory.textures++; + } + const isCube = renderTarget.isWebGLCubeRenderTarget === true; + const isMultipleRenderTargets = renderTarget.isWebGLMultipleRenderTargets === true; + const supportsMips = isPowerOfTwo$1(renderTarget) || isWebGL2; + if (isCube) { + renderTargetProperties.__webglFramebuffer = []; + for (let i = 0; i < 6; i++) { + renderTargetProperties.__webglFramebuffer[i] = _gl.createFramebuffer(); + } + } else { + renderTargetProperties.__webglFramebuffer = _gl.createFramebuffer(); + if (isMultipleRenderTargets) { + if (capabilities.drawBuffers) { + const textures = renderTarget.texture; + for (let i = 0, il = textures.length; i < il; i++) { + const attachmentProperties = properties.get(textures[i]); + if (attachmentProperties.__webglTexture === void 0) { + attachmentProperties.__webglTexture = _gl.createTexture(); + info.memory.textures++; + } + } + } else { + console.warn("THREE.WebGLRenderer: WebGLMultipleRenderTargets can only be used with WebGL2 or WEBGL_draw_buffers extension."); + } + } + if (isWebGL2 && renderTarget.samples > 0 && useMultisampledRTT(renderTarget) === false) { + const textures = isMultipleRenderTargets ? texture : [texture]; + renderTargetProperties.__webglMultisampledFramebuffer = _gl.createFramebuffer(); + renderTargetProperties.__webglColorRenderbuffer = []; + state.bindFramebuffer(36160, renderTargetProperties.__webglMultisampledFramebuffer); + for (let i = 0; i < textures.length; i++) { + const texture2 = textures[i]; + renderTargetProperties.__webglColorRenderbuffer[i] = _gl.createRenderbuffer(); + _gl.bindRenderbuffer(36161, renderTargetProperties.__webglColorRenderbuffer[i]); + const glFormat = utils.convert(texture2.format, texture2.encoding); + const glType = utils.convert(texture2.type); + const glInternalFormat = getInternalFormat(texture2.internalFormat, glFormat, glType, texture2.encoding, renderTarget.isXRRenderTarget === true); + const samples = getRenderTargetSamples(renderTarget); + _gl.renderbufferStorageMultisample(36161, samples, glInternalFormat, renderTarget.width, renderTarget.height); + _gl.framebufferRenderbuffer(36160, 36064 + i, 36161, renderTargetProperties.__webglColorRenderbuffer[i]); + } + _gl.bindRenderbuffer(36161, null); + if (renderTarget.depthBuffer) { + renderTargetProperties.__webglDepthRenderbuffer = _gl.createRenderbuffer(); + setupRenderBufferStorage(renderTargetProperties.__webglDepthRenderbuffer, renderTarget, true); + } + state.bindFramebuffer(36160, null); + } + } + if (isCube) { + state.bindTexture(34067, textureProperties.__webglTexture); + setTextureParameters(34067, texture, supportsMips); + for (let i = 0; i < 6; i++) { + setupFrameBufferTexture(renderTargetProperties.__webglFramebuffer[i], renderTarget, texture, 36064, 34069 + i); + } + if (textureNeedsGenerateMipmaps(texture, supportsMips)) { + generateMipmap(34067); + } + state.unbindTexture(); + } else if (isMultipleRenderTargets) { + const textures = renderTarget.texture; + for (let i = 0, il = textures.length; i < il; i++) { + const attachment = textures[i]; + const attachmentProperties = properties.get(attachment); + state.bindTexture(3553, attachmentProperties.__webglTexture); + setTextureParameters(3553, attachment, supportsMips); + setupFrameBufferTexture(renderTargetProperties.__webglFramebuffer, renderTarget, attachment, 36064 + i, 3553); + if (textureNeedsGenerateMipmaps(attachment, supportsMips)) { + generateMipmap(3553); + } + } + state.unbindTexture(); + } else { + let glTextureType = 3553; + if (renderTarget.isWebGL3DRenderTarget || renderTarget.isWebGLArrayRenderTarget) { + if (isWebGL2) { + glTextureType = renderTarget.isWebGL3DRenderTarget ? 32879 : 35866; + } else { + console.error("THREE.WebGLTextures: THREE.Data3DTexture and THREE.DataArrayTexture only supported with WebGL2."); + } + } + state.bindTexture(glTextureType, textureProperties.__webglTexture); + setTextureParameters(glTextureType, texture, supportsMips); + setupFrameBufferTexture(renderTargetProperties.__webglFramebuffer, renderTarget, texture, 36064, glTextureType); + if (textureNeedsGenerateMipmaps(texture, supportsMips)) { + generateMipmap(glTextureType); + } + state.unbindTexture(); + } + if (renderTarget.depthBuffer) { + setupDepthRenderbuffer(renderTarget); + } + } + function updateRenderTargetMipmap(renderTarget) { + const supportsMips = isPowerOfTwo$1(renderTarget) || isWebGL2; + const textures = renderTarget.isWebGLMultipleRenderTargets === true ? renderTarget.texture : [renderTarget.texture]; + for (let i = 0, il = textures.length; i < il; i++) { + const texture = textures[i]; + if (textureNeedsGenerateMipmaps(texture, supportsMips)) { + const target = renderTarget.isWebGLCubeRenderTarget ? 34067 : 3553; + const webglTexture = properties.get(texture).__webglTexture; + state.bindTexture(target, webglTexture); + generateMipmap(target); + state.unbindTexture(); + } + } + } + function updateMultisampleRenderTarget(renderTarget) { + if (isWebGL2 && renderTarget.samples > 0 && useMultisampledRTT(renderTarget) === false) { + const textures = renderTarget.isWebGLMultipleRenderTargets ? renderTarget.texture : [renderTarget.texture]; + const width = renderTarget.width; + const height = renderTarget.height; + let mask = 16384; + const invalidationArray = []; + const depthStyle = renderTarget.stencilBuffer ? 33306 : 36096; + const renderTargetProperties = properties.get(renderTarget); + const isMultipleRenderTargets = renderTarget.isWebGLMultipleRenderTargets === true; + if (isMultipleRenderTargets) { + for (let i = 0; i < textures.length; i++) { + state.bindFramebuffer(36160, renderTargetProperties.__webglMultisampledFramebuffer); + _gl.framebufferRenderbuffer(36160, 36064 + i, 36161, null); + state.bindFramebuffer(36160, renderTargetProperties.__webglFramebuffer); + _gl.framebufferTexture2D(36009, 36064 + i, 3553, null, 0); + } + } + state.bindFramebuffer(36008, renderTargetProperties.__webglMultisampledFramebuffer); + state.bindFramebuffer(36009, renderTargetProperties.__webglFramebuffer); + for (let i = 0; i < textures.length; i++) { + invalidationArray.push(36064 + i); + if (renderTarget.depthBuffer) { + invalidationArray.push(depthStyle); + } + const ignoreDepthValues = renderTargetProperties.__ignoreDepthValues !== void 0 ? renderTargetProperties.__ignoreDepthValues : false; + if (ignoreDepthValues === false) { + if (renderTarget.depthBuffer) + mask |= 256; + if (renderTarget.stencilBuffer) + mask |= 1024; + } + if (isMultipleRenderTargets) { + _gl.framebufferRenderbuffer(36008, 36064, 36161, renderTargetProperties.__webglColorRenderbuffer[i]); + } + if (ignoreDepthValues === true) { + _gl.invalidateFramebuffer(36008, [depthStyle]); + _gl.invalidateFramebuffer(36009, [depthStyle]); + } + if (isMultipleRenderTargets) { + const webglTexture = properties.get(textures[i]).__webglTexture; + _gl.framebufferTexture2D(36009, 36064, 3553, webglTexture, 0); + } + _gl.blitFramebuffer(0, 0, width, height, 0, 0, width, height, mask, 9728); + if (supportsInvalidateFramebuffer) { + _gl.invalidateFramebuffer(36008, invalidationArray); + } + } + state.bindFramebuffer(36008, null); + state.bindFramebuffer(36009, null); + if (isMultipleRenderTargets) { + for (let i = 0; i < textures.length; i++) { + state.bindFramebuffer(36160, renderTargetProperties.__webglMultisampledFramebuffer); + _gl.framebufferRenderbuffer(36160, 36064 + i, 36161, renderTargetProperties.__webglColorRenderbuffer[i]); + const webglTexture = properties.get(textures[i]).__webglTexture; + state.bindFramebuffer(36160, renderTargetProperties.__webglFramebuffer); + _gl.framebufferTexture2D(36009, 36064 + i, 3553, webglTexture, 0); + } + } + state.bindFramebuffer(36009, renderTargetProperties.__webglMultisampledFramebuffer); + } + } + function getRenderTargetSamples(renderTarget) { + return Math.min(maxSamples, renderTarget.samples); + } + function useMultisampledRTT(renderTarget) { + const renderTargetProperties = properties.get(renderTarget); + return isWebGL2 && renderTarget.samples > 0 && extensions.has("WEBGL_multisampled_render_to_texture") === true && renderTargetProperties.__useRenderToTexture !== false; + } + function updateVideoTexture(texture) { + const frame2 = info.render.frame; + if (_videoTextures.get(texture) !== frame2) { + _videoTextures.set(texture, frame2); + texture.update(); + } + } + function verifyColorSpace(texture, image) { + const encoding = texture.encoding; + const format2 = texture.format; + const type = texture.type; + if (texture.isCompressedTexture === true || texture.isVideoTexture === true || texture.format === _SRGBAFormat) + return image; + if (encoding !== LinearEncoding) { + if (encoding === sRGBEncoding) { + if (isWebGL2 === false) { + if (extensions.has("EXT_sRGB") === true && format2 === RGBAFormat) { + texture.format = _SRGBAFormat; + texture.minFilter = LinearFilter; + texture.generateMipmaps = false; + } else { + image = ImageUtils.sRGBToLinear(image); + } + } else { + if (format2 !== RGBAFormat || type !== UnsignedByteType) { + console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."); + } + } + } else { + console.error("THREE.WebGLTextures: Unsupported texture encoding:", encoding); + } + } + return image; + } + this.allocateTextureUnit = allocateTextureUnit; + this.resetTextureUnits = resetTextureUnits; + this.setTexture2D = setTexture2D; + this.setTexture2DArray = setTexture2DArray; + this.setTexture3D = setTexture3D; + this.setTextureCube = setTextureCube; + this.rebindTextures = rebindTextures; + this.setupRenderTarget = setupRenderTarget; + this.updateRenderTargetMipmap = updateRenderTargetMipmap; + this.updateMultisampleRenderTarget = updateMultisampleRenderTarget; + this.setupDepthRenderbuffer = setupDepthRenderbuffer; + this.setupFrameBufferTexture = setupFrameBufferTexture; + this.useMultisampledRTT = useMultisampledRTT; +} +function WebGLUtils(gl, extensions, capabilities) { + const isWebGL2 = capabilities.isWebGL2; + function convert(p, encoding = null) { + let extension; + if (p === UnsignedByteType) + return 5121; + if (p === UnsignedShort4444Type) + return 32819; + if (p === UnsignedShort5551Type) + return 32820; + if (p === ByteType) + return 5120; + if (p === ShortType) + return 5122; + if (p === UnsignedShortType) + return 5123; + if (p === IntType) + return 5124; + if (p === UnsignedIntType) + return 5125; + if (p === FloatType) + return 5126; + if (p === HalfFloatType) { + if (isWebGL2) + return 5131; + extension = extensions.get("OES_texture_half_float"); + if (extension !== null) { + return extension.HALF_FLOAT_OES; + } else { + return null; + } + } + if (p === AlphaFormat) + return 6406; + if (p === RGBAFormat) + return 6408; + if (p === LuminanceFormat) + return 6409; + if (p === LuminanceAlphaFormat) + return 6410; + if (p === DepthFormat) + return 6402; + if (p === DepthStencilFormat) + return 34041; + if (p === RedFormat) + return 6403; + if (p === RGBFormat) { + console.warn("THREE.WebGLRenderer: THREE.RGBFormat has been removed. Use THREE.RGBAFormat instead. https://github.com/mrdoob/three.js/pull/23228"); + return 6408; + } + if (p === _SRGBAFormat) { + extension = extensions.get("EXT_sRGB"); + if (extension !== null) { + return extension.SRGB_ALPHA_EXT; + } else { + return null; + } + } + if (p === RedIntegerFormat) + return 36244; + if (p === RGFormat) + return 33319; + if (p === RGIntegerFormat) + return 33320; + if (p === RGBAIntegerFormat) + return 36249; + if (p === RGB_S3TC_DXT1_Format || p === RGBA_S3TC_DXT1_Format || p === RGBA_S3TC_DXT3_Format || p === RGBA_S3TC_DXT5_Format) { + if (encoding === sRGBEncoding) { + extension = extensions.get("WEBGL_compressed_texture_s3tc_srgb"); + if (extension !== null) { + if (p === RGB_S3TC_DXT1_Format) + return extension.COMPRESSED_SRGB_S3TC_DXT1_EXT; + if (p === RGBA_S3TC_DXT1_Format) + return extension.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT; + if (p === RGBA_S3TC_DXT3_Format) + return extension.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT; + if (p === RGBA_S3TC_DXT5_Format) + return extension.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT; + } else { + return null; + } + } else { + extension = extensions.get("WEBGL_compressed_texture_s3tc"); + if (extension !== null) { + if (p === RGB_S3TC_DXT1_Format) + return extension.COMPRESSED_RGB_S3TC_DXT1_EXT; + if (p === RGBA_S3TC_DXT1_Format) + return extension.COMPRESSED_RGBA_S3TC_DXT1_EXT; + if (p === RGBA_S3TC_DXT3_Format) + return extension.COMPRESSED_RGBA_S3TC_DXT3_EXT; + if (p === RGBA_S3TC_DXT5_Format) + return extension.COMPRESSED_RGBA_S3TC_DXT5_EXT; + } else { + return null; + } + } + } + if (p === RGB_PVRTC_4BPPV1_Format || p === RGB_PVRTC_2BPPV1_Format || p === RGBA_PVRTC_4BPPV1_Format || p === RGBA_PVRTC_2BPPV1_Format) { + extension = extensions.get("WEBGL_compressed_texture_pvrtc"); + if (extension !== null) { + if (p === RGB_PVRTC_4BPPV1_Format) + return extension.COMPRESSED_RGB_PVRTC_4BPPV1_IMG; + if (p === RGB_PVRTC_2BPPV1_Format) + return extension.COMPRESSED_RGB_PVRTC_2BPPV1_IMG; + if (p === RGBA_PVRTC_4BPPV1_Format) + return extension.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG; + if (p === RGBA_PVRTC_2BPPV1_Format) + return extension.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG; + } else { + return null; + } + } + if (p === RGB_ETC1_Format) { + extension = extensions.get("WEBGL_compressed_texture_etc1"); + if (extension !== null) { + return extension.COMPRESSED_RGB_ETC1_WEBGL; + } else { + return null; + } + } + if (p === RGB_ETC2_Format || p === RGBA_ETC2_EAC_Format) { + extension = extensions.get("WEBGL_compressed_texture_etc"); + if (extension !== null) { + if (p === RGB_ETC2_Format) + return encoding === sRGBEncoding ? extension.COMPRESSED_SRGB8_ETC2 : extension.COMPRESSED_RGB8_ETC2; + if (p === RGBA_ETC2_EAC_Format) + return encoding === sRGBEncoding ? extension.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC : extension.COMPRESSED_RGBA8_ETC2_EAC; + } else { + return null; + } + } + if (p === RGBA_ASTC_4x4_Format || p === RGBA_ASTC_5x4_Format || p === RGBA_ASTC_5x5_Format || p === RGBA_ASTC_6x5_Format || p === RGBA_ASTC_6x6_Format || p === RGBA_ASTC_8x5_Format || p === RGBA_ASTC_8x6_Format || p === RGBA_ASTC_8x8_Format || p === RGBA_ASTC_10x5_Format || p === RGBA_ASTC_10x6_Format || p === RGBA_ASTC_10x8_Format || p === RGBA_ASTC_10x10_Format || p === RGBA_ASTC_12x10_Format || p === RGBA_ASTC_12x12_Format) { + extension = extensions.get("WEBGL_compressed_texture_astc"); + if (extension !== null) { + if (p === RGBA_ASTC_4x4_Format) + return encoding === sRGBEncoding ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR : extension.COMPRESSED_RGBA_ASTC_4x4_KHR; + if (p === RGBA_ASTC_5x4_Format) + return encoding === sRGBEncoding ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR : extension.COMPRESSED_RGBA_ASTC_5x4_KHR; + if (p === RGBA_ASTC_5x5_Format) + return encoding === sRGBEncoding ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR : extension.COMPRESSED_RGBA_ASTC_5x5_KHR; + if (p === RGBA_ASTC_6x5_Format) + return encoding === sRGBEncoding ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR : extension.COMPRESSED_RGBA_ASTC_6x5_KHR; + if (p === RGBA_ASTC_6x6_Format) + return encoding === sRGBEncoding ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR : extension.COMPRESSED_RGBA_ASTC_6x6_KHR; + if (p === RGBA_ASTC_8x5_Format) + return encoding === sRGBEncoding ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR : extension.COMPRESSED_RGBA_ASTC_8x5_KHR; + if (p === RGBA_ASTC_8x6_Format) + return encoding === sRGBEncoding ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR : extension.COMPRESSED_RGBA_ASTC_8x6_KHR; + if (p === RGBA_ASTC_8x8_Format) + return encoding === sRGBEncoding ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR : extension.COMPRESSED_RGBA_ASTC_8x8_KHR; + if (p === RGBA_ASTC_10x5_Format) + return encoding === sRGBEncoding ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR : extension.COMPRESSED_RGBA_ASTC_10x5_KHR; + if (p === RGBA_ASTC_10x6_Format) + return encoding === sRGBEncoding ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR : extension.COMPRESSED_RGBA_ASTC_10x6_KHR; + if (p === RGBA_ASTC_10x8_Format) + return encoding === sRGBEncoding ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR : extension.COMPRESSED_RGBA_ASTC_10x8_KHR; + if (p === RGBA_ASTC_10x10_Format) + return encoding === sRGBEncoding ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR : extension.COMPRESSED_RGBA_ASTC_10x10_KHR; + if (p === RGBA_ASTC_12x10_Format) + return encoding === sRGBEncoding ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR : extension.COMPRESSED_RGBA_ASTC_12x10_KHR; + if (p === RGBA_ASTC_12x12_Format) + return encoding === sRGBEncoding ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR : extension.COMPRESSED_RGBA_ASTC_12x12_KHR; + } else { + return null; + } + } + if (p === RGBA_BPTC_Format) { + extension = extensions.get("EXT_texture_compression_bptc"); + if (extension !== null) { + if (p === RGBA_BPTC_Format) + return encoding === sRGBEncoding ? extension.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT : extension.COMPRESSED_RGBA_BPTC_UNORM_EXT; + } else { + return null; + } + } + if (p === UnsignedInt248Type) { + if (isWebGL2) + return 34042; + extension = extensions.get("WEBGL_depth_texture"); + if (extension !== null) { + return extension.UNSIGNED_INT_24_8_WEBGL; + } else { + return null; + } + } + return gl[p] !== void 0 ? gl[p] : null; + } + return { convert }; +} +var ArrayCamera = class extends PerspectiveCamera { + constructor(array = []) { + super(); + this.isArrayCamera = true; + this.cameras = array; + } +}; +var Group = class extends Object3D { + constructor() { + super(); + this.isGroup = true; + this.type = "Group"; + } +}; +var _moveEvent = { type: "move" }; +var WebXRController = class { + constructor() { + this._targetRay = null; + this._grip = null; + this._hand = null; + } + getHandSpace() { + if (this._hand === null) { + this._hand = new Group(); + this._hand.matrixAutoUpdate = false; + this._hand.visible = false; + this._hand.joints = {}; + this._hand.inputState = { pinching: false }; + } + return this._hand; + } + getTargetRaySpace() { + if (this._targetRay === null) { + this._targetRay = new Group(); + this._targetRay.matrixAutoUpdate = false; + this._targetRay.visible = false; + this._targetRay.hasLinearVelocity = false; + this._targetRay.linearVelocity = new Vector3(); + this._targetRay.hasAngularVelocity = false; + this._targetRay.angularVelocity = new Vector3(); + } + return this._targetRay; + } + getGripSpace() { + if (this._grip === null) { + this._grip = new Group(); + this._grip.matrixAutoUpdate = false; + this._grip.visible = false; + this._grip.hasLinearVelocity = false; + this._grip.linearVelocity = new Vector3(); + this._grip.hasAngularVelocity = false; + this._grip.angularVelocity = new Vector3(); + } + return this._grip; + } + dispatchEvent(event) { + if (this._targetRay !== null) { + this._targetRay.dispatchEvent(event); + } + if (this._grip !== null) { + this._grip.dispatchEvent(event); + } + if (this._hand !== null) { + this._hand.dispatchEvent(event); + } + return this; + } + disconnect(inputSource) { + this.dispatchEvent({ type: "disconnected", data: inputSource }); + if (this._targetRay !== null) { + this._targetRay.visible = false; + } + if (this._grip !== null) { + this._grip.visible = false; + } + if (this._hand !== null) { + this._hand.visible = false; + } + return this; + } + update(inputSource, frame2, referenceSpace) { + let inputPose = null; + let gripPose = null; + let handPose = null; + const targetRay = this._targetRay; + const grip = this._grip; + const hand = this._hand; + if (inputSource && frame2.session.visibilityState !== "visible-blurred") { + if (hand && inputSource.hand) { + handPose = true; + for (const inputjoint of inputSource.hand.values()) { + const jointPose = frame2.getJointPose(inputjoint, referenceSpace); + if (hand.joints[inputjoint.jointName] === void 0) { + const joint2 = new Group(); + joint2.matrixAutoUpdate = false; + joint2.visible = false; + hand.joints[inputjoint.jointName] = joint2; + hand.add(joint2); + } + const joint = hand.joints[inputjoint.jointName]; + if (jointPose !== null) { + joint.matrix.fromArray(jointPose.transform.matrix); + joint.matrix.decompose(joint.position, joint.rotation, joint.scale); + joint.jointRadius = jointPose.radius; + } + joint.visible = jointPose !== null; + } + const indexTip = hand.joints["index-finger-tip"]; + const thumbTip = hand.joints["thumb-tip"]; + const distance = indexTip.position.distanceTo(thumbTip.position); + const distanceToPinch = 0.02; + const threshold = 5e-3; + if (hand.inputState.pinching && distance > distanceToPinch + threshold) { + hand.inputState.pinching = false; + this.dispatchEvent({ + type: "pinchend", + handedness: inputSource.handedness, + target: this + }); + } else if (!hand.inputState.pinching && distance <= distanceToPinch - threshold) { + hand.inputState.pinching = true; + this.dispatchEvent({ + type: "pinchstart", + handedness: inputSource.handedness, + target: this + }); + } + } else { + if (grip !== null && inputSource.gripSpace) { + gripPose = frame2.getPose(inputSource.gripSpace, referenceSpace); + if (gripPose !== null) { + grip.matrix.fromArray(gripPose.transform.matrix); + grip.matrix.decompose(grip.position, grip.rotation, grip.scale); + if (gripPose.linearVelocity) { + grip.hasLinearVelocity = true; + grip.linearVelocity.copy(gripPose.linearVelocity); + } else { + grip.hasLinearVelocity = false; + } + if (gripPose.angularVelocity) { + grip.hasAngularVelocity = true; + grip.angularVelocity.copy(gripPose.angularVelocity); + } else { + grip.hasAngularVelocity = false; + } + } + } + } + if (targetRay !== null) { + inputPose = frame2.getPose(inputSource.targetRaySpace, referenceSpace); + if (inputPose === null && gripPose !== null) { + inputPose = gripPose; + } + if (inputPose !== null) { + targetRay.matrix.fromArray(inputPose.transform.matrix); + targetRay.matrix.decompose(targetRay.position, targetRay.rotation, targetRay.scale); + if (inputPose.linearVelocity) { + targetRay.hasLinearVelocity = true; + targetRay.linearVelocity.copy(inputPose.linearVelocity); + } else { + targetRay.hasLinearVelocity = false; + } + if (inputPose.angularVelocity) { + targetRay.hasAngularVelocity = true; + targetRay.angularVelocity.copy(inputPose.angularVelocity); + } else { + targetRay.hasAngularVelocity = false; + } + this.dispatchEvent(_moveEvent); + } + } + } + if (targetRay !== null) { + targetRay.visible = inputPose !== null; + } + if (grip !== null) { + grip.visible = gripPose !== null; + } + if (hand !== null) { + hand.visible = handPose !== null; + } + return this; + } +}; +var DepthTexture = class extends Texture { + constructor(width, height, type, mapping, wrapS, wrapT, magFilter, minFilter, anisotropy, format2) { + format2 = format2 !== void 0 ? format2 : DepthFormat; + if (format2 !== DepthFormat && format2 !== DepthStencilFormat) { + throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat"); + } + if (type === void 0 && format2 === DepthFormat) + type = UnsignedIntType; + if (type === void 0 && format2 === DepthStencilFormat) + type = UnsignedInt248Type; + super(null, mapping, wrapS, wrapT, magFilter, minFilter, format2, type, anisotropy); + this.isDepthTexture = true; + this.image = { width, height }; + this.magFilter = magFilter !== void 0 ? magFilter : NearestFilter; + this.minFilter = minFilter !== void 0 ? minFilter : NearestFilter; + this.flipY = false; + this.generateMipmaps = false; + } +}; +var WebXRManager = class extends EventDispatcher { + constructor(renderer3, gl) { + super(); + const scope = this; + let session = null; + let framebufferScaleFactor = 1; + let referenceSpace = null; + let referenceSpaceType = "local-floor"; + let customReferenceSpace = null; + let pose = null; + let glBinding = null; + let glProjLayer = null; + let glBaseLayer = null; + let xrFrame = null; + const attributes = gl.getContextAttributes(); + let initialRenderTarget = null; + let newRenderTarget = null; + const controllers = []; + const controllerInputSources = []; + const cameraL = new PerspectiveCamera(); + cameraL.layers.enable(1); + cameraL.viewport = new Vector4(); + const cameraR = new PerspectiveCamera(); + cameraR.layers.enable(2); + cameraR.viewport = new Vector4(); + const cameras = [cameraL, cameraR]; + const cameraVR = new ArrayCamera(); + cameraVR.layers.enable(1); + cameraVR.layers.enable(2); + let _currentDepthNear = null; + let _currentDepthFar = null; + this.cameraAutoUpdate = true; + this.enabled = false; + this.isPresenting = false; + this.getController = function(index5) { + let controller = controllers[index5]; + if (controller === void 0) { + controller = new WebXRController(); + controllers[index5] = controller; + } + return controller.getTargetRaySpace(); + }; + this.getControllerGrip = function(index5) { + let controller = controllers[index5]; + if (controller === void 0) { + controller = new WebXRController(); + controllers[index5] = controller; + } + return controller.getGripSpace(); + }; + this.getHand = function(index5) { + let controller = controllers[index5]; + if (controller === void 0) { + controller = new WebXRController(); + controllers[index5] = controller; + } + return controller.getHandSpace(); + }; + function onSessionEvent(event) { + const controllerIndex = controllerInputSources.indexOf(event.inputSource); + if (controllerIndex === -1) { + return; + } + const controller = controllers[controllerIndex]; + if (controller !== void 0) { + controller.dispatchEvent({ type: event.type, data: event.inputSource }); + } + } + function onSessionEnd() { + session.removeEventListener("select", onSessionEvent); + session.removeEventListener("selectstart", onSessionEvent); + session.removeEventListener("selectend", onSessionEvent); + session.removeEventListener("squeeze", onSessionEvent); + session.removeEventListener("squeezestart", onSessionEvent); + session.removeEventListener("squeezeend", onSessionEvent); + session.removeEventListener("end", onSessionEnd); + session.removeEventListener("inputsourceschange", onInputSourcesChange); + for (let i = 0; i < controllers.length; i++) { + const inputSource = controllerInputSources[i]; + if (inputSource === null) + continue; + controllerInputSources[i] = null; + controllers[i].disconnect(inputSource); + } + _currentDepthNear = null; + _currentDepthFar = null; + renderer3.setRenderTarget(initialRenderTarget); + glBaseLayer = null; + glProjLayer = null; + glBinding = null; + session = null; + newRenderTarget = null; + animation.stop(); + scope.isPresenting = false; + scope.dispatchEvent({ type: "sessionend" }); + } + this.setFramebufferScaleFactor = function(value) { + framebufferScaleFactor = value; + if (scope.isPresenting === true) { + console.warn("THREE.WebXRManager: Cannot change framebuffer scale while presenting."); + } + }; + this.setReferenceSpaceType = function(value) { + referenceSpaceType = value; + if (scope.isPresenting === true) { + console.warn("THREE.WebXRManager: Cannot change reference space type while presenting."); + } + }; + this.getReferenceSpace = function() { + return customReferenceSpace || referenceSpace; + }; + this.setReferenceSpace = function(space) { + customReferenceSpace = space; + }; + this.getBaseLayer = function() { + return glProjLayer !== null ? glProjLayer : glBaseLayer; + }; + this.getBinding = function() { + return glBinding; + }; + this.getFrame = function() { + return xrFrame; + }; + this.getSession = function() { + return session; + }; + this.setSession = async function(value) { + session = value; + if (session !== null) { + initialRenderTarget = renderer3.getRenderTarget(); + session.addEventListener("select", onSessionEvent); + session.addEventListener("selectstart", onSessionEvent); + session.addEventListener("selectend", onSessionEvent); + session.addEventListener("squeeze", onSessionEvent); + session.addEventListener("squeezestart", onSessionEvent); + session.addEventListener("squeezeend", onSessionEvent); + session.addEventListener("end", onSessionEnd); + session.addEventListener("inputsourceschange", onInputSourcesChange); + if (attributes.xrCompatible !== true) { + await gl.makeXRCompatible(); + } + if (session.renderState.layers === void 0 || renderer3.capabilities.isWebGL2 === false) { + const layerInit = { + antialias: session.renderState.layers === void 0 ? attributes.antialias : true, + alpha: attributes.alpha, + depth: attributes.depth, + stencil: attributes.stencil, + framebufferScaleFactor + }; + glBaseLayer = new XRWebGLLayer(session, gl, layerInit); + session.updateRenderState({ baseLayer: glBaseLayer }); + newRenderTarget = new WebGLRenderTarget(glBaseLayer.framebufferWidth, glBaseLayer.framebufferHeight, { + format: RGBAFormat, + type: UnsignedByteType, + encoding: renderer3.outputEncoding, + stencilBuffer: attributes.stencil + }); + } else { + let depthFormat = null; + let depthType = null; + let glDepthFormat = null; + if (attributes.depth) { + glDepthFormat = attributes.stencil ? 35056 : 33190; + depthFormat = attributes.stencil ? DepthStencilFormat : DepthFormat; + depthType = attributes.stencil ? UnsignedInt248Type : UnsignedIntType; + } + const projectionlayerInit = { + colorFormat: 32856, + depthFormat: glDepthFormat, + scaleFactor: framebufferScaleFactor + }; + glBinding = new XRWebGLBinding(session, gl); + glProjLayer = glBinding.createProjectionLayer(projectionlayerInit); + session.updateRenderState({ layers: [glProjLayer] }); + newRenderTarget = new WebGLRenderTarget(glProjLayer.textureWidth, glProjLayer.textureHeight, { + format: RGBAFormat, + type: UnsignedByteType, + depthTexture: new DepthTexture(glProjLayer.textureWidth, glProjLayer.textureHeight, depthType, void 0, void 0, void 0, void 0, void 0, void 0, depthFormat), + stencilBuffer: attributes.stencil, + encoding: renderer3.outputEncoding, + samples: attributes.antialias ? 4 : 0 + }); + const renderTargetProperties = renderer3.properties.get(newRenderTarget); + renderTargetProperties.__ignoreDepthValues = glProjLayer.ignoreDepthValues; + } + newRenderTarget.isXRRenderTarget = true; + this.setFoveation(1); + customReferenceSpace = null; + referenceSpace = await session.requestReferenceSpace(referenceSpaceType); + animation.setContext(session); + animation.start(); + scope.isPresenting = true; + scope.dispatchEvent({ type: "sessionstart" }); + } + }; + function onInputSourcesChange(event) { + for (let i = 0; i < event.removed.length; i++) { + const inputSource = event.removed[i]; + const index5 = controllerInputSources.indexOf(inputSource); + if (index5 >= 0) { + controllerInputSources[index5] = null; + controllers[index5].dispatchEvent({ type: "disconnected", data: inputSource }); + } + } + for (let i = 0; i < event.added.length; i++) { + const inputSource = event.added[i]; + let controllerIndex = controllerInputSources.indexOf(inputSource); + if (controllerIndex === -1) { + for (let i2 = 0; i2 < controllers.length; i2++) { + if (i2 >= controllerInputSources.length) { + controllerInputSources.push(inputSource); + controllerIndex = i2; + break; + } else if (controllerInputSources[i2] === null) { + controllerInputSources[i2] = inputSource; + controllerIndex = i2; + break; + } + } + if (controllerIndex === -1) + break; + } + const controller = controllers[controllerIndex]; + if (controller) { + controller.dispatchEvent({ type: "connected", data: inputSource }); + } + } + } + const cameraLPos = new Vector3(); + const cameraRPos = new Vector3(); + function setProjectionFromUnion(camera3, cameraL2, cameraR2) { + cameraLPos.setFromMatrixPosition(cameraL2.matrixWorld); + cameraRPos.setFromMatrixPosition(cameraR2.matrixWorld); + const ipd = cameraLPos.distanceTo(cameraRPos); + const projL = cameraL2.projectionMatrix.elements; + const projR = cameraR2.projectionMatrix.elements; + const near = projL[14] / (projL[10] - 1); + const far = projL[14] / (projL[10] + 1); + const topFov = (projL[9] + 1) / projL[5]; + const bottomFov = (projL[9] - 1) / projL[5]; + const leftFov = (projL[8] - 1) / projL[0]; + const rightFov = (projR[8] + 1) / projR[0]; + const left = near * leftFov; + const right = near * rightFov; + const zOffset = ipd / (-leftFov + rightFov); + const xOffset = zOffset * -leftFov; + cameraL2.matrixWorld.decompose(camera3.position, camera3.quaternion, camera3.scale); + camera3.translateX(xOffset); + camera3.translateZ(zOffset); + camera3.matrixWorld.compose(camera3.position, camera3.quaternion, camera3.scale); + camera3.matrixWorldInverse.copy(camera3.matrixWorld).invert(); + const near2 = near + zOffset; + const far2 = far + zOffset; + const left2 = left - xOffset; + const right2 = right + (ipd - xOffset); + const top2 = topFov * far / far2 * near2; + const bottom2 = bottomFov * far / far2 * near2; + camera3.projectionMatrix.makePerspective(left2, right2, top2, bottom2, near2, far2); + } + function updateCamera(camera3, parent) { + if (parent === null) { + camera3.matrixWorld.copy(camera3.matrix); + } else { + camera3.matrixWorld.multiplyMatrices(parent.matrixWorld, camera3.matrix); + } + camera3.matrixWorldInverse.copy(camera3.matrixWorld).invert(); + } + this.updateCamera = function(camera3) { + if (session === null) + return; + cameraVR.near = cameraR.near = cameraL.near = camera3.near; + cameraVR.far = cameraR.far = cameraL.far = camera3.far; + if (_currentDepthNear !== cameraVR.near || _currentDepthFar !== cameraVR.far) { + session.updateRenderState({ + depthNear: cameraVR.near, + depthFar: cameraVR.far + }); + _currentDepthNear = cameraVR.near; + _currentDepthFar = cameraVR.far; + } + const parent = camera3.parent; + const cameras2 = cameraVR.cameras; + updateCamera(cameraVR, parent); + for (let i = 0; i < cameras2.length; i++) { + updateCamera(cameras2[i], parent); + } + cameraVR.matrixWorld.decompose(cameraVR.position, cameraVR.quaternion, cameraVR.scale); + camera3.matrix.copy(cameraVR.matrix); + camera3.matrix.decompose(camera3.position, camera3.quaternion, camera3.scale); + const children = camera3.children; + for (let i = 0, l = children.length; i < l; i++) { + children[i].updateMatrixWorld(true); + } + if (cameras2.length === 2) { + setProjectionFromUnion(cameraVR, cameraL, cameraR); + } else { + cameraVR.projectionMatrix.copy(cameraL.projectionMatrix); + } + }; + this.getCamera = function() { + return cameraVR; + }; + this.getFoveation = function() { + if (glProjLayer !== null) { + return glProjLayer.fixedFoveation; + } + if (glBaseLayer !== null) { + return glBaseLayer.fixedFoveation; + } + return void 0; + }; + this.setFoveation = function(foveation) { + if (glProjLayer !== null) { + glProjLayer.fixedFoveation = foveation; + } + if (glBaseLayer !== null && glBaseLayer.fixedFoveation !== void 0) { + glBaseLayer.fixedFoveation = foveation; + } + }; + let onAnimationFrameCallback = null; + function onAnimationFrame(time, frame2) { + pose = frame2.getViewerPose(customReferenceSpace || referenceSpace); + xrFrame = frame2; + if (pose !== null) { + const views = pose.views; + if (glBaseLayer !== null) { + renderer3.setRenderTargetFramebuffer(newRenderTarget, glBaseLayer.framebuffer); + renderer3.setRenderTarget(newRenderTarget); + } + let cameraVRNeedsUpdate = false; + if (views.length !== cameraVR.cameras.length) { + cameraVR.cameras.length = 0; + cameraVRNeedsUpdate = true; + } + for (let i = 0; i < views.length; i++) { + const view = views[i]; + let viewport = null; + if (glBaseLayer !== null) { + viewport = glBaseLayer.getViewport(view); + } else { + const glSubImage = glBinding.getViewSubImage(glProjLayer, view); + viewport = glSubImage.viewport; + if (i === 0) { + renderer3.setRenderTargetTextures(newRenderTarget, glSubImage.colorTexture, glProjLayer.ignoreDepthValues ? void 0 : glSubImage.depthStencilTexture); + renderer3.setRenderTarget(newRenderTarget); + } + } + let camera3 = cameras[i]; + if (camera3 === void 0) { + camera3 = new PerspectiveCamera(); + camera3.layers.enable(i); + camera3.viewport = new Vector4(); + cameras[i] = camera3; + } + camera3.matrix.fromArray(view.transform.matrix); + camera3.projectionMatrix.fromArray(view.projectionMatrix); + camera3.viewport.set(viewport.x, viewport.y, viewport.width, viewport.height); + if (i === 0) { + cameraVR.matrix.copy(camera3.matrix); + } + if (cameraVRNeedsUpdate === true) { + cameraVR.cameras.push(camera3); + } + } + } + for (let i = 0; i < controllers.length; i++) { + const inputSource = controllerInputSources[i]; + const controller = controllers[i]; + if (inputSource !== null && controller !== void 0) { + controller.update(inputSource, frame2, customReferenceSpace || referenceSpace); + } + } + if (onAnimationFrameCallback) + onAnimationFrameCallback(time, frame2); + xrFrame = null; + } + const animation = new WebGLAnimation(); + animation.setAnimationLoop(onAnimationFrame); + this.setAnimationLoop = function(callback) { + onAnimationFrameCallback = callback; + }; + this.dispose = function() { + }; + } +}; +function WebGLMaterials(renderer3, properties) { + function refreshFogUniforms(uniforms, fog) { + uniforms.fogColor.value.copy(fog.color); + if (fog.isFog) { + uniforms.fogNear.value = fog.near; + uniforms.fogFar.value = fog.far; + } else if (fog.isFogExp2) { + uniforms.fogDensity.value = fog.density; + } + } + function refreshMaterialUniforms(uniforms, material, pixelRatio, height, transmissionRenderTarget) { + if (material.isMeshBasicMaterial) { + refreshUniformsCommon(uniforms, material); + } else if (material.isMeshLambertMaterial) { + refreshUniformsCommon(uniforms, material); + } else if (material.isMeshToonMaterial) { + refreshUniformsCommon(uniforms, material); + refreshUniformsToon(uniforms, material); + } else if (material.isMeshPhongMaterial) { + refreshUniformsCommon(uniforms, material); + refreshUniformsPhong(uniforms, material); + } else if (material.isMeshStandardMaterial) { + refreshUniformsCommon(uniforms, material); + refreshUniformsStandard(uniforms, material); + if (material.isMeshPhysicalMaterial) { + refreshUniformsPhysical(uniforms, material, transmissionRenderTarget); + } + } else if (material.isMeshMatcapMaterial) { + refreshUniformsCommon(uniforms, material); + refreshUniformsMatcap(uniforms, material); + } else if (material.isMeshDepthMaterial) { + refreshUniformsCommon(uniforms, material); + } else if (material.isMeshDistanceMaterial) { + refreshUniformsCommon(uniforms, material); + refreshUniformsDistance(uniforms, material); + } else if (material.isMeshNormalMaterial) { + refreshUniformsCommon(uniforms, material); + } else if (material.isLineBasicMaterial) { + refreshUniformsLine(uniforms, material); + if (material.isLineDashedMaterial) { + refreshUniformsDash(uniforms, material); + } + } else if (material.isPointsMaterial) { + refreshUniformsPoints(uniforms, material, pixelRatio, height); + } else if (material.isSpriteMaterial) { + refreshUniformsSprites(uniforms, material); + } else if (material.isShadowMaterial) { + uniforms.color.value.copy(material.color); + uniforms.opacity.value = material.opacity; + } else if (material.isShaderMaterial) { + material.uniformsNeedUpdate = false; + } + } + function refreshUniformsCommon(uniforms, material) { + uniforms.opacity.value = material.opacity; + if (material.color) { + uniforms.diffuse.value.copy(material.color); + } + if (material.emissive) { + uniforms.emissive.value.copy(material.emissive).multiplyScalar(material.emissiveIntensity); + } + if (material.map) { + uniforms.map.value = material.map; + } + if (material.alphaMap) { + uniforms.alphaMap.value = material.alphaMap; + } + if (material.bumpMap) { + uniforms.bumpMap.value = material.bumpMap; + uniforms.bumpScale.value = material.bumpScale; + if (material.side === BackSide) + uniforms.bumpScale.value *= -1; + } + if (material.displacementMap) { + uniforms.displacementMap.value = material.displacementMap; + uniforms.displacementScale.value = material.displacementScale; + uniforms.displacementBias.value = material.displacementBias; + } + if (material.emissiveMap) { + uniforms.emissiveMap.value = material.emissiveMap; + } + if (material.normalMap) { + uniforms.normalMap.value = material.normalMap; + uniforms.normalScale.value.copy(material.normalScale); + if (material.side === BackSide) + uniforms.normalScale.value.negate(); + } + if (material.specularMap) { + uniforms.specularMap.value = material.specularMap; + } + if (material.alphaTest > 0) { + uniforms.alphaTest.value = material.alphaTest; + } + const envMap = properties.get(material).envMap; + if (envMap) { + uniforms.envMap.value = envMap; + uniforms.flipEnvMap.value = envMap.isCubeTexture && envMap.isRenderTargetTexture === false ? -1 : 1; + uniforms.reflectivity.value = material.reflectivity; + uniforms.ior.value = material.ior; + uniforms.refractionRatio.value = material.refractionRatio; + } + if (material.lightMap) { + uniforms.lightMap.value = material.lightMap; + const scaleFactor = renderer3.physicallyCorrectLights !== true ? Math.PI : 1; + uniforms.lightMapIntensity.value = material.lightMapIntensity * scaleFactor; + } + if (material.aoMap) { + uniforms.aoMap.value = material.aoMap; + uniforms.aoMapIntensity.value = material.aoMapIntensity; + } + let uvScaleMap; + if (material.map) { + uvScaleMap = material.map; + } else if (material.specularMap) { + uvScaleMap = material.specularMap; + } else if (material.displacementMap) { + uvScaleMap = material.displacementMap; + } else if (material.normalMap) { + uvScaleMap = material.normalMap; + } else if (material.bumpMap) { + uvScaleMap = material.bumpMap; + } else if (material.roughnessMap) { + uvScaleMap = material.roughnessMap; + } else if (material.metalnessMap) { + uvScaleMap = material.metalnessMap; + } else if (material.alphaMap) { + uvScaleMap = material.alphaMap; + } else if (material.emissiveMap) { + uvScaleMap = material.emissiveMap; + } else if (material.clearcoatMap) { + uvScaleMap = material.clearcoatMap; + } else if (material.clearcoatNormalMap) { + uvScaleMap = material.clearcoatNormalMap; + } else if (material.clearcoatRoughnessMap) { + uvScaleMap = material.clearcoatRoughnessMap; + } else if (material.iridescenceMap) { + uvScaleMap = material.iridescenceMap; + } else if (material.iridescenceThicknessMap) { + uvScaleMap = material.iridescenceThicknessMap; + } else if (material.specularIntensityMap) { + uvScaleMap = material.specularIntensityMap; + } else if (material.specularColorMap) { + uvScaleMap = material.specularColorMap; + } else if (material.transmissionMap) { + uvScaleMap = material.transmissionMap; + } else if (material.thicknessMap) { + uvScaleMap = material.thicknessMap; + } else if (material.sheenColorMap) { + uvScaleMap = material.sheenColorMap; + } else if (material.sheenRoughnessMap) { + uvScaleMap = material.sheenRoughnessMap; + } + if (uvScaleMap !== void 0) { + if (uvScaleMap.isWebGLRenderTarget) { + uvScaleMap = uvScaleMap.texture; + } + if (uvScaleMap.matrixAutoUpdate === true) { + uvScaleMap.updateMatrix(); + } + uniforms.uvTransform.value.copy(uvScaleMap.matrix); + } + let uv2ScaleMap; + if (material.aoMap) { + uv2ScaleMap = material.aoMap; + } else if (material.lightMap) { + uv2ScaleMap = material.lightMap; + } + if (uv2ScaleMap !== void 0) { + if (uv2ScaleMap.isWebGLRenderTarget) { + uv2ScaleMap = uv2ScaleMap.texture; + } + if (uv2ScaleMap.matrixAutoUpdate === true) { + uv2ScaleMap.updateMatrix(); + } + uniforms.uv2Transform.value.copy(uv2ScaleMap.matrix); + } + } + function refreshUniformsLine(uniforms, material) { + uniforms.diffuse.value.copy(material.color); + uniforms.opacity.value = material.opacity; + } + function refreshUniformsDash(uniforms, material) { + uniforms.dashSize.value = material.dashSize; + uniforms.totalSize.value = material.dashSize + material.gapSize; + uniforms.scale.value = material.scale; + } + function refreshUniformsPoints(uniforms, material, pixelRatio, height) { + uniforms.diffuse.value.copy(material.color); + uniforms.opacity.value = material.opacity; + uniforms.size.value = material.size * pixelRatio; + uniforms.scale.value = height * 0.5; + if (material.map) { + uniforms.map.value = material.map; + } + if (material.alphaMap) { + uniforms.alphaMap.value = material.alphaMap; + } + if (material.alphaTest > 0) { + uniforms.alphaTest.value = material.alphaTest; + } + let uvScaleMap; + if (material.map) { + uvScaleMap = material.map; + } else if (material.alphaMap) { + uvScaleMap = material.alphaMap; + } + if (uvScaleMap !== void 0) { + if (uvScaleMap.matrixAutoUpdate === true) { + uvScaleMap.updateMatrix(); + } + uniforms.uvTransform.value.copy(uvScaleMap.matrix); + } + } + function refreshUniformsSprites(uniforms, material) { + uniforms.diffuse.value.copy(material.color); + uniforms.opacity.value = material.opacity; + uniforms.rotation.value = material.rotation; + if (material.map) { + uniforms.map.value = material.map; + } + if (material.alphaMap) { + uniforms.alphaMap.value = material.alphaMap; + } + if (material.alphaTest > 0) { + uniforms.alphaTest.value = material.alphaTest; + } + let uvScaleMap; + if (material.map) { + uvScaleMap = material.map; + } else if (material.alphaMap) { + uvScaleMap = material.alphaMap; + } + if (uvScaleMap !== void 0) { + if (uvScaleMap.matrixAutoUpdate === true) { + uvScaleMap.updateMatrix(); + } + uniforms.uvTransform.value.copy(uvScaleMap.matrix); + } + } + function refreshUniformsPhong(uniforms, material) { + uniforms.specular.value.copy(material.specular); + uniforms.shininess.value = Math.max(material.shininess, 1e-4); + } + function refreshUniformsToon(uniforms, material) { + if (material.gradientMap) { + uniforms.gradientMap.value = material.gradientMap; + } + } + function refreshUniformsStandard(uniforms, material) { + uniforms.roughness.value = material.roughness; + uniforms.metalness.value = material.metalness; + if (material.roughnessMap) { + uniforms.roughnessMap.value = material.roughnessMap; + } + if (material.metalnessMap) { + uniforms.metalnessMap.value = material.metalnessMap; + } + const envMap = properties.get(material).envMap; + if (envMap) { + uniforms.envMapIntensity.value = material.envMapIntensity; + } + } + function refreshUniformsPhysical(uniforms, material, transmissionRenderTarget) { + uniforms.ior.value = material.ior; + if (material.sheen > 0) { + uniforms.sheenColor.value.copy(material.sheenColor).multiplyScalar(material.sheen); + uniforms.sheenRoughness.value = material.sheenRoughness; + if (material.sheenColorMap) { + uniforms.sheenColorMap.value = material.sheenColorMap; + } + if (material.sheenRoughnessMap) { + uniforms.sheenRoughnessMap.value = material.sheenRoughnessMap; + } + } + if (material.clearcoat > 0) { + uniforms.clearcoat.value = material.clearcoat; + uniforms.clearcoatRoughness.value = material.clearcoatRoughness; + if (material.clearcoatMap) { + uniforms.clearcoatMap.value = material.clearcoatMap; + } + if (material.clearcoatRoughnessMap) { + uniforms.clearcoatRoughnessMap.value = material.clearcoatRoughnessMap; + } + if (material.clearcoatNormalMap) { + uniforms.clearcoatNormalScale.value.copy(material.clearcoatNormalScale); + uniforms.clearcoatNormalMap.value = material.clearcoatNormalMap; + if (material.side === BackSide) { + uniforms.clearcoatNormalScale.value.negate(); + } + } + } + if (material.iridescence > 0) { + uniforms.iridescence.value = material.iridescence; + uniforms.iridescenceIOR.value = material.iridescenceIOR; + uniforms.iridescenceThicknessMinimum.value = material.iridescenceThicknessRange[0]; + uniforms.iridescenceThicknessMaximum.value = material.iridescenceThicknessRange[1]; + if (material.iridescenceMap) { + uniforms.iridescenceMap.value = material.iridescenceMap; + } + if (material.iridescenceThicknessMap) { + uniforms.iridescenceThicknessMap.value = material.iridescenceThicknessMap; + } + } + if (material.transmission > 0) { + uniforms.transmission.value = material.transmission; + uniforms.transmissionSamplerMap.value = transmissionRenderTarget.texture; + uniforms.transmissionSamplerSize.value.set(transmissionRenderTarget.width, transmissionRenderTarget.height); + if (material.transmissionMap) { + uniforms.transmissionMap.value = material.transmissionMap; + } + uniforms.thickness.value = material.thickness; + if (material.thicknessMap) { + uniforms.thicknessMap.value = material.thicknessMap; + } + uniforms.attenuationDistance.value = material.attenuationDistance; + uniforms.attenuationColor.value.copy(material.attenuationColor); + } + uniforms.specularIntensity.value = material.specularIntensity; + uniforms.specularColor.value.copy(material.specularColor); + if (material.specularIntensityMap) { + uniforms.specularIntensityMap.value = material.specularIntensityMap; + } + if (material.specularColorMap) { + uniforms.specularColorMap.value = material.specularColorMap; + } + } + function refreshUniformsMatcap(uniforms, material) { + if (material.matcap) { + uniforms.matcap.value = material.matcap; + } + } + function refreshUniformsDistance(uniforms, material) { + uniforms.referencePosition.value.copy(material.referencePosition); + uniforms.nearDistance.value = material.nearDistance; + uniforms.farDistance.value = material.farDistance; + } + return { + refreshFogUniforms, + refreshMaterialUniforms + }; +} +function WebGLUniformsGroups(gl, info, capabilities, state) { + let buffers = {}; + let updateList = {}; + let allocatedBindingPoints = []; + const maxBindingPoints = capabilities.isWebGL2 ? gl.getParameter(35375) : 0; + function bind(uniformsGroup, program) { + const webglProgram = program.program; + state.uniformBlockBinding(uniformsGroup, webglProgram); + } + function update4(uniformsGroup, program) { + let buffer = buffers[uniformsGroup.id]; + if (buffer === void 0) { + prepareUniformsGroup(uniformsGroup); + buffer = createBuffer(uniformsGroup); + buffers[uniformsGroup.id] = buffer; + uniformsGroup.addEventListener("dispose", onUniformsGroupsDispose); + } + const webglProgram = program.program; + state.updateUBOMapping(uniformsGroup, webglProgram); + const frame2 = info.render.frame; + if (updateList[uniformsGroup.id] !== frame2) { + updateBufferData(uniformsGroup); + updateList[uniformsGroup.id] = frame2; + } + } + function createBuffer(uniformsGroup) { + const bindingPointIndex = allocateBindingPointIndex(); + uniformsGroup.__bindingPointIndex = bindingPointIndex; + const buffer = gl.createBuffer(); + const size = uniformsGroup.__size; + const usage = uniformsGroup.usage; + gl.bindBuffer(35345, buffer); + gl.bufferData(35345, size, usage); + gl.bindBuffer(35345, null); + gl.bindBufferBase(35345, bindingPointIndex, buffer); + return buffer; + } + function allocateBindingPointIndex() { + for (let i = 0; i < maxBindingPoints; i++) { + if (allocatedBindingPoints.indexOf(i) === -1) { + allocatedBindingPoints.push(i); + return i; + } + } + console.error("THREE.WebGLRenderer: Maximum number of simultaneously usable uniforms groups reached."); + return 0; + } + function updateBufferData(uniformsGroup) { + const buffer = buffers[uniformsGroup.id]; + const uniforms = uniformsGroup.uniforms; + const cache = uniformsGroup.__cache; + gl.bindBuffer(35345, buffer); + for (let i = 0, il = uniforms.length; i < il; i++) { + const uniform = uniforms[i]; + if (hasUniformChanged(uniform, i, cache) === true) { + const value = uniform.value; + const offset = uniform.__offset; + if (typeof value === "number") { + uniform.__data[0] = value; + gl.bufferSubData(35345, offset, uniform.__data); + } else { + if (uniform.value.isMatrix3) { + uniform.__data[0] = uniform.value.elements[0]; + uniform.__data[1] = uniform.value.elements[1]; + uniform.__data[2] = uniform.value.elements[2]; + uniform.__data[3] = uniform.value.elements[0]; + uniform.__data[4] = uniform.value.elements[3]; + uniform.__data[5] = uniform.value.elements[4]; + uniform.__data[6] = uniform.value.elements[5]; + uniform.__data[7] = uniform.value.elements[0]; + uniform.__data[8] = uniform.value.elements[6]; + uniform.__data[9] = uniform.value.elements[7]; + uniform.__data[10] = uniform.value.elements[8]; + uniform.__data[11] = uniform.value.elements[0]; + } else { + value.toArray(uniform.__data); + } + gl.bufferSubData(35345, offset, uniform.__data); + } + } + } + gl.bindBuffer(35345, null); + } + function hasUniformChanged(uniform, index5, cache) { + const value = uniform.value; + if (cache[index5] === void 0) { + if (typeof value === "number") { + cache[index5] = value; + } else { + cache[index5] = value.clone(); + } + return true; + } else { + if (typeof value === "number") { + if (cache[index5] !== value) { + cache[index5] = value; + return true; + } + } else { + const cachedObject = cache[index5]; + if (cachedObject.equals(value) === false) { + cachedObject.copy(value); + return true; + } + } + } + return false; + } + function prepareUniformsGroup(uniformsGroup) { + const uniforms = uniformsGroup.uniforms; + let offset = 0; + const chunkSize = 16; + let chunkOffset = 0; + for (let i = 0, l = uniforms.length; i < l; i++) { + const uniform = uniforms[i]; + const info2 = getUniformSize(uniform); + uniform.__data = new Float32Array(info2.storage / Float32Array.BYTES_PER_ELEMENT); + uniform.__offset = offset; + if (i > 0) { + chunkOffset = offset % chunkSize; + const remainingSizeInChunk = chunkSize - chunkOffset; + if (chunkOffset !== 0 && remainingSizeInChunk - info2.boundary < 0) { + offset += chunkSize - chunkOffset; + uniform.__offset = offset; + } + } + offset += info2.storage; + } + chunkOffset = offset % chunkSize; + if (chunkOffset > 0) + offset += chunkSize - chunkOffset; + uniformsGroup.__size = offset; + uniformsGroup.__cache = {}; + return this; + } + function getUniformSize(uniform) { + const value = uniform.value; + const info2 = { + boundary: 0, + storage: 0 + }; + if (typeof value === "number") { + info2.boundary = 4; + info2.storage = 4; + } else if (value.isVector2) { + info2.boundary = 8; + info2.storage = 8; + } else if (value.isVector3 || value.isColor) { + info2.boundary = 16; + info2.storage = 12; + } else if (value.isVector4) { + info2.boundary = 16; + info2.storage = 16; + } else if (value.isMatrix3) { + info2.boundary = 48; + info2.storage = 48; + } else if (value.isMatrix4) { + info2.boundary = 64; + info2.storage = 64; + } else if (value.isTexture) { + console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."); + } else { + console.warn("THREE.WebGLRenderer: Unsupported uniform value type.", value); + } + return info2; + } + function onUniformsGroupsDispose(event) { + const uniformsGroup = event.target; + uniformsGroup.removeEventListener("dispose", onUniformsGroupsDispose); + const index5 = allocatedBindingPoints.indexOf(uniformsGroup.__bindingPointIndex); + allocatedBindingPoints.splice(index5, 1); + gl.deleteBuffer(buffers[uniformsGroup.id]); + delete buffers[uniformsGroup.id]; + delete updateList[uniformsGroup.id]; + } + function dispose() { + for (const id in buffers) { + gl.deleteBuffer(buffers[id]); + } + allocatedBindingPoints = []; + buffers = {}; + updateList = {}; + } + return { + bind, + update: update4, + dispose + }; +} +function createCanvasElement() { + const canvas = createElementNS("canvas"); + canvas.style.display = "block"; + return canvas; +} +function WebGLRenderer(parameters = {}) { + this.isWebGLRenderer = true; + const _canvas2 = parameters.canvas !== void 0 ? parameters.canvas : createCanvasElement(), _context = parameters.context !== void 0 ? parameters.context : null, _depth = parameters.depth !== void 0 ? parameters.depth : true, _stencil = parameters.stencil !== void 0 ? parameters.stencil : true, _antialias = parameters.antialias !== void 0 ? parameters.antialias : false, _premultipliedAlpha = parameters.premultipliedAlpha !== void 0 ? parameters.premultipliedAlpha : true, _preserveDrawingBuffer = parameters.preserveDrawingBuffer !== void 0 ? parameters.preserveDrawingBuffer : false, _powerPreference = parameters.powerPreference !== void 0 ? parameters.powerPreference : "default", _failIfMajorPerformanceCaveat = parameters.failIfMajorPerformanceCaveat !== void 0 ? parameters.failIfMajorPerformanceCaveat : false; + let _alpha; + if (_context !== null) { + _alpha = _context.getContextAttributes().alpha; + } else { + _alpha = parameters.alpha !== void 0 ? parameters.alpha : false; + } + let currentRenderList = null; + let currentRenderState = null; + const renderListStack = []; + const renderStateStack = []; + this.domElement = _canvas2; + this.debug = { + checkShaderErrors: true + }; + this.autoClear = true; + this.autoClearColor = true; + this.autoClearDepth = true; + this.autoClearStencil = true; + this.sortObjects = true; + this.clippingPlanes = []; + this.localClippingEnabled = false; + this.outputEncoding = LinearEncoding; + this.physicallyCorrectLights = false; + this.toneMapping = NoToneMapping; + this.toneMappingExposure = 1; + Object.defineProperties(this, { + gammaFactor: { + get: function() { + console.warn("THREE.WebGLRenderer: .gammaFactor has been removed."); + return 2; + }, + set: function() { + console.warn("THREE.WebGLRenderer: .gammaFactor has been removed."); + } + } + }); + const _this = this; + let _isContextLost = false; + let _currentActiveCubeFace = 0; + let _currentActiveMipmapLevel = 0; + let _currentRenderTarget = null; + let _currentMaterialId = -1; + let _currentCamera = null; + const _currentViewport = new Vector4(); + const _currentScissor = new Vector4(); + let _currentScissorTest = null; + let _width = _canvas2.width; + let _height = _canvas2.height; + let _pixelRatio = 1; + let _opaqueSort = null; + let _transparentSort = null; + const _viewport = new Vector4(0, 0, _width, _height); + const _scissor = new Vector4(0, 0, _width, _height); + let _scissorTest = false; + const _frustum = new Frustum(); + let _clippingEnabled = false; + let _localClippingEnabled = false; + let _transmissionRenderTarget = null; + const _projScreenMatrix = new Matrix4(); + const _vector22 = new Vector2(); + const _vector3 = new Vector3(); + const _emptyScene = { background: null, fog: null, environment: null, overrideMaterial: null, isScene: true }; + function getTargetPixelRatio() { + return _currentRenderTarget === null ? _pixelRatio : 1; + } + let _gl = _context; + function getContext(contextNames, contextAttributes) { + for (let i = 0; i < contextNames.length; i++) { + const contextName = contextNames[i]; + const context = _canvas2.getContext(contextName, contextAttributes); + if (context !== null) + return context; + } + return null; + } + try { + const contextAttributes = { + alpha: true, + depth: _depth, + stencil: _stencil, + antialias: _antialias, + premultipliedAlpha: _premultipliedAlpha, + preserveDrawingBuffer: _preserveDrawingBuffer, + powerPreference: _powerPreference, + failIfMajorPerformanceCaveat: _failIfMajorPerformanceCaveat + }; + if ("setAttribute" in _canvas2) + _canvas2.setAttribute("data-engine", `three.js r${REVISION}`); + _canvas2.addEventListener("webglcontextlost", onContextLost, false); + _canvas2.addEventListener("webglcontextrestored", onContextRestore, false); + _canvas2.addEventListener("webglcontextcreationerror", onContextCreationError, false); + if (_gl === null) { + const contextNames = ["webgl2", "webgl", "experimental-webgl"]; + if (_this.isWebGL1Renderer === true) { + contextNames.shift(); + } + _gl = getContext(contextNames, contextAttributes); + if (_gl === null) { + if (getContext(contextNames)) { + throw new Error("Error creating WebGL context with your selected attributes."); + } else { + throw new Error("Error creating WebGL context."); + } + } + } + if (_gl.getShaderPrecisionFormat === void 0) { + _gl.getShaderPrecisionFormat = function() { + return { "rangeMin": 1, "rangeMax": 1, "precision": 1 }; + }; + } + } catch (error) { + console.error("THREE.WebGLRenderer: " + error.message); + throw error; + } + let extensions, capabilities, state, info; + let properties, textures, cubemaps, cubeuvmaps, attributes, geometries, objects; + let programCache, materials, renderLists, renderStates, clipping, shadowMap; + let background, morphtargets, bufferRenderer, indexedBufferRenderer; + let utils, bindingStates, uniformsGroups; + function initGLContext() { + extensions = new WebGLExtensions(_gl); + capabilities = new WebGLCapabilities(_gl, extensions, parameters); + extensions.init(capabilities); + utils = new WebGLUtils(_gl, extensions, capabilities); + state = new WebGLState(_gl, extensions, capabilities); + info = new WebGLInfo(); + properties = new WebGLProperties(); + textures = new WebGLTextures(_gl, extensions, state, properties, capabilities, utils, info); + cubemaps = new WebGLCubeMaps(_this); + cubeuvmaps = new WebGLCubeUVMaps(_this); + attributes = new WebGLAttributes(_gl, capabilities); + bindingStates = new WebGLBindingStates(_gl, extensions, attributes, capabilities); + geometries = new WebGLGeometries(_gl, attributes, info, bindingStates); + objects = new WebGLObjects(_gl, geometries, attributes, info); + morphtargets = new WebGLMorphtargets(_gl, capabilities, textures); + clipping = new WebGLClipping(properties); + programCache = new WebGLPrograms(_this, cubemaps, cubeuvmaps, extensions, capabilities, bindingStates, clipping); + materials = new WebGLMaterials(_this, properties); + renderLists = new WebGLRenderLists(); + renderStates = new WebGLRenderStates(extensions, capabilities); + background = new WebGLBackground(_this, cubemaps, cubeuvmaps, state, objects, _alpha, _premultipliedAlpha); + shadowMap = new WebGLShadowMap(_this, objects, capabilities); + uniformsGroups = new WebGLUniformsGroups(_gl, info, capabilities, state); + bufferRenderer = new WebGLBufferRenderer(_gl, extensions, info, capabilities); + indexedBufferRenderer = new WebGLIndexedBufferRenderer(_gl, extensions, info, capabilities); + info.programs = programCache.programs; + _this.capabilities = capabilities; + _this.extensions = extensions; + _this.properties = properties; + _this.renderLists = renderLists; + _this.shadowMap = shadowMap; + _this.state = state; + _this.info = info; + } + initGLContext(); + const xr = new WebXRManager(_this, _gl); + this.xr = xr; + this.getContext = function() { + return _gl; + }; + this.getContextAttributes = function() { + return _gl.getContextAttributes(); + }; + this.forceContextLoss = function() { + const extension = extensions.get("WEBGL_lose_context"); + if (extension) + extension.loseContext(); + }; + this.forceContextRestore = function() { + const extension = extensions.get("WEBGL_lose_context"); + if (extension) + extension.restoreContext(); + }; + this.getPixelRatio = function() { + return _pixelRatio; + }; + this.setPixelRatio = function(value) { + if (value === void 0) + return; + _pixelRatio = value; + this.setSize(_width, _height, false); + }; + this.getSize = function(target) { + return target.set(_width, _height); + }; + this.setSize = function(width, height, updateStyle) { + if (xr.isPresenting) { + console.warn("THREE.WebGLRenderer: Can't change size while VR device is presenting."); + return; + } + _width = width; + _height = height; + _canvas2.width = Math.floor(width * _pixelRatio); + _canvas2.height = Math.floor(height * _pixelRatio); + if (updateStyle !== false) { + _canvas2.style.width = width + "px"; + _canvas2.style.height = height + "px"; + } + this.setViewport(0, 0, width, height); + }; + this.getDrawingBufferSize = function(target) { + return target.set(_width * _pixelRatio, _height * _pixelRatio).floor(); + }; + this.setDrawingBufferSize = function(width, height, pixelRatio) { + _width = width; + _height = height; + _pixelRatio = pixelRatio; + _canvas2.width = Math.floor(width * pixelRatio); + _canvas2.height = Math.floor(height * pixelRatio); + this.setViewport(0, 0, width, height); + }; + this.getCurrentViewport = function(target) { + return target.copy(_currentViewport); + }; + this.getViewport = function(target) { + return target.copy(_viewport); + }; + this.setViewport = function(x2, y2, width, height) { + if (x2.isVector4) { + _viewport.set(x2.x, x2.y, x2.z, x2.w); + } else { + _viewport.set(x2, y2, width, height); + } + state.viewport(_currentViewport.copy(_viewport).multiplyScalar(_pixelRatio).floor()); + }; + this.getScissor = function(target) { + return target.copy(_scissor); + }; + this.setScissor = function(x2, y2, width, height) { + if (x2.isVector4) { + _scissor.set(x2.x, x2.y, x2.z, x2.w); + } else { + _scissor.set(x2, y2, width, height); + } + state.scissor(_currentScissor.copy(_scissor).multiplyScalar(_pixelRatio).floor()); + }; + this.getScissorTest = function() { + return _scissorTest; + }; + this.setScissorTest = function(boolean) { + state.setScissorTest(_scissorTest = boolean); + }; + this.setOpaqueSort = function(method) { + _opaqueSort = method; + }; + this.setTransparentSort = function(method) { + _transparentSort = method; + }; + this.getClearColor = function(target) { + return target.copy(background.getClearColor()); + }; + this.setClearColor = function() { + background.setClearColor.apply(background, arguments); + }; + this.getClearAlpha = function() { + return background.getClearAlpha(); + }; + this.setClearAlpha = function() { + background.setClearAlpha.apply(background, arguments); + }; + this.clear = function(color = true, depth = true, stencil = true) { + let bits = 0; + if (color) + bits |= 16384; + if (depth) + bits |= 256; + if (stencil) + bits |= 1024; + _gl.clear(bits); + }; + this.clearColor = function() { + this.clear(true, false, false); + }; + this.clearDepth = function() { + this.clear(false, true, false); + }; + this.clearStencil = function() { + this.clear(false, false, true); + }; + this.dispose = function() { + _canvas2.removeEventListener("webglcontextlost", onContextLost, false); + _canvas2.removeEventListener("webglcontextrestored", onContextRestore, false); + _canvas2.removeEventListener("webglcontextcreationerror", onContextCreationError, false); + renderLists.dispose(); + renderStates.dispose(); + properties.dispose(); + cubemaps.dispose(); + cubeuvmaps.dispose(); + objects.dispose(); + bindingStates.dispose(); + uniformsGroups.dispose(); + programCache.dispose(); + xr.dispose(); + xr.removeEventListener("sessionstart", onXRSessionStart); + xr.removeEventListener("sessionend", onXRSessionEnd); + if (_transmissionRenderTarget) { + _transmissionRenderTarget.dispose(); + _transmissionRenderTarget = null; + } + animation.stop(); + }; + function onContextLost(event) { + event.preventDefault(); + console.log("THREE.WebGLRenderer: Context Lost."); + _isContextLost = true; + } + function onContextRestore() { + console.log("THREE.WebGLRenderer: Context Restored."); + _isContextLost = false; + const infoAutoReset = info.autoReset; + const shadowMapEnabled = shadowMap.enabled; + const shadowMapAutoUpdate = shadowMap.autoUpdate; + const shadowMapNeedsUpdate = shadowMap.needsUpdate; + const shadowMapType = shadowMap.type; + initGLContext(); + info.autoReset = infoAutoReset; + shadowMap.enabled = shadowMapEnabled; + shadowMap.autoUpdate = shadowMapAutoUpdate; + shadowMap.needsUpdate = shadowMapNeedsUpdate; + shadowMap.type = shadowMapType; + } + function onContextCreationError(event) { + console.error("THREE.WebGLRenderer: A WebGL context could not be created. Reason: ", event.statusMessage); + } + function onMaterialDispose(event) { + const material = event.target; + material.removeEventListener("dispose", onMaterialDispose); + deallocateMaterial(material); + } + function deallocateMaterial(material) { + releaseMaterialProgramReferences(material); + properties.remove(material); + } + function releaseMaterialProgramReferences(material) { + const programs = properties.get(material).programs; + if (programs !== void 0) { + programs.forEach(function(program) { + programCache.releaseProgram(program); + }); + if (material.isShaderMaterial) { + programCache.releaseShaderCache(material); + } + } + } + this.renderBufferDirect = function(camera3, scene3, geometry, material, object, group) { + if (scene3 === null) + scene3 = _emptyScene; + const frontFaceCW = object.isMesh && object.matrixWorld.determinant() < 0; + const program = setProgram(camera3, scene3, geometry, material, object); + state.setMaterial(material, frontFaceCW); + let index5 = geometry.index; + const position = geometry.attributes.position; + if (index5 === null) { + if (position === void 0 || position.count === 0) + return; + } else if (index5.count === 0) { + return; + } + let rangeFactor = 1; + if (material.wireframe === true) { + index5 = geometries.getWireframeAttribute(geometry); + rangeFactor = 2; + } + bindingStates.setup(object, material, program, geometry, index5); + let attribute; + let renderer3 = bufferRenderer; + if (index5 !== null) { + attribute = attributes.get(index5); + renderer3 = indexedBufferRenderer; + renderer3.setIndex(attribute); + } + const dataCount = index5 !== null ? index5.count : position.count; + const rangeStart = geometry.drawRange.start * rangeFactor; + const rangeCount = geometry.drawRange.count * rangeFactor; + const groupStart = group !== null ? group.start * rangeFactor : 0; + const groupCount = group !== null ? group.count * rangeFactor : Infinity; + const drawStart = Math.max(rangeStart, groupStart); + const drawEnd = Math.min(dataCount, rangeStart + rangeCount, groupStart + groupCount) - 1; + const drawCount = Math.max(0, drawEnd - drawStart + 1); + if (drawCount === 0) + return; + if (object.isMesh) { + if (material.wireframe === true) { + state.setLineWidth(material.wireframeLinewidth * getTargetPixelRatio()); + renderer3.setMode(1); + } else { + renderer3.setMode(4); + } + } else if (object.isLine) { + let lineWidth = material.linewidth; + if (lineWidth === void 0) + lineWidth = 1; + state.setLineWidth(lineWidth * getTargetPixelRatio()); + if (object.isLineSegments) { + renderer3.setMode(1); + } else if (object.isLineLoop) { + renderer3.setMode(2); + } else { + renderer3.setMode(3); + } + } else if (object.isPoints) { + renderer3.setMode(0); + } else if (object.isSprite) { + renderer3.setMode(4); + } + if (object.isInstancedMesh) { + renderer3.renderInstances(drawStart, drawCount, object.count); + } else if (geometry.isInstancedBufferGeometry) { + const instanceCount = Math.min(geometry.instanceCount, geometry._maxInstanceCount); + renderer3.renderInstances(drawStart, drawCount, instanceCount); + } else { + renderer3.render(drawStart, drawCount); + } + }; + this.compile = function(scene3, camera3) { + function prepare(material, scene4, object) { + if (material.transparent === true && material.side === DoubleSide) { + material.side = BackSide; + material.needsUpdate = true; + getProgram(material, scene4, object); + material.side = FrontSide; + material.needsUpdate = true; + getProgram(material, scene4, object); + material.side = DoubleSide; + } else { + getProgram(material, scene4, object); + } + } + currentRenderState = renderStates.get(scene3); + currentRenderState.init(); + renderStateStack.push(currentRenderState); + scene3.traverseVisible(function(object) { + if (object.isLight && object.layers.test(camera3.layers)) { + currentRenderState.pushLight(object); + if (object.castShadow) { + currentRenderState.pushShadow(object); + } + } + }); + currentRenderState.setupLights(_this.physicallyCorrectLights); + scene3.traverse(function(object) { + const material = object.material; + if (material) { + if (Array.isArray(material)) { + for (let i = 0; i < material.length; i++) { + const material2 = material[i]; + prepare(material2, scene3, object); + } + } else { + prepare(material, scene3, object); + } + } + }); + renderStateStack.pop(); + currentRenderState = null; + }; + let onAnimationFrameCallback = null; + function onAnimationFrame(time) { + if (onAnimationFrameCallback) + onAnimationFrameCallback(time); + } + function onXRSessionStart() { + animation.stop(); + } + function onXRSessionEnd() { + animation.start(); + } + const animation = new WebGLAnimation(); + animation.setAnimationLoop(onAnimationFrame); + if (typeof self !== "undefined") + animation.setContext(self); + this.setAnimationLoop = function(callback) { + onAnimationFrameCallback = callback; + xr.setAnimationLoop(callback); + callback === null ? animation.stop() : animation.start(); + }; + xr.addEventListener("sessionstart", onXRSessionStart); + xr.addEventListener("sessionend", onXRSessionEnd); + this.render = function(scene3, camera3) { + if (camera3 !== void 0 && camera3.isCamera !== true) { + console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera."); + return; + } + if (_isContextLost === true) + return; + if (scene3.matrixWorldAutoUpdate === true) + scene3.updateMatrixWorld(); + if (camera3.parent === null && camera3.matrixWorldAutoUpdate === true) + camera3.updateMatrixWorld(); + if (xr.enabled === true && xr.isPresenting === true) { + if (xr.cameraAutoUpdate === true) + xr.updateCamera(camera3); + camera3 = xr.getCamera(); + } + if (scene3.isScene === true) + scene3.onBeforeRender(_this, scene3, camera3, _currentRenderTarget); + currentRenderState = renderStates.get(scene3, renderStateStack.length); + currentRenderState.init(); + renderStateStack.push(currentRenderState); + _projScreenMatrix.multiplyMatrices(camera3.projectionMatrix, camera3.matrixWorldInverse); + _frustum.setFromProjectionMatrix(_projScreenMatrix); + _localClippingEnabled = this.localClippingEnabled; + _clippingEnabled = clipping.init(this.clippingPlanes, _localClippingEnabled, camera3); + currentRenderList = renderLists.get(scene3, renderListStack.length); + currentRenderList.init(); + renderListStack.push(currentRenderList); + projectObject(scene3, camera3, 0, _this.sortObjects); + currentRenderList.finish(); + if (_this.sortObjects === true) { + currentRenderList.sort(_opaqueSort, _transparentSort); + } + if (_clippingEnabled === true) + clipping.beginShadows(); + const shadowsArray = currentRenderState.state.shadowsArray; + shadowMap.render(shadowsArray, scene3, camera3); + if (_clippingEnabled === true) + clipping.endShadows(); + if (this.info.autoReset === true) + this.info.reset(); + background.render(currentRenderList, scene3); + currentRenderState.setupLights(_this.physicallyCorrectLights); + if (camera3.isArrayCamera) { + const cameras = camera3.cameras; + for (let i = 0, l = cameras.length; i < l; i++) { + const camera22 = cameras[i]; + renderScene(currentRenderList, scene3, camera22, camera22.viewport); + } + } else { + renderScene(currentRenderList, scene3, camera3); + } + if (_currentRenderTarget !== null) { + textures.updateMultisampleRenderTarget(_currentRenderTarget); + textures.updateRenderTargetMipmap(_currentRenderTarget); + } + if (scene3.isScene === true) + scene3.onAfterRender(_this, scene3, camera3); + bindingStates.resetDefaultState(); + _currentMaterialId = -1; + _currentCamera = null; + renderStateStack.pop(); + if (renderStateStack.length > 0) { + currentRenderState = renderStateStack[renderStateStack.length - 1]; + } else { + currentRenderState = null; + } + renderListStack.pop(); + if (renderListStack.length > 0) { + currentRenderList = renderListStack[renderListStack.length - 1]; + } else { + currentRenderList = null; + } + }; + function projectObject(object, camera3, groupOrder, sortObjects) { + if (object.visible === false) + return; + const visible = object.layers.test(camera3.layers); + if (visible) { + if (object.isGroup) { + groupOrder = object.renderOrder; + } else if (object.isLOD) { + if (object.autoUpdate === true) + object.update(camera3); + } else if (object.isLight) { + currentRenderState.pushLight(object); + if (object.castShadow) { + currentRenderState.pushShadow(object); + } + } else if (object.isSprite) { + if (!object.frustumCulled || _frustum.intersectsSprite(object)) { + if (sortObjects) { + _vector3.setFromMatrixPosition(object.matrixWorld).applyMatrix4(_projScreenMatrix); + } + const geometry = objects.update(object); + const material = object.material; + if (material.visible) { + currentRenderList.push(object, geometry, material, groupOrder, _vector3.z, null); + } + } + } else if (object.isMesh || object.isLine || object.isPoints) { + if (object.isSkinnedMesh) { + if (object.skeleton.frame !== info.render.frame) { + object.skeleton.update(); + object.skeleton.frame = info.render.frame; + } + } + if (!object.frustumCulled || _frustum.intersectsObject(object)) { + if (sortObjects) { + _vector3.setFromMatrixPosition(object.matrixWorld).applyMatrix4(_projScreenMatrix); + } + const geometry = objects.update(object); + const material = object.material; + if (Array.isArray(material)) { + const groups = geometry.groups; + for (let i = 0, l = groups.length; i < l; i++) { + const group = groups[i]; + const groupMaterial = material[group.materialIndex]; + if (groupMaterial && groupMaterial.visible) { + currentRenderList.push(object, geometry, groupMaterial, groupOrder, _vector3.z, group); + } + } + } else if (material.visible) { + currentRenderList.push(object, geometry, material, groupOrder, _vector3.z, null); + } + } + } + } + const children = object.children; + for (let i = 0, l = children.length; i < l; i++) { + projectObject(children[i], camera3, groupOrder, sortObjects); + } + } + function renderScene(currentRenderList2, scene3, camera3, viewport) { + const opaqueObjects = currentRenderList2.opaque; + const transmissiveObjects = currentRenderList2.transmissive; + const transparentObjects = currentRenderList2.transparent; + currentRenderState.setupLightsView(camera3); + if (transmissiveObjects.length > 0) + renderTransmissionPass(opaqueObjects, scene3, camera3); + if (viewport) + state.viewport(_currentViewport.copy(viewport)); + if (opaqueObjects.length > 0) + renderObjects(opaqueObjects, scene3, camera3); + if (transmissiveObjects.length > 0) + renderObjects(transmissiveObjects, scene3, camera3); + if (transparentObjects.length > 0) + renderObjects(transparentObjects, scene3, camera3); + state.buffers.depth.setTest(true); + state.buffers.depth.setMask(true); + state.buffers.color.setMask(true); + state.setPolygonOffset(false); + } + function renderTransmissionPass(opaqueObjects, scene3, camera3) { + const isWebGL2 = capabilities.isWebGL2; + if (_transmissionRenderTarget === null) { + _transmissionRenderTarget = new WebGLRenderTarget(1, 1, { + generateMipmaps: true, + type: extensions.has("EXT_color_buffer_half_float") ? HalfFloatType : UnsignedByteType, + minFilter: LinearMipmapLinearFilter, + samples: isWebGL2 && _antialias === true ? 4 : 0 + }); + } + _this.getDrawingBufferSize(_vector22); + if (isWebGL2) { + _transmissionRenderTarget.setSize(_vector22.x, _vector22.y); + } else { + _transmissionRenderTarget.setSize(floorPowerOfTwo(_vector22.x), floorPowerOfTwo(_vector22.y)); + } + const currentRenderTarget = _this.getRenderTarget(); + _this.setRenderTarget(_transmissionRenderTarget); + _this.clear(); + const currentToneMapping = _this.toneMapping; + _this.toneMapping = NoToneMapping; + renderObjects(opaqueObjects, scene3, camera3); + _this.toneMapping = currentToneMapping; + textures.updateMultisampleRenderTarget(_transmissionRenderTarget); + textures.updateRenderTargetMipmap(_transmissionRenderTarget); + _this.setRenderTarget(currentRenderTarget); + } + function renderObjects(renderList, scene3, camera3) { + const overrideMaterial = scene3.isScene === true ? scene3.overrideMaterial : null; + for (let i = 0, l = renderList.length; i < l; i++) { + const renderItem = renderList[i]; + const object = renderItem.object; + const geometry = renderItem.geometry; + const material = overrideMaterial === null ? renderItem.material : overrideMaterial; + const group = renderItem.group; + if (object.layers.test(camera3.layers)) { + renderObject(object, scene3, camera3, geometry, material, group); + } + } + } + function renderObject(object, scene3, camera3, geometry, material, group) { + object.onBeforeRender(_this, scene3, camera3, geometry, material, group); + object.modelViewMatrix.multiplyMatrices(camera3.matrixWorldInverse, object.matrixWorld); + object.normalMatrix.getNormalMatrix(object.modelViewMatrix); + material.onBeforeRender(_this, scene3, camera3, geometry, object, group); + if (material.transparent === true && material.side === DoubleSide) { + material.side = BackSide; + material.needsUpdate = true; + _this.renderBufferDirect(camera3, scene3, geometry, material, object, group); + material.side = FrontSide; + material.needsUpdate = true; + _this.renderBufferDirect(camera3, scene3, geometry, material, object, group); + material.side = DoubleSide; + } else { + _this.renderBufferDirect(camera3, scene3, geometry, material, object, group); + } + object.onAfterRender(_this, scene3, camera3, geometry, material, group); + } + function getProgram(material, scene3, object) { + if (scene3.isScene !== true) + scene3 = _emptyScene; + const materialProperties = properties.get(material); + const lights = currentRenderState.state.lights; + const shadowsArray = currentRenderState.state.shadowsArray; + const lightsStateVersion = lights.state.version; + const parameters2 = programCache.getParameters(material, lights.state, shadowsArray, scene3, object); + const programCacheKey = programCache.getProgramCacheKey(parameters2); + let programs = materialProperties.programs; + materialProperties.environment = material.isMeshStandardMaterial ? scene3.environment : null; + materialProperties.fog = scene3.fog; + materialProperties.envMap = (material.isMeshStandardMaterial ? cubeuvmaps : cubemaps).get(material.envMap || materialProperties.environment); + if (programs === void 0) { + material.addEventListener("dispose", onMaterialDispose); + programs = /* @__PURE__ */ new Map(); + materialProperties.programs = programs; + } + let program = programs.get(programCacheKey); + if (program !== void 0) { + if (materialProperties.currentProgram === program && materialProperties.lightsStateVersion === lightsStateVersion) { + updateCommonMaterialProperties(material, parameters2); + return program; + } + } else { + parameters2.uniforms = programCache.getUniforms(material); + material.onBuild(object, parameters2, _this); + material.onBeforeCompile(parameters2, _this); + program = programCache.acquireProgram(parameters2, programCacheKey); + programs.set(programCacheKey, program); + materialProperties.uniforms = parameters2.uniforms; + } + const uniforms = materialProperties.uniforms; + if (!material.isShaderMaterial && !material.isRawShaderMaterial || material.clipping === true) { + uniforms.clippingPlanes = clipping.uniform; + } + updateCommonMaterialProperties(material, parameters2); + materialProperties.needsLights = materialNeedsLights(material); + materialProperties.lightsStateVersion = lightsStateVersion; + if (materialProperties.needsLights) { + uniforms.ambientLightColor.value = lights.state.ambient; + uniforms.lightProbe.value = lights.state.probe; + uniforms.directionalLights.value = lights.state.directional; + uniforms.directionalLightShadows.value = lights.state.directionalShadow; + uniforms.spotLights.value = lights.state.spot; + uniforms.spotLightShadows.value = lights.state.spotShadow; + uniforms.rectAreaLights.value = lights.state.rectArea; + uniforms.ltc_1.value = lights.state.rectAreaLTC1; + uniforms.ltc_2.value = lights.state.rectAreaLTC2; + uniforms.pointLights.value = lights.state.point; + uniforms.pointLightShadows.value = lights.state.pointShadow; + uniforms.hemisphereLights.value = lights.state.hemi; + uniforms.directionalShadowMap.value = lights.state.directionalShadowMap; + uniforms.directionalShadowMatrix.value = lights.state.directionalShadowMatrix; + uniforms.spotShadowMap.value = lights.state.spotShadowMap; + uniforms.spotLightMatrix.value = lights.state.spotLightMatrix; + uniforms.spotLightMap.value = lights.state.spotLightMap; + uniforms.pointShadowMap.value = lights.state.pointShadowMap; + uniforms.pointShadowMatrix.value = lights.state.pointShadowMatrix; + } + const progUniforms = program.getUniforms(); + const uniformsList = WebGLUniforms.seqWithValue(progUniforms.seq, uniforms); + materialProperties.currentProgram = program; + materialProperties.uniformsList = uniformsList; + return program; + } + function updateCommonMaterialProperties(material, parameters2) { + const materialProperties = properties.get(material); + materialProperties.outputEncoding = parameters2.outputEncoding; + materialProperties.instancing = parameters2.instancing; + materialProperties.skinning = parameters2.skinning; + materialProperties.morphTargets = parameters2.morphTargets; + materialProperties.morphNormals = parameters2.morphNormals; + materialProperties.morphColors = parameters2.morphColors; + materialProperties.morphTargetsCount = parameters2.morphTargetsCount; + materialProperties.numClippingPlanes = parameters2.numClippingPlanes; + materialProperties.numIntersection = parameters2.numClipIntersection; + materialProperties.vertexAlphas = parameters2.vertexAlphas; + materialProperties.vertexTangents = parameters2.vertexTangents; + materialProperties.toneMapping = parameters2.toneMapping; + } + function setProgram(camera3, scene3, geometry, material, object) { + if (scene3.isScene !== true) + scene3 = _emptyScene; + textures.resetTextureUnits(); + const fog = scene3.fog; + const environment = material.isMeshStandardMaterial ? scene3.environment : null; + const encoding = _currentRenderTarget === null ? _this.outputEncoding : _currentRenderTarget.isXRRenderTarget === true ? _currentRenderTarget.texture.encoding : LinearEncoding; + const envMap = (material.isMeshStandardMaterial ? cubeuvmaps : cubemaps).get(material.envMap || environment); + const vertexAlphas = material.vertexColors === true && !!geometry.attributes.color && geometry.attributes.color.itemSize === 4; + const vertexTangents = !!material.normalMap && !!geometry.attributes.tangent; + const morphTargets = !!geometry.morphAttributes.position; + const morphNormals = !!geometry.morphAttributes.normal; + const morphColors = !!geometry.morphAttributes.color; + const toneMapping = material.toneMapped ? _this.toneMapping : NoToneMapping; + const morphAttribute = geometry.morphAttributes.position || geometry.morphAttributes.normal || geometry.morphAttributes.color; + const morphTargetsCount = morphAttribute !== void 0 ? morphAttribute.length : 0; + const materialProperties = properties.get(material); + const lights = currentRenderState.state.lights; + if (_clippingEnabled === true) { + if (_localClippingEnabled === true || camera3 !== _currentCamera) { + const useCache = camera3 === _currentCamera && material.id === _currentMaterialId; + clipping.setState(material, camera3, useCache); + } + } + let needsProgramChange = false; + if (material.version === materialProperties.__version) { + if (materialProperties.needsLights && materialProperties.lightsStateVersion !== lights.state.version) { + needsProgramChange = true; + } else if (materialProperties.outputEncoding !== encoding) { + needsProgramChange = true; + } else if (object.isInstancedMesh && materialProperties.instancing === false) { + needsProgramChange = true; + } else if (!object.isInstancedMesh && materialProperties.instancing === true) { + needsProgramChange = true; + } else if (object.isSkinnedMesh && materialProperties.skinning === false) { + needsProgramChange = true; + } else if (!object.isSkinnedMesh && materialProperties.skinning === true) { + needsProgramChange = true; + } else if (materialProperties.envMap !== envMap) { + needsProgramChange = true; + } else if (material.fog === true && materialProperties.fog !== fog) { + needsProgramChange = true; + } else if (materialProperties.numClippingPlanes !== void 0 && (materialProperties.numClippingPlanes !== clipping.numPlanes || materialProperties.numIntersection !== clipping.numIntersection)) { + needsProgramChange = true; + } else if (materialProperties.vertexAlphas !== vertexAlphas) { + needsProgramChange = true; + } else if (materialProperties.vertexTangents !== vertexTangents) { + needsProgramChange = true; + } else if (materialProperties.morphTargets !== morphTargets) { + needsProgramChange = true; + } else if (materialProperties.morphNormals !== morphNormals) { + needsProgramChange = true; + } else if (materialProperties.morphColors !== morphColors) { + needsProgramChange = true; + } else if (materialProperties.toneMapping !== toneMapping) { + needsProgramChange = true; + } else if (capabilities.isWebGL2 === true && materialProperties.morphTargetsCount !== morphTargetsCount) { + needsProgramChange = true; + } + } else { + needsProgramChange = true; + materialProperties.__version = material.version; + } + let program = materialProperties.currentProgram; + if (needsProgramChange === true) { + program = getProgram(material, scene3, object); + } + let refreshProgram = false; + let refreshMaterial = false; + let refreshLights = false; + const p_uniforms = program.getUniforms(), m_uniforms = materialProperties.uniforms; + if (state.useProgram(program.program)) { + refreshProgram = true; + refreshMaterial = true; + refreshLights = true; + } + if (material.id !== _currentMaterialId) { + _currentMaterialId = material.id; + refreshMaterial = true; + } + if (refreshProgram || _currentCamera !== camera3) { + p_uniforms.setValue(_gl, "projectionMatrix", camera3.projectionMatrix); + if (capabilities.logarithmicDepthBuffer) { + p_uniforms.setValue(_gl, "logDepthBufFC", 2 / (Math.log(camera3.far + 1) / Math.LN2)); + } + if (_currentCamera !== camera3) { + _currentCamera = camera3; + refreshMaterial = true; + refreshLights = true; + } + if (material.isShaderMaterial || material.isMeshPhongMaterial || material.isMeshToonMaterial || material.isMeshStandardMaterial || material.envMap) { + const uCamPos = p_uniforms.map.cameraPosition; + if (uCamPos !== void 0) { + uCamPos.setValue(_gl, _vector3.setFromMatrixPosition(camera3.matrixWorld)); + } + } + if (material.isMeshPhongMaterial || material.isMeshToonMaterial || material.isMeshLambertMaterial || material.isMeshBasicMaterial || material.isMeshStandardMaterial || material.isShaderMaterial) { + p_uniforms.setValue(_gl, "isOrthographic", camera3.isOrthographicCamera === true); + } + if (material.isMeshPhongMaterial || material.isMeshToonMaterial || material.isMeshLambertMaterial || material.isMeshBasicMaterial || material.isMeshStandardMaterial || material.isShaderMaterial || material.isShadowMaterial || object.isSkinnedMesh) { + p_uniforms.setValue(_gl, "viewMatrix", camera3.matrixWorldInverse); + } + } + if (object.isSkinnedMesh) { + p_uniforms.setOptional(_gl, object, "bindMatrix"); + p_uniforms.setOptional(_gl, object, "bindMatrixInverse"); + const skeleton = object.skeleton; + if (skeleton) { + if (capabilities.floatVertexTextures) { + if (skeleton.boneTexture === null) + skeleton.computeBoneTexture(); + p_uniforms.setValue(_gl, "boneTexture", skeleton.boneTexture, textures); + p_uniforms.setValue(_gl, "boneTextureSize", skeleton.boneTextureSize); + } else { + console.warn("THREE.WebGLRenderer: SkinnedMesh can only be used with WebGL 2. With WebGL 1 OES_texture_float and vertex textures support is required."); + } + } + } + const morphAttributes = geometry.morphAttributes; + if (morphAttributes.position !== void 0 || morphAttributes.normal !== void 0 || morphAttributes.color !== void 0 && capabilities.isWebGL2 === true) { + morphtargets.update(object, geometry, material, program); + } + if (refreshMaterial || materialProperties.receiveShadow !== object.receiveShadow) { + materialProperties.receiveShadow = object.receiveShadow; + p_uniforms.setValue(_gl, "receiveShadow", object.receiveShadow); + } + if (material.isMeshGouraudMaterial && material.envMap !== null) { + m_uniforms.envMap.value = envMap; + m_uniforms.flipEnvMap.value = envMap.isCubeTexture && envMap.isRenderTargetTexture === false ? -1 : 1; + } + if (refreshMaterial) { + p_uniforms.setValue(_gl, "toneMappingExposure", _this.toneMappingExposure); + if (materialProperties.needsLights) { + markUniformsLightsNeedsUpdate(m_uniforms, refreshLights); + } + if (fog && material.fog === true) { + materials.refreshFogUniforms(m_uniforms, fog); + } + materials.refreshMaterialUniforms(m_uniforms, material, _pixelRatio, _height, _transmissionRenderTarget); + WebGLUniforms.upload(_gl, materialProperties.uniformsList, m_uniforms, textures); + } + if (material.isShaderMaterial && material.uniformsNeedUpdate === true) { + WebGLUniforms.upload(_gl, materialProperties.uniformsList, m_uniforms, textures); + material.uniformsNeedUpdate = false; + } + if (material.isSpriteMaterial) { + p_uniforms.setValue(_gl, "center", object.center); + } + p_uniforms.setValue(_gl, "modelViewMatrix", object.modelViewMatrix); + p_uniforms.setValue(_gl, "normalMatrix", object.normalMatrix); + p_uniforms.setValue(_gl, "modelMatrix", object.matrixWorld); + if (material.isShaderMaterial || material.isRawShaderMaterial) { + const groups = material.uniformsGroups; + for (let i = 0, l = groups.length; i < l; i++) { + if (capabilities.isWebGL2) { + const group = groups[i]; + uniformsGroups.update(group, program); + uniformsGroups.bind(group, program); + } else { + console.warn("THREE.WebGLRenderer: Uniform Buffer Objects can only be used with WebGL 2."); + } + } + } + return program; + } + function markUniformsLightsNeedsUpdate(uniforms, value) { + uniforms.ambientLightColor.needsUpdate = value; + uniforms.lightProbe.needsUpdate = value; + uniforms.directionalLights.needsUpdate = value; + uniforms.directionalLightShadows.needsUpdate = value; + uniforms.pointLights.needsUpdate = value; + uniforms.pointLightShadows.needsUpdate = value; + uniforms.spotLights.needsUpdate = value; + uniforms.spotLightShadows.needsUpdate = value; + uniforms.rectAreaLights.needsUpdate = value; + uniforms.hemisphereLights.needsUpdate = value; + } + function materialNeedsLights(material) { + return material.isMeshLambertMaterial || material.isMeshToonMaterial || material.isMeshPhongMaterial || material.isMeshStandardMaterial || material.isShadowMaterial || material.isShaderMaterial && material.lights === true; + } + this.getActiveCubeFace = function() { + return _currentActiveCubeFace; + }; + this.getActiveMipmapLevel = function() { + return _currentActiveMipmapLevel; + }; + this.getRenderTarget = function() { + return _currentRenderTarget; + }; + this.setRenderTargetTextures = function(renderTarget, colorTexture, depthTexture) { + properties.get(renderTarget.texture).__webglTexture = colorTexture; + properties.get(renderTarget.depthTexture).__webglTexture = depthTexture; + const renderTargetProperties = properties.get(renderTarget); + renderTargetProperties.__hasExternalTextures = true; + if (renderTargetProperties.__hasExternalTextures) { + renderTargetProperties.__autoAllocateDepthBuffer = depthTexture === void 0; + if (!renderTargetProperties.__autoAllocateDepthBuffer) { + if (extensions.has("WEBGL_multisampled_render_to_texture") === true) { + console.warn("THREE.WebGLRenderer: Render-to-texture extension was disabled because an external texture was provided"); + renderTargetProperties.__useRenderToTexture = false; + } + } + } + }; + this.setRenderTargetFramebuffer = function(renderTarget, defaultFramebuffer) { + const renderTargetProperties = properties.get(renderTarget); + renderTargetProperties.__webglFramebuffer = defaultFramebuffer; + renderTargetProperties.__useDefaultFramebuffer = defaultFramebuffer === void 0; + }; + this.setRenderTarget = function(renderTarget, activeCubeFace = 0, activeMipmapLevel = 0) { + _currentRenderTarget = renderTarget; + _currentActiveCubeFace = activeCubeFace; + _currentActiveMipmapLevel = activeMipmapLevel; + let useDefaultFramebuffer = true; + let framebuffer = null; + let isCube = false; + let isRenderTarget3D = false; + if (renderTarget) { + const renderTargetProperties = properties.get(renderTarget); + if (renderTargetProperties.__useDefaultFramebuffer !== void 0) { + state.bindFramebuffer(36160, null); + useDefaultFramebuffer = false; + } else if (renderTargetProperties.__webglFramebuffer === void 0) { + textures.setupRenderTarget(renderTarget); + } else if (renderTargetProperties.__hasExternalTextures) { + textures.rebindTextures(renderTarget, properties.get(renderTarget.texture).__webglTexture, properties.get(renderTarget.depthTexture).__webglTexture); + } + const texture = renderTarget.texture; + if (texture.isData3DTexture || texture.isDataArrayTexture || texture.isCompressedArrayTexture) { + isRenderTarget3D = true; + } + const __webglFramebuffer = properties.get(renderTarget).__webglFramebuffer; + if (renderTarget.isWebGLCubeRenderTarget) { + framebuffer = __webglFramebuffer[activeCubeFace]; + isCube = true; + } else if (capabilities.isWebGL2 && renderTarget.samples > 0 && textures.useMultisampledRTT(renderTarget) === false) { + framebuffer = properties.get(renderTarget).__webglMultisampledFramebuffer; + } else { + framebuffer = __webglFramebuffer; + } + _currentViewport.copy(renderTarget.viewport); + _currentScissor.copy(renderTarget.scissor); + _currentScissorTest = renderTarget.scissorTest; + } else { + _currentViewport.copy(_viewport).multiplyScalar(_pixelRatio).floor(); + _currentScissor.copy(_scissor).multiplyScalar(_pixelRatio).floor(); + _currentScissorTest = _scissorTest; + } + const framebufferBound = state.bindFramebuffer(36160, framebuffer); + if (framebufferBound && capabilities.drawBuffers && useDefaultFramebuffer) { + state.drawBuffers(renderTarget, framebuffer); + } + state.viewport(_currentViewport); + state.scissor(_currentScissor); + state.setScissorTest(_currentScissorTest); + if (isCube) { + const textureProperties = properties.get(renderTarget.texture); + _gl.framebufferTexture2D(36160, 36064, 34069 + activeCubeFace, textureProperties.__webglTexture, activeMipmapLevel); + } else if (isRenderTarget3D) { + const textureProperties = properties.get(renderTarget.texture); + const layer = activeCubeFace || 0; + _gl.framebufferTextureLayer(36160, 36064, textureProperties.__webglTexture, activeMipmapLevel || 0, layer); + } + _currentMaterialId = -1; + }; + this.readRenderTargetPixels = function(renderTarget, x2, y2, width, height, buffer, activeCubeFaceIndex) { + if (!(renderTarget && renderTarget.isWebGLRenderTarget)) { + console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget."); + return; + } + let framebuffer = properties.get(renderTarget).__webglFramebuffer; + if (renderTarget.isWebGLCubeRenderTarget && activeCubeFaceIndex !== void 0) { + framebuffer = framebuffer[activeCubeFaceIndex]; + } + if (framebuffer) { + state.bindFramebuffer(36160, framebuffer); + try { + const texture = renderTarget.texture; + const textureFormat = texture.format; + const textureType = texture.type; + if (textureFormat !== RGBAFormat && utils.convert(textureFormat) !== _gl.getParameter(35739)) { + console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format."); + return; + } + const halfFloatSupportedByExt = textureType === HalfFloatType && (extensions.has("EXT_color_buffer_half_float") || capabilities.isWebGL2 && extensions.has("EXT_color_buffer_float")); + if (textureType !== UnsignedByteType && utils.convert(textureType) !== _gl.getParameter(35738) && !(textureType === FloatType && (capabilities.isWebGL2 || extensions.has("OES_texture_float") || extensions.has("WEBGL_color_buffer_float"))) && !halfFloatSupportedByExt) { + console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type."); + return; + } + if (x2 >= 0 && x2 <= renderTarget.width - width && (y2 >= 0 && y2 <= renderTarget.height - height)) { + _gl.readPixels(x2, y2, width, height, utils.convert(textureFormat), utils.convert(textureType), buffer); + } + } finally { + const framebuffer2 = _currentRenderTarget !== null ? properties.get(_currentRenderTarget).__webglFramebuffer : null; + state.bindFramebuffer(36160, framebuffer2); + } + } + }; + this.copyFramebufferToTexture = function(position, texture, level = 0) { + const levelScale = Math.pow(2, -level); + const width = Math.floor(texture.image.width * levelScale); + const height = Math.floor(texture.image.height * levelScale); + textures.setTexture2D(texture, 0); + _gl.copyTexSubImage2D(3553, level, 0, 0, position.x, position.y, width, height); + state.unbindTexture(); + }; + this.copyTextureToTexture = function(position, srcTexture, dstTexture, level = 0) { + const width = srcTexture.image.width; + const height = srcTexture.image.height; + const glFormat = utils.convert(dstTexture.format); + const glType = utils.convert(dstTexture.type); + textures.setTexture2D(dstTexture, 0); + _gl.pixelStorei(37440, dstTexture.flipY); + _gl.pixelStorei(37441, dstTexture.premultiplyAlpha); + _gl.pixelStorei(3317, dstTexture.unpackAlignment); + if (srcTexture.isDataTexture) { + _gl.texSubImage2D(3553, level, position.x, position.y, width, height, glFormat, glType, srcTexture.image.data); + } else { + if (srcTexture.isCompressedTexture) { + _gl.compressedTexSubImage2D(3553, level, position.x, position.y, srcTexture.mipmaps[0].width, srcTexture.mipmaps[0].height, glFormat, srcTexture.mipmaps[0].data); + } else { + _gl.texSubImage2D(3553, level, position.x, position.y, glFormat, glType, srcTexture.image); + } + } + if (level === 0 && dstTexture.generateMipmaps) + _gl.generateMipmap(3553); + state.unbindTexture(); + }; + this.copyTextureToTexture3D = function(sourceBox, position, srcTexture, dstTexture, level = 0) { + if (_this.isWebGL1Renderer) { + console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2."); + return; + } + const width = sourceBox.max.x - sourceBox.min.x + 1; + const height = sourceBox.max.y - sourceBox.min.y + 1; + const depth = sourceBox.max.z - sourceBox.min.z + 1; + const glFormat = utils.convert(dstTexture.format); + const glType = utils.convert(dstTexture.type); + let glTarget; + if (dstTexture.isData3DTexture) { + textures.setTexture3D(dstTexture, 0); + glTarget = 32879; + } else if (dstTexture.isDataArrayTexture) { + textures.setTexture2DArray(dstTexture, 0); + glTarget = 35866; + } else { + console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray."); + return; + } + _gl.pixelStorei(37440, dstTexture.flipY); + _gl.pixelStorei(37441, dstTexture.premultiplyAlpha); + _gl.pixelStorei(3317, dstTexture.unpackAlignment); + const unpackRowLen = _gl.getParameter(3314); + const unpackImageHeight = _gl.getParameter(32878); + const unpackSkipPixels = _gl.getParameter(3316); + const unpackSkipRows = _gl.getParameter(3315); + const unpackSkipImages = _gl.getParameter(32877); + const image = srcTexture.isCompressedTexture ? srcTexture.mipmaps[0] : srcTexture.image; + _gl.pixelStorei(3314, image.width); + _gl.pixelStorei(32878, image.height); + _gl.pixelStorei(3316, sourceBox.min.x); + _gl.pixelStorei(3315, sourceBox.min.y); + _gl.pixelStorei(32877, sourceBox.min.z); + if (srcTexture.isDataTexture || srcTexture.isData3DTexture) { + _gl.texSubImage3D(glTarget, level, position.x, position.y, position.z, width, height, depth, glFormat, glType, image.data); + } else { + if (srcTexture.isCompressedArrayTexture) { + console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."); + _gl.compressedTexSubImage3D(glTarget, level, position.x, position.y, position.z, width, height, depth, glFormat, image.data); + } else { + _gl.texSubImage3D(glTarget, level, position.x, position.y, position.z, width, height, depth, glFormat, glType, image); + } + } + _gl.pixelStorei(3314, unpackRowLen); + _gl.pixelStorei(32878, unpackImageHeight); + _gl.pixelStorei(3316, unpackSkipPixels); + _gl.pixelStorei(3315, unpackSkipRows); + _gl.pixelStorei(32877, unpackSkipImages); + if (level === 0 && dstTexture.generateMipmaps) + _gl.generateMipmap(glTarget); + state.unbindTexture(); + }; + this.initTexture = function(texture) { + if (texture.isCubeTexture) { + textures.setTextureCube(texture, 0); + } else if (texture.isData3DTexture) { + textures.setTexture3D(texture, 0); + } else if (texture.isDataArrayTexture || texture.isCompressedArrayTexture) { + textures.setTexture2DArray(texture, 0); + } else { + textures.setTexture2D(texture, 0); + } + state.unbindTexture(); + }; + this.resetState = function() { + _currentActiveCubeFace = 0; + _currentActiveMipmapLevel = 0; + _currentRenderTarget = null; + state.reset(); + bindingStates.reset(); + }; + if (typeof __THREE_DEVTOOLS__ !== "undefined") { + __THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe", { detail: this })); + } +} +var WebGL1Renderer = class extends WebGLRenderer { +}; +WebGL1Renderer.prototype.isWebGL1Renderer = true; +var Scene = class extends Object3D { + constructor() { + super(); + this.isScene = true; + this.type = "Scene"; + this.background = null; + this.environment = null; + this.fog = null; + this.backgroundBlurriness = 0; + this.overrideMaterial = null; + if (typeof __THREE_DEVTOOLS__ !== "undefined") { + __THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe", { detail: this })); + } + } + copy(source, recursive) { + super.copy(source, recursive); + if (source.background !== null) + this.background = source.background.clone(); + if (source.environment !== null) + this.environment = source.environment.clone(); + if (source.fog !== null) + this.fog = source.fog.clone(); + this.backgroundBlurriness = source.backgroundBlurriness; + if (source.overrideMaterial !== null) + this.overrideMaterial = source.overrideMaterial.clone(); + this.matrixAutoUpdate = source.matrixAutoUpdate; + return this; + } + toJSON(meta) { + const data = super.toJSON(meta); + if (this.fog !== null) + data.object.fog = this.fog.toJSON(); + if (this.backgroundBlurriness > 0) + data.backgroundBlurriness = this.backgroundBlurriness; + return data; + } + get autoUpdate() { + console.warn("THREE.Scene: autoUpdate was renamed to matrixWorldAutoUpdate in r144."); + return this.matrixWorldAutoUpdate; + } + set autoUpdate(value) { + console.warn("THREE.Scene: autoUpdate was renamed to matrixWorldAutoUpdate in r144."); + this.matrixWorldAutoUpdate = value; + } +}; +var LineBasicMaterial = class extends Material { + constructor(parameters) { + super(); + this.isLineBasicMaterial = true; + this.type = "LineBasicMaterial"; + this.color = new Color(16777215); + this.linewidth = 1; + this.linecap = "round"; + this.linejoin = "round"; + this.fog = true; + this.setValues(parameters); + } + copy(source) { + super.copy(source); + this.color.copy(source.color); + this.linewidth = source.linewidth; + this.linecap = source.linecap; + this.linejoin = source.linejoin; + this.fog = source.fog; + return this; + } +}; +var _start$1 = /* @__PURE__ */ new Vector3(); +var _end$1 = /* @__PURE__ */ new Vector3(); +var _inverseMatrix$1 = /* @__PURE__ */ new Matrix4(); +var _ray$1 = /* @__PURE__ */ new Ray(); +var _sphere$1 = /* @__PURE__ */ new Sphere(); +var Line = class extends Object3D { + constructor(geometry = new BufferGeometry(), material = new LineBasicMaterial()) { + super(); + this.isLine = true; + this.type = "Line"; + this.geometry = geometry; + this.material = material; + this.updateMorphTargets(); + } + copy(source, recursive) { + super.copy(source, recursive); + this.material = source.material; + this.geometry = source.geometry; + return this; + } + computeLineDistances() { + const geometry = this.geometry; + if (geometry.index === null) { + const positionAttribute = geometry.attributes.position; + const lineDistances = [0]; + for (let i = 1, l = positionAttribute.count; i < l; i++) { + _start$1.fromBufferAttribute(positionAttribute, i - 1); + _end$1.fromBufferAttribute(positionAttribute, i); + lineDistances[i] = lineDistances[i - 1]; + lineDistances[i] += _start$1.distanceTo(_end$1); + } + geometry.setAttribute("lineDistance", new Float32BufferAttribute(lineDistances, 1)); + } else { + console.warn("THREE.Line.computeLineDistances(): Computation only possible with non-indexed BufferGeometry."); + } + return this; + } + raycast(raycaster, intersects) { + const geometry = this.geometry; + const matrixWorld = this.matrixWorld; + const threshold = raycaster.params.Line.threshold; + const drawRange = geometry.drawRange; + if (geometry.boundingSphere === null) + geometry.computeBoundingSphere(); + _sphere$1.copy(geometry.boundingSphere); + _sphere$1.applyMatrix4(matrixWorld); + _sphere$1.radius += threshold; + if (raycaster.ray.intersectsSphere(_sphere$1) === false) + return; + _inverseMatrix$1.copy(matrixWorld).invert(); + _ray$1.copy(raycaster.ray).applyMatrix4(_inverseMatrix$1); + const localThreshold = threshold / ((this.scale.x + this.scale.y + this.scale.z) / 3); + const localThresholdSq = localThreshold * localThreshold; + const vStart = new Vector3(); + const vEnd = new Vector3(); + const interSegment = new Vector3(); + const interRay = new Vector3(); + const step = this.isLineSegments ? 2 : 1; + const index5 = geometry.index; + const attributes = geometry.attributes; + const positionAttribute = attributes.position; + if (index5 !== null) { + const start = Math.max(0, drawRange.start); + const end = Math.min(index5.count, drawRange.start + drawRange.count); + for (let i = start, l = end - 1; i < l; i += step) { + const a2 = index5.getX(i); + const b = index5.getX(i + 1); + vStart.fromBufferAttribute(positionAttribute, a2); + vEnd.fromBufferAttribute(positionAttribute, b); + const distSq = _ray$1.distanceSqToSegment(vStart, vEnd, interRay, interSegment); + if (distSq > localThresholdSq) + continue; + interRay.applyMatrix4(this.matrixWorld); + const distance = raycaster.ray.origin.distanceTo(interRay); + if (distance < raycaster.near || distance > raycaster.far) + continue; + intersects.push({ + distance, + point: interSegment.clone().applyMatrix4(this.matrixWorld), + index: i, + face: null, + faceIndex: null, + object: this + }); + } + } else { + const start = Math.max(0, drawRange.start); + const end = Math.min(positionAttribute.count, drawRange.start + drawRange.count); + for (let i = start, l = end - 1; i < l; i += step) { + vStart.fromBufferAttribute(positionAttribute, i); + vEnd.fromBufferAttribute(positionAttribute, i + 1); + const distSq = _ray$1.distanceSqToSegment(vStart, vEnd, interRay, interSegment); + if (distSq > localThresholdSq) + continue; + interRay.applyMatrix4(this.matrixWorld); + const distance = raycaster.ray.origin.distanceTo(interRay); + if (distance < raycaster.near || distance > raycaster.far) + continue; + intersects.push({ + distance, + point: interSegment.clone().applyMatrix4(this.matrixWorld), + index: i, + face: null, + faceIndex: null, + object: this + }); + } + } + } + updateMorphTargets() { + const geometry = this.geometry; + const morphAttributes = geometry.morphAttributes; + const keys = Object.keys(morphAttributes); + if (keys.length > 0) { + const morphAttribute = morphAttributes[keys[0]]; + if (morphAttribute !== void 0) { + this.morphTargetInfluences = []; + this.morphTargetDictionary = {}; + for (let m2 = 0, ml = morphAttribute.length; m2 < ml; m2++) { + const name = morphAttribute[m2].name || String(m2); + this.morphTargetInfluences.push(0); + this.morphTargetDictionary[name] = m2; + } + } + } + } +}; +var Curve = class { + constructor() { + this.type = "Curve"; + this.arcLengthDivisions = 200; + } + getPoint() { + console.warn("THREE.Curve: .getPoint() not implemented."); + return null; + } + getPointAt(u, optionalTarget) { + const t = this.getUtoTmapping(u); + return this.getPoint(t, optionalTarget); + } + getPoints(divisions = 5) { + const points = []; + for (let d = 0; d <= divisions; d++) { + points.push(this.getPoint(d / divisions)); + } + return points; + } + getSpacedPoints(divisions = 5) { + const points = []; + for (let d = 0; d <= divisions; d++) { + points.push(this.getPointAt(d / divisions)); + } + return points; + } + getLength() { + const lengths = this.getLengths(); + return lengths[lengths.length - 1]; + } + getLengths(divisions = this.arcLengthDivisions) { + if (this.cacheArcLengths && this.cacheArcLengths.length === divisions + 1 && !this.needsUpdate) { + return this.cacheArcLengths; + } + this.needsUpdate = false; + const cache = []; + let current, last = this.getPoint(0); + let sum = 0; + cache.push(0); + for (let p = 1; p <= divisions; p++) { + current = this.getPoint(p / divisions); + sum += current.distanceTo(last); + cache.push(sum); + last = current; + } + this.cacheArcLengths = cache; + return cache; + } + updateArcLengths() { + this.needsUpdate = true; + this.getLengths(); + } + getUtoTmapping(u, distance) { + const arcLengths = this.getLengths(); + let i = 0; + const il = arcLengths.length; + let targetArcLength; + if (distance) { + targetArcLength = distance; + } else { + targetArcLength = u * arcLengths[il - 1]; + } + let low = 0, high = il - 1, comparison; + while (low <= high) { + i = Math.floor(low + (high - low) / 2); + comparison = arcLengths[i] - targetArcLength; + if (comparison < 0) { + low = i + 1; + } else if (comparison > 0) { + high = i - 1; + } else { + high = i; + break; + } + } + i = high; + if (arcLengths[i] === targetArcLength) { + return i / (il - 1); + } + const lengthBefore = arcLengths[i]; + const lengthAfter = arcLengths[i + 1]; + const segmentLength = lengthAfter - lengthBefore; + const segmentFraction = (targetArcLength - lengthBefore) / segmentLength; + const t = (i + segmentFraction) / (il - 1); + return t; + } + getTangent(t, optionalTarget) { + const delta = 1e-4; + let t1 = t - delta; + let t2 = t + delta; + if (t1 < 0) + t1 = 0; + if (t2 > 1) + t2 = 1; + const pt1 = this.getPoint(t1); + const pt2 = this.getPoint(t2); + const tangent = optionalTarget || (pt1.isVector2 ? new Vector2() : new Vector3()); + tangent.copy(pt2).sub(pt1).normalize(); + return tangent; + } + getTangentAt(u, optionalTarget) { + const t = this.getUtoTmapping(u); + return this.getTangent(t, optionalTarget); + } + computeFrenetFrames(segments, closed) { + const normal = new Vector3(); + const tangents = []; + const normals = []; + const binormals = []; + const vec = new Vector3(); + const mat = new Matrix4(); + for (let i = 0; i <= segments; i++) { + const u = i / segments; + tangents[i] = this.getTangentAt(u, new Vector3()); + } + normals[0] = new Vector3(); + binormals[0] = new Vector3(); + let min2 = Number.MAX_VALUE; + const tx = Math.abs(tangents[0].x); + const ty = Math.abs(tangents[0].y); + const tz = Math.abs(tangents[0].z); + if (tx <= min2) { + min2 = tx; + normal.set(1, 0, 0); + } + if (ty <= min2) { + min2 = ty; + normal.set(0, 1, 0); + } + if (tz <= min2) { + normal.set(0, 0, 1); + } + vec.crossVectors(tangents[0], normal).normalize(); + normals[0].crossVectors(tangents[0], vec); + binormals[0].crossVectors(tangents[0], normals[0]); + for (let i = 1; i <= segments; i++) { + normals[i] = normals[i - 1].clone(); + binormals[i] = binormals[i - 1].clone(); + vec.crossVectors(tangents[i - 1], tangents[i]); + if (vec.length() > Number.EPSILON) { + vec.normalize(); + const theta = Math.acos(clamp(tangents[i - 1].dot(tangents[i]), -1, 1)); + normals[i].applyMatrix4(mat.makeRotationAxis(vec, theta)); + } + binormals[i].crossVectors(tangents[i], normals[i]); + } + if (closed === true) { + let theta = Math.acos(clamp(normals[0].dot(normals[segments]), -1, 1)); + theta /= segments; + if (tangents[0].dot(vec.crossVectors(normals[0], normals[segments])) > 0) { + theta = -theta; + } + for (let i = 1; i <= segments; i++) { + normals[i].applyMatrix4(mat.makeRotationAxis(tangents[i], theta * i)); + binormals[i].crossVectors(tangents[i], normals[i]); + } + } + return { + tangents, + normals, + binormals + }; + } + clone() { + return new this.constructor().copy(this); + } + copy(source) { + this.arcLengthDivisions = source.arcLengthDivisions; + return this; + } + toJSON() { + const data = { + metadata: { + version: 4.5, + type: "Curve", + generator: "Curve.toJSON" + } + }; + data.arcLengthDivisions = this.arcLengthDivisions; + data.type = this.type; + return data; + } + fromJSON(json) { + this.arcLengthDivisions = json.arcLengthDivisions; + return this; + } +}; +var EllipseCurve = class extends Curve { + constructor(aX = 0, aY = 0, xRadius = 1, yRadius = 1, aStartAngle = 0, aEndAngle = Math.PI * 2, aClockwise = false, aRotation = 0) { + super(); + this.isEllipseCurve = true; + this.type = "EllipseCurve"; + this.aX = aX; + this.aY = aY; + this.xRadius = xRadius; + this.yRadius = yRadius; + this.aStartAngle = aStartAngle; + this.aEndAngle = aEndAngle; + this.aClockwise = aClockwise; + this.aRotation = aRotation; + } + getPoint(t, optionalTarget) { + const point = optionalTarget || new Vector2(); + const twoPi = Math.PI * 2; + let deltaAngle = this.aEndAngle - this.aStartAngle; + const samePoints = Math.abs(deltaAngle) < Number.EPSILON; + while (deltaAngle < 0) + deltaAngle += twoPi; + while (deltaAngle > twoPi) + deltaAngle -= twoPi; + if (deltaAngle < Number.EPSILON) { + if (samePoints) { + deltaAngle = 0; + } else { + deltaAngle = twoPi; + } + } + if (this.aClockwise === true && !samePoints) { + if (deltaAngle === twoPi) { + deltaAngle = -twoPi; + } else { + deltaAngle = deltaAngle - twoPi; + } + } + const angle = this.aStartAngle + t * deltaAngle; + let x2 = this.aX + this.xRadius * Math.cos(angle); + let y2 = this.aY + this.yRadius * Math.sin(angle); + if (this.aRotation !== 0) { + const cos = Math.cos(this.aRotation); + const sin = Math.sin(this.aRotation); + const tx = x2 - this.aX; + const ty = y2 - this.aY; + x2 = tx * cos - ty * sin + this.aX; + y2 = tx * sin + ty * cos + this.aY; + } + return point.set(x2, y2); + } + copy(source) { + super.copy(source); + this.aX = source.aX; + this.aY = source.aY; + this.xRadius = source.xRadius; + this.yRadius = source.yRadius; + this.aStartAngle = source.aStartAngle; + this.aEndAngle = source.aEndAngle; + this.aClockwise = source.aClockwise; + this.aRotation = source.aRotation; + return this; + } + toJSON() { + const data = super.toJSON(); + data.aX = this.aX; + data.aY = this.aY; + data.xRadius = this.xRadius; + data.yRadius = this.yRadius; + data.aStartAngle = this.aStartAngle; + data.aEndAngle = this.aEndAngle; + data.aClockwise = this.aClockwise; + data.aRotation = this.aRotation; + return data; + } + fromJSON(json) { + super.fromJSON(json); + this.aX = json.aX; + this.aY = json.aY; + this.xRadius = json.xRadius; + this.yRadius = json.yRadius; + this.aStartAngle = json.aStartAngle; + this.aEndAngle = json.aEndAngle; + this.aClockwise = json.aClockwise; + this.aRotation = json.aRotation; + return this; + } +}; +var ArcCurve = class extends EllipseCurve { + constructor(aX, aY, aRadius, aStartAngle, aEndAngle, aClockwise) { + super(aX, aY, aRadius, aRadius, aStartAngle, aEndAngle, aClockwise); + this.isArcCurve = true; + this.type = "ArcCurve"; + } +}; +function CubicPoly() { + let c0 = 0, c1 = 0, c2 = 0, c3 = 0; + function init4(x0, x1, t0, t1) { + c0 = x0; + c1 = t0; + c2 = -3 * x0 + 3 * x1 - 2 * t0 - t1; + c3 = 2 * x0 - 2 * x1 + t0 + t1; + } + return { + initCatmullRom: function(x0, x1, x2, x3, tension) { + init4(x1, x2, tension * (x2 - x0), tension * (x3 - x1)); + }, + initNonuniformCatmullRom: function(x0, x1, x2, x3, dt0, dt1, dt2) { + let t1 = (x1 - x0) / dt0 - (x2 - x0) / (dt0 + dt1) + (x2 - x1) / dt1; + let t2 = (x2 - x1) / dt1 - (x3 - x1) / (dt1 + dt2) + (x3 - x2) / dt2; + t1 *= dt1; + t2 *= dt1; + init4(x1, x2, t1, t2); + }, + calc: function(t) { + const t2 = t * t; + const t3 = t2 * t; + return c0 + c1 * t + c2 * t2 + c3 * t3; + } + }; +} +var tmp = /* @__PURE__ */ new Vector3(); +var px = /* @__PURE__ */ new CubicPoly(); +var py = /* @__PURE__ */ new CubicPoly(); +var pz = /* @__PURE__ */ new CubicPoly(); +var CatmullRomCurve3 = class extends Curve { + constructor(points = [], closed = false, curveType = "centripetal", tension = 0.5) { + super(); + this.isCatmullRomCurve3 = true; + this.type = "CatmullRomCurve3"; + this.points = points; + this.closed = closed; + this.curveType = curveType; + this.tension = tension; + } + getPoint(t, optionalTarget = new Vector3()) { + const point = optionalTarget; + const points = this.points; + const l = points.length; + const p = (l - (this.closed ? 0 : 1)) * t; + let intPoint = Math.floor(p); + let weight = p - intPoint; + if (this.closed) { + intPoint += intPoint > 0 ? 0 : (Math.floor(Math.abs(intPoint) / l) + 1) * l; + } else if (weight === 0 && intPoint === l - 1) { + intPoint = l - 2; + weight = 1; + } + let p0, p3; + if (this.closed || intPoint > 0) { + p0 = points[(intPoint - 1) % l]; + } else { + tmp.subVectors(points[0], points[1]).add(points[0]); + p0 = tmp; + } + const p1 = points[intPoint % l]; + const p2 = points[(intPoint + 1) % l]; + if (this.closed || intPoint + 2 < l) { + p3 = points[(intPoint + 2) % l]; + } else { + tmp.subVectors(points[l - 1], points[l - 2]).add(points[l - 1]); + p3 = tmp; + } + if (this.curveType === "centripetal" || this.curveType === "chordal") { + const pow = this.curveType === "chordal" ? 0.5 : 0.25; + let dt0 = Math.pow(p0.distanceToSquared(p1), pow); + let dt1 = Math.pow(p1.distanceToSquared(p2), pow); + let dt2 = Math.pow(p2.distanceToSquared(p3), pow); + if (dt1 < 1e-4) + dt1 = 1; + if (dt0 < 1e-4) + dt0 = dt1; + if (dt2 < 1e-4) + dt2 = dt1; + px.initNonuniformCatmullRom(p0.x, p1.x, p2.x, p3.x, dt0, dt1, dt2); + py.initNonuniformCatmullRom(p0.y, p1.y, p2.y, p3.y, dt0, dt1, dt2); + pz.initNonuniformCatmullRom(p0.z, p1.z, p2.z, p3.z, dt0, dt1, dt2); + } else if (this.curveType === "catmullrom") { + px.initCatmullRom(p0.x, p1.x, p2.x, p3.x, this.tension); + py.initCatmullRom(p0.y, p1.y, p2.y, p3.y, this.tension); + pz.initCatmullRom(p0.z, p1.z, p2.z, p3.z, this.tension); + } + point.set(px.calc(weight), py.calc(weight), pz.calc(weight)); + return point; + } + copy(source) { + super.copy(source); + this.points = []; + for (let i = 0, l = source.points.length; i < l; i++) { + const point = source.points[i]; + this.points.push(point.clone()); + } + this.closed = source.closed; + this.curveType = source.curveType; + this.tension = source.tension; + return this; + } + toJSON() { + const data = super.toJSON(); + data.points = []; + for (let i = 0, l = this.points.length; i < l; i++) { + const point = this.points[i]; + data.points.push(point.toArray()); + } + data.closed = this.closed; + data.curveType = this.curveType; + data.tension = this.tension; + return data; + } + fromJSON(json) { + super.fromJSON(json); + this.points = []; + for (let i = 0, l = json.points.length; i < l; i++) { + const point = json.points[i]; + this.points.push(new Vector3().fromArray(point)); + } + this.closed = json.closed; + this.curveType = json.curveType; + this.tension = json.tension; + return this; + } +}; +function CatmullRom(t, p0, p1, p2, p3) { + const v0 = (p2 - p0) * 0.5; + const v1 = (p3 - p1) * 0.5; + const t2 = t * t; + const t3 = t * t2; + return (2 * p1 - 2 * p2 + v0 + v1) * t3 + (-3 * p1 + 3 * p2 - 2 * v0 - v1) * t2 + v0 * t + p1; +} +function QuadraticBezierP0(t, p) { + const k = 1 - t; + return k * k * p; +} +function QuadraticBezierP1(t, p) { + return 2 * (1 - t) * t * p; +} +function QuadraticBezierP2(t, p) { + return t * t * p; +} +function QuadraticBezier(t, p0, p1, p2) { + return QuadraticBezierP0(t, p0) + QuadraticBezierP1(t, p1) + QuadraticBezierP2(t, p2); +} +function CubicBezierP0(t, p) { + const k = 1 - t; + return k * k * k * p; +} +function CubicBezierP1(t, p) { + const k = 1 - t; + return 3 * k * k * t * p; +} +function CubicBezierP2(t, p) { + return 3 * (1 - t) * t * t * p; +} +function CubicBezierP3(t, p) { + return t * t * t * p; +} +function CubicBezier(t, p0, p1, p2, p3) { + return CubicBezierP0(t, p0) + CubicBezierP1(t, p1) + CubicBezierP2(t, p2) + CubicBezierP3(t, p3); +} +var CubicBezierCurve = class extends Curve { + constructor(v0 = new Vector2(), v1 = new Vector2(), v2 = new Vector2(), v3 = new Vector2()) { + super(); + this.isCubicBezierCurve = true; + this.type = "CubicBezierCurve"; + this.v0 = v0; + this.v1 = v1; + this.v2 = v2; + this.v3 = v3; + } + getPoint(t, optionalTarget = new Vector2()) { + const point = optionalTarget; + const v0 = this.v0, v1 = this.v1, v2 = this.v2, v3 = this.v3; + point.set(CubicBezier(t, v0.x, v1.x, v2.x, v3.x), CubicBezier(t, v0.y, v1.y, v2.y, v3.y)); + return point; + } + copy(source) { + super.copy(source); + this.v0.copy(source.v0); + this.v1.copy(source.v1); + this.v2.copy(source.v2); + this.v3.copy(source.v3); + return this; + } + toJSON() { + const data = super.toJSON(); + data.v0 = this.v0.toArray(); + data.v1 = this.v1.toArray(); + data.v2 = this.v2.toArray(); + data.v3 = this.v3.toArray(); + return data; + } + fromJSON(json) { + super.fromJSON(json); + this.v0.fromArray(json.v0); + this.v1.fromArray(json.v1); + this.v2.fromArray(json.v2); + this.v3.fromArray(json.v3); + return this; + } +}; +var CubicBezierCurve3 = class extends Curve { + constructor(v0 = new Vector3(), v1 = new Vector3(), v2 = new Vector3(), v3 = new Vector3()) { + super(); + this.isCubicBezierCurve3 = true; + this.type = "CubicBezierCurve3"; + this.v0 = v0; + this.v1 = v1; + this.v2 = v2; + this.v3 = v3; + } + getPoint(t, optionalTarget = new Vector3()) { + const point = optionalTarget; + const v0 = this.v0, v1 = this.v1, v2 = this.v2, v3 = this.v3; + point.set(CubicBezier(t, v0.x, v1.x, v2.x, v3.x), CubicBezier(t, v0.y, v1.y, v2.y, v3.y), CubicBezier(t, v0.z, v1.z, v2.z, v3.z)); + return point; + } + copy(source) { + super.copy(source); + this.v0.copy(source.v0); + this.v1.copy(source.v1); + this.v2.copy(source.v2); + this.v3.copy(source.v3); + return this; + } + toJSON() { + const data = super.toJSON(); + data.v0 = this.v0.toArray(); + data.v1 = this.v1.toArray(); + data.v2 = this.v2.toArray(); + data.v3 = this.v3.toArray(); + return data; + } + fromJSON(json) { + super.fromJSON(json); + this.v0.fromArray(json.v0); + this.v1.fromArray(json.v1); + this.v2.fromArray(json.v2); + this.v3.fromArray(json.v3); + return this; + } +}; +var LineCurve = class extends Curve { + constructor(v1 = new Vector2(), v2 = new Vector2()) { + super(); + this.isLineCurve = true; + this.type = "LineCurve"; + this.v1 = v1; + this.v2 = v2; + } + getPoint(t, optionalTarget = new Vector2()) { + const point = optionalTarget; + if (t === 1) { + point.copy(this.v2); + } else { + point.copy(this.v2).sub(this.v1); + point.multiplyScalar(t).add(this.v1); + } + return point; + } + getPointAt(u, optionalTarget) { + return this.getPoint(u, optionalTarget); + } + getTangent(t, optionalTarget) { + const tangent = optionalTarget || new Vector2(); + tangent.copy(this.v2).sub(this.v1).normalize(); + return tangent; + } + copy(source) { + super.copy(source); + this.v1.copy(source.v1); + this.v2.copy(source.v2); + return this; + } + toJSON() { + const data = super.toJSON(); + data.v1 = this.v1.toArray(); + data.v2 = this.v2.toArray(); + return data; + } + fromJSON(json) { + super.fromJSON(json); + this.v1.fromArray(json.v1); + this.v2.fromArray(json.v2); + return this; + } +}; +var LineCurve3 = class extends Curve { + constructor(v1 = new Vector3(), v2 = new Vector3()) { + super(); + this.isLineCurve3 = true; + this.type = "LineCurve3"; + this.v1 = v1; + this.v2 = v2; + } + getPoint(t, optionalTarget = new Vector3()) { + const point = optionalTarget; + if (t === 1) { + point.copy(this.v2); + } else { + point.copy(this.v2).sub(this.v1); + point.multiplyScalar(t).add(this.v1); + } + return point; + } + getPointAt(u, optionalTarget) { + return this.getPoint(u, optionalTarget); + } + copy(source) { + super.copy(source); + this.v1.copy(source.v1); + this.v2.copy(source.v2); + return this; + } + toJSON() { + const data = super.toJSON(); + data.v1 = this.v1.toArray(); + data.v2 = this.v2.toArray(); + return data; + } + fromJSON(json) { + super.fromJSON(json); + this.v1.fromArray(json.v1); + this.v2.fromArray(json.v2); + return this; + } +}; +var QuadraticBezierCurve = class extends Curve { + constructor(v0 = new Vector2(), v1 = new Vector2(), v2 = new Vector2()) { + super(); + this.isQuadraticBezierCurve = true; + this.type = "QuadraticBezierCurve"; + this.v0 = v0; + this.v1 = v1; + this.v2 = v2; + } + getPoint(t, optionalTarget = new Vector2()) { + const point = optionalTarget; + const v0 = this.v0, v1 = this.v1, v2 = this.v2; + point.set(QuadraticBezier(t, v0.x, v1.x, v2.x), QuadraticBezier(t, v0.y, v1.y, v2.y)); + return point; + } + copy(source) { + super.copy(source); + this.v0.copy(source.v0); + this.v1.copy(source.v1); + this.v2.copy(source.v2); + return this; + } + toJSON() { + const data = super.toJSON(); + data.v0 = this.v0.toArray(); + data.v1 = this.v1.toArray(); + data.v2 = this.v2.toArray(); + return data; + } + fromJSON(json) { + super.fromJSON(json); + this.v0.fromArray(json.v0); + this.v1.fromArray(json.v1); + this.v2.fromArray(json.v2); + return this; + } +}; +var QuadraticBezierCurve3 = class extends Curve { + constructor(v0 = new Vector3(), v1 = new Vector3(), v2 = new Vector3()) { + super(); + this.isQuadraticBezierCurve3 = true; + this.type = "QuadraticBezierCurve3"; + this.v0 = v0; + this.v1 = v1; + this.v2 = v2; + } + getPoint(t, optionalTarget = new Vector3()) { + const point = optionalTarget; + const v0 = this.v0, v1 = this.v1, v2 = this.v2; + point.set(QuadraticBezier(t, v0.x, v1.x, v2.x), QuadraticBezier(t, v0.y, v1.y, v2.y), QuadraticBezier(t, v0.z, v1.z, v2.z)); + return point; + } + copy(source) { + super.copy(source); + this.v0.copy(source.v0); + this.v1.copy(source.v1); + this.v2.copy(source.v2); + return this; + } + toJSON() { + const data = super.toJSON(); + data.v0 = this.v0.toArray(); + data.v1 = this.v1.toArray(); + data.v2 = this.v2.toArray(); + return data; + } + fromJSON(json) { + super.fromJSON(json); + this.v0.fromArray(json.v0); + this.v1.fromArray(json.v1); + this.v2.fromArray(json.v2); + return this; + } +}; +var SplineCurve = class extends Curve { + constructor(points = []) { + super(); + this.isSplineCurve = true; + this.type = "SplineCurve"; + this.points = points; + } + getPoint(t, optionalTarget = new Vector2()) { + const point = optionalTarget; + const points = this.points; + const p = (points.length - 1) * t; + const intPoint = Math.floor(p); + const weight = p - intPoint; + const p0 = points[intPoint === 0 ? intPoint : intPoint - 1]; + const p1 = points[intPoint]; + const p2 = points[intPoint > points.length - 2 ? points.length - 1 : intPoint + 1]; + const p3 = points[intPoint > points.length - 3 ? points.length - 1 : intPoint + 2]; + point.set(CatmullRom(weight, p0.x, p1.x, p2.x, p3.x), CatmullRom(weight, p0.y, p1.y, p2.y, p3.y)); + return point; + } + copy(source) { + super.copy(source); + this.points = []; + for (let i = 0, l = source.points.length; i < l; i++) { + const point = source.points[i]; + this.points.push(point.clone()); + } + return this; + } + toJSON() { + const data = super.toJSON(); + data.points = []; + for (let i = 0, l = this.points.length; i < l; i++) { + const point = this.points[i]; + data.points.push(point.toArray()); + } + return data; + } + fromJSON(json) { + super.fromJSON(json); + this.points = []; + for (let i = 0, l = json.points.length; i < l; i++) { + const point = json.points[i]; + this.points.push(new Vector2().fromArray(point)); + } + return this; + } +}; +var Curves = /* @__PURE__ */ Object.freeze({ + __proto__: null, + ArcCurve, + CatmullRomCurve3, + CubicBezierCurve, + CubicBezierCurve3, + EllipseCurve, + LineCurve, + LineCurve3, + QuadraticBezierCurve, + QuadraticBezierCurve3, + SplineCurve +}); +var CylinderGeometry = class extends BufferGeometry { + constructor(radiusTop = 1, radiusBottom = 1, height = 1, radialSegments = 8, heightSegments = 1, openEnded = false, thetaStart = 0, thetaLength = Math.PI * 2) { + super(); + this.type = "CylinderGeometry"; + this.parameters = { + radiusTop, + radiusBottom, + height, + radialSegments, + heightSegments, + openEnded, + thetaStart, + thetaLength + }; + const scope = this; + radialSegments = Math.floor(radialSegments); + heightSegments = Math.floor(heightSegments); + const indices = []; + const vertices = []; + const normals = []; + const uvs = []; + let index5 = 0; + const indexArray = []; + const halfHeight = height / 2; + let groupStart = 0; + generateTorso(); + if (openEnded === false) { + if (radiusTop > 0) + generateCap(true); + if (radiusBottom > 0) + generateCap(false); + } + this.setIndex(indices); + this.setAttribute("position", new Float32BufferAttribute(vertices, 3)); + this.setAttribute("normal", new Float32BufferAttribute(normals, 3)); + this.setAttribute("uv", new Float32BufferAttribute(uvs, 2)); + function generateTorso() { + const normal = new Vector3(); + const vertex2 = new Vector3(); + let groupCount = 0; + const slope = (radiusBottom - radiusTop) / height; + for (let y2 = 0; y2 <= heightSegments; y2++) { + const indexRow = []; + const v = y2 / heightSegments; + const radius = v * (radiusBottom - radiusTop) + radiusTop; + for (let x2 = 0; x2 <= radialSegments; x2++) { + const u = x2 / radialSegments; + const theta = u * thetaLength + thetaStart; + const sinTheta = Math.sin(theta); + const cosTheta = Math.cos(theta); + vertex2.x = radius * sinTheta; + vertex2.y = -v * height + halfHeight; + vertex2.z = radius * cosTheta; + vertices.push(vertex2.x, vertex2.y, vertex2.z); + normal.set(sinTheta, slope, cosTheta).normalize(); + normals.push(normal.x, normal.y, normal.z); + uvs.push(u, 1 - v); + indexRow.push(index5++); + } + indexArray.push(indexRow); + } + for (let x2 = 0; x2 < radialSegments; x2++) { + for (let y2 = 0; y2 < heightSegments; y2++) { + const a2 = indexArray[y2][x2]; + const b = indexArray[y2 + 1][x2]; + const c2 = indexArray[y2 + 1][x2 + 1]; + const d = indexArray[y2][x2 + 1]; + indices.push(a2, b, d); + indices.push(b, c2, d); + groupCount += 6; + } + } + scope.addGroup(groupStart, groupCount, 0); + groupStart += groupCount; + } + function generateCap(top) { + const centerIndexStart = index5; + const uv = new Vector2(); + const vertex2 = new Vector3(); + let groupCount = 0; + const radius = top === true ? radiusTop : radiusBottom; + const sign = top === true ? 1 : -1; + for (let x2 = 1; x2 <= radialSegments; x2++) { + vertices.push(0, halfHeight * sign, 0); + normals.push(0, sign, 0); + uvs.push(0.5, 0.5); + index5++; + } + const centerIndexEnd = index5; + for (let x2 = 0; x2 <= radialSegments; x2++) { + const u = x2 / radialSegments; + const theta = u * thetaLength + thetaStart; + const cosTheta = Math.cos(theta); + const sinTheta = Math.sin(theta); + vertex2.x = radius * sinTheta; + vertex2.y = halfHeight * sign; + vertex2.z = radius * cosTheta; + vertices.push(vertex2.x, vertex2.y, vertex2.z); + normals.push(0, sign, 0); + uv.x = cosTheta * 0.5 + 0.5; + uv.y = sinTheta * 0.5 * sign + 0.5; + uvs.push(uv.x, uv.y); + index5++; + } + for (let x2 = 0; x2 < radialSegments; x2++) { + const c2 = centerIndexStart + x2; + const i = centerIndexEnd + x2; + if (top === true) { + indices.push(i, i + 1, c2); + } else { + indices.push(i + 1, i, c2); + } + groupCount += 3; + } + scope.addGroup(groupStart, groupCount, top === true ? 1 : 2); + groupStart += groupCount; + } + } + static fromJSON(data) { + return new CylinderGeometry(data.radiusTop, data.radiusBottom, data.height, data.radialSegments, data.heightSegments, data.openEnded, data.thetaStart, data.thetaLength); + } +}; +var ConeGeometry = class extends CylinderGeometry { + constructor(radius = 1, height = 1, radialSegments = 8, heightSegments = 1, openEnded = false, thetaStart = 0, thetaLength = Math.PI * 2) { + super(0, radius, height, radialSegments, heightSegments, openEnded, thetaStart, thetaLength); + this.type = "ConeGeometry"; + this.parameters = { + radius, + height, + radialSegments, + heightSegments, + openEnded, + thetaStart, + thetaLength + }; + } + static fromJSON(data) { + return new ConeGeometry(data.radius, data.height, data.radialSegments, data.heightSegments, data.openEnded, data.thetaStart, data.thetaLength); + } +}; +var SphereGeometry = class extends BufferGeometry { + constructor(radius = 1, widthSegments = 32, heightSegments = 16, phiStart = 0, phiLength = Math.PI * 2, thetaStart = 0, thetaLength = Math.PI) { + super(); + this.type = "SphereGeometry"; + this.parameters = { + radius, + widthSegments, + heightSegments, + phiStart, + phiLength, + thetaStart, + thetaLength + }; + widthSegments = Math.max(3, Math.floor(widthSegments)); + heightSegments = Math.max(2, Math.floor(heightSegments)); + const thetaEnd = Math.min(thetaStart + thetaLength, Math.PI); + let index5 = 0; + const grid = []; + const vertex2 = new Vector3(); + const normal = new Vector3(); + const indices = []; + const vertices = []; + const normals = []; + const uvs = []; + for (let iy = 0; iy <= heightSegments; iy++) { + const verticesRow = []; + const v = iy / heightSegments; + let uOffset = 0; + if (iy == 0 && thetaStart == 0) { + uOffset = 0.5 / widthSegments; + } else if (iy == heightSegments && thetaEnd == Math.PI) { + uOffset = -0.5 / widthSegments; + } + for (let ix = 0; ix <= widthSegments; ix++) { + const u = ix / widthSegments; + vertex2.x = -radius * Math.cos(phiStart + u * phiLength) * Math.sin(thetaStart + v * thetaLength); + vertex2.y = radius * Math.cos(thetaStart + v * thetaLength); + vertex2.z = radius * Math.sin(phiStart + u * phiLength) * Math.sin(thetaStart + v * thetaLength); + vertices.push(vertex2.x, vertex2.y, vertex2.z); + normal.copy(vertex2).normalize(); + normals.push(normal.x, normal.y, normal.z); + uvs.push(u + uOffset, 1 - v); + verticesRow.push(index5++); + } + grid.push(verticesRow); + } + for (let iy = 0; iy < heightSegments; iy++) { + for (let ix = 0; ix < widthSegments; ix++) { + const a2 = grid[iy][ix + 1]; + const b = grid[iy][ix]; + const c2 = grid[iy + 1][ix]; + const d = grid[iy + 1][ix + 1]; + if (iy !== 0 || thetaStart > 0) + indices.push(a2, b, d); + if (iy !== heightSegments - 1 || thetaEnd < Math.PI) + indices.push(b, c2, d); + } + } + this.setIndex(indices); + this.setAttribute("position", new Float32BufferAttribute(vertices, 3)); + this.setAttribute("normal", new Float32BufferAttribute(normals, 3)); + this.setAttribute("uv", new Float32BufferAttribute(uvs, 2)); + } + static fromJSON(data) { + return new SphereGeometry(data.radius, data.widthSegments, data.heightSegments, data.phiStart, data.phiLength, data.thetaStart, data.thetaLength); + } +}; +var TubeGeometry = class extends BufferGeometry { + constructor(path = new QuadraticBezierCurve3(new Vector3(-1, -1, 0), new Vector3(-1, 1, 0), new Vector3(1, 1, 0)), tubularSegments = 64, radius = 1, radialSegments = 8, closed = false) { + super(); + this.type = "TubeGeometry"; + this.parameters = { + path, + tubularSegments, + radius, + radialSegments, + closed + }; + const frames = path.computeFrenetFrames(tubularSegments, closed); + this.tangents = frames.tangents; + this.normals = frames.normals; + this.binormals = frames.binormals; + const vertex2 = new Vector3(); + const normal = new Vector3(); + const uv = new Vector2(); + let P = new Vector3(); + const vertices = []; + const normals = []; + const uvs = []; + const indices = []; + generateBufferData(); + this.setIndex(indices); + this.setAttribute("position", new Float32BufferAttribute(vertices, 3)); + this.setAttribute("normal", new Float32BufferAttribute(normals, 3)); + this.setAttribute("uv", new Float32BufferAttribute(uvs, 2)); + function generateBufferData() { + for (let i = 0; i < tubularSegments; i++) { + generateSegment(i); + } + generateSegment(closed === false ? tubularSegments : 0); + generateUVs(); + generateIndices(); + } + function generateSegment(i) { + P = path.getPointAt(i / tubularSegments, P); + const N = frames.normals[i]; + const B = frames.binormals[i]; + for (let j = 0; j <= radialSegments; j++) { + const v = j / radialSegments * Math.PI * 2; + const sin = Math.sin(v); + const cos = -Math.cos(v); + normal.x = cos * N.x + sin * B.x; + normal.y = cos * N.y + sin * B.y; + normal.z = cos * N.z + sin * B.z; + normal.normalize(); + normals.push(normal.x, normal.y, normal.z); + vertex2.x = P.x + radius * normal.x; + vertex2.y = P.y + radius * normal.y; + vertex2.z = P.z + radius * normal.z; + vertices.push(vertex2.x, vertex2.y, vertex2.z); + } + } + function generateIndices() { + for (let j = 1; j <= tubularSegments; j++) { + for (let i = 1; i <= radialSegments; i++) { + const a2 = (radialSegments + 1) * (j - 1) + (i - 1); + const b = (radialSegments + 1) * j + (i - 1); + const c2 = (radialSegments + 1) * j + i; + const d = (radialSegments + 1) * (j - 1) + i; + indices.push(a2, b, d); + indices.push(b, c2, d); + } + } + } + function generateUVs() { + for (let i = 0; i <= tubularSegments; i++) { + for (let j = 0; j <= radialSegments; j++) { + uv.x = i / tubularSegments; + uv.y = j / radialSegments; + uvs.push(uv.x, uv.y); + } + } + } + } + toJSON() { + const data = super.toJSON(); + data.path = this.parameters.path.toJSON(); + return data; + } + static fromJSON(data) { + return new TubeGeometry(new Curves[data.path.type]().fromJSON(data.path), data.tubularSegments, data.radius, data.radialSegments, data.closed); + } +}; +var MeshLambertMaterial = class extends Material { + constructor(parameters) { + super(); + this.isMeshLambertMaterial = true; + this.type = "MeshLambertMaterial"; + this.color = new Color(16777215); + this.map = null; + this.lightMap = null; + this.lightMapIntensity = 1; + this.aoMap = null; + this.aoMapIntensity = 1; + this.emissive = new Color(0); + this.emissiveIntensity = 1; + this.emissiveMap = null; + this.bumpMap = null; + this.bumpScale = 1; + this.normalMap = null; + this.normalMapType = TangentSpaceNormalMap; + this.normalScale = new Vector2(1, 1); + this.displacementMap = null; + this.displacementScale = 1; + this.displacementBias = 0; + this.specularMap = null; + this.alphaMap = null; + this.envMap = null; + this.combine = MultiplyOperation; + this.reflectivity = 1; + this.refractionRatio = 0.98; + this.wireframe = false; + this.wireframeLinewidth = 1; + this.wireframeLinecap = "round"; + this.wireframeLinejoin = "round"; + this.flatShading = false; + this.fog = true; + this.setValues(parameters); + } + copy(source) { + super.copy(source); + this.color.copy(source.color); + this.map = source.map; + this.lightMap = source.lightMap; + this.lightMapIntensity = source.lightMapIntensity; + this.aoMap = source.aoMap; + this.aoMapIntensity = source.aoMapIntensity; + this.emissive.copy(source.emissive); + this.emissiveMap = source.emissiveMap; + this.emissiveIntensity = source.emissiveIntensity; + this.bumpMap = source.bumpMap; + this.bumpScale = source.bumpScale; + this.normalMap = source.normalMap; + this.normalMapType = source.normalMapType; + this.normalScale.copy(source.normalScale); + this.displacementMap = source.displacementMap; + this.displacementScale = source.displacementScale; + this.displacementBias = source.displacementBias; + this.specularMap = source.specularMap; + this.alphaMap = source.alphaMap; + this.envMap = source.envMap; + this.combine = source.combine; + this.reflectivity = source.reflectivity; + this.refractionRatio = source.refractionRatio; + this.wireframe = source.wireframe; + this.wireframeLinewidth = source.wireframeLinewidth; + this.wireframeLinecap = source.wireframeLinecap; + this.wireframeLinejoin = source.wireframeLinejoin; + this.flatShading = source.flatShading; + this.fog = source.fog; + return this; + } +}; +function arraySlice(array, from, to) { + if (isTypedArray(array)) { + return new array.constructor(array.subarray(from, to !== void 0 ? to : array.length)); + } + return array.slice(from, to); +} +function convertArray(array, type, forceClone) { + if (!array || !forceClone && array.constructor === type) + return array; + if (typeof type.BYTES_PER_ELEMENT === "number") { + return new type(array); + } + return Array.prototype.slice.call(array); +} +function isTypedArray(object) { + return ArrayBuffer.isView(object) && !(object instanceof DataView); +} +var Interpolant = class { + constructor(parameterPositions, sampleValues, sampleSize, resultBuffer) { + this.parameterPositions = parameterPositions; + this._cachedIndex = 0; + this.resultBuffer = resultBuffer !== void 0 ? resultBuffer : new sampleValues.constructor(sampleSize); + this.sampleValues = sampleValues; + this.valueSize = sampleSize; + this.settings = null; + this.DefaultSettings_ = {}; + } + evaluate(t) { + const pp = this.parameterPositions; + let i1 = this._cachedIndex, t1 = pp[i1], t0 = pp[i1 - 1]; + validate_interval: { + seek: { + let right; + linear_scan: { + forward_scan: + if (!(t < t1)) { + for (let giveUpAt = i1 + 2; ; ) { + if (t1 === void 0) { + if (t < t0) + break forward_scan; + i1 = pp.length; + this._cachedIndex = i1; + return this.copySampleValue_(i1 - 1); + } + if (i1 === giveUpAt) + break; + t0 = t1; + t1 = pp[++i1]; + if (t < t1) { + break seek; + } + } + right = pp.length; + break linear_scan; + } + if (!(t >= t0)) { + const t1global = pp[1]; + if (t < t1global) { + i1 = 2; + t0 = t1global; + } + for (let giveUpAt = i1 - 2; ; ) { + if (t0 === void 0) { + this._cachedIndex = 0; + return this.copySampleValue_(0); + } + if (i1 === giveUpAt) + break; + t1 = t0; + t0 = pp[--i1 - 1]; + if (t >= t0) { + break seek; + } + } + right = i1; + i1 = 0; + break linear_scan; + } + break validate_interval; + } + while (i1 < right) { + const mid = i1 + right >>> 1; + if (t < pp[mid]) { + right = mid; + } else { + i1 = mid + 1; + } + } + t1 = pp[i1]; + t0 = pp[i1 - 1]; + if (t0 === void 0) { + this._cachedIndex = 0; + return this.copySampleValue_(0); + } + if (t1 === void 0) { + i1 = pp.length; + this._cachedIndex = i1; + return this.copySampleValue_(i1 - 1); + } + } + this._cachedIndex = i1; + this.intervalChanged_(i1, t0, t1); + } + return this.interpolate_(i1, t0, t, t1); + } + getSettings_() { + return this.settings || this.DefaultSettings_; + } + copySampleValue_(index5) { + const result = this.resultBuffer, values = this.sampleValues, stride = this.valueSize, offset = index5 * stride; + for (let i = 0; i !== stride; ++i) { + result[i] = values[offset + i]; + } + return result; + } + interpolate_() { + throw new Error("call to abstract method"); + } + intervalChanged_() { + } +}; +var CubicInterpolant = class extends Interpolant { + constructor(parameterPositions, sampleValues, sampleSize, resultBuffer) { + super(parameterPositions, sampleValues, sampleSize, resultBuffer); + this._weightPrev = -0; + this._offsetPrev = -0; + this._weightNext = -0; + this._offsetNext = -0; + this.DefaultSettings_ = { + endingStart: ZeroCurvatureEnding, + endingEnd: ZeroCurvatureEnding + }; + } + intervalChanged_(i1, t0, t1) { + const pp = this.parameterPositions; + let iPrev = i1 - 2, iNext = i1 + 1, tPrev = pp[iPrev], tNext = pp[iNext]; + if (tPrev === void 0) { + switch (this.getSettings_().endingStart) { + case ZeroSlopeEnding: + iPrev = i1; + tPrev = 2 * t0 - t1; + break; + case WrapAroundEnding: + iPrev = pp.length - 2; + tPrev = t0 + pp[iPrev] - pp[iPrev + 1]; + break; + default: + iPrev = i1; + tPrev = t1; + } + } + if (tNext === void 0) { + switch (this.getSettings_().endingEnd) { + case ZeroSlopeEnding: + iNext = i1; + tNext = 2 * t1 - t0; + break; + case WrapAroundEnding: + iNext = 1; + tNext = t1 + pp[1] - pp[0]; + break; + default: + iNext = i1 - 1; + tNext = t0; + } + } + const halfDt = (t1 - t0) * 0.5, stride = this.valueSize; + this._weightPrev = halfDt / (t0 - tPrev); + this._weightNext = halfDt / (tNext - t1); + this._offsetPrev = iPrev * stride; + this._offsetNext = iNext * stride; + } + interpolate_(i1, t0, t, t1) { + const result = this.resultBuffer, values = this.sampleValues, stride = this.valueSize, o1 = i1 * stride, o0 = o1 - stride, oP = this._offsetPrev, oN = this._offsetNext, wP = this._weightPrev, wN = this._weightNext, p = (t - t0) / (t1 - t0), pp = p * p, ppp = pp * p; + const sP = -wP * ppp + 2 * wP * pp - wP * p; + const s0 = (1 + wP) * ppp + (-1.5 - 2 * wP) * pp + (-0.5 + wP) * p + 1; + const s1 = (-1 - wN) * ppp + (1.5 + wN) * pp + 0.5 * p; + const sN = wN * ppp - wN * pp; + for (let i = 0; i !== stride; ++i) { + result[i] = sP * values[oP + i] + s0 * values[o0 + i] + s1 * values[o1 + i] + sN * values[oN + i]; + } + return result; + } +}; +var LinearInterpolant = class extends Interpolant { + constructor(parameterPositions, sampleValues, sampleSize, resultBuffer) { + super(parameterPositions, sampleValues, sampleSize, resultBuffer); + } + interpolate_(i1, t0, t, t1) { + const result = this.resultBuffer, values = this.sampleValues, stride = this.valueSize, offset1 = i1 * stride, offset0 = offset1 - stride, weight1 = (t - t0) / (t1 - t0), weight0 = 1 - weight1; + for (let i = 0; i !== stride; ++i) { + result[i] = values[offset0 + i] * weight0 + values[offset1 + i] * weight1; + } + return result; + } +}; +var DiscreteInterpolant = class extends Interpolant { + constructor(parameterPositions, sampleValues, sampleSize, resultBuffer) { + super(parameterPositions, sampleValues, sampleSize, resultBuffer); + } + interpolate_(i1) { + return this.copySampleValue_(i1 - 1); + } +}; +var KeyframeTrack = class { + constructor(name, times, values, interpolation) { + if (name === void 0) + throw new Error("THREE.KeyframeTrack: track name is undefined"); + if (times === void 0 || times.length === 0) + throw new Error("THREE.KeyframeTrack: no keyframes in track named " + name); + this.name = name; + this.times = convertArray(times, this.TimeBufferType); + this.values = convertArray(values, this.ValueBufferType); + this.setInterpolation(interpolation || this.DefaultInterpolation); + } + static toJSON(track) { + const trackType = track.constructor; + let json; + if (trackType.toJSON !== this.toJSON) { + json = trackType.toJSON(track); + } else { + json = { + "name": track.name, + "times": convertArray(track.times, Array), + "values": convertArray(track.values, Array) + }; + const interpolation = track.getInterpolation(); + if (interpolation !== track.DefaultInterpolation) { + json.interpolation = interpolation; + } + } + json.type = track.ValueTypeName; + return json; + } + InterpolantFactoryMethodDiscrete(result) { + return new DiscreteInterpolant(this.times, this.values, this.getValueSize(), result); + } + InterpolantFactoryMethodLinear(result) { + return new LinearInterpolant(this.times, this.values, this.getValueSize(), result); + } + InterpolantFactoryMethodSmooth(result) { + return new CubicInterpolant(this.times, this.values, this.getValueSize(), result); + } + setInterpolation(interpolation) { + let factoryMethod; + switch (interpolation) { + case InterpolateDiscrete: + factoryMethod = this.InterpolantFactoryMethodDiscrete; + break; + case InterpolateLinear: + factoryMethod = this.InterpolantFactoryMethodLinear; + break; + case InterpolateSmooth: + factoryMethod = this.InterpolantFactoryMethodSmooth; + break; + } + if (factoryMethod === void 0) { + const message = "unsupported interpolation for " + this.ValueTypeName + " keyframe track named " + this.name; + if (this.createInterpolant === void 0) { + if (interpolation !== this.DefaultInterpolation) { + this.setInterpolation(this.DefaultInterpolation); + } else { + throw new Error(message); + } + } + console.warn("THREE.KeyframeTrack:", message); + return this; + } + this.createInterpolant = factoryMethod; + return this; + } + getInterpolation() { + switch (this.createInterpolant) { + case this.InterpolantFactoryMethodDiscrete: + return InterpolateDiscrete; + case this.InterpolantFactoryMethodLinear: + return InterpolateLinear; + case this.InterpolantFactoryMethodSmooth: + return InterpolateSmooth; + } + } + getValueSize() { + return this.values.length / this.times.length; + } + shift(timeOffset) { + if (timeOffset !== 0) { + const times = this.times; + for (let i = 0, n = times.length; i !== n; ++i) { + times[i] += timeOffset; + } + } + return this; + } + scale(timeScale) { + if (timeScale !== 1) { + const times = this.times; + for (let i = 0, n = times.length; i !== n; ++i) { + times[i] *= timeScale; + } + } + return this; + } + trim(startTime, endTime) { + const times = this.times, nKeys = times.length; + let from = 0, to = nKeys - 1; + while (from !== nKeys && times[from] < startTime) { + ++from; + } + while (to !== -1 && times[to] > endTime) { + --to; + } + ++to; + if (from !== 0 || to !== nKeys) { + if (from >= to) { + to = Math.max(to, 1); + from = to - 1; + } + const stride = this.getValueSize(); + this.times = arraySlice(times, from, to); + this.values = arraySlice(this.values, from * stride, to * stride); + } + return this; + } + validate() { + let valid = true; + const valueSize = this.getValueSize(); + if (valueSize - Math.floor(valueSize) !== 0) { + console.error("THREE.KeyframeTrack: Invalid value size in track.", this); + valid = false; + } + const times = this.times, values = this.values, nKeys = times.length; + if (nKeys === 0) { + console.error("THREE.KeyframeTrack: Track is empty.", this); + valid = false; + } + let prevTime = null; + for (let i = 0; i !== nKeys; i++) { + const currTime = times[i]; + if (typeof currTime === "number" && isNaN(currTime)) { + console.error("THREE.KeyframeTrack: Time is not a valid number.", this, i, currTime); + valid = false; + break; + } + if (prevTime !== null && prevTime > currTime) { + console.error("THREE.KeyframeTrack: Out of order keys.", this, i, currTime, prevTime); + valid = false; + break; + } + prevTime = currTime; + } + if (values !== void 0) { + if (isTypedArray(values)) { + for (let i = 0, n = values.length; i !== n; ++i) { + const value = values[i]; + if (isNaN(value)) { + console.error("THREE.KeyframeTrack: Value is not a valid number.", this, i, value); + valid = false; + break; + } + } + } + } + return valid; + } + optimize() { + const times = arraySlice(this.times), values = arraySlice(this.values), stride = this.getValueSize(), smoothInterpolation = this.getInterpolation() === InterpolateSmooth, lastIndex = times.length - 1; + let writeIndex = 1; + for (let i = 1; i < lastIndex; ++i) { + let keep = false; + const time = times[i]; + const timeNext = times[i + 1]; + if (time !== timeNext && (i !== 1 || time !== times[0])) { + if (!smoothInterpolation) { + const offset = i * stride, offsetP = offset - stride, offsetN = offset + stride; + for (let j = 0; j !== stride; ++j) { + const value = values[offset + j]; + if (value !== values[offsetP + j] || value !== values[offsetN + j]) { + keep = true; + break; + } + } + } else { + keep = true; + } + } + if (keep) { + if (i !== writeIndex) { + times[writeIndex] = times[i]; + const readOffset = i * stride, writeOffset = writeIndex * stride; + for (let j = 0; j !== stride; ++j) { + values[writeOffset + j] = values[readOffset + j]; + } + } + ++writeIndex; + } + } + if (lastIndex > 0) { + times[writeIndex] = times[lastIndex]; + for (let readOffset = lastIndex * stride, writeOffset = writeIndex * stride, j = 0; j !== stride; ++j) { + values[writeOffset + j] = values[readOffset + j]; + } + ++writeIndex; + } + if (writeIndex !== times.length) { + this.times = arraySlice(times, 0, writeIndex); + this.values = arraySlice(values, 0, writeIndex * stride); + } else { + this.times = times; + this.values = values; + } + return this; + } + clone() { + const times = arraySlice(this.times, 0); + const values = arraySlice(this.values, 0); + const TypedKeyframeTrack = this.constructor; + const track = new TypedKeyframeTrack(this.name, times, values); + track.createInterpolant = this.createInterpolant; + return track; + } +}; +KeyframeTrack.prototype.TimeBufferType = Float32Array; +KeyframeTrack.prototype.ValueBufferType = Float32Array; +KeyframeTrack.prototype.DefaultInterpolation = InterpolateLinear; +var BooleanKeyframeTrack = class extends KeyframeTrack { +}; +BooleanKeyframeTrack.prototype.ValueTypeName = "bool"; +BooleanKeyframeTrack.prototype.ValueBufferType = Array; +BooleanKeyframeTrack.prototype.DefaultInterpolation = InterpolateDiscrete; +BooleanKeyframeTrack.prototype.InterpolantFactoryMethodLinear = void 0; +BooleanKeyframeTrack.prototype.InterpolantFactoryMethodSmooth = void 0; +var ColorKeyframeTrack = class extends KeyframeTrack { +}; +ColorKeyframeTrack.prototype.ValueTypeName = "color"; +var NumberKeyframeTrack = class extends KeyframeTrack { +}; +NumberKeyframeTrack.prototype.ValueTypeName = "number"; +var QuaternionLinearInterpolant = class extends Interpolant { + constructor(parameterPositions, sampleValues, sampleSize, resultBuffer) { + super(parameterPositions, sampleValues, sampleSize, resultBuffer); + } + interpolate_(i1, t0, t, t1) { + const result = this.resultBuffer, values = this.sampleValues, stride = this.valueSize, alpha = (t - t0) / (t1 - t0); + let offset = i1 * stride; + for (let end = offset + stride; offset !== end; offset += 4) { + Quaternion.slerpFlat(result, 0, values, offset - stride, values, offset, alpha); + } + return result; + } +}; +var QuaternionKeyframeTrack = class extends KeyframeTrack { + InterpolantFactoryMethodLinear(result) { + return new QuaternionLinearInterpolant(this.times, this.values, this.getValueSize(), result); + } +}; +QuaternionKeyframeTrack.prototype.ValueTypeName = "quaternion"; +QuaternionKeyframeTrack.prototype.DefaultInterpolation = InterpolateLinear; +QuaternionKeyframeTrack.prototype.InterpolantFactoryMethodSmooth = void 0; +var StringKeyframeTrack = class extends KeyframeTrack { +}; +StringKeyframeTrack.prototype.ValueTypeName = "string"; +StringKeyframeTrack.prototype.ValueBufferType = Array; +StringKeyframeTrack.prototype.DefaultInterpolation = InterpolateDiscrete; +StringKeyframeTrack.prototype.InterpolantFactoryMethodLinear = void 0; +StringKeyframeTrack.prototype.InterpolantFactoryMethodSmooth = void 0; +var VectorKeyframeTrack = class extends KeyframeTrack { +}; +VectorKeyframeTrack.prototype.ValueTypeName = "vector"; +var Cache = { + enabled: false, + files: {}, + add: function(key, file) { + if (this.enabled === false) + return; + this.files[key] = file; + }, + get: function(key) { + if (this.enabled === false) + return; + return this.files[key]; + }, + remove: function(key) { + delete this.files[key]; + }, + clear: function() { + this.files = {}; + } +}; +var LoadingManager = class { + constructor(onLoad, onProgress, onError) { + const scope = this; + let isLoading = false; + let itemsLoaded = 0; + let itemsTotal = 0; + let urlModifier = void 0; + const handlers = []; + this.onStart = void 0; + this.onLoad = onLoad; + this.onProgress = onProgress; + this.onError = onError; + this.itemStart = function(url) { + itemsTotal++; + if (isLoading === false) { + if (scope.onStart !== void 0) { + scope.onStart(url, itemsLoaded, itemsTotal); + } + } + isLoading = true; + }; + this.itemEnd = function(url) { + itemsLoaded++; + if (scope.onProgress !== void 0) { + scope.onProgress(url, itemsLoaded, itemsTotal); + } + if (itemsLoaded === itemsTotal) { + isLoading = false; + if (scope.onLoad !== void 0) { + scope.onLoad(); + } + } + }; + this.itemError = function(url) { + if (scope.onError !== void 0) { + scope.onError(url); + } + }; + this.resolveURL = function(url) { + if (urlModifier) { + return urlModifier(url); + } + return url; + }; + this.setURLModifier = function(transform) { + urlModifier = transform; + return this; + }; + this.addHandler = function(regex, loader) { + handlers.push(regex, loader); + return this; + }; + this.removeHandler = function(regex) { + const index5 = handlers.indexOf(regex); + if (index5 !== -1) { + handlers.splice(index5, 2); + } + return this; + }; + this.getHandler = function(file) { + for (let i = 0, l = handlers.length; i < l; i += 2) { + const regex = handlers[i]; + const loader = handlers[i + 1]; + if (regex.global) + regex.lastIndex = 0; + if (regex.test(file)) { + return loader; + } + } + return null; + }; + } +}; +var DefaultLoadingManager = /* @__PURE__ */ new LoadingManager(); +var Loader = class { + constructor(manager) { + this.manager = manager !== void 0 ? manager : DefaultLoadingManager; + this.crossOrigin = "anonymous"; + this.withCredentials = false; + this.path = ""; + this.resourcePath = ""; + this.requestHeader = {}; + } + load() { + } + loadAsync(url, onProgress) { + const scope = this; + return new Promise(function(resolve, reject) { + scope.load(url, resolve, onProgress, reject); + }); + } + parse() { + } + setCrossOrigin(crossOrigin) { + this.crossOrigin = crossOrigin; + return this; + } + setWithCredentials(value) { + this.withCredentials = value; + return this; + } + setPath(path) { + this.path = path; + return this; + } + setResourcePath(resourcePath) { + this.resourcePath = resourcePath; + return this; + } + setRequestHeader(requestHeader) { + this.requestHeader = requestHeader; + return this; + } +}; +var ImageLoader = class extends Loader { + constructor(manager) { + super(manager); + } + load(url, onLoad, onProgress, onError) { + if (this.path !== void 0) + url = this.path + url; + url = this.manager.resolveURL(url); + const scope = this; + const cached = Cache.get(url); + if (cached !== void 0) { + scope.manager.itemStart(url); + setTimeout(function() { + if (onLoad) + onLoad(cached); + scope.manager.itemEnd(url); + }, 0); + return cached; + } + const image = createElementNS("img"); + function onImageLoad() { + removeEventListeners(); + Cache.add(url, this); + if (onLoad) + onLoad(this); + scope.manager.itemEnd(url); + } + function onImageError(event) { + removeEventListeners(); + if (onError) + onError(event); + scope.manager.itemError(url); + scope.manager.itemEnd(url); + } + function removeEventListeners() { + image.removeEventListener("load", onImageLoad, false); + image.removeEventListener("error", onImageError, false); + } + image.addEventListener("load", onImageLoad, false); + image.addEventListener("error", onImageError, false); + if (url.slice(0, 5) !== "data:") { + if (this.crossOrigin !== void 0) + image.crossOrigin = this.crossOrigin; + } + scope.manager.itemStart(url); + image.src = url; + return image; + } +}; +var TextureLoader = class extends Loader { + constructor(manager) { + super(manager); + } + load(url, onLoad, onProgress, onError) { + const texture = new Texture(); + const loader = new ImageLoader(this.manager); + loader.setCrossOrigin(this.crossOrigin); + loader.setPath(this.path); + loader.load(url, function(image) { + texture.image = image; + texture.needsUpdate = true; + if (onLoad !== void 0) { + onLoad(texture); + } + }, onProgress, onError); + return texture; + } +}; +var Light = class extends Object3D { + constructor(color, intensity = 1) { + super(); + this.isLight = true; + this.type = "Light"; + this.color = new Color(color); + this.intensity = intensity; + } + dispose() { + } + copy(source, recursive) { + super.copy(source, recursive); + this.color.copy(source.color); + this.intensity = source.intensity; + return this; + } + toJSON(meta) { + const data = super.toJSON(meta); + data.object.color = this.color.getHex(); + data.object.intensity = this.intensity; + if (this.groundColor !== void 0) + data.object.groundColor = this.groundColor.getHex(); + if (this.distance !== void 0) + data.object.distance = this.distance; + if (this.angle !== void 0) + data.object.angle = this.angle; + if (this.decay !== void 0) + data.object.decay = this.decay; + if (this.penumbra !== void 0) + data.object.penumbra = this.penumbra; + if (this.shadow !== void 0) + data.object.shadow = this.shadow.toJSON(); + return data; + } +}; +var _projScreenMatrix$1 = /* @__PURE__ */ new Matrix4(); +var _lightPositionWorld$1 = /* @__PURE__ */ new Vector3(); +var _lookTarget$1 = /* @__PURE__ */ new Vector3(); +var LightShadow = class { + constructor(camera3) { + this.camera = camera3; + this.bias = 0; + this.normalBias = 0; + this.radius = 1; + this.blurSamples = 8; + this.mapSize = new Vector2(512, 512); + this.map = null; + this.mapPass = null; + this.matrix = new Matrix4(); + this.autoUpdate = true; + this.needsUpdate = false; + this._frustum = new Frustum(); + this._frameExtents = new Vector2(1, 1); + this._viewportCount = 1; + this._viewports = [ + new Vector4(0, 0, 1, 1) + ]; + } + getViewportCount() { + return this._viewportCount; + } + getFrustum() { + return this._frustum; + } + updateMatrices(light) { + const shadowCamera = this.camera; + const shadowMatrix = this.matrix; + _lightPositionWorld$1.setFromMatrixPosition(light.matrixWorld); + shadowCamera.position.copy(_lightPositionWorld$1); + _lookTarget$1.setFromMatrixPosition(light.target.matrixWorld); + shadowCamera.lookAt(_lookTarget$1); + shadowCamera.updateMatrixWorld(); + _projScreenMatrix$1.multiplyMatrices(shadowCamera.projectionMatrix, shadowCamera.matrixWorldInverse); + this._frustum.setFromProjectionMatrix(_projScreenMatrix$1); + shadowMatrix.set(0.5, 0, 0, 0.5, 0, 0.5, 0, 0.5, 0, 0, 0.5, 0.5, 0, 0, 0, 1); + shadowMatrix.multiply(_projScreenMatrix$1); + } + getViewport(viewportIndex) { + return this._viewports[viewportIndex]; + } + getFrameExtents() { + return this._frameExtents; + } + dispose() { + if (this.map) { + this.map.dispose(); + } + if (this.mapPass) { + this.mapPass.dispose(); + } + } + copy(source) { + this.camera = source.camera.clone(); + this.bias = source.bias; + this.radius = source.radius; + this.mapSize.copy(source.mapSize); + return this; + } + clone() { + return new this.constructor().copy(this); + } + toJSON() { + const object = {}; + if (this.bias !== 0) + object.bias = this.bias; + if (this.normalBias !== 0) + object.normalBias = this.normalBias; + if (this.radius !== 1) + object.radius = this.radius; + if (this.mapSize.x !== 512 || this.mapSize.y !== 512) + object.mapSize = this.mapSize.toArray(); + object.camera = this.camera.toJSON(false).object; + delete object.camera.matrix; + return object; + } +}; +var DirectionalLightShadow = class extends LightShadow { + constructor() { + super(new OrthographicCamera(-5, 5, 5, -5, 0.5, 500)); + this.isDirectionalLightShadow = true; + } +}; +var DirectionalLight = class extends Light { + constructor(color, intensity) { + super(color, intensity); + this.isDirectionalLight = true; + this.type = "DirectionalLight"; + this.position.copy(Object3D.DefaultUp); + this.updateMatrix(); + this.target = new Object3D(); + this.shadow = new DirectionalLightShadow(); + } + dispose() { + this.shadow.dispose(); + } + copy(source) { + super.copy(source); + this.target = source.target.clone(); + this.shadow = source.shadow.clone(); + return this; + } +}; +var AmbientLight = class extends Light { + constructor(color, intensity) { + super(color, intensity); + this.isAmbientLight = true; + this.type = "AmbientLight"; + } +}; +var Clock = class { + constructor(autoStart = true) { + this.autoStart = autoStart; + this.startTime = 0; + this.oldTime = 0; + this.elapsedTime = 0; + this.running = false; + } + start() { + this.startTime = now(); + this.oldTime = this.startTime; + this.elapsedTime = 0; + this.running = true; + } + stop() { + this.getElapsedTime(); + this.running = false; + this.autoStart = false; + } + getElapsedTime() { + this.getDelta(); + return this.elapsedTime; + } + getDelta() { + let diff = 0; + if (this.autoStart && !this.running) { + this.start(); + return 0; + } + if (this.running) { + const newTime = now(); + diff = (newTime - this.oldTime) / 1e3; + this.oldTime = newTime; + this.elapsedTime += diff; + } + return diff; + } +}; +function now() { + return (typeof performance === "undefined" ? Date : performance).now(); +} +var _RESERVED_CHARS_RE = "\\[\\]\\.:\\/"; +var _reservedRe = new RegExp("[" + _RESERVED_CHARS_RE + "]", "g"); +var _wordChar = "[^" + _RESERVED_CHARS_RE + "]"; +var _wordCharOrDot = "[^" + _RESERVED_CHARS_RE.replace("\\.", "") + "]"; +var _directoryRe = /* @__PURE__ */ /((?:WC+[\/:])*)/.source.replace("WC", _wordChar); +var _nodeRe = /* @__PURE__ */ /(WCOD+)?/.source.replace("WCOD", _wordCharOrDot); +var _objectRe = /* @__PURE__ */ /(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC", _wordChar); +var _propertyRe = /* @__PURE__ */ /\.(WC+)(?:\[(.+)\])?/.source.replace("WC", _wordChar); +var _trackRe = new RegExp("^" + _directoryRe + _nodeRe + _objectRe + _propertyRe + "$"); +var _supportedObjectNames = ["material", "materials", "bones", "map"]; +var Composite = class { + constructor(targetGroup, path, optionalParsedPath) { + const parsedPath = optionalParsedPath || PropertyBinding.parseTrackName(path); + this._targetGroup = targetGroup; + this._bindings = targetGroup.subscribe_(path, parsedPath); + } + getValue(array, offset) { + this.bind(); + const firstValidIndex = this._targetGroup.nCachedObjects_, binding = this._bindings[firstValidIndex]; + if (binding !== void 0) + binding.getValue(array, offset); + } + setValue(array, offset) { + const bindings = this._bindings; + for (let i = this._targetGroup.nCachedObjects_, n = bindings.length; i !== n; ++i) { + bindings[i].setValue(array, offset); + } + } + bind() { + const bindings = this._bindings; + for (let i = this._targetGroup.nCachedObjects_, n = bindings.length; i !== n; ++i) { + bindings[i].bind(); + } + } + unbind() { + const bindings = this._bindings; + for (let i = this._targetGroup.nCachedObjects_, n = bindings.length; i !== n; ++i) { + bindings[i].unbind(); + } + } +}; +var PropertyBinding = class { + constructor(rootNode, path, parsedPath) { + this.path = path; + this.parsedPath = parsedPath || PropertyBinding.parseTrackName(path); + this.node = PropertyBinding.findNode(rootNode, this.parsedPath.nodeName) || rootNode; + this.rootNode = rootNode; + this.getValue = this._getValue_unbound; + this.setValue = this._setValue_unbound; + } + static create(root, path, parsedPath) { + if (!(root && root.isAnimationObjectGroup)) { + return new PropertyBinding(root, path, parsedPath); + } else { + return new PropertyBinding.Composite(root, path, parsedPath); + } + } + static sanitizeNodeName(name) { + return name.replace(/\s/g, "_").replace(_reservedRe, ""); + } + static parseTrackName(trackName) { + const matches = _trackRe.exec(trackName); + if (matches === null) { + throw new Error("PropertyBinding: Cannot parse trackName: " + trackName); + } + const results = { + nodeName: matches[2], + objectName: matches[3], + objectIndex: matches[4], + propertyName: matches[5], + propertyIndex: matches[6] + }; + const lastDot = results.nodeName && results.nodeName.lastIndexOf("."); + if (lastDot !== void 0 && lastDot !== -1) { + const objectName = results.nodeName.substring(lastDot + 1); + if (_supportedObjectNames.indexOf(objectName) !== -1) { + results.nodeName = results.nodeName.substring(0, lastDot); + results.objectName = objectName; + } + } + if (results.propertyName === null || results.propertyName.length === 0) { + throw new Error("PropertyBinding: can not parse propertyName from trackName: " + trackName); + } + return results; + } + static findNode(root, nodeName) { + if (nodeName === void 0 || nodeName === "" || nodeName === "." || nodeName === -1 || nodeName === root.name || nodeName === root.uuid) { + return root; + } + if (root.skeleton) { + const bone = root.skeleton.getBoneByName(nodeName); + if (bone !== void 0) { + return bone; + } + } + if (root.children) { + const searchNodeSubtree = function(children) { + for (let i = 0; i < children.length; i++) { + const childNode = children[i]; + if (childNode.name === nodeName || childNode.uuid === nodeName) { + return childNode; + } + const result = searchNodeSubtree(childNode.children); + if (result) + return result; + } + return null; + }; + const subTreeNode = searchNodeSubtree(root.children); + if (subTreeNode) { + return subTreeNode; + } + } + return null; + } + _getValue_unavailable() { + } + _setValue_unavailable() { + } + _getValue_direct(buffer, offset) { + buffer[offset] = this.targetObject[this.propertyName]; + } + _getValue_array(buffer, offset) { + const source = this.resolvedProperty; + for (let i = 0, n = source.length; i !== n; ++i) { + buffer[offset++] = source[i]; + } + } + _getValue_arrayElement(buffer, offset) { + buffer[offset] = this.resolvedProperty[this.propertyIndex]; + } + _getValue_toArray(buffer, offset) { + this.resolvedProperty.toArray(buffer, offset); + } + _setValue_direct(buffer, offset) { + this.targetObject[this.propertyName] = buffer[offset]; + } + _setValue_direct_setNeedsUpdate(buffer, offset) { + this.targetObject[this.propertyName] = buffer[offset]; + this.targetObject.needsUpdate = true; + } + _setValue_direct_setMatrixWorldNeedsUpdate(buffer, offset) { + this.targetObject[this.propertyName] = buffer[offset]; + this.targetObject.matrixWorldNeedsUpdate = true; + } + _setValue_array(buffer, offset) { + const dest = this.resolvedProperty; + for (let i = 0, n = dest.length; i !== n; ++i) { + dest[i] = buffer[offset++]; + } + } + _setValue_array_setNeedsUpdate(buffer, offset) { + const dest = this.resolvedProperty; + for (let i = 0, n = dest.length; i !== n; ++i) { + dest[i] = buffer[offset++]; + } + this.targetObject.needsUpdate = true; + } + _setValue_array_setMatrixWorldNeedsUpdate(buffer, offset) { + const dest = this.resolvedProperty; + for (let i = 0, n = dest.length; i !== n; ++i) { + dest[i] = buffer[offset++]; + } + this.targetObject.matrixWorldNeedsUpdate = true; + } + _setValue_arrayElement(buffer, offset) { + this.resolvedProperty[this.propertyIndex] = buffer[offset]; + } + _setValue_arrayElement_setNeedsUpdate(buffer, offset) { + this.resolvedProperty[this.propertyIndex] = buffer[offset]; + this.targetObject.needsUpdate = true; + } + _setValue_arrayElement_setMatrixWorldNeedsUpdate(buffer, offset) { + this.resolvedProperty[this.propertyIndex] = buffer[offset]; + this.targetObject.matrixWorldNeedsUpdate = true; + } + _setValue_fromArray(buffer, offset) { + this.resolvedProperty.fromArray(buffer, offset); + } + _setValue_fromArray_setNeedsUpdate(buffer, offset) { + this.resolvedProperty.fromArray(buffer, offset); + this.targetObject.needsUpdate = true; + } + _setValue_fromArray_setMatrixWorldNeedsUpdate(buffer, offset) { + this.resolvedProperty.fromArray(buffer, offset); + this.targetObject.matrixWorldNeedsUpdate = true; + } + _getValue_unbound(targetArray, offset) { + this.bind(); + this.getValue(targetArray, offset); + } + _setValue_unbound(sourceArray, offset) { + this.bind(); + this.setValue(sourceArray, offset); + } + bind() { + let targetObject = this.node; + const parsedPath = this.parsedPath; + const objectName = parsedPath.objectName; + const propertyName = parsedPath.propertyName; + let propertyIndex = parsedPath.propertyIndex; + if (!targetObject) { + targetObject = PropertyBinding.findNode(this.rootNode, parsedPath.nodeName) || this.rootNode; + this.node = targetObject; + } + this.getValue = this._getValue_unavailable; + this.setValue = this._setValue_unavailable; + if (!targetObject) { + console.error("THREE.PropertyBinding: Trying to update node for track: " + this.path + " but it wasn't found."); + return; + } + if (objectName) { + let objectIndex = parsedPath.objectIndex; + switch (objectName) { + case "materials": + if (!targetObject.material) { + console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.", this); + return; + } + if (!targetObject.material.materials) { + console.error("THREE.PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.", this); + return; + } + targetObject = targetObject.material.materials; + break; + case "bones": + if (!targetObject.skeleton) { + console.error("THREE.PropertyBinding: Can not bind to bones as node does not have a skeleton.", this); + return; + } + targetObject = targetObject.skeleton.bones; + for (let i = 0; i < targetObject.length; i++) { + if (targetObject[i].name === objectIndex) { + objectIndex = i; + break; + } + } + break; + case "map": + if ("map" in targetObject) { + targetObject = targetObject.map; + break; + } + if (!targetObject.material) { + console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.", this); + return; + } + if (!targetObject.material.map) { + console.error("THREE.PropertyBinding: Can not bind to material.map as node.material does not have a map.", this); + return; + } + targetObject = targetObject.material.map; + break; + default: + if (targetObject[objectName] === void 0) { + console.error("THREE.PropertyBinding: Can not bind to objectName of node undefined.", this); + return; + } + targetObject = targetObject[objectName]; + } + if (objectIndex !== void 0) { + if (targetObject[objectIndex] === void 0) { + console.error("THREE.PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.", this, targetObject); + return; + } + targetObject = targetObject[objectIndex]; + } + } + const nodeProperty = targetObject[propertyName]; + if (nodeProperty === void 0) { + const nodeName = parsedPath.nodeName; + console.error("THREE.PropertyBinding: Trying to update property for track: " + nodeName + "." + propertyName + " but it wasn't found.", targetObject); + return; + } + let versioning = this.Versioning.None; + this.targetObject = targetObject; + if (targetObject.needsUpdate !== void 0) { + versioning = this.Versioning.NeedsUpdate; + } else if (targetObject.matrixWorldNeedsUpdate !== void 0) { + versioning = this.Versioning.MatrixWorldNeedsUpdate; + } + let bindingType = this.BindingType.Direct; + if (propertyIndex !== void 0) { + if (propertyName === "morphTargetInfluences") { + if (!targetObject.geometry) { + console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.", this); + return; + } + if (!targetObject.geometry.morphAttributes) { + console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.", this); + return; + } + if (targetObject.morphTargetDictionary[propertyIndex] !== void 0) { + propertyIndex = targetObject.morphTargetDictionary[propertyIndex]; + } + } + bindingType = this.BindingType.ArrayElement; + this.resolvedProperty = nodeProperty; + this.propertyIndex = propertyIndex; + } else if (nodeProperty.fromArray !== void 0 && nodeProperty.toArray !== void 0) { + bindingType = this.BindingType.HasFromToArray; + this.resolvedProperty = nodeProperty; + } else if (Array.isArray(nodeProperty)) { + bindingType = this.BindingType.EntireArray; + this.resolvedProperty = nodeProperty; + } else { + this.propertyName = propertyName; + } + this.getValue = this.GetterByBindingType[bindingType]; + this.setValue = this.SetterByBindingTypeAndVersioning[bindingType][versioning]; + } + unbind() { + this.node = null; + this.getValue = this._getValue_unbound; + this.setValue = this._setValue_unbound; + } +}; +PropertyBinding.Composite = Composite; +PropertyBinding.prototype.BindingType = { + Direct: 0, + EntireArray: 1, + ArrayElement: 2, + HasFromToArray: 3 +}; +PropertyBinding.prototype.Versioning = { + None: 0, + NeedsUpdate: 1, + MatrixWorldNeedsUpdate: 2 +}; +PropertyBinding.prototype.GetterByBindingType = [ + PropertyBinding.prototype._getValue_direct, + PropertyBinding.prototype._getValue_array, + PropertyBinding.prototype._getValue_arrayElement, + PropertyBinding.prototype._getValue_toArray +]; +PropertyBinding.prototype.SetterByBindingTypeAndVersioning = [ + [ + PropertyBinding.prototype._setValue_direct, + PropertyBinding.prototype._setValue_direct_setNeedsUpdate, + PropertyBinding.prototype._setValue_direct_setMatrixWorldNeedsUpdate + ], + [ + PropertyBinding.prototype._setValue_array, + PropertyBinding.prototype._setValue_array_setNeedsUpdate, + PropertyBinding.prototype._setValue_array_setMatrixWorldNeedsUpdate + ], + [ + PropertyBinding.prototype._setValue_arrayElement, + PropertyBinding.prototype._setValue_arrayElement_setNeedsUpdate, + PropertyBinding.prototype._setValue_arrayElement_setMatrixWorldNeedsUpdate + ], + [ + PropertyBinding.prototype._setValue_fromArray, + PropertyBinding.prototype._setValue_fromArray_setNeedsUpdate, + PropertyBinding.prototype._setValue_fromArray_setMatrixWorldNeedsUpdate + ] +]; +var _controlInterpolantsResultBuffer = new Float32Array(1); +var Raycaster = class { + constructor(origin, direction, near = 0, far = Infinity) { + this.ray = new Ray(origin, direction); + this.near = near; + this.far = far; + this.camera = null; + this.layers = new Layers(); + this.params = { + Mesh: {}, + Line: { threshold: 1 }, + LOD: {}, + Points: { threshold: 1 }, + Sprite: {} + }; + } + set(origin, direction) { + this.ray.set(origin, direction); + } + setFromCamera(coords, camera3) { + if (camera3.isPerspectiveCamera) { + this.ray.origin.setFromMatrixPosition(camera3.matrixWorld); + this.ray.direction.set(coords.x, coords.y, 0.5).unproject(camera3).sub(this.ray.origin).normalize(); + this.camera = camera3; + } else if (camera3.isOrthographicCamera) { + this.ray.origin.set(coords.x, coords.y, (camera3.near + camera3.far) / (camera3.near - camera3.far)).unproject(camera3); + this.ray.direction.set(0, 0, -1).transformDirection(camera3.matrixWorld); + this.camera = camera3; + } else { + console.error("THREE.Raycaster: Unsupported camera type: " + camera3.type); + } + } + intersectObject(object, recursive = true, intersects = []) { + intersectObject(object, this, intersects, recursive); + intersects.sort(ascSort); + return intersects; + } + intersectObjects(objects, recursive = true, intersects = []) { + for (let i = 0, l = objects.length; i < l; i++) { + intersectObject(objects[i], this, intersects, recursive); + } + intersects.sort(ascSort); + return intersects; + } +}; +function ascSort(a2, b) { + return a2.distance - b.distance; +} +function intersectObject(object, raycaster, intersects, recursive) { + if (object.layers.test(raycaster.layers)) { + object.raycast(raycaster, intersects); + } + if (recursive === true) { + const children = object.children; + for (let i = 0, l = children.length; i < l; i++) { + intersectObject(children[i], raycaster, intersects, true); + } + } +} +var Spherical = class { + constructor(radius = 1, phi = 0, theta = 0) { + this.radius = radius; + this.phi = phi; + this.theta = theta; + return this; + } + set(radius, phi, theta) { + this.radius = radius; + this.phi = phi; + this.theta = theta; + return this; + } + copy(other) { + this.radius = other.radius; + this.phi = other.phi; + this.theta = other.theta; + return this; + } + makeSafe() { + const EPS = 1e-6; + this.phi = Math.max(EPS, Math.min(Math.PI - EPS, this.phi)); + return this; + } + setFromVector3(v) { + return this.setFromCartesianCoords(v.x, v.y, v.z); + } + setFromCartesianCoords(x2, y2, z2) { + this.radius = Math.sqrt(x2 * x2 + y2 * y2 + z2 * z2); + if (this.radius === 0) { + this.theta = 0; + this.phi = 0; + } else { + this.theta = Math.atan2(x2, z2); + this.phi = Math.acos(clamp(y2 / this.radius, -1, 1)); + } + return this; + } + clone() { + return new this.constructor().copy(this); + } +}; +if (typeof __THREE_DEVTOOLS__ !== "undefined") { + __THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register", { detail: { + revision: REVISION + } })); +} +if (typeof window !== "undefined") { + if (window.__THREE__) { + console.warn("WARNING: Multiple instances of Three.js being imported."); + } else { + window.__THREE__ = REVISION; + } +} + +// node_modules/three/examples/jsm/controls/DragControls.js +var _plane = new Plane(); +var _raycaster = new Raycaster(); +var _pointer = new Vector2(); +var _offset2 = new Vector3(); +var _intersection = new Vector3(); +var _worldPosition = new Vector3(); +var _inverseMatrix = new Matrix4(); +var DragControls = class extends EventDispatcher { + constructor(_objects, _camera3, _domElement) { + super(); + _domElement.style.touchAction = "none"; + let _selected = null, _hovered = null; + const _intersections = []; + const scope = this; + function activate() { + _domElement.addEventListener("pointermove", onPointerMove); + _domElement.addEventListener("pointerdown", onPointerDown); + _domElement.addEventListener("pointerup", onPointerCancel); + _domElement.addEventListener("pointerleave", onPointerCancel); + } + function deactivate() { + _domElement.removeEventListener("pointermove", onPointerMove); + _domElement.removeEventListener("pointerdown", onPointerDown); + _domElement.removeEventListener("pointerup", onPointerCancel); + _domElement.removeEventListener("pointerleave", onPointerCancel); + _domElement.style.cursor = ""; + } + function dispose() { + deactivate(); + } + function getObjects() { + return _objects; + } + function getRaycaster() { + return _raycaster; + } + function onPointerMove(event) { + if (scope.enabled === false) + return; + updatePointer(event); + _raycaster.setFromCamera(_pointer, _camera3); + if (_selected) { + if (_raycaster.ray.intersectPlane(_plane, _intersection)) { + _selected.position.copy(_intersection.sub(_offset2).applyMatrix4(_inverseMatrix)); + } + scope.dispatchEvent({ type: "drag", object: _selected }); + return; + } + if (event.pointerType === "mouse" || event.pointerType === "pen") { + _intersections.length = 0; + _raycaster.setFromCamera(_pointer, _camera3); + _raycaster.intersectObjects(_objects, true, _intersections); + if (_intersections.length > 0) { + const object = _intersections[0].object; + _plane.setFromNormalAndCoplanarPoint(_camera3.getWorldDirection(_plane.normal), _worldPosition.setFromMatrixPosition(object.matrixWorld)); + if (_hovered !== object && _hovered !== null) { + scope.dispatchEvent({ type: "hoveroff", object: _hovered }); + _domElement.style.cursor = "auto"; + _hovered = null; + } + if (_hovered !== object) { + scope.dispatchEvent({ type: "hoveron", object }); + _domElement.style.cursor = "pointer"; + _hovered = object; + } + } else { + if (_hovered !== null) { + scope.dispatchEvent({ type: "hoveroff", object: _hovered }); + _domElement.style.cursor = "auto"; + _hovered = null; + } + } + } + } + function onPointerDown(event) { + if (scope.enabled === false) + return; + updatePointer(event); + _intersections.length = 0; + _raycaster.setFromCamera(_pointer, _camera3); + _raycaster.intersectObjects(_objects, true, _intersections); + if (_intersections.length > 0) { + _selected = scope.transformGroup === true ? _objects[0] : _intersections[0].object; + _plane.setFromNormalAndCoplanarPoint(_camera3.getWorldDirection(_plane.normal), _worldPosition.setFromMatrixPosition(_selected.matrixWorld)); + if (_raycaster.ray.intersectPlane(_plane, _intersection)) { + _inverseMatrix.copy(_selected.parent.matrixWorld).invert(); + _offset2.copy(_intersection).sub(_worldPosition.setFromMatrixPosition(_selected.matrixWorld)); + } + _domElement.style.cursor = "move"; + scope.dispatchEvent({ type: "dragstart", object: _selected }); + } + } + function onPointerCancel() { + if (scope.enabled === false) + return; + if (_selected) { + scope.dispatchEvent({ type: "dragend", object: _selected }); + _selected = null; + } + _domElement.style.cursor = _hovered ? "pointer" : "auto"; + } + function updatePointer(event) { + const rect = _domElement.getBoundingClientRect(); + _pointer.x = (event.clientX - rect.left) / rect.width * 2 - 1; + _pointer.y = -(event.clientY - rect.top) / rect.height * 2 + 1; + } + activate(); + this.enabled = true; + this.transformGroup = false; + this.activate = activate; + this.deactivate = deactivate; + this.dispose = dispose; + this.getObjects = getObjects; + this.getRaycaster = getRaycaster; + } +}; + +// node_modules/d3-force-3d/src/center.js +function center_default(x2, y2, z2) { + var nodes, strength = 1; + if (x2 == null) + x2 = 0; + if (y2 == null) + y2 = 0; + if (z2 == null) + z2 = 0; + function force() { + var i, n = nodes.length, node, sx = 0, sy = 0, sz = 0; + for (i = 0; i < n; ++i) { + node = nodes[i], sx += node.x || 0, sy += node.y || 0, sz += node.z || 0; + } + for (sx = (sx / n - x2) * strength, sy = (sy / n - y2) * strength, sz = (sz / n - z2) * strength, i = 0; i < n; ++i) { + node = nodes[i]; + if (sx) { + node.x -= sx; + } + if (sy) { + node.y -= sy; + } + if (sz) { + node.z -= sz; + } + } + } + force.initialize = function(_) { + nodes = _; + }; + force.x = function(_) { + return arguments.length ? (x2 = +_, force) : x2; + }; + force.y = function(_) { + return arguments.length ? (y2 = +_, force) : y2; + }; + force.z = function(_) { + return arguments.length ? (z2 = +_, force) : z2; + }; + force.strength = function(_) { + return arguments.length ? (strength = +_, force) : strength; + }; + return force; +} + +// node_modules/d3-binarytree/src/add.js +function add_default(d) { + var x2 = +this._x.call(null, d); + return add(this.cover(x2), x2, d); +} +function add(tree, x2, d) { + if (isNaN(x2)) + return tree; + var parent, node = tree._root, leaf = { data: d }, x0 = tree._x0, x1 = tree._x1, xm, xp, right, i, j; + if (!node) + return tree._root = leaf, tree; + while (node.length) { + if (right = x2 >= (xm = (x0 + x1) / 2)) + x0 = xm; + else + x1 = xm; + if (parent = node, !(node = node[i = +right])) + return parent[i] = leaf, tree; + } + xp = +tree._x.call(null, node.data); + if (x2 === xp) + return leaf.next = node, parent ? parent[i] = leaf : tree._root = leaf, tree; + do { + parent = parent ? parent[i] = new Array(2) : tree._root = new Array(2); + if (right = x2 >= (xm = (x0 + x1) / 2)) + x0 = xm; + else + x1 = xm; + } while ((i = +right) === (j = +(xp >= xm))); + return parent[j] = node, parent[i] = leaf, tree; +} +function addAll(data) { + var i, n = data.length, x2, xz = new Array(n), x0 = Infinity, x1 = -Infinity; + for (i = 0; i < n; ++i) { + if (isNaN(x2 = +this._x.call(null, data[i]))) + continue; + xz[i] = x2; + if (x2 < x0) + x0 = x2; + if (x2 > x1) + x1 = x2; + } + if (x0 > x1) + return this; + this.cover(x0).cover(x1); + for (i = 0; i < n; ++i) { + add(this, xz[i], data[i]); + } + return this; +} + +// node_modules/d3-binarytree/src/cover.js +function cover_default(x2) { + if (isNaN(x2 = +x2)) + return this; + var x0 = this._x0, x1 = this._x1; + if (isNaN(x0)) { + x1 = (x0 = Math.floor(x2)) + 1; + } else { + var z2 = x1 - x0 || 1, node = this._root, parent, i; + while (x0 > x2 || x2 >= x1) { + i = +(x2 < x0); + parent = new Array(2), parent[i] = node, node = parent, z2 *= 2; + switch (i) { + case 0: + x1 = x0 + z2; + break; + case 1: + x0 = x1 - z2; + break; + } + } + if (this._root && this._root.length) + this._root = node; + } + this._x0 = x0; + this._x1 = x1; + return this; +} + +// node_modules/d3-binarytree/src/data.js +function data_default() { + var data = []; + this.visit(function(node) { + if (!node.length) + do + data.push(node.data); + while (node = node.next); + }); + return data; +} + +// node_modules/d3-binarytree/src/extent.js +function extent_default(_) { + return arguments.length ? this.cover(+_[0][0]).cover(+_[1][0]) : isNaN(this._x0) ? void 0 : [[this._x0], [this._x1]]; +} + +// node_modules/d3-binarytree/src/half.js +function half_default(node, x0, x1) { + this.node = node; + this.x0 = x0; + this.x1 = x1; +} + +// node_modules/d3-binarytree/src/find.js +function find_default(x2, radius) { + var data, x0 = this._x0, x1, x22, x3 = this._x1, halves = [], node = this._root, q, i; + if (node) + halves.push(new half_default(node, x0, x3)); + if (radius == null) + radius = Infinity; + else { + x0 = x2 - radius; + x3 = x2 + radius; + } + while (q = halves.pop()) { + if (!(node = q.node) || (x1 = q.x0) > x3 || (x22 = q.x1) < x0) + continue; + if (node.length) { + var xm = (x1 + x22) / 2; + halves.push(new half_default(node[1], xm, x22), new half_default(node[0], x1, xm)); + if (i = +(x2 >= xm)) { + q = halves[halves.length - 1]; + halves[halves.length - 1] = halves[halves.length - 1 - i]; + halves[halves.length - 1 - i] = q; + } + } else { + var d = Math.abs(x2 - +this._x.call(null, node.data)); + if (d < radius) { + radius = d; + x0 = x2 - d; + x3 = x2 + d; + data = node.data; + } + } + } + return data; +} + +// node_modules/d3-binarytree/src/remove.js +function remove_default(d) { + if (isNaN(x2 = +this._x.call(null, d))) + return this; + var parent, node = this._root, retainer, previous, next, x0 = this._x0, x1 = this._x1, x2, xm, right, i, j; + if (!node) + return this; + if (node.length) + while (true) { + if (right = x2 >= (xm = (x0 + x1) / 2)) + x0 = xm; + else + x1 = xm; + if (!(parent = node, node = node[i = +right])) + return this; + if (!node.length) + break; + if (parent[i + 1 & 1]) + retainer = parent, j = i; + } + while (node.data !== d) + if (!(previous = node, node = node.next)) + return this; + if (next = node.next) + delete node.next; + if (previous) + return next ? previous.next = next : delete previous.next, this; + if (!parent) + return this._root = next, this; + next ? parent[i] = next : delete parent[i]; + if ((node = parent[0] || parent[1]) && node === (parent[1] || parent[0]) && !node.length) { + if (retainer) + retainer[j] = node; + else + this._root = node; + } + return this; +} +function removeAll(data) { + for (var i = 0, n = data.length; i < n; ++i) + this.remove(data[i]); + return this; +} + +// node_modules/d3-binarytree/src/root.js +function root_default() { + return this._root; +} + +// node_modules/d3-binarytree/src/size.js +function size_default() { + var size = 0; + this.visit(function(node) { + if (!node.length) + do + ++size; + while (node = node.next); + }); + return size; +} + +// node_modules/d3-binarytree/src/visit.js +function visit_default(callback) { + var halves = [], q, node = this._root, child, x0, x1; + if (node) + halves.push(new half_default(node, this._x0, this._x1)); + while (q = halves.pop()) { + if (!callback(node = q.node, x0 = q.x0, x1 = q.x1) && node.length) { + var xm = (x0 + x1) / 2; + if (child = node[1]) + halves.push(new half_default(child, xm, x1)); + if (child = node[0]) + halves.push(new half_default(child, x0, xm)); + } + } + return this; +} + +// node_modules/d3-binarytree/src/visitAfter.js +function visitAfter_default(callback) { + var halves = [], next = [], q; + if (this._root) + halves.push(new half_default(this._root, this._x0, this._x1)); + while (q = halves.pop()) { + var node = q.node; + if (node.length) { + var child, x0 = q.x0, x1 = q.x1, xm = (x0 + x1) / 2; + if (child = node[0]) + halves.push(new half_default(child, x0, xm)); + if (child = node[1]) + halves.push(new half_default(child, xm, x1)); + } + next.push(q); + } + while (q = next.pop()) { + callback(q.node, q.x0, q.x1); + } + return this; +} + +// node_modules/d3-binarytree/src/x.js +function defaultX(d) { + return d[0]; +} +function x_default(_) { + return arguments.length ? (this._x = _, this) : this._x; +} + +// node_modules/d3-binarytree/src/binarytree.js +function binarytree(nodes, x2) { + var tree = new Binarytree(x2 == null ? defaultX : x2, NaN, NaN); + return nodes == null ? tree : tree.addAll(nodes); +} +function Binarytree(x2, x0, x1) { + this._x = x2; + this._x0 = x0; + this._x1 = x1; + this._root = void 0; +} +function leaf_copy(leaf) { + var copy = { data: leaf.data }, next = copy; + while (leaf = leaf.next) + next = next.next = { data: leaf.data }; + return copy; +} +var treeProto = binarytree.prototype = Binarytree.prototype; +treeProto.copy = function() { + var copy = new Binarytree(this._x, this._x0, this._x1), node = this._root, nodes, child; + if (!node) + return copy; + if (!node.length) + return copy._root = leaf_copy(node), copy; + nodes = [{ source: node, target: copy._root = new Array(2) }]; + while (node = nodes.pop()) { + for (var i = 0; i < 2; ++i) { + if (child = node.source[i]) { + if (child.length) + nodes.push({ source: child, target: node.target[i] = new Array(2) }); + else + node.target[i] = leaf_copy(child); + } + } + } + return copy; +}; +treeProto.add = add_default; +treeProto.addAll = addAll; +treeProto.cover = cover_default; +treeProto.data = data_default; +treeProto.extent = extent_default; +treeProto.find = find_default; +treeProto.remove = remove_default; +treeProto.removeAll = removeAll; +treeProto.root = root_default; +treeProto.size = size_default; +treeProto.visit = visit_default; +treeProto.visitAfter = visitAfter_default; +treeProto.x = x_default; + +// node_modules/d3-quadtree/src/add.js +function add_default2(d) { + const x2 = +this._x.call(null, d), y2 = +this._y.call(null, d); + return add2(this.cover(x2, y2), x2, y2, d); +} +function add2(tree, x2, y2, d) { + if (isNaN(x2) || isNaN(y2)) + return tree; + var parent, node = tree._root, leaf = { data: d }, x0 = tree._x0, y0 = tree._y0, x1 = tree._x1, y1 = tree._y1, xm, ym, xp, yp, right, bottom, i, j; + if (!node) + return tree._root = leaf, tree; + while (node.length) { + if (right = x2 >= (xm = (x0 + x1) / 2)) + x0 = xm; + else + x1 = xm; + if (bottom = y2 >= (ym = (y0 + y1) / 2)) + y0 = ym; + else + y1 = ym; + if (parent = node, !(node = node[i = bottom << 1 | right])) + return parent[i] = leaf, tree; + } + xp = +tree._x.call(null, node.data); + yp = +tree._y.call(null, node.data); + if (x2 === xp && y2 === yp) + return leaf.next = node, parent ? parent[i] = leaf : tree._root = leaf, tree; + do { + parent = parent ? parent[i] = new Array(4) : tree._root = new Array(4); + if (right = x2 >= (xm = (x0 + x1) / 2)) + x0 = xm; + else + x1 = xm; + if (bottom = y2 >= (ym = (y0 + y1) / 2)) + y0 = ym; + else + y1 = ym; + } while ((i = bottom << 1 | right) === (j = (yp >= ym) << 1 | xp >= xm)); + return parent[j] = node, parent[i] = leaf, tree; +} +function addAll2(data) { + var d, i, n = data.length, x2, y2, xz = new Array(n), yz = new Array(n), x0 = Infinity, y0 = Infinity, x1 = -Infinity, y1 = -Infinity; + for (i = 0; i < n; ++i) { + if (isNaN(x2 = +this._x.call(null, d = data[i])) || isNaN(y2 = +this._y.call(null, d))) + continue; + xz[i] = x2; + yz[i] = y2; + if (x2 < x0) + x0 = x2; + if (x2 > x1) + x1 = x2; + if (y2 < y0) + y0 = y2; + if (y2 > y1) + y1 = y2; + } + if (x0 > x1 || y0 > y1) + return this; + this.cover(x0, y0).cover(x1, y1); + for (i = 0; i < n; ++i) { + add2(this, xz[i], yz[i], data[i]); + } + return this; +} + +// node_modules/d3-quadtree/src/cover.js +function cover_default2(x2, y2) { + if (isNaN(x2 = +x2) || isNaN(y2 = +y2)) + return this; + var x0 = this._x0, y0 = this._y0, x1 = this._x1, y1 = this._y1; + if (isNaN(x0)) { + x1 = (x0 = Math.floor(x2)) + 1; + y1 = (y0 = Math.floor(y2)) + 1; + } else { + var z2 = x1 - x0 || 1, node = this._root, parent, i; + while (x0 > x2 || x2 >= x1 || y0 > y2 || y2 >= y1) { + i = (y2 < y0) << 1 | x2 < x0; + parent = new Array(4), parent[i] = node, node = parent, z2 *= 2; + switch (i) { + case 0: + x1 = x0 + z2, y1 = y0 + z2; + break; + case 1: + x0 = x1 - z2, y1 = y0 + z2; + break; + case 2: + x1 = x0 + z2, y0 = y1 - z2; + break; + case 3: + x0 = x1 - z2, y0 = y1 - z2; + break; + } + } + if (this._root && this._root.length) + this._root = node; + } + this._x0 = x0; + this._y0 = y0; + this._x1 = x1; + this._y1 = y1; + return this; +} + +// node_modules/d3-quadtree/src/data.js +function data_default2() { + var data = []; + this.visit(function(node) { + if (!node.length) + do + data.push(node.data); + while (node = node.next); + }); + return data; +} + +// node_modules/d3-quadtree/src/extent.js +function extent_default2(_) { + return arguments.length ? this.cover(+_[0][0], +_[0][1]).cover(+_[1][0], +_[1][1]) : isNaN(this._x0) ? void 0 : [[this._x0, this._y0], [this._x1, this._y1]]; +} + +// node_modules/d3-quadtree/src/quad.js +function quad_default(node, x0, y0, x1, y1) { + this.node = node; + this.x0 = x0; + this.y0 = y0; + this.x1 = x1; + this.y1 = y1; +} + +// node_modules/d3-quadtree/src/find.js +function find_default2(x2, y2, radius) { + var data, x0 = this._x0, y0 = this._y0, x1, y1, x22, y22, x3 = this._x1, y3 = this._y1, quads = [], node = this._root, q, i; + if (node) + quads.push(new quad_default(node, x0, y0, x3, y3)); + if (radius == null) + radius = Infinity; + else { + x0 = x2 - radius, y0 = y2 - radius; + x3 = x2 + radius, y3 = y2 + radius; + radius *= radius; + } + while (q = quads.pop()) { + if (!(node = q.node) || (x1 = q.x0) > x3 || (y1 = q.y0) > y3 || (x22 = q.x1) < x0 || (y22 = q.y1) < y0) + continue; + if (node.length) { + var xm = (x1 + x22) / 2, ym = (y1 + y22) / 2; + quads.push(new quad_default(node[3], xm, ym, x22, y22), new quad_default(node[2], x1, ym, xm, y22), new quad_default(node[1], xm, y1, x22, ym), new quad_default(node[0], x1, y1, xm, ym)); + if (i = (y2 >= ym) << 1 | x2 >= xm) { + q = quads[quads.length - 1]; + quads[quads.length - 1] = quads[quads.length - 1 - i]; + quads[quads.length - 1 - i] = q; + } + } else { + var dx = x2 - +this._x.call(null, node.data), dy = y2 - +this._y.call(null, node.data), d2 = dx * dx + dy * dy; + if (d2 < radius) { + var d = Math.sqrt(radius = d2); + x0 = x2 - d, y0 = y2 - d; + x3 = x2 + d, y3 = y2 + d; + data = node.data; + } + } + } + return data; +} + +// node_modules/d3-quadtree/src/remove.js +function remove_default2(d) { + if (isNaN(x2 = +this._x.call(null, d)) || isNaN(y2 = +this._y.call(null, d))) + return this; + var parent, node = this._root, retainer, previous, next, x0 = this._x0, y0 = this._y0, x1 = this._x1, y1 = this._y1, x2, y2, xm, ym, right, bottom, i, j; + if (!node) + return this; + if (node.length) + while (true) { + if (right = x2 >= (xm = (x0 + x1) / 2)) + x0 = xm; + else + x1 = xm; + if (bottom = y2 >= (ym = (y0 + y1) / 2)) + y0 = ym; + else + y1 = ym; + if (!(parent = node, node = node[i = bottom << 1 | right])) + return this; + if (!node.length) + break; + if (parent[i + 1 & 3] || parent[i + 2 & 3] || parent[i + 3 & 3]) + retainer = parent, j = i; + } + while (node.data !== d) + if (!(previous = node, node = node.next)) + return this; + if (next = node.next) + delete node.next; + if (previous) + return next ? previous.next = next : delete previous.next, this; + if (!parent) + return this._root = next, this; + next ? parent[i] = next : delete parent[i]; + if ((node = parent[0] || parent[1] || parent[2] || parent[3]) && node === (parent[3] || parent[2] || parent[1] || parent[0]) && !node.length) { + if (retainer) + retainer[j] = node; + else + this._root = node; + } + return this; +} +function removeAll2(data) { + for (var i = 0, n = data.length; i < n; ++i) + this.remove(data[i]); + return this; +} + +// node_modules/d3-quadtree/src/root.js +function root_default2() { + return this._root; +} + +// node_modules/d3-quadtree/src/size.js +function size_default2() { + var size = 0; + this.visit(function(node) { + if (!node.length) + do + ++size; + while (node = node.next); + }); + return size; +} + +// node_modules/d3-quadtree/src/visit.js +function visit_default2(callback) { + var quads = [], q, node = this._root, child, x0, y0, x1, y1; + if (node) + quads.push(new quad_default(node, this._x0, this._y0, this._x1, this._y1)); + while (q = quads.pop()) { + if (!callback(node = q.node, x0 = q.x0, y0 = q.y0, x1 = q.x1, y1 = q.y1) && node.length) { + var xm = (x0 + x1) / 2, ym = (y0 + y1) / 2; + if (child = node[3]) + quads.push(new quad_default(child, xm, ym, x1, y1)); + if (child = node[2]) + quads.push(new quad_default(child, x0, ym, xm, y1)); + if (child = node[1]) + quads.push(new quad_default(child, xm, y0, x1, ym)); + if (child = node[0]) + quads.push(new quad_default(child, x0, y0, xm, ym)); + } + } + return this; +} + +// node_modules/d3-quadtree/src/visitAfter.js +function visitAfter_default2(callback) { + var quads = [], next = [], q; + if (this._root) + quads.push(new quad_default(this._root, this._x0, this._y0, this._x1, this._y1)); + while (q = quads.pop()) { + var node = q.node; + if (node.length) { + var child, x0 = q.x0, y0 = q.y0, x1 = q.x1, y1 = q.y1, xm = (x0 + x1) / 2, ym = (y0 + y1) / 2; + if (child = node[0]) + quads.push(new quad_default(child, x0, y0, xm, ym)); + if (child = node[1]) + quads.push(new quad_default(child, xm, y0, x1, ym)); + if (child = node[2]) + quads.push(new quad_default(child, x0, ym, xm, y1)); + if (child = node[3]) + quads.push(new quad_default(child, xm, ym, x1, y1)); + } + next.push(q); + } + while (q = next.pop()) { + callback(q.node, q.x0, q.y0, q.x1, q.y1); + } + return this; +} + +// node_modules/d3-quadtree/src/x.js +function defaultX2(d) { + return d[0]; +} +function x_default2(_) { + return arguments.length ? (this._x = _, this) : this._x; +} + +// node_modules/d3-quadtree/src/y.js +function defaultY(d) { + return d[1]; +} +function y_default(_) { + return arguments.length ? (this._y = _, this) : this._y; +} + +// node_modules/d3-quadtree/src/quadtree.js +function quadtree(nodes, x2, y2) { + var tree = new Quadtree(x2 == null ? defaultX2 : x2, y2 == null ? defaultY : y2, NaN, NaN, NaN, NaN); + return nodes == null ? tree : tree.addAll(nodes); +} +function Quadtree(x2, y2, x0, y0, x1, y1) { + this._x = x2; + this._y = y2; + this._x0 = x0; + this._y0 = y0; + this._x1 = x1; + this._y1 = y1; + this._root = void 0; +} +function leaf_copy2(leaf) { + var copy = { data: leaf.data }, next = copy; + while (leaf = leaf.next) + next = next.next = { data: leaf.data }; + return copy; +} +var treeProto2 = quadtree.prototype = Quadtree.prototype; +treeProto2.copy = function() { + var copy = new Quadtree(this._x, this._y, this._x0, this._y0, this._x1, this._y1), node = this._root, nodes, child; + if (!node) + return copy; + if (!node.length) + return copy._root = leaf_copy2(node), copy; + nodes = [{ source: node, target: copy._root = new Array(4) }]; + while (node = nodes.pop()) { + for (var i = 0; i < 4; ++i) { + if (child = node.source[i]) { + if (child.length) + nodes.push({ source: child, target: node.target[i] = new Array(4) }); + else + node.target[i] = leaf_copy2(child); + } + } + } + return copy; +}; +treeProto2.add = add_default2; +treeProto2.addAll = addAll2; +treeProto2.cover = cover_default2; +treeProto2.data = data_default2; +treeProto2.extent = extent_default2; +treeProto2.find = find_default2; +treeProto2.remove = remove_default2; +treeProto2.removeAll = removeAll2; +treeProto2.root = root_default2; +treeProto2.size = size_default2; +treeProto2.visit = visit_default2; +treeProto2.visitAfter = visitAfter_default2; +treeProto2.x = x_default2; +treeProto2.y = y_default; + +// node_modules/d3-octree/src/add.js +function add_default3(d) { + var x2 = +this._x.call(null, d), y2 = +this._y.call(null, d), z2 = +this._z.call(null, d); + return add3(this.cover(x2, y2, z2), x2, y2, z2, d); +} +function add3(tree, x2, y2, z2, d) { + if (isNaN(x2) || isNaN(y2) || isNaN(z2)) + return tree; + var parent, node = tree._root, leaf = { data: d }, x0 = tree._x0, y0 = tree._y0, z0 = tree._z0, x1 = tree._x1, y1 = tree._y1, z1 = tree._z1, xm, ym, zm, xp, yp, zp, right, bottom, deep, i, j; + if (!node) + return tree._root = leaf, tree; + while (node.length) { + if (right = x2 >= (xm = (x0 + x1) / 2)) + x0 = xm; + else + x1 = xm; + if (bottom = y2 >= (ym = (y0 + y1) / 2)) + y0 = ym; + else + y1 = ym; + if (deep = z2 >= (zm = (z0 + z1) / 2)) + z0 = zm; + else + z1 = zm; + if (parent = node, !(node = node[i = deep << 2 | bottom << 1 | right])) + return parent[i] = leaf, tree; + } + xp = +tree._x.call(null, node.data); + yp = +tree._y.call(null, node.data); + zp = +tree._z.call(null, node.data); + if (x2 === xp && y2 === yp && z2 === zp) + return leaf.next = node, parent ? parent[i] = leaf : tree._root = leaf, tree; + do { + parent = parent ? parent[i] = new Array(8) : tree._root = new Array(8); + if (right = x2 >= (xm = (x0 + x1) / 2)) + x0 = xm; + else + x1 = xm; + if (bottom = y2 >= (ym = (y0 + y1) / 2)) + y0 = ym; + else + y1 = ym; + if (deep = z2 >= (zm = (z0 + z1) / 2)) + z0 = zm; + else + z1 = zm; + } while ((i = deep << 2 | bottom << 1 | right) === (j = (zp >= zm) << 2 | (yp >= ym) << 1 | xp >= xm)); + return parent[j] = node, parent[i] = leaf, tree; +} +function addAll3(data) { + var d, i, n = data.length, x2, y2, z2, xz = new Array(n), yz = new Array(n), zz = new Array(n), x0 = Infinity, y0 = Infinity, z0 = Infinity, x1 = -Infinity, y1 = -Infinity, z1 = -Infinity; + for (i = 0; i < n; ++i) { + if (isNaN(x2 = +this._x.call(null, d = data[i])) || isNaN(y2 = +this._y.call(null, d)) || isNaN(z2 = +this._z.call(null, d))) + continue; + xz[i] = x2; + yz[i] = y2; + zz[i] = z2; + if (x2 < x0) + x0 = x2; + if (x2 > x1) + x1 = x2; + if (y2 < y0) + y0 = y2; + if (y2 > y1) + y1 = y2; + if (z2 < z0) + z0 = z2; + if (z2 > z1) + z1 = z2; + } + if (x0 > x1 || y0 > y1 || z0 > z1) + return this; + this.cover(x0, y0, z0).cover(x1, y1, z1); + for (i = 0; i < n; ++i) { + add3(this, xz[i], yz[i], zz[i], data[i]); + } + return this; +} + +// node_modules/d3-octree/src/cover.js +function cover_default3(x2, y2, z2) { + if (isNaN(x2 = +x2) || isNaN(y2 = +y2) || isNaN(z2 = +z2)) + return this; + var x0 = this._x0, y0 = this._y0, z0 = this._z0, x1 = this._x1, y1 = this._y1, z1 = this._z1; + if (isNaN(x0)) { + x1 = (x0 = Math.floor(x2)) + 1; + y1 = (y0 = Math.floor(y2)) + 1; + z1 = (z0 = Math.floor(z2)) + 1; + } else { + var t = x1 - x0 || 1, node = this._root, parent, i; + while (x0 > x2 || x2 >= x1 || y0 > y2 || y2 >= y1 || z0 > z2 || z2 >= z1) { + i = (z2 < z0) << 2 | (y2 < y0) << 1 | x2 < x0; + parent = new Array(8), parent[i] = node, node = parent, t *= 2; + switch (i) { + case 0: + x1 = x0 + t, y1 = y0 + t, z1 = z0 + t; + break; + case 1: + x0 = x1 - t, y1 = y0 + t, z1 = z0 + t; + break; + case 2: + x1 = x0 + t, y0 = y1 - t, z1 = z0 + t; + break; + case 3: + x0 = x1 - t, y0 = y1 - t, z1 = z0 + t; + break; + case 4: + x1 = x0 + t, y1 = y0 + t, z0 = z1 - t; + break; + case 5: + x0 = x1 - t, y1 = y0 + t, z0 = z1 - t; + break; + case 6: + x1 = x0 + t, y0 = y1 - t, z0 = z1 - t; + break; + case 7: + x0 = x1 - t, y0 = y1 - t, z0 = z1 - t; + break; + } + } + if (this._root && this._root.length) + this._root = node; + } + this._x0 = x0; + this._y0 = y0; + this._z0 = z0; + this._x1 = x1; + this._y1 = y1; + this._z1 = z1; + return this; +} + +// node_modules/d3-octree/src/data.js +function data_default3() { + var data = []; + this.visit(function(node) { + if (!node.length) + do + data.push(node.data); + while (node = node.next); + }); + return data; +} + +// node_modules/d3-octree/src/extent.js +function extent_default3(_) { + return arguments.length ? this.cover(+_[0][0], +_[0][1], +_[0][2]).cover(+_[1][0], +_[1][1], +_[1][2]) : isNaN(this._x0) ? void 0 : [[this._x0, this._y0, this._z0], [this._x1, this._y1, this._z1]]; +} + +// node_modules/d3-octree/src/octant.js +function octant_default(node, x0, y0, z0, x1, y1, z1) { + this.node = node; + this.x0 = x0; + this.y0 = y0; + this.z0 = z0; + this.x1 = x1; + this.y1 = y1; + this.z1 = z1; +} + +// node_modules/d3-octree/src/find.js +function find_default3(x2, y2, z2, radius) { + var data, x0 = this._x0, y0 = this._y0, z0 = this._z0, x1, y1, z1, x22, y22, z22, x3 = this._x1, y3 = this._y1, z3 = this._z1, octs = [], node = this._root, q, i; + if (node) + octs.push(new octant_default(node, x0, y0, z0, x3, y3, z3)); + if (radius == null) + radius = Infinity; + else { + x0 = x2 - radius, y0 = y2 - radius, z0 = z2 - radius; + x3 = x2 + radius, y3 = y2 + radius, z3 = z2 + radius; + radius *= radius; + } + while (q = octs.pop()) { + if (!(node = q.node) || (x1 = q.x0) > x3 || (y1 = q.y0) > y3 || (z1 = q.z0) > z3 || (x22 = q.x1) < x0 || (y22 = q.y1) < y0 || (z22 = q.z1) < z0) + continue; + if (node.length) { + var xm = (x1 + x22) / 2, ym = (y1 + y22) / 2, zm = (z1 + z22) / 2; + octs.push(new octant_default(node[7], xm, ym, zm, x22, y22, z22), new octant_default(node[6], x1, ym, zm, xm, y22, z22), new octant_default(node[5], xm, y1, zm, x22, ym, z22), new octant_default(node[4], x1, y1, zm, xm, ym, z22), new octant_default(node[3], xm, ym, z1, x22, y22, zm), new octant_default(node[2], x1, ym, z1, xm, y22, zm), new octant_default(node[1], xm, y1, z1, x22, ym, zm), new octant_default(node[0], x1, y1, z1, xm, ym, zm)); + if (i = (z2 >= zm) << 2 | (y2 >= ym) << 1 | x2 >= xm) { + q = octs[octs.length - 1]; + octs[octs.length - 1] = octs[octs.length - 1 - i]; + octs[octs.length - 1 - i] = q; + } + } else { + var dx = x2 - +this._x.call(null, node.data), dy = y2 - +this._y.call(null, node.data), dz = z2 - +this._z.call(null, node.data), d2 = dx * dx + dy * dy + dz * dz; + if (d2 < radius) { + var d = Math.sqrt(radius = d2); + x0 = x2 - d, y0 = y2 - d, z0 = z2 - d; + x3 = x2 + d, y3 = y2 + d, z3 = z2 + d; + data = node.data; + } + } + } + return data; +} + +// node_modules/d3-octree/src/remove.js +function remove_default3(d) { + if (isNaN(x2 = +this._x.call(null, d)) || isNaN(y2 = +this._y.call(null, d)) || isNaN(z2 = +this._z.call(null, d))) + return this; + var parent, node = this._root, retainer, previous, next, x0 = this._x0, y0 = this._y0, z0 = this._z0, x1 = this._x1, y1 = this._y1, z1 = this._z1, x2, y2, z2, xm, ym, zm, right, bottom, deep, i, j; + if (!node) + return this; + if (node.length) + while (true) { + if (right = x2 >= (xm = (x0 + x1) / 2)) + x0 = xm; + else + x1 = xm; + if (bottom = y2 >= (ym = (y0 + y1) / 2)) + y0 = ym; + else + y1 = ym; + if (deep = z2 >= (zm = (z0 + z1) / 2)) + z0 = zm; + else + z1 = zm; + if (!(parent = node, node = node[i = deep << 2 | bottom << 1 | right])) + return this; + if (!node.length) + break; + if (parent[i + 1 & 7] || parent[i + 2 & 7] || parent[i + 3 & 7] || parent[i + 4 & 7] || parent[i + 5 & 7] || parent[i + 6 & 7] || parent[i + 7 & 7]) + retainer = parent, j = i; + } + while (node.data !== d) + if (!(previous = node, node = node.next)) + return this; + if (next = node.next) + delete node.next; + if (previous) + return next ? previous.next = next : delete previous.next, this; + if (!parent) + return this._root = next, this; + next ? parent[i] = next : delete parent[i]; + if ((node = parent[0] || parent[1] || parent[2] || parent[3] || parent[4] || parent[5] || parent[6] || parent[7]) && node === (parent[7] || parent[6] || parent[5] || parent[4] || parent[3] || parent[2] || parent[1] || parent[0]) && !node.length) { + if (retainer) + retainer[j] = node; + else + this._root = node; + } + return this; +} +function removeAll3(data) { + for (var i = 0, n = data.length; i < n; ++i) + this.remove(data[i]); + return this; +} + +// node_modules/d3-octree/src/root.js +function root_default3() { + return this._root; +} + +// node_modules/d3-octree/src/size.js +function size_default3() { + var size = 0; + this.visit(function(node) { + if (!node.length) + do + ++size; + while (node = node.next); + }); + return size; +} + +// node_modules/d3-octree/src/visit.js +function visit_default3(callback) { + var octs = [], q, node = this._root, child, x0, y0, z0, x1, y1, z1; + if (node) + octs.push(new octant_default(node, this._x0, this._y0, this._z0, this._x1, this._y1, this._z1)); + while (q = octs.pop()) { + if (!callback(node = q.node, x0 = q.x0, y0 = q.y0, z0 = q.z0, x1 = q.x1, y1 = q.y1, z1 = q.z1) && node.length) { + var xm = (x0 + x1) / 2, ym = (y0 + y1) / 2, zm = (z0 + z1) / 2; + if (child = node[7]) + octs.push(new octant_default(child, xm, ym, zm, x1, y1, z1)); + if (child = node[6]) + octs.push(new octant_default(child, x0, ym, zm, xm, y1, z1)); + if (child = node[5]) + octs.push(new octant_default(child, xm, y0, zm, x1, ym, z1)); + if (child = node[4]) + octs.push(new octant_default(child, x0, y0, zm, xm, ym, z1)); + if (child = node[3]) + octs.push(new octant_default(child, xm, ym, z0, x1, y1, zm)); + if (child = node[2]) + octs.push(new octant_default(child, x0, ym, z0, xm, y1, zm)); + if (child = node[1]) + octs.push(new octant_default(child, xm, y0, z0, x1, ym, zm)); + if (child = node[0]) + octs.push(new octant_default(child, x0, y0, z0, xm, ym, zm)); + } + } + return this; +} + +// node_modules/d3-octree/src/visitAfter.js +function visitAfter_default3(callback) { + var octs = [], next = [], q; + if (this._root) + octs.push(new octant_default(this._root, this._x0, this._y0, this._z0, this._x1, this._y1, this._z1)); + while (q = octs.pop()) { + var node = q.node; + if (node.length) { + var child, x0 = q.x0, y0 = q.y0, z0 = q.z0, x1 = q.x1, y1 = q.y1, z1 = q.z1, xm = (x0 + x1) / 2, ym = (y0 + y1) / 2, zm = (z0 + z1) / 2; + if (child = node[0]) + octs.push(new octant_default(child, x0, y0, z0, xm, ym, zm)); + if (child = node[1]) + octs.push(new octant_default(child, xm, y0, z0, x1, ym, zm)); + if (child = node[2]) + octs.push(new octant_default(child, x0, ym, z0, xm, y1, zm)); + if (child = node[3]) + octs.push(new octant_default(child, xm, ym, z0, x1, y1, zm)); + if (child = node[4]) + octs.push(new octant_default(child, x0, y0, zm, xm, ym, z1)); + if (child = node[5]) + octs.push(new octant_default(child, xm, y0, zm, x1, ym, z1)); + if (child = node[6]) + octs.push(new octant_default(child, x0, ym, zm, xm, y1, z1)); + if (child = node[7]) + octs.push(new octant_default(child, xm, ym, zm, x1, y1, z1)); + } + next.push(q); + } + while (q = next.pop()) { + callback(q.node, q.x0, q.y0, q.z0, q.x1, q.y1, q.z1); + } + return this; +} + +// node_modules/d3-octree/src/x.js +function defaultX3(d) { + return d[0]; +} +function x_default3(_) { + return arguments.length ? (this._x = _, this) : this._x; +} + +// node_modules/d3-octree/src/y.js +function defaultY2(d) { + return d[1]; +} +function y_default2(_) { + return arguments.length ? (this._y = _, this) : this._y; +} + +// node_modules/d3-octree/src/z.js +function defaultZ(d) { + return d[2]; +} +function z_default(_) { + return arguments.length ? (this._z = _, this) : this._z; +} + +// node_modules/d3-octree/src/octree.js +function octree(nodes, x2, y2, z2) { + var tree = new Octree(x2 == null ? defaultX3 : x2, y2 == null ? defaultY2 : y2, z2 == null ? defaultZ : z2, NaN, NaN, NaN, NaN, NaN, NaN); + return nodes == null ? tree : tree.addAll(nodes); +} +function Octree(x2, y2, z2, x0, y0, z0, x1, y1, z1) { + this._x = x2; + this._y = y2; + this._z = z2; + this._x0 = x0; + this._y0 = y0; + this._z0 = z0; + this._x1 = x1; + this._y1 = y1; + this._z1 = z1; + this._root = void 0; +} +function leaf_copy3(leaf) { + var copy = { data: leaf.data }, next = copy; + while (leaf = leaf.next) + next = next.next = { data: leaf.data }; + return copy; +} +var treeProto3 = octree.prototype = Octree.prototype; +treeProto3.copy = function() { + var copy = new Octree(this._x, this._y, this._z, this._x0, this._y0, this._z0, this._x1, this._y1, this._z1), node = this._root, nodes, child; + if (!node) + return copy; + if (!node.length) + return copy._root = leaf_copy3(node), copy; + nodes = [{ source: node, target: copy._root = new Array(8) }]; + while (node = nodes.pop()) { + for (var i = 0; i < 8; ++i) { + if (child = node.source[i]) { + if (child.length) + nodes.push({ source: child, target: node.target[i] = new Array(8) }); + else + node.target[i] = leaf_copy3(child); + } + } + } + return copy; +}; +treeProto3.add = add_default3; +treeProto3.addAll = addAll3; +treeProto3.cover = cover_default3; +treeProto3.data = data_default3; +treeProto3.extent = extent_default3; +treeProto3.find = find_default3; +treeProto3.remove = remove_default3; +treeProto3.removeAll = removeAll3; +treeProto3.root = root_default3; +treeProto3.size = size_default3; +treeProto3.visit = visit_default3; +treeProto3.visitAfter = visitAfter_default3; +treeProto3.x = x_default3; +treeProto3.y = y_default2; +treeProto3.z = z_default; + +// node_modules/d3-force-3d/src/constant.js +function constant_default(x2) { + return function() { + return x2; + }; +} + +// node_modules/d3-force-3d/src/jiggle.js +function jiggle_default(random) { + return (random() - 0.5) * 1e-6; +} + +// node_modules/d3-force-3d/src/link.js +function index(d) { + return d.index; +} +function find(nodeById, nodeId) { + var node = nodeById.get(nodeId); + if (!node) + throw new Error("node not found: " + nodeId); + return node; +} +function link_default(links) { + var id = index, strength = defaultStrength, strengths, distance = constant_default(30), distances, nodes, nDim, count, bias, random, iterations = 1; + if (links == null) + links = []; + function defaultStrength(link) { + return 1 / Math.min(count[link.source.index], count[link.target.index]); + } + function force(alpha) { + for (var k = 0, n = links.length; k < iterations; ++k) { + for (var i = 0, link, source, target, x2 = 0, y2 = 0, z2 = 0, l, b; i < n; ++i) { + link = links[i], source = link.source, target = link.target; + x2 = target.x + target.vx - source.x - source.vx || jiggle_default(random); + if (nDim > 1) { + y2 = target.y + target.vy - source.y - source.vy || jiggle_default(random); + } + if (nDim > 2) { + z2 = target.z + target.vz - source.z - source.vz || jiggle_default(random); + } + l = Math.sqrt(x2 * x2 + y2 * y2 + z2 * z2); + l = (l - distances[i]) / l * alpha * strengths[i]; + x2 *= l, y2 *= l, z2 *= l; + target.vx -= x2 * (b = bias[i]); + if (nDim > 1) { + target.vy -= y2 * b; + } + if (nDim > 2) { + target.vz -= z2 * b; + } + source.vx += x2 * (b = 1 - b); + if (nDim > 1) { + source.vy += y2 * b; + } + if (nDim > 2) { + source.vz += z2 * b; + } + } + } + } + function initialize() { + if (!nodes) + return; + var i, n = nodes.length, m2 = links.length, nodeById = new Map(nodes.map((d, i2) => [id(d, i2, nodes), d])), link; + for (i = 0, count = new Array(n); i < m2; ++i) { + link = links[i], link.index = i; + if (typeof link.source !== "object") + link.source = find(nodeById, link.source); + if (typeof link.target !== "object") + link.target = find(nodeById, link.target); + count[link.source.index] = (count[link.source.index] || 0) + 1; + count[link.target.index] = (count[link.target.index] || 0) + 1; + } + for (i = 0, bias = new Array(m2); i < m2; ++i) { + link = links[i], bias[i] = count[link.source.index] / (count[link.source.index] + count[link.target.index]); + } + strengths = new Array(m2), initializeStrength(); + distances = new Array(m2), initializeDistance(); + } + function initializeStrength() { + if (!nodes) + return; + for (var i = 0, n = links.length; i < n; ++i) { + strengths[i] = +strength(links[i], i, links); + } + } + function initializeDistance() { + if (!nodes) + return; + for (var i = 0, n = links.length; i < n; ++i) { + distances[i] = +distance(links[i], i, links); + } + } + force.initialize = function(_nodes, ...args) { + nodes = _nodes; + random = args.find((arg) => typeof arg === "function") || Math.random; + nDim = args.find((arg) => [1, 2, 3].includes(arg)) || 2; + initialize(); + }; + force.links = function(_) { + return arguments.length ? (links = _, initialize(), force) : links; + }; + force.id = function(_) { + return arguments.length ? (id = _, force) : id; + }; + force.iterations = function(_) { + return arguments.length ? (iterations = +_, force) : iterations; + }; + force.strength = function(_) { + return arguments.length ? (strength = typeof _ === "function" ? _ : constant_default(+_), initializeStrength(), force) : strength; + }; + force.distance = function(_) { + return arguments.length ? (distance = typeof _ === "function" ? _ : constant_default(+_), initializeDistance(), force) : distance; + }; + return force; +} + +// node_modules/d3-dispatch/src/dispatch.js +var noop = { value: () => { +} }; +function dispatch() { + for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) { + if (!(t = arguments[i] + "") || t in _ || /[\s.]/.test(t)) + throw new Error("illegal type: " + t); + _[t] = []; + } + return new Dispatch(_); +} +function Dispatch(_) { + this._ = _; +} +function parseTypenames(typenames, types) { + return typenames.trim().split(/^|\s+/).map(function(t) { + var name = "", i = t.indexOf("."); + if (i >= 0) + name = t.slice(i + 1), t = t.slice(0, i); + if (t && !types.hasOwnProperty(t)) + throw new Error("unknown type: " + t); + return { type: t, name }; + }); +} +Dispatch.prototype = dispatch.prototype = { + constructor: Dispatch, + on: function(typename, callback) { + var _ = this._, T = parseTypenames(typename + "", _), t, i = -1, n = T.length; + if (arguments.length < 2) { + while (++i < n) + if ((t = (typename = T[i]).type) && (t = get(_[t], typename.name))) + return t; + return; + } + if (callback != null && typeof callback !== "function") + throw new Error("invalid callback: " + callback); + while (++i < n) { + if (t = (typename = T[i]).type) + _[t] = set(_[t], typename.name, callback); + else if (callback == null) + for (t in _) + _[t] = set(_[t], typename.name, null); + } + return this; + }, + copy: function() { + var copy = {}, _ = this._; + for (var t in _) + copy[t] = _[t].slice(); + return new Dispatch(copy); + }, + call: function(type, that) { + if ((n = arguments.length - 2) > 0) + for (var args = new Array(n), i = 0, n, t; i < n; ++i) + args[i] = arguments[i + 2]; + if (!this._.hasOwnProperty(type)) + throw new Error("unknown type: " + type); + for (t = this._[type], i = 0, n = t.length; i < n; ++i) + t[i].value.apply(that, args); + }, + apply: function(type, that, args) { + if (!this._.hasOwnProperty(type)) + throw new Error("unknown type: " + type); + for (var t = this._[type], i = 0, n = t.length; i < n; ++i) + t[i].value.apply(that, args); + } +}; +function get(type, name) { + for (var i = 0, n = type.length, c2; i < n; ++i) { + if ((c2 = type[i]).name === name) { + return c2.value; + } + } +} +function set(type, name, callback) { + for (var i = 0, n = type.length; i < n; ++i) { + if (type[i].name === name) { + type[i] = noop, type = type.slice(0, i).concat(type.slice(i + 1)); + break; + } + } + if (callback != null) + type.push({ name, value: callback }); + return type; +} +var dispatch_default = dispatch; + +// node_modules/d3-timer/src/timer.js +var frame = 0; +var timeout = 0; +var interval = 0; +var pokeDelay = 1e3; +var taskHead; +var taskTail; +var clockLast = 0; +var clockNow = 0; +var clockSkew = 0; +var clock = typeof performance === "object" && performance.now ? performance : Date; +var setFrame = typeof window === "object" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(f) { + setTimeout(f, 17); +}; +function now2() { + return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew); +} +function clearNow() { + clockNow = 0; +} +function Timer() { + this._call = this._time = this._next = null; +} +Timer.prototype = timer.prototype = { + constructor: Timer, + restart: function(callback, delay, time) { + if (typeof callback !== "function") + throw new TypeError("callback is not a function"); + time = (time == null ? now2() : +time) + (delay == null ? 0 : +delay); + if (!this._next && taskTail !== this) { + if (taskTail) + taskTail._next = this; + else + taskHead = this; + taskTail = this; + } + this._call = callback; + this._time = time; + sleep(); + }, + stop: function() { + if (this._call) { + this._call = null; + this._time = Infinity; + sleep(); + } + } +}; +function timer(callback, delay, time) { + var t = new Timer(); + t.restart(callback, delay, time); + return t; +} +function timerFlush() { + now2(); + ++frame; + var t = taskHead, e; + while (t) { + if ((e = clockNow - t._time) >= 0) + t._call.call(void 0, e); + t = t._next; + } + --frame; +} +function wake() { + clockNow = (clockLast = clock.now()) + clockSkew; + frame = timeout = 0; + try { + timerFlush(); + } finally { + frame = 0; + nap(); + clockNow = 0; + } +} +function poke() { + var now4 = clock.now(), delay = now4 - clockLast; + if (delay > pokeDelay) + clockSkew -= delay, clockLast = now4; +} +function nap() { + var t0, t1 = taskHead, t2, time = Infinity; + while (t1) { + if (t1._call) { + if (time > t1._time) + time = t1._time; + t0 = t1, t1 = t1._next; + } else { + t2 = t1._next, t1._next = null; + t1 = t0 ? t0._next = t2 : taskHead = t2; + } + } + taskTail = t0; + sleep(time); +} +function sleep(time) { + if (frame) + return; + if (timeout) + timeout = clearTimeout(timeout); + var delay = time - clockNow; + if (delay > 24) { + if (time < Infinity) + timeout = setTimeout(wake, time - clock.now() - clockSkew); + if (interval) + interval = clearInterval(interval); + } else { + if (!interval) + clockLast = clock.now(), interval = setInterval(poke, pokeDelay); + frame = 1, setFrame(wake); + } +} + +// node_modules/d3-force-3d/src/lcg.js +var a = 1664525; +var c = 1013904223; +var m = 4294967296; +function lcg_default() { + let s = 1; + return () => (s = (a * s + c) % m) / m; +} + +// node_modules/d3-force-3d/src/simulation.js +var MAX_DIMENSIONS = 3; +function x(d) { + return d.x; +} +function y(d) { + return d.y; +} +function z(d) { + return d.z; +} +var initialRadius = 10; +var initialAngleRoll = Math.PI * (3 - Math.sqrt(5)); +var initialAngleYaw = Math.PI * 20 / (9 + Math.sqrt(221)); +function simulation_default(nodes, numDimensions) { + numDimensions = numDimensions || 2; + var nDim = Math.min(MAX_DIMENSIONS, Math.max(1, Math.round(numDimensions))), simulation, alpha = 1, alphaMin = 1e-3, alphaDecay = 1 - Math.pow(alphaMin, 1 / 300), alphaTarget = 0, velocityDecay = 0.6, forces = /* @__PURE__ */ new Map(), stepper = timer(step), event = dispatch_default("tick", "end"), random = lcg_default(); + if (nodes == null) + nodes = []; + function step() { + tick2(); + event.call("tick", simulation); + if (alpha < alphaMin) { + stepper.stop(); + event.call("end", simulation); + } + } + function tick2(iterations) { + var i, n = nodes.length, node; + if (iterations === void 0) + iterations = 1; + for (var k = 0; k < iterations; ++k) { + alpha += (alphaTarget - alpha) * alphaDecay; + forces.forEach(function(force) { + force(alpha); + }); + for (i = 0; i < n; ++i) { + node = nodes[i]; + if (node.fx == null) + node.x += node.vx *= velocityDecay; + else + node.x = node.fx, node.vx = 0; + if (nDim > 1) { + if (node.fy == null) + node.y += node.vy *= velocityDecay; + else + node.y = node.fy, node.vy = 0; + } + if (nDim > 2) { + if (node.fz == null) + node.z += node.vz *= velocityDecay; + else + node.z = node.fz, node.vz = 0; + } + } + } + return simulation; + } + function initializeNodes() { + for (var i = 0, n = nodes.length, node; i < n; ++i) { + node = nodes[i], node.index = i; + if (node.fx != null) + node.x = node.fx; + if (node.fy != null) + node.y = node.fy; + if (node.fz != null) + node.z = node.fz; + if (isNaN(node.x) || nDim > 1 && isNaN(node.y) || nDim > 2 && isNaN(node.z)) { + var radius = initialRadius * (nDim > 2 ? Math.cbrt(0.5 + i) : nDim > 1 ? Math.sqrt(0.5 + i) : i), rollAngle = i * initialAngleRoll, yawAngle = i * initialAngleYaw; + if (nDim === 1) { + node.x = radius; + } else if (nDim === 2) { + node.x = radius * Math.cos(rollAngle); + node.y = radius * Math.sin(rollAngle); + } else { + node.x = radius * Math.sin(rollAngle) * Math.cos(yawAngle); + node.y = radius * Math.cos(rollAngle); + node.z = radius * Math.sin(rollAngle) * Math.sin(yawAngle); + } + } + if (isNaN(node.vx) || nDim > 1 && isNaN(node.vy) || nDim > 2 && isNaN(node.vz)) { + node.vx = 0; + if (nDim > 1) { + node.vy = 0; + } + if (nDim > 2) { + node.vz = 0; + } + } + } + } + function initializeForce(force) { + if (force.initialize) + force.initialize(nodes, random, nDim); + return force; + } + initializeNodes(); + return simulation = { + tick: tick2, + restart: function() { + return stepper.restart(step), simulation; + }, + stop: function() { + return stepper.stop(), simulation; + }, + numDimensions: function(_) { + return arguments.length ? (nDim = Math.min(MAX_DIMENSIONS, Math.max(1, Math.round(_))), forces.forEach(initializeForce), simulation) : nDim; + }, + nodes: function(_) { + return arguments.length ? (nodes = _, initializeNodes(), forces.forEach(initializeForce), simulation) : nodes; + }, + alpha: function(_) { + return arguments.length ? (alpha = +_, simulation) : alpha; + }, + alphaMin: function(_) { + return arguments.length ? (alphaMin = +_, simulation) : alphaMin; + }, + alphaDecay: function(_) { + return arguments.length ? (alphaDecay = +_, simulation) : +alphaDecay; + }, + alphaTarget: function(_) { + return arguments.length ? (alphaTarget = +_, simulation) : alphaTarget; + }, + velocityDecay: function(_) { + return arguments.length ? (velocityDecay = 1 - _, simulation) : 1 - velocityDecay; + }, + randomSource: function(_) { + return arguments.length ? (random = _, forces.forEach(initializeForce), simulation) : random; + }, + force: function(name, _) { + return arguments.length > 1 ? (_ == null ? forces.delete(name) : forces.set(name, initializeForce(_)), simulation) : forces.get(name); + }, + find: function() { + var args = Array.prototype.slice.call(arguments); + var x2 = args.shift() || 0, y2 = (nDim > 1 ? args.shift() : null) || 0, z2 = (nDim > 2 ? args.shift() : null) || 0, radius = args.shift() || Infinity; + var i = 0, n = nodes.length, dx, dy, dz, d2, node, closest; + radius *= radius; + for (i = 0; i < n; ++i) { + node = nodes[i]; + dx = x2 - node.x; + dy = y2 - (node.y || 0); + dz = z2 - (node.z || 0); + d2 = dx * dx + dy * dy + dz * dz; + if (d2 < radius) + closest = node, radius = d2; + } + return closest; + }, + on: function(name, _) { + return arguments.length > 1 ? (event.on(name, _), simulation) : event.on(name); + } + }; +} + +// node_modules/d3-force-3d/src/manyBody.js +function manyBody_default() { + var nodes, nDim, node, random, alpha, strength = constant_default(-30), strengths, distanceMin2 = 1, distanceMax2 = Infinity, theta2 = 0.81; + function force(_) { + var i, n = nodes.length, tree = (nDim === 1 ? binarytree(nodes, x) : nDim === 2 ? quadtree(nodes, x, y) : nDim === 3 ? octree(nodes, x, y, z) : null).visitAfter(accumulate); + for (alpha = _, i = 0; i < n; ++i) + node = nodes[i], tree.visit(apply); + } + function initialize() { + if (!nodes) + return; + var i, n = nodes.length, node2; + strengths = new Array(n); + for (i = 0; i < n; ++i) + node2 = nodes[i], strengths[node2.index] = +strength(node2, i, nodes); + } + function accumulate(treeNode) { + var strength2 = 0, q, c2, weight = 0, x2, y2, z2, i; + var numChildren = treeNode.length; + if (numChildren) { + for (x2 = y2 = z2 = i = 0; i < numChildren; ++i) { + if ((q = treeNode[i]) && (c2 = Math.abs(q.value))) { + strength2 += q.value, weight += c2, x2 += c2 * (q.x || 0), y2 += c2 * (q.y || 0), z2 += c2 * (q.z || 0); + } + } + strength2 *= Math.sqrt(4 / numChildren); + treeNode.x = x2 / weight; + if (nDim > 1) { + treeNode.y = y2 / weight; + } + if (nDim > 2) { + treeNode.z = z2 / weight; + } + } else { + q = treeNode; + q.x = q.data.x; + if (nDim > 1) { + q.y = q.data.y; + } + if (nDim > 2) { + q.z = q.data.z; + } + do + strength2 += strengths[q.data.index]; + while (q = q.next); + } + treeNode.value = strength2; + } + function apply(treeNode, x1, arg1, arg2, arg3) { + if (!treeNode.value) + return true; + var x2 = [arg1, arg2, arg3][nDim - 1]; + var x3 = treeNode.x - node.x, y2 = nDim > 1 ? treeNode.y - node.y : 0, z2 = nDim > 2 ? treeNode.z - node.z : 0, w = x2 - x1, l = x3 * x3 + y2 * y2 + z2 * z2; + if (w * w / theta2 < l) { + if (l < distanceMax2) { + if (x3 === 0) + x3 = jiggle_default(random), l += x3 * x3; + if (nDim > 1 && y2 === 0) + y2 = jiggle_default(random), l += y2 * y2; + if (nDim > 2 && z2 === 0) + z2 = jiggle_default(random), l += z2 * z2; + if (l < distanceMin2) + l = Math.sqrt(distanceMin2 * l); + node.vx += x3 * treeNode.value * alpha / l; + if (nDim > 1) { + node.vy += y2 * treeNode.value * alpha / l; + } + if (nDim > 2) { + node.vz += z2 * treeNode.value * alpha / l; + } + } + return true; + } else if (treeNode.length || l >= distanceMax2) + return; + if (treeNode.data !== node || treeNode.next) { + if (x3 === 0) + x3 = jiggle_default(random), l += x3 * x3; + if (nDim > 1 && y2 === 0) + y2 = jiggle_default(random), l += y2 * y2; + if (nDim > 2 && z2 === 0) + z2 = jiggle_default(random), l += z2 * z2; + if (l < distanceMin2) + l = Math.sqrt(distanceMin2 * l); + } + do + if (treeNode.data !== node) { + w = strengths[treeNode.data.index] * alpha / l; + node.vx += x3 * w; + if (nDim > 1) { + node.vy += y2 * w; + } + if (nDim > 2) { + node.vz += z2 * w; + } + } + while (treeNode = treeNode.next); + } + force.initialize = function(_nodes, ...args) { + nodes = _nodes; + random = args.find((arg) => typeof arg === "function") || Math.random; + nDim = args.find((arg) => [1, 2, 3].includes(arg)) || 2; + initialize(); + }; + force.strength = function(_) { + return arguments.length ? (strength = typeof _ === "function" ? _ : constant_default(+_), initialize(), force) : strength; + }; + force.distanceMin = function(_) { + return arguments.length ? (distanceMin2 = _ * _, force) : Math.sqrt(distanceMin2); + }; + force.distanceMax = function(_) { + return arguments.length ? (distanceMax2 = _ * _, force) : Math.sqrt(distanceMax2); + }; + force.theta = function(_) { + return arguments.length ? (theta2 = _ * _, force) : Math.sqrt(theta2); + }; + return force; +} + +// node_modules/d3-force-3d/src/radial.js +function radial_default(radius, x2, y2, z2) { + var nodes, nDim, strength = constant_default(0.1), strengths, radiuses; + if (typeof radius !== "function") + radius = constant_default(+radius); + if (x2 == null) + x2 = 0; + if (y2 == null) + y2 = 0; + if (z2 == null) + z2 = 0; + function force(alpha) { + for (var i = 0, n = nodes.length; i < n; ++i) { + var node = nodes[i], dx = node.x - x2 || 1e-6, dy = (node.y || 0) - y2 || 1e-6, dz = (node.z || 0) - z2 || 1e-6, r = Math.sqrt(dx * dx + dy * dy + dz * dz), k = (radiuses[i] - r) * strengths[i] * alpha / r; + node.vx += dx * k; + if (nDim > 1) { + node.vy += dy * k; + } + if (nDim > 2) { + node.vz += dz * k; + } + } + } + function initialize() { + if (!nodes) + return; + var i, n = nodes.length; + strengths = new Array(n); + radiuses = new Array(n); + for (i = 0; i < n; ++i) { + radiuses[i] = +radius(nodes[i], i, nodes); + strengths[i] = isNaN(radiuses[i]) ? 0 : +strength(nodes[i], i, nodes); + } + } + force.initialize = function(initNodes, ...args) { + nodes = initNodes; + nDim = args.find((arg) => [1, 2, 3].includes(arg)) || 2; + initialize(); + }; + force.strength = function(_) { + return arguments.length ? (strength = typeof _ === "function" ? _ : constant_default(+_), initialize(), force) : strength; + }; + force.radius = function(_) { + return arguments.length ? (radius = typeof _ === "function" ? _ : constant_default(+_), initialize(), force) : radius; + }; + force.x = function(_) { + return arguments.length ? (x2 = +_, force) : x2; + }; + force.y = function(_) { + return arguments.length ? (y2 = +_, force) : y2; + }; + force.z = function(_) { + return arguments.length ? (z2 = +_, force) : z2; + }; + return force; +} + +// node_modules/three-forcegraph/dist/three-forcegraph.module.js +var import_ngraph = __toESM(require_ngraph2()); +var import_ngraph2 = __toESM(require_ngraph5()); + +// node_modules/kapsule/dist/kapsule.module.js +var import_debounce = __toESM(require_debounce()); +function _classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } +} +function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) + descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } +} +function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) + _defineProperties(Constructor.prototype, protoProps); + if (staticProps) + _defineProperties(Constructor, staticProps); + Object.defineProperty(Constructor, "prototype", { + writable: false + }); + return Constructor; +} +function _slicedToArray(arr, i) { + return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); +} +function _arrayWithHoles(arr) { + if (Array.isArray(arr)) + return arr; +} +function _iterableToArrayLimit(arr, i) { + var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; + if (_i == null) + return; + var _arr = []; + var _n = true; + var _d = false; + var _s, _e; + try { + for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { + _arr.push(_s.value); + if (i && _arr.length === i) + break; + } + } catch (err) { + _d = true; + _e = err; + } finally { + try { + if (!_n && _i["return"] != null) + _i["return"](); + } finally { + if (_d) + throw _e; + } + } + return _arr; +} +function _unsupportedIterableToArray(o, minLen) { + if (!o) + return; + if (typeof o === "string") + return _arrayLikeToArray(o, minLen); + var n = Object.prototype.toString.call(o).slice(8, -1); + if (n === "Object" && o.constructor) + n = o.constructor.name; + if (n === "Map" || n === "Set") + return Array.from(o); + if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) + return _arrayLikeToArray(o, minLen); +} +function _arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) + len = arr.length; + for (var i = 0, arr2 = new Array(len); i < len; i++) + arr2[i] = arr[i]; + return arr2; +} +function _nonIterableRest() { + throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +var Prop = /* @__PURE__ */ _createClass(function Prop2(name, _ref) { + var _ref$default = _ref["default"], defaultVal = _ref$default === void 0 ? null : _ref$default, _ref$triggerUpdate = _ref.triggerUpdate, triggerUpdate = _ref$triggerUpdate === void 0 ? true : _ref$triggerUpdate, _ref$onChange = _ref.onChange, onChange13 = _ref$onChange === void 0 ? function(newVal, state) { + } : _ref$onChange; + _classCallCheck(this, Prop2); + this.name = name; + this.defaultVal = defaultVal; + this.triggerUpdate = triggerUpdate; + this.onChange = onChange13; +}); +function index2(_ref2) { + var _ref2$stateInit = _ref2.stateInit, stateInit4 = _ref2$stateInit === void 0 ? function() { + return {}; + } : _ref2$stateInit, _ref2$props = _ref2.props, rawProps = _ref2$props === void 0 ? {} : _ref2$props, _ref2$methods = _ref2.methods, methods = _ref2$methods === void 0 ? {} : _ref2$methods, _ref2$aliases = _ref2.aliases, aliases = _ref2$aliases === void 0 ? {} : _ref2$aliases, _ref2$init = _ref2.init, initFn = _ref2$init === void 0 ? function() { + } : _ref2$init, _ref2$update = _ref2.update, updateFn = _ref2$update === void 0 ? function() { + } : _ref2$update; + var props = Object.keys(rawProps).map(function(propName) { + return new Prop(propName, rawProps[propName]); + }); + return function() { + var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; + var state = Object.assign({}, stateInit4 instanceof Function ? stateInit4(options) : stateInit4, { + initialised: false + }); + var changedProps = {}; + function comp(nodeElement) { + initStatic(nodeElement, options); + digest(); + return comp; + } + var initStatic = function initStatic2(nodeElement, options2) { + initFn.call(comp, nodeElement, state, options2); + state.initialised = true; + }; + var digest = (0, import_debounce.default)(function() { + if (!state.initialised) { + return; + } + updateFn.call(comp, state, changedProps); + changedProps = {}; + }, 1); + props.forEach(function(prop) { + comp[prop.name] = getSetProp(prop); + function getSetProp(_ref3) { + var prop2 = _ref3.name, _ref3$triggerUpdate = _ref3.triggerUpdate, redigest = _ref3$triggerUpdate === void 0 ? false : _ref3$triggerUpdate, _ref3$onChange = _ref3.onChange, onChange13 = _ref3$onChange === void 0 ? function(newVal, state2) { + } : _ref3$onChange, _ref3$defaultVal = _ref3.defaultVal, defaultVal = _ref3$defaultVal === void 0 ? null : _ref3$defaultVal; + return function(_) { + var curVal = state[prop2]; + if (!arguments.length) { + return curVal; + } + var val = _ === void 0 ? defaultVal : _; + state[prop2] = val; + onChange13.call(comp, val, state, curVal); + !changedProps.hasOwnProperty(prop2) && (changedProps[prop2] = curVal); + if (redigest) { + digest(); + } + return comp; + }; + } + }); + Object.keys(methods).forEach(function(methodName) { + comp[methodName] = function() { + var _methods$methodName; + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + return (_methods$methodName = methods[methodName]).call.apply(_methods$methodName, [comp, state].concat(args)); + }; + }); + Object.entries(aliases).forEach(function(_ref4) { + var _ref5 = _slicedToArray(_ref4, 2), alias = _ref5[0], target = _ref5[1]; + return comp[alias] = comp[target]; + }); + comp.resetProps = function() { + props.forEach(function(prop) { + comp[prop.name](prop.defaultVal); + }); + return comp; + }; + comp.resetProps(); + state._rerender = digest; + return comp; + }; +} + +// node_modules/accessor-fn/dist/accessor-fn.module.js +var index3 = function(p) { + return p instanceof Function ? p : typeof p === "string" ? function(obj) { + return obj[p]; + } : function(obj) { + return p; + }; +}; +var accessor_fn_module_default = index3; + +// node_modules/internmap/src/index.js +var InternMap = class extends Map { + constructor(entries, key = keyof) { + super(); + Object.defineProperties(this, { _intern: { value: /* @__PURE__ */ new Map() }, _key: { value: key } }); + if (entries != null) + for (const [key2, value] of entries) + this.set(key2, value); + } + get(key) { + return super.get(intern_get(this, key)); + } + has(key) { + return super.has(intern_get(this, key)); + } + set(key, value) { + return super.set(intern_set(this, key), value); + } + delete(key) { + return super.delete(intern_delete(this, key)); + } +}; +function intern_get({ _intern, _key }, value) { + const key = _key(value); + return _intern.has(key) ? _intern.get(key) : value; +} +function intern_set({ _intern, _key }, value) { + const key = _key(value); + if (_intern.has(key)) + return _intern.get(key); + _intern.set(key, value); + return value; +} +function intern_delete({ _intern, _key }, value) { + const key = _key(value); + if (_intern.has(key)) { + value = _intern.get(key); + _intern.delete(key); + } + return value; +} +function keyof(value) { + return value !== null && typeof value === "object" ? value.valueOf() : value; +} + +// node_modules/d3-array/src/max.js +function max(values, valueof) { + let max2; + if (valueof === void 0) { + for (const value of values) { + if (value != null && (max2 < value || max2 === void 0 && value >= value)) { + max2 = value; + } + } + } else { + let index5 = -1; + for (let value of values) { + if ((value = valueof(value, ++index5, values)) != null && (max2 < value || max2 === void 0 && value >= value)) { + max2 = value; + } + } + } + return max2; +} + +// node_modules/d3-array/src/min.js +function min(values, valueof) { + let min2; + if (valueof === void 0) { + for (const value of values) { + if (value != null && (min2 > value || min2 === void 0 && value >= value)) { + min2 = value; + } + } + } else { + let index5 = -1; + for (let value of values) { + if ((value = valueof(value, ++index5, values)) != null && (min2 > value || min2 === void 0 && value >= value)) { + min2 = value; + } + } + } + return min2; +} + +// node_modules/index-array-by/dist/index-array-by.module.js +function _objectWithoutPropertiesLoose(source, excluded) { + if (source == null) + return {}; + var target = {}; + var sourceKeys = Object.keys(source); + var key, i; + for (i = 0; i < sourceKeys.length; i++) { + key = sourceKeys[i]; + if (excluded.indexOf(key) >= 0) + continue; + target[key] = source[key]; + } + return target; +} +function _objectWithoutProperties(source, excluded) { + if (source == null) + return {}; + var target = _objectWithoutPropertiesLoose(source, excluded); + var key, i; + if (Object.getOwnPropertySymbols) { + var sourceSymbolKeys = Object.getOwnPropertySymbols(source); + for (i = 0; i < sourceSymbolKeys.length; i++) { + key = sourceSymbolKeys[i]; + if (excluded.indexOf(key) >= 0) + continue; + if (!Object.prototype.propertyIsEnumerable.call(source, key)) + continue; + target[key] = source[key]; + } + } + return target; +} +function _slicedToArray2(arr, i) { + return _arrayWithHoles2(arr) || _iterableToArrayLimit2(arr, i) || _unsupportedIterableToArray2(arr, i) || _nonIterableRest2(); +} +function _toConsumableArray(arr) { + return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray2(arr) || _nonIterableSpread(); +} +function _arrayWithoutHoles(arr) { + if (Array.isArray(arr)) + return _arrayLikeToArray2(arr); +} +function _arrayWithHoles2(arr) { + if (Array.isArray(arr)) + return arr; +} +function _iterableToArray(iter) { + if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) + return Array.from(iter); +} +function _iterableToArrayLimit2(arr, i) { + var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; + if (_i == null) + return; + var _arr = []; + var _n = true; + var _d = false; + var _s, _e; + try { + for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { + _arr.push(_s.value); + if (i && _arr.length === i) + break; + } + } catch (err) { + _d = true; + _e = err; + } finally { + try { + if (!_n && _i["return"] != null) + _i["return"](); + } finally { + if (_d) + throw _e; + } + } + return _arr; +} +function _unsupportedIterableToArray2(o, minLen) { + if (!o) + return; + if (typeof o === "string") + return _arrayLikeToArray2(o, minLen); + var n = Object.prototype.toString.call(o).slice(8, -1); + if (n === "Object" && o.constructor) + n = o.constructor.name; + if (n === "Map" || n === "Set") + return Array.from(o); + if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) + return _arrayLikeToArray2(o, minLen); +} +function _arrayLikeToArray2(arr, len) { + if (len == null || len > arr.length) + len = arr.length; + for (var i = 0, arr2 = new Array(len); i < len; i++) + arr2[i] = arr[i]; + return arr2; +} +function _nonIterableSpread() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +function _nonIterableRest2() { + throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +function _toPrimitive(input, hint) { + if (typeof input !== "object" || input === null) + return input; + var prim = input[Symbol.toPrimitive]; + if (prim !== void 0) { + var res = prim.call(input, hint || "default"); + if (typeof res !== "object") + return res; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return (hint === "string" ? String : Number)(input); +} +function _toPropertyKey(arg) { + var key = _toPrimitive(arg, "string"); + return typeof key === "symbol" ? key : String(key); +} +var index4 = function() { + var list = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : []; + var keyAccessors = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : []; + var multiItem = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : true; + var flattenKeys = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : false; + var keys = (keyAccessors instanceof Array ? keyAccessors.length ? keyAccessors : [void 0] : [keyAccessors]).map(function(key) { + return { + keyAccessor: key, + isProp: !(key instanceof Function) + }; + }); + var indexedResult = list.reduce(function(res, item) { + var iterObj = res; + var itemVal = item; + keys.forEach(function(_ref, idx) { + var keyAccessor = _ref.keyAccessor, isProp = _ref.isProp; + var key; + if (isProp) { + var _itemVal = itemVal, propVal = _itemVal[keyAccessor], rest = _objectWithoutProperties(_itemVal, [keyAccessor].map(_toPropertyKey)); + key = propVal; + itemVal = rest; + } else { + key = keyAccessor(itemVal, idx); + } + if (idx + 1 < keys.length) { + if (!iterObj.hasOwnProperty(key)) { + iterObj[key] = {}; + } + iterObj = iterObj[key]; + } else { + if (multiItem) { + if (!iterObj.hasOwnProperty(key)) { + iterObj[key] = []; + } + iterObj[key].push(itemVal); + } else { + iterObj[key] = itemVal; + } + } + }); + return res; + }, {}); + if (multiItem instanceof Function) { + (function reduce(node) { + var level = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 1; + if (level === keys.length) { + Object.keys(node).forEach(function(k) { + return node[k] = multiItem(node[k]); + }); + } else { + Object.values(node).forEach(function(child) { + return reduce(child, level + 1); + }); + } + })(indexedResult); + } + var result = indexedResult; + if (flattenKeys) { + result = []; + (function flatten2(node) { + var accKeys = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : []; + if (accKeys.length === keys.length) { + result.push({ + keys: accKeys, + vals: node + }); + } else { + Object.entries(node).forEach(function(_ref2) { + var _ref3 = _slicedToArray2(_ref2, 2), key = _ref3[0], val = _ref3[1]; + return flatten2(val, [].concat(_toConsumableArray(accKeys), [key])); + }); + } + })(indexedResult); + if (keyAccessors instanceof Array && keyAccessors.length === 0 && result.length === 1) { + result[0].keys = []; + } + } + return result; +}; + +// node_modules/data-joint/dist/data-joint.module.js +function ownKeys(object, enumerableOnly) { + var keys = Object.keys(object); + if (Object.getOwnPropertySymbols) { + var symbols = Object.getOwnPropertySymbols(object); + enumerableOnly && (symbols = symbols.filter(function(sym) { + return Object.getOwnPropertyDescriptor(object, sym).enumerable; + })), keys.push.apply(keys, symbols); + } + return keys; +} +function _objectSpread2(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + i % 2 ? ownKeys(Object(source), true).forEach(function(key) { + _defineProperty(target, key, source[key]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function(key) { + Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); + }); + } + return target; +} +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + return obj; +} +function _objectWithoutPropertiesLoose2(source, excluded) { + if (source == null) + return {}; + var target = {}; + var sourceKeys = Object.keys(source); + var key, i; + for (i = 0; i < sourceKeys.length; i++) { + key = sourceKeys[i]; + if (excluded.indexOf(key) >= 0) + continue; + target[key] = source[key]; + } + return target; +} +function _objectWithoutProperties2(source, excluded) { + if (source == null) + return {}; + var target = _objectWithoutPropertiesLoose2(source, excluded); + var key, i; + if (Object.getOwnPropertySymbols) { + var sourceSymbolKeys = Object.getOwnPropertySymbols(source); + for (i = 0; i < sourceSymbolKeys.length; i++) { + key = sourceSymbolKeys[i]; + if (excluded.indexOf(key) >= 0) + continue; + if (!Object.prototype.propertyIsEnumerable.call(source, key)) + continue; + target[key] = source[key]; + } + } + return target; +} +function _slicedToArray3(arr, i) { + return _arrayWithHoles3(arr) || _iterableToArrayLimit3(arr, i) || _unsupportedIterableToArray3(arr, i) || _nonIterableRest3(); +} +function _toConsumableArray2(arr) { + return _arrayWithoutHoles2(arr) || _iterableToArray2(arr) || _unsupportedIterableToArray3(arr) || _nonIterableSpread2(); +} +function _arrayWithoutHoles2(arr) { + if (Array.isArray(arr)) + return _arrayLikeToArray3(arr); +} +function _arrayWithHoles3(arr) { + if (Array.isArray(arr)) + return arr; +} +function _iterableToArray2(iter) { + if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) + return Array.from(iter); +} +function _iterableToArrayLimit3(arr, i) { + var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; + if (_i == null) + return; + var _arr = []; + var _n = true; + var _d = false; + var _s, _e; + try { + for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { + _arr.push(_s.value); + if (i && _arr.length === i) + break; + } + } catch (err) { + _d = true; + _e = err; + } finally { + try { + if (!_n && _i["return"] != null) + _i["return"](); + } finally { + if (_d) + throw _e; + } + } + return _arr; +} +function _unsupportedIterableToArray3(o, minLen) { + if (!o) + return; + if (typeof o === "string") + return _arrayLikeToArray3(o, minLen); + var n = Object.prototype.toString.call(o).slice(8, -1); + if (n === "Object" && o.constructor) + n = o.constructor.name; + if (n === "Map" || n === "Set") + return Array.from(o); + if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) + return _arrayLikeToArray3(o, minLen); +} +function _arrayLikeToArray3(arr, len) { + if (len == null || len > arr.length) + len = arr.length; + for (var i = 0, arr2 = new Array(len); i < len; i++) + arr2[i] = arr[i]; + return arr2; +} +function _nonIterableSpread2() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +function _nonIterableRest3() { + throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +var _excluded = ["createObj", "updateObj", "exitObj", "objBindAttr", "dataBindAttr"]; +function diffArrays(prev, next, idAccessor) { + var result = { + enter: [], + update: [], + exit: [] + }; + if (!idAccessor) { + var prevSet = new Set(prev); + var nextSet = new Set(next); + new Set([].concat(_toConsumableArray2(prevSet), _toConsumableArray2(nextSet))).forEach(function(item) { + var type = !prevSet.has(item) ? "enter" : !nextSet.has(item) ? "exit" : "update"; + result[type].push(type === "update" ? [item, item] : item); + }); + } else { + var prevById = index4(prev, idAccessor, false); + var nextById = index4(next, idAccessor, false); + var byId = Object.assign({}, prevById, nextById); + Object.entries(byId).forEach(function(_ref) { + var _ref2 = _slicedToArray3(_ref, 2), id = _ref2[0], item = _ref2[1]; + var type = !prevById.hasOwnProperty(id) ? "enter" : !nextById.hasOwnProperty(id) ? "exit" : "update"; + result[type].push(type === "update" ? [prevById[id], nextById[id]] : item); + }); + } + return result; +} +function dataBindDiff(data, existingObjs, _ref3) { + var _ref3$objBindAttr = _ref3.objBindAttr, objBindAttr = _ref3$objBindAttr === void 0 ? "__obj" : _ref3$objBindAttr, _ref3$dataBindAttr = _ref3.dataBindAttr, dataBindAttr = _ref3$dataBindAttr === void 0 ? "__data" : _ref3$dataBindAttr, idAccessor = _ref3.idAccessor, _ref3$purge = _ref3.purge, purge = _ref3$purge === void 0 ? false : _ref3$purge; + var isObjValid = function isObjValid2(obj) { + return obj.hasOwnProperty(dataBindAttr); + }; + var removeObjs = existingObjs.filter(function(obj) { + return !isObjValid(obj); + }); + var prevD = existingObjs.filter(isObjValid).map(function(obj) { + return obj[dataBindAttr]; + }); + var nextD = data; + var diff = purge ? { + enter: nextD, + exit: prevD, + update: [] + } : diffArrays(prevD, nextD, idAccessor); + diff.update = diff.update.map(function(_ref4) { + var _ref5 = _slicedToArray3(_ref4, 2), prevD2 = _ref5[0], nextD2 = _ref5[1]; + if (prevD2 !== nextD2) { + nextD2[objBindAttr] = prevD2[objBindAttr]; + nextD2[objBindAttr][dataBindAttr] = nextD2; + } + return nextD2; + }); + diff.exit = diff.exit.concat(removeObjs.map(function(obj) { + return _defineProperty({}, objBindAttr, obj); + })); + return diff; +} +function viewDigest(data, existingObjs, appendObj, removeObj, _ref7) { + var _ref7$createObj = _ref7.createObj, createObj = _ref7$createObj === void 0 ? function(d) { + return {}; + } : _ref7$createObj, _ref7$updateObj = _ref7.updateObj, updateObj = _ref7$updateObj === void 0 ? function(obj, d) { + } : _ref7$updateObj, _ref7$exitObj = _ref7.exitObj, exitObj = _ref7$exitObj === void 0 ? function(obj) { + } : _ref7$exitObj, _ref7$objBindAttr = _ref7.objBindAttr, objBindAttr = _ref7$objBindAttr === void 0 ? "__obj" : _ref7$objBindAttr, _ref7$dataBindAttr = _ref7.dataBindAttr, dataBindAttr = _ref7$dataBindAttr === void 0 ? "__data" : _ref7$dataBindAttr, dataDiffOptions = _objectWithoutProperties2(_ref7, _excluded); + var _dataBindDiff = dataBindDiff(data, existingObjs, _objectSpread2({ + objBindAttr, + dataBindAttr + }, dataDiffOptions)), enter = _dataBindDiff.enter, update4 = _dataBindDiff.update, exit = _dataBindDiff.exit; + exit.forEach(function(d) { + var obj = d[objBindAttr]; + delete d[objBindAttr]; + exitObj(obj); + removeObj(obj); + }); + var newObjs = createObjs(enter); + var pointsData = [].concat(_toConsumableArray2(enter), _toConsumableArray2(update4)); + updateObjs(pointsData); + newObjs.forEach(appendObj); + function createObjs(data2) { + var newObjs2 = []; + data2.forEach(function(d) { + var obj = createObj(d); + if (obj) { + obj[dataBindAttr] = d; + d[objBindAttr] = obj; + newObjs2.push(obj); + } + }); + return newObjs2; + } + function updateObjs(data2) { + data2.forEach(function(d) { + var obj = d[objBindAttr]; + if (obj) { + obj[dataBindAttr] = d; + updateObj(obj, d); + } + }); + } +} + +// node_modules/d3-scale/src/init.js +function initRange(domain, range) { + switch (arguments.length) { + case 0: + break; + case 1: + this.range(domain); + break; + default: + this.range(range).domain(domain); + break; + } + return this; +} + +// node_modules/d3-scale/src/ordinal.js +var implicit = Symbol("implicit"); +function ordinal() { + var index5 = new InternMap(), domain = [], range = [], unknown = implicit; + function scale(d) { + let i = index5.get(d); + if (i === void 0) { + if (unknown !== implicit) + return unknown; + index5.set(d, i = domain.push(d) - 1); + } + return range[i % range.length]; + } + scale.domain = function(_) { + if (!arguments.length) + return domain.slice(); + domain = [], index5 = new InternMap(); + for (const value of _) { + if (index5.has(value)) + continue; + index5.set(value, domain.push(value) - 1); + } + return scale; + }; + scale.range = function(_) { + return arguments.length ? (range = Array.from(_), scale) : range.slice(); + }; + scale.unknown = function(_) { + return arguments.length ? (unknown = _, scale) : unknown; + }; + scale.copy = function() { + return ordinal(domain, range).unknown(unknown); + }; + initRange.apply(scale, arguments); + return scale; +} + +// node_modules/d3-scale-chromatic/src/colors.js +function colors_default(specifier) { + var n = specifier.length / 6 | 0, colors = new Array(n), i = 0; + while (i < n) + colors[i] = "#" + specifier.slice(i * 6, ++i * 6); + return colors; +} + +// node_modules/d3-scale-chromatic/src/categorical/Paired.js +var Paired_default = colors_default("a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928"); + +// node_modules/three-forcegraph/dist/three-forcegraph.module.js +var import_tinycolor2 = __toESM(require_tinycolor()); +function ownKeys2(object, enumerableOnly) { + var keys = Object.keys(object); + if (Object.getOwnPropertySymbols) { + var symbols = Object.getOwnPropertySymbols(object); + enumerableOnly && (symbols = symbols.filter(function(sym) { + return Object.getOwnPropertyDescriptor(object, sym).enumerable; + })), keys.push.apply(keys, symbols); + } + return keys; +} +function _objectSpread22(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + i % 2 ? ownKeys2(Object(source), true).forEach(function(key) { + _defineProperty2(target, key, source[key]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys2(Object(source)).forEach(function(key) { + Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); + }); + } + return target; +} +function _typeof(obj) { + "@babel/helpers - typeof"; + return _typeof = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(obj2) { + return typeof obj2; + } : function(obj2) { + return obj2 && typeof Symbol == "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; + }, _typeof(obj); +} +function _classCallCheck2(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } +} +function _defineProperties2(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) + descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } +} +function _createClass2(Constructor, protoProps, staticProps) { + if (protoProps) + _defineProperties2(Constructor.prototype, protoProps); + if (staticProps) + _defineProperties2(Constructor, staticProps); + Object.defineProperty(Constructor, "prototype", { + writable: false + }); + return Constructor; +} +function _defineProperty2(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + return obj; +} +function _inherits(subClass, superClass) { + if (typeof superClass !== "function" && superClass !== null) { + throw new TypeError("Super expression must either be null or a function"); + } + subClass.prototype = Object.create(superClass && superClass.prototype, { + constructor: { + value: subClass, + writable: true, + configurable: true + } + }); + Object.defineProperty(subClass, "prototype", { + writable: false + }); + if (superClass) + _setPrototypeOf(subClass, superClass); +} +function _getPrototypeOf(o) { + _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf3(o2) { + return o2.__proto__ || Object.getPrototypeOf(o2); + }; + return _getPrototypeOf(o); +} +function _setPrototypeOf(o, p) { + _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf3(o2, p2) { + o2.__proto__ = p2; + return o2; + }; + return _setPrototypeOf(o, p); +} +function _isNativeReflectConstruct() { + if (typeof Reflect === "undefined" || !Reflect.construct) + return false; + if (Reflect.construct.sham) + return false; + if (typeof Proxy === "function") + return true; + try { + Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() { + })); + return true; + } catch (e) { + return false; + } +} +function _construct(Parent, args, Class) { + if (_isNativeReflectConstruct()) { + _construct = Reflect.construct.bind(); + } else { + _construct = function _construct3(Parent2, args2, Class2) { + var a2 = [null]; + a2.push.apply(a2, args2); + var Constructor = Function.bind.apply(Parent2, a2); + var instance = new Constructor(); + if (Class2) + _setPrototypeOf(instance, Class2.prototype); + return instance; + }; + } + return _construct.apply(null, arguments); +} +function _objectWithoutPropertiesLoose3(source, excluded) { + if (source == null) + return {}; + var target = {}; + var sourceKeys = Object.keys(source); + var key, i; + for (i = 0; i < sourceKeys.length; i++) { + key = sourceKeys[i]; + if (excluded.indexOf(key) >= 0) + continue; + target[key] = source[key]; + } + return target; +} +function _objectWithoutProperties3(source, excluded) { + if (source == null) + return {}; + var target = _objectWithoutPropertiesLoose3(source, excluded); + var key, i; + if (Object.getOwnPropertySymbols) { + var sourceSymbolKeys = Object.getOwnPropertySymbols(source); + for (i = 0; i < sourceSymbolKeys.length; i++) { + key = sourceSymbolKeys[i]; + if (excluded.indexOf(key) >= 0) + continue; + if (!Object.prototype.propertyIsEnumerable.call(source, key)) + continue; + target[key] = source[key]; + } + } + return target; +} +function _assertThisInitialized(self2) { + if (self2 === void 0) { + throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + } + return self2; +} +function _possibleConstructorReturn(self2, call) { + if (call && (typeof call === "object" || typeof call === "function")) { + return call; + } else if (call !== void 0) { + throw new TypeError("Derived constructors may only return object or undefined"); + } + return _assertThisInitialized(self2); +} +function _createSuper(Derived) { + var hasNativeReflectConstruct = _isNativeReflectConstruct(); + return function _createSuperInternal() { + var Super = _getPrototypeOf(Derived), result; + if (hasNativeReflectConstruct) { + var NewTarget = _getPrototypeOf(this).constructor; + result = Reflect.construct(Super, arguments, NewTarget); + } else { + result = Super.apply(this, arguments); + } + return _possibleConstructorReturn(this, result); + }; +} +function _slicedToArray4(arr, i) { + return _arrayWithHoles4(arr) || _iterableToArrayLimit4(arr, i) || _unsupportedIterableToArray4(arr, i) || _nonIterableRest4(); +} +function _toConsumableArray3(arr) { + return _arrayWithoutHoles3(arr) || _iterableToArray3(arr) || _unsupportedIterableToArray4(arr) || _nonIterableSpread3(); +} +function _arrayWithoutHoles3(arr) { + if (Array.isArray(arr)) + return _arrayLikeToArray4(arr); +} +function _arrayWithHoles4(arr) { + if (Array.isArray(arr)) + return arr; +} +function _iterableToArray3(iter) { + if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) + return Array.from(iter); +} +function _iterableToArrayLimit4(arr, i) { + var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; + if (_i == null) + return; + var _arr = []; + var _n = true; + var _d = false; + var _s, _e; + try { + for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { + _arr.push(_s.value); + if (i && _arr.length === i) + break; + } + } catch (err) { + _d = true; + _e = err; + } finally { + try { + if (!_n && _i["return"] != null) + _i["return"](); + } finally { + if (_d) + throw _e; + } + } + return _arr; +} +function _unsupportedIterableToArray4(o, minLen) { + if (!o) + return; + if (typeof o === "string") + return _arrayLikeToArray4(o, minLen); + var n = Object.prototype.toString.call(o).slice(8, -1); + if (n === "Object" && o.constructor) + n = o.constructor.name; + if (n === "Map" || n === "Set") + return Array.from(o); + if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) + return _arrayLikeToArray4(o, minLen); +} +function _arrayLikeToArray4(arr, len) { + if (len == null || len > arr.length) + len = arr.length; + for (var i = 0, arr2 = new Array(len); i < len; i++) + arr2[i] = arr[i]; + return arr2; +} +function _nonIterableSpread3() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +function _nonIterableRest4() { + throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +var materialDispose = function materialDispose2(material) { + if (material instanceof Array) { + material.forEach(materialDispose2); + } else { + if (material.map) { + material.map.dispose(); + } + material.dispose(); + } +}; +var deallocate = function deallocate2(obj) { + if (obj.geometry) { + obj.geometry.dispose(); + } + if (obj.material) { + materialDispose(obj.material); + } + if (obj.texture) { + obj.texture.dispose(); + } + if (obj.children) { + obj.children.forEach(deallocate2); + } +}; +var emptyObject = function emptyObject2(obj) { + while (obj.children.length) { + var childObj = obj.children[0]; + obj.remove(childObj); + deallocate(childObj); + } +}; +var _excluded2 = ["objFilter"]; +function threeDigest(data, scene3) { + var _ref = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; + var _ref$objFilter = _ref.objFilter, objFilter = _ref$objFilter === void 0 ? function() { + return true; + } : _ref$objFilter, options = _objectWithoutProperties3(_ref, _excluded2); + return viewDigest(data, scene3.children.filter(objFilter), function(obj) { + return scene3.add(obj); + }, function(obj) { + scene3.remove(obj); + emptyObject(obj); + }, _objectSpread22({ + objBindAttr: "__threeObj" + }, options)); +} +var colorStr2Hex = function colorStr2Hex2(str) { + return isNaN(str) ? parseInt((0, import_tinycolor2.default)(str).toHex(), 16) : str; +}; +var colorAlpha = function colorAlpha2(str) { + return isNaN(str) ? (0, import_tinycolor2.default)(str).getAlpha() : 1; +}; +var autoColorScale = ordinal(Paired_default); +function autoColorObjects(objects, colorByAccessor, colorField) { + if (!colorByAccessor || typeof colorField !== "string") + return; + objects.filter(function(obj) { + return !obj[colorField]; + }).forEach(function(obj) { + obj[colorField] = autoColorScale(colorByAccessor(obj)); + }); +} +function getDagDepths(_ref, idAccessor) { + var nodes = _ref.nodes, links = _ref.links; + var _ref2 = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}, _ref2$nodeFilter = _ref2.nodeFilter, nodeFilter = _ref2$nodeFilter === void 0 ? function() { + return true; + } : _ref2$nodeFilter, _ref2$onLoopError = _ref2.onLoopError, onLoopError = _ref2$onLoopError === void 0 ? function(loopIds) { + throw "Invalid DAG structure! Found cycle in node path: ".concat(loopIds.join(" -> "), "."); + } : _ref2$onLoopError; + var graph2 = {}; + nodes.forEach(function(node) { + return graph2[idAccessor(node)] = { + data: node, + out: [], + depth: -1, + skip: !nodeFilter(node) + }; + }); + links.forEach(function(_ref3) { + var source = _ref3.source, target = _ref3.target; + var sourceId = getNodeId(source); + var targetId = getNodeId(target); + if (!graph2.hasOwnProperty(sourceId)) + throw "Missing source node with id: ".concat(sourceId); + if (!graph2.hasOwnProperty(targetId)) + throw "Missing target node with id: ".concat(targetId); + var sourceNode = graph2[sourceId]; + var targetNode = graph2[targetId]; + sourceNode.out.push(targetNode); + function getNodeId(node) { + return _typeof(node) === "object" ? idAccessor(node) : node; + } + }); + var foundLoops = []; + traverse(Object.values(graph2)); + var nodeDepths = Object.assign.apply(Object, [{}].concat(_toConsumableArray3(Object.entries(graph2).filter(function(_ref4) { + var _ref5 = _slicedToArray4(_ref4, 2), node = _ref5[1]; + return !node.skip; + }).map(function(_ref6) { + var _ref7 = _slicedToArray4(_ref6, 2), id = _ref7[0], node = _ref7[1]; + return _defineProperty2({}, id, node.depth); + })))); + return nodeDepths; + function traverse(nodes2) { + var nodeStack = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : []; + var currentDepth = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 0; + for (var i = 0, l = nodes2.length; i < l; i++) { + var node = nodes2[i]; + if (nodeStack.indexOf(node) !== -1) { + var _ret = function() { + var loop = [].concat(_toConsumableArray3(nodeStack.slice(nodeStack.indexOf(node))), [node]).map(function(d) { + return idAccessor(d.data); + }); + if (!foundLoops.some(function(foundLoop) { + return foundLoop.length === loop.length && foundLoop.every(function(id, idx) { + return id === loop[idx]; + }); + })) { + foundLoops.push(loop); + onLoopError(loop); + } + return "continue"; + }(); + if (_ret === "continue") + continue; + } + if (currentDepth > node.depth) { + node.depth = currentDepth; + traverse(node.out, [].concat(_toConsumableArray3(nodeStack), [node]), currentDepth + (node.skip ? 0 : 1)); + } + } + } +} +var three$1 = window.THREE ? window.THREE : { + Group, + Mesh, + MeshLambertMaterial, + Color, + BufferGeometry, + BufferAttribute, + Matrix4, + Vector3, + SphereGeometry, + CylinderGeometry, + TubeGeometry, + ConeGeometry, + Line, + LineBasicMaterial, + QuadraticBezierCurve3, + CubicBezierCurve3, + Box3 +}; +var ngraph = { + graph: import_ngraph.default, + forcelayout: import_ngraph2.default +}; +var DAG_LEVEL_NODE_RATIO = 2; +var setAttributeFn = new three$1.BufferGeometry().setAttribute ? "setAttribute" : "addAttribute"; +var applyMatrix4Fn = new three$1.BufferGeometry().applyMatrix4 ? "applyMatrix4" : "applyMatrix"; +var ForceGraph = index2({ + props: { + jsonUrl: { + onChange: function onChange(jsonUrl, state) { + var _this = this; + if (jsonUrl && !state.fetchingJson) { + state.fetchingJson = true; + state.onLoading(); + fetch(jsonUrl).then(function(r) { + return r.json(); + }).then(function(json) { + state.fetchingJson = false; + state.onFinishLoading(json); + _this.graphData(json); + }); + } + }, + triggerUpdate: false + }, + graphData: { + "default": { + nodes: [], + links: [] + }, + onChange: function onChange2(graphData, state) { + state.engineRunning = false; + } + }, + numDimensions: { + "default": 3, + onChange: function onChange3(numDim, state) { + var chargeForce = state.d3ForceLayout.force("charge"); + if (chargeForce) { + chargeForce.strength(numDim > 2 ? -60 : -30); + } + if (numDim < 3) { + eraseDimension(state.graphData.nodes, "z"); + } + if (numDim < 2) { + eraseDimension(state.graphData.nodes, "y"); + } + function eraseDimension(nodes, dim) { + nodes.forEach(function(d) { + delete d[dim]; + delete d["v".concat(dim)]; + }); + } + } + }, + dagMode: { + onChange: function onChange4(dagMode, state) { + !dagMode && state.forceEngine === "d3" && (state.graphData.nodes || []).forEach(function(n) { + return n.fx = n.fy = n.fz = void 0; + }); + } + }, + dagLevelDistance: {}, + dagNodeFilter: { + "default": function _default(node) { + return true; + } + }, + onDagError: { + triggerUpdate: false + }, + nodeRelSize: { + "default": 4 + }, + nodeId: { + "default": "id" + }, + nodeVal: { + "default": "val" + }, + nodeResolution: { + "default": 8 + }, + nodeColor: { + "default": "color" + }, + nodeAutoColorBy: {}, + nodeOpacity: { + "default": 0.75 + }, + nodeVisibility: { + "default": true + }, + nodeThreeObject: {}, + nodeThreeObjectExtend: { + "default": false + }, + linkSource: { + "default": "source" + }, + linkTarget: { + "default": "target" + }, + linkVisibility: { + "default": true + }, + linkColor: { + "default": "color" + }, + linkAutoColorBy: {}, + linkOpacity: { + "default": 0.2 + }, + linkWidth: {}, + linkResolution: { + "default": 6 + }, + linkCurvature: { + "default": 0, + triggerUpdate: false + }, + linkCurveRotation: { + "default": 0, + triggerUpdate: false + }, + linkMaterial: {}, + linkThreeObject: {}, + linkThreeObjectExtend: { + "default": false + }, + linkPositionUpdate: { + triggerUpdate: false + }, + linkDirectionalArrowLength: { + "default": 0 + }, + linkDirectionalArrowColor: {}, + linkDirectionalArrowRelPos: { + "default": 0.5, + triggerUpdate: false + }, + linkDirectionalArrowResolution: { + "default": 8 + }, + linkDirectionalParticles: { + "default": 0 + }, + linkDirectionalParticleSpeed: { + "default": 0.01, + triggerUpdate: false + }, + linkDirectionalParticleWidth: { + "default": 0.5 + }, + linkDirectionalParticleColor: {}, + linkDirectionalParticleResolution: { + "default": 4 + }, + forceEngine: { + "default": "d3" + }, + d3AlphaMin: { + "default": 0 + }, + d3AlphaDecay: { + "default": 0.0228, + triggerUpdate: false, + onChange: function onChange5(alphaDecay, state) { + state.d3ForceLayout.alphaDecay(alphaDecay); + } + }, + d3AlphaTarget: { + "default": 0, + triggerUpdate: false, + onChange: function onChange6(alphaTarget, state) { + state.d3ForceLayout.alphaTarget(alphaTarget); + } + }, + d3VelocityDecay: { + "default": 0.4, + triggerUpdate: false, + onChange: function onChange7(velocityDecay, state) { + state.d3ForceLayout.velocityDecay(velocityDecay); + } + }, + ngraphPhysics: { + "default": { + timeStep: 20, + gravity: -1.2, + theta: 0.8, + springLength: 30, + springCoefficient: 8e-4, + dragCoefficient: 0.02 + } + }, + warmupTicks: { + "default": 0, + triggerUpdate: false + }, + cooldownTicks: { + "default": Infinity, + triggerUpdate: false + }, + cooldownTime: { + "default": 15e3, + triggerUpdate: false + }, + onLoading: { + "default": function _default2() { + }, + triggerUpdate: false + }, + onFinishLoading: { + "default": function _default3() { + }, + triggerUpdate: false + }, + onUpdate: { + "default": function _default4() { + }, + triggerUpdate: false + }, + onFinishUpdate: { + "default": function _default5() { + }, + triggerUpdate: false + }, + onEngineTick: { + "default": function _default6() { + }, + triggerUpdate: false + }, + onEngineStop: { + "default": function _default7() { + }, + triggerUpdate: false + } + }, + methods: { + refresh: function refresh(state) { + state._flushObjects = true; + state._rerender(); + return this; + }, + d3Force: function d3Force(state, forceName, forceFn) { + if (forceFn === void 0) { + return state.d3ForceLayout.force(forceName); + } + state.d3ForceLayout.force(forceName, forceFn); + return this; + }, + d3ReheatSimulation: function d3ReheatSimulation(state) { + state.d3ForceLayout.alpha(1); + this.resetCountdown(); + return this; + }, + resetCountdown: function resetCountdown(state) { + state.cntTicks = 0; + state.startTickTime = new Date(); + state.engineRunning = true; + return this; + }, + tickFrame: function tickFrame(state) { + var isD3Sim = state.forceEngine !== "ngraph"; + if (state.engineRunning) { + layoutTick(); + } + updateArrows(); + updatePhotons(); + return this; + function layoutTick() { + if (++state.cntTicks > state.cooldownTicks || new Date() - state.startTickTime > state.cooldownTime || isD3Sim && state.d3AlphaMin > 0 && state.d3ForceLayout.alpha() < state.d3AlphaMin) { + state.engineRunning = false; + state.onEngineStop(); + } else { + state.layout[isD3Sim ? "tick" : "step"](); + state.onEngineTick(); + } + state.graphData.nodes.forEach(function(node) { + var obj = node.__threeObj; + if (!obj) + return; + var pos = isD3Sim ? node : state.layout.getNodePosition(node[state.nodeId]); + obj.position.x = pos.x; + obj.position.y = pos.y || 0; + obj.position.z = pos.z || 0; + }); + var linkWidthAccessor = accessor_fn_module_default(state.linkWidth); + var linkCurvatureAccessor = accessor_fn_module_default(state.linkCurvature); + var linkCurveRotationAccessor = accessor_fn_module_default(state.linkCurveRotation); + var linkThreeObjectExtendAccessor = accessor_fn_module_default(state.linkThreeObjectExtend); + state.graphData.links.forEach(function(link) { + var lineObj = link.__lineObj; + if (!lineObj) + return; + var pos = isD3Sim ? link : state.layout.getLinkPosition(state.layout.graph.getLink(link.source, link.target).id); + var start = pos[isD3Sim ? "source" : "from"]; + var end = pos[isD3Sim ? "target" : "to"]; + if (!start || !end || !start.hasOwnProperty("x") || !end.hasOwnProperty("x")) + return; + calcLinkCurve(link); + var extendedObj = linkThreeObjectExtendAccessor(link); + if (state.linkPositionUpdate && state.linkPositionUpdate(extendedObj ? lineObj.children[1] : lineObj, { + start: { + x: start.x, + y: start.y, + z: start.z + }, + end: { + x: end.x, + y: end.y, + z: end.z + } + }, link) && !extendedObj) { + return; + } + var curveResolution = 30; + var curve = link.__curve; + var line = lineObj.children.length ? lineObj.children[0] : lineObj; + if (line.type === "Line") { + if (!curve) { + var linePos = line.geometry.getAttribute("position"); + if (!linePos || !linePos.array || linePos.array.length !== 6) { + line.geometry[setAttributeFn]("position", linePos = new three$1.BufferAttribute(new Float32Array(2 * 3), 3)); + } + linePos.array[0] = start.x; + linePos.array[1] = start.y || 0; + linePos.array[2] = start.z || 0; + linePos.array[3] = end.x; + linePos.array[4] = end.y || 0; + linePos.array[5] = end.z || 0; + linePos.needsUpdate = true; + } else { + line.geometry.setFromPoints(curve.getPoints(curveResolution)); + } + line.geometry.computeBoundingSphere(); + } else if (line.type === "Mesh") { + if (!curve) { + if (!line.geometry.type.match(/^Cylinder(Buffer)?Geometry$/)) { + var linkWidth = Math.ceil(linkWidthAccessor(link) * 10) / 10; + var r = linkWidth / 2; + var geometry = new three$1.CylinderGeometry(r, r, 1, state.linkResolution, 1, false); + geometry[applyMatrix4Fn](new three$1.Matrix4().makeTranslation(0, 1 / 2, 0)); + geometry[applyMatrix4Fn](new three$1.Matrix4().makeRotationX(Math.PI / 2)); + line.geometry.dispose(); + line.geometry = geometry; + } + var vStart = new three$1.Vector3(start.x, start.y || 0, start.z || 0); + var vEnd = new three$1.Vector3(end.x, end.y || 0, end.z || 0); + var distance = vStart.distanceTo(vEnd); + line.position.x = vStart.x; + line.position.y = vStart.y; + line.position.z = vStart.z; + line.scale.z = distance; + line.parent.localToWorld(vEnd); + line.lookAt(vEnd); + } else { + if (!line.geometry.type.match(/^Tube(Buffer)?Geometry$/)) { + line.position.set(0, 0, 0); + line.rotation.set(0, 0, 0); + line.scale.set(1, 1, 1); + } + var _linkWidth = Math.ceil(linkWidthAccessor(link) * 10) / 10; + var _r = _linkWidth / 2; + var _geometry3 = new three$1.TubeGeometry(curve, curveResolution, _r, state.linkResolution, false); + line.geometry.dispose(); + line.geometry = _geometry3; + } + } + }); + function calcLinkCurve(link) { + var pos = isD3Sim ? link : state.layout.getLinkPosition(state.layout.graph.getLink(link.source, link.target).id); + var start = pos[isD3Sim ? "source" : "from"]; + var end = pos[isD3Sim ? "target" : "to"]; + if (!start || !end || !start.hasOwnProperty("x") || !end.hasOwnProperty("x")) + return; + var curvature = linkCurvatureAccessor(link); + if (!curvature) { + link.__curve = null; + } else { + var vStart = new three$1.Vector3(start.x, start.y || 0, start.z || 0); + var vEnd = new three$1.Vector3(end.x, end.y || 0, end.z || 0); + var l = vStart.distanceTo(vEnd); + var curve; + var curveRotation = linkCurveRotationAccessor(link); + if (l > 0) { + var dx = end.x - start.x; + var dy = end.y - start.y || 0; + var vLine = new three$1.Vector3().subVectors(vEnd, vStart); + var cp = vLine.clone().multiplyScalar(curvature).cross(dx !== 0 || dy !== 0 ? new three$1.Vector3(0, 0, 1) : new three$1.Vector3(0, 1, 0)).applyAxisAngle(vLine.normalize(), curveRotation).add(new three$1.Vector3().addVectors(vStart, vEnd).divideScalar(2)); + curve = new three$1.QuadraticBezierCurve3(vStart, cp, vEnd); + } else { + var d = curvature * 70; + var endAngle = -curveRotation; + var startAngle = endAngle + Math.PI / 2; + curve = new three$1.CubicBezierCurve3(vStart, new three$1.Vector3(d * Math.cos(startAngle), d * Math.sin(startAngle), 0).add(vStart), new three$1.Vector3(d * Math.cos(endAngle), d * Math.sin(endAngle), 0).add(vStart), vEnd); + } + link.__curve = curve; + } + } + } + function updateArrows() { + var arrowRelPosAccessor = accessor_fn_module_default(state.linkDirectionalArrowRelPos); + var arrowLengthAccessor = accessor_fn_module_default(state.linkDirectionalArrowLength); + var nodeValAccessor = accessor_fn_module_default(state.nodeVal); + state.graphData.links.forEach(function(link) { + var arrowObj = link.__arrowObj; + if (!arrowObj) + return; + var pos = isD3Sim ? link : state.layout.getLinkPosition(state.layout.graph.getLink(link.source, link.target).id); + var start = pos[isD3Sim ? "source" : "from"]; + var end = pos[isD3Sim ? "target" : "to"]; + if (!start || !end || !start.hasOwnProperty("x") || !end.hasOwnProperty("x")) + return; + var startR = Math.sqrt(Math.max(0, nodeValAccessor(start) || 1)) * state.nodeRelSize; + var endR = Math.sqrt(Math.max(0, nodeValAccessor(end) || 1)) * state.nodeRelSize; + var arrowLength = arrowLengthAccessor(link); + var arrowRelPos = arrowRelPosAccessor(link); + var getPosAlongLine = link.__curve ? function(t) { + return link.__curve.getPoint(t); + } : function(t) { + var iplt = function iplt2(dim, start2, end2, t2) { + return start2[dim] + (end2[dim] - start2[dim]) * t2 || 0; + }; + return { + x: iplt("x", start, end, t), + y: iplt("y", start, end, t), + z: iplt("z", start, end, t) + }; + }; + var lineLen = link.__curve ? link.__curve.getLength() : Math.sqrt(["x", "y", "z"].map(function(dim) { + return Math.pow((end[dim] || 0) - (start[dim] || 0), 2); + }).reduce(function(acc, v) { + return acc + v; + }, 0)); + var posAlongLine = startR + arrowLength + (lineLen - startR - endR - arrowLength) * arrowRelPos; + var arrowHead = getPosAlongLine(posAlongLine / lineLen); + var arrowTail = getPosAlongLine((posAlongLine - arrowLength) / lineLen); + ["x", "y", "z"].forEach(function(dim) { + return arrowObj.position[dim] = arrowTail[dim]; + }); + var headVec = _construct(three$1.Vector3, _toConsumableArray3(["x", "y", "z"].map(function(c2) { + return arrowHead[c2]; + }))); + arrowObj.parent.localToWorld(headVec); + arrowObj.lookAt(headVec); + }); + } + function updatePhotons() { + var particleSpeedAccessor = accessor_fn_module_default(state.linkDirectionalParticleSpeed); + state.graphData.links.forEach(function(link) { + var cyclePhotons = link.__photonsObj && link.__photonsObj.children; + var singleHopPhotons = link.__singleHopPhotonsObj && link.__singleHopPhotonsObj.children; + if ((!singleHopPhotons || !singleHopPhotons.length) && (!cyclePhotons || !cyclePhotons.length)) + return; + var pos = isD3Sim ? link : state.layout.getLinkPosition(state.layout.graph.getLink(link.source, link.target).id); + var start = pos[isD3Sim ? "source" : "from"]; + var end = pos[isD3Sim ? "target" : "to"]; + if (!start || !end || !start.hasOwnProperty("x") || !end.hasOwnProperty("x")) + return; + var particleSpeed = particleSpeedAccessor(link); + var getPhotonPos = link.__curve ? function(t) { + return link.__curve.getPoint(t); + } : function(t) { + var iplt = function iplt2(dim, start2, end2, t2) { + return start2[dim] + (end2[dim] - start2[dim]) * t2 || 0; + }; + return { + x: iplt("x", start, end, t), + y: iplt("y", start, end, t), + z: iplt("z", start, end, t) + }; + }; + var photons = [].concat(_toConsumableArray3(cyclePhotons || []), _toConsumableArray3(singleHopPhotons || [])); + photons.forEach(function(photon, idx) { + var singleHop = photon.parent.__linkThreeObjType === "singleHopPhotons"; + if (!photon.hasOwnProperty("__progressRatio")) { + photon.__progressRatio = singleHop ? 0 : idx / cyclePhotons.length; + } + photon.__progressRatio += particleSpeed; + if (photon.__progressRatio >= 1) { + if (!singleHop) { + photon.__progressRatio = photon.__progressRatio % 1; + } else { + photon.parent.remove(photon); + emptyObject(photon); + return; + } + } + var photonPosRatio = photon.__progressRatio; + var pos2 = getPhotonPos(photonPosRatio); + ["x", "y", "z"].forEach(function(dim) { + return photon.position[dim] = pos2[dim]; + }); + }); + }); + } + }, + emitParticle: function emitParticle(state, link) { + if (link) { + if (!link.__singleHopPhotonsObj) { + var obj = new three$1.Group(); + obj.__linkThreeObjType = "singleHopPhotons"; + link.__singleHopPhotonsObj = obj; + state.graphScene.add(obj); + } + var particleWidthAccessor = accessor_fn_module_default(state.linkDirectionalParticleWidth); + var photonR = Math.ceil(particleWidthAccessor(link) * 10) / 10 / 2; + var numSegments = state.linkDirectionalParticleResolution; + var particleGeometry = new three$1.SphereGeometry(photonR, numSegments, numSegments); + var linkColorAccessor = accessor_fn_module_default(state.linkColor); + var particleColorAccessor = accessor_fn_module_default(state.linkDirectionalParticleColor); + var photonColor = particleColorAccessor(link) || linkColorAccessor(link) || "#f0f0f0"; + var materialColor = new three$1.Color(colorStr2Hex(photonColor)); + var opacity = state.linkOpacity * 3; + var particleMaterial = new three$1.MeshLambertMaterial({ + color: materialColor, + transparent: true, + opacity + }); + link.__singleHopPhotonsObj.add(new three$1.Mesh(particleGeometry, particleMaterial)); + } + return this; + }, + getGraphBbox: function getGraphBbox(state) { + var nodeFilter = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : function() { + return true; + }; + if (!state.initialised) + return null; + var bboxes = function getBboxes(obj) { + var bboxes2 = []; + if (obj.geometry) { + obj.geometry.computeBoundingBox(); + var box = new three$1.Box3(); + box.copy(obj.geometry.boundingBox).applyMatrix4(obj.matrixWorld); + bboxes2.push(box); + } + return bboxes2.concat.apply(bboxes2, _toConsumableArray3((obj.children || []).filter(function(obj2) { + return !obj2.hasOwnProperty("__graphObjType") || obj2.__graphObjType === "node" && nodeFilter(obj2.__data); + }).map(getBboxes))); + }(state.graphScene); + if (!bboxes.length) + return null; + return Object.assign.apply(Object, _toConsumableArray3(["x", "y", "z"].map(function(c2) { + return _defineProperty2({}, c2, [min(bboxes, function(bb) { + return bb.min[c2]; + }), max(bboxes, function(bb) { + return bb.max[c2]; + })]); + }))); + } + }, + stateInit: function stateInit() { + return { + d3ForceLayout: simulation_default().force("link", link_default()).force("charge", manyBody_default()).force("center", center_default()).force("dagRadial", null).stop(), + engineRunning: false + }; + }, + init: function init(threeObj, state) { + state.graphScene = threeObj; + }, + update: function update(state, changedProps) { + var hasAnyPropChanged = function hasAnyPropChanged2(propList) { + return propList.some(function(p) { + return changedProps.hasOwnProperty(p); + }); + }; + state.engineRunning = false; + state.onUpdate(); + if (state.nodeAutoColorBy !== null && hasAnyPropChanged(["nodeAutoColorBy", "graphData", "nodeColor"])) { + autoColorObjects(state.graphData.nodes, accessor_fn_module_default(state.nodeAutoColorBy), state.nodeColor); + } + if (state.linkAutoColorBy !== null && hasAnyPropChanged(["linkAutoColorBy", "graphData", "linkColor"])) { + autoColorObjects(state.graphData.links, accessor_fn_module_default(state.linkAutoColorBy), state.linkColor); + } + if (state._flushObjects || hasAnyPropChanged(["graphData", "nodeThreeObject", "nodeThreeObjectExtend", "nodeVal", "nodeColor", "nodeVisibility", "nodeRelSize", "nodeResolution", "nodeOpacity"])) { + var customObjectAccessor = accessor_fn_module_default(state.nodeThreeObject); + var customObjectExtendAccessor = accessor_fn_module_default(state.nodeThreeObjectExtend); + var valAccessor = accessor_fn_module_default(state.nodeVal); + var colorAccessor = accessor_fn_module_default(state.nodeColor); + var visibilityAccessor = accessor_fn_module_default(state.nodeVisibility); + var sphereGeometries = {}; + var sphereMaterials = {}; + threeDigest(state.graphData.nodes.filter(visibilityAccessor), state.graphScene, { + purge: state._flushObjects || hasAnyPropChanged([ + "nodeThreeObject", + "nodeThreeObjectExtend" + ]), + objFilter: function objFilter(obj) { + return obj.__graphObjType === "node"; + }, + createObj: function createObj(node) { + var customObj = customObjectAccessor(node); + var extendObj = customObjectExtendAccessor(node); + if (customObj && state.nodeThreeObject === customObj) { + customObj = customObj.clone(); + } + var obj; + if (customObj && !extendObj) { + obj = customObj; + } else { + obj = new three$1.Mesh(); + obj.__graphDefaultObj = true; + if (customObj && extendObj) { + obj.add(customObj); + } + } + obj.__graphObjType = "node"; + return obj; + }, + updateObj: function updateObj(obj, node) { + if (obj.__graphDefaultObj) { + var val = valAccessor(node) || 1; + var radius = Math.cbrt(val) * state.nodeRelSize; + var numSegments = state.nodeResolution; + if (!obj.geometry.type.match(/^Sphere(Buffer)?Geometry$/) || obj.geometry.parameters.radius !== radius || obj.geometry.parameters.widthSegments !== numSegments) { + if (!sphereGeometries.hasOwnProperty(val)) { + sphereGeometries[val] = new three$1.SphereGeometry(radius, numSegments, numSegments); + } + obj.geometry.dispose(); + obj.geometry = sphereGeometries[val]; + } + var color = colorAccessor(node); + var materialColor = new three$1.Color(colorStr2Hex(color || "#ffffaa")); + var opacity = state.nodeOpacity * colorAlpha(color); + if (obj.material.type !== "MeshLambertMaterial" || !obj.material.color.equals(materialColor) || obj.material.opacity !== opacity) { + if (!sphereMaterials.hasOwnProperty(color)) { + sphereMaterials[color] = new three$1.MeshLambertMaterial({ + color: materialColor, + transparent: true, + opacity + }); + } + obj.material.dispose(); + obj.material = sphereMaterials[color]; + } + } + } + }); + } + if (state._flushObjects || hasAnyPropChanged(["graphData", "linkThreeObject", "linkThreeObjectExtend", "linkMaterial", "linkColor", "linkWidth", "linkVisibility", "linkResolution", "linkOpacity", "linkDirectionalArrowLength", "linkDirectionalArrowColor", "linkDirectionalArrowResolution", "linkDirectionalParticles", "linkDirectionalParticleWidth", "linkDirectionalParticleColor", "linkDirectionalParticleResolution"])) { + var _customObjectAccessor = accessor_fn_module_default(state.linkThreeObject); + var _customObjectExtendAccessor = accessor_fn_module_default(state.linkThreeObjectExtend); + var customMaterialAccessor = accessor_fn_module_default(state.linkMaterial); + var _visibilityAccessor = accessor_fn_module_default(state.linkVisibility); + var _colorAccessor = accessor_fn_module_default(state.linkColor); + var widthAccessor = accessor_fn_module_default(state.linkWidth); + var cylinderGeometries = {}; + var lambertLineMaterials = {}; + var basicLineMaterials = {}; + var visibleLinks = state.graphData.links.filter(_visibilityAccessor); + threeDigest(visibleLinks, state.graphScene, { + objBindAttr: "__lineObj", + purge: state._flushObjects || hasAnyPropChanged([ + "linkThreeObject", + "linkThreeObjectExtend", + "linkWidth" + ]), + objFilter: function objFilter(obj) { + return obj.__graphObjType === "link"; + }, + createObj: function createObj(link) { + var customObj = _customObjectAccessor(link); + var extendObj = _customObjectExtendAccessor(link); + if (customObj && state.linkThreeObject === customObj) { + customObj = customObj.clone(); + } + var defaultObj; + if (!customObj || extendObj) { + var useCylinder = !!widthAccessor(link); + if (useCylinder) { + defaultObj = new three$1.Mesh(); + } else { + var lineGeometry = new three$1.BufferGeometry(); + lineGeometry[setAttributeFn]("position", new three$1.BufferAttribute(new Float32Array(2 * 3), 3)); + defaultObj = new three$1.Line(lineGeometry); + } + } + var obj; + if (!customObj) { + obj = defaultObj; + obj.__graphDefaultObj = true; + } else { + if (!extendObj) { + obj = customObj; + } else { + obj = new three$1.Group(); + obj.__graphDefaultObj = true; + obj.add(defaultObj); + obj.add(customObj); + } + } + obj.renderOrder = 10; + obj.__graphObjType = "link"; + return obj; + }, + updateObj: function updateObj(updObj, link) { + if (updObj.__graphDefaultObj) { + var obj = updObj.children.length ? updObj.children[0] : updObj; + var linkWidth = Math.ceil(widthAccessor(link) * 10) / 10; + var useCylinder = !!linkWidth; + if (useCylinder) { + var r = linkWidth / 2; + var numSegments = state.linkResolution; + if (!obj.geometry.type.match(/^Cylinder(Buffer)?Geometry$/) || obj.geometry.parameters.radiusTop !== r || obj.geometry.parameters.radialSegments !== numSegments) { + if (!cylinderGeometries.hasOwnProperty(linkWidth)) { + var geometry = new three$1.CylinderGeometry(r, r, 1, numSegments, 1, false); + geometry[applyMatrix4Fn](new three$1.Matrix4().makeTranslation(0, 1 / 2, 0)); + geometry[applyMatrix4Fn](new three$1.Matrix4().makeRotationX(Math.PI / 2)); + cylinderGeometries[linkWidth] = geometry; + } + obj.geometry.dispose(); + obj.geometry = cylinderGeometries[linkWidth]; + } + } + var customMaterial = customMaterialAccessor(link); + if (customMaterial) { + obj.material = customMaterial; + } else { + var color = _colorAccessor(link); + var materialColor = new three$1.Color(colorStr2Hex(color || "#f0f0f0")); + var opacity = state.linkOpacity * colorAlpha(color); + var materialType = useCylinder ? "MeshLambertMaterial" : "LineBasicMaterial"; + if (obj.material.type !== materialType || !obj.material.color.equals(materialColor) || obj.material.opacity !== opacity) { + var lineMaterials = useCylinder ? lambertLineMaterials : basicLineMaterials; + if (!lineMaterials.hasOwnProperty(color)) { + lineMaterials[color] = new three$1[materialType]({ + color: materialColor, + transparent: opacity < 1, + opacity, + depthWrite: opacity >= 1 + }); + } + obj.material.dispose(); + obj.material = lineMaterials[color]; + } + } + } + } + }); + if (state.linkDirectionalArrowLength || changedProps.hasOwnProperty("linkDirectionalArrowLength")) { + var arrowLengthAccessor = accessor_fn_module_default(state.linkDirectionalArrowLength); + var arrowColorAccessor = accessor_fn_module_default(state.linkDirectionalArrowColor); + threeDigest(visibleLinks.filter(arrowLengthAccessor), state.graphScene, { + objBindAttr: "__arrowObj", + objFilter: function objFilter(obj) { + return obj.__linkThreeObjType === "arrow"; + }, + createObj: function createObj() { + var obj = new three$1.Mesh(void 0, new three$1.MeshLambertMaterial({ + transparent: true + })); + obj.__linkThreeObjType = "arrow"; + return obj; + }, + updateObj: function updateObj(obj, link) { + var arrowLength = arrowLengthAccessor(link); + var numSegments = state.linkDirectionalArrowResolution; + if (!obj.geometry.type.match(/^Cone(Buffer)?Geometry$/) || obj.geometry.parameters.height !== arrowLength || obj.geometry.parameters.radialSegments !== numSegments) { + var coneGeometry = new three$1.ConeGeometry(arrowLength * 0.25, arrowLength, numSegments); + coneGeometry.translate(0, arrowLength / 2, 0); + coneGeometry.rotateX(Math.PI / 2); + obj.geometry.dispose(); + obj.geometry = coneGeometry; + } + obj.material.color = new three$1.Color(arrowColorAccessor(link) || _colorAccessor(link) || "#f0f0f0"); + obj.material.opacity = state.linkOpacity * 3; + } + }); + } + if (state.linkDirectionalParticles || changedProps.hasOwnProperty("linkDirectionalParticles")) { + var particlesAccessor = accessor_fn_module_default(state.linkDirectionalParticles); + var particleWidthAccessor = accessor_fn_module_default(state.linkDirectionalParticleWidth); + var particleColorAccessor = accessor_fn_module_default(state.linkDirectionalParticleColor); + var particleMaterials = {}; + var particleGeometries = {}; + threeDigest(visibleLinks.filter(particlesAccessor), state.graphScene, { + objBindAttr: "__photonsObj", + objFilter: function objFilter(obj) { + return obj.__linkThreeObjType === "photons"; + }, + createObj: function createObj() { + var obj = new three$1.Group(); + obj.__linkThreeObjType = "photons"; + return obj; + }, + updateObj: function updateObj(obj, link) { + var numPhotons = Math.round(Math.abs(particlesAccessor(link))); + var curPhoton = !!obj.children.length && obj.children[0]; + var photonR = Math.ceil(particleWidthAccessor(link) * 10) / 10 / 2; + var numSegments = state.linkDirectionalParticleResolution; + var particleGeometry; + if (curPhoton && curPhoton.geometry.parameters.radius === photonR && curPhoton.geometry.parameters.widthSegments === numSegments) { + particleGeometry = curPhoton.geometry; + } else { + if (!particleGeometries.hasOwnProperty(photonR)) { + particleGeometries[photonR] = new three$1.SphereGeometry(photonR, numSegments, numSegments); + } + particleGeometry = particleGeometries[photonR]; + curPhoton && curPhoton.geometry.dispose(); + } + var photonColor = particleColorAccessor(link) || _colorAccessor(link) || "#f0f0f0"; + var materialColor = new three$1.Color(colorStr2Hex(photonColor)); + var opacity = state.linkOpacity * 3; + var particleMaterial; + if (curPhoton && curPhoton.material.color.equals(materialColor) && curPhoton.material.opacity === opacity) { + particleMaterial = curPhoton.material; + } else { + if (!particleMaterials.hasOwnProperty(photonColor)) { + particleMaterials[photonColor] = new three$1.MeshLambertMaterial({ + color: materialColor, + transparent: true, + opacity + }); + } + particleMaterial = particleMaterials[photonColor]; + curPhoton && curPhoton.material.dispose(); + } + threeDigest(_toConsumableArray3(new Array(numPhotons)).map(function(_, idx) { + return { + idx + }; + }), obj, { + idAccessor: function idAccessor(d) { + return d.idx; + }, + createObj: function createObj() { + return new three$1.Mesh(particleGeometry, particleMaterial); + }, + updateObj: function updateObj2(obj2) { + obj2.geometry = particleGeometry; + obj2.material = particleMaterial; + } + }); + } + }); + } + } + state._flushObjects = false; + if (hasAnyPropChanged(["graphData", "nodeId", "linkSource", "linkTarget", "numDimensions", "forceEngine", "dagMode", "dagNodeFilter", "dagLevelDistance"])) { + state.engineRunning = false; + state.graphData.links.forEach(function(link) { + link.source = link[state.linkSource]; + link.target = link[state.linkTarget]; + }); + var isD3Sim = state.forceEngine !== "ngraph"; + var layout; + if (isD3Sim) { + (layout = state.d3ForceLayout).stop().alpha(1).numDimensions(state.numDimensions).nodes(state.graphData.nodes); + var linkForce = state.d3ForceLayout.force("link"); + if (linkForce) { + linkForce.id(function(d) { + return d[state.nodeId]; + }).links(state.graphData.links); + } + var nodeDepths = state.dagMode && getDagDepths(state.graphData, function(node) { + return node[state.nodeId]; + }, { + nodeFilter: state.dagNodeFilter, + onLoopError: state.onDagError || void 0 + }); + var maxDepth = Math.max.apply(Math, _toConsumableArray3(Object.values(nodeDepths || []))); + var dagLevelDistance = state.dagLevelDistance || state.graphData.nodes.length / (maxDepth || 1) * DAG_LEVEL_NODE_RATIO * (["radialin", "radialout"].indexOf(state.dagMode) !== -1 ? 0.7 : 1); + if (state.dagMode) { + var getFFn = function getFFn2(fix, invert) { + return function(node) { + return !fix ? void 0 : (nodeDepths[node[state.nodeId]] - maxDepth / 2) * dagLevelDistance * (invert ? -1 : 1); + }; + }; + var fxFn = getFFn(["lr", "rl"].indexOf(state.dagMode) !== -1, state.dagMode === "rl"); + var fyFn = getFFn(["td", "bu"].indexOf(state.dagMode) !== -1, state.dagMode === "td"); + var fzFn = getFFn(["zin", "zout"].indexOf(state.dagMode) !== -1, state.dagMode === "zout"); + state.graphData.nodes.filter(state.dagNodeFilter).forEach(function(node) { + node.fx = fxFn(node); + node.fy = fyFn(node); + node.fz = fzFn(node); + }); + } + state.d3ForceLayout.force("dagRadial", ["radialin", "radialout"].indexOf(state.dagMode) !== -1 ? radial_default(function(node) { + var nodeDepth = nodeDepths[node[state.nodeId]] || -1; + return (state.dagMode === "radialin" ? maxDepth - nodeDepth : nodeDepth) * dagLevelDistance; + }).strength(function(node) { + return state.dagNodeFilter(node) ? 1 : 0; + }) : null); + } else { + var _graph = ngraph.graph(); + state.graphData.nodes.forEach(function(node) { + _graph.addNode(node[state.nodeId]); + }); + state.graphData.links.forEach(function(link) { + _graph.addLink(link.source, link.target); + }); + layout = ngraph.forcelayout(_graph, _objectSpread22({ + dimensions: state.numDimensions + }, state.ngraphPhysics)); + layout.graph = _graph; + } + for (var i = 0; i < state.warmupTicks && !(isD3Sim && state.d3AlphaMin > 0 && state.d3ForceLayout.alpha() < state.d3AlphaMin); i++) { + layout[isD3Sim ? "tick" : "step"](); + } + state.layout = layout; + this.resetCountdown(); + } + state.engineRunning = true; + state.onFinishUpdate(); + } +}); +function fromKapsule(kapsule) { + var baseClass = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : Object; + var initKapsuleWithSelf = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false; + var FromKapsule = /* @__PURE__ */ function(_baseClass) { + _inherits(FromKapsule2, _baseClass); + var _super = _createSuper(FromKapsule2); + function FromKapsule2() { + var _this; + _classCallCheck2(this, FromKapsule2); + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + _this = _super.call.apply(_super, [this].concat(args)); + _this.__kapsuleInstance = kapsule().apply(void 0, [].concat(_toConsumableArray3(initKapsuleWithSelf ? [_assertThisInitialized(_this)] : []), args)); + return _this; + } + return _createClass2(FromKapsule2); + }(baseClass); + Object.keys(kapsule()).forEach(function(m2) { + return FromKapsule.prototype[m2] = function() { + var _this$__kapsuleInstan; + var returnVal = (_this$__kapsuleInstan = this.__kapsuleInstance)[m2].apply(_this$__kapsuleInstan, arguments); + return returnVal === this.__kapsuleInstance ? this : returnVal; + }; + }); + return FromKapsule; +} +var three = window.THREE ? window.THREE : { + Group +}; +var threeForcegraph = fromKapsule(ForceGraph, three.Group, true); + +// node_modules/three/examples/jsm/controls/TrackballControls.js +var _changeEvent = { type: "change" }; +var _startEvent = { type: "start" }; +var _endEvent = { type: "end" }; +var TrackballControls = class extends EventDispatcher { + constructor(object, domElement) { + super(); + const scope = this; + const STATE = { NONE: -1, ROTATE: 0, ZOOM: 1, PAN: 2, TOUCH_ROTATE: 3, TOUCH_ZOOM_PAN: 4 }; + this.object = object; + this.domElement = domElement; + this.domElement.style.touchAction = "none"; + this.enabled = true; + this.screen = { left: 0, top: 0, width: 0, height: 0 }; + this.rotateSpeed = 1; + this.zoomSpeed = 1.2; + this.panSpeed = 0.3; + this.noRotate = false; + this.noZoom = false; + this.noPan = false; + this.staticMoving = false; + this.dynamicDampingFactor = 0.2; + this.minDistance = 0; + this.maxDistance = Infinity; + this.keys = ["KeyA", "KeyS", "KeyD"]; + this.mouseButtons = { LEFT: MOUSE.ROTATE, MIDDLE: MOUSE.DOLLY, RIGHT: MOUSE.PAN }; + this.target = new Vector3(); + const EPS = 1e-6; + const lastPosition = new Vector3(); + let lastZoom = 1; + let _state = STATE.NONE, _keyState = STATE.NONE, _touchZoomDistanceStart = 0, _touchZoomDistanceEnd = 0, _lastAngle = 0; + const _eye = new Vector3(), _movePrev = new Vector2(), _moveCurr = new Vector2(), _lastAxis = new Vector3(), _zoomStart = new Vector2(), _zoomEnd = new Vector2(), _panStart = new Vector2(), _panEnd = new Vector2(), _pointers = [], _pointerPositions = {}; + this.target0 = this.target.clone(); + this.position0 = this.object.position.clone(); + this.up0 = this.object.up.clone(); + this.zoom0 = this.object.zoom; + this.handleResize = function() { + const box = scope.domElement.getBoundingClientRect(); + const d = scope.domElement.ownerDocument.documentElement; + scope.screen.left = box.left + window.pageXOffset - d.clientLeft; + scope.screen.top = box.top + window.pageYOffset - d.clientTop; + scope.screen.width = box.width; + scope.screen.height = box.height; + }; + const getMouseOnScreen = function() { + const vector = new Vector2(); + return function getMouseOnScreen2(pageX, pageY) { + vector.set((pageX - scope.screen.left) / scope.screen.width, (pageY - scope.screen.top) / scope.screen.height); + return vector; + }; + }(); + const getMouseOnCircle = function() { + const vector = new Vector2(); + return function getMouseOnCircle2(pageX, pageY) { + vector.set((pageX - scope.screen.width * 0.5 - scope.screen.left) / (scope.screen.width * 0.5), (scope.screen.height + 2 * (scope.screen.top - pageY)) / scope.screen.width); + return vector; + }; + }(); + this.rotateCamera = function() { + const axis = new Vector3(), quaternion = new Quaternion(), eyeDirection = new Vector3(), objectUpDirection = new Vector3(), objectSidewaysDirection = new Vector3(), moveDirection = new Vector3(); + return function rotateCamera() { + moveDirection.set(_moveCurr.x - _movePrev.x, _moveCurr.y - _movePrev.y, 0); + let angle = moveDirection.length(); + if (angle) { + _eye.copy(scope.object.position).sub(scope.target); + eyeDirection.copy(_eye).normalize(); + objectUpDirection.copy(scope.object.up).normalize(); + objectSidewaysDirection.crossVectors(objectUpDirection, eyeDirection).normalize(); + objectUpDirection.setLength(_moveCurr.y - _movePrev.y); + objectSidewaysDirection.setLength(_moveCurr.x - _movePrev.x); + moveDirection.copy(objectUpDirection.add(objectSidewaysDirection)); + axis.crossVectors(moveDirection, _eye).normalize(); + angle *= scope.rotateSpeed; + quaternion.setFromAxisAngle(axis, angle); + _eye.applyQuaternion(quaternion); + scope.object.up.applyQuaternion(quaternion); + _lastAxis.copy(axis); + _lastAngle = angle; + } else if (!scope.staticMoving && _lastAngle) { + _lastAngle *= Math.sqrt(1 - scope.dynamicDampingFactor); + _eye.copy(scope.object.position).sub(scope.target); + quaternion.setFromAxisAngle(_lastAxis, _lastAngle); + _eye.applyQuaternion(quaternion); + scope.object.up.applyQuaternion(quaternion); + } + _movePrev.copy(_moveCurr); + }; + }(); + this.zoomCamera = function() { + let factor; + if (_state === STATE.TOUCH_ZOOM_PAN) { + factor = _touchZoomDistanceStart / _touchZoomDistanceEnd; + _touchZoomDistanceStart = _touchZoomDistanceEnd; + if (scope.object.isPerspectiveCamera) { + _eye.multiplyScalar(factor); + } else if (scope.object.isOrthographicCamera) { + scope.object.zoom /= factor; + scope.object.updateProjectionMatrix(); + } else { + console.warn("THREE.TrackballControls: Unsupported camera type"); + } + } else { + factor = 1 + (_zoomEnd.y - _zoomStart.y) * scope.zoomSpeed; + if (factor !== 1 && factor > 0) { + if (scope.object.isPerspectiveCamera) { + _eye.multiplyScalar(factor); + } else if (scope.object.isOrthographicCamera) { + scope.object.zoom /= factor; + scope.object.updateProjectionMatrix(); + } else { + console.warn("THREE.TrackballControls: Unsupported camera type"); + } + } + if (scope.staticMoving) { + _zoomStart.copy(_zoomEnd); + } else { + _zoomStart.y += (_zoomEnd.y - _zoomStart.y) * this.dynamicDampingFactor; + } + } + }; + this.panCamera = function() { + const mouseChange = new Vector2(), objectUp = new Vector3(), pan = new Vector3(); + return function panCamera() { + mouseChange.copy(_panEnd).sub(_panStart); + if (mouseChange.lengthSq()) { + if (scope.object.isOrthographicCamera) { + const scale_x = (scope.object.right - scope.object.left) / scope.object.zoom / scope.domElement.clientWidth; + const scale_y = (scope.object.top - scope.object.bottom) / scope.object.zoom / scope.domElement.clientWidth; + mouseChange.x *= scale_x; + mouseChange.y *= scale_y; + } + mouseChange.multiplyScalar(_eye.length() * scope.panSpeed); + pan.copy(_eye).cross(scope.object.up).setLength(mouseChange.x); + pan.add(objectUp.copy(scope.object.up).setLength(mouseChange.y)); + scope.object.position.add(pan); + scope.target.add(pan); + if (scope.staticMoving) { + _panStart.copy(_panEnd); + } else { + _panStart.add(mouseChange.subVectors(_panEnd, _panStart).multiplyScalar(scope.dynamicDampingFactor)); + } + } + }; + }(); + this.checkDistances = function() { + if (!scope.noZoom || !scope.noPan) { + if (_eye.lengthSq() > scope.maxDistance * scope.maxDistance) { + scope.object.position.addVectors(scope.target, _eye.setLength(scope.maxDistance)); + _zoomStart.copy(_zoomEnd); + } + if (_eye.lengthSq() < scope.minDistance * scope.minDistance) { + scope.object.position.addVectors(scope.target, _eye.setLength(scope.minDistance)); + _zoomStart.copy(_zoomEnd); + } + } + }; + this.update = function() { + _eye.subVectors(scope.object.position, scope.target); + if (!scope.noRotate) { + scope.rotateCamera(); + } + if (!scope.noZoom) { + scope.zoomCamera(); + } + if (!scope.noPan) { + scope.panCamera(); + } + scope.object.position.addVectors(scope.target, _eye); + if (scope.object.isPerspectiveCamera) { + scope.checkDistances(); + scope.object.lookAt(scope.target); + if (lastPosition.distanceToSquared(scope.object.position) > EPS) { + scope.dispatchEvent(_changeEvent); + lastPosition.copy(scope.object.position); + } + } else if (scope.object.isOrthographicCamera) { + scope.object.lookAt(scope.target); + if (lastPosition.distanceToSquared(scope.object.position) > EPS || lastZoom !== scope.object.zoom) { + scope.dispatchEvent(_changeEvent); + lastPosition.copy(scope.object.position); + lastZoom = scope.object.zoom; + } + } else { + console.warn("THREE.TrackballControls: Unsupported camera type"); + } + }; + this.reset = function() { + _state = STATE.NONE; + _keyState = STATE.NONE; + scope.target.copy(scope.target0); + scope.object.position.copy(scope.position0); + scope.object.up.copy(scope.up0); + scope.object.zoom = scope.zoom0; + scope.object.updateProjectionMatrix(); + _eye.subVectors(scope.object.position, scope.target); + scope.object.lookAt(scope.target); + scope.dispatchEvent(_changeEvent); + lastPosition.copy(scope.object.position); + lastZoom = scope.object.zoom; + }; + function onPointerDown(event) { + if (scope.enabled === false) + return; + if (_pointers.length === 0) { + scope.domElement.setPointerCapture(event.pointerId); + scope.domElement.addEventListener("pointermove", onPointerMove); + scope.domElement.addEventListener("pointerup", onPointerUp); + } + addPointer(event); + if (event.pointerType === "touch") { + onTouchStart(event); + } else { + onMouseDown(event); + } + } + function onPointerMove(event) { + if (scope.enabled === false) + return; + if (event.pointerType === "touch") { + onTouchMove(event); + } else { + onMouseMove(event); + } + } + function onPointerUp(event) { + if (scope.enabled === false) + return; + if (event.pointerType === "touch") { + onTouchEnd(event); + } else { + onMouseUp(); + } + removePointer(event); + if (_pointers.length === 0) { + scope.domElement.releasePointerCapture(event.pointerId); + scope.domElement.removeEventListener("pointermove", onPointerMove); + scope.domElement.removeEventListener("pointerup", onPointerUp); + } + } + function onPointerCancel(event) { + removePointer(event); + } + function keydown(event) { + if (scope.enabled === false) + return; + window.removeEventListener("keydown", keydown); + if (_keyState !== STATE.NONE) { + return; + } else if (event.code === scope.keys[STATE.ROTATE] && !scope.noRotate) { + _keyState = STATE.ROTATE; + } else if (event.code === scope.keys[STATE.ZOOM] && !scope.noZoom) { + _keyState = STATE.ZOOM; + } else if (event.code === scope.keys[STATE.PAN] && !scope.noPan) { + _keyState = STATE.PAN; + } + } + function keyup() { + if (scope.enabled === false) + return; + _keyState = STATE.NONE; + window.addEventListener("keydown", keydown); + } + function onMouseDown(event) { + if (_state === STATE.NONE) { + switch (event.button) { + case scope.mouseButtons.LEFT: + _state = STATE.ROTATE; + break; + case scope.mouseButtons.MIDDLE: + _state = STATE.ZOOM; + break; + case scope.mouseButtons.RIGHT: + _state = STATE.PAN; + break; + } + } + const state = _keyState !== STATE.NONE ? _keyState : _state; + if (state === STATE.ROTATE && !scope.noRotate) { + _moveCurr.copy(getMouseOnCircle(event.pageX, event.pageY)); + _movePrev.copy(_moveCurr); + } else if (state === STATE.ZOOM && !scope.noZoom) { + _zoomStart.copy(getMouseOnScreen(event.pageX, event.pageY)); + _zoomEnd.copy(_zoomStart); + } else if (state === STATE.PAN && !scope.noPan) { + _panStart.copy(getMouseOnScreen(event.pageX, event.pageY)); + _panEnd.copy(_panStart); + } + scope.dispatchEvent(_startEvent); + } + function onMouseMove(event) { + const state = _keyState !== STATE.NONE ? _keyState : _state; + if (state === STATE.ROTATE && !scope.noRotate) { + _movePrev.copy(_moveCurr); + _moveCurr.copy(getMouseOnCircle(event.pageX, event.pageY)); + } else if (state === STATE.ZOOM && !scope.noZoom) { + _zoomEnd.copy(getMouseOnScreen(event.pageX, event.pageY)); + } else if (state === STATE.PAN && !scope.noPan) { + _panEnd.copy(getMouseOnScreen(event.pageX, event.pageY)); + } + } + function onMouseUp() { + _state = STATE.NONE; + scope.dispatchEvent(_endEvent); + } + function onMouseWheel(event) { + if (scope.enabled === false) + return; + if (scope.noZoom === true) + return; + event.preventDefault(); + switch (event.deltaMode) { + case 2: + _zoomStart.y -= event.deltaY * 0.025; + break; + case 1: + _zoomStart.y -= event.deltaY * 0.01; + break; + default: + _zoomStart.y -= event.deltaY * 25e-5; + break; + } + scope.dispatchEvent(_startEvent); + scope.dispatchEvent(_endEvent); + } + function onTouchStart(event) { + trackPointer(event); + switch (_pointers.length) { + case 1: + _state = STATE.TOUCH_ROTATE; + _moveCurr.copy(getMouseOnCircle(_pointers[0].pageX, _pointers[0].pageY)); + _movePrev.copy(_moveCurr); + break; + default: + _state = STATE.TOUCH_ZOOM_PAN; + const dx = _pointers[0].pageX - _pointers[1].pageX; + const dy = _pointers[0].pageY - _pointers[1].pageY; + _touchZoomDistanceEnd = _touchZoomDistanceStart = Math.sqrt(dx * dx + dy * dy); + const x2 = (_pointers[0].pageX + _pointers[1].pageX) / 2; + const y2 = (_pointers[0].pageY + _pointers[1].pageY) / 2; + _panStart.copy(getMouseOnScreen(x2, y2)); + _panEnd.copy(_panStart); + break; + } + scope.dispatchEvent(_startEvent); + } + function onTouchMove(event) { + trackPointer(event); + switch (_pointers.length) { + case 1: + _movePrev.copy(_moveCurr); + _moveCurr.copy(getMouseOnCircle(event.pageX, event.pageY)); + break; + default: + const position = getSecondPointerPosition(event); + const dx = event.pageX - position.x; + const dy = event.pageY - position.y; + _touchZoomDistanceEnd = Math.sqrt(dx * dx + dy * dy); + const x2 = (event.pageX + position.x) / 2; + const y2 = (event.pageY + position.y) / 2; + _panEnd.copy(getMouseOnScreen(x2, y2)); + break; + } + } + function onTouchEnd(event) { + switch (_pointers.length) { + case 0: + _state = STATE.NONE; + break; + case 1: + _state = STATE.TOUCH_ROTATE; + _moveCurr.copy(getMouseOnCircle(event.pageX, event.pageY)); + _movePrev.copy(_moveCurr); + break; + case 2: + _state = STATE.TOUCH_ZOOM_PAN; + for (let i = 0; i < _pointers.length; i++) { + if (_pointers[i].pointerId !== event.pointerId) { + const position = _pointerPositions[_pointers[i].pointerId]; + _moveCurr.copy(getMouseOnCircle(position.x, position.y)); + _movePrev.copy(_moveCurr); + break; + } + } + break; + } + scope.dispatchEvent(_endEvent); + } + function contextmenu2(event) { + if (scope.enabled === false) + return; + event.preventDefault(); + } + function addPointer(event) { + _pointers.push(event); + } + function removePointer(event) { + delete _pointerPositions[event.pointerId]; + for (let i = 0; i < _pointers.length; i++) { + if (_pointers[i].pointerId == event.pointerId) { + _pointers.splice(i, 1); + return; + } + } + } + function trackPointer(event) { + let position = _pointerPositions[event.pointerId]; + if (position === void 0) { + position = new Vector2(); + _pointerPositions[event.pointerId] = position; + } + position.set(event.pageX, event.pageY); + } + function getSecondPointerPosition(event) { + const pointer = event.pointerId === _pointers[0].pointerId ? _pointers[1] : _pointers[0]; + return _pointerPositions[pointer.pointerId]; + } + this.dispose = function() { + scope.domElement.removeEventListener("contextmenu", contextmenu2); + scope.domElement.removeEventListener("pointerdown", onPointerDown); + scope.domElement.removeEventListener("pointercancel", onPointerCancel); + scope.domElement.removeEventListener("wheel", onMouseWheel); + scope.domElement.removeEventListener("pointermove", onPointerMove); + scope.domElement.removeEventListener("pointerup", onPointerUp); + window.removeEventListener("keydown", keydown); + window.removeEventListener("keyup", keyup); + }; + this.domElement.addEventListener("contextmenu", contextmenu2); + this.domElement.addEventListener("pointerdown", onPointerDown); + this.domElement.addEventListener("pointercancel", onPointerCancel); + this.domElement.addEventListener("wheel", onMouseWheel, { passive: false }); + window.addEventListener("keydown", keydown); + window.addEventListener("keyup", keyup); + this.handleResize(); + this.update(); + } +}; + +// node_modules/three/examples/jsm/controls/OrbitControls.js +var _changeEvent2 = { type: "change" }; +var _startEvent2 = { type: "start" }; +var _endEvent2 = { type: "end" }; +var OrbitControls = class extends EventDispatcher { + constructor(object, domElement) { + super(); + this.object = object; + this.domElement = domElement; + this.domElement.style.touchAction = "none"; + this.enabled = true; + this.target = new Vector3(); + this.minDistance = 0; + this.maxDistance = Infinity; + this.minZoom = 0; + this.maxZoom = Infinity; + this.minPolarAngle = 0; + this.maxPolarAngle = Math.PI; + this.minAzimuthAngle = -Infinity; + this.maxAzimuthAngle = Infinity; + this.enableDamping = false; + this.dampingFactor = 0.05; + this.enableZoom = true; + this.zoomSpeed = 1; + this.enableRotate = true; + this.rotateSpeed = 1; + this.enablePan = true; + this.panSpeed = 1; + this.screenSpacePanning = true; + this.keyPanSpeed = 7; + this.autoRotate = false; + this.autoRotateSpeed = 2; + this.keys = { LEFT: "ArrowLeft", UP: "ArrowUp", RIGHT: "ArrowRight", BOTTOM: "ArrowDown" }; + this.mouseButtons = { LEFT: MOUSE.ROTATE, MIDDLE: MOUSE.DOLLY, RIGHT: MOUSE.PAN }; + this.touches = { ONE: TOUCH.ROTATE, TWO: TOUCH.DOLLY_PAN }; + this.target0 = this.target.clone(); + this.position0 = this.object.position.clone(); + this.zoom0 = this.object.zoom; + this._domElementKeyEvents = null; + this.getPolarAngle = function() { + return spherical.phi; + }; + this.getAzimuthalAngle = function() { + return spherical.theta; + }; + this.getDistance = function() { + return this.object.position.distanceTo(this.target); + }; + this.listenToKeyEvents = function(domElement2) { + domElement2.addEventListener("keydown", onKeyDown); + this._domElementKeyEvents = domElement2; + }; + this.saveState = function() { + scope.target0.copy(scope.target); + scope.position0.copy(scope.object.position); + scope.zoom0 = scope.object.zoom; + }; + this.reset = function() { + scope.target.copy(scope.target0); + scope.object.position.copy(scope.position0); + scope.object.zoom = scope.zoom0; + scope.object.updateProjectionMatrix(); + scope.dispatchEvent(_changeEvent2); + scope.update(); + state = STATE.NONE; + }; + this.update = function() { + const offset = new Vector3(); + const quat = new Quaternion().setFromUnitVectors(object.up, new Vector3(0, 1, 0)); + const quatInverse = quat.clone().invert(); + const lastPosition = new Vector3(); + const lastQuaternion = new Quaternion(); + const twoPI = 2 * Math.PI; + return function update4() { + const position = scope.object.position; + offset.copy(position).sub(scope.target); + offset.applyQuaternion(quat); + spherical.setFromVector3(offset); + if (scope.autoRotate && state === STATE.NONE) { + rotateLeft(getAutoRotationAngle()); + } + if (scope.enableDamping) { + spherical.theta += sphericalDelta.theta * scope.dampingFactor; + spherical.phi += sphericalDelta.phi * scope.dampingFactor; + } else { + spherical.theta += sphericalDelta.theta; + spherical.phi += sphericalDelta.phi; + } + let min2 = scope.minAzimuthAngle; + let max2 = scope.maxAzimuthAngle; + if (isFinite(min2) && isFinite(max2)) { + if (min2 < -Math.PI) + min2 += twoPI; + else if (min2 > Math.PI) + min2 -= twoPI; + if (max2 < -Math.PI) + max2 += twoPI; + else if (max2 > Math.PI) + max2 -= twoPI; + if (min2 <= max2) { + spherical.theta = Math.max(min2, Math.min(max2, spherical.theta)); + } else { + spherical.theta = spherical.theta > (min2 + max2) / 2 ? Math.max(min2, spherical.theta) : Math.min(max2, spherical.theta); + } + } + spherical.phi = Math.max(scope.minPolarAngle, Math.min(scope.maxPolarAngle, spherical.phi)); + spherical.makeSafe(); + spherical.radius *= scale; + spherical.radius = Math.max(scope.minDistance, Math.min(scope.maxDistance, spherical.radius)); + if (scope.enableDamping === true) { + scope.target.addScaledVector(panOffset, scope.dampingFactor); + } else { + scope.target.add(panOffset); + } + offset.setFromSpherical(spherical); + offset.applyQuaternion(quatInverse); + position.copy(scope.target).add(offset); + scope.object.lookAt(scope.target); + if (scope.enableDamping === true) { + sphericalDelta.theta *= 1 - scope.dampingFactor; + sphericalDelta.phi *= 1 - scope.dampingFactor; + panOffset.multiplyScalar(1 - scope.dampingFactor); + } else { + sphericalDelta.set(0, 0, 0); + panOffset.set(0, 0, 0); + } + scale = 1; + if (zoomChanged || lastPosition.distanceToSquared(scope.object.position) > EPS || 8 * (1 - lastQuaternion.dot(scope.object.quaternion)) > EPS) { + scope.dispatchEvent(_changeEvent2); + lastPosition.copy(scope.object.position); + lastQuaternion.copy(scope.object.quaternion); + zoomChanged = false; + return true; + } + return false; + }; + }(); + this.dispose = function() { + scope.domElement.removeEventListener("contextmenu", onContextMenu); + scope.domElement.removeEventListener("pointerdown", onPointerDown); + scope.domElement.removeEventListener("pointercancel", onPointerCancel); + scope.domElement.removeEventListener("wheel", onMouseWheel); + scope.domElement.removeEventListener("pointermove", onPointerMove); + scope.domElement.removeEventListener("pointerup", onPointerUp); + if (scope._domElementKeyEvents !== null) { + scope._domElementKeyEvents.removeEventListener("keydown", onKeyDown); + } + }; + const scope = this; + const STATE = { + NONE: -1, + ROTATE: 0, + DOLLY: 1, + PAN: 2, + TOUCH_ROTATE: 3, + TOUCH_PAN: 4, + TOUCH_DOLLY_PAN: 5, + TOUCH_DOLLY_ROTATE: 6 + }; + let state = STATE.NONE; + const EPS = 1e-6; + const spherical = new Spherical(); + const sphericalDelta = new Spherical(); + let scale = 1; + const panOffset = new Vector3(); + let zoomChanged = false; + const rotateStart = new Vector2(); + const rotateEnd = new Vector2(); + const rotateDelta = new Vector2(); + const panStart = new Vector2(); + const panEnd = new Vector2(); + const panDelta = new Vector2(); + const dollyStart = new Vector2(); + const dollyEnd = new Vector2(); + const dollyDelta = new Vector2(); + const pointers = []; + const pointerPositions = {}; + function getAutoRotationAngle() { + return 2 * Math.PI / 60 / 60 * scope.autoRotateSpeed; + } + function getZoomScale() { + return Math.pow(0.95, scope.zoomSpeed); + } + function rotateLeft(angle) { + sphericalDelta.theta -= angle; + } + function rotateUp(angle) { + sphericalDelta.phi -= angle; + } + const panLeft = function() { + const v = new Vector3(); + return function panLeft2(distance, objectMatrix) { + v.setFromMatrixColumn(objectMatrix, 0); + v.multiplyScalar(-distance); + panOffset.add(v); + }; + }(); + const panUp = function() { + const v = new Vector3(); + return function panUp2(distance, objectMatrix) { + if (scope.screenSpacePanning === true) { + v.setFromMatrixColumn(objectMatrix, 1); + } else { + v.setFromMatrixColumn(objectMatrix, 0); + v.crossVectors(scope.object.up, v); + } + v.multiplyScalar(distance); + panOffset.add(v); + }; + }(); + const pan = function() { + const offset = new Vector3(); + return function pan2(deltaX, deltaY) { + const element = scope.domElement; + if (scope.object.isPerspectiveCamera) { + const position = scope.object.position; + offset.copy(position).sub(scope.target); + let targetDistance = offset.length(); + targetDistance *= Math.tan(scope.object.fov / 2 * Math.PI / 180); + panLeft(2 * deltaX * targetDistance / element.clientHeight, scope.object.matrix); + panUp(2 * deltaY * targetDistance / element.clientHeight, scope.object.matrix); + } else if (scope.object.isOrthographicCamera) { + panLeft(deltaX * (scope.object.right - scope.object.left) / scope.object.zoom / element.clientWidth, scope.object.matrix); + panUp(deltaY * (scope.object.top - scope.object.bottom) / scope.object.zoom / element.clientHeight, scope.object.matrix); + } else { + console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."); + scope.enablePan = false; + } + }; + }(); + function dollyOut(dollyScale) { + if (scope.object.isPerspectiveCamera) { + scale /= dollyScale; + } else if (scope.object.isOrthographicCamera) { + scope.object.zoom = Math.max(scope.minZoom, Math.min(scope.maxZoom, scope.object.zoom * dollyScale)); + scope.object.updateProjectionMatrix(); + zoomChanged = true; + } else { + console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."); + scope.enableZoom = false; + } + } + function dollyIn(dollyScale) { + if (scope.object.isPerspectiveCamera) { + scale *= dollyScale; + } else if (scope.object.isOrthographicCamera) { + scope.object.zoom = Math.max(scope.minZoom, Math.min(scope.maxZoom, scope.object.zoom / dollyScale)); + scope.object.updateProjectionMatrix(); + zoomChanged = true; + } else { + console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."); + scope.enableZoom = false; + } + } + function handleMouseDownRotate(event) { + rotateStart.set(event.clientX, event.clientY); + } + function handleMouseDownDolly(event) { + dollyStart.set(event.clientX, event.clientY); + } + function handleMouseDownPan(event) { + panStart.set(event.clientX, event.clientY); + } + function handleMouseMoveRotate(event) { + rotateEnd.set(event.clientX, event.clientY); + rotateDelta.subVectors(rotateEnd, rotateStart).multiplyScalar(scope.rotateSpeed); + const element = scope.domElement; + rotateLeft(2 * Math.PI * rotateDelta.x / element.clientHeight); + rotateUp(2 * Math.PI * rotateDelta.y / element.clientHeight); + rotateStart.copy(rotateEnd); + scope.update(); + } + function handleMouseMoveDolly(event) { + dollyEnd.set(event.clientX, event.clientY); + dollyDelta.subVectors(dollyEnd, dollyStart); + if (dollyDelta.y > 0) { + dollyOut(getZoomScale()); + } else if (dollyDelta.y < 0) { + dollyIn(getZoomScale()); + } + dollyStart.copy(dollyEnd); + scope.update(); + } + function handleMouseMovePan(event) { + panEnd.set(event.clientX, event.clientY); + panDelta.subVectors(panEnd, panStart).multiplyScalar(scope.panSpeed); + pan(panDelta.x, panDelta.y); + panStart.copy(panEnd); + scope.update(); + } + function handleMouseWheel(event) { + if (event.deltaY < 0) { + dollyIn(getZoomScale()); + } else if (event.deltaY > 0) { + dollyOut(getZoomScale()); + } + scope.update(); + } + function handleKeyDown(event) { + let needsUpdate = false; + switch (event.code) { + case scope.keys.UP: + pan(0, scope.keyPanSpeed); + needsUpdate = true; + break; + case scope.keys.BOTTOM: + pan(0, -scope.keyPanSpeed); + needsUpdate = true; + break; + case scope.keys.LEFT: + pan(scope.keyPanSpeed, 0); + needsUpdate = true; + break; + case scope.keys.RIGHT: + pan(-scope.keyPanSpeed, 0); + needsUpdate = true; + break; + } + if (needsUpdate) { + event.preventDefault(); + scope.update(); + } + } + function handleTouchStartRotate() { + if (pointers.length === 1) { + rotateStart.set(pointers[0].pageX, pointers[0].pageY); + } else { + const x2 = 0.5 * (pointers[0].pageX + pointers[1].pageX); + const y2 = 0.5 * (pointers[0].pageY + pointers[1].pageY); + rotateStart.set(x2, y2); + } + } + function handleTouchStartPan() { + if (pointers.length === 1) { + panStart.set(pointers[0].pageX, pointers[0].pageY); + } else { + const x2 = 0.5 * (pointers[0].pageX + pointers[1].pageX); + const y2 = 0.5 * (pointers[0].pageY + pointers[1].pageY); + panStart.set(x2, y2); + } + } + function handleTouchStartDolly() { + const dx = pointers[0].pageX - pointers[1].pageX; + const dy = pointers[0].pageY - pointers[1].pageY; + const distance = Math.sqrt(dx * dx + dy * dy); + dollyStart.set(0, distance); + } + function handleTouchStartDollyPan() { + if (scope.enableZoom) + handleTouchStartDolly(); + if (scope.enablePan) + handleTouchStartPan(); + } + function handleTouchStartDollyRotate() { + if (scope.enableZoom) + handleTouchStartDolly(); + if (scope.enableRotate) + handleTouchStartRotate(); + } + function handleTouchMoveRotate(event) { + if (pointers.length == 1) { + rotateEnd.set(event.pageX, event.pageY); + } else { + const position = getSecondPointerPosition(event); + const x2 = 0.5 * (event.pageX + position.x); + const y2 = 0.5 * (event.pageY + position.y); + rotateEnd.set(x2, y2); + } + rotateDelta.subVectors(rotateEnd, rotateStart).multiplyScalar(scope.rotateSpeed); + const element = scope.domElement; + rotateLeft(2 * Math.PI * rotateDelta.x / element.clientHeight); + rotateUp(2 * Math.PI * rotateDelta.y / element.clientHeight); + rotateStart.copy(rotateEnd); + } + function handleTouchMovePan(event) { + if (pointers.length === 1) { + panEnd.set(event.pageX, event.pageY); + } else { + const position = getSecondPointerPosition(event); + const x2 = 0.5 * (event.pageX + position.x); + const y2 = 0.5 * (event.pageY + position.y); + panEnd.set(x2, y2); + } + panDelta.subVectors(panEnd, panStart).multiplyScalar(scope.panSpeed); + pan(panDelta.x, panDelta.y); + panStart.copy(panEnd); + } + function handleTouchMoveDolly(event) { + const position = getSecondPointerPosition(event); + const dx = event.pageX - position.x; + const dy = event.pageY - position.y; + const distance = Math.sqrt(dx * dx + dy * dy); + dollyEnd.set(0, distance); + dollyDelta.set(0, Math.pow(dollyEnd.y / dollyStart.y, scope.zoomSpeed)); + dollyOut(dollyDelta.y); + dollyStart.copy(dollyEnd); + } + function handleTouchMoveDollyPan(event) { + if (scope.enableZoom) + handleTouchMoveDolly(event); + if (scope.enablePan) + handleTouchMovePan(event); + } + function handleTouchMoveDollyRotate(event) { + if (scope.enableZoom) + handleTouchMoveDolly(event); + if (scope.enableRotate) + handleTouchMoveRotate(event); + } + function onPointerDown(event) { + if (scope.enabled === false) + return; + if (pointers.length === 0) { + scope.domElement.setPointerCapture(event.pointerId); + scope.domElement.addEventListener("pointermove", onPointerMove); + scope.domElement.addEventListener("pointerup", onPointerUp); + } + addPointer(event); + if (event.pointerType === "touch") { + onTouchStart(event); + } else { + onMouseDown(event); + } + } + function onPointerMove(event) { + if (scope.enabled === false) + return; + if (event.pointerType === "touch") { + onTouchMove(event); + } else { + onMouseMove(event); + } + } + function onPointerUp(event) { + removePointer(event); + if (pointers.length === 0) { + scope.domElement.releasePointerCapture(event.pointerId); + scope.domElement.removeEventListener("pointermove", onPointerMove); + scope.domElement.removeEventListener("pointerup", onPointerUp); + } + scope.dispatchEvent(_endEvent2); + state = STATE.NONE; + } + function onPointerCancel(event) { + removePointer(event); + } + function onMouseDown(event) { + let mouseAction; + switch (event.button) { + case 0: + mouseAction = scope.mouseButtons.LEFT; + break; + case 1: + mouseAction = scope.mouseButtons.MIDDLE; + break; + case 2: + mouseAction = scope.mouseButtons.RIGHT; + break; + default: + mouseAction = -1; + } + switch (mouseAction) { + case MOUSE.DOLLY: + if (scope.enableZoom === false) + return; + handleMouseDownDolly(event); + state = STATE.DOLLY; + break; + case MOUSE.ROTATE: + if (event.ctrlKey || event.metaKey || event.shiftKey) { + if (scope.enablePan === false) + return; + handleMouseDownPan(event); + state = STATE.PAN; + } else { + if (scope.enableRotate === false) + return; + handleMouseDownRotate(event); + state = STATE.ROTATE; + } + break; + case MOUSE.PAN: + if (event.ctrlKey || event.metaKey || event.shiftKey) { + if (scope.enableRotate === false) + return; + handleMouseDownRotate(event); + state = STATE.ROTATE; + } else { + if (scope.enablePan === false) + return; + handleMouseDownPan(event); + state = STATE.PAN; + } + break; + default: + state = STATE.NONE; + } + if (state !== STATE.NONE) { + scope.dispatchEvent(_startEvent2); + } + } + function onMouseMove(event) { + switch (state) { + case STATE.ROTATE: + if (scope.enableRotate === false) + return; + handleMouseMoveRotate(event); + break; + case STATE.DOLLY: + if (scope.enableZoom === false) + return; + handleMouseMoveDolly(event); + break; + case STATE.PAN: + if (scope.enablePan === false) + return; + handleMouseMovePan(event); + break; + } + } + function onMouseWheel(event) { + if (scope.enabled === false || scope.enableZoom === false || state !== STATE.NONE) + return; + event.preventDefault(); + scope.dispatchEvent(_startEvent2); + handleMouseWheel(event); + scope.dispatchEvent(_endEvent2); + } + function onKeyDown(event) { + if (scope.enabled === false || scope.enablePan === false) + return; + handleKeyDown(event); + } + function onTouchStart(event) { + trackPointer(event); + switch (pointers.length) { + case 1: + switch (scope.touches.ONE) { + case TOUCH.ROTATE: + if (scope.enableRotate === false) + return; + handleTouchStartRotate(); + state = STATE.TOUCH_ROTATE; + break; + case TOUCH.PAN: + if (scope.enablePan === false) + return; + handleTouchStartPan(); + state = STATE.TOUCH_PAN; + break; + default: + state = STATE.NONE; + } + break; + case 2: + switch (scope.touches.TWO) { + case TOUCH.DOLLY_PAN: + if (scope.enableZoom === false && scope.enablePan === false) + return; + handleTouchStartDollyPan(); + state = STATE.TOUCH_DOLLY_PAN; + break; + case TOUCH.DOLLY_ROTATE: + if (scope.enableZoom === false && scope.enableRotate === false) + return; + handleTouchStartDollyRotate(); + state = STATE.TOUCH_DOLLY_ROTATE; + break; + default: + state = STATE.NONE; + } + break; + default: + state = STATE.NONE; + } + if (state !== STATE.NONE) { + scope.dispatchEvent(_startEvent2); + } + } + function onTouchMove(event) { + trackPointer(event); + switch (state) { + case STATE.TOUCH_ROTATE: + if (scope.enableRotate === false) + return; + handleTouchMoveRotate(event); + scope.update(); + break; + case STATE.TOUCH_PAN: + if (scope.enablePan === false) + return; + handleTouchMovePan(event); + scope.update(); + break; + case STATE.TOUCH_DOLLY_PAN: + if (scope.enableZoom === false && scope.enablePan === false) + return; + handleTouchMoveDollyPan(event); + scope.update(); + break; + case STATE.TOUCH_DOLLY_ROTATE: + if (scope.enableZoom === false && scope.enableRotate === false) + return; + handleTouchMoveDollyRotate(event); + scope.update(); + break; + default: + state = STATE.NONE; + } + } + function onContextMenu(event) { + if (scope.enabled === false) + return; + event.preventDefault(); + } + function addPointer(event) { + pointers.push(event); + } + function removePointer(event) { + delete pointerPositions[event.pointerId]; + for (let i = 0; i < pointers.length; i++) { + if (pointers[i].pointerId == event.pointerId) { + pointers.splice(i, 1); + return; + } + } + } + function trackPointer(event) { + let position = pointerPositions[event.pointerId]; + if (position === void 0) { + position = new Vector2(); + pointerPositions[event.pointerId] = position; + } + position.set(event.pageX, event.pageY); + } + function getSecondPointerPosition(event) { + const pointer = event.pointerId === pointers[0].pointerId ? pointers[1] : pointers[0]; + return pointerPositions[pointer.pointerId]; + } + scope.domElement.addEventListener("contextmenu", onContextMenu); + scope.domElement.addEventListener("pointerdown", onPointerDown); + scope.domElement.addEventListener("pointercancel", onPointerCancel); + scope.domElement.addEventListener("wheel", onMouseWheel, { passive: false }); + this.update(); + } +}; + +// node_modules/three/examples/jsm/controls/FlyControls.js +var _changeEvent3 = { type: "change" }; +var FlyControls = class extends EventDispatcher { + constructor(object, domElement) { + super(); + this.object = object; + this.domElement = domElement; + this.movementSpeed = 1; + this.rollSpeed = 5e-3; + this.dragToLook = false; + this.autoForward = false; + const scope = this; + const EPS = 1e-6; + const lastQuaternion = new Quaternion(); + const lastPosition = new Vector3(); + this.tmpQuaternion = new Quaternion(); + this.status = 0; + this.moveState = { up: 0, down: 0, left: 0, right: 0, forward: 0, back: 0, pitchUp: 0, pitchDown: 0, yawLeft: 0, yawRight: 0, rollLeft: 0, rollRight: 0 }; + this.moveVector = new Vector3(0, 0, 0); + this.rotationVector = new Vector3(0, 0, 0); + this.keydown = function(event) { + if (event.altKey) { + return; + } + switch (event.code) { + case "ShiftLeft": + case "ShiftRight": + this.movementSpeedMultiplier = 0.1; + break; + case "KeyW": + this.moveState.forward = 1; + break; + case "KeyS": + this.moveState.back = 1; + break; + case "KeyA": + this.moveState.left = 1; + break; + case "KeyD": + this.moveState.right = 1; + break; + case "KeyR": + this.moveState.up = 1; + break; + case "KeyF": + this.moveState.down = 1; + break; + case "ArrowUp": + this.moveState.pitchUp = 1; + break; + case "ArrowDown": + this.moveState.pitchDown = 1; + break; + case "ArrowLeft": + this.moveState.yawLeft = 1; + break; + case "ArrowRight": + this.moveState.yawRight = 1; + break; + case "KeyQ": + this.moveState.rollLeft = 1; + break; + case "KeyE": + this.moveState.rollRight = 1; + break; + } + this.updateMovementVector(); + this.updateRotationVector(); + }; + this.keyup = function(event) { + switch (event.code) { + case "ShiftLeft": + case "ShiftRight": + this.movementSpeedMultiplier = 1; + break; + case "KeyW": + this.moveState.forward = 0; + break; + case "KeyS": + this.moveState.back = 0; + break; + case "KeyA": + this.moveState.left = 0; + break; + case "KeyD": + this.moveState.right = 0; + break; + case "KeyR": + this.moveState.up = 0; + break; + case "KeyF": + this.moveState.down = 0; + break; + case "ArrowUp": + this.moveState.pitchUp = 0; + break; + case "ArrowDown": + this.moveState.pitchDown = 0; + break; + case "ArrowLeft": + this.moveState.yawLeft = 0; + break; + case "ArrowRight": + this.moveState.yawRight = 0; + break; + case "KeyQ": + this.moveState.rollLeft = 0; + break; + case "KeyE": + this.moveState.rollRight = 0; + break; + } + this.updateMovementVector(); + this.updateRotationVector(); + }; + this.pointerdown = function(event) { + if (this.dragToLook) { + this.status++; + } else { + switch (event.button) { + case 0: + this.moveState.forward = 1; + break; + case 2: + this.moveState.back = 1; + break; + } + this.updateMovementVector(); + } + }; + this.pointermove = function(event) { + if (!this.dragToLook || this.status > 0) { + const container = this.getContainerDimensions(); + const halfWidth = container.size[0] / 2; + const halfHeight = container.size[1] / 2; + this.moveState.yawLeft = -(event.pageX - container.offset[0] - halfWidth) / halfWidth; + this.moveState.pitchDown = (event.pageY - container.offset[1] - halfHeight) / halfHeight; + this.updateRotationVector(); + } + }; + this.pointerup = function(event) { + if (this.dragToLook) { + this.status--; + this.moveState.yawLeft = this.moveState.pitchDown = 0; + } else { + switch (event.button) { + case 0: + this.moveState.forward = 0; + break; + case 2: + this.moveState.back = 0; + break; + } + this.updateMovementVector(); + } + this.updateRotationVector(); + }; + this.update = function(delta) { + const moveMult = delta * scope.movementSpeed; + const rotMult = delta * scope.rollSpeed; + scope.object.translateX(scope.moveVector.x * moveMult); + scope.object.translateY(scope.moveVector.y * moveMult); + scope.object.translateZ(scope.moveVector.z * moveMult); + scope.tmpQuaternion.set(scope.rotationVector.x * rotMult, scope.rotationVector.y * rotMult, scope.rotationVector.z * rotMult, 1).normalize(); + scope.object.quaternion.multiply(scope.tmpQuaternion); + if (lastPosition.distanceToSquared(scope.object.position) > EPS || 8 * (1 - lastQuaternion.dot(scope.object.quaternion)) > EPS) { + scope.dispatchEvent(_changeEvent3); + lastQuaternion.copy(scope.object.quaternion); + lastPosition.copy(scope.object.position); + } + }; + this.updateMovementVector = function() { + const forward = this.moveState.forward || this.autoForward && !this.moveState.back ? 1 : 0; + this.moveVector.x = -this.moveState.left + this.moveState.right; + this.moveVector.y = -this.moveState.down + this.moveState.up; + this.moveVector.z = -forward + this.moveState.back; + }; + this.updateRotationVector = function() { + this.rotationVector.x = -this.moveState.pitchDown + this.moveState.pitchUp; + this.rotationVector.y = -this.moveState.yawRight + this.moveState.yawLeft; + this.rotationVector.z = -this.moveState.rollRight + this.moveState.rollLeft; + }; + this.getContainerDimensions = function() { + if (this.domElement != document) { + return { + size: [this.domElement.offsetWidth, this.domElement.offsetHeight], + offset: [this.domElement.offsetLeft, this.domElement.offsetTop] + }; + } else { + return { + size: [window.innerWidth, window.innerHeight], + offset: [0, 0] + }; + } + }; + this.dispose = function() { + this.domElement.removeEventListener("contextmenu", contextmenu); + this.domElement.removeEventListener("pointerdown", _pointerdown); + this.domElement.removeEventListener("pointermove", _pointermove); + this.domElement.removeEventListener("pointerup", _pointerup); + window.removeEventListener("keydown", _keydown); + window.removeEventListener("keyup", _keyup); + }; + const _pointermove = this.pointermove.bind(this); + const _pointerdown = this.pointerdown.bind(this); + const _pointerup = this.pointerup.bind(this); + const _keydown = this.keydown.bind(this); + const _keyup = this.keyup.bind(this); + this.domElement.addEventListener("contextmenu", contextmenu); + this.domElement.addEventListener("pointerdown", _pointerdown); + this.domElement.addEventListener("pointermove", _pointermove); + this.domElement.addEventListener("pointerup", _pointerup); + window.addEventListener("keydown", _keydown); + window.addEventListener("keyup", _keyup); + this.updateMovementVector(); + this.updateRotationVector(); + } +}; +function contextmenu(event) { + event.preventDefault(); +} + +// node_modules/three/examples/jsm/shaders/CopyShader.js +var CopyShader = { + uniforms: { + "tDiffuse": { value: null }, + "opacity": { value: 1 } + }, + vertexShader: ` + + varying vec2 vUv; + + void main() { + + vUv = uv; + gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); + + }`, + fragmentShader: ` + + uniform float opacity; + + uniform sampler2D tDiffuse; + + varying vec2 vUv; + + void main() { + + gl_FragColor = texture2D( tDiffuse, vUv ); + gl_FragColor.a *= opacity; + + + }` +}; + +// node_modules/three/examples/jsm/postprocessing/Pass.js +var Pass = class { + constructor() { + this.enabled = true; + this.needsSwap = true; + this.clear = false; + this.renderToScreen = false; + } + setSize() { + } + render() { + console.error("THREE.Pass: .render() must be implemented in derived pass."); + } + dispose() { + } +}; +var _camera = new OrthographicCamera(-1, 1, 1, -1, 0, 1); +var _geometry = new BufferGeometry(); +_geometry.setAttribute("position", new Float32BufferAttribute([-1, 3, 0, -1, -1, 0, 3, -1, 0], 3)); +_geometry.setAttribute("uv", new Float32BufferAttribute([0, 2, 0, 0, 2, 0], 2)); +var FullScreenQuad = class { + constructor(material) { + this._mesh = new Mesh(_geometry, material); + } + dispose() { + this._mesh.geometry.dispose(); + } + render(renderer3) { + renderer3.render(this._mesh, _camera); + } + get material() { + return this._mesh.material; + } + set material(value) { + this._mesh.material = value; + } +}; + +// node_modules/three/examples/jsm/postprocessing/ShaderPass.js +var ShaderPass = class extends Pass { + constructor(shader, textureID) { + super(); + this.textureID = textureID !== void 0 ? textureID : "tDiffuse"; + if (shader instanceof ShaderMaterial) { + this.uniforms = shader.uniforms; + this.material = shader; + } else if (shader) { + this.uniforms = UniformsUtils.clone(shader.uniforms); + this.material = new ShaderMaterial({ + defines: Object.assign({}, shader.defines), + uniforms: this.uniforms, + vertexShader: shader.vertexShader, + fragmentShader: shader.fragmentShader + }); + } + this.fsQuad = new FullScreenQuad(this.material); + } + render(renderer3, writeBuffer, readBuffer) { + if (this.uniforms[this.textureID]) { + this.uniforms[this.textureID].value = readBuffer.texture; + } + this.fsQuad.material = this.material; + if (this.renderToScreen) { + renderer3.setRenderTarget(null); + this.fsQuad.render(renderer3); + } else { + renderer3.setRenderTarget(writeBuffer); + if (this.clear) + renderer3.clear(renderer3.autoClearColor, renderer3.autoClearDepth, renderer3.autoClearStencil); + this.fsQuad.render(renderer3); + } + } + dispose() { + this.material.dispose(); + this.fsQuad.dispose(); + } +}; + +// node_modules/three/examples/jsm/postprocessing/MaskPass.js +var MaskPass = class extends Pass { + constructor(scene3, camera3) { + super(); + this.scene = scene3; + this.camera = camera3; + this.clear = true; + this.needsSwap = false; + this.inverse = false; + } + render(renderer3, writeBuffer, readBuffer) { + const context = renderer3.getContext(); + const state = renderer3.state; + state.buffers.color.setMask(false); + state.buffers.depth.setMask(false); + state.buffers.color.setLocked(true); + state.buffers.depth.setLocked(true); + let writeValue, clearValue; + if (this.inverse) { + writeValue = 0; + clearValue = 1; + } else { + writeValue = 1; + clearValue = 0; + } + state.buffers.stencil.setTest(true); + state.buffers.stencil.setOp(context.REPLACE, context.REPLACE, context.REPLACE); + state.buffers.stencil.setFunc(context.ALWAYS, writeValue, 4294967295); + state.buffers.stencil.setClear(clearValue); + state.buffers.stencil.setLocked(true); + renderer3.setRenderTarget(readBuffer); + if (this.clear) + renderer3.clear(); + renderer3.render(this.scene, this.camera); + renderer3.setRenderTarget(writeBuffer); + if (this.clear) + renderer3.clear(); + renderer3.render(this.scene, this.camera); + state.buffers.color.setLocked(false); + state.buffers.depth.setLocked(false); + state.buffers.stencil.setLocked(false); + state.buffers.stencil.setFunc(context.EQUAL, 1, 4294967295); + state.buffers.stencil.setOp(context.KEEP, context.KEEP, context.KEEP); + state.buffers.stencil.setLocked(true); + } +}; +var ClearMaskPass = class extends Pass { + constructor() { + super(); + this.needsSwap = false; + } + render(renderer3) { + renderer3.state.buffers.stencil.setLocked(false); + renderer3.state.buffers.stencil.setTest(false); + } +}; + +// node_modules/three/examples/jsm/postprocessing/EffectComposer.js +var EffectComposer = class { + constructor(renderer3, renderTarget) { + this.renderer = renderer3; + if (renderTarget === void 0) { + const size = renderer3.getSize(new Vector2()); + this._pixelRatio = renderer3.getPixelRatio(); + this._width = size.width; + this._height = size.height; + renderTarget = new WebGLRenderTarget(this._width * this._pixelRatio, this._height * this._pixelRatio); + renderTarget.texture.name = "EffectComposer.rt1"; + } else { + this._pixelRatio = 1; + this._width = renderTarget.width; + this._height = renderTarget.height; + } + this.renderTarget1 = renderTarget; + this.renderTarget2 = renderTarget.clone(); + this.renderTarget2.texture.name = "EffectComposer.rt2"; + this.writeBuffer = this.renderTarget1; + this.readBuffer = this.renderTarget2; + this.renderToScreen = true; + this.passes = []; + if (CopyShader === void 0) { + console.error("THREE.EffectComposer relies on CopyShader"); + } + if (ShaderPass === void 0) { + console.error("THREE.EffectComposer relies on ShaderPass"); + } + this.copyPass = new ShaderPass(CopyShader); + this.clock = new Clock(); + } + swapBuffers() { + const tmp2 = this.readBuffer; + this.readBuffer = this.writeBuffer; + this.writeBuffer = tmp2; + } + addPass(pass) { + this.passes.push(pass); + pass.setSize(this._width * this._pixelRatio, this._height * this._pixelRatio); + } + insertPass(pass, index5) { + this.passes.splice(index5, 0, pass); + pass.setSize(this._width * this._pixelRatio, this._height * this._pixelRatio); + } + removePass(pass) { + const index5 = this.passes.indexOf(pass); + if (index5 !== -1) { + this.passes.splice(index5, 1); + } + } + isLastEnabledPass(passIndex) { + for (let i = passIndex + 1; i < this.passes.length; i++) { + if (this.passes[i].enabled) { + return false; + } + } + return true; + } + render(deltaTime) { + if (deltaTime === void 0) { + deltaTime = this.clock.getDelta(); + } + const currentRenderTarget = this.renderer.getRenderTarget(); + let maskActive = false; + for (let i = 0, il = this.passes.length; i < il; i++) { + const pass = this.passes[i]; + if (pass.enabled === false) + continue; + pass.renderToScreen = this.renderToScreen && this.isLastEnabledPass(i); + pass.render(this.renderer, this.writeBuffer, this.readBuffer, deltaTime, maskActive); + if (pass.needsSwap) { + if (maskActive) { + const context = this.renderer.getContext(); + const stencil = this.renderer.state.buffers.stencil; + stencil.setFunc(context.NOTEQUAL, 1, 4294967295); + this.copyPass.render(this.renderer, this.writeBuffer, this.readBuffer, deltaTime); + stencil.setFunc(context.EQUAL, 1, 4294967295); + } + this.swapBuffers(); + } + if (MaskPass !== void 0) { + if (pass instanceof MaskPass) { + maskActive = true; + } else if (pass instanceof ClearMaskPass) { + maskActive = false; + } + } + } + this.renderer.setRenderTarget(currentRenderTarget); + } + reset(renderTarget) { + if (renderTarget === void 0) { + const size = this.renderer.getSize(new Vector2()); + this._pixelRatio = this.renderer.getPixelRatio(); + this._width = size.width; + this._height = size.height; + renderTarget = this.renderTarget1.clone(); + renderTarget.setSize(this._width * this._pixelRatio, this._height * this._pixelRatio); + } + this.renderTarget1.dispose(); + this.renderTarget2.dispose(); + this.renderTarget1 = renderTarget; + this.renderTarget2 = renderTarget.clone(); + this.writeBuffer = this.renderTarget1; + this.readBuffer = this.renderTarget2; + } + setSize(width, height) { + this._width = width; + this._height = height; + const effectiveWidth = this._width * this._pixelRatio; + const effectiveHeight = this._height * this._pixelRatio; + this.renderTarget1.setSize(effectiveWidth, effectiveHeight); + this.renderTarget2.setSize(effectiveWidth, effectiveHeight); + for (let i = 0; i < this.passes.length; i++) { + this.passes[i].setSize(effectiveWidth, effectiveHeight); + } + } + setPixelRatio(pixelRatio) { + this._pixelRatio = pixelRatio; + this.setSize(this._width, this._height); + } + dispose() { + this.renderTarget1.dispose(); + this.renderTarget2.dispose(); + this.copyPass.dispose(); + } +}; +var _camera2 = new OrthographicCamera(-1, 1, 1, -1, 0, 1); +var _geometry2 = new BufferGeometry(); +_geometry2.setAttribute("position", new Float32BufferAttribute([-1, 3, 0, -1, -1, 0, 3, -1, 0], 3)); +_geometry2.setAttribute("uv", new Float32BufferAttribute([0, 2, 0, 0, 2, 0], 2)); + +// node_modules/three/examples/jsm/postprocessing/RenderPass.js +var RenderPass = class extends Pass { + constructor(scene3, camera3, overrideMaterial, clearColor, clearAlpha) { + super(); + this.scene = scene3; + this.camera = camera3; + this.overrideMaterial = overrideMaterial; + this.clearColor = clearColor; + this.clearAlpha = clearAlpha !== void 0 ? clearAlpha : 0; + this.clear = true; + this.clearDepth = false; + this.needsSwap = false; + this._oldClearColor = new Color(); + } + render(renderer3, writeBuffer, readBuffer) { + const oldAutoClear = renderer3.autoClear; + renderer3.autoClear = false; + let oldClearAlpha, oldOverrideMaterial; + if (this.overrideMaterial !== void 0) { + oldOverrideMaterial = this.scene.overrideMaterial; + this.scene.overrideMaterial = this.overrideMaterial; + } + if (this.clearColor) { + renderer3.getClearColor(this._oldClearColor); + oldClearAlpha = renderer3.getClearAlpha(); + renderer3.setClearColor(this.clearColor, this.clearAlpha); + } + if (this.clearDepth) { + renderer3.clearDepth(); + } + renderer3.setRenderTarget(this.renderToScreen ? null : readBuffer); + if (this.clear) + renderer3.clear(renderer3.autoClearColor, renderer3.autoClearDepth, renderer3.autoClearStencil); + renderer3.render(this.scene, this.camera); + if (this.clearColor) { + renderer3.setClearColor(this._oldClearColor, oldClearAlpha); + } + if (this.overrideMaterial !== void 0) { + this.scene.overrideMaterial = oldOverrideMaterial; + } + renderer3.autoClear = oldAutoClear; + } +}; + +// node_modules/@babel/runtime/helpers/esm/extends.js +function _extends() { + _extends = Object.assign ? Object.assign.bind() : function(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + return target; + }; + return _extends.apply(this, arguments); +} + +// node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js +function _assertThisInitialized2(self2) { + if (self2 === void 0) { + throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + } + return self2; +} + +// node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js +function _setPrototypeOf2(o, p) { + _setPrototypeOf2 = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf3(o2, p2) { + o2.__proto__ = p2; + return o2; + }; + return _setPrototypeOf2(o, p); +} + +// node_modules/@babel/runtime/helpers/esm/inheritsLoose.js +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; + _setPrototypeOf2(subClass, superClass); +} + +// node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js +function _getPrototypeOf2(o) { + _getPrototypeOf2 = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf3(o2) { + return o2.__proto__ || Object.getPrototypeOf(o2); + }; + return _getPrototypeOf2(o); +} + +// node_modules/@babel/runtime/helpers/esm/isNativeFunction.js +function _isNativeFunction(fn) { + return Function.toString.call(fn).indexOf("[native code]") !== -1; +} + +// node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js +function _isNativeReflectConstruct2() { + if (typeof Reflect === "undefined" || !Reflect.construct) + return false; + if (Reflect.construct.sham) + return false; + if (typeof Proxy === "function") + return true; + try { + Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() { + })); + return true; + } catch (e) { + return false; + } +} + +// node_modules/@babel/runtime/helpers/esm/construct.js +function _construct2(Parent, args, Class) { + if (_isNativeReflectConstruct2()) { + _construct2 = Reflect.construct.bind(); + } else { + _construct2 = function _construct3(Parent2, args2, Class2) { + var a2 = [null]; + a2.push.apply(a2, args2); + var Constructor = Function.bind.apply(Parent2, a2); + var instance = new Constructor(); + if (Class2) + _setPrototypeOf2(instance, Class2.prototype); + return instance; + }; + } + return _construct2.apply(null, arguments); +} + +// node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js +function _wrapNativeSuper(Class) { + var _cache = typeof Map === "function" ? /* @__PURE__ */ new Map() : void 0; + _wrapNativeSuper = function _wrapNativeSuper2(Class2) { + if (Class2 === null || !_isNativeFunction(Class2)) + return Class2; + if (typeof Class2 !== "function") { + throw new TypeError("Super expression must either be null or a function"); + } + if (typeof _cache !== "undefined") { + if (_cache.has(Class2)) + return _cache.get(Class2); + _cache.set(Class2, Wrapper); + } + function Wrapper() { + return _construct2(Class2, arguments, _getPrototypeOf2(this).constructor); + } + Wrapper.prototype = Object.create(Class2.prototype, { + constructor: { + value: Wrapper, + enumerable: false, + writable: true, + configurable: true + } + }); + return _setPrototypeOf2(Wrapper, Class2); + }; + return _wrapNativeSuper(Class); +} + +// node_modules/polished/dist/polished.esm.js +var ERRORS = { + "1": "Passed invalid arguments to hsl, please pass multiple numbers e.g. hsl(360, 0.75, 0.4) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75 }).\n\n", + "2": "Passed invalid arguments to hsla, please pass multiple numbers e.g. hsla(360, 0.75, 0.4, 0.7) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75, alpha: 0.7 }).\n\n", + "3": "Passed an incorrect argument to a color function, please pass a string representation of a color.\n\n", + "4": "Couldn't generate valid rgb string from %s, it returned %s.\n\n", + "5": "Couldn't parse the color string. Please provide the color as a string in hex, rgb, rgba, hsl or hsla notation.\n\n", + "6": "Passed invalid arguments to rgb, please pass multiple numbers e.g. rgb(255, 205, 100) or an object e.g. rgb({ red: 255, green: 205, blue: 100 }).\n\n", + "7": "Passed invalid arguments to rgba, please pass multiple numbers e.g. rgb(255, 205, 100, 0.75) or an object e.g. rgb({ red: 255, green: 205, blue: 100, alpha: 0.75 }).\n\n", + "8": "Passed invalid argument to toColorString, please pass a RgbColor, RgbaColor, HslColor or HslaColor object.\n\n", + "9": "Please provide a number of steps to the modularScale helper.\n\n", + "10": "Please pass a number or one of the predefined scales to the modularScale helper as the ratio.\n\n", + "11": 'Invalid value passed as base to modularScale, expected number or em string but got "%s"\n\n', + "12": 'Expected a string ending in "px" or a number passed as the first argument to %s(), got "%s" instead.\n\n', + "13": 'Expected a string ending in "px" or a number passed as the second argument to %s(), got "%s" instead.\n\n', + "14": 'Passed invalid pixel value ("%s") to %s(), please pass a value like "12px" or 12.\n\n', + "15": 'Passed invalid base value ("%s") to %s(), please pass a value like "12px" or 12.\n\n', + "16": "You must provide a template to this method.\n\n", + "17": "You passed an unsupported selector state to this method.\n\n", + "18": "minScreen and maxScreen must be provided as stringified numbers with the same units.\n\n", + "19": "fromSize and toSize must be provided as stringified numbers with the same units.\n\n", + "20": "expects either an array of objects or a single object with the properties prop, fromSize, and toSize.\n\n", + "21": "expects the objects in the first argument array to have the properties `prop`, `fromSize`, and `toSize`.\n\n", + "22": "expects the first argument object to have the properties `prop`, `fromSize`, and `toSize`.\n\n", + "23": "fontFace expects a name of a font-family.\n\n", + "24": "fontFace expects either the path to the font file(s) or a name of a local copy.\n\n", + "25": "fontFace expects localFonts to be an array.\n\n", + "26": "fontFace expects fileFormats to be an array.\n\n", + "27": "radialGradient requries at least 2 color-stops to properly render.\n\n", + "28": "Please supply a filename to retinaImage() as the first argument.\n\n", + "29": "Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'.\n\n", + "30": "Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\n\n", + "31": "The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation\n\n", + "32": "To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s')\n\n", + "33": "The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation\n\n", + "34": "borderRadius expects a radius value as a string or number as the second argument.\n\n", + "35": 'borderRadius expects one of "top", "bottom", "left" or "right" as the first argument.\n\n', + "36": "Property must be a string value.\n\n", + "37": "Syntax Error at %s.\n\n", + "38": "Formula contains a function that needs parentheses at %s.\n\n", + "39": "Formula is missing closing parenthesis at %s.\n\n", + "40": "Formula has too many closing parentheses at %s.\n\n", + "41": "All values in a formula must have the same unit or be unitless.\n\n", + "42": "Please provide a number of steps to the modularScale helper.\n\n", + "43": "Please pass a number or one of the predefined scales to the modularScale helper as the ratio.\n\n", + "44": "Invalid value passed as base to modularScale, expected number or em/rem string but got %s.\n\n", + "45": "Passed invalid argument to hslToColorString, please pass a HslColor or HslaColor object.\n\n", + "46": "Passed invalid argument to rgbToColorString, please pass a RgbColor or RgbaColor object.\n\n", + "47": "minScreen and maxScreen must be provided as stringified numbers with the same units.\n\n", + "48": "fromSize and toSize must be provided as stringified numbers with the same units.\n\n", + "49": "Expects either an array of objects or a single object with the properties prop, fromSize, and toSize.\n\n", + "50": "Expects the objects in the first argument array to have the properties prop, fromSize, and toSize.\n\n", + "51": "Expects the first argument object to have the properties prop, fromSize, and toSize.\n\n", + "52": "fontFace expects either the path to the font file(s) or a name of a local copy.\n\n", + "53": "fontFace expects localFonts to be an array.\n\n", + "54": "fontFace expects fileFormats to be an array.\n\n", + "55": "fontFace expects a name of a font-family.\n\n", + "56": "linearGradient requries at least 2 color-stops to properly render.\n\n", + "57": "radialGradient requries at least 2 color-stops to properly render.\n\n", + "58": "Please supply a filename to retinaImage() as the first argument.\n\n", + "59": "Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'.\n\n", + "60": "Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\n\n", + "61": "Property must be a string value.\n\n", + "62": "borderRadius expects a radius value as a string or number as the second argument.\n\n", + "63": 'borderRadius expects one of "top", "bottom", "left" or "right" as the first argument.\n\n', + "64": "The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation.\n\n", + "65": "To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s').\n\n", + "66": "The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation.\n\n", + "67": "You must provide a template to this method.\n\n", + "68": "You passed an unsupported selector state to this method.\n\n", + "69": 'Expected a string ending in "px" or a number passed as the first argument to %s(), got %s instead.\n\n', + "70": 'Expected a string ending in "px" or a number passed as the second argument to %s(), got %s instead.\n\n', + "71": 'Passed invalid pixel value %s to %s(), please pass a value like "12px" or 12.\n\n', + "72": 'Passed invalid base value %s to %s(), please pass a value like "12px" or 12.\n\n', + "73": "Please provide a valid CSS variable.\n\n", + "74": "CSS variable not found and no default was provided.\n\n", + "75": "important requires a valid style object, got a %s instead.\n\n", + "76": "fromSize and toSize must be provided as stringified numbers with the same units as minScreen and maxScreen.\n\n", + "77": 'remToPx expects a value in "rem" but you provided it in "%s".\n\n', + "78": 'base must be set in "px" or "%" but you set it in "%s".\n' +}; +function format() { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + var a2 = args[0]; + var b = []; + var c2; + for (c2 = 1; c2 < args.length; c2 += 1) { + b.push(args[c2]); + } + b.forEach(function(d) { + a2 = a2.replace(/%[a-z]/, d); + }); + return a2; +} +var PolishedError = /* @__PURE__ */ function(_Error) { + _inheritsLoose(PolishedError2, _Error); + function PolishedError2(code) { + var _this; + if (false) { + _this = _Error.call(this, "An error occurred. See https://github.com/styled-components/polished/blob/main/src/internalHelpers/errors.md#" + code + " for more information.") || this; + } else { + for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { + args[_key2 - 1] = arguments[_key2]; + } + _this = _Error.call(this, format.apply(void 0, [ERRORS[code]].concat(args))) || this; + } + return _assertThisInitialized2(_this); + } + return PolishedError2; +}(/* @__PURE__ */ _wrapNativeSuper(Error)); +function colorToInt(color) { + return Math.round(color * 255); +} +function convertToInt(red, green, blue) { + return colorToInt(red) + "," + colorToInt(green) + "," + colorToInt(blue); +} +function hslToRgb(hue, saturation, lightness, convert) { + if (convert === void 0) { + convert = convertToInt; + } + if (saturation === 0) { + return convert(lightness, lightness, lightness); + } + var huePrime = (hue % 360 + 360) % 360 / 60; + var chroma = (1 - Math.abs(2 * lightness - 1)) * saturation; + var secondComponent = chroma * (1 - Math.abs(huePrime % 2 - 1)); + var red = 0; + var green = 0; + var blue = 0; + if (huePrime >= 0 && huePrime < 1) { + red = chroma; + green = secondComponent; + } else if (huePrime >= 1 && huePrime < 2) { + red = secondComponent; + green = chroma; + } else if (huePrime >= 2 && huePrime < 3) { + green = chroma; + blue = secondComponent; + } else if (huePrime >= 3 && huePrime < 4) { + green = secondComponent; + blue = chroma; + } else if (huePrime >= 4 && huePrime < 5) { + red = secondComponent; + blue = chroma; + } else if (huePrime >= 5 && huePrime < 6) { + red = chroma; + blue = secondComponent; + } + var lightnessModification = lightness - chroma / 2; + var finalRed = red + lightnessModification; + var finalGreen = green + lightnessModification; + var finalBlue = blue + lightnessModification; + return convert(finalRed, finalGreen, finalBlue); +} +var namedColorMap = { + aliceblue: "f0f8ff", + antiquewhite: "faebd7", + aqua: "00ffff", + aquamarine: "7fffd4", + azure: "f0ffff", + beige: "f5f5dc", + bisque: "ffe4c4", + black: "000", + blanchedalmond: "ffebcd", + blue: "0000ff", + blueviolet: "8a2be2", + brown: "a52a2a", + burlywood: "deb887", + cadetblue: "5f9ea0", + chartreuse: "7fff00", + chocolate: "d2691e", + coral: "ff7f50", + cornflowerblue: "6495ed", + cornsilk: "fff8dc", + crimson: "dc143c", + cyan: "00ffff", + darkblue: "00008b", + darkcyan: "008b8b", + darkgoldenrod: "b8860b", + darkgray: "a9a9a9", + darkgreen: "006400", + darkgrey: "a9a9a9", + darkkhaki: "bdb76b", + darkmagenta: "8b008b", + darkolivegreen: "556b2f", + darkorange: "ff8c00", + darkorchid: "9932cc", + darkred: "8b0000", + darksalmon: "e9967a", + darkseagreen: "8fbc8f", + darkslateblue: "483d8b", + darkslategray: "2f4f4f", + darkslategrey: "2f4f4f", + darkturquoise: "00ced1", + darkviolet: "9400d3", + deeppink: "ff1493", + deepskyblue: "00bfff", + dimgray: "696969", + dimgrey: "696969", + dodgerblue: "1e90ff", + firebrick: "b22222", + floralwhite: "fffaf0", + forestgreen: "228b22", + fuchsia: "ff00ff", + gainsboro: "dcdcdc", + ghostwhite: "f8f8ff", + gold: "ffd700", + goldenrod: "daa520", + gray: "808080", + green: "008000", + greenyellow: "adff2f", + grey: "808080", + honeydew: "f0fff0", + hotpink: "ff69b4", + indianred: "cd5c5c", + indigo: "4b0082", + ivory: "fffff0", + khaki: "f0e68c", + lavender: "e6e6fa", + lavenderblush: "fff0f5", + lawngreen: "7cfc00", + lemonchiffon: "fffacd", + lightblue: "add8e6", + lightcoral: "f08080", + lightcyan: "e0ffff", + lightgoldenrodyellow: "fafad2", + lightgray: "d3d3d3", + lightgreen: "90ee90", + lightgrey: "d3d3d3", + lightpink: "ffb6c1", + lightsalmon: "ffa07a", + lightseagreen: "20b2aa", + lightskyblue: "87cefa", + lightslategray: "789", + lightslategrey: "789", + lightsteelblue: "b0c4de", + lightyellow: "ffffe0", + lime: "0f0", + limegreen: "32cd32", + linen: "faf0e6", + magenta: "f0f", + maroon: "800000", + mediumaquamarine: "66cdaa", + mediumblue: "0000cd", + mediumorchid: "ba55d3", + mediumpurple: "9370db", + mediumseagreen: "3cb371", + mediumslateblue: "7b68ee", + mediumspringgreen: "00fa9a", + mediumturquoise: "48d1cc", + mediumvioletred: "c71585", + midnightblue: "191970", + mintcream: "f5fffa", + mistyrose: "ffe4e1", + moccasin: "ffe4b5", + navajowhite: "ffdead", + navy: "000080", + oldlace: "fdf5e6", + olive: "808000", + olivedrab: "6b8e23", + orange: "ffa500", + orangered: "ff4500", + orchid: "da70d6", + palegoldenrod: "eee8aa", + palegreen: "98fb98", + paleturquoise: "afeeee", + palevioletred: "db7093", + papayawhip: "ffefd5", + peachpuff: "ffdab9", + peru: "cd853f", + pink: "ffc0cb", + plum: "dda0dd", + powderblue: "b0e0e6", + purple: "800080", + rebeccapurple: "639", + red: "f00", + rosybrown: "bc8f8f", + royalblue: "4169e1", + saddlebrown: "8b4513", + salmon: "fa8072", + sandybrown: "f4a460", + seagreen: "2e8b57", + seashell: "fff5ee", + sienna: "a0522d", + silver: "c0c0c0", + skyblue: "87ceeb", + slateblue: "6a5acd", + slategray: "708090", + slategrey: "708090", + snow: "fffafa", + springgreen: "00ff7f", + steelblue: "4682b4", + tan: "d2b48c", + teal: "008080", + thistle: "d8bfd8", + tomato: "ff6347", + turquoise: "40e0d0", + violet: "ee82ee", + wheat: "f5deb3", + white: "fff", + whitesmoke: "f5f5f5", + yellow: "ff0", + yellowgreen: "9acd32" +}; +function nameToHex(color) { + if (typeof color !== "string") + return color; + var normalizedColorName = color.toLowerCase(); + return namedColorMap[normalizedColorName] ? "#" + namedColorMap[normalizedColorName] : color; +} +var hexRegex = /^#[a-fA-F0-9]{6}$/; +var hexRgbaRegex = /^#[a-fA-F0-9]{8}$/; +var reducedHexRegex = /^#[a-fA-F0-9]{3}$/; +var reducedRgbaHexRegex = /^#[a-fA-F0-9]{4}$/; +var rgbRegex = /^rgb\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*\)$/i; +var rgbaRegex = /^rgb(?:a)?\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i; +var hslRegex = /^hsl\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*\)$/i; +var hslaRegex = /^hsl(?:a)?\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i; +function parseToRgb(color) { + if (typeof color !== "string") { + throw new PolishedError(3); + } + var normalizedColor = nameToHex(color); + if (normalizedColor.match(hexRegex)) { + return { + red: parseInt("" + normalizedColor[1] + normalizedColor[2], 16), + green: parseInt("" + normalizedColor[3] + normalizedColor[4], 16), + blue: parseInt("" + normalizedColor[5] + normalizedColor[6], 16) + }; + } + if (normalizedColor.match(hexRgbaRegex)) { + var alpha = parseFloat((parseInt("" + normalizedColor[7] + normalizedColor[8], 16) / 255).toFixed(2)); + return { + red: parseInt("" + normalizedColor[1] + normalizedColor[2], 16), + green: parseInt("" + normalizedColor[3] + normalizedColor[4], 16), + blue: parseInt("" + normalizedColor[5] + normalizedColor[6], 16), + alpha + }; + } + if (normalizedColor.match(reducedHexRegex)) { + return { + red: parseInt("" + normalizedColor[1] + normalizedColor[1], 16), + green: parseInt("" + normalizedColor[2] + normalizedColor[2], 16), + blue: parseInt("" + normalizedColor[3] + normalizedColor[3], 16) + }; + } + if (normalizedColor.match(reducedRgbaHexRegex)) { + var _alpha = parseFloat((parseInt("" + normalizedColor[4] + normalizedColor[4], 16) / 255).toFixed(2)); + return { + red: parseInt("" + normalizedColor[1] + normalizedColor[1], 16), + green: parseInt("" + normalizedColor[2] + normalizedColor[2], 16), + blue: parseInt("" + normalizedColor[3] + normalizedColor[3], 16), + alpha: _alpha + }; + } + var rgbMatched = rgbRegex.exec(normalizedColor); + if (rgbMatched) { + return { + red: parseInt("" + rgbMatched[1], 10), + green: parseInt("" + rgbMatched[2], 10), + blue: parseInt("" + rgbMatched[3], 10) + }; + } + var rgbaMatched = rgbaRegex.exec(normalizedColor.substring(0, 50)); + if (rgbaMatched) { + return { + red: parseInt("" + rgbaMatched[1], 10), + green: parseInt("" + rgbaMatched[2], 10), + blue: parseInt("" + rgbaMatched[3], 10), + alpha: parseFloat("" + rgbaMatched[4]) > 1 ? parseFloat("" + rgbaMatched[4]) / 100 : parseFloat("" + rgbaMatched[4]) + }; + } + var hslMatched = hslRegex.exec(normalizedColor); + if (hslMatched) { + var hue = parseInt("" + hslMatched[1], 10); + var saturation = parseInt("" + hslMatched[2], 10) / 100; + var lightness = parseInt("" + hslMatched[3], 10) / 100; + var rgbColorString = "rgb(" + hslToRgb(hue, saturation, lightness) + ")"; + var hslRgbMatched = rgbRegex.exec(rgbColorString); + if (!hslRgbMatched) { + throw new PolishedError(4, normalizedColor, rgbColorString); + } + return { + red: parseInt("" + hslRgbMatched[1], 10), + green: parseInt("" + hslRgbMatched[2], 10), + blue: parseInt("" + hslRgbMatched[3], 10) + }; + } + var hslaMatched = hslaRegex.exec(normalizedColor.substring(0, 50)); + if (hslaMatched) { + var _hue = parseInt("" + hslaMatched[1], 10); + var _saturation = parseInt("" + hslaMatched[2], 10) / 100; + var _lightness = parseInt("" + hslaMatched[3], 10) / 100; + var _rgbColorString = "rgb(" + hslToRgb(_hue, _saturation, _lightness) + ")"; + var _hslRgbMatched = rgbRegex.exec(_rgbColorString); + if (!_hslRgbMatched) { + throw new PolishedError(4, normalizedColor, _rgbColorString); + } + return { + red: parseInt("" + _hslRgbMatched[1], 10), + green: parseInt("" + _hslRgbMatched[2], 10), + blue: parseInt("" + _hslRgbMatched[3], 10), + alpha: parseFloat("" + hslaMatched[4]) > 1 ? parseFloat("" + hslaMatched[4]) / 100 : parseFloat("" + hslaMatched[4]) + }; + } + throw new PolishedError(5); +} +var reduceHexValue = function reduceHexValue2(value) { + if (value.length === 7 && value[1] === value[2] && value[3] === value[4] && value[5] === value[6]) { + return "#" + value[1] + value[3] + value[5]; + } + return value; +}; +var reduceHexValue$1 = reduceHexValue; +function numberToHex(value) { + var hex = value.toString(16); + return hex.length === 1 ? "0" + hex : hex; +} +function rgb(value, green, blue) { + if (typeof value === "number" && typeof green === "number" && typeof blue === "number") { + return reduceHexValue$1("#" + numberToHex(value) + numberToHex(green) + numberToHex(blue)); + } else if (typeof value === "object" && green === void 0 && blue === void 0) { + return reduceHexValue$1("#" + numberToHex(value.red) + numberToHex(value.green) + numberToHex(value.blue)); + } + throw new PolishedError(6); +} +function rgba(firstValue, secondValue, thirdValue, fourthValue) { + if (typeof firstValue === "string" && typeof secondValue === "number") { + var rgbValue = parseToRgb(firstValue); + return "rgba(" + rgbValue.red + "," + rgbValue.green + "," + rgbValue.blue + "," + secondValue + ")"; + } else if (typeof firstValue === "number" && typeof secondValue === "number" && typeof thirdValue === "number" && typeof fourthValue === "number") { + return fourthValue >= 1 ? rgb(firstValue, secondValue, thirdValue) : "rgba(" + firstValue + "," + secondValue + "," + thirdValue + "," + fourthValue + ")"; + } else if (typeof firstValue === "object" && secondValue === void 0 && thirdValue === void 0 && fourthValue === void 0) { + return firstValue.alpha >= 1 ? rgb(firstValue.red, firstValue.green, firstValue.blue) : "rgba(" + firstValue.red + "," + firstValue.green + "," + firstValue.blue + "," + firstValue.alpha + ")"; + } + throw new PolishedError(7); +} +function curried(f, length, acc) { + return function fn() { + var combined = acc.concat(Array.prototype.slice.call(arguments)); + return combined.length >= length ? f.apply(this, combined) : curried(f, length, combined); + }; +} +function curry(f) { + return curried(f, f.length, []); +} +function guard(lowerBoundary, upperBoundary, value) { + return Math.max(lowerBoundary, Math.min(upperBoundary, value)); +} +function opacify(amount, color) { + if (color === "transparent") + return color; + var parsedColor = parseToRgb(color); + var alpha = typeof parsedColor.alpha === "number" ? parsedColor.alpha : 1; + var colorWithAlpha = _extends({}, parsedColor, { + alpha: guard(0, 1, (alpha * 100 + parseFloat(amount) * 100) / 100) + }); + return rgba(colorWithAlpha); +} +var curriedOpacify = /* @__PURE__ */ curry(opacify); +var curriedOpacify$1 = curriedOpacify; + +// node_modules/@tweenjs/tween.js/dist/tween.esm.js +var Easing = { + Linear: { + None: function(amount) { + return amount; + } + }, + Quadratic: { + In: function(amount) { + return amount * amount; + }, + Out: function(amount) { + return amount * (2 - amount); + }, + InOut: function(amount) { + if ((amount *= 2) < 1) { + return 0.5 * amount * amount; + } + return -0.5 * (--amount * (amount - 2) - 1); + } + }, + Cubic: { + In: function(amount) { + return amount * amount * amount; + }, + Out: function(amount) { + return --amount * amount * amount + 1; + }, + InOut: function(amount) { + if ((amount *= 2) < 1) { + return 0.5 * amount * amount * amount; + } + return 0.5 * ((amount -= 2) * amount * amount + 2); + } + }, + Quartic: { + In: function(amount) { + return amount * amount * amount * amount; + }, + Out: function(amount) { + return 1 - --amount * amount * amount * amount; + }, + InOut: function(amount) { + if ((amount *= 2) < 1) { + return 0.5 * amount * amount * amount * amount; + } + return -0.5 * ((amount -= 2) * amount * amount * amount - 2); + } + }, + Quintic: { + In: function(amount) { + return amount * amount * amount * amount * amount; + }, + Out: function(amount) { + return --amount * amount * amount * amount * amount + 1; + }, + InOut: function(amount) { + if ((amount *= 2) < 1) { + return 0.5 * amount * amount * amount * amount * amount; + } + return 0.5 * ((amount -= 2) * amount * amount * amount * amount + 2); + } + }, + Sinusoidal: { + In: function(amount) { + return 1 - Math.cos(amount * Math.PI / 2); + }, + Out: function(amount) { + return Math.sin(amount * Math.PI / 2); + }, + InOut: function(amount) { + return 0.5 * (1 - Math.cos(Math.PI * amount)); + } + }, + Exponential: { + In: function(amount) { + return amount === 0 ? 0 : Math.pow(1024, amount - 1); + }, + Out: function(amount) { + return amount === 1 ? 1 : 1 - Math.pow(2, -10 * amount); + }, + InOut: function(amount) { + if (amount === 0) { + return 0; + } + if (amount === 1) { + return 1; + } + if ((amount *= 2) < 1) { + return 0.5 * Math.pow(1024, amount - 1); + } + return 0.5 * (-Math.pow(2, -10 * (amount - 1)) + 2); + } + }, + Circular: { + In: function(amount) { + return 1 - Math.sqrt(1 - amount * amount); + }, + Out: function(amount) { + return Math.sqrt(1 - --amount * amount); + }, + InOut: function(amount) { + if ((amount *= 2) < 1) { + return -0.5 * (Math.sqrt(1 - amount * amount) - 1); + } + return 0.5 * (Math.sqrt(1 - (amount -= 2) * amount) + 1); + } + }, + Elastic: { + In: function(amount) { + if (amount === 0) { + return 0; + } + if (amount === 1) { + return 1; + } + return -Math.pow(2, 10 * (amount - 1)) * Math.sin((amount - 1.1) * 5 * Math.PI); + }, + Out: function(amount) { + if (amount === 0) { + return 0; + } + if (amount === 1) { + return 1; + } + return Math.pow(2, -10 * amount) * Math.sin((amount - 0.1) * 5 * Math.PI) + 1; + }, + InOut: function(amount) { + if (amount === 0) { + return 0; + } + if (amount === 1) { + return 1; + } + amount *= 2; + if (amount < 1) { + return -0.5 * Math.pow(2, 10 * (amount - 1)) * Math.sin((amount - 1.1) * 5 * Math.PI); + } + return 0.5 * Math.pow(2, -10 * (amount - 1)) * Math.sin((amount - 1.1) * 5 * Math.PI) + 1; + } + }, + Back: { + In: function(amount) { + var s = 1.70158; + return amount * amount * ((s + 1) * amount - s); + }, + Out: function(amount) { + var s = 1.70158; + return --amount * amount * ((s + 1) * amount + s) + 1; + }, + InOut: function(amount) { + var s = 1.70158 * 1.525; + if ((amount *= 2) < 1) { + return 0.5 * (amount * amount * ((s + 1) * amount - s)); + } + return 0.5 * ((amount -= 2) * amount * ((s + 1) * amount + s) + 2); + } + }, + Bounce: { + In: function(amount) { + return 1 - Easing.Bounce.Out(1 - amount); + }, + Out: function(amount) { + if (amount < 1 / 2.75) { + return 7.5625 * amount * amount; + } else if (amount < 2 / 2.75) { + return 7.5625 * (amount -= 1.5 / 2.75) * amount + 0.75; + } else if (amount < 2.5 / 2.75) { + return 7.5625 * (amount -= 2.25 / 2.75) * amount + 0.9375; + } else { + return 7.5625 * (amount -= 2.625 / 2.75) * amount + 0.984375; + } + }, + InOut: function(amount) { + if (amount < 0.5) { + return Easing.Bounce.In(amount * 2) * 0.5; + } + return Easing.Bounce.Out(amount * 2 - 1) * 0.5 + 0.5; + } + } +}; +var now3; +if (typeof self === "undefined" && typeof process !== "undefined" && process.hrtime) { + now3 = function() { + var time = process.hrtime(); + return time[0] * 1e3 + time[1] / 1e6; + }; +} else if (typeof self !== "undefined" && self.performance !== void 0 && self.performance.now !== void 0) { + now3 = self.performance.now.bind(self.performance); +} else if (Date.now !== void 0) { + now3 = Date.now; +} else { + now3 = function() { + return new Date().getTime(); + }; +} +var now$1 = now3; +var Group2 = function() { + function Group3() { + this._tweens = {}; + this._tweensAddedDuringUpdate = {}; + } + Group3.prototype.getAll = function() { + var _this = this; + return Object.keys(this._tweens).map(function(tweenId) { + return _this._tweens[tweenId]; + }); + }; + Group3.prototype.removeAll = function() { + this._tweens = {}; + }; + Group3.prototype.add = function(tween) { + this._tweens[tween.getId()] = tween; + this._tweensAddedDuringUpdate[tween.getId()] = tween; + }; + Group3.prototype.remove = function(tween) { + delete this._tweens[tween.getId()]; + delete this._tweensAddedDuringUpdate[tween.getId()]; + }; + Group3.prototype.update = function(time, preserve) { + if (time === void 0) { + time = now$1(); + } + if (preserve === void 0) { + preserve = false; + } + var tweenIds = Object.keys(this._tweens); + if (tweenIds.length === 0) { + return false; + } + while (tweenIds.length > 0) { + this._tweensAddedDuringUpdate = {}; + for (var i = 0; i < tweenIds.length; i++) { + var tween = this._tweens[tweenIds[i]]; + var autoStart = !preserve; + if (tween && tween.update(time, autoStart) === false && !preserve) { + delete this._tweens[tweenIds[i]]; + } + } + tweenIds = Object.keys(this._tweensAddedDuringUpdate); + } + return true; + }; + return Group3; +}(); +var Interpolation = { + Linear: function(v, k) { + var m2 = v.length - 1; + var f = m2 * k; + var i = Math.floor(f); + var fn = Interpolation.Utils.Linear; + if (k < 0) { + return fn(v[0], v[1], f); + } + if (k > 1) { + return fn(v[m2], v[m2 - 1], m2 - f); + } + return fn(v[i], v[i + 1 > m2 ? m2 : i + 1], f - i); + }, + Bezier: function(v, k) { + var b = 0; + var n = v.length - 1; + var pw = Math.pow; + var bn = Interpolation.Utils.Bernstein; + for (var i = 0; i <= n; i++) { + b += pw(1 - k, n - i) * pw(k, i) * v[i] * bn(n, i); + } + return b; + }, + CatmullRom: function(v, k) { + var m2 = v.length - 1; + var f = m2 * k; + var i = Math.floor(f); + var fn = Interpolation.Utils.CatmullRom; + if (v[0] === v[m2]) { + if (k < 0) { + i = Math.floor(f = m2 * (1 + k)); + } + return fn(v[(i - 1 + m2) % m2], v[i], v[(i + 1) % m2], v[(i + 2) % m2], f - i); + } else { + if (k < 0) { + return v[0] - (fn(v[0], v[0], v[1], v[1], -f) - v[0]); + } + if (k > 1) { + return v[m2] - (fn(v[m2], v[m2], v[m2 - 1], v[m2 - 1], f - m2) - v[m2]); + } + return fn(v[i ? i - 1 : 0], v[i], v[m2 < i + 1 ? m2 : i + 1], v[m2 < i + 2 ? m2 : i + 2], f - i); + } + }, + Utils: { + Linear: function(p0, p1, t) { + return (p1 - p0) * t + p0; + }, + Bernstein: function(n, i) { + var fc = Interpolation.Utils.Factorial; + return fc(n) / fc(i) / fc(n - i); + }, + Factorial: function() { + var a2 = [1]; + return function(n) { + var s = 1; + if (a2[n]) { + return a2[n]; + } + for (var i = n; i > 1; i--) { + s *= i; + } + a2[n] = s; + return s; + }; + }(), + CatmullRom: function(p0, p1, p2, p3, t) { + var v0 = (p2 - p0) * 0.5; + var v1 = (p3 - p1) * 0.5; + var t2 = t * t; + var t3 = t * t2; + return (2 * p1 - 2 * p2 + v0 + v1) * t3 + (-3 * p1 + 3 * p2 - 2 * v0 - v1) * t2 + v0 * t + p1; + } + } +}; +var Sequence = function() { + function Sequence2() { + } + Sequence2.nextId = function() { + return Sequence2._nextId++; + }; + Sequence2._nextId = 0; + return Sequence2; +}(); +var mainGroup = new Group2(); +var Tween = function() { + function Tween2(_object, _group) { + if (_group === void 0) { + _group = mainGroup; + } + this._object = _object; + this._group = _group; + this._isPaused = false; + this._pauseStart = 0; + this._valuesStart = {}; + this._valuesEnd = {}; + this._valuesStartRepeat = {}; + this._duration = 1e3; + this._initialRepeat = 0; + this._repeat = 0; + this._yoyo = false; + this._isPlaying = false; + this._reversed = false; + this._delayTime = 0; + this._startTime = 0; + this._easingFunction = Easing.Linear.None; + this._interpolationFunction = Interpolation.Linear; + this._chainedTweens = []; + this._onStartCallbackFired = false; + this._id = Sequence.nextId(); + this._isChainStopped = false; + this._goToEnd = false; + } + Tween2.prototype.getId = function() { + return this._id; + }; + Tween2.prototype.isPlaying = function() { + return this._isPlaying; + }; + Tween2.prototype.isPaused = function() { + return this._isPaused; + }; + Tween2.prototype.to = function(properties, duration) { + this._valuesEnd = Object.create(properties); + if (duration !== void 0) { + this._duration = duration; + } + return this; + }; + Tween2.prototype.duration = function(d) { + this._duration = d; + return this; + }; + Tween2.prototype.start = function(time) { + if (this._isPlaying) { + return this; + } + this._group && this._group.add(this); + this._repeat = this._initialRepeat; + if (this._reversed) { + this._reversed = false; + for (var property in this._valuesStartRepeat) { + this._swapEndStartRepeatValues(property); + this._valuesStart[property] = this._valuesStartRepeat[property]; + } + } + this._isPlaying = true; + this._isPaused = false; + this._onStartCallbackFired = false; + this._isChainStopped = false; + this._startTime = time !== void 0 ? typeof time === "string" ? now$1() + parseFloat(time) : time : now$1(); + this._startTime += this._delayTime; + this._setupProperties(this._object, this._valuesStart, this._valuesEnd, this._valuesStartRepeat); + return this; + }; + Tween2.prototype._setupProperties = function(_object, _valuesStart, _valuesEnd, _valuesStartRepeat) { + for (var property in _valuesEnd) { + var startValue = _object[property]; + var startValueIsArray = Array.isArray(startValue); + var propType = startValueIsArray ? "array" : typeof startValue; + var isInterpolationList = !startValueIsArray && Array.isArray(_valuesEnd[property]); + if (propType === "undefined" || propType === "function") { + continue; + } + if (isInterpolationList) { + var endValues = _valuesEnd[property]; + if (endValues.length === 0) { + continue; + } + endValues = endValues.map(this._handleRelativeValue.bind(this, startValue)); + _valuesEnd[property] = [startValue].concat(endValues); + } + if ((propType === "object" || startValueIsArray) && startValue && !isInterpolationList) { + _valuesStart[property] = startValueIsArray ? [] : {}; + for (var prop in startValue) { + _valuesStart[property][prop] = startValue[prop]; + } + _valuesStartRepeat[property] = startValueIsArray ? [] : {}; + this._setupProperties(startValue, _valuesStart[property], _valuesEnd[property], _valuesStartRepeat[property]); + } else { + if (typeof _valuesStart[property] === "undefined") { + _valuesStart[property] = startValue; + } + if (!startValueIsArray) { + _valuesStart[property] *= 1; + } + if (isInterpolationList) { + _valuesStartRepeat[property] = _valuesEnd[property].slice().reverse(); + } else { + _valuesStartRepeat[property] = _valuesStart[property] || 0; + } + } + } + }; + Tween2.prototype.stop = function() { + if (!this._isChainStopped) { + this._isChainStopped = true; + this.stopChainedTweens(); + } + if (!this._isPlaying) { + return this; + } + this._group && this._group.remove(this); + this._isPlaying = false; + this._isPaused = false; + if (this._onStopCallback) { + this._onStopCallback(this._object); + } + return this; + }; + Tween2.prototype.end = function() { + this._goToEnd = true; + this.update(Infinity); + return this; + }; + Tween2.prototype.pause = function(time) { + if (time === void 0) { + time = now$1(); + } + if (this._isPaused || !this._isPlaying) { + return this; + } + this._isPaused = true; + this._pauseStart = time; + this._group && this._group.remove(this); + return this; + }; + Tween2.prototype.resume = function(time) { + if (time === void 0) { + time = now$1(); + } + if (!this._isPaused || !this._isPlaying) { + return this; + } + this._isPaused = false; + this._startTime += time - this._pauseStart; + this._pauseStart = 0; + this._group && this._group.add(this); + return this; + }; + Tween2.prototype.stopChainedTweens = function() { + for (var i = 0, numChainedTweens = this._chainedTweens.length; i < numChainedTweens; i++) { + this._chainedTweens[i].stop(); + } + return this; + }; + Tween2.prototype.group = function(group) { + this._group = group; + return this; + }; + Tween2.prototype.delay = function(amount) { + this._delayTime = amount; + return this; + }; + Tween2.prototype.repeat = function(times) { + this._initialRepeat = times; + this._repeat = times; + return this; + }; + Tween2.prototype.repeatDelay = function(amount) { + this._repeatDelayTime = amount; + return this; + }; + Tween2.prototype.yoyo = function(yoyo) { + this._yoyo = yoyo; + return this; + }; + Tween2.prototype.easing = function(easingFunction) { + this._easingFunction = easingFunction; + return this; + }; + Tween2.prototype.interpolation = function(interpolationFunction) { + this._interpolationFunction = interpolationFunction; + return this; + }; + Tween2.prototype.chain = function() { + var tweens = []; + for (var _i = 0; _i < arguments.length; _i++) { + tweens[_i] = arguments[_i]; + } + this._chainedTweens = tweens; + return this; + }; + Tween2.prototype.onStart = function(callback) { + this._onStartCallback = callback; + return this; + }; + Tween2.prototype.onUpdate = function(callback) { + this._onUpdateCallback = callback; + return this; + }; + Tween2.prototype.onRepeat = function(callback) { + this._onRepeatCallback = callback; + return this; + }; + Tween2.prototype.onComplete = function(callback) { + this._onCompleteCallback = callback; + return this; + }; + Tween2.prototype.onStop = function(callback) { + this._onStopCallback = callback; + return this; + }; + Tween2.prototype.update = function(time, autoStart) { + if (time === void 0) { + time = now$1(); + } + if (autoStart === void 0) { + autoStart = true; + } + if (this._isPaused) + return true; + var property; + var elapsed; + var endTime = this._startTime + this._duration; + if (!this._goToEnd && !this._isPlaying) { + if (time > endTime) + return false; + if (autoStart) + this.start(time); + } + this._goToEnd = false; + if (time < this._startTime) { + return true; + } + if (this._onStartCallbackFired === false) { + if (this._onStartCallback) { + this._onStartCallback(this._object); + } + this._onStartCallbackFired = true; + } + elapsed = (time - this._startTime) / this._duration; + elapsed = this._duration === 0 || elapsed > 1 ? 1 : elapsed; + var value = this._easingFunction(elapsed); + this._updateProperties(this._object, this._valuesStart, this._valuesEnd, value); + if (this._onUpdateCallback) { + this._onUpdateCallback(this._object, elapsed); + } + if (elapsed === 1) { + if (this._repeat > 0) { + if (isFinite(this._repeat)) { + this._repeat--; + } + for (property in this._valuesStartRepeat) { + if (!this._yoyo && typeof this._valuesEnd[property] === "string") { + this._valuesStartRepeat[property] = this._valuesStartRepeat[property] + parseFloat(this._valuesEnd[property]); + } + if (this._yoyo) { + this._swapEndStartRepeatValues(property); + } + this._valuesStart[property] = this._valuesStartRepeat[property]; + } + if (this._yoyo) { + this._reversed = !this._reversed; + } + if (this._repeatDelayTime !== void 0) { + this._startTime = time + this._repeatDelayTime; + } else { + this._startTime = time + this._delayTime; + } + if (this._onRepeatCallback) { + this._onRepeatCallback(this._object); + } + return true; + } else { + if (this._onCompleteCallback) { + this._onCompleteCallback(this._object); + } + for (var i = 0, numChainedTweens = this._chainedTweens.length; i < numChainedTweens; i++) { + this._chainedTweens[i].start(this._startTime + this._duration); + } + this._isPlaying = false; + return false; + } + } + return true; + }; + Tween2.prototype._updateProperties = function(_object, _valuesStart, _valuesEnd, value) { + for (var property in _valuesEnd) { + if (_valuesStart[property] === void 0) { + continue; + } + var start = _valuesStart[property] || 0; + var end = _valuesEnd[property]; + var startIsArray = Array.isArray(_object[property]); + var endIsArray = Array.isArray(end); + var isInterpolationList = !startIsArray && endIsArray; + if (isInterpolationList) { + _object[property] = this._interpolationFunction(end, value); + } else if (typeof end === "object" && end) { + this._updateProperties(_object[property], start, end, value); + } else { + end = this._handleRelativeValue(start, end); + if (typeof end === "number") { + _object[property] = start + (end - start) * value; + } + } + } + }; + Tween2.prototype._handleRelativeValue = function(start, end) { + if (typeof end !== "string") { + return end; + } + if (end.charAt(0) === "+" || end.charAt(0) === "-") { + return start + parseFloat(end); + } else { + return parseFloat(end); + } + }; + Tween2.prototype._swapEndStartRepeatValues = function(property) { + var tmp2 = this._valuesStartRepeat[property]; + var endValue = this._valuesEnd[property]; + if (typeof endValue === "string") { + this._valuesStartRepeat[property] = this._valuesStartRepeat[property] + parseFloat(endValue); + } else { + this._valuesStartRepeat[property] = this._valuesEnd[property]; + } + this._valuesEnd[property] = tmp2; + }; + return Tween2; +}(); +var VERSION = "18.6.4"; +var nextId = Sequence.nextId; +var TWEEN = mainGroup; +var getAll = TWEEN.getAll.bind(TWEEN); +var removeAll4 = TWEEN.removeAll.bind(TWEEN); +var add4 = TWEEN.add.bind(TWEEN); +var remove = TWEEN.remove.bind(TWEEN); +var update2 = TWEEN.update.bind(TWEEN); +var exports = { + Easing, + Group: Group2, + Interpolation, + now: now$1, + Sequence, + nextId, + Tween, + VERSION, + getAll, + removeAll: removeAll4, + add: add4, + remove, + update: update2 +}; +var tween_esm_default = exports; + +// node_modules/three-render-objects/dist/three-render-objects.module.js +function styleInject(css, ref) { + if (ref === void 0) + ref = {}; + var insertAt = ref.insertAt; + if (!css || typeof document === "undefined") { + return; + } + var head = document.head || document.getElementsByTagName("head")[0]; + var style = document.createElement("style"); + style.type = "text/css"; + if (insertAt === "top") { + if (head.firstChild) { + head.insertBefore(style, head.firstChild); + } else { + head.appendChild(style); + } + } else { + head.appendChild(style); + } + if (style.styleSheet) { + style.styleSheet.cssText = css; + } else { + style.appendChild(document.createTextNode(css)); + } +} +var css_248z = ".scene-nav-info {\n bottom: 5px;\n width: 100%;\n text-align: center;\n color: slategrey;\n opacity: 0.7;\n font-size: 10px;\n}\n\n.scene-tooltip {\n top: 0;\n color: lavender;\n font-size: 15px;\n}\n\n.scene-nav-info, .scene-tooltip {\n position: absolute;\n font-family: sans-serif;\n pointer-events: none;\n}\n\n.scene-container canvas:focus {\n outline: none;\n}"; +styleInject(css_248z); +function _defineProperty3(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + return obj; +} +function _slicedToArray5(arr, i) { + return _arrayWithHoles5(arr) || _iterableToArrayLimit5(arr, i) || _unsupportedIterableToArray5(arr, i) || _nonIterableRest5(); +} +function _toConsumableArray4(arr) { + return _arrayWithoutHoles4(arr) || _iterableToArray4(arr) || _unsupportedIterableToArray5(arr) || _nonIterableSpread4(); +} +function _arrayWithoutHoles4(arr) { + if (Array.isArray(arr)) + return _arrayLikeToArray5(arr); +} +function _arrayWithHoles5(arr) { + if (Array.isArray(arr)) + return arr; +} +function _iterableToArray4(iter) { + if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) + return Array.from(iter); +} +function _iterableToArrayLimit5(arr, i) { + var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; + if (_i == null) + return; + var _arr = []; + var _n = true; + var _d = false; + var _s, _e; + try { + for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { + _arr.push(_s.value); + if (i && _arr.length === i) + break; + } + } catch (err) { + _d = true; + _e = err; + } finally { + try { + if (!_n && _i["return"] != null) + _i["return"](); + } finally { + if (_d) + throw _e; + } + } + return _arr; +} +function _unsupportedIterableToArray5(o, minLen) { + if (!o) + return; + if (typeof o === "string") + return _arrayLikeToArray5(o, minLen); + var n = Object.prototype.toString.call(o).slice(8, -1); + if (n === "Object" && o.constructor) + n = o.constructor.name; + if (n === "Map" || n === "Set") + return Array.from(o); + if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) + return _arrayLikeToArray5(o, minLen); +} +function _arrayLikeToArray5(arr, len) { + if (len == null || len > arr.length) + len = arr.length; + for (var i = 0, arr2 = new Array(len); i < len; i++) + arr2[i] = arr[i]; + return arr2; +} +function _nonIterableSpread4() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +function _nonIterableRest5() { + throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +var three2 = window.THREE ? window.THREE : { + WebGLRenderer, + Scene, + PerspectiveCamera, + Raycaster, + TextureLoader, + Vector2, + Vector3, + Box3, + Color, + Mesh, + SphereGeometry, + MeshBasicMaterial, + BackSide, + EventDispatcher, + MOUSE, + Quaternion, + Spherical, + Clock +}; +var threeRenderObjects = index2({ + props: { + width: { + "default": window.innerWidth, + onChange: function onChange8(width, state, prevWidth) { + isNaN(width) && (state.width = prevWidth); + } + }, + height: { + "default": window.innerHeight, + onChange: function onChange9(height, state, prevHeight) { + isNaN(height) && (state.height = prevHeight); + } + }, + backgroundColor: { + "default": "#000011" + }, + backgroundImageUrl: {}, + onBackgroundImageLoaded: {}, + showNavInfo: { + "default": true + }, + skyRadius: { + "default": 5e4 + }, + objects: { + "default": [] + }, + enablePointerInteraction: { + "default": true, + onChange: function onChange10(_, state) { + state.hoverObj = null; + if (state.toolTipElem) + state.toolTipElem.innerHTML = ""; + }, + triggerUpdate: false + }, + lineHoverPrecision: { + "default": 1, + triggerUpdate: false + }, + hoverOrderComparator: { + "default": function _default8() { + return -1; + }, + triggerUpdate: false + }, + hoverFilter: { + "default": function _default9() { + return true; + }, + triggerUpdate: false + }, + tooltipContent: { + triggerUpdate: false + }, + hoverDuringDrag: { + "default": false, + triggerUpdate: false + }, + clickAfterDrag: { + "default": false, + triggerUpdate: false + }, + onHover: { + "default": function _default10() { + }, + triggerUpdate: false + }, + onClick: { + "default": function _default11() { + }, + triggerUpdate: false + }, + onRightClick: { + triggerUpdate: false + } + }, + methods: { + tick: function tick(state) { + if (state.initialised) { + state.controls.update && state.controls.update(state.clock.getDelta()); + state.postProcessingComposer ? state.postProcessingComposer.render() : state.renderer.render(state.scene, state.camera); + state.extraRenderers.forEach(function(r) { + return r.render(state.scene, state.camera); + }); + if (state.enablePointerInteraction) { + var topObject = null; + if (state.hoverDuringDrag || !state.isPointerDragging) { + var intersects = this.intersectingObjects(state.pointerPos.x, state.pointerPos.y).filter(function(d) { + return state.hoverFilter(d.object); + }).sort(function(a2, b) { + return state.hoverOrderComparator(a2.object, b.object); + }); + var topIntersect = intersects.length ? intersects[0] : null; + topObject = topIntersect ? topIntersect.object : null; + state.intersectionPoint = topIntersect ? topIntersect.point : null; + } + if (topObject !== state.hoverObj) { + state.onHover(topObject, state.hoverObj); + state.toolTipElem.innerHTML = topObject ? accessor_fn_module_default(state.tooltipContent)(topObject) || "" : ""; + state.hoverObj = topObject; + } + } + tween_esm_default.update(); + } + return this; + }, + getPointerPos: function getPointerPos(state) { + var _state$pointerPos = state.pointerPos, x2 = _state$pointerPos.x, y2 = _state$pointerPos.y; + return { + x: x2, + y: y2 + }; + }, + cameraPosition: function cameraPosition(state, position, lookAt, transitionDuration) { + var camera3 = state.camera; + if (position && state.initialised) { + var finalPos = position; + var finalLookAt = lookAt || { + x: 0, + y: 0, + z: 0 + }; + if (!transitionDuration) { + setCameraPos(finalPos); + setLookAt(finalLookAt); + } else { + var camPos = Object.assign({}, camera3.position); + var camLookAt = getLookAt(); + new tween_esm_default.Tween(camPos).to(finalPos, transitionDuration).easing(tween_esm_default.Easing.Quadratic.Out).onUpdate(setCameraPos).start(); + new tween_esm_default.Tween(camLookAt).to(finalLookAt, transitionDuration / 3).easing(tween_esm_default.Easing.Quadratic.Out).onUpdate(setLookAt).start(); + } + return this; + } + return Object.assign({}, camera3.position, { + lookAt: getLookAt() + }); + function setCameraPos(pos) { + var x2 = pos.x, y2 = pos.y, z2 = pos.z; + if (x2 !== void 0) + camera3.position.x = x2; + if (y2 !== void 0) + camera3.position.y = y2; + if (z2 !== void 0) + camera3.position.z = z2; + } + function setLookAt(lookAt2) { + var lookAtVect = new three2.Vector3(lookAt2.x, lookAt2.y, lookAt2.z); + if (state.controls.target) { + state.controls.target = lookAtVect; + } else { + camera3.lookAt(lookAtVect); + } + } + function getLookAt() { + return Object.assign(new three2.Vector3(0, 0, -1e3).applyQuaternion(camera3.quaternion).add(camera3.position)); + } + }, + zoomToFit: function zoomToFit(state) { + var transitionDuration = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0; + var padding = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 10; + for (var _len = arguments.length, bboxArgs = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) { + bboxArgs[_key - 3] = arguments[_key]; + } + return this.fitToBbox(this.getBbox.apply(this, bboxArgs), transitionDuration, padding); + }, + fitToBbox: function fitToBbox(state, bbox) { + var transitionDuration = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 0; + var padding = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : 10; + var camera3 = state.camera; + if (bbox) { + var center = new three2.Vector3(0, 0, 0); + var maxBoxSide = Math.max.apply(Math, _toConsumableArray4(Object.entries(bbox).map(function(_ref) { + var _ref2 = _slicedToArray5(_ref, 2), coordType = _ref2[0], coords = _ref2[1]; + return Math.max.apply(Math, _toConsumableArray4(coords.map(function(c2) { + return Math.abs(center[coordType] - c2); + }))); + }))) * 2; + var paddedFov = (1 - padding * 2 / state.height) * camera3.fov; + var fitHeightDistance = maxBoxSide / Math.atan(paddedFov * Math.PI / 180); + var fitWidthDistance = fitHeightDistance / camera3.aspect; + var distance = Math.max(fitHeightDistance, fitWidthDistance); + if (distance > 0) { + var newCameraPosition = center.clone().sub(camera3.position).normalize().multiplyScalar(-distance); + this.cameraPosition(newCameraPosition, center, transitionDuration); + } + } + return this; + }, + getBbox: function getBbox(state) { + var objFilter = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : function() { + return true; + }; + var box = new three2.Box3(new three2.Vector3(0, 0, 0), new three2.Vector3(0, 0, 0)); + var objs = state.objects.filter(objFilter); + if (!objs.length) + return null; + objs.forEach(function(obj) { + return box.expandByObject(obj); + }); + return Object.assign.apply(Object, _toConsumableArray4(["x", "y", "z"].map(function(c2) { + return _defineProperty3({}, c2, [box.min[c2], box.max[c2]]); + }))); + }, + getScreenCoords: function getScreenCoords(state, x2, y2, z2) { + var vec = new three2.Vector3(x2, y2, z2); + vec.project(this.camera()); + return { + x: (vec.x + 1) * state.width / 2, + y: -(vec.y - 1) * state.height / 2 + }; + }, + getSceneCoords: function getSceneCoords(state, screenX, screenY) { + var distance = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : 0; + var relCoords = new three2.Vector2(screenX / state.width * 2 - 1, -(screenY / state.height) * 2 + 1); + var raycaster = new three2.Raycaster(); + raycaster.setFromCamera(relCoords, state.camera); + return Object.assign({}, raycaster.ray.at(distance, new three2.Vector3())); + }, + intersectingObjects: function intersectingObjects(state, x2, y2) { + var relCoords = new three2.Vector2(x2 / state.width * 2 - 1, -(y2 / state.height) * 2 + 1); + var raycaster = new three2.Raycaster(); + raycaster.params.Line.threshold = state.lineHoverPrecision; + raycaster.setFromCamera(relCoords, state.camera); + return raycaster.intersectObjects(state.objects, true); + }, + renderer: function renderer(state) { + return state.renderer; + }, + scene: function scene(state) { + return state.scene; + }, + camera: function camera(state) { + return state.camera; + }, + postProcessingComposer: function postProcessingComposer(state) { + return state.postProcessingComposer; + }, + controls: function controls(state) { + return state.controls; + }, + tbControls: function tbControls(state) { + return state.controls; + } + }, + stateInit: function stateInit2() { + return { + scene: new three2.Scene(), + camera: new three2.PerspectiveCamera(), + clock: new three2.Clock() + }; + }, + init: function init2(domNode, state) { + var _ref4 = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}, _ref4$controlType = _ref4.controlType, controlType = _ref4$controlType === void 0 ? "trackball" : _ref4$controlType, _ref4$rendererConfig = _ref4.rendererConfig, rendererConfig = _ref4$rendererConfig === void 0 ? {} : _ref4$rendererConfig, _ref4$extraRenderers = _ref4.extraRenderers, extraRenderers = _ref4$extraRenderers === void 0 ? [] : _ref4$extraRenderers, _ref4$waitForLoadComp = _ref4.waitForLoadComplete, waitForLoadComplete = _ref4$waitForLoadComp === void 0 ? true : _ref4$waitForLoadComp; + domNode.innerHTML = ""; + domNode.appendChild(state.container = document.createElement("div")); + state.container.className = "scene-container"; + state.container.style.position = "relative"; + state.container.appendChild(state.navInfo = document.createElement("div")); + state.navInfo.className = "scene-nav-info"; + state.navInfo.textContent = { + orbit: "Left-click: rotate, Mouse-wheel/middle-click: zoom, Right-click: pan", + trackball: "Left-click: rotate, Mouse-wheel/middle-click: zoom, Right-click: pan", + fly: "WASD: move, R|F: up | down, Q|E: roll, up|down: pitch, left|right: yaw" + }[controlType] || ""; + state.navInfo.style.display = state.showNavInfo ? null : "none"; + state.toolTipElem = document.createElement("div"); + state.toolTipElem.classList.add("scene-tooltip"); + state.container.appendChild(state.toolTipElem); + state.pointerPos = new three2.Vector2(); + state.pointerPos.x = -2; + state.pointerPos.y = -2; + ["pointermove", "pointerdown"].forEach(function(evType) { + return state.container.addEventListener(evType, function(ev) { + evType === "pointerdown" && (state.isPointerPressed = true); + !state.isPointerDragging && ev.type === "pointermove" && (ev.pressure > 0 || state.isPointerPressed) && (ev.pointerType !== "touch" || ev.movementX === void 0 || [ev.movementX, ev.movementY].some(function(m2) { + return Math.abs(m2) > 1; + })) && (state.isPointerDragging = true); + if (state.enablePointerInteraction) { + var offset = getOffset(state.container); + state.pointerPos.x = ev.pageX - offset.left; + state.pointerPos.y = ev.pageY - offset.top; + state.toolTipElem.style.top = "".concat(state.pointerPos.y, "px"); + state.toolTipElem.style.left = "".concat(state.pointerPos.x, "px"); + state.toolTipElem.style.transform = "translate(-".concat(state.pointerPos.x / state.width * 100, "%, ").concat(state.height - state.pointerPos.y < 100 ? "calc(-100% - 8px)" : "21px", ")"); + } + function getOffset(el) { + var rect = el.getBoundingClientRect(), scrollLeft = window.pageXOffset || document.documentElement.scrollLeft, scrollTop = window.pageYOffset || document.documentElement.scrollTop; + return { + top: rect.top + scrollTop, + left: rect.left + scrollLeft + }; + } + }, { + passive: true + }); + }); + state.container.addEventListener("pointerup", function(ev) { + state.isPointerPressed = false; + if (state.isPointerDragging) { + state.isPointerDragging = false; + if (!state.clickAfterDrag) + return; + } + requestAnimationFrame(function() { + if (ev.button === 0) { + state.onClick(state.hoverObj || null, ev, state.intersectionPoint); + } + if (ev.button === 2 && state.onRightClick) { + state.onRightClick(state.hoverObj || null, ev, state.intersectionPoint); + } + }); + }, { + passive: true, + capture: true + }); + state.container.addEventListener("contextmenu", function(ev) { + if (state.onRightClick) + ev.preventDefault(); + }); + state.renderer = new three2.WebGLRenderer(Object.assign({ + antialias: true, + alpha: true + }, rendererConfig)); + state.renderer.setPixelRatio(Math.min(2, window.devicePixelRatio)); + state.container.appendChild(state.renderer.domElement); + state.extraRenderers = extraRenderers; + state.extraRenderers.forEach(function(r) { + r.domElement.style.position = "absolute"; + r.domElement.style.top = "0px"; + r.domElement.style.pointerEvents = "none"; + state.container.appendChild(r.domElement); + }); + state.postProcessingComposer = new EffectComposer(state.renderer); + state.postProcessingComposer.addPass(new RenderPass(state.scene, state.camera)); + state.controls = new { + trackball: TrackballControls, + orbit: OrbitControls, + fly: FlyControls + }[controlType](state.camera, state.renderer.domElement); + if (controlType === "fly") { + state.controls.movementSpeed = 300; + state.controls.rollSpeed = Math.PI / 6; + state.controls.dragToLook = true; + } + if (controlType === "trackball" || controlType === "orbit") { + state.controls.minDistance = 0.1; + state.controls.maxDistance = state.skyRadius; + state.controls.addEventListener("start", function() { + state.controlsEngaged = true; + }); + state.controls.addEventListener("change", function() { + if (state.controlsEngaged) { + state.controlsDragging = true; + } + }); + state.controls.addEventListener("end", function() { + state.controlsEngaged = false; + state.controlsDragging = false; + }); + } + [state.renderer, state.postProcessingComposer].concat(_toConsumableArray4(state.extraRenderers)).forEach(function(r) { + return r.setSize(state.width, state.height); + }); + state.camera.aspect = state.width / state.height; + state.camera.updateProjectionMatrix(); + state.camera.position.z = 1e3; + state.scene.add(state.skysphere = new three2.Mesh()); + state.skysphere.visible = false; + state.loadComplete = state.scene.visible = !waitForLoadComplete; + window.scene = state.scene; + }, + update: function update3(state, changedProps) { + if (state.width && state.height && (changedProps.hasOwnProperty("width") || changedProps.hasOwnProperty("height"))) { + state.container.style.width = "".concat(state.width, "px"); + state.container.style.height = "".concat(state.height, "px"); + [state.renderer, state.postProcessingComposer].concat(_toConsumableArray4(state.extraRenderers)).forEach(function(r) { + return r.setSize(state.width, state.height); + }); + state.camera.aspect = state.width / state.height; + state.camera.updateProjectionMatrix(); + } + if (changedProps.hasOwnProperty("skyRadius") && state.skyRadius) { + state.controls.hasOwnProperty("maxDistance") && changedProps.skyRadius && (state.controls.maxDistance = Math.min(state.controls.maxDistance, state.skyRadius)); + state.camera.far = state.skyRadius * 2.5; + state.camera.updateProjectionMatrix(); + state.skysphere.geometry = new three2.SphereGeometry(state.skyRadius); + } + if (changedProps.hasOwnProperty("backgroundColor")) { + var alpha = parseToRgb(state.backgroundColor).alpha; + if (alpha === void 0) + alpha = 1; + state.renderer.setClearColor(new three2.Color(curriedOpacify$1(1, state.backgroundColor)), alpha); + } + if (changedProps.hasOwnProperty("backgroundImageUrl")) { + if (!state.backgroundImageUrl) { + state.skysphere.visible = false; + state.skysphere.material.map = null; + !state.loadComplete && finishLoad(); + } else { + new three2.TextureLoader().load(state.backgroundImageUrl, function(texture) { + state.skysphere.material = new three2.MeshBasicMaterial({ + map: texture, + side: three2.BackSide + }); + state.skysphere.visible = true; + state.onBackgroundImageLoaded && setTimeout(state.onBackgroundImageLoaded); + !state.loadComplete && finishLoad(); + }); + } + } + changedProps.hasOwnProperty("showNavInfo") && (state.navInfo.style.display = state.showNavInfo ? null : "none"); + if (changedProps.hasOwnProperty("objects")) { + (changedProps.objects || []).forEach(function(obj) { + return state.scene.remove(obj); + }); + state.objects.forEach(function(obj) { + return state.scene.add(obj); + }); + } + function finishLoad() { + state.loadComplete = state.scene.visible = true; + } + } +}); + +// node_modules/3d-force-graph/dist/3d-force-graph.module.js +function styleInject2(css, ref) { + if (ref === void 0) + ref = {}; + var insertAt = ref.insertAt; + if (!css || typeof document === "undefined") { + return; + } + var head = document.head || document.getElementsByTagName("head")[0]; + var style = document.createElement("style"); + style.type = "text/css"; + if (insertAt === "top") { + if (head.firstChild) { + head.insertBefore(style, head.firstChild); + } else { + head.appendChild(style); + } + } else { + head.appendChild(style); + } + if (style.styleSheet) { + style.styleSheet.cssText = css; + } else { + style.appendChild(document.createTextNode(css)); + } +} +var css_248z2 = ".graph-info-msg {\n top: 50%;\n width: 100%;\n text-align: center;\n color: lavender;\n opacity: 0.7;\n font-size: 22px;\n position: absolute;\n font-family: Sans-serif;\n}\n\n.scene-container .clickable {\n cursor: pointer;\n}\n\n.scene-container .grabbable {\n cursor: move;\n cursor: grab;\n cursor: -moz-grab;\n cursor: -webkit-grab;\n}\n\n.scene-container .grabbable:active {\n cursor: grabbing;\n cursor: -moz-grabbing;\n cursor: -webkit-grabbing;\n}"; +styleInject2(css_248z2); +function ownKeys3(object, enumerableOnly) { + var keys = Object.keys(object); + if (Object.getOwnPropertySymbols) { + var symbols = Object.getOwnPropertySymbols(object); + enumerableOnly && (symbols = symbols.filter(function(sym) { + return Object.getOwnPropertyDescriptor(object, sym).enumerable; + })), keys.push.apply(keys, symbols); + } + return keys; +} +function _objectSpread23(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + i % 2 ? ownKeys3(Object(source), true).forEach(function(key) { + _defineProperty4(target, key, source[key]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys3(Object(source)).forEach(function(key) { + Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); + }); + } + return target; +} +function _defineProperty4(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + return obj; +} +function _toConsumableArray5(arr) { + return _arrayWithoutHoles5(arr) || _iterableToArray5(arr) || _unsupportedIterableToArray6(arr) || _nonIterableSpread5(); +} +function _arrayWithoutHoles5(arr) { + if (Array.isArray(arr)) + return _arrayLikeToArray6(arr); +} +function _iterableToArray5(iter) { + if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) + return Array.from(iter); +} +function _unsupportedIterableToArray6(o, minLen) { + if (!o) + return; + if (typeof o === "string") + return _arrayLikeToArray6(o, minLen); + var n = Object.prototype.toString.call(o).slice(8, -1); + if (n === "Object" && o.constructor) + n = o.constructor.name; + if (n === "Map" || n === "Set") + return Array.from(o); + if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) + return _arrayLikeToArray6(o, minLen); +} +function _arrayLikeToArray6(arr, len) { + if (len == null || len > arr.length) + len = arr.length; + for (var i = 0, arr2 = new Array(len); i < len; i++) + arr2[i] = arr[i]; + return arr2; +} +function _nonIterableSpread5() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +function linkKapsule(kapsulePropName, kapsuleType) { + var dummyK = new kapsuleType(); + return { + linkProp: function linkProp(prop) { + return { + "default": dummyK[prop](), + onChange: function onChange13(v, state) { + state[kapsulePropName][prop](v); + }, + triggerUpdate: false + }; + }, + linkMethod: function linkMethod(method) { + return function(state) { + var kapsuleInstance = state[kapsulePropName]; + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + var returnVal = kapsuleInstance[method].apply(kapsuleInstance, args); + return returnVal === kapsuleInstance ? this : returnVal; + }; + } + }; +} +var three3 = window.THREE ? window.THREE : { + AmbientLight, + DirectionalLight, + Vector3 +}; +var CAMERA_DISTANCE2NODES_FACTOR = 170; +var bindFG = linkKapsule("forceGraph", threeForcegraph); +var linkedFGProps = Object.assign.apply(Object, _toConsumableArray5(["jsonUrl", "graphData", "numDimensions", "dagMode", "dagLevelDistance", "dagNodeFilter", "onDagError", "nodeRelSize", "nodeId", "nodeVal", "nodeResolution", "nodeColor", "nodeAutoColorBy", "nodeOpacity", "nodeVisibility", "nodeThreeObject", "nodeThreeObjectExtend", "linkSource", "linkTarget", "linkVisibility", "linkColor", "linkAutoColorBy", "linkOpacity", "linkWidth", "linkResolution", "linkCurvature", "linkCurveRotation", "linkMaterial", "linkThreeObject", "linkThreeObjectExtend", "linkPositionUpdate", "linkDirectionalArrowLength", "linkDirectionalArrowColor", "linkDirectionalArrowRelPos", "linkDirectionalArrowResolution", "linkDirectionalParticles", "linkDirectionalParticleSpeed", "linkDirectionalParticleWidth", "linkDirectionalParticleColor", "linkDirectionalParticleResolution", "forceEngine", "d3AlphaDecay", "d3VelocityDecay", "d3AlphaMin", "ngraphPhysics", "warmupTicks", "cooldownTicks", "cooldownTime", "onEngineTick", "onEngineStop"].map(function(p) { + return _defineProperty4({}, p, bindFG.linkProp(p)); +}))); +var linkedFGMethods = Object.assign.apply(Object, _toConsumableArray5(["refresh", "getGraphBbox", "d3Force", "d3ReheatSimulation", "emitParticle"].map(function(p) { + return _defineProperty4({}, p, bindFG.linkMethod(p)); +}))); +var bindRenderObjs = linkKapsule("renderObjs", threeRenderObjects); +var linkedRenderObjsProps = Object.assign.apply(Object, _toConsumableArray5(["width", "height", "backgroundColor", "showNavInfo", "enablePointerInteraction"].map(function(p) { + return _defineProperty4({}, p, bindRenderObjs.linkProp(p)); +}))); +var linkedRenderObjsMethods = Object.assign.apply(Object, _toConsumableArray5(["cameraPosition", "postProcessingComposer"].map(function(p) { + return _defineProperty4({}, p, bindRenderObjs.linkMethod(p)); +})).concat([{ + graph2ScreenCoords: bindRenderObjs.linkMethod("getScreenCoords"), + screen2GraphCoords: bindRenderObjs.linkMethod("getSceneCoords") +}])); +var _3dForceGraph = index2({ + props: _objectSpread23(_objectSpread23({ + nodeLabel: { + "default": "name", + triggerUpdate: false + }, + linkLabel: { + "default": "name", + triggerUpdate: false + }, + linkHoverPrecision: { + "default": 1, + onChange: function onChange11(p, state) { + return state.renderObjs.lineHoverPrecision(p); + }, + triggerUpdate: false + }, + enableNavigationControls: { + "default": true, + onChange: function onChange12(enable, state) { + var controls3 = state.renderObjs.controls(); + if (controls3) { + controls3.enabled = enable; + } + }, + triggerUpdate: false + }, + enableNodeDrag: { + "default": true, + triggerUpdate: false + }, + onNodeDrag: { + "default": function _default12() { + }, + triggerUpdate: false + }, + onNodeDragEnd: { + "default": function _default13() { + }, + triggerUpdate: false + }, + onNodeClick: { + triggerUpdate: false + }, + onNodeRightClick: { + triggerUpdate: false + }, + onNodeHover: { + triggerUpdate: false + }, + onLinkClick: { + triggerUpdate: false + }, + onLinkRightClick: { + triggerUpdate: false + }, + onLinkHover: { + triggerUpdate: false + }, + onBackgroundClick: { + triggerUpdate: false + }, + onBackgroundRightClick: { + triggerUpdate: false + } + }, linkedFGProps), linkedRenderObjsProps), + methods: _objectSpread23(_objectSpread23({ + zoomToFit: function zoomToFit2(state, transitionDuration, padding) { + var _state$forceGraph; + for (var _len = arguments.length, bboxArgs = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) { + bboxArgs[_key - 3] = arguments[_key]; + } + state.renderObjs.fitToBbox((_state$forceGraph = state.forceGraph).getGraphBbox.apply(_state$forceGraph, bboxArgs), transitionDuration, padding); + return this; + }, + pauseAnimation: function pauseAnimation(state) { + if (state.animationFrameRequestId !== null) { + cancelAnimationFrame(state.animationFrameRequestId); + state.animationFrameRequestId = null; + } + return this; + }, + resumeAnimation: function resumeAnimation(state) { + if (state.animationFrameRequestId === null) { + this._animationCycle(); + } + return this; + }, + _animationCycle: function _animationCycle(state) { + if (state.enablePointerInteraction) { + this.renderer().domElement.style.cursor = null; + } + state.forceGraph.tickFrame(); + state.renderObjs.tick(); + state.animationFrameRequestId = requestAnimationFrame(this._animationCycle); + }, + scene: function scene2(state) { + return state.renderObjs.scene(); + }, + camera: function camera2(state) { + return state.renderObjs.camera(); + }, + renderer: function renderer2(state) { + return state.renderObjs.renderer(); + }, + controls: function controls2(state) { + return state.renderObjs.controls(); + }, + tbControls: function tbControls2(state) { + return state.renderObjs.tbControls(); + }, + _destructor: function _destructor() { + this.pauseAnimation(); + this.graphData({ + nodes: [], + links: [] + }); + } + }, linkedFGMethods), linkedRenderObjsMethods), + stateInit: function stateInit3(_ref5) { + var controlType = _ref5.controlType, rendererConfig = _ref5.rendererConfig, extraRenderers = _ref5.extraRenderers; + return { + forceGraph: new threeForcegraph(), + renderObjs: threeRenderObjects({ + controlType, + rendererConfig, + extraRenderers + }) + }; + }, + init: function init3(domNode, state) { + domNode.innerHTML = ""; + domNode.appendChild(state.container = document.createElement("div")); + state.container.style.position = "relative"; + var roDomNode = document.createElement("div"); + state.container.appendChild(roDomNode); + state.renderObjs(roDomNode); + var camera3 = state.renderObjs.camera(); + var renderer3 = state.renderObjs.renderer(); + var controls3 = state.renderObjs.controls(); + controls3.enabled = !!state.enableNavigationControls; + state.lastSetCameraZ = camera3.position.z; + var infoElem; + state.container.appendChild(infoElem = document.createElement("div")); + infoElem.className = "graph-info-msg"; + infoElem.textContent = ""; + state.forceGraph.onLoading(function() { + infoElem.textContent = "Loading..."; + }).onFinishLoading(function() { + infoElem.textContent = ""; + }).onUpdate(function() { + state.graphData = state.forceGraph.graphData(); + if (camera3.position.x === 0 && camera3.position.y === 0 && camera3.position.z === state.lastSetCameraZ && state.graphData.nodes.length) { + camera3.lookAt(state.forceGraph.position); + state.lastSetCameraZ = camera3.position.z = Math.cbrt(state.graphData.nodes.length) * CAMERA_DISTANCE2NODES_FACTOR; + } + }).onFinishUpdate(function() { + if (state._dragControls) { + var curNodeDrag = state.graphData.nodes.find(function(node) { + return node.__initialFixedPos && !node.__disposeControlsAfterDrag; + }); + if (curNodeDrag) { + curNodeDrag.__disposeControlsAfterDrag = true; + } else { + state._dragControls.dispose(); + } + state._dragControls = void 0; + } + if (state.enableNodeDrag && state.enablePointerInteraction && state.forceEngine === "d3") { + var dragControls = state._dragControls = new DragControls(state.graphData.nodes.map(function(node) { + return node.__threeObj; + }).filter(function(obj) { + return obj; + }), camera3, renderer3.domElement); + dragControls.addEventListener("dragstart", function(event) { + controls3.enabled = false; + event.object.__initialPos = event.object.position.clone(); + event.object.__prevPos = event.object.position.clone(); + var node = getGraphObj(event.object).__data; + !node.__initialFixedPos && (node.__initialFixedPos = { + fx: node.fx, + fy: node.fy, + fz: node.fz + }); + !node.__initialPos && (node.__initialPos = { + x: node.x, + y: node.y, + z: node.z + }); + ["x", "y", "z"].forEach(function(c2) { + return node["f".concat(c2)] = node[c2]; + }); + renderer3.domElement.classList.add("grabbable"); + }); + dragControls.addEventListener("drag", function(event) { + var nodeObj = getGraphObj(event.object); + if (!event.object.hasOwnProperty("__graphObjType")) { + var initPos = event.object.__initialPos; + var prevPos = event.object.__prevPos; + var _newPos = event.object.position; + nodeObj.position.add(_newPos.clone().sub(prevPos)); + prevPos.copy(_newPos); + _newPos.copy(initPos); + } + var node = nodeObj.__data; + var newPos = nodeObj.position; + var translate = { + x: newPos.x - node.x, + y: newPos.y - node.y, + z: newPos.z - node.z + }; + ["x", "y", "z"].forEach(function(c2) { + return node["f".concat(c2)] = node[c2] = newPos[c2]; + }); + state.forceGraph.d3AlphaTarget(0.3).resetCountdown(); + node.__dragged = true; + state.onNodeDrag(node, translate); + }); + dragControls.addEventListener("dragend", function(event) { + delete event.object.__initialPos; + delete event.object.__prevPos; + var node = getGraphObj(event.object).__data; + if (node.__disposeControlsAfterDrag) { + dragControls.dispose(); + delete node.__disposeControlsAfterDrag; + } + var initFixedPos = node.__initialFixedPos; + var initPos = node.__initialPos; + var translate = { + x: initPos.x - node.x, + y: initPos.y - node.y, + z: initPos.z - node.z + }; + if (initFixedPos) { + ["x", "y", "z"].forEach(function(c2) { + var fc = "f".concat(c2); + if (initFixedPos[fc] === void 0) { + delete node[fc]; + } + }); + delete node.__initialFixedPos; + delete node.__initialPos; + if (node.__dragged) { + delete node.__dragged; + state.onNodeDragEnd(node, translate); + } + } + state.forceGraph.d3AlphaTarget(0).resetCountdown(); + if (state.enableNavigationControls) { + controls3.enabled = true; + controls3.domElement && controls3.domElement.ownerDocument && controls3.domElement.ownerDocument.dispatchEvent(new PointerEvent("pointerup", { + pointerType: "touch" + })); + } + renderer3.domElement.classList.remove("grabbable"); + }); + } + }); + state.renderObjs.objects([ + new three3.AmbientLight(12303291), + new three3.DirectionalLight(16777215, 0.6), + state.forceGraph + ]).hoverOrderComparator(function(a2, b) { + var aObj = getGraphObj(a2); + if (!aObj) + return 1; + var bObj = getGraphObj(b); + if (!bObj) + return -1; + var isNode = function isNode2(o) { + return o.__graphObjType === "node"; + }; + return isNode(bObj) - isNode(aObj); + }).tooltipContent(function(obj) { + var graphObj = getGraphObj(obj); + return graphObj ? accessor_fn_module_default(state["".concat(graphObj.__graphObjType, "Label")])(graphObj.__data) || "" : ""; + }).hoverDuringDrag(false).onHover(function(obj) { + var hoverObj = getGraphObj(obj); + if (hoverObj !== state.hoverObj) { + var prevObjType = state.hoverObj ? state.hoverObj.__graphObjType : null; + var prevObjData = state.hoverObj ? state.hoverObj.__data : null; + var objType = hoverObj ? hoverObj.__graphObjType : null; + var objData = hoverObj ? hoverObj.__data : null; + if (prevObjType && prevObjType !== objType) { + var fn = state["on".concat(prevObjType === "node" ? "Node" : "Link", "Hover")]; + fn && fn(null, prevObjData); + } + if (objType) { + var _fn = state["on".concat(objType === "node" ? "Node" : "Link", "Hover")]; + _fn && _fn(objData, prevObjType === objType ? prevObjData : null); + } + renderer3.domElement.classList[hoverObj && state["on".concat(objType === "node" ? "Node" : "Link", "Click")] || !hoverObj && state.onBackgroundClick ? "add" : "remove"]("clickable"); + state.hoverObj = hoverObj; + } + }).clickAfterDrag(false).onClick(function(obj, ev) { + var graphObj = getGraphObj(obj); + if (graphObj) { + var fn = state["on".concat(graphObj.__graphObjType === "node" ? "Node" : "Link", "Click")]; + fn && fn(graphObj.__data, ev); + } else { + state.onBackgroundClick && state.onBackgroundClick(ev); + } + }).onRightClick(function(obj, ev) { + var graphObj = getGraphObj(obj); + if (graphObj) { + var fn = state["on".concat(graphObj.__graphObjType === "node" ? "Node" : "Link", "RightClick")]; + fn && fn(graphObj.__data, ev); + } else { + state.onBackgroundRightClick && state.onBackgroundRightClick(ev); + } + }); + this._animationCycle(); + } +}); +function getGraphObj(object) { + var obj = object; + while (obj && !obj.hasOwnProperty("__graphObjType")) { + obj = obj.parent; + } + return obj; +} + +// src/settings/categories/GroupSettings.ts +var GroupSettings = class { + constructor(groups) { + this.groups = []; + this.groups = groups != null ? groups : this.groups; + } + static fromStore(store) { + return new GroupSettings(store == null ? void 0 : store.groups); + } + toObject() { + return { + groups: this.groups + }; + } +}; +var NodeGroup = class { + constructor(query, color) { + this.query = query; + this.color = color; + } + static getRegex(query) { + return new RegExp(query); + } + static matches(query, node) { + return node.path.startsWith(this.sanitizeQuery(query)); + } + static sanitizeQuery(query) { + const trimmedQuery = query.trim(); + if (trimmedQuery.startsWith("./")) + return trimmedQuery.slice(1); + else + return trimmedQuery; + } +}; + +// src/util/EventBus.ts +var import_obsidian = require("obsidian"); +var EventBus = class extends import_obsidian.Events { + constructor() { + super(); + } +}; +var EventBus_default = new EventBus(); + +// src/views/graph/ForceGraph.ts +var ForceGraph2 = class { + constructor(plugin, rootHtmlElement, isLocalGraph) { + this.highlightedNodes = /* @__PURE__ */ new Set(); + this.highlightedLinks = /* @__PURE__ */ new Set(); + this.getGraphData = () => { + if (this.isLocalGraph && this.plugin.openFileState.value) { + this.graph = this.plugin.globalGraph.clone().getLocalGraph(this.plugin.openFileState.value); + console.log(this.graph); + } else { + this.graph = this.plugin.globalGraph.clone(); + } + return this.graph; + }; + this.refreshGraphData = () => { + this.instance.graphData(this.getGraphData()); + }; + this.onSettingsStateChanged = (data) => { + if (data.currentPath === "display.nodeSize") { + this.instance.nodeRelSize(data.newValue); + } else if (data.currentPath === "display.linkWidth") { + this.instance.linkWidth(data.newValue); + } else if (data.currentPath === "display.particleSize") { + this.instance.linkDirectionalParticleWidth(this.plugin.getSettings().display.particleSize); + } + this.instance.refresh(); + }; + this.createNodes = () => { + this.instance.nodeColor((node) => this.getNodeColor(node)).nodeVisibility(this.doShowNode).onNodeHover(this.onNodeHover); + }; + this.getNodeColor = (node) => { + if (this.isHighlightedNode(node)) { + return node === this.hoveredNode ? this.plugin.theme.interactiveAccentHover : this.plugin.theme.textAccent; + } else { + let color = this.plugin.theme.textMuted; + this.plugin.getSettings().groups.groups.forEach((group) => { + if (NodeGroup.matches(group.query, node)) + color = group.color; + }); + return color; + } + }; + this.doShowNode = (node) => { + return this.plugin.getSettings().filters.doShowOrphans || node.links.length > 0; + }; + this.onNodeHover = (node) => { + if (!node && !this.highlightedNodes.size || node && this.hoveredNode === node) + return; + this.clearHighlights(); + if (node) { + this.highlightedNodes.add(node.id); + node.neighbors.forEach((neighbor) => this.highlightedNodes.add(neighbor.id)); + const nodeLinks = this.graph.getLinksWithNode(node.id); + if (nodeLinks) + nodeLinks.forEach((link) => this.highlightedLinks.add(link)); + } + this.hoveredNode = node != null ? node : null; + this.updateHighlight(); + }; + this.isHighlightedLink = (link) => { + return this.highlightedLinks.has(link); + }; + this.isHighlightedNode = (node) => { + return this.highlightedNodes.has(node.id); + }; + this.createLinks = () => { + this.instance.linkWidth((link) => this.isHighlightedLink(link) ? this.plugin.getSettings().display.linkThickness * 1.5 : this.plugin.getSettings().display.linkThickness).linkDirectionalParticles((link) => this.isHighlightedLink(link) ? this.plugin.getSettings().display.particleCount : 0).linkDirectionalParticleWidth(this.plugin.getSettings().display.particleSize).onLinkHover(this.onLinkHover).linkColor((link) => this.isHighlightedLink(link) ? this.plugin.theme.textAccent : this.plugin.theme.textMuted); + }; + this.onLinkHover = (link) => { + this.clearHighlights(); + if (link) { + this.highlightedLinks.add(link); + this.highlightedNodes.add(link.source); + this.highlightedNodes.add(link.target); + } + this.updateHighlight(); + }; + this.clearHighlights = () => { + this.highlightedNodes.clear(); + this.highlightedLinks.clear(); + }; + this.rootHtmlElement = rootHtmlElement; + this.isLocalGraph = isLocalGraph; + this.plugin = plugin; + console.log("ForceGraph constructor", rootHtmlElement); + this.createGraph(); + this.initListeners(); + } + initListeners() { + this.plugin.settingsState.onChange(this.onSettingsStateChanged); + if (this.isLocalGraph) + this.plugin.openFileState.onChange(this.refreshGraphData); + EventBus_default.on("graph-changed", this.refreshGraphData); + } + createGraph() { + this.createInstance(); + this.createNodes(); + this.createLinks(); + } + createInstance() { + const [width, height] = [ + this.rootHtmlElement.innerWidth, + this.rootHtmlElement.innerHeight + ]; + this.instance = _3dForceGraph()(this.rootHtmlElement).graphData(this.getGraphData()).nodeLabel((node) => `
${node.name}
`).nodeRelSize(this.plugin.getSettings().display.nodeSize).backgroundColor(rgba(0, 0, 0, 0)).width(width).height(height); + } + updateDimensions() { + const [width, height] = [ + this.rootHtmlElement.offsetWidth, + this.rootHtmlElement.offsetHeight + ]; + this.setDimensions(width, height); + } + setDimensions(width, height) { + this.instance.width(width); + this.instance.height(height); + } + updateHighlight() { + this.instance.nodeColor(this.instance.nodeColor()).linkColor(this.instance.linkColor()).linkDirectionalParticles(this.instance.linkDirectionalParticles()); + } + getInstance() { + return this.instance; + } +}; + +// src/views/atomics/TreeItem.ts +var TreeItem = class extends HTMLDivElement { + constructor($inner, children) { + super(); + this.appendSelf = () => { + ["graph-control-section", "tree-item"].forEach((className) => this.classList.add(className)); + const $self = createDiv({ cls: "tree-item-self" }); + $self.addEventListener("click", () => { + this.toggleCollapse(); + }); + const $inner = createDiv({ cls: "tree-item-inner" }); + $inner.append(this.$inner); + $self.append($inner); + this.append($self); + }; + this.appendChildren = () => { + const $children = createDiv({ cls: "tree-item-children" }); + this.childrenBuilders.forEach((build) => build($children)); + this.append($children); + }; + this.toggleCollapse = (doCollapse) => { + if (doCollapse === void 0) { + doCollapse = !this.classList.contains("is-collapsed"); + } + this.classList.toggle("is-collapsed", doCollapse); + }; + this.$inner = $inner; + this.childrenBuilders = children; + } + async connectedCallback() { + this.appendSelf(); + this.appendChildren(); + } +}; +if (typeof customElements.get("tree-item") === "undefined") { + customElements.define("tree-item", TreeItem, { extends: "div" }); +} + +// src/views/atomics/SimpleSliderSetting.ts +var import_obsidian2 = require("obsidian"); +var SimpleSliderSetting = (containerEl, options, onChange13) => { + const slider = new import_obsidian2.Setting(containerEl).setName(options.name).setClass("mod-slider").addSlider((slider2) => { + slider2.setLimits(options.stepOptions.min, options.stepOptions.max, options.stepOptions.step).setValue(options.value).onChange(async (value) => { + onChange13(value); + }); + }); + return slider; +}; +var DEFAULT_SLIDER_STEP_OPTIONS = { + min: 1, + max: 20, + step: 1 +}; +var SimpleSliderSetting_default = SimpleSliderSetting; + +// src/views/settings/categories/DisplaySettingsView.ts +var DisplaySettingsView = (displaySettings, containerEl) => { + NodeSizeSetting(displaySettings, containerEl); + LinkThicknessSetting(displaySettings, containerEl); + ParticleSizeSetting(displaySettings, containerEl); + ParticleCountSetting(displaySettings, containerEl); +}; +var NodeSizeSetting = (displaySettings, containerEl) => { + const options = { + name: "Node Size", + value: displaySettings.value.nodeSize, + stepOptions: DEFAULT_SLIDER_STEP_OPTIONS + }; + return SimpleSliderSetting_default(containerEl, options, (value) => { + displaySettings.value.nodeSize = value; + }); +}; +var LinkThicknessSetting = (displaySettings, containerEl) => { + const options = { + name: "Link Thickness", + value: displaySettings.value.linkThickness, + stepOptions: DEFAULT_SLIDER_STEP_OPTIONS + }; + return SimpleSliderSetting_default(containerEl, options, (value) => { + displaySettings.value.linkThickness = value; + }); +}; +var ParticleSizeSetting = (displaySettings, containerEl) => { + const options = { + name: "Particle Size", + value: displaySettings.value.particleSize, + stepOptions: DEFAULT_SLIDER_STEP_OPTIONS + }; + return SimpleSliderSetting_default(containerEl, options, (value) => { + displaySettings.value.particleSize = value; + }); +}; +var ParticleCountSetting = (displaySettings, containerEl) => { + const options = { + name: "Particle Count", + value: displaySettings.value.particleCount, + stepOptions: DEFAULT_SLIDER_STEP_OPTIONS + }; + return SimpleSliderSetting_default(containerEl, options, (value) => { + displaySettings.value.particleCount = value; + }); +}; +var DisplaySettingsView_default = DisplaySettingsView; + +// src/settings/categories/FilterSettings.ts +var FilterSettings = class { + constructor(doShowOrphans) { + this.doShowOrphans = true; + this.doShowOrphans = doShowOrphans != null ? doShowOrphans : this.doShowOrphans; + } + static fromStore(store) { + return new FilterSettings(store == null ? void 0 : store.doShowOrphans); + } + toObject() { + return { + doShowOrphans: this.doShowOrphans + }; + } +}; + +// src/settings/categories/DisplaySettings.ts +var DisplaySettings = class { + constructor(nodeSize, linkThickness, particleSize, particleCount) { + this.nodeSize = 4; + this.linkThickness = 5; + this.particleSize = 6; + this.particleCount = 4; + this.nodeSize = nodeSize != null ? nodeSize : this.nodeSize; + this.linkThickness = linkThickness != null ? linkThickness : this.linkThickness; + this.particleSize = particleSize != null ? particleSize : this.particleSize; + this.particleCount = particleCount != null ? particleCount : this.particleCount; + } + static fromStore(store) { + return new DisplaySettings(store == null ? void 0 : store.nodeSize, store == null ? void 0 : store.linkThickness, store == null ? void 0 : store.particleSize, store == null ? void 0 : store.particleCount); + } + toObject() { + return { + nodeSize: this.nodeSize, + linkThickness: this.linkThickness, + particleSize: this.particleSize, + particleCount: this.particleCount + }; + } +}; + +// src/views/settings/GraphSettingsView.ts +var import_obsidian5 = require("obsidian"); + +// src/util/State.ts +var import_observable_slim = __toESM(require_observable_slim()); +var _State = class { + constructor(value) { + this.listeners = /* @__PURE__ */ new Map(); + this.onChange = (callback) => { + const listenerId = this.generateListenerId(); + this.listeners.set(listenerId, callback); + return () => this.unsubscribe(listenerId); + }; + this.generateListenerId = () => { + _State.listener_count++; + return _State.listener_count; + }; + this.unsubscribe = (listenerId) => { + this.listeners.delete(listenerId); + }; + this.notifyAll = (changeData) => { + this.listeners.forEach((listener) => listener(changeData)); + }; + this.onValueChange = (changes) => { + changes.forEach((change) => { + this.notifyAll(Object.assign({}, change, { triggerStateId: this.id })); + }); + }; + _State.stateCount++; + this.id = _State.stateCount; + this.val = typeof value === "object" ? import_observable_slim.default.create(value, false, this.onValueChange) : value; + } + get value() { + return this.val; + } + set value(val) { + const previousValue = this.val; + if (typeof val !== "object") { + this.val = val; + } else { + this.val = import_observable_slim.default.create(val, false, this.onValueChange); + } + this.onValueChange([ + { + type: "update", + property: "", + currentPath: "", + jsonPointer: "", + target: this.val, + proxy: this.val.__getProxy, + previousValue, + newValue: this.val + } + ]); + } + createSubState(key, type) { + const subStateKeys = key.split("."), subStateValue = subStateKeys.reduce((obj, key2) => { + const val = obj[key2]; + if (val !== void 0) { + return val; + } + throw new InvalidStateKeyError(key2, this); + }, this); + if (typeof subStateValue === "object") { + if (subStateValue instanceof type) { + return new _State(subStateValue.__getTarget); + } else { + throw new Error(`Substate ${key} of state ${this.id} is not of type ${type.name}`); + } + } else + throw new Error("SubStates of properties that are Primitives are not supported yet."); + } + getRawValue() { + if (typeof this.val === "object") { + return this.val.__getTarget; + } + return this.val; + } +}; +var State = _State; +State.listener_count = 0; +State.stateCount = 0; +var InvalidStateKeyError = class extends Error { + constructor(subStateKey, state) { + super(); + this.message = `Key does not exist! + Detailed error: + ${subStateKey} could not be found in "value":${JSON.stringify(state.value)} + `; + } +}; + +// src/views/settings/categories/GroupSettingsView.ts +var import_obsidian3 = require("obsidian"); + +// src/views/atomics/ColorPicker.ts +var ColorPicker = (containerEl, value, onChange13) => { + const input = document.createElement("input"); + input.type = "color"; + input.value = value; + input.addEventListener("change", () => { + onChange13(input.value); + }); + containerEl.appendChild(input); +}; +var ColorPicker_default = ColorPicker; + +// src/views/settings/categories/GroupSettingsView.ts +var GroupSettingsView = (groupSettings, containerEl, theme) => { + NodeGroups(groupSettings, containerEl); + AddNodeGroupButton(groupSettings, containerEl, theme); + groupSettings.onChange((change) => { + if (change.currentPath === "groups" && change.type === "add" || change.type === "delete") { + containerEl.empty(); + NodeGroups(groupSettings, containerEl); + AddNodeGroupButton(groupSettings, containerEl, theme); + } + }); +}; +var NodeGroups = (groupSettings, containerEl) => { + var _a; + (_a = containerEl.querySelector(".node-group-container")) == null ? void 0 : _a.remove(); + const nodeGroupContainerEl = containerEl.createDiv({ + cls: "graph-color-groups-container" + }); + groupSettings.value.groups.forEach((group, index5) => { + const groupState = groupSettings.createSubState(`value.groups.${index5}`, NodeGroup); + GroupSettingItem(groupState, nodeGroupContainerEl, () => { + groupSettings.value.groups.splice(index5, 1); + }); + }); +}; +var AddNodeGroupButton = (groupSettings, containerEl, theme) => { + var _a; + (_a = containerEl.querySelector(".graph-color-button-container")) == null ? void 0 : _a.remove(); + const buttonContainer = containerEl.createDiv({ + cls: "graph-color-button-container" + }); + new import_obsidian3.ButtonComponent(buttonContainer).setClass("mod-cta").setButtonText("Add Group").onClick(() => { + groupSettings.value.groups.push(new NodeGroup("", theme.textMuted)); + containerEl.empty(); + GroupSettingsView(groupSettings, containerEl, theme); + }); +}; +var GroupSettingItem = (group, containerEl, onDelete) => { + const groupEl = containerEl.createDiv({ cls: "graph-color-group" }); + new import_obsidian3.TextComponent(groupEl).setValue(group.value.query).onChange((value) => { + group.value.query = value; + }); + ColorPicker_default(groupEl, group.value.color, (value) => { + group.value.color = value; + }); + new import_obsidian3.ExtraButtonComponent(groupEl).setIcon("cross").setTooltip("Delete Group").onClick(onDelete); +}; +var GroupSettingsView_default = GroupSettingsView; + +// src/views/settings/categories/FilterSettingsView.ts +var import_obsidian4 = require("obsidian"); +var FilterSettingsView = (filterSettings, containerEl) => { + new import_obsidian4.Setting(containerEl).setName("Show Orphans").addToggle((toggle) => { + toggle.setValue(filterSettings.value.doShowOrphans || false).onChange(async (value) => { + filterSettings.value.doShowOrphans = value; + }); + }); +}; +var FilterSettingsView_default = FilterSettingsView; + +// src/views/settings/GraphSettingsView.ts +var GraphSettingsView = class extends HTMLDivElement { + constructor(settingsState, theme) { + super(); + this.isCollapsedState = new State(true); + this.callbackUnregisterHandles = []; + this.onIsCollapsedChanged = (stateChange) => { + const collapsed = stateChange.newValue; + this.toggleCollapsed(collapsed); + }; + this.onSettingsButtonClicked = () => { + console.log("settings button clicked"); + this.isCollapsedState.value = !this.isCollapsedState.value; + }; + this.settingsState = settingsState; + this.theme = theme; + } + async connectedCallback() { + this.classList.add("graph-settings-view"); + this.settingsButton = new import_obsidian5.ExtraButtonComponent(this).setIcon("settings").setTooltip("Open graph settings").onClick(this.onSettingsButtonClicked); + this.graphControls = this.createDiv({ cls: "graph-controls" }); + this.appendGraphControlsItems(this.graphControls.createDiv({ cls: "control-buttons" })); + this.appendSetting(this.settingsState.createSubState("value.filters", FilterSettings), "Filters", FilterSettingsView_default); + this.appendSetting(this.settingsState.createSubState("value.groups", GroupSettings), "Groups", (...args) => GroupSettingsView_default(...args, this.theme)); + this.appendSetting(this.settingsState.createSubState("value.display", DisplaySettings), "Display", DisplaySettingsView_default); + this.initListeners(); + this.toggleCollapsed(this.isCollapsedState.value); + } + initListeners() { + EventBus_default.on("did-reset-settings", () => { + this.disconnectedCallback(); + this.connectedCallback(); + }); + this.callbackUnregisterHandles.push(this.isCollapsedState.onChange(this.onIsCollapsedChanged)); + } + toggleCollapsed(collapsed) { + if (collapsed) { + this.settingsButton.setDisabled(false); + this.graphControls.classList.add("hidden"); + } else { + this.settingsButton.setDisabled(true); + this.graphControls.classList.remove("hidden"); + } + } + appendGraphControlsItems(containerEl) { + this.appendResetButton(containerEl); + this.appendMinimizeButton(containerEl); + } + appendResetButton(containerEl) { + new import_obsidian5.ExtraButtonComponent(containerEl).setIcon("eraser").setTooltip("Reset to default").onClick(() => EventBus_default.trigger("do-reset-settings")); + } + appendMinimizeButton(containerEl) { + new import_obsidian5.ExtraButtonComponent(containerEl).setIcon("x").setTooltip("Close").onClick(() => this.isCollapsedState.value = true); + } + appendSetting(setting, title, view) { + const header = document.createElement("header"); + header.classList.add("graph-control-section-header"); + header.innerHTML = title; + const item = new TreeItem(header, [ + (containerEl) => view(setting, containerEl) + ]); + item.classList.add("is-collapsed"); + this.graphControls.append(item); + } + async disconnectedCallback() { + this.empty(); + this.callbackUnregisterHandles.forEach((handle) => handle()); + } +}; +if (typeof customElements.get("graph-settings-view") === "undefined") { + customElements.define("graph-settings-view", GraphSettingsView, { + extends: "div" + }); +} + +// src/views/graph/Graph3dView.ts +var Graph3dView = class extends import_obsidian6.ItemView { + constructor(plugin, leaf, isLocalGraph = false) { + super(leaf); + this.isLocalGraph = isLocalGraph; + this.plugin = plugin; + } + onunload() { + var _a; + super.onunload(); + (_a = this.forceGraph) == null ? void 0 : _a.getInstance()._destructor(); + } + showGraph() { + const viewContent = this.containerEl.querySelector(".view-content"); + if (viewContent) { + viewContent.classList.add("graph-3d-view"); + this.appendGraph(viewContent); + const settings = new GraphSettingsView(this.plugin.settingsState, this.plugin.theme); + viewContent.appendChild(settings); + } else { + console.error("Could not find view content"); + } + } + getDisplayText() { + return "3D-Graph"; + } + getViewType() { + return "3d_graph_view"; + } + onResize() { + super.onResize(); + this.forceGraph.updateDimensions(); + } + appendGraph(viewContent) { + this.forceGraph = new ForceGraph2(this.plugin, viewContent, this.isLocalGraph); + this.forceGraph.getInstance().onNodeClick((node, mouseEvent) => { + const clickedNodeFile = this.app.vault.getFiles().find((f) => f.path === node.path); + if (clickedNodeFile) { + if (this.isLocalGraph) { + this.app.workspace.getLeaf(false).openFile(clickedNodeFile); + } else { + this.leaf.openFile(clickedNodeFile); + } + } + }); + } +}; + +// src/settings/GraphSettings.ts +var GraphSettings = class { + constructor(filterOptions, groupOptions, displayOptions) { + this.filters = filterOptions; + this.groups = groupOptions; + this.display = displayOptions; + } + static fromStore(store) { + return new GraphSettings(FilterSettings.fromStore(store == null ? void 0 : store.filters), GroupSettings.fromStore(store == null ? void 0 : store.groups), DisplaySettings.fromStore(store == null ? void 0 : store.display)); + } + reset() { + Object.assign(this.filters, new FilterSettings()); + Object.assign(this.groups, new GroupSettings()); + Object.assign(this.display, new DisplaySettings()); + } + toObject() { + return { + filters: this.filters.toObject(), + groups: this.groups.toObject(), + display: this.display.toObject() + }; + } +}; + +// src/graph/Link.ts +var Link = class { + constructor(sourceId, targetId) { + this.source = sourceId; + this.target = targetId; + } + static createLinkIndex(links) { + const linkIndex = /* @__PURE__ */ new Map(); + links.forEach((link, index5) => { + var _a; + if (!linkIndex.has(link.source)) { + linkIndex.set(link.source, /* @__PURE__ */ new Map()); + } + (_a = linkIndex.get(link.source)) == null ? void 0 : _a.set(link.target, index5); + }); + return linkIndex; + } + static createFromCache(cache, nodes, nodeIndex) { + const links = Object.keys(cache).map((node1Id) => { + return Object.keys(cache[node1Id]).map((node2Id) => { + const [node1Index, node2Index] = [ + nodeIndex.get(node1Id), + nodeIndex.get(node2Id) + ]; + if (node1Index !== void 0 && node2Index !== void 0) { + return nodes[node1Index].addNeighbor(nodes[node2Index]); + } + return null; + }).flat(); + }).flat().filter((link, index5, self2) => link && link.source !== link.target && index5 === self2.findIndex((l) => l && l.source === link.source && l.target === link.target)); + return [links, Link.createLinkIndex(links)]; + } +}; + +// src/graph/Node.ts +var Node = class { + constructor(name, path, val = 10, neighbors = [], links = []) { + this.id = path; + this.name = name; + this.path = path; + this.val = val; + this.neighbors = neighbors; + this.links = links; + } + static createFromFiles(files) { + const nodeMap = /* @__PURE__ */ new Map(); + return [ + files.map((file, index5) => { + const node = new Node(file.name, file.path); + if (!nodeMap.has(node.id)) { + nodeMap.set(node.id, index5); + return node; + } + return null; + }).filter((node) => node !== null), + nodeMap + ]; + } + addNeighbor(neighbor) { + if (!this.isNeighborOf(neighbor)) { + const link = new Link(this.id, neighbor.id); + this.neighbors.push(neighbor); + this.addLink(link); + neighbor.neighbors.push(this); + neighbor.addLink(link); + return link; + } + return null; + } + addLink(link) { + if (!this.links.some((l) => l.source === link.source && l.target === link.target)) { + this.links.push(link); + } + } + isNeighborOf(node) { + if (node instanceof Node) + return this.neighbors.includes(node); + else + return this.neighbors.some((neighbor) => neighbor.id === node); + } +}; + +// src/graph/Graph.ts +var _Graph = class { + constructor(nodes, links, nodeIndex, linkIndex) { + this.clone = () => { + return new _Graph(structuredClone(this.nodes), structuredClone(this.links), structuredClone(this.nodeIndex), structuredClone(this.linkIndex)); + }; + this.update = (app) => { + const newGraph = _Graph.createFromApp(app); + this.nodes.splice(0, this.nodes.length, ...newGraph.nodes); + this.links.splice(0, this.nodes.length, ...newGraph.links); + this.nodeIndex.clear(); + newGraph.nodeIndex.forEach((value, key) => { + this.nodeIndex.set(key, value); + }); + this.linkIndex.clear(); + newGraph.linkIndex.forEach((value, key) => { + this.linkIndex.set(key, value); + }); + }; + this.nodes = nodes; + this.links = links; + this.nodeIndex = nodeIndex || /* @__PURE__ */ new Map(); + this.linkIndex = linkIndex || /* @__PURE__ */ new Map(); + } + getNodeById(id) { + const index5 = this.nodeIndex.get(id); + if (index5 !== void 0) { + return this.nodes[index5]; + } + return null; + } + getLinkByIds(sourceNodeId, targetNodeId) { + const sourceLinkMap = this.linkIndex.get(sourceNodeId); + if (sourceLinkMap) { + const index5 = sourceLinkMap.get(targetNodeId); + if (index5 !== void 0) { + return this.links[index5]; + } + } + return null; + } + getLinksFromNode(sourceNodeId) { + const sourceLinkMap = this.linkIndex.get(sourceNodeId); + if (sourceLinkMap) { + return Array.from(sourceLinkMap.values()).map((index5) => this.links[index5]); + } + return []; + } + getLinksWithNode(nodeId) { + var _a, _b; + if ((_b = (_a = this.links[0]) == null ? void 0 : _a.source) == null ? void 0 : _b.id) { + return this.links.filter((link) => link.source.id === nodeId || link.target.id === nodeId); + } else { + return this.links.filter((link) => link.source === nodeId || link.target === nodeId); + } + } + getLocalGraph(nodeId) { + const node = this.getNodeById(nodeId); + if (node) { + const nodes = [node, ...node.neighbors]; + const links = []; + const nodeIndex = /* @__PURE__ */ new Map(); + nodes.forEach((node2, index5) => { + nodeIndex.set(node2.id, index5); + }); + nodes.forEach((node2, index5) => { + const filteredLinks = node2.links.filter((link) => nodeIndex.has(link.target) && nodeIndex.has(link.source)).map((link) => { + if (!links.includes(link) && nodeIndex.has(link.target) && nodeIndex.has(link.source)) + links.push(link); + return link; + }); + node2.links.splice(0, node2.links.length, ...filteredLinks); + }); + const linkIndex = Link.createLinkIndex(links); + return new _Graph(nodes, links, nodeIndex, linkIndex); + } else { + return new _Graph([], [], /* @__PURE__ */ new Map(), /* @__PURE__ */ new Map()); + } + } +}; +var Graph = _Graph; +Graph.createFromApp = (app) => { + const [nodes, nodeIndex] = Node.createFromFiles(app.vault.getFiles()), [links, linkIndex] = Link.createFromCache(app.metadataCache.resolvedLinks, nodes, nodeIndex); + return new _Graph(nodes, links, nodeIndex, linkIndex); +}; + +// src/util/ObsidianTheme.ts +var ObsidianTheme = class { + constructor(root) { + this.backgroundPrimary = getComputedStyle(root).getPropertyValue("--background-primary").trim(); + this.backgroundPrimaryAlt = getComputedStyle(root).getPropertyValue("--background-primary-alt").trim(); + this.backgroundSecondary = getComputedStyle(root).getPropertyValue("--background-secondary").trim(); + this.backgroundSecondaryAlt = getComputedStyle(root).getPropertyValue("--background-secondary-alt").trim(); + this.backgroundModifierBorder = getComputedStyle(root).getPropertyValue("--background-modifier-border").trim(); + this.backgroundModifierSuccess = getComputedStyle(root).getPropertyValue("--background-modifier-success").trim(); + this.backgroundModifierError = getComputedStyle(root).getPropertyValue("--background-modifier-error").trim(); + this.colorAccent = getComputedStyle(root).getPropertyValue("--color-accent").trim(); + this.textNormal = getComputedStyle(root).getPropertyValue("--text-normal").trim(); + this.textMuted = getComputedStyle(root).getPropertyValue("--text-muted").trim(); + this.textFaint = getComputedStyle(root).getPropertyValue("--text-faint").trim(); + this.textAccent = getComputedStyle(root).getPropertyValue("--text-accent").trim(); + this.interactiveAccentHover = getComputedStyle(root).getPropertyValue("--interactive-accent-hover").trim(); + } +}; + +// src/util/ShallowCompare.ts +var shallowCompare = (obj1, obj2) => { + if (!obj1 || !obj2) + return obj1 == obj2; + else if (obj1 instanceof Object && obj2 instanceof Object) { + return Object.keys(obj1).length === Object.keys(obj2).length && Object.keys(obj1).every((key) => obj2.hasOwnProperty(key) && shallowCompare(obj1[key], obj2[key])); + } else + return obj1 == obj2; +}; +var ShallowCompare_default = shallowCompare; + +// src/main.ts +var Graph3dPlugin = class extends import_obsidian7.Plugin { + constructor() { + super(...arguments); + this.openFileState = new State(void 0); + this.cacheIsReady = new State(this.app.metadataCache.resolvedLinks !== void 0); + this.queuedGraphs = []; + this.callbackUnregisterHandles = []; + this.onGraphCacheReady = () => { + console.log("Graph cache is ready"); + this.cacheIsReady.value = true; + this.onGraphCacheChanged(); + }; + this.onGraphCacheChanged = () => { + if (this.cacheIsReady.value && !ShallowCompare_default(this._resolvedCache, this.app.metadataCache.resolvedLinks)) { + this._resolvedCache = structuredClone(this.app.metadataCache.resolvedLinks); + this.globalGraph = Graph.createFromApp(this.app); + } else { + console.log("changed but ", this.cacheIsReady.value, " and ", ShallowCompare_default(this._resolvedCache, this.app.metadataCache.resolvedLinks)); + } + }; + this.onDoResetSettings = () => { + this.settingsState.value.reset(); + EventBus_default.trigger("did-reset-settings"); + }; + this.openLocalGraph = () => { + var _a; + const newFilePath = (_a = this.app.workspace.getActiveFile()) == null ? void 0 : _a.path; + if (newFilePath) { + this.openFileState.value = newFilePath; + this.openGraph(true); + } else { + new import_obsidian7.Notice("No file is currently open"); + } + }; + this.openGlobalGraph = () => { + this.openGraph(false); + }; + this.openGraph = (isLocalGraph) => { + const leaf = this.app.workspace.getLeaf(isLocalGraph ? "split" : false); + const graphView = new Graph3dView(this, leaf, isLocalGraph); + leaf.open(graphView); + if (this.cacheIsReady.value) { + graphView.showGraph(); + } else { + this.queuedGraphs.push(graphView); + } + }; + } + async onload() { + await this.init(); + this.addRibbonIcon("glasses", "3D Graph", this.openGlobalGraph); + this.addCommand({ + id: "open-3d-graph-global", + name: "Open Global 3D Graph", + callback: this.openGlobalGraph + }); + this.addCommand({ + id: "open-3d-graph-local", + name: "Open Local 3D Graph", + callback: this.openLocalGraph + }); + } + async init() { + await this.initStates(); + this.initListeners(); + } + async initStates() { + const settings = await this.loadSettings(); + this.settingsState = new State(settings); + this.theme = new ObsidianTheme(this.app.workspace.containerEl); + this.cacheIsReady.value = this.app.metadataCache.resolvedLinks !== void 0; + this.onGraphCacheChanged(); + } + initListeners() { + this.callbackUnregisterHandles.push(this.settingsState.onChange(() => this.saveSettings())); + EventBus_default.on("do-reset-settings", this.onDoResetSettings); + this.registerEvent(this.app.workspace.on("file-menu", (menu, file) => { + if (!file) + return; + menu.addItem((item) => { + item.setTitle("Open in local 3D Graph").setIcon("glasses").onClick(() => this.openLocalGraph()); + }); + })); + this.registerEvent(this.app.workspace.on("file-open", (file) => { + if (file) + this.openFileState.value = file.path; + })); + this.callbackUnregisterHandles.push(this.cacheIsReady.onChange((isReady) => { + if (isReady) { + this.openQueuedGraphs(); + } + })); + this.app.metadataCache.on("resolved", this.onGraphCacheReady.bind(this)); + this.app.metadataCache.on("resolve", this.onGraphCacheChanged.bind(this)); + } + openQueuedGraphs() { + this.queuedGraphs.forEach((view) => view.showGraph()); + this.queuedGraphs = []; + } + async loadSettings() { + const loadedData = await this.loadData(), settings = GraphSettings.fromStore(loadedData); + return settings; + } + async saveSettings() { + console.log("saveSettings:", this.settingsState.getRawValue().toObject()); + await this.saveData(this.settingsState.getRawValue().toObject()); + } + onunload() { + super.onunload(); + this.callbackUnregisterHandles.forEach((handle) => handle()); + EventBus_default.off("do-reset-settings", this.onDoResetSettings); + } + getSettings() { + return this.settingsState.value; + } +}; +/** + * @license + * Copyright 2010-2022 Three.js Authors + * SPDX-License-Identifier: MIT + */ diff --git a/.obsidian/plugins/3d-graph/manifest.json b/.obsidian/plugins/3d-graph/manifest.json new file mode 100644 index 0000000..2ccd570 --- /dev/null +++ b/.obsidian/plugins/3d-graph/manifest.json @@ -0,0 +1,9 @@ +{ + "id": "3d-graph", + "name": "3D Graph", + "version": "1.0.3", + "description": "A 3D Graph for Obsidian", + "author": "Alexander Weichart", + "authorUrl": "https://github.com/AlexW00", + "isDesktopOnly": false +} diff --git a/.obsidian/plugins/3d-graph/styles.css b/.obsidian/plugins/3d-graph/styles.css new file mode 100644 index 0000000..d0730f9 --- /dev/null +++ b/.obsidian/plugins/3d-graph/styles.css @@ -0,0 +1,57 @@ +.graph-3d-view .tree-item.is-collapsed > .tree-item-children { + display: none; + visibility: hidden; +} + +.graph-3d-view { + padding: 0 !important; + position: relative; + overflow: hidden !important; +} + +.graph-3d-view .graph-controls.is-collapsed > .graph-control-section { + display: none; + visibility: hidden; +} +.graph-3d-view .graph-controls:hover > .control-buttons { + opacity: 0.5; +} + +.graph-3d-view .graph-controls > .control-buttons:hover { + opacity: 1; +} + +.graph-3d-view .graph-controls > .control-buttons { + float: right; + margin-right: 0; + opacity: 0; +} + +.graph-3d-view .hidden { + display: none; + visibility: hidden; +} + +.graph-3d-view .control-buttons { + display: block; +} + +.graph-3d-view .control-buttons > * { + display: inline-block; + margin: 0; +} + +.graph-3d-view .graph-settings-view > .clickable-icon { + position: absolute; + top: 8px; + right: 8px; +} + +.graph-3d-view .node-label { + color: var(--text-normal); +} + +.graph-3d-view .scene-nav-info { + display: none; + visibility: hidden; +} diff --git a/.obsidian/plugins/graph-analysis/main.js b/.obsidian/plugins/graph-analysis/main.js new file mode 100644 index 0000000..6e253fe --- /dev/null +++ b/.obsidian/plugins/graph-analysis/main.js @@ -0,0 +1,36162 @@ +/* +THIS IS A GENERATED/BUNDLED FILE BY ROLLUP +if you want to view the source visit the plugins github repository +*/ + +'use strict'; + +var obsidian = require('obsidian'); + +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */ + +function __awaiter(thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +} + +var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; + +function getAugmentedNamespace(n) { + if (n.__esModule) return n; + var a = Object.defineProperty({}, '__esModule', {value: true}); + Object.keys(n).forEach(function (k) { + var d = Object.getOwnPropertyDescriptor(n, k); + Object.defineProperty(a, k, d.get ? d : { + enumerable: true, + get: function () { + return n[k]; + } + }); + }); + return a; +} + +function createCommonjsModule(fn) { + var module = { exports: {} }; + return fn(module, module.exports), module.exports; +} + +createCommonjsModule(function (module, exports) { +(function webpackUniversalModuleDefinition(root, factory) { + module.exports = factory(); +})(typeof self !== 'undefined' ? self : commonjsGlobal, function() { +return /******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { +/******/ configurable: false, +/******/ enumerable: true, +/******/ get: getter +/******/ }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 0); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ "./dist/icons.json": +/*!*************************!*\ + !*** ./dist/icons.json ***! + \*************************/ +/*! exports provided: activity, airplay, alert-circle, alert-octagon, alert-triangle, align-center, align-justify, align-left, align-right, anchor, aperture, archive, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, award, bar-chart-2, bar-chart, battery-charging, battery, bell-off, bell, bluetooth, bold, book-open, book, bookmark, box, briefcase, calendar, camera-off, camera, cast, check-circle, check-square, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, chrome, circle, clipboard, clock, cloud-drizzle, cloud-lightning, cloud-off, cloud-rain, cloud-snow, cloud, code, codepen, codesandbox, coffee, columns, command, compass, copy, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, cpu, credit-card, crop, crosshair, database, delete, disc, divide-circle, divide-square, divide, dollar-sign, download-cloud, download, dribbble, droplet, edit-2, edit-3, edit, external-link, eye-off, eye, facebook, fast-forward, feather, figma, file-minus, file-plus, file-text, file, film, filter, flag, folder-minus, folder-plus, folder, framer, frown, gift, git-branch, git-commit, git-merge, git-pull-request, github, gitlab, globe, grid, hard-drive, hash, headphones, heart, help-circle, hexagon, home, image, inbox, info, instagram, italic, key, layers, layout, life-buoy, link-2, link, linkedin, list, loader, lock, log-in, log-out, mail, map-pin, map, maximize-2, maximize, meh, menu, message-circle, message-square, mic-off, mic, minimize-2, minimize, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, mouse-pointer, move, music, navigation-2, navigation, octagon, package, paperclip, pause-circle, pause, pen-tool, percent, phone-call, phone-forwarded, phone-incoming, phone-missed, phone-off, phone-outgoing, phone, pie-chart, play-circle, play, plus-circle, plus-square, plus, pocket, power, printer, radio, refresh-ccw, refresh-cw, repeat, rewind, rotate-ccw, rotate-cw, rss, save, scissors, search, send, server, settings, share-2, share, shield-off, shield, shopping-bag, shopping-cart, shuffle, sidebar, skip-back, skip-forward, slack, slash, sliders, smartphone, smile, speaker, square, star, stop-circle, sun, sunrise, sunset, tablet, tag, target, terminal, thermometer, thumbs-down, thumbs-up, toggle-left, toggle-right, tool, trash-2, trash, trello, trending-down, trending-up, triangle, truck, tv, twitch, twitter, type, umbrella, underline, unlock, upload-cloud, upload, user-check, user-minus, user-plus, user-x, user, users, video-off, video, voicemail, volume-1, volume-2, volume-x, volume, watch, wifi-off, wifi, wind, x-circle, x-octagon, x-square, x, youtube, zap-off, zap, zoom-in, zoom-out, default */ +/***/ (function(module) { + +module.exports = {"activity":"","airplay":"","alert-circle":"","alert-octagon":"","alert-triangle":"","align-center":"","align-justify":"","align-left":"","align-right":"","anchor":"","aperture":"","archive":"","arrow-down-circle":"","arrow-down-left":"","arrow-down-right":"","arrow-down":"","arrow-left-circle":"","arrow-left":"","arrow-right-circle":"","arrow-right":"","arrow-up-circle":"","arrow-up-left":"","arrow-up-right":"","arrow-up":"","at-sign":"","award":"","bar-chart-2":"","bar-chart":"","battery-charging":"","battery":"","bell-off":"","bell":"","bluetooth":"","bold":"","book-open":"","book":"","bookmark":"","box":"","briefcase":"","calendar":"","camera-off":"","camera":"","cast":"","check-circle":"","check-square":"","check":"","chevron-down":"","chevron-left":"","chevron-right":"","chevron-up":"","chevrons-down":"","chevrons-left":"","chevrons-right":"","chevrons-up":"","chrome":"","circle":"","clipboard":"","clock":"","cloud-drizzle":"","cloud-lightning":"","cloud-off":"","cloud-rain":"","cloud-snow":"","cloud":"","code":"","codepen":"","codesandbox":"","coffee":"","columns":"","command":"","compass":"","copy":"","corner-down-left":"","corner-down-right":"","corner-left-down":"","corner-left-up":"","corner-right-down":"","corner-right-up":"","corner-up-left":"","corner-up-right":"","cpu":"","credit-card":"","crop":"","crosshair":"","database":"","delete":"","disc":"","divide-circle":"","divide-square":"","divide":"","dollar-sign":"","download-cloud":"","download":"","dribbble":"","droplet":"","edit-2":"","edit-3":"","edit":"","external-link":"","eye-off":"","eye":"","facebook":"","fast-forward":"","feather":"","figma":"","file-minus":"","file-plus":"","file-text":"","file":"","film":"","filter":"","flag":"","folder-minus":"","folder-plus":"","folder":"","framer":"","frown":"","gift":"","git-branch":"","git-commit":"","git-merge":"","git-pull-request":"","github":"","gitlab":"","globe":"","grid":"","hard-drive":"","hash":"","headphones":"","heart":"","help-circle":"","hexagon":"","home":"","image":"","inbox":"","info":"","instagram":"","italic":"","key":"","layers":"","layout":"","life-buoy":"","link-2":"","link":"","linkedin":"","list":"","loader":"","lock":"","log-in":"","log-out":"","mail":"","map-pin":"","map":"","maximize-2":"","maximize":"","meh":"","menu":"","message-circle":"","message-square":"","mic-off":"","mic":"","minimize-2":"","minimize":"","minus-circle":"","minus-square":"","minus":"","monitor":"","moon":"","more-horizontal":"","more-vertical":"","mouse-pointer":"","move":"","music":"","navigation-2":"","navigation":"","octagon":"","package":"","paperclip":"","pause-circle":"","pause":"","pen-tool":"","percent":"","phone-call":"","phone-forwarded":"","phone-incoming":"","phone-missed":"","phone-off":"","phone-outgoing":"","phone":"","pie-chart":"","play-circle":"","play":"","plus-circle":"","plus-square":"","plus":"","pocket":"","power":"","printer":"","radio":"","refresh-ccw":"","refresh-cw":"","repeat":"","rewind":"","rotate-ccw":"","rotate-cw":"","rss":"","save":"","scissors":"","search":"","send":"","server":"","settings":"","share-2":"","share":"","shield-off":"","shield":"","shopping-bag":"","shopping-cart":"","shuffle":"","sidebar":"","skip-back":"","skip-forward":"","slack":"","slash":"","sliders":"","smartphone":"","smile":"","speaker":"","square":"","star":"","stop-circle":"","sun":"","sunrise":"","sunset":"","tablet":"","tag":"","target":"","terminal":"","thermometer":"","thumbs-down":"","thumbs-up":"","toggle-left":"","toggle-right":"","tool":"","trash-2":"","trash":"","trello":"","trending-down":"","trending-up":"","triangle":"","truck":"","tv":"","twitch":"","twitter":"","type":"","umbrella":"","underline":"","unlock":"","upload-cloud":"","upload":"","user-check":"","user-minus":"","user-plus":"","user-x":"","user":"","users":"","video-off":"","video":"","voicemail":"","volume-1":"","volume-2":"","volume-x":"","volume":"","watch":"","wifi-off":"","wifi":"","wind":"","x-circle":"","x-octagon":"","x-square":"","x":"","youtube":"","zap-off":"","zap":"","zoom-in":"","zoom-out":""}; + +/***/ }), + +/***/ "./node_modules/classnames/dedupe.js": +/*!*******************************************!*\ + !*** ./node_modules/classnames/dedupe.js ***! + \*******************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! + Copyright (c) 2016 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/ +/* global define */ + +(function () { + + var classNames = (function () { + // don't inherit from Object so we can skip hasOwnProperty check later + // http://stackoverflow.com/questions/15518328/creating-js-object-with-object-createnull#answer-21079232 + function StorageObject() {} + StorageObject.prototype = Object.create(null); + + function _parseArray (resultSet, array) { + var length = array.length; + + for (var i = 0; i < length; ++i) { + _parse(resultSet, array[i]); + } + } + + var hasOwn = {}.hasOwnProperty; + + function _parseNumber (resultSet, num) { + resultSet[num] = true; + } + + function _parseObject (resultSet, object) { + for (var k in object) { + if (hasOwn.call(object, k)) { + // set value to false instead of deleting it to avoid changing object structure + // https://www.smashingmagazine.com/2012/11/writing-fast-memory-efficient-javascript/#de-referencing-misconceptions + resultSet[k] = !!object[k]; + } + } + } + + var SPACE = /\s+/; + function _parseString (resultSet, str) { + var array = str.split(SPACE); + var length = array.length; + + for (var i = 0; i < length; ++i) { + resultSet[array[i]] = true; + } + } + + function _parse (resultSet, arg) { + if (!arg) return; + var argType = typeof arg; + + // 'foo bar' + if (argType === 'string') { + _parseString(resultSet, arg); + + // ['foo', 'bar', ...] + } else if (Array.isArray(arg)) { + _parseArray(resultSet, arg); + + // { 'foo': true, ... } + } else if (argType === 'object') { + _parseObject(resultSet, arg); + + // '130' + } else if (argType === 'number') { + _parseNumber(resultSet, arg); + } + } + + function _classNames () { + // don't leak arguments + // https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#32-leaking-arguments + var len = arguments.length; + var args = Array(len); + for (var i = 0; i < len; i++) { + args[i] = arguments[i]; + } + + var classSet = new StorageObject(); + _parseArray(classSet, args); + + var list = []; + + for (var k in classSet) { + if (classSet[k]) { + list.push(k); + } + } + + return list.join(' '); + } + + return _classNames; + })(); + + if (typeof module !== 'undefined' && module.exports) { + module.exports = classNames; + } else { + // register as 'classnames', consistent with npm package name + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () { + return classNames; + }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); + } +}()); + + +/***/ }), + +/***/ "./node_modules/core-js/es/array/from.js": +/*!***********************************************!*\ + !*** ./node_modules/core-js/es/array/from.js ***! + \***********************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +__webpack_require__(/*! ../../modules/es.string.iterator */ "./node_modules/core-js/modules/es.string.iterator.js"); +__webpack_require__(/*! ../../modules/es.array.from */ "./node_modules/core-js/modules/es.array.from.js"); +var path = __webpack_require__(/*! ../../internals/path */ "./node_modules/core-js/internals/path.js"); + +module.exports = path.Array.from; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/a-function.js": +/*!******************************************************!*\ + !*** ./node_modules/core-js/internals/a-function.js ***! + \******************************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +module.exports = function (it) { + if (typeof it != 'function') { + throw TypeError(String(it) + ' is not a function'); + } return it; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/an-object.js": +/*!*****************************************************!*\ + !*** ./node_modules/core-js/internals/an-object.js ***! + \*****************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); + +module.exports = function (it) { + if (!isObject(it)) { + throw TypeError(String(it) + ' is not an object'); + } return it; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/array-from.js": +/*!******************************************************!*\ + !*** ./node_modules/core-js/internals/array-from.js ***! + \******************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var bind = __webpack_require__(/*! ../internals/bind-context */ "./node_modules/core-js/internals/bind-context.js"); +var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); +var callWithSafeIterationClosing = __webpack_require__(/*! ../internals/call-with-safe-iteration-closing */ "./node_modules/core-js/internals/call-with-safe-iteration-closing.js"); +var isArrayIteratorMethod = __webpack_require__(/*! ../internals/is-array-iterator-method */ "./node_modules/core-js/internals/is-array-iterator-method.js"); +var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); +var createProperty = __webpack_require__(/*! ../internals/create-property */ "./node_modules/core-js/internals/create-property.js"); +var getIteratorMethod = __webpack_require__(/*! ../internals/get-iterator-method */ "./node_modules/core-js/internals/get-iterator-method.js"); + +// `Array.from` method +// https://tc39.github.io/ecma262/#sec-array.from +module.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) { + var O = toObject(arrayLike); + var C = typeof this == 'function' ? this : Array; + var argumentsLength = arguments.length; + var mapfn = argumentsLength > 1 ? arguments[1] : undefined; + var mapping = mapfn !== undefined; + var index = 0; + var iteratorMethod = getIteratorMethod(O); + var length, result, step, iterator; + if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2); + // if the target is not iterable or it's an array with the default iterator - use a simple case + if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) { + iterator = iteratorMethod.call(O); + result = new C(); + for (;!(step = iterator.next()).done; index++) { + createProperty(result, index, mapping + ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) + : step.value + ); + } + } else { + length = toLength(O.length); + result = new C(length); + for (;length > index; index++) { + createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]); + } + } + result.length = index; + return result; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/array-includes.js": +/*!**********************************************************!*\ + !*** ./node_modules/core-js/internals/array-includes.js ***! + \**********************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js"); +var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); +var toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ "./node_modules/core-js/internals/to-absolute-index.js"); + +// `Array.prototype.{ indexOf, includes }` methods implementation +// false -> Array#indexOf +// https://tc39.github.io/ecma262/#sec-array.prototype.indexof +// true -> Array#includes +// https://tc39.github.io/ecma262/#sec-array.prototype.includes +module.exports = function (IS_INCLUDES) { + return function ($this, el, fromIndex) { + var O = toIndexedObject($this); + var length = toLength(O.length); + var index = toAbsoluteIndex(fromIndex, length); + var value; + // Array#includes uses SameValueZero equality algorithm + // eslint-disable-next-line no-self-compare + if (IS_INCLUDES && el != el) while (length > index) { + value = O[index++]; + // eslint-disable-next-line no-self-compare + if (value != value) return true; + // Array#indexOf ignores holes, Array#includes - not + } else for (;length > index; index++) if (IS_INCLUDES || index in O) { + if (O[index] === el) return IS_INCLUDES || index || 0; + } return !IS_INCLUDES && -1; + }; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/bind-context.js": +/*!********************************************************!*\ + !*** ./node_modules/core-js/internals/bind-context.js ***! + \********************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js"); + +// optional / simple context binding +module.exports = function (fn, that, length) { + aFunction(fn); + if (that === undefined) return fn; + switch (length) { + case 0: return function () { + return fn.call(that); + }; + case 1: return function (a) { + return fn.call(that, a); + }; + case 2: return function (a, b) { + return fn.call(that, a, b); + }; + case 3: return function (a, b, c) { + return fn.call(that, a, b, c); + }; + } + return function (/* ...args */) { + return fn.apply(that, arguments); + }; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/call-with-safe-iteration-closing.js": +/*!****************************************************************************!*\ + !*** ./node_modules/core-js/internals/call-with-safe-iteration-closing.js ***! + \****************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); + +// call something on iterator step with safe closing on error +module.exports = function (iterator, fn, value, ENTRIES) { + try { + return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value); + // 7.4.6 IteratorClose(iterator, completion) + } catch (error) { + var returnMethod = iterator['return']; + if (returnMethod !== undefined) anObject(returnMethod.call(iterator)); + throw error; + } +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/check-correctness-of-iteration.js": +/*!**************************************************************************!*\ + !*** ./node_modules/core-js/internals/check-correctness-of-iteration.js ***! + \**************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); + +var ITERATOR = wellKnownSymbol('iterator'); +var SAFE_CLOSING = false; + +try { + var called = 0; + var iteratorWithReturn = { + next: function () { + return { done: !!called++ }; + }, + 'return': function () { + SAFE_CLOSING = true; + } + }; + iteratorWithReturn[ITERATOR] = function () { + return this; + }; + // eslint-disable-next-line no-throw-literal + Array.from(iteratorWithReturn, function () { throw 2; }); +} catch (error) { /* empty */ } + +module.exports = function (exec, SKIP_CLOSING) { + if (!SKIP_CLOSING && !SAFE_CLOSING) return false; + var ITERATION_SUPPORT = false; + try { + var object = {}; + object[ITERATOR] = function () { + return { + next: function () { + return { done: ITERATION_SUPPORT = true }; + } + }; + }; + exec(object); + } catch (error) { /* empty */ } + return ITERATION_SUPPORT; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/classof-raw.js": +/*!*******************************************************!*\ + !*** ./node_modules/core-js/internals/classof-raw.js ***! + \*******************************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +var toString = {}.toString; + +module.exports = function (it) { + return toString.call(it).slice(8, -1); +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/classof.js": +/*!***************************************************!*\ + !*** ./node_modules/core-js/internals/classof.js ***! + \***************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var classofRaw = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js/internals/classof-raw.js"); +var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +// ES3 wrong here +var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments'; + +// fallback for IE11 Script Access Denied error +var tryGet = function (it, key) { + try { + return it[key]; + } catch (error) { /* empty */ } +}; + +// getting tag from ES6+ `Object.prototype.toString` +module.exports = function (it) { + var O, tag, result; + return it === undefined ? 'Undefined' : it === null ? 'Null' + // @@toStringTag case + : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag + // builtinTag case + : CORRECT_ARGUMENTS ? classofRaw(O) + // ES3 arguments fallback + : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/copy-constructor-properties.js": +/*!***********************************************************************!*\ + !*** ./node_modules/core-js/internals/copy-constructor-properties.js ***! + \***********************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); +var ownKeys = __webpack_require__(/*! ../internals/own-keys */ "./node_modules/core-js/internals/own-keys.js"); +var getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js"); +var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js"); + +module.exports = function (target, source) { + var keys = ownKeys(source); + var defineProperty = definePropertyModule.f; + var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key)); + } +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/correct-prototype-getter.js": +/*!********************************************************************!*\ + !*** ./node_modules/core-js/internals/correct-prototype-getter.js ***! + \********************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); + +module.exports = !fails(function () { + function F() { /* empty */ } + F.prototype.constructor = null; + return Object.getPrototypeOf(new F()) !== F.prototype; +}); + + +/***/ }), + +/***/ "./node_modules/core-js/internals/create-iterator-constructor.js": +/*!***********************************************************************!*\ + !*** ./node_modules/core-js/internals/create-iterator-constructor.js ***! + \***********************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var IteratorPrototype = __webpack_require__(/*! ../internals/iterators-core */ "./node_modules/core-js/internals/iterators-core.js").IteratorPrototype; +var create = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js/internals/object-create.js"); +var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js"); +var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js/internals/set-to-string-tag.js"); +var Iterators = __webpack_require__(/*! ../internals/iterators */ "./node_modules/core-js/internals/iterators.js"); + +var returnThis = function () { return this; }; + +module.exports = function (IteratorConstructor, NAME, next) { + var TO_STRING_TAG = NAME + ' Iterator'; + IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) }); + setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true); + Iterators[TO_STRING_TAG] = returnThis; + return IteratorConstructor; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/create-property-descriptor.js": +/*!**********************************************************************!*\ + !*** ./node_modules/core-js/internals/create-property-descriptor.js ***! + \**********************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +module.exports = function (bitmap, value) { + return { + enumerable: !(bitmap & 1), + configurable: !(bitmap & 2), + writable: !(bitmap & 4), + value: value + }; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/create-property.js": +/*!***********************************************************!*\ + !*** ./node_modules/core-js/internals/create-property.js ***! + \***********************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js/internals/to-primitive.js"); +var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js"); +var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js"); + +module.exports = function (object, key, value) { + var propertyKey = toPrimitive(key); + if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value)); + else object[propertyKey] = value; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/define-iterator.js": +/*!***********************************************************!*\ + !*** ./node_modules/core-js/internals/define-iterator.js ***! + \***********************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); +var createIteratorConstructor = __webpack_require__(/*! ../internals/create-iterator-constructor */ "./node_modules/core-js/internals/create-iterator-constructor.js"); +var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js/internals/object-get-prototype-of.js"); +var setPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ "./node_modules/core-js/internals/object-set-prototype-of.js"); +var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js/internals/set-to-string-tag.js"); +var hide = __webpack_require__(/*! ../internals/hide */ "./node_modules/core-js/internals/hide.js"); +var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js"); +var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); +var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js"); +var Iterators = __webpack_require__(/*! ../internals/iterators */ "./node_modules/core-js/internals/iterators.js"); +var IteratorsCore = __webpack_require__(/*! ../internals/iterators-core */ "./node_modules/core-js/internals/iterators-core.js"); + +var IteratorPrototype = IteratorsCore.IteratorPrototype; +var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS; +var ITERATOR = wellKnownSymbol('iterator'); +var KEYS = 'keys'; +var VALUES = 'values'; +var ENTRIES = 'entries'; + +var returnThis = function () { return this; }; + +module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) { + createIteratorConstructor(IteratorConstructor, NAME, next); + + var getIterationMethod = function (KIND) { + if (KIND === DEFAULT && defaultIterator) return defaultIterator; + if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND]; + switch (KIND) { + case KEYS: return function keys() { return new IteratorConstructor(this, KIND); }; + case VALUES: return function values() { return new IteratorConstructor(this, KIND); }; + case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); }; + } return function () { return new IteratorConstructor(this); }; + }; + + var TO_STRING_TAG = NAME + ' Iterator'; + var INCORRECT_VALUES_NAME = false; + var IterablePrototype = Iterable.prototype; + var nativeIterator = IterablePrototype[ITERATOR] + || IterablePrototype['@@iterator'] + || DEFAULT && IterablePrototype[DEFAULT]; + var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT); + var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator; + var CurrentIteratorPrototype, methods, KEY; + + // fix native + if (anyNativeIterator) { + CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable())); + if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) { + if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) { + if (setPrototypeOf) { + setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype); + } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') { + hide(CurrentIteratorPrototype, ITERATOR, returnThis); + } + } + // Set @@toStringTag to native iterators + setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true); + if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis; + } + } + + // fix Array#{values, @@iterator}.name in V8 / FF + if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) { + INCORRECT_VALUES_NAME = true; + defaultIterator = function values() { return nativeIterator.call(this); }; + } + + // define iterator + if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) { + hide(IterablePrototype, ITERATOR, defaultIterator); + } + Iterators[NAME] = defaultIterator; + + // export additional methods + if (DEFAULT) { + methods = { + values: getIterationMethod(VALUES), + keys: IS_SET ? defaultIterator : getIterationMethod(KEYS), + entries: getIterationMethod(ENTRIES) + }; + if (FORCED) for (KEY in methods) { + if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) { + redefine(IterablePrototype, KEY, methods[KEY]); + } + } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods); + } + + return methods; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/descriptors.js": +/*!*******************************************************!*\ + !*** ./node_modules/core-js/internals/descriptors.js ***! + \*******************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); + +// Thank's IE8 for his funny defineProperty +module.exports = !fails(function () { + return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7; +}); + + +/***/ }), + +/***/ "./node_modules/core-js/internals/document-create-element.js": +/*!*******************************************************************!*\ + !*** ./node_modules/core-js/internals/document-create-element.js ***! + \*******************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); +var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); + +var document = global.document; +// typeof document.createElement is 'object' in old IE +var exist = isObject(document) && isObject(document.createElement); + +module.exports = function (it) { + return exist ? document.createElement(it) : {}; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/enum-bug-keys.js": +/*!*********************************************************!*\ + !*** ./node_modules/core-js/internals/enum-bug-keys.js ***! + \*********************************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +// IE8- don't enum bug keys +module.exports = [ + 'constructor', + 'hasOwnProperty', + 'isPrototypeOf', + 'propertyIsEnumerable', + 'toLocaleString', + 'toString', + 'valueOf' +]; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/export.js": +/*!**************************************************!*\ + !*** ./node_modules/core-js/internals/export.js ***! + \**************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); +var getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js").f; +var hide = __webpack_require__(/*! ../internals/hide */ "./node_modules/core-js/internals/hide.js"); +var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js"); +var setGlobal = __webpack_require__(/*! ../internals/set-global */ "./node_modules/core-js/internals/set-global.js"); +var copyConstructorProperties = __webpack_require__(/*! ../internals/copy-constructor-properties */ "./node_modules/core-js/internals/copy-constructor-properties.js"); +var isForced = __webpack_require__(/*! ../internals/is-forced */ "./node_modules/core-js/internals/is-forced.js"); + +/* + options.target - name of the target object + options.global - target is the global object + options.stat - export as static methods of target + options.proto - export as prototype methods of target + options.real - real prototype method for the `pure` version + options.forced - export even if the native feature is available + options.bind - bind methods to the target, required for the `pure` version + options.wrap - wrap constructors to preventing global pollution, required for the `pure` version + options.unsafe - use the simple assignment of property instead of delete + defineProperty + options.sham - add a flag to not completely full polyfills + options.enumerable - export as enumerable property + options.noTargetGet - prevent calling a getter on target +*/ +module.exports = function (options, source) { + var TARGET = options.target; + var GLOBAL = options.global; + var STATIC = options.stat; + var FORCED, target, key, targetProperty, sourceProperty, descriptor; + if (GLOBAL) { + target = global; + } else if (STATIC) { + target = global[TARGET] || setGlobal(TARGET, {}); + } else { + target = (global[TARGET] || {}).prototype; + } + if (target) for (key in source) { + sourceProperty = source[key]; + if (options.noTargetGet) { + descriptor = getOwnPropertyDescriptor(target, key); + targetProperty = descriptor && descriptor.value; + } else targetProperty = target[key]; + FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); + // contained in target + if (!FORCED && targetProperty !== undefined) { + if (typeof sourceProperty === typeof targetProperty) continue; + copyConstructorProperties(sourceProperty, targetProperty); + } + // add a flag to not completely full polyfills + if (options.sham || (targetProperty && targetProperty.sham)) { + hide(sourceProperty, 'sham', true); + } + // extend global + redefine(target, key, sourceProperty, options); + } +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/fails.js": +/*!*************************************************!*\ + !*** ./node_modules/core-js/internals/fails.js ***! + \*************************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +module.exports = function (exec) { + try { + return !!exec(); + } catch (error) { + return true; + } +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/function-to-string.js": +/*!**************************************************************!*\ + !*** ./node_modules/core-js/internals/function-to-string.js ***! + \**************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var shared = __webpack_require__(/*! ../internals/shared */ "./node_modules/core-js/internals/shared.js"); + +module.exports = shared('native-function-to-string', Function.toString); + + +/***/ }), + +/***/ "./node_modules/core-js/internals/get-iterator-method.js": +/*!***************************************************************!*\ + !*** ./node_modules/core-js/internals/get-iterator-method.js ***! + \***************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var classof = __webpack_require__(/*! ../internals/classof */ "./node_modules/core-js/internals/classof.js"); +var Iterators = __webpack_require__(/*! ../internals/iterators */ "./node_modules/core-js/internals/iterators.js"); +var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); + +var ITERATOR = wellKnownSymbol('iterator'); + +module.exports = function (it) { + if (it != undefined) return it[ITERATOR] + || it['@@iterator'] + || Iterators[classof(it)]; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/global.js": +/*!**************************************************!*\ + !*** ./node_modules/core-js/internals/global.js ***! + \**************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +/* WEBPACK VAR INJECTION */(function(global) {var O = 'object'; +var check = function (it) { + return it && it.Math == Math && it; +}; + +// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 +module.exports = + // eslint-disable-next-line no-undef + check(typeof globalThis == O && globalThis) || + check(typeof window == O && window) || + check(typeof self == O && self) || + check(typeof global == O && global) || + // eslint-disable-next-line no-new-func + Function('return this')(); + +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ "./node_modules/webpack/buildin/global.js"))); + +/***/ }), + +/***/ "./node_modules/core-js/internals/has.js": +/*!***********************************************!*\ + !*** ./node_modules/core-js/internals/has.js ***! + \***********************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +var hasOwnProperty = {}.hasOwnProperty; + +module.exports = function (it, key) { + return hasOwnProperty.call(it, key); +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/hidden-keys.js": +/*!*******************************************************!*\ + !*** ./node_modules/core-js/internals/hidden-keys.js ***! + \*******************************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +module.exports = {}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/hide.js": +/*!************************************************!*\ + !*** ./node_modules/core-js/internals/hide.js ***! + \************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); +var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js"); +var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js"); + +module.exports = DESCRIPTORS ? function (object, key, value) { + return definePropertyModule.f(object, key, createPropertyDescriptor(1, value)); +} : function (object, key, value) { + object[key] = value; + return object; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/html.js": +/*!************************************************!*\ + !*** ./node_modules/core-js/internals/html.js ***! + \************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); + +var document = global.document; + +module.exports = document && document.documentElement; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/ie8-dom-define.js": +/*!**********************************************************!*\ + !*** ./node_modules/core-js/internals/ie8-dom-define.js ***! + \**********************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); +var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); +var createElement = __webpack_require__(/*! ../internals/document-create-element */ "./node_modules/core-js/internals/document-create-element.js"); + +// Thank's IE8 for his funny defineProperty +module.exports = !DESCRIPTORS && !fails(function () { + return Object.defineProperty(createElement('div'), 'a', { + get: function () { return 7; } + }).a != 7; +}); + + +/***/ }), + +/***/ "./node_modules/core-js/internals/indexed-object.js": +/*!**********************************************************!*\ + !*** ./node_modules/core-js/internals/indexed-object.js ***! + \**********************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +// fallback for non-array-like ES3 and non-enumerable old V8 strings +var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); +var classof = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js/internals/classof-raw.js"); + +var split = ''.split; + +module.exports = fails(function () { + // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346 + // eslint-disable-next-line no-prototype-builtins + return !Object('z').propertyIsEnumerable(0); +}) ? function (it) { + return classof(it) == 'String' ? split.call(it, '') : Object(it); +} : Object; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/internal-state.js": +/*!**********************************************************!*\ + !*** ./node_modules/core-js/internals/internal-state.js ***! + \**********************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var NATIVE_WEAK_MAP = __webpack_require__(/*! ../internals/native-weak-map */ "./node_modules/core-js/internals/native-weak-map.js"); +var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); +var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); +var hide = __webpack_require__(/*! ../internals/hide */ "./node_modules/core-js/internals/hide.js"); +var objectHas = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); +var sharedKey = __webpack_require__(/*! ../internals/shared-key */ "./node_modules/core-js/internals/shared-key.js"); +var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "./node_modules/core-js/internals/hidden-keys.js"); + +var WeakMap = global.WeakMap; +var set, get, has; + +var enforce = function (it) { + return has(it) ? get(it) : set(it, {}); +}; + +var getterFor = function (TYPE) { + return function (it) { + var state; + if (!isObject(it) || (state = get(it)).type !== TYPE) { + throw TypeError('Incompatible receiver, ' + TYPE + ' required'); + } return state; + }; +}; + +if (NATIVE_WEAK_MAP) { + var store = new WeakMap(); + var wmget = store.get; + var wmhas = store.has; + var wmset = store.set; + set = function (it, metadata) { + wmset.call(store, it, metadata); + return metadata; + }; + get = function (it) { + return wmget.call(store, it) || {}; + }; + has = function (it) { + return wmhas.call(store, it); + }; +} else { + var STATE = sharedKey('state'); + hiddenKeys[STATE] = true; + set = function (it, metadata) { + hide(it, STATE, metadata); + return metadata; + }; + get = function (it) { + return objectHas(it, STATE) ? it[STATE] : {}; + }; + has = function (it) { + return objectHas(it, STATE); + }; +} + +module.exports = { + set: set, + get: get, + has: has, + enforce: enforce, + getterFor: getterFor +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/is-array-iterator-method.js": +/*!********************************************************************!*\ + !*** ./node_modules/core-js/internals/is-array-iterator-method.js ***! + \********************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); +var Iterators = __webpack_require__(/*! ../internals/iterators */ "./node_modules/core-js/internals/iterators.js"); + +var ITERATOR = wellKnownSymbol('iterator'); +var ArrayPrototype = Array.prototype; + +// check on default Array iterator +module.exports = function (it) { + return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it); +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/is-forced.js": +/*!*****************************************************!*\ + !*** ./node_modules/core-js/internals/is-forced.js ***! + \*****************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); + +var replacement = /#|\.prototype\./; + +var isForced = function (feature, detection) { + var value = data[normalize(feature)]; + return value == POLYFILL ? true + : value == NATIVE ? false + : typeof detection == 'function' ? fails(detection) + : !!detection; +}; + +var normalize = isForced.normalize = function (string) { + return String(string).replace(replacement, '.').toLowerCase(); +}; + +var data = isForced.data = {}; +var NATIVE = isForced.NATIVE = 'N'; +var POLYFILL = isForced.POLYFILL = 'P'; + +module.exports = isForced; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/is-object.js": +/*!*****************************************************!*\ + !*** ./node_modules/core-js/internals/is-object.js ***! + \*****************************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +module.exports = function (it) { + return typeof it === 'object' ? it !== null : typeof it === 'function'; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/is-pure.js": +/*!***************************************************!*\ + !*** ./node_modules/core-js/internals/is-pure.js ***! + \***************************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +module.exports = false; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/iterators-core.js": +/*!**********************************************************!*\ + !*** ./node_modules/core-js/internals/iterators-core.js ***! + \**********************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js/internals/object-get-prototype-of.js"); +var hide = __webpack_require__(/*! ../internals/hide */ "./node_modules/core-js/internals/hide.js"); +var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); +var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); +var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js"); + +var ITERATOR = wellKnownSymbol('iterator'); +var BUGGY_SAFARI_ITERATORS = false; + +var returnThis = function () { return this; }; + +// `%IteratorPrototype%` object +// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object +var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator; + +if ([].keys) { + arrayIterator = [].keys(); + // Safari 8 has buggy iterators w/o `next` + if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true; + else { + PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator)); + if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype; + } +} + +if (IteratorPrototype == undefined) IteratorPrototype = {}; + +// 25.1.2.1.1 %IteratorPrototype%[@@iterator]() +if (!IS_PURE && !has(IteratorPrototype, ITERATOR)) hide(IteratorPrototype, ITERATOR, returnThis); + +module.exports = { + IteratorPrototype: IteratorPrototype, + BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/iterators.js": +/*!*****************************************************!*\ + !*** ./node_modules/core-js/internals/iterators.js ***! + \*****************************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +module.exports = {}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/native-symbol.js": +/*!*********************************************************!*\ + !*** ./node_modules/core-js/internals/native-symbol.js ***! + \*********************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); + +module.exports = !!Object.getOwnPropertySymbols && !fails(function () { + // Chrome 38 Symbol has incorrect toString conversion + // eslint-disable-next-line no-undef + return !String(Symbol()); +}); + + +/***/ }), + +/***/ "./node_modules/core-js/internals/native-weak-map.js": +/*!***********************************************************!*\ + !*** ./node_modules/core-js/internals/native-weak-map.js ***! + \***********************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); +var nativeFunctionToString = __webpack_require__(/*! ../internals/function-to-string */ "./node_modules/core-js/internals/function-to-string.js"); + +var WeakMap = global.WeakMap; + +module.exports = typeof WeakMap === 'function' && /native code/.test(nativeFunctionToString.call(WeakMap)); + + +/***/ }), + +/***/ "./node_modules/core-js/internals/object-create.js": +/*!*********************************************************!*\ + !*** ./node_modules/core-js/internals/object-create.js ***! + \*********************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); +var defineProperties = __webpack_require__(/*! ../internals/object-define-properties */ "./node_modules/core-js/internals/object-define-properties.js"); +var enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ "./node_modules/core-js/internals/enum-bug-keys.js"); +var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "./node_modules/core-js/internals/hidden-keys.js"); +var html = __webpack_require__(/*! ../internals/html */ "./node_modules/core-js/internals/html.js"); +var documentCreateElement = __webpack_require__(/*! ../internals/document-create-element */ "./node_modules/core-js/internals/document-create-element.js"); +var sharedKey = __webpack_require__(/*! ../internals/shared-key */ "./node_modules/core-js/internals/shared-key.js"); +var IE_PROTO = sharedKey('IE_PROTO'); + +var PROTOTYPE = 'prototype'; +var Empty = function () { /* empty */ }; + +// Create object with fake `null` prototype: use iframe Object with cleared prototype +var createDict = function () { + // Thrash, waste and sodomy: IE GC bug + var iframe = documentCreateElement('iframe'); + var length = enumBugKeys.length; + var lt = '<'; + var script = 'script'; + var gt = '>'; + var js = 'java' + script + ':'; + var iframeDocument; + iframe.style.display = 'none'; + html.appendChild(iframe); + iframe.src = String(js); + iframeDocument = iframe.contentWindow.document; + iframeDocument.open(); + iframeDocument.write(lt + script + gt + 'document.F=Object' + lt + '/' + script + gt); + iframeDocument.close(); + createDict = iframeDocument.F; + while (length--) delete createDict[PROTOTYPE][enumBugKeys[length]]; + return createDict(); +}; + +// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) +module.exports = Object.create || function create(O, Properties) { + var result; + if (O !== null) { + Empty[PROTOTYPE] = anObject(O); + result = new Empty(); + Empty[PROTOTYPE] = null; + // add "__proto__" for Object.getPrototypeOf polyfill + result[IE_PROTO] = O; + } else result = createDict(); + return Properties === undefined ? result : defineProperties(result, Properties); +}; + +hiddenKeys[IE_PROTO] = true; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/object-define-properties.js": +/*!********************************************************************!*\ + !*** ./node_modules/core-js/internals/object-define-properties.js ***! + \********************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); +var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js"); +var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); +var objectKeys = __webpack_require__(/*! ../internals/object-keys */ "./node_modules/core-js/internals/object-keys.js"); + +module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) { + anObject(O); + var keys = objectKeys(Properties); + var length = keys.length; + var i = 0; + var key; + while (length > i) definePropertyModule.f(O, key = keys[i++], Properties[key]); + return O; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/object-define-property.js": +/*!******************************************************************!*\ + !*** ./node_modules/core-js/internals/object-define-property.js ***! + \******************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); +var IE8_DOM_DEFINE = __webpack_require__(/*! ../internals/ie8-dom-define */ "./node_modules/core-js/internals/ie8-dom-define.js"); +var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); +var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js/internals/to-primitive.js"); + +var nativeDefineProperty = Object.defineProperty; + +exports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) { + anObject(O); + P = toPrimitive(P, true); + anObject(Attributes); + if (IE8_DOM_DEFINE) try { + return nativeDefineProperty(O, P, Attributes); + } catch (error) { /* empty */ } + if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported'); + if ('value' in Attributes) O[P] = Attributes.value; + return O; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/object-get-own-property-descriptor.js": +/*!******************************************************************************!*\ + !*** ./node_modules/core-js/internals/object-get-own-property-descriptor.js ***! + \******************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); +var propertyIsEnumerableModule = __webpack_require__(/*! ../internals/object-property-is-enumerable */ "./node_modules/core-js/internals/object-property-is-enumerable.js"); +var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js"); +var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js"); +var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js/internals/to-primitive.js"); +var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); +var IE8_DOM_DEFINE = __webpack_require__(/*! ../internals/ie8-dom-define */ "./node_modules/core-js/internals/ie8-dom-define.js"); + +var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +exports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { + O = toIndexedObject(O); + P = toPrimitive(P, true); + if (IE8_DOM_DEFINE) try { + return nativeGetOwnPropertyDescriptor(O, P); + } catch (error) { /* empty */ } + if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]); +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/object-get-own-property-names.js": +/*!*************************************************************************!*\ + !*** ./node_modules/core-js/internals/object-get-own-property-names.js ***! + \*************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O) +var internalObjectKeys = __webpack_require__(/*! ../internals/object-keys-internal */ "./node_modules/core-js/internals/object-keys-internal.js"); +var enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ "./node_modules/core-js/internals/enum-bug-keys.js"); + +var hiddenKeys = enumBugKeys.concat('length', 'prototype'); + +exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { + return internalObjectKeys(O, hiddenKeys); +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/object-get-own-property-symbols.js": +/*!***************************************************************************!*\ + !*** ./node_modules/core-js/internals/object-get-own-property-symbols.js ***! + \***************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +exports.f = Object.getOwnPropertySymbols; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/object-get-prototype-of.js": +/*!*******************************************************************!*\ + !*** ./node_modules/core-js/internals/object-get-prototype-of.js ***! + \*******************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); +var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); +var sharedKey = __webpack_require__(/*! ../internals/shared-key */ "./node_modules/core-js/internals/shared-key.js"); +var CORRECT_PROTOTYPE_GETTER = __webpack_require__(/*! ../internals/correct-prototype-getter */ "./node_modules/core-js/internals/correct-prototype-getter.js"); + +var IE_PROTO = sharedKey('IE_PROTO'); +var ObjectPrototype = Object.prototype; + +// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O) +module.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) { + O = toObject(O); + if (has(O, IE_PROTO)) return O[IE_PROTO]; + if (typeof O.constructor == 'function' && O instanceof O.constructor) { + return O.constructor.prototype; + } return O instanceof Object ? ObjectPrototype : null; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/object-keys-internal.js": +/*!****************************************************************!*\ + !*** ./node_modules/core-js/internals/object-keys-internal.js ***! + \****************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); +var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js"); +var arrayIncludes = __webpack_require__(/*! ../internals/array-includes */ "./node_modules/core-js/internals/array-includes.js"); +var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "./node_modules/core-js/internals/hidden-keys.js"); + +var arrayIndexOf = arrayIncludes(false); + +module.exports = function (object, names) { + var O = toIndexedObject(object); + var i = 0; + var result = []; + var key; + for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key); + // Don't enum bug & hidden keys + while (names.length > i) if (has(O, key = names[i++])) { + ~arrayIndexOf(result, key) || result.push(key); + } + return result; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/object-keys.js": +/*!*******************************************************!*\ + !*** ./node_modules/core-js/internals/object-keys.js ***! + \*******************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var internalObjectKeys = __webpack_require__(/*! ../internals/object-keys-internal */ "./node_modules/core-js/internals/object-keys-internal.js"); +var enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ "./node_modules/core-js/internals/enum-bug-keys.js"); + +// 19.1.2.14 / 15.2.3.14 Object.keys(O) +module.exports = Object.keys || function keys(O) { + return internalObjectKeys(O, enumBugKeys); +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/object-property-is-enumerable.js": +/*!*************************************************************************!*\ + !*** ./node_modules/core-js/internals/object-property-is-enumerable.js ***! + \*************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var nativePropertyIsEnumerable = {}.propertyIsEnumerable; +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// Nashorn ~ JDK8 bug +var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1); + +exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) { + var descriptor = getOwnPropertyDescriptor(this, V); + return !!descriptor && descriptor.enumerable; +} : nativePropertyIsEnumerable; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/object-set-prototype-of.js": +/*!*******************************************************************!*\ + !*** ./node_modules/core-js/internals/object-set-prototype-of.js ***! + \*******************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var validateSetPrototypeOfArguments = __webpack_require__(/*! ../internals/validate-set-prototype-of-arguments */ "./node_modules/core-js/internals/validate-set-prototype-of-arguments.js"); + +// Works with __proto__ only. Old v8 can't work with null proto objects. +/* eslint-disable no-proto */ +module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () { + var correctSetter = false; + var test = {}; + var setter; + try { + setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set; + setter.call(test, []); + correctSetter = test instanceof Array; + } catch (error) { /* empty */ } + return function setPrototypeOf(O, proto) { + validateSetPrototypeOfArguments(O, proto); + if (correctSetter) setter.call(O, proto); + else O.__proto__ = proto; + return O; + }; +}() : undefined); + + +/***/ }), + +/***/ "./node_modules/core-js/internals/own-keys.js": +/*!****************************************************!*\ + !*** ./node_modules/core-js/internals/own-keys.js ***! + \****************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); +var getOwnPropertyNamesModule = __webpack_require__(/*! ../internals/object-get-own-property-names */ "./node_modules/core-js/internals/object-get-own-property-names.js"); +var getOwnPropertySymbolsModule = __webpack_require__(/*! ../internals/object-get-own-property-symbols */ "./node_modules/core-js/internals/object-get-own-property-symbols.js"); +var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); + +var Reflect = global.Reflect; + +// all object keys, includes non-enumerable and symbols +module.exports = Reflect && Reflect.ownKeys || function ownKeys(it) { + var keys = getOwnPropertyNamesModule.f(anObject(it)); + var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; + return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/path.js": +/*!************************************************!*\ + !*** ./node_modules/core-js/internals/path.js ***! + \************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); + + +/***/ }), + +/***/ "./node_modules/core-js/internals/redefine.js": +/*!****************************************************!*\ + !*** ./node_modules/core-js/internals/redefine.js ***! + \****************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); +var shared = __webpack_require__(/*! ../internals/shared */ "./node_modules/core-js/internals/shared.js"); +var hide = __webpack_require__(/*! ../internals/hide */ "./node_modules/core-js/internals/hide.js"); +var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); +var setGlobal = __webpack_require__(/*! ../internals/set-global */ "./node_modules/core-js/internals/set-global.js"); +var nativeFunctionToString = __webpack_require__(/*! ../internals/function-to-string */ "./node_modules/core-js/internals/function-to-string.js"); +var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js"); + +var getInternalState = InternalStateModule.get; +var enforceInternalState = InternalStateModule.enforce; +var TEMPLATE = String(nativeFunctionToString).split('toString'); + +shared('inspectSource', function (it) { + return nativeFunctionToString.call(it); +}); + +(module.exports = function (O, key, value, options) { + var unsafe = options ? !!options.unsafe : false; + var simple = options ? !!options.enumerable : false; + var noTargetGet = options ? !!options.noTargetGet : false; + if (typeof value == 'function') { + if (typeof key == 'string' && !has(value, 'name')) hide(value, 'name', key); + enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : ''); + } + if (O === global) { + if (simple) O[key] = value; + else setGlobal(key, value); + return; + } else if (!unsafe) { + delete O[key]; + } else if (!noTargetGet && O[key]) { + simple = true; + } + if (simple) O[key] = value; + else hide(O, key, value); +// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative +})(Function.prototype, 'toString', function toString() { + return typeof this == 'function' && getInternalState(this).source || nativeFunctionToString.call(this); +}); + + +/***/ }), + +/***/ "./node_modules/core-js/internals/require-object-coercible.js": +/*!********************************************************************!*\ + !*** ./node_modules/core-js/internals/require-object-coercible.js ***! + \********************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +// `RequireObjectCoercible` abstract operation +// https://tc39.github.io/ecma262/#sec-requireobjectcoercible +module.exports = function (it) { + if (it == undefined) throw TypeError("Can't call method on " + it); + return it; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/set-global.js": +/*!******************************************************!*\ + !*** ./node_modules/core-js/internals/set-global.js ***! + \******************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); +var hide = __webpack_require__(/*! ../internals/hide */ "./node_modules/core-js/internals/hide.js"); + +module.exports = function (key, value) { + try { + hide(global, key, value); + } catch (error) { + global[key] = value; + } return value; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/set-to-string-tag.js": +/*!*************************************************************!*\ + !*** ./node_modules/core-js/internals/set-to-string-tag.js ***! + \*************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f; +var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); +var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); + +module.exports = function (it, TAG, STATIC) { + if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) { + defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG }); + } +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/shared-key.js": +/*!******************************************************!*\ + !*** ./node_modules/core-js/internals/shared-key.js ***! + \******************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var shared = __webpack_require__(/*! ../internals/shared */ "./node_modules/core-js/internals/shared.js"); +var uid = __webpack_require__(/*! ../internals/uid */ "./node_modules/core-js/internals/uid.js"); + +var keys = shared('keys'); + +module.exports = function (key) { + return keys[key] || (keys[key] = uid(key)); +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/shared.js": +/*!**************************************************!*\ + !*** ./node_modules/core-js/internals/shared.js ***! + \**************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); +var setGlobal = __webpack_require__(/*! ../internals/set-global */ "./node_modules/core-js/internals/set-global.js"); +var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js"); + +var SHARED = '__core-js_shared__'; +var store = global[SHARED] || setGlobal(SHARED, {}); + +(module.exports = function (key, value) { + return store[key] || (store[key] = value !== undefined ? value : {}); +})('versions', []).push({ + version: '3.1.3', + mode: IS_PURE ? 'pure' : 'global', + copyright: '© 2019 Denis Pushkarev (zloirock.ru)' +}); + + +/***/ }), + +/***/ "./node_modules/core-js/internals/string-at.js": +/*!*****************************************************!*\ + !*** ./node_modules/core-js/internals/string-at.js ***! + \*****************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js"); +var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js"); + +// CONVERT_TO_STRING: true -> String#at +// CONVERT_TO_STRING: false -> String#codePointAt +module.exports = function (that, pos, CONVERT_TO_STRING) { + var S = String(requireObjectCoercible(that)); + var position = toInteger(pos); + var size = S.length; + var first, second; + if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined; + first = S.charCodeAt(position); + return first < 0xD800 || first > 0xDBFF || position + 1 === size + || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF + ? CONVERT_TO_STRING ? S.charAt(position) : first + : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/to-absolute-index.js": +/*!*************************************************************!*\ + !*** ./node_modules/core-js/internals/to-absolute-index.js ***! + \*************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js"); + +var max = Math.max; +var min = Math.min; + +// Helper for a popular repeating case of the spec: +// Let integer be ? ToInteger(index). +// If integer < 0, let result be max((length + integer), 0); else let result be min(length, length). +module.exports = function (index, length) { + var integer = toInteger(index); + return integer < 0 ? max(integer + length, 0) : min(integer, length); +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/to-indexed-object.js": +/*!*************************************************************!*\ + !*** ./node_modules/core-js/internals/to-indexed-object.js ***! + \*************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +// toObject with fallback for non-array-like ES3 strings +var IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ "./node_modules/core-js/internals/indexed-object.js"); +var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js"); + +module.exports = function (it) { + return IndexedObject(requireObjectCoercible(it)); +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/to-integer.js": +/*!******************************************************!*\ + !*** ./node_modules/core-js/internals/to-integer.js ***! + \******************************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +var ceil = Math.ceil; +var floor = Math.floor; + +// `ToInteger` abstract operation +// https://tc39.github.io/ecma262/#sec-tointeger +module.exports = function (argument) { + return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument); +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/to-length.js": +/*!*****************************************************!*\ + !*** ./node_modules/core-js/internals/to-length.js ***! + \*****************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js"); + +var min = Math.min; + +// `ToLength` abstract operation +// https://tc39.github.io/ecma262/#sec-tolength +module.exports = function (argument) { + return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991 +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/to-object.js": +/*!*****************************************************!*\ + !*** ./node_modules/core-js/internals/to-object.js ***! + \*****************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js"); + +// `ToObject` abstract operation +// https://tc39.github.io/ecma262/#sec-toobject +module.exports = function (argument) { + return Object(requireObjectCoercible(argument)); +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/to-primitive.js": +/*!********************************************************!*\ + !*** ./node_modules/core-js/internals/to-primitive.js ***! + \********************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); + +// 7.1.1 ToPrimitive(input [, PreferredType]) +// instead of the ES6 spec version, we didn't implement @@toPrimitive case +// and the second argument - flag - preferred type is a string +module.exports = function (it, S) { + if (!isObject(it)) return it; + var fn, val; + if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; + if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val; + if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; + throw TypeError("Can't convert object to primitive value"); +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/uid.js": +/*!***********************************************!*\ + !*** ./node_modules/core-js/internals/uid.js ***! + \***********************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +var id = 0; +var postfix = Math.random(); + +module.exports = function (key) { + return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + postfix).toString(36)); +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/validate-set-prototype-of-arguments.js": +/*!*******************************************************************************!*\ + !*** ./node_modules/core-js/internals/validate-set-prototype-of-arguments.js ***! + \*******************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); +var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); + +module.exports = function (O, proto) { + anObject(O); + if (!isObject(proto) && proto !== null) { + throw TypeError("Can't set " + String(proto) + ' as a prototype'); + } +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/well-known-symbol.js": +/*!*************************************************************!*\ + !*** ./node_modules/core-js/internals/well-known-symbol.js ***! + \*************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); +var shared = __webpack_require__(/*! ../internals/shared */ "./node_modules/core-js/internals/shared.js"); +var uid = __webpack_require__(/*! ../internals/uid */ "./node_modules/core-js/internals/uid.js"); +var NATIVE_SYMBOL = __webpack_require__(/*! ../internals/native-symbol */ "./node_modules/core-js/internals/native-symbol.js"); + +var Symbol = global.Symbol; +var store = shared('wks'); + +module.exports = function (name) { + return store[name] || (store[name] = NATIVE_SYMBOL && Symbol[name] + || (NATIVE_SYMBOL ? Symbol : uid)('Symbol.' + name)); +}; + + +/***/ }), + +/***/ "./node_modules/core-js/modules/es.array.from.js": +/*!*******************************************************!*\ + !*** ./node_modules/core-js/modules/es.array.from.js ***! + \*******************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); +var from = __webpack_require__(/*! ../internals/array-from */ "./node_modules/core-js/internals/array-from.js"); +var checkCorrectnessOfIteration = __webpack_require__(/*! ../internals/check-correctness-of-iteration */ "./node_modules/core-js/internals/check-correctness-of-iteration.js"); + +var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) { + Array.from(iterable); +}); + +// `Array.from` method +// https://tc39.github.io/ecma262/#sec-array.from +$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, { + from: from +}); + + +/***/ }), + +/***/ "./node_modules/core-js/modules/es.string.iterator.js": +/*!************************************************************!*\ + !*** ./node_modules/core-js/modules/es.string.iterator.js ***! + \************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var codePointAt = __webpack_require__(/*! ../internals/string-at */ "./node_modules/core-js/internals/string-at.js"); +var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js"); +var defineIterator = __webpack_require__(/*! ../internals/define-iterator */ "./node_modules/core-js/internals/define-iterator.js"); + +var STRING_ITERATOR = 'String Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR); + +// `String.prototype[@@iterator]` method +// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator +defineIterator(String, 'String', function (iterated) { + setInternalState(this, { + type: STRING_ITERATOR, + string: String(iterated), + index: 0 + }); +// `%StringIteratorPrototype%.next` method +// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next +}, function next() { + var state = getInternalState(this); + var string = state.string; + var index = state.index; + var point; + if (index >= string.length) return { value: undefined, done: true }; + point = codePointAt(string, index, true); + state.index += point.length; + return { value: point, done: false }; +}); + + +/***/ }), + +/***/ "./node_modules/webpack/buildin/global.js": +/*!***********************************!*\ + !*** (webpack)/buildin/global.js ***! + \***********************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +var g; + +// This works in non-strict mode +g = (function() { + return this; +})(); + +try { + // This works if eval is allowed (see CSP) + g = g || Function("return this")() || (1, eval)("this"); +} catch (e) { + // This works if the window reference is available + if (typeof window === "object") g = window; +} + +// g can still be undefined, but nothing to do about it... +// We return undefined, instead of nothing here, so it's +// easier to handle this case. if(!global) { ...} + +module.exports = g; + + +/***/ }), + +/***/ "./src/default-attrs.json": +/*!********************************!*\ + !*** ./src/default-attrs.json ***! + \********************************/ +/*! exports provided: xmlns, width, height, viewBox, fill, stroke, stroke-width, stroke-linecap, stroke-linejoin, default */ +/***/ (function(module) { + +module.exports = {"xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"}; + +/***/ }), + +/***/ "./src/icon.js": +/*!*********************!*\ + !*** ./src/icon.js ***! + \*********************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _dedupe = __webpack_require__(/*! classnames/dedupe */ "./node_modules/classnames/dedupe.js"); + +var _dedupe2 = _interopRequireDefault(_dedupe); + +var _defaultAttrs = __webpack_require__(/*! ./default-attrs.json */ "./src/default-attrs.json"); + +var _defaultAttrs2 = _interopRequireDefault(_defaultAttrs); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var Icon = function () { + function Icon(name, contents) { + var tags = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : []; + + _classCallCheck(this, Icon); + + this.name = name; + this.contents = contents; + this.tags = tags; + this.attrs = _extends({}, _defaultAttrs2.default, { class: 'feather feather-' + name }); + } + + /** + * Create an SVG string. + * @param {Object} attrs + * @returns {string} + */ + + + _createClass(Icon, [{ + key: 'toSvg', + value: function toSvg() { + var attrs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + + var combinedAttrs = _extends({}, this.attrs, attrs, { class: (0, _dedupe2.default)(this.attrs.class, attrs.class) }); + + return '' + this.contents + ''; + } + + /** + * Return string representation of an `Icon`. + * + * Added for backward compatibility. If old code expects `feather.icons.` + * to be a string, `toString()` will get implicitly called. + * + * @returns {string} + */ + + }, { + key: 'toString', + value: function toString() { + return this.contents; + } + }]); + + return Icon; +}(); + +/** + * Convert attributes object to string of HTML attributes. + * @param {Object} attrs + * @returns {string} + */ + + +function attrsToString(attrs) { + return Object.keys(attrs).map(function (key) { + return key + '="' + attrs[key] + '"'; + }).join(' '); +} + +exports.default = Icon; + +/***/ }), + +/***/ "./src/icons.js": +/*!**********************!*\ + !*** ./src/icons.js ***! + \**********************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _icon = __webpack_require__(/*! ./icon */ "./src/icon.js"); + +var _icon2 = _interopRequireDefault(_icon); + +var _icons = __webpack_require__(/*! ../dist/icons.json */ "./dist/icons.json"); + +var _icons2 = _interopRequireDefault(_icons); + +var _tags = __webpack_require__(/*! ./tags.json */ "./src/tags.json"); + +var _tags2 = _interopRequireDefault(_tags); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +exports.default = Object.keys(_icons2.default).map(function (key) { + return new _icon2.default(key, _icons2.default[key], _tags2.default[key]); +}).reduce(function (object, icon) { + object[icon.name] = icon; + return object; +}, {}); + +/***/ }), + +/***/ "./src/index.js": +/*!**********************!*\ + !*** ./src/index.js ***! + \**********************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + + +var _icons = __webpack_require__(/*! ./icons */ "./src/icons.js"); + +var _icons2 = _interopRequireDefault(_icons); + +var _toSvg = __webpack_require__(/*! ./to-svg */ "./src/to-svg.js"); + +var _toSvg2 = _interopRequireDefault(_toSvg); + +var _replace = __webpack_require__(/*! ./replace */ "./src/replace.js"); + +var _replace2 = _interopRequireDefault(_replace); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +module.exports = { icons: _icons2.default, toSvg: _toSvg2.default, replace: _replace2.default }; + +/***/ }), + +/***/ "./src/replace.js": +/*!************************!*\ + !*** ./src/replace.js ***! + \************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; /* eslint-env browser */ + + +var _dedupe = __webpack_require__(/*! classnames/dedupe */ "./node_modules/classnames/dedupe.js"); + +var _dedupe2 = _interopRequireDefault(_dedupe); + +var _icons = __webpack_require__(/*! ./icons */ "./src/icons.js"); + +var _icons2 = _interopRequireDefault(_icons); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * Replace all HTML elements that have a `data-feather` attribute with SVG markup + * corresponding to the element's `data-feather` attribute value. + * @param {Object} attrs + */ +function replace() { + var attrs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + + if (typeof document === 'undefined') { + throw new Error('`feather.replace()` only works in a browser environment.'); + } + + var elementsToReplace = document.querySelectorAll('[data-feather]'); + + Array.from(elementsToReplace).forEach(function (element) { + return replaceElement(element, attrs); + }); +} + +/** + * Replace a single HTML element with SVG markup + * corresponding to the element's `data-feather` attribute value. + * @param {HTMLElement} element + * @param {Object} attrs + */ +function replaceElement(element) { + var attrs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + var elementAttrs = getAttrs(element); + var name = elementAttrs['data-feather']; + delete elementAttrs['data-feather']; + + var svgString = _icons2.default[name].toSvg(_extends({}, attrs, elementAttrs, { class: (0, _dedupe2.default)(attrs.class, elementAttrs.class) })); + var svgDocument = new DOMParser().parseFromString(svgString, 'image/svg+xml'); + var svgElement = svgDocument.querySelector('svg'); + + element.parentNode.replaceChild(svgElement, element); +} + +/** + * Get the attributes of an HTML element. + * @param {HTMLElement} element + * @returns {Object} + */ +function getAttrs(element) { + return Array.from(element.attributes).reduce(function (attrs, attr) { + attrs[attr.name] = attr.value; + return attrs; + }, {}); +} + +exports.default = replace; + +/***/ }), + +/***/ "./src/tags.json": +/*!***********************!*\ + !*** ./src/tags.json ***! + \***********************/ +/*! exports provided: activity, airplay, alert-circle, alert-octagon, alert-triangle, align-center, align-justify, align-left, align-right, anchor, archive, at-sign, award, aperture, bar-chart, bar-chart-2, battery, battery-charging, bell, bell-off, bluetooth, book-open, book, bookmark, box, briefcase, calendar, camera, cast, circle, clipboard, clock, cloud-drizzle, cloud-lightning, cloud-rain, cloud-snow, cloud, codepen, codesandbox, code, coffee, columns, command, compass, copy, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, cpu, credit-card, crop, crosshair, database, delete, disc, dollar-sign, droplet, edit, edit-2, edit-3, eye, eye-off, external-link, facebook, fast-forward, figma, file-minus, file-plus, file-text, film, filter, flag, folder-minus, folder-plus, folder, framer, frown, gift, git-branch, git-commit, git-merge, git-pull-request, github, gitlab, globe, hard-drive, hash, headphones, heart, help-circle, hexagon, home, image, inbox, instagram, key, layers, layout, life-bouy, link, link-2, linkedin, list, lock, log-in, log-out, mail, map-pin, map, maximize, maximize-2, meh, menu, message-circle, message-square, mic-off, mic, minimize, minimize-2, minus, monitor, moon, more-horizontal, more-vertical, mouse-pointer, move, music, navigation, navigation-2, octagon, package, paperclip, pause, pause-circle, pen-tool, percent, phone-call, phone-forwarded, phone-incoming, phone-missed, phone-off, phone-outgoing, phone, play, pie-chart, play-circle, plus, plus-circle, plus-square, pocket, power, printer, radio, refresh-cw, refresh-ccw, repeat, rewind, rotate-ccw, rotate-cw, rss, save, scissors, search, send, settings, share-2, shield, shield-off, shopping-bag, shopping-cart, shuffle, skip-back, skip-forward, slack, slash, sliders, smartphone, smile, speaker, star, stop-circle, sun, sunrise, sunset, tablet, tag, target, terminal, thermometer, thumbs-down, thumbs-up, toggle-left, toggle-right, tool, trash, trash-2, triangle, truck, tv, twitch, twitter, type, umbrella, unlock, user-check, user-minus, user-plus, user-x, user, users, video-off, video, voicemail, volume, volume-1, volume-2, volume-x, watch, wifi-off, wifi, wind, x-circle, x-octagon, x-square, x, youtube, zap-off, zap, zoom-in, zoom-out, default */ +/***/ (function(module) { + +module.exports = {"activity":["pulse","health","action","motion"],"airplay":["stream","cast","mirroring"],"alert-circle":["warning","alert","danger"],"alert-octagon":["warning","alert","danger"],"alert-triangle":["warning","alert","danger"],"align-center":["text alignment","center"],"align-justify":["text alignment","justified"],"align-left":["text alignment","left"],"align-right":["text alignment","right"],"anchor":[],"archive":["index","box"],"at-sign":["mention","at","email","message"],"award":["achievement","badge"],"aperture":["camera","photo"],"bar-chart":["statistics","diagram","graph"],"bar-chart-2":["statistics","diagram","graph"],"battery":["power","electricity"],"battery-charging":["power","electricity"],"bell":["alarm","notification","sound"],"bell-off":["alarm","notification","silent"],"bluetooth":["wireless"],"book-open":["read","library"],"book":["read","dictionary","booklet","magazine","library"],"bookmark":["read","clip","marker","tag"],"box":["cube"],"briefcase":["work","bag","baggage","folder"],"calendar":["date"],"camera":["photo"],"cast":["chromecast","airplay"],"circle":["off","zero","record"],"clipboard":["copy"],"clock":["time","watch","alarm"],"cloud-drizzle":["weather","shower"],"cloud-lightning":["weather","bolt"],"cloud-rain":["weather"],"cloud-snow":["weather","blizzard"],"cloud":["weather"],"codepen":["logo"],"codesandbox":["logo"],"code":["source","programming"],"coffee":["drink","cup","mug","tea","cafe","hot","beverage"],"columns":["layout"],"command":["keyboard","cmd","terminal","prompt"],"compass":["navigation","safari","travel","direction"],"copy":["clone","duplicate"],"corner-down-left":["arrow","return"],"corner-down-right":["arrow"],"corner-left-down":["arrow"],"corner-left-up":["arrow"],"corner-right-down":["arrow"],"corner-right-up":["arrow"],"corner-up-left":["arrow"],"corner-up-right":["arrow"],"cpu":["processor","technology"],"credit-card":["purchase","payment","cc"],"crop":["photo","image"],"crosshair":["aim","target"],"database":["storage","memory"],"delete":["remove"],"disc":["album","cd","dvd","music"],"dollar-sign":["currency","money","payment"],"droplet":["water"],"edit":["pencil","change"],"edit-2":["pencil","change"],"edit-3":["pencil","change"],"eye":["view","watch"],"eye-off":["view","watch","hide","hidden"],"external-link":["outbound"],"facebook":["logo","social"],"fast-forward":["music"],"figma":["logo","design","tool"],"file-minus":["delete","remove","erase"],"file-plus":["add","create","new"],"file-text":["data","txt","pdf"],"film":["movie","video"],"filter":["funnel","hopper"],"flag":["report"],"folder-minus":["directory"],"folder-plus":["directory"],"folder":["directory"],"framer":["logo","design","tool"],"frown":["emoji","face","bad","sad","emotion"],"gift":["present","box","birthday","party"],"git-branch":["code","version control"],"git-commit":["code","version control"],"git-merge":["code","version control"],"git-pull-request":["code","version control"],"github":["logo","version control"],"gitlab":["logo","version control"],"globe":["world","browser","language","translate"],"hard-drive":["computer","server","memory","data"],"hash":["hashtag","number","pound"],"headphones":["music","audio","sound"],"heart":["like","love","emotion"],"help-circle":["question mark"],"hexagon":["shape","node.js","logo"],"home":["house","living"],"image":["picture"],"inbox":["email"],"instagram":["logo","camera"],"key":["password","login","authentication","secure"],"layers":["stack"],"layout":["window","webpage"],"life-bouy":["help","life ring","support"],"link":["chain","url"],"link-2":["chain","url"],"linkedin":["logo","social media"],"list":["options"],"lock":["security","password","secure"],"log-in":["sign in","arrow","enter"],"log-out":["sign out","arrow","exit"],"mail":["email","message"],"map-pin":["location","navigation","travel","marker"],"map":["location","navigation","travel"],"maximize":["fullscreen"],"maximize-2":["fullscreen","arrows","expand"],"meh":["emoji","face","neutral","emotion"],"menu":["bars","navigation","hamburger"],"message-circle":["comment","chat"],"message-square":["comment","chat"],"mic-off":["record","sound","mute"],"mic":["record","sound","listen"],"minimize":["exit fullscreen","close"],"minimize-2":["exit fullscreen","arrows","close"],"minus":["subtract"],"monitor":["tv","screen","display"],"moon":["dark","night"],"more-horizontal":["ellipsis"],"more-vertical":["ellipsis"],"mouse-pointer":["arrow","cursor"],"move":["arrows"],"music":["note"],"navigation":["location","travel"],"navigation-2":["location","travel"],"octagon":["stop"],"package":["box","container"],"paperclip":["attachment"],"pause":["music","stop"],"pause-circle":["music","audio","stop"],"pen-tool":["vector","drawing"],"percent":["discount"],"phone-call":["ring"],"phone-forwarded":["call"],"phone-incoming":["call"],"phone-missed":["call"],"phone-off":["call","mute"],"phone-outgoing":["call"],"phone":["call"],"play":["music","start"],"pie-chart":["statistics","diagram"],"play-circle":["music","start"],"plus":["add","new"],"plus-circle":["add","new"],"plus-square":["add","new"],"pocket":["logo","save"],"power":["on","off"],"printer":["fax","office","device"],"radio":["signal"],"refresh-cw":["synchronise","arrows"],"refresh-ccw":["arrows"],"repeat":["loop","arrows"],"rewind":["music"],"rotate-ccw":["arrow"],"rotate-cw":["arrow"],"rss":["feed","subscribe"],"save":["floppy disk"],"scissors":["cut"],"search":["find","magnifier","magnifying glass"],"send":["message","mail","email","paper airplane","paper aeroplane"],"settings":["cog","edit","gear","preferences"],"share-2":["network","connections"],"shield":["security","secure"],"shield-off":["security","insecure"],"shopping-bag":["ecommerce","cart","purchase","store"],"shopping-cart":["ecommerce","cart","purchase","store"],"shuffle":["music"],"skip-back":["music"],"skip-forward":["music"],"slack":["logo"],"slash":["ban","no"],"sliders":["settings","controls"],"smartphone":["cellphone","device"],"smile":["emoji","face","happy","good","emotion"],"speaker":["audio","music"],"star":["bookmark","favorite","like"],"stop-circle":["media","music"],"sun":["brightness","weather","light"],"sunrise":["weather","time","morning","day"],"sunset":["weather","time","evening","night"],"tablet":["device"],"tag":["label"],"target":["logo","bullseye"],"terminal":["code","command line","prompt"],"thermometer":["temperature","celsius","fahrenheit","weather"],"thumbs-down":["dislike","bad","emotion"],"thumbs-up":["like","good","emotion"],"toggle-left":["on","off","switch"],"toggle-right":["on","off","switch"],"tool":["settings","spanner"],"trash":["garbage","delete","remove","bin"],"trash-2":["garbage","delete","remove","bin"],"triangle":["delta"],"truck":["delivery","van","shipping","transport","lorry"],"tv":["television","stream"],"twitch":["logo"],"twitter":["logo","social"],"type":["text"],"umbrella":["rain","weather"],"unlock":["security"],"user-check":["followed","subscribed"],"user-minus":["delete","remove","unfollow","unsubscribe"],"user-plus":["new","add","create","follow","subscribe"],"user-x":["delete","remove","unfollow","unsubscribe","unavailable"],"user":["person","account"],"users":["group"],"video-off":["camera","movie","film"],"video":["camera","movie","film"],"voicemail":["phone"],"volume":["music","sound","mute"],"volume-1":["music","sound"],"volume-2":["music","sound"],"volume-x":["music","sound","mute"],"watch":["clock","time"],"wifi-off":["disabled"],"wifi":["connection","signal","wireless"],"wind":["weather","air"],"x-circle":["cancel","close","delete","remove","times","clear"],"x-octagon":["delete","stop","alert","warning","times","clear"],"x-square":["cancel","close","delete","remove","times","clear"],"x":["cancel","close","delete","remove","times","clear"],"youtube":["logo","video","play"],"zap-off":["flash","camera","lightning"],"zap":["flash","camera","lightning"],"zoom-in":["magnifying glass"],"zoom-out":["magnifying glass"]}; + +/***/ }), + +/***/ "./src/to-svg.js": +/*!***********************!*\ + !*** ./src/to-svg.js ***! + \***********************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _icons = __webpack_require__(/*! ./icons */ "./src/icons.js"); + +var _icons2 = _interopRequireDefault(_icons); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * Create an SVG string. + * @deprecated + * @param {string} name + * @param {Object} attrs + * @returns {string} + */ +function toSvg(name) { + var attrs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + console.warn('feather.toSvg() is deprecated. Please use feather.icons[name].toSvg() instead.'); + + if (!name) { + throw new Error('The required `key` (icon name) parameter is missing.'); + } + + if (!_icons2.default[name]) { + throw new Error('No icon matching \'' + name + '\'. See the complete list of icons at https://feathericons.com'); + } + + return _icons2.default[name].toSvg(attrs); +} + +exports.default = toSvg; + +/***/ }), + +/***/ 0: +/*!**************************************************!*\ + !*** multi core-js/es/array/from ./src/index.js ***! + \**************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +__webpack_require__(/*! core-js/es/array/from */"./node_modules/core-js/es/array/from.js"); +module.exports = __webpack_require__(/*! /home/travis/build/feathericons/feather/src/index.js */"./src/index.js"); + + +/***/ }) + +/******/ }); +}); + +}); + +/** + * This module contains various utility functions commonly used in Obsidian plugins. + * @module obsidian-community-lib + */ +/** + * You can await this Function to delay execution + * + * @param delay The delay in ms + */ +async function wait(delay) { + return new Promise((resolve) => setTimeout(resolve, delay)); +} +/** + * Copy `content` to the users clipboard. + * + * @param {string} content The content to be copied to clipboard. + * @param {() => any} success The callback to run when text is successfully copied. Default throws a new `Notice` + * @param {(reason?) => any} failure The callback to run when text was not able to be copied. Default throws a new `Notice`, and console logs the error.` + */ +async function copy$2(content, success = () => new obsidian.Notice("Copied to clipboard"), failure = (reason) => { + new obsidian.Notice("Could not copy to clipboard"); + console.log({ reason }); +}) { + await navigator.clipboard.writeText(content).then(success, failure); +} +/** + * Check if `noteName` is the name of a note that exists in the vault. + * @param {App} app + * @param {string} noteName Basename of the note to search for. + * @param {string} [sourcePath=""] Optional file path to start searching from. Default is the current file. + * @returns boolean + */ +const isInVault = (app, noteName, sourcePath = "") => !!app.metadataCache.getFirstLinkpathDest(noteName, sourcePath); +/** + * When hovering a link going to `to`, show the Obsidian hover-preview of that note. + * + * You probably have to hold down `Ctrl` when hovering the link for the preview to appear! + * @param {MouseEvent} event + * @param {YourView} view The view with the link being hovered + * @param {string} to The basename of the note to preview. + * @template YourView The ViewType of your view + * @returns void + */ +function hoverPreview$1(event, view, to) { + const targetEl = event.target; + view.app.workspace.trigger("hover-link", { + event, + source: view.getViewType(), + hoverParent: view, + targetEl, + linktext: to, + }); +} +/** + * Create a new markdown note named `newName` in the user's preffered new-note-folder. + * @param {App} app + * @param {string} newName Name of new note (with or without '.md') + * @param {string} [currFilePath=""] File path of the current note. Use an empty string if there is no active file. + * @returns {Promise} new TFile + */ +async function createNewMDNote(app, newName, currFilePath = "") { + const newFileFolder = app.fileManager.getNewFileParent(currFilePath).path; + const newFilePath = obsidian.normalizePath(`${newFileFolder}${newFileFolder === "/" ? "" : "/"}${addMD(newName)}`); + return await app.vault.create(newFilePath, ""); +} +/** + * Add '.md' to a `noteName` if it isn't already there. + * @param {string} noteName with or without '.md' on the end. + * @returns {string} noteName with '.md' on the end. + */ +const addMD = (noteName) => { + let withMD = noteName.slice(); + if (!withMD.endsWith(".md")) { + withMD += ".md"; + } + return withMD; +}; +/** + * Given a list of resolved links from app.metadataCache, check if `from` has a link to `to` + * @param {ResolvedLinks} resolvedLinks + * @param {string} from Note name with link leaving (With or without '.md') + * @param {string} to Note name with link arriving (With or without '.md') + * @param {boolean} [directed=true] Only check if `from` has a link to `to`. If not directed, check in both directions + */ +function isLinked(resolvedLinks, from, to, directed = true) { + var _a, _b; + if (!from.endsWith(".md")) { + from += ".md"; + } + if (!to.endsWith(".md")) { + to += ".md"; + } + const fromTo = (_a = resolvedLinks[from]) === null || _a === void 0 ? void 0 : _a.hasOwnProperty(to); + if (!fromTo && !directed) { + const toFrom = (_b = resolvedLinks[to]) === null || _b === void 0 ? void 0 : _b.hasOwnProperty(from); + return toFrom; + } + else + return fromTo; +} +/** + * Open your view on the chosen `side` if it isn't already open + * @param {App} app + * @param {string} viewType + * @param {Constructor} viewClass The class constructor of your view + * @param {"left"|"right"} [side="right"] + * @returns {Promise} The opened view + */ +async function openView(app, viewType, viewClass, side = "right") { + let leaf = null; + for (leaf of app.workspace.getLeavesOfType(viewType)) { + if (leaf.view instanceof viewClass) { + return leaf.view; + } + await leaf.setViewState({ type: "empty" }); + break; + } + leaf = + (leaf !== null && leaf !== void 0 ? leaf : side === "right") + ? app.workspace.getRightLeaf(false) + : app.workspace.getLeftLeaf(false); + await leaf.setViewState({ + type: viewType, + active: true, + }); + return leaf.view; +} + +const DEFAULT_SETTINGS = { + noInfinity: true, + noZero: true, + allFileExtensions: true, + showImgThumbnails: true, + addUnresolved: true, + coTags: true, + defaultSubtypeType: 'Co-Citations', + debugMode: false, + superDebugMode: false, + exclusionRegex: '', + exclusionTags: [], + algsToShow: [ + 'Adamic Adar', + 'Jaccard', + 'Otsuka-Chiai', + 'Co-Citations', + 'Label Propagation', + ], +}; +const DECIMALS = 4; +const VIEW_TYPE_GRAPH_ANALYSIS = 'graph-analysis'; +const LINKED = 'GA-linked'; +const NOT_LINKED = 'GA-not-linked'; +const MEASURE = 'GA-measure'; +const NODE = 'GA-node'; +const ICON = 'GA-icon'; +const ANALYSIS_TYPES = [ + { + anl: 'Co-Citations', + subtype: 'Co-Citations', + desc: 'See which of your notes are referenced together most often.', + global: false, + nlp: false, + }, + { + anl: 'Centrality', + subtype: 'HITS', + desc: 'An authority has lots of links coming in\nA hub has lots of links going out.', + global: true, + nlp: false, + }, + { + anl: 'Link Prediction', + subtype: 'Adamic Adar', + desc: 'Based on the structure of your graph, this alg predicts which notes _should_ be linked to the current note.', + global: false, + nlp: false, + }, + // { + // anl: 'Link Prediction', + // subtype: 'Common Neighbours', + // desc: 'Tells you how many notes are linked to the current (active) note, and the note in the table.\nHover over a cell in the table to see a list of common neighbours', + // global: false, + // nlp: false, + // }, + { + anl: 'Similarity', + subtype: 'Jaccard', + desc: "Based on the structure of your graph, this alg predicts which notes are most similar to the current note.\n\nIt shows the ratio of the numbers of neighbours two notes have in common, to the total number of neighbours they each have.\n\n'🔗' means that this note is linked to the group name.", + global: false, + nlp: false, + }, + { + anl: 'Similarity', + subtype: 'Overlap', + desc: '', + global: false, + nlp: false, + }, + { + anl: 'Community Detection', + subtype: 'Label Propagation', + desc: "Start by giving each node a unique label (its own name). Then, look at each node's neighbours, and change it's label to the most common among it's neighbours. Repeat this process `iterations` number of times. Show the nodes grouped by the last label they had.\n\n'🔗' means that this note is linked to the group name.", + global: true, + nlp: false, + }, + { + anl: 'Community Detection', + subtype: 'Louvain', + desc: "Show the Louvain community that the current note is in.\n\n'🔗' means that this note is linked to the group name.", + global: false, + nlp: false, + }, + { + anl: 'Community Detection', + subtype: 'Clustering Coefficient', + desc: 'Gives the likelihood that a nodes _neighbours_ are connected to each other.', + global: true, + nlp: false, + }, + { + anl: 'NLP', + subtype: 'BoW', + desc: 'Split a note into its words, count how many times each word appears, and use that to compare similarity between notes.', + global: false, + nlp: true, + }, + // { + // anl: 'NLP', + // subtype: 'Tversky', + // desc: '', + // global: false, + // nlp: true, + // }, + { + anl: 'NLP', + subtype: 'Otsuka-Chiai', + desc: 'Returns the "Otsuka-Chiai" similarity between the current note and every other note.', + global: false, + nlp: true, + }, + { + anl: 'NLP', + subtype: 'Sentiment', + desc: 'Gives the sentiment of every note. Positive → higher sentiment.', + global: true, + nlp: true, + }, +]; +const IMG_EXTENSIONS = ['png', 'jpg', 'jpeg', 'svg', 'gif', 'webp']; +const iconSVG = ``; + +function noop() { } +function assign(tar, src) { + // @ts-ignore + for (const k in src) + tar[k] = src[k]; + return tar; +} +function is_promise(value) { + return value && typeof value === 'object' && typeof value.then === 'function'; +} +function run(fn) { + return fn(); +} +function blank_object() { + return Object.create(null); +} +function run_all(fns) { + fns.forEach(run); +} +function is_function(thing) { + return typeof thing === 'function'; +} +function safe_not_equal(a, b) { + return a != a ? b == b : a !== b || ((a && typeof a === 'object') || typeof a === 'function'); +} +function is_empty(obj) { + return Object.keys(obj).length === 0; +} +function create_slot(definition, ctx, $$scope, fn) { + if (definition) { + const slot_ctx = get_slot_context(definition, ctx, $$scope, fn); + return definition[0](slot_ctx); + } +} +function get_slot_context(definition, ctx, $$scope, fn) { + return definition[1] && fn + ? assign($$scope.ctx.slice(), definition[1](fn(ctx))) + : $$scope.ctx; +} +function get_slot_changes(definition, $$scope, dirty, fn) { + if (definition[2] && fn) { + const lets = definition[2](fn(dirty)); + if ($$scope.dirty === undefined) { + return lets; + } + if (typeof lets === 'object') { + const merged = []; + const len = Math.max($$scope.dirty.length, lets.length); + for (let i = 0; i < len; i += 1) { + merged[i] = $$scope.dirty[i] | lets[i]; + } + return merged; + } + return $$scope.dirty | lets; + } + return $$scope.dirty; +} +function update_slot(slot, slot_definition, ctx, $$scope, dirty, get_slot_changes_fn, get_slot_context_fn) { + const slot_changes = get_slot_changes(slot_definition, $$scope, dirty, get_slot_changes_fn); + if (slot_changes) { + const slot_context = get_slot_context(slot_definition, ctx, $$scope, get_slot_context_fn); + slot.p(slot_context, slot_changes); + } +} +function exclude_internal_props(props) { + const result = {}; + for (const k in props) + if (k[0] !== '$') + result[k] = props[k]; + return result; +} +function null_to_empty(value) { + return value == null ? '' : value; +} + +function append(target, node) { + target.appendChild(node); +} +function insert(target, node, anchor) { + target.insertBefore(node, anchor || null); +} +function detach(node) { + node.parentNode.removeChild(node); +} +function destroy_each(iterations, detaching) { + for (let i = 0; i < iterations.length; i += 1) { + if (iterations[i]) + iterations[i].d(detaching); + } +} +function element(name) { + return document.createElement(name); +} +function svg_element(name) { + return document.createElementNS('http://www.w3.org/2000/svg', name); +} +function text(data) { + return document.createTextNode(data); +} +function space() { + return text(' '); +} +function empty$1() { + return text(''); +} +function listen(node, event, handler, options) { + node.addEventListener(event, handler, options); + return () => node.removeEventListener(event, handler, options); +} +function attr(node, attribute, value) { + if (value == null) + node.removeAttribute(attribute); + else if (node.getAttribute(attribute) !== value) + node.setAttribute(attribute, value); +} +function get_binding_group_value(group, __value, checked) { + const value = new Set(); + for (let i = 0; i < group.length; i += 1) { + if (group[i].checked) + value.add(group[i].__value); + } + if (!checked) { + value.delete(__value); + } + return Array.from(value); +} +function children(element) { + return Array.from(element.childNodes); +} +function set_data(text, data) { + data = '' + data; + if (text.wholeText !== data) + text.data = data; +} +function set_style(node, key, value, important) { + node.style.setProperty(key, value, important ? 'important' : ''); +} +function custom_event(type, detail) { + const e = document.createEvent('CustomEvent'); + e.initCustomEvent(type, false, false, detail); + return e; +} + +let current_component; +function set_current_component(component) { + current_component = component; +} +function get_current_component() { + if (!current_component) + throw new Error('Function called outside component initialization'); + return current_component; +} +function onMount(fn) { + get_current_component().$$.on_mount.push(fn); +} +function onDestroy(fn) { + get_current_component().$$.on_destroy.push(fn); +} +function createEventDispatcher() { + const component = get_current_component(); + return (type, detail) => { + const callbacks = component.$$.callbacks[type]; + if (callbacks) { + // TODO are there situations where events could be dispatched + // in a server (non-DOM) environment? + const event = custom_event(type, detail); + callbacks.slice().forEach(fn => { + fn.call(component, event); + }); + } + }; +} + +const dirty_components = []; +const binding_callbacks = []; +const render_callbacks = []; +const flush_callbacks = []; +const resolved_promise = Promise.resolve(); +let update_scheduled = false; +function schedule_update() { + if (!update_scheduled) { + update_scheduled = true; + resolved_promise.then(flush); + } +} +function add_render_callback(fn) { + render_callbacks.push(fn); +} +function add_flush_callback(fn) { + flush_callbacks.push(fn); +} +let flushing = false; +const seen_callbacks = new Set(); +function flush() { + if (flushing) + return; + flushing = true; + do { + // first, call beforeUpdate functions + // and update components + for (let i = 0; i < dirty_components.length; i += 1) { + const component = dirty_components[i]; + set_current_component(component); + update(component.$$); + } + set_current_component(null); + dirty_components.length = 0; + while (binding_callbacks.length) + binding_callbacks.pop()(); + // then, once components are updated, call + // afterUpdate functions. This may cause + // subsequent updates... + for (let i = 0; i < render_callbacks.length; i += 1) { + const callback = render_callbacks[i]; + if (!seen_callbacks.has(callback)) { + // ...so guard against infinite loops + seen_callbacks.add(callback); + callback(); + } + } + render_callbacks.length = 0; + } while (dirty_components.length); + while (flush_callbacks.length) { + flush_callbacks.pop()(); + } + update_scheduled = false; + flushing = false; + seen_callbacks.clear(); +} +function update($$) { + if ($$.fragment !== null) { + $$.update(); + run_all($$.before_update); + const dirty = $$.dirty; + $$.dirty = [-1]; + $$.fragment && $$.fragment.p($$.ctx, dirty); + $$.after_update.forEach(add_render_callback); + } +} +const outroing = new Set(); +let outros; +function group_outros() { + outros = { + r: 0, + c: [], + p: outros // parent group + }; +} +function check_outros() { + if (!outros.r) { + run_all(outros.c); + } + outros = outros.p; +} +function transition_in(block, local) { + if (block && block.i) { + outroing.delete(block); + block.i(local); + } +} +function transition_out(block, local, detach, callback) { + if (block && block.o) { + if (outroing.has(block)) + return; + outroing.add(block); + outros.c.push(() => { + outroing.delete(block); + if (callback) { + if (detach) + block.d(1); + callback(); + } + }); + block.o(local); + } +} + +function handle_promise(promise, info) { + const token = info.token = {}; + function update(type, index, key, value) { + if (info.token !== token) + return; + info.resolved = value; + let child_ctx = info.ctx; + if (key !== undefined) { + child_ctx = child_ctx.slice(); + child_ctx[key] = value; + } + const block = type && (info.current = type)(child_ctx); + let needs_flush = false; + if (info.block) { + if (info.blocks) { + info.blocks.forEach((block, i) => { + if (i !== index && block) { + group_outros(); + transition_out(block, 1, 1, () => { + if (info.blocks[i] === block) { + info.blocks[i] = null; + } + }); + check_outros(); + } + }); + } + else { + info.block.d(1); + } + block.c(); + transition_in(block, 1); + block.m(info.mount(), info.anchor); + needs_flush = true; + } + info.block = block; + if (info.blocks) + info.blocks[index] = block; + if (needs_flush) { + flush(); + } + } + if (is_promise(promise)) { + const current_component = get_current_component(); + promise.then(value => { + set_current_component(current_component); + update(info.then, 1, info.value, value); + set_current_component(null); + }, error => { + set_current_component(current_component); + update(info.catch, 2, info.error, error); + set_current_component(null); + if (!info.hasCatch) { + throw error; + } + }); + // if we previously had a then/catch block, destroy it + if (info.current !== info.pending) { + update(info.pending, 0); + return true; + } + } + else { + if (info.current !== info.then) { + update(info.then, 1, info.value, promise); + return true; + } + info.resolved = promise; + } +} + +function get_spread_update(levels, updates) { + const update = {}; + const to_null_out = {}; + const accounted_for = { $$scope: 1 }; + let i = levels.length; + while (i--) { + const o = levels[i]; + const n = updates[i]; + if (n) { + for (const key in o) { + if (!(key in n)) + to_null_out[key] = 1; + } + for (const key in n) { + if (!accounted_for[key]) { + update[key] = n[key]; + accounted_for[key] = 1; + } + } + levels[i] = n; + } + else { + for (const key in o) { + accounted_for[key] = 1; + } + } + } + for (const key in to_null_out) { + if (!(key in update)) + update[key] = undefined; + } + return update; +} +function get_spread_object(spread_props) { + return typeof spread_props === 'object' && spread_props !== null ? spread_props : {}; +} + +function bind(component, name, callback) { + const index = component.$$.props[name]; + if (index !== undefined) { + component.$$.bound[index] = callback; + callback(component.$$.ctx[index]); + } +} +function create_component(block) { + block && block.c(); +} +function mount_component(component, target, anchor, customElement) { + const { fragment, on_mount, on_destroy, after_update } = component.$$; + fragment && fragment.m(target, anchor); + if (!customElement) { + // onMount happens before the initial afterUpdate + add_render_callback(() => { + const new_on_destroy = on_mount.map(run).filter(is_function); + if (on_destroy) { + on_destroy.push(...new_on_destroy); + } + else { + // Edge case - component was destroyed immediately, + // most likely as a result of a binding initialising + run_all(new_on_destroy); + } + component.$$.on_mount = []; + }); + } + after_update.forEach(add_render_callback); +} +function destroy_component(component, detaching) { + const $$ = component.$$; + if ($$.fragment !== null) { + run_all($$.on_destroy); + $$.fragment && $$.fragment.d(detaching); + // TODO null out other refs, including component.$$ (but need to + // preserve final state?) + $$.on_destroy = $$.fragment = null; + $$.ctx = []; + } +} +function make_dirty(component, i) { + if (component.$$.dirty[0] === -1) { + dirty_components.push(component); + schedule_update(); + component.$$.dirty.fill(0); + } + component.$$.dirty[(i / 31) | 0] |= (1 << (i % 31)); +} +function init(component, options, instance, create_fragment, not_equal, props, dirty = [-1]) { + const parent_component = current_component; + set_current_component(component); + const $$ = component.$$ = { + fragment: null, + ctx: null, + // state + props, + update: noop, + not_equal, + bound: blank_object(), + // lifecycle + on_mount: [], + on_destroy: [], + on_disconnect: [], + before_update: [], + after_update: [], + context: new Map(parent_component ? parent_component.$$.context : []), + // everything else + callbacks: blank_object(), + dirty, + skip_bound: false + }; + let ready = false; + $$.ctx = instance + ? instance(component, options.props || {}, (i, ret, ...rest) => { + const value = rest.length ? rest[0] : ret; + if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) { + if (!$$.skip_bound && $$.bound[i]) + $$.bound[i](value); + if (ready) + make_dirty(component, i); + } + return ret; + }) + : []; + $$.update(); + ready = true; + run_all($$.before_update); + // `false` as a special case of no DOM component + $$.fragment = create_fragment ? create_fragment($$.ctx) : false; + if (options.target) { + if (options.hydrate) { + const nodes = children(options.target); + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + $$.fragment && $$.fragment.l(nodes); + nodes.forEach(detach); + } + else { + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + $$.fragment && $$.fragment.c(); + } + if (options.intro) + transition_in(component.$$.fragment); + mount_component(component, options.target, options.anchor, options.customElement); + flush(); + } + set_current_component(parent_component); +} +/** + * Base class for Svelte components. Used when dev=false. + */ +class SvelteComponent { + $destroy() { + destroy_component(this, 1); + this.$destroy = noop; + } + $on(type, callback) { + const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = [])); + callbacks.push(callback); + return () => { + const index = callbacks.indexOf(callback); + if (index !== -1) + callbacks.splice(index, 1); + }; + } + $set($$props) { + if (this.$$set && !is_empty($$props)) { + this.$$.skip_bound = true; + this.$$set($$props); + this.$$.skip_bound = false; + } + } +} + +const sum$2 = (arr) => { + if (arr.length === 0) { + return 0; + } + return arr.reduce((a, b) => a + b); +}; +function debug(settings, log) { + if (settings.debugMode) { + console.log(log); + } +} +function roundNumber(num, dec = DECIMALS) { + return Math.round(num * Math.pow(10, dec)) / Math.pow(10, dec); +} +const dropPath = (path) => { + return path.split('/').last(); +}; +const dropExt = (path) => path.split('.').length === 1 ? path : path.split('.').slice(0, -1).join('.'); +const getExt = (path) => path.split('.').last(); +const classExt = (path) => `GA-${getExt(path)}`; +const classResolved = (app, node) => node.endsWith('.md') && !isInVault(app, dropExt(node)) ? 'is-unresolved' : ''; +const classLinked = (resolvedLinks, from, to, directed = false) => (isLinked(resolvedLinks, from, to, directed) ? LINKED : NOT_LINKED); +const presentPath = (path) => dropExt(dropPath(path)); +function hoverPreview(event, view, to) { + const targetEl = event.target; + view.app.workspace.trigger('hover-link', { + event, + source: view.getViewType(), + hoverParent: view, + targetEl, + linktext: to, + }); +} +function looserIsLinked(app, from, to, directed = true) { + var _a, _b, _c, _d; + const { resolvedLinks, unresolvedLinks } = app.metadataCache; + const fromTo = ((_a = resolvedLinks[from]) === null || _a === void 0 ? void 0 : _a.hasOwnProperty(to)) || + ((_b = unresolvedLinks[from]) === null || _b === void 0 ? void 0 : _b.hasOwnProperty(dropExt(to))); + if (!fromTo && !directed) { + return (((_c = resolvedLinks[to]) === null || _c === void 0 ? void 0 : _c.hasOwnProperty(from)) || + ((_d = unresolvedLinks[to]) === null || _d === void 0 ? void 0 : _d.hasOwnProperty(dropExt(from)))); + } + else + return fromTo; +} +/** + * Adds or updates the given yaml `key` to `value` in the given TFile + * @param {string} key + * @param {string} value + * @param {TFile} file + * @param {App} app + */ +const createOrUpdateYaml = (key, value, file, app) => __awaiter(void 0, void 0, void 0, function* () { + var _a, _b; + // @ts-ignore + const api = (_a = app.plugins.plugins.metaedit) === null || _a === void 0 ? void 0 : _a.api; + if (!api) { + new obsidian.Notice('Metaedit must be enabled for this function to work'); + return; + } + let valueStr = value.toString(); + const frontmatter = (_b = app.metadataCache.getFileCache(file)) === null || _b === void 0 ? void 0 : _b.frontmatter; + if (!frontmatter || frontmatter[key] === undefined) { + yield api.createYamlProperty(key, `['${valueStr}']`, file); + } + else if ([...[frontmatter[key]]].flat(3).some((val) => val == valueStr)) { + return; + } + else { + const oldValueFlat = [...[frontmatter[key]]].flat(4); + const newValue = [...oldValueFlat, valueStr].map((val) => `'${val}'`); + yield api.update(key, `[${newValue.join(', ')}]`, file); + } +}); +function openMenu(event, app, copyObj = undefined) { + const tdEl = event.target; + const menu = new obsidian.Menu(app); + if (copyObj) { + menu.addItem((item) => item + .setTitle('Copy community') + .setIcon('graph') + .onClick(() => __awaiter(this, void 0, void 0, function* () { + yield copy$2(copyObj.toCopy); + }))); + } + else { + menu.addItem((item) => item + .setTitle('Create Link: Current') + .setIcon('documents') + .onClick((e) => { + try { + const currFile = app.workspace.getActiveFile(); + // @ts-ignore + const targetStr = tdEl.innerText; + createOrUpdateYaml('key', targetStr, currFile, app); + new obsidian.Notice('Write Successful'); + } + catch (error) { + new obsidian.Notice('Write failed'); + } + })); + menu.addItem((item) => item + .setTitle('Create Link: Target') + .setIcon('documents') + .onClick((e) => { + const currStr = app.workspace.getActiveFile().basename; + const { target } = event; + // @ts-ignore + const targetStr = target.innerText; + const targetFile = app.metadataCache.getFirstLinkpathDest(targetStr, ''); + if (!targetFile) { + new obsidian.Notice(`${targetStr} does not exist in your vault yet`); + return; + } + else { + createOrUpdateYaml('key', currStr, targetFile, app); + } + })); + } + menu.showAtMouseEvent(event); +} +function jumpToSelection(app, line, sentence) { + const view = app.workspace.getActiveViewOfType(obsidian.MarkdownView); + // Make sure the user is editing a Markdown file. + if (view && view.getMode() === 'source') { + const { editor } = view; + // Creat sel + const lineStartPos = { ch: 0, line }; + const markStart = editor.posToOffset(lineStartPos); + // const lineStr = editor.getLine(line) + // let startOfSentenceInLine = 0 + // if (lineStr !== sentence) { + // startOfSentenceInLine = lineStr.indexOf(sentence) + // } + // if (startOfSentenceInLine === -1) { + // console.log('sentence not in lineStr') + // return + // } + const markEnd = markStart + sentence.length; + const markSel = { + from: editor.offsetToPos(markStart), + to: editor.offsetToPos(markEnd), + }; + editor.setSelection(markSel.from, markSel.to); + editor.scrollIntoView(markSel); + const doc = editor.cm.getDoc(); + const marker = doc.markText(markSel.from, markSel.to, { + className: 'GA-highlight-sentence', + }); + setTimeout(() => { + marker.clear(); + }, 1000); + } + else if (view && view.getMode() === 'preview') ; +} +function getImgBufferPromise(app, fileName) { + const file = app.metadataCache.getFirstLinkpathDest(fileName, ''); + return file ? app.vault.readBinary(file) : null; +} +function getCounts(arr) { + const counts = {}; + for (const num of arr) { + counts[num] = counts[num] ? counts[num] + 1 : 1; + } + return counts; +} +function getMaxKey(obj) { + // Using random resolving of equality + return Object.keys(obj).reduce((a, b) => obj[a] === obj[b] ? (Math.random() < 0.5 ? a : b) : obj[a] > obj[b] ? a : b); +} +const isImg = (path) => IMG_EXTENSIONS.includes(path.split('.').last()); +function openOrSwitch(app, dest, event, options = { createNewFile: true }) { + return __awaiter(this, void 0, void 0, function* () { + const { workspace } = app; + let destFile = app.metadataCache.getFirstLinkpathDest(dest, ''); + // If dest doesn't exist, make it + if (!destFile && options.createNewFile) { + destFile = yield createNewMDNote(app, dest); + } + else if (!destFile && !options.createNewFile) + return; + // Check if it's already open + const leavesWithDestAlreadyOpen = []; + workspace.iterateAllLeaves((leaf) => { + var _a, _b; + if (leaf.view instanceof obsidian.MarkdownView) { + if (((_b = (_a = leaf.view) === null || _a === void 0 ? void 0 : _a.file) === null || _b === void 0 ? void 0 : _b.basename) === dropExt(dest)) { + leavesWithDestAlreadyOpen.push(leaf); + } + } + }); + // Rather switch to it if it is open + if (leavesWithDestAlreadyOpen.length > 0) { + workspace.setActiveLeaf(leavesWithDestAlreadyOpen[0]); + } + else { + // @ts-ignore + const mode = app.vault.getConfig('defaultViewMode'); + const leaf = event.ctrlKey || event.getModifierState('Meta') + ? workspace.splitActiveLeaf() + : workspace.getUnpinnedLeaf(); + yield leaf.openFile(destFile, { active: true, mode }); + } + }); +} +function findSentence(sentences, link) { + let aggrSentenceLength = 0; + let count = 0; + for (const sentence of sentences) { + const nextLength = aggrSentenceLength + sentence.length; + // Edge case that does not work: If alias has end of sentences. + if (link.position.end.col <= nextLength) { + return [count, aggrSentenceLength, nextLength]; + } + aggrSentenceLength = nextLength; + count += 1; + } + return [-1, 0, aggrSentenceLength]; +} +function addPreCocitation(preCocitations, linkPath, measure, sentence, source, line) { + preCocitations[linkPath][0] = Math.max(preCocitations[linkPath][0], measure); + preCocitations[linkPath][1].push({ + sentence, + measure, + source, + line, + }); +} + +/* node_modules/svelte-icons/components/IconBase.svelte generated by Svelte v3.35.0 */ + +function add_css$b() { + var style = element("style"); + style.id = "svelte-c8tyih-style"; + style.textContent = "svg.svelte-c8tyih{stroke:currentColor;fill:currentColor;stroke-width:0;width:100%;height:auto;max-height:100%}"; + append(document.head, style); +} + +// (18:2) {#if title} +function create_if_block$a(ctx) { + let title_1; + let t; + + return { + c() { + title_1 = svg_element("title"); + t = text(/*title*/ ctx[0]); + }, + m(target, anchor) { + insert(target, title_1, anchor); + append(title_1, t); + }, + p(ctx, dirty) { + if (dirty & /*title*/ 1) set_data(t, /*title*/ ctx[0]); + }, + d(detaching) { + if (detaching) detach(title_1); + } + }; +} + +function create_fragment$D(ctx) { + let svg; + let if_block_anchor; + let current; + let if_block = /*title*/ ctx[0] && create_if_block$a(ctx); + const default_slot_template = /*#slots*/ ctx[3].default; + const default_slot = create_slot(default_slot_template, ctx, /*$$scope*/ ctx[2], null); + + return { + c() { + svg = svg_element("svg"); + if (if_block) if_block.c(); + if_block_anchor = empty$1(); + if (default_slot) default_slot.c(); + attr(svg, "xmlns", "http://www.w3.org/2000/svg"); + attr(svg, "viewBox", /*viewBox*/ ctx[1]); + attr(svg, "class", "svelte-c8tyih"); + }, + m(target, anchor) { + insert(target, svg, anchor); + if (if_block) if_block.m(svg, null); + append(svg, if_block_anchor); + + if (default_slot) { + default_slot.m(svg, null); + } + + current = true; + }, + p(ctx, [dirty]) { + if (/*title*/ ctx[0]) { + if (if_block) { + if_block.p(ctx, dirty); + } else { + if_block = create_if_block$a(ctx); + if_block.c(); + if_block.m(svg, if_block_anchor); + } + } else if (if_block) { + if_block.d(1); + if_block = null; + } + + if (default_slot) { + if (default_slot.p && dirty & /*$$scope*/ 4) { + update_slot(default_slot, default_slot_template, ctx, /*$$scope*/ ctx[2], dirty, null, null); + } + } + + if (!current || dirty & /*viewBox*/ 2) { + attr(svg, "viewBox", /*viewBox*/ ctx[1]); + } + }, + i(local) { + if (current) return; + transition_in(default_slot, local); + current = true; + }, + o(local) { + transition_out(default_slot, local); + current = false; + }, + d(detaching) { + if (detaching) detach(svg); + if (if_block) if_block.d(); + if (default_slot) default_slot.d(detaching); + } + }; +} + +function instance$D($$self, $$props, $$invalidate) { + let { $$slots: slots = {}, $$scope } = $$props; + let { title = null } = $$props; + let { viewBox } = $$props; + + $$self.$$set = $$props => { + if ("title" in $$props) $$invalidate(0, title = $$props.title); + if ("viewBox" in $$props) $$invalidate(1, viewBox = $$props.viewBox); + if ("$$scope" in $$props) $$invalidate(2, $$scope = $$props.$$scope); + }; + + return [title, viewBox, $$scope, slots]; +} + +class IconBase extends SvelteComponent { + constructor(options) { + super(); + if (!document.getElementById("svelte-c8tyih-style")) add_css$b(); + init(this, options, instance$D, create_fragment$D, safe_not_equal, { title: 0, viewBox: 1 }); + } +} + +/* node_modules/svelte-icons/fa/FaLink.svelte generated by Svelte v3.35.0 */ + +function create_default_slot$o(ctx) { + let path; + + return { + c() { + path = svg_element("path"); + attr(path, "d", "M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z"); + }, + m(target, anchor) { + insert(target, path, anchor); + }, + d(detaching) { + if (detaching) detach(path); + } + }; +} + +function create_fragment$C(ctx) { + let iconbase; + let current; + const iconbase_spread_levels = [{ viewBox: "0 0 512 512" }, /*$$props*/ ctx[0]]; + + let iconbase_props = { + $$slots: { default: [create_default_slot$o] }, + $$scope: { ctx } + }; + + for (let i = 0; i < iconbase_spread_levels.length; i += 1) { + iconbase_props = assign(iconbase_props, iconbase_spread_levels[i]); + } + + iconbase = new IconBase({ props: iconbase_props }); + + return { + c() { + create_component(iconbase.$$.fragment); + }, + m(target, anchor) { + mount_component(iconbase, target, anchor); + current = true; + }, + p(ctx, [dirty]) { + const iconbase_changes = (dirty & /*$$props*/ 1) + ? get_spread_update(iconbase_spread_levels, [iconbase_spread_levels[0], get_spread_object(/*$$props*/ ctx[0])]) + : {}; + + if (dirty & /*$$scope*/ 2) { + iconbase_changes.$$scope = { dirty, ctx }; + } + + iconbase.$set(iconbase_changes); + }, + i(local) { + if (current) return; + transition_in(iconbase.$$.fragment, local); + current = true; + }, + o(local) { + transition_out(iconbase.$$.fragment, local); + current = false; + }, + d(detaching) { + destroy_component(iconbase, detaching); + } + }; +} + +function instance$C($$self, $$props, $$invalidate) { + $$self.$$set = $$new_props => { + $$invalidate(0, $$props = assign(assign({}, $$props), exclude_internal_props($$new_props))); + }; + + $$props = exclude_internal_props($$props); + return [$$props]; +} + +class FaLink extends SvelteComponent { + constructor(options) { + super(); + init(this, options, instance$C, create_fragment$C, safe_not_equal, {}); + } +} + +/* node_modules/svelte-infinite-scroll/dist/InfiniteScroll.svelte generated by Svelte v3.35.0 */ + +function create_if_block$9(ctx) { + let div; + + return { + c() { + div = element("div"); + attr(div, "id", "svelte-infinite-scroll"); + set_style(div, "width", "0"); + }, + m(target, anchor) { + insert(target, div, anchor); + /*div_binding*/ ctx[11](div); + }, + p: noop, + d(detaching) { + if (detaching) detach(div); + /*div_binding*/ ctx[11](null); + } + }; +} + +function create_fragment$B(ctx) { + let if_block_anchor; + let if_block = !/*window*/ ctx[1] && !/*elementScroll*/ ctx[0] && create_if_block$9(ctx); + + return { + c() { + if (if_block) if_block.c(); + if_block_anchor = empty$1(); + }, + m(target, anchor) { + if (if_block) if_block.m(target, anchor); + insert(target, if_block_anchor, anchor); + }, + p(ctx, [dirty]) { + if (!/*window*/ ctx[1] && !/*elementScroll*/ ctx[0]) { + if (if_block) { + if_block.p(ctx, dirty); + } else { + if_block = create_if_block$9(ctx); + if_block.c(); + if_block.m(if_block_anchor.parentNode, if_block_anchor); + } + } else if (if_block) { + if_block.d(1); + if_block = null; + } + }, + i: noop, + o: noop, + d(detaching) { + if (if_block) if_block.d(detaching); + if (detaching) detach(if_block_anchor); + } + }; +} + +function instance$B($$self, $$props, $$invalidate) { + let { threshold = 0 } = $$props; + let { horizontal = false } = $$props; + let { elementScroll = null } = $$props; + let { hasMore = true } = $$props; + let { reverse = false } = $$props; + let { window = false } = $$props; + const dispatch = createEventDispatcher(); + let isLoadMore = false; + let component; + let beforeScrollHeight; + let beforeScrollTop; + let element; + + const onScroll = e => { + if (!hasMore) return; + const target = e.target; + const offset = calcOffset(target, reverse, horizontal); + + if (offset <= threshold) { + if (!isLoadMore && hasMore) { + dispatch("loadMore"); + $$invalidate(8, beforeScrollHeight = target.scrollHeight); + $$invalidate(9, beforeScrollTop = target.scrollTop); + } + + $$invalidate(7, isLoadMore = true); + } else { + $$invalidate(7, isLoadMore = false); + } + }; + + const calcOffset = (target, reverse, horizontal) => { + const element = target.documentElement ? target.documentElement : target; + + if (reverse) { + return horizontal ? element.scrollLeft : element.scrollTop; + } + + return horizontal + ? element.scrollWidth - element.clientWidth - element.scrollLeft + : element.scrollHeight - element.clientHeight - element.scrollTop; + }; + + onMount(() => { + if (window) { + $$invalidate(10, element = document); + } else if (elementScroll) { + $$invalidate(10, element = elementScroll); + } else { + $$invalidate(10, element = component.parentNode); + } + }); + + onDestroy(() => { + if (element) { + element.removeEventListener("scroll", onScroll); + element.removeEventListener("resize", onScroll); + } + }); + + function div_binding($$value) { + binding_callbacks[$$value ? "unshift" : "push"](() => { + component = $$value; + $$invalidate(2, component); + }); + } + + $$self.$$set = $$props => { + if ("threshold" in $$props) $$invalidate(3, threshold = $$props.threshold); + if ("horizontal" in $$props) $$invalidate(4, horizontal = $$props.horizontal); + if ("elementScroll" in $$props) $$invalidate(0, elementScroll = $$props.elementScroll); + if ("hasMore" in $$props) $$invalidate(5, hasMore = $$props.hasMore); + if ("reverse" in $$props) $$invalidate(6, reverse = $$props.reverse); + if ("window" in $$props) $$invalidate(1, window = $$props.window); + }; + + $$self.$$.update = () => { + if ($$self.$$.dirty & /*element, reverse*/ 1088) { + if (element) { + if (reverse) { + $$invalidate(10, element.scrollTop = element.scrollHeight, element); + } + + element.addEventListener("scroll", onScroll); + element.addEventListener("resize", onScroll); + } + } + + if ($$self.$$.dirty & /*isLoadMore, reverse, element, beforeScrollHeight, beforeScrollTop*/ 1984) { + if (isLoadMore && reverse) { + $$invalidate(10, element.scrollTop = element.scrollHeight - beforeScrollHeight + beforeScrollTop, element); + } + } + }; + + return [ + elementScroll, + window, + component, + threshold, + horizontal, + hasMore, + reverse, + isLoadMore, + beforeScrollHeight, + beforeScrollTop, + element, + div_binding + ]; +} + +class InfiniteScroll extends SvelteComponent { + constructor(options) { + super(); + + init(this, options, instance$B, create_fragment$B, safe_not_equal, { + threshold: 3, + horizontal: 4, + elementScroll: 0, + hasMore: 5, + reverse: 6, + window: 1 + }); + } +} + +/* node_modules/svelte-icons/di/DiHtml5.svelte generated by Svelte v3.35.0 */ + +function create_default_slot$n(ctx) { + let path; + + return { + c() { + path = svg_element("path"); + attr(path, "d", "M4.665 3.411l2.063 23.176 9.258 2.574 9.284-2.578 2.065-23.172h-22.671zM8.951 8.911l-0.068-0.763h7.107v2.842h-4.005l0.259 2.911h3.746v2.842h-6.341l-0.698-7.833zM22.518 14.665l-0.667 7.483-0.043 0.48-5.822 1.616-5.814-1.616-0.398-4.463h2.849l0.202 2.267 3.163 0.854 3.165-0.856 0.329-3.686h-3.485v-2.842h6.587l-0.069 0.763zM23.032 8.911l-0.129 1.441-0.057 0.639h-6.846v-2.842h7.1l-0.068 0.762z"); + }, + m(target, anchor) { + insert(target, path, anchor); + }, + d(detaching) { + if (detaching) detach(path); + } + }; +} + +function create_fragment$A(ctx) { + let iconbase; + let current; + const iconbase_spread_levels = [{ viewBox: "0 0 32 32" }, /*$$props*/ ctx[0]]; + + let iconbase_props = { + $$slots: { default: [create_default_slot$n] }, + $$scope: { ctx } + }; + + for (let i = 0; i < iconbase_spread_levels.length; i += 1) { + iconbase_props = assign(iconbase_props, iconbase_spread_levels[i]); + } + + iconbase = new IconBase({ props: iconbase_props }); + + return { + c() { + create_component(iconbase.$$.fragment); + }, + m(target, anchor) { + mount_component(iconbase, target, anchor); + current = true; + }, + p(ctx, [dirty]) { + const iconbase_changes = (dirty & /*$$props*/ 1) + ? get_spread_update(iconbase_spread_levels, [iconbase_spread_levels[0], get_spread_object(/*$$props*/ ctx[0])]) + : {}; + + if (dirty & /*$$scope*/ 2) { + iconbase_changes.$$scope = { dirty, ctx }; + } + + iconbase.$set(iconbase_changes); + }, + i(local) { + if (current) return; + transition_in(iconbase.$$.fragment, local); + current = true; + }, + o(local) { + transition_out(iconbase.$$.fragment, local); + current = false; + }, + d(detaching) { + destroy_component(iconbase, detaching); + } + }; +} + +function instance$A($$self, $$props, $$invalidate) { + $$self.$$set = $$new_props => { + $$invalidate(0, $$props = assign(assign({}, $$props), exclude_internal_props($$new_props))); + }; + + $$props = exclude_internal_props($$props); + return [$$props]; +} + +class DiHtml5 extends SvelteComponent { + constructor(options) { + super(); + init(this, options, instance$A, create_fragment$A, safe_not_equal, {}); + } +} + +/* node_modules/svelte-icons/fa/FaFile.svelte generated by Svelte v3.35.0 */ + +function create_default_slot$m(ctx) { + let path; + + return { + c() { + path = svg_element("path"); + attr(path, "d", "M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm160-14.1v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z"); + }, + m(target, anchor) { + insert(target, path, anchor); + }, + d(detaching) { + if (detaching) detach(path); + } + }; +} + +function create_fragment$z(ctx) { + let iconbase; + let current; + const iconbase_spread_levels = [{ viewBox: "0 0 384 512" }, /*$$props*/ ctx[0]]; + + let iconbase_props = { + $$slots: { default: [create_default_slot$m] }, + $$scope: { ctx } + }; + + for (let i = 0; i < iconbase_spread_levels.length; i += 1) { + iconbase_props = assign(iconbase_props, iconbase_spread_levels[i]); + } + + iconbase = new IconBase({ props: iconbase_props }); + + return { + c() { + create_component(iconbase.$$.fragment); + }, + m(target, anchor) { + mount_component(iconbase, target, anchor); + current = true; + }, + p(ctx, [dirty]) { + const iconbase_changes = (dirty & /*$$props*/ 1) + ? get_spread_update(iconbase_spread_levels, [iconbase_spread_levels[0], get_spread_object(/*$$props*/ ctx[0])]) + : {}; + + if (dirty & /*$$scope*/ 2) { + iconbase_changes.$$scope = { dirty, ctx }; + } + + iconbase.$set(iconbase_changes); + }, + i(local) { + if (current) return; + transition_in(iconbase.$$.fragment, local); + current = true; + }, + o(local) { + transition_out(iconbase.$$.fragment, local); + current = false; + }, + d(detaching) { + destroy_component(iconbase, detaching); + } + }; +} + +function instance$z($$self, $$props, $$invalidate) { + $$self.$$set = $$new_props => { + $$invalidate(0, $$props = assign(assign({}, $$props), exclude_internal_props($$new_props))); + }; + + $$props = exclude_internal_props($$props); + return [$$props]; +} + +class FaFile extends SvelteComponent { + constructor(options) { + super(); + init(this, options, instance$z, create_fragment$z, safe_not_equal, {}); + } +} + +/* node_modules/svelte-icons/fa/FaFileAudio.svelte generated by Svelte v3.35.0 */ + +function create_default_slot$l(ctx) { + let path; + + return { + c() { + path = svg_element("path"); + attr(path, "d", "M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm-64 268c0 10.7-12.9 16-20.5 8.5L104 376H76c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h28l35.5-36.5c7.6-7.6 20.5-2.2 20.5 8.5v136zm33.2-47.6c9.1-9.3 9.1-24.1 0-33.4-22.1-22.8 12.2-56.2 34.4-33.5 27.2 27.9 27.2 72.4 0 100.4-21.8 22.3-56.9-10.4-34.4-33.5zm86-117.1c54.4 55.9 54.4 144.8 0 200.8-21.8 22.4-57-10.3-34.4-33.5 36.2-37.2 36.3-96.5 0-133.8-22.1-22.8 12.3-56.3 34.4-33.5zM384 121.9v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z"); + }, + m(target, anchor) { + insert(target, path, anchor); + }, + d(detaching) { + if (detaching) detach(path); + } + }; +} + +function create_fragment$y(ctx) { + let iconbase; + let current; + const iconbase_spread_levels = [{ viewBox: "0 0 384 512" }, /*$$props*/ ctx[0]]; + + let iconbase_props = { + $$slots: { default: [create_default_slot$l] }, + $$scope: { ctx } + }; + + for (let i = 0; i < iconbase_spread_levels.length; i += 1) { + iconbase_props = assign(iconbase_props, iconbase_spread_levels[i]); + } + + iconbase = new IconBase({ props: iconbase_props }); + + return { + c() { + create_component(iconbase.$$.fragment); + }, + m(target, anchor) { + mount_component(iconbase, target, anchor); + current = true; + }, + p(ctx, [dirty]) { + const iconbase_changes = (dirty & /*$$props*/ 1) + ? get_spread_update(iconbase_spread_levels, [iconbase_spread_levels[0], get_spread_object(/*$$props*/ ctx[0])]) + : {}; + + if (dirty & /*$$scope*/ 2) { + iconbase_changes.$$scope = { dirty, ctx }; + } + + iconbase.$set(iconbase_changes); + }, + i(local) { + if (current) return; + transition_in(iconbase.$$.fragment, local); + current = true; + }, + o(local) { + transition_out(iconbase.$$.fragment, local); + current = false; + }, + d(detaching) { + destroy_component(iconbase, detaching); + } + }; +} + +function instance$y($$self, $$props, $$invalidate) { + $$self.$$set = $$new_props => { + $$invalidate(0, $$props = assign(assign({}, $$props), exclude_internal_props($$new_props))); + }; + + $$props = exclude_internal_props($$props); + return [$$props]; +} + +class FaFileAudio extends SvelteComponent { + constructor(options) { + super(); + init(this, options, instance$y, create_fragment$y, safe_not_equal, {}); + } +} + +/* node_modules/svelte-icons/fa/FaFileCode.svelte generated by Svelte v3.35.0 */ + +function create_default_slot$k(ctx) { + let path; + + return { + c() { + path = svg_element("path"); + attr(path, "d", "M384 121.941V128H256V0h6.059c6.365 0 12.47 2.529 16.971 7.029l97.941 97.941A24.005 24.005 0 0 1 384 121.941zM248 160c-13.2 0-24-10.8-24-24V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248zM123.206 400.505a5.4 5.4 0 0 1-7.633.246l-64.866-60.812a5.4 5.4 0 0 1 0-7.879l64.866-60.812a5.4 5.4 0 0 1 7.633.246l19.579 20.885a5.4 5.4 0 0 1-.372 7.747L101.65 336l40.763 35.874a5.4 5.4 0 0 1 .372 7.747l-19.579 20.884zm51.295 50.479l-27.453-7.97a5.402 5.402 0 0 1-3.681-6.692l61.44-211.626a5.402 5.402 0 0 1 6.692-3.681l27.452 7.97a5.4 5.4 0 0 1 3.68 6.692l-61.44 211.626a5.397 5.397 0 0 1-6.69 3.681zm160.792-111.045l-64.866 60.812a5.4 5.4 0 0 1-7.633-.246l-19.58-20.885a5.4 5.4 0 0 1 .372-7.747L284.35 336l-40.763-35.874a5.4 5.4 0 0 1-.372-7.747l19.58-20.885a5.4 5.4 0 0 1 7.633-.246l64.866 60.812a5.4 5.4 0 0 1-.001 7.879z"); + }, + m(target, anchor) { + insert(target, path, anchor); + }, + d(detaching) { + if (detaching) detach(path); + } + }; +} + +function create_fragment$x(ctx) { + let iconbase; + let current; + const iconbase_spread_levels = [{ viewBox: "0 0 384 512" }, /*$$props*/ ctx[0]]; + + let iconbase_props = { + $$slots: { default: [create_default_slot$k] }, + $$scope: { ctx } + }; + + for (let i = 0; i < iconbase_spread_levels.length; i += 1) { + iconbase_props = assign(iconbase_props, iconbase_spread_levels[i]); + } + + iconbase = new IconBase({ props: iconbase_props }); + + return { + c() { + create_component(iconbase.$$.fragment); + }, + m(target, anchor) { + mount_component(iconbase, target, anchor); + current = true; + }, + p(ctx, [dirty]) { + const iconbase_changes = (dirty & /*$$props*/ 1) + ? get_spread_update(iconbase_spread_levels, [iconbase_spread_levels[0], get_spread_object(/*$$props*/ ctx[0])]) + : {}; + + if (dirty & /*$$scope*/ 2) { + iconbase_changes.$$scope = { dirty, ctx }; + } + + iconbase.$set(iconbase_changes); + }, + i(local) { + if (current) return; + transition_in(iconbase.$$.fragment, local); + current = true; + }, + o(local) { + transition_out(iconbase.$$.fragment, local); + current = false; + }, + d(detaching) { + destroy_component(iconbase, detaching); + } + }; +} + +function instance$x($$self, $$props, $$invalidate) { + $$self.$$set = $$new_props => { + $$invalidate(0, $$props = assign(assign({}, $$props), exclude_internal_props($$new_props))); + }; + + $$props = exclude_internal_props($$props); + return [$$props]; +} + +class FaFileCode extends SvelteComponent { + constructor(options) { + super(); + init(this, options, instance$x, create_fragment$x, safe_not_equal, {}); + } +} + +/* node_modules/svelte-icons/fa/FaFileCsv.svelte generated by Svelte v3.35.0 */ + +function create_default_slot$j(ctx) { + let path; + + return { + c() { + path = svg_element("path"); + attr(path, "d", "M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm-96 144c0 4.42-3.58 8-8 8h-8c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h8c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-8c-26.51 0-48-21.49-48-48v-32c0-26.51 21.49-48 48-48h8c4.42 0 8 3.58 8 8v16zm44.27 104H160c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h12.27c5.95 0 10.41-3.5 10.41-6.62 0-1.3-.75-2.66-2.12-3.84l-21.89-18.77c-8.47-7.22-13.33-17.48-13.33-28.14 0-21.3 19.02-38.62 42.41-38.62H200c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-12.27c-5.95 0-10.41 3.5-10.41 6.62 0 1.3.75 2.66 2.12 3.84l21.89 18.77c8.47 7.22 13.33 17.48 13.33 28.14.01 21.29-19 38.62-42.39 38.62zM256 264v20.8c0 20.27 5.7 40.17 16 56.88 10.3-16.7 16-36.61 16-56.88V264c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v20.8c0 35.48-12.88 68.89-36.28 94.09-3.02 3.25-7.27 5.11-11.72 5.11s-8.7-1.86-11.72-5.11c-23.4-25.2-36.28-58.61-36.28-94.09V264c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8zm121-159L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z"); + }, + m(target, anchor) { + insert(target, path, anchor); + }, + d(detaching) { + if (detaching) detach(path); + } + }; +} + +function create_fragment$w(ctx) { + let iconbase; + let current; + const iconbase_spread_levels = [{ viewBox: "0 0 384 512" }, /*$$props*/ ctx[0]]; + + let iconbase_props = { + $$slots: { default: [create_default_slot$j] }, + $$scope: { ctx } + }; + + for (let i = 0; i < iconbase_spread_levels.length; i += 1) { + iconbase_props = assign(iconbase_props, iconbase_spread_levels[i]); + } + + iconbase = new IconBase({ props: iconbase_props }); + + return { + c() { + create_component(iconbase.$$.fragment); + }, + m(target, anchor) { + mount_component(iconbase, target, anchor); + current = true; + }, + p(ctx, [dirty]) { + const iconbase_changes = (dirty & /*$$props*/ 1) + ? get_spread_update(iconbase_spread_levels, [iconbase_spread_levels[0], get_spread_object(/*$$props*/ ctx[0])]) + : {}; + + if (dirty & /*$$scope*/ 2) { + iconbase_changes.$$scope = { dirty, ctx }; + } + + iconbase.$set(iconbase_changes); + }, + i(local) { + if (current) return; + transition_in(iconbase.$$.fragment, local); + current = true; + }, + o(local) { + transition_out(iconbase.$$.fragment, local); + current = false; + }, + d(detaching) { + destroy_component(iconbase, detaching); + } + }; +} + +function instance$w($$self, $$props, $$invalidate) { + $$self.$$set = $$new_props => { + $$invalidate(0, $$props = assign(assign({}, $$props), exclude_internal_props($$new_props))); + }; + + $$props = exclude_internal_props($$props); + return [$$props]; +} + +class FaFileCsv extends SvelteComponent { + constructor(options) { + super(); + init(this, options, instance$w, create_fragment$w, safe_not_equal, {}); + } +} + +/* node_modules/svelte-icons/fa/FaFileExcel.svelte generated by Svelte v3.35.0 */ + +function create_default_slot$i(ctx) { + let path; + + return { + c() { + path = svg_element("path"); + attr(path, "d", "M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm60.1 106.5L224 336l60.1 93.5c5.1 8-.6 18.5-10.1 18.5h-34.9c-4.4 0-8.5-2.4-10.6-6.3C208.9 405.5 192 373 192 373c-6.4 14.8-10 20-36.6 68.8-2.1 3.9-6.1 6.3-10.5 6.3H110c-9.5 0-15.2-10.5-10.1-18.5l60.3-93.5-60.3-93.5c-5.2-8 .6-18.5 10.1-18.5h34.8c4.4 0 8.5 2.4 10.6 6.3 26.1 48.8 20 33.6 36.6 68.5 0 0 6.1-11.7 36.6-68.5 2.1-3.9 6.2-6.3 10.6-6.3H274c9.5-.1 15.2 10.4 10.1 18.4zM384 121.9v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z"); + }, + m(target, anchor) { + insert(target, path, anchor); + }, + d(detaching) { + if (detaching) detach(path); + } + }; +} + +function create_fragment$v(ctx) { + let iconbase; + let current; + const iconbase_spread_levels = [{ viewBox: "0 0 384 512" }, /*$$props*/ ctx[0]]; + + let iconbase_props = { + $$slots: { default: [create_default_slot$i] }, + $$scope: { ctx } + }; + + for (let i = 0; i < iconbase_spread_levels.length; i += 1) { + iconbase_props = assign(iconbase_props, iconbase_spread_levels[i]); + } + + iconbase = new IconBase({ props: iconbase_props }); + + return { + c() { + create_component(iconbase.$$.fragment); + }, + m(target, anchor) { + mount_component(iconbase, target, anchor); + current = true; + }, + p(ctx, [dirty]) { + const iconbase_changes = (dirty & /*$$props*/ 1) + ? get_spread_update(iconbase_spread_levels, [iconbase_spread_levels[0], get_spread_object(/*$$props*/ ctx[0])]) + : {}; + + if (dirty & /*$$scope*/ 2) { + iconbase_changes.$$scope = { dirty, ctx }; + } + + iconbase.$set(iconbase_changes); + }, + i(local) { + if (current) return; + transition_in(iconbase.$$.fragment, local); + current = true; + }, + o(local) { + transition_out(iconbase.$$.fragment, local); + current = false; + }, + d(detaching) { + destroy_component(iconbase, detaching); + } + }; +} + +function instance$v($$self, $$props, $$invalidate) { + $$self.$$set = $$new_props => { + $$invalidate(0, $$props = assign(assign({}, $$props), exclude_internal_props($$new_props))); + }; + + $$props = exclude_internal_props($$props); + return [$$props]; +} + +class FaFileExcel extends SvelteComponent { + constructor(options) { + super(); + init(this, options, instance$v, create_fragment$v, safe_not_equal, {}); + } +} + +/* node_modules/svelte-icons/fa/FaFileImage.svelte generated by Svelte v3.35.0 */ + +function create_default_slot$h(ctx) { + let path; + + return { + c() { + path = svg_element("path"); + attr(path, "d", "M384 121.941V128H256V0h6.059a24 24 0 0 1 16.97 7.029l97.941 97.941a24.002 24.002 0 0 1 7.03 16.971zM248 160c-13.2 0-24-10.8-24-24V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248zm-135.455 16c26.51 0 48 21.49 48 48s-21.49 48-48 48-48-21.49-48-48 21.491-48 48-48zm208 240h-256l.485-48.485L104.545 328c4.686-4.686 11.799-4.201 16.485.485L160.545 368 264.06 264.485c4.686-4.686 12.284-4.686 16.971 0L320.545 304v112z"); + }, + m(target, anchor) { + insert(target, path, anchor); + }, + d(detaching) { + if (detaching) detach(path); + } + }; +} + +function create_fragment$u(ctx) { + let iconbase; + let current; + const iconbase_spread_levels = [{ viewBox: "0 0 384 512" }, /*$$props*/ ctx[0]]; + + let iconbase_props = { + $$slots: { default: [create_default_slot$h] }, + $$scope: { ctx } + }; + + for (let i = 0; i < iconbase_spread_levels.length; i += 1) { + iconbase_props = assign(iconbase_props, iconbase_spread_levels[i]); + } + + iconbase = new IconBase({ props: iconbase_props }); + + return { + c() { + create_component(iconbase.$$.fragment); + }, + m(target, anchor) { + mount_component(iconbase, target, anchor); + current = true; + }, + p(ctx, [dirty]) { + const iconbase_changes = (dirty & /*$$props*/ 1) + ? get_spread_update(iconbase_spread_levels, [iconbase_spread_levels[0], get_spread_object(/*$$props*/ ctx[0])]) + : {}; + + if (dirty & /*$$scope*/ 2) { + iconbase_changes.$$scope = { dirty, ctx }; + } + + iconbase.$set(iconbase_changes); + }, + i(local) { + if (current) return; + transition_in(iconbase.$$.fragment, local); + current = true; + }, + o(local) { + transition_out(iconbase.$$.fragment, local); + current = false; + }, + d(detaching) { + destroy_component(iconbase, detaching); + } + }; +} + +function instance$u($$self, $$props, $$invalidate) { + $$self.$$set = $$new_props => { + $$invalidate(0, $$props = assign(assign({}, $$props), exclude_internal_props($$new_props))); + }; + + $$props = exclude_internal_props($$props); + return [$$props]; +} + +class FaFileImage extends SvelteComponent { + constructor(options) { + super(); + init(this, options, instance$u, create_fragment$u, safe_not_equal, {}); + } +} + +/* node_modules/svelte-icons/fa/FaFilePdf.svelte generated by Svelte v3.35.0 */ + +function create_default_slot$g(ctx) { + let path; + + return { + c() { + path = svg_element("path"); + attr(path, "d", "M181.9 256.1c-5-16-4.9-46.9-2-46.9 8.4 0 7.6 36.9 2 46.9zm-1.7 47.2c-7.7 20.2-17.3 43.3-28.4 62.7 18.3-7 39-17.2 62.9-21.9-12.7-9.6-24.9-23.4-34.5-40.8zM86.1 428.1c0 .8 13.2-5.4 34.9-40.2-6.7 6.3-29.1 24.5-34.9 40.2zM248 160h136v328c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V24C0 10.7 10.7 0 24 0h200v136c0 13.2 10.8 24 24 24zm-8 171.8c-20-12.2-33.3-29-42.7-53.8 4.5-18.5 11.6-46.6 6.2-64.2-4.7-29.4-42.4-26.5-47.8-6.8-5 18.3-.4 44.1 8.1 77-11.6 27.6-28.7 64.6-40.8 85.8-.1 0-.1.1-.2.1-27.1 13.9-73.6 44.5-54.5 68 5.6 6.9 16 10 21.5 10 17.9 0 35.7-18 61.1-61.8 25.8-8.5 54.1-19.1 79-23.2 21.7 11.8 47.1 19.5 64 19.5 29.2 0 31.2-32 19.7-43.4-13.9-13.6-54.3-9.7-73.6-7.2zM377 105L279 7c-4.5-4.5-10.6-7-17-7h-6v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-74.1 255.3c4.1-2.7-2.5-11.9-42.8-9 37.1 15.8 42.8 9 42.8 9z"); + }, + m(target, anchor) { + insert(target, path, anchor); + }, + d(detaching) { + if (detaching) detach(path); + } + }; +} + +function create_fragment$t(ctx) { + let iconbase; + let current; + const iconbase_spread_levels = [{ viewBox: "0 0 384 512" }, /*$$props*/ ctx[0]]; + + let iconbase_props = { + $$slots: { default: [create_default_slot$g] }, + $$scope: { ctx } + }; + + for (let i = 0; i < iconbase_spread_levels.length; i += 1) { + iconbase_props = assign(iconbase_props, iconbase_spread_levels[i]); + } + + iconbase = new IconBase({ props: iconbase_props }); + + return { + c() { + create_component(iconbase.$$.fragment); + }, + m(target, anchor) { + mount_component(iconbase, target, anchor); + current = true; + }, + p(ctx, [dirty]) { + const iconbase_changes = (dirty & /*$$props*/ 1) + ? get_spread_update(iconbase_spread_levels, [iconbase_spread_levels[0], get_spread_object(/*$$props*/ ctx[0])]) + : {}; + + if (dirty & /*$$scope*/ 2) { + iconbase_changes.$$scope = { dirty, ctx }; + } + + iconbase.$set(iconbase_changes); + }, + i(local) { + if (current) return; + transition_in(iconbase.$$.fragment, local); + current = true; + }, + o(local) { + transition_out(iconbase.$$.fragment, local); + current = false; + }, + d(detaching) { + destroy_component(iconbase, detaching); + } + }; +} + +function instance$t($$self, $$props, $$invalidate) { + $$self.$$set = $$new_props => { + $$invalidate(0, $$props = assign(assign({}, $$props), exclude_internal_props($$new_props))); + }; + + $$props = exclude_internal_props($$props); + return [$$props]; +} + +class FaFilePdf extends SvelteComponent { + constructor(options) { + super(); + init(this, options, instance$t, create_fragment$t, safe_not_equal, {}); + } +} + +/* node_modules/svelte-icons/fa/FaFilePowerpoint.svelte generated by Svelte v3.35.0 */ + +function create_default_slot$f(ctx) { + let path; + + return { + c() { + path = svg_element("path"); + attr(path, "d", "M193.7 271.2c8.8 0 15.5 2.7 20.3 8.1 9.6 10.9 9.8 32.7-.2 44.1-4.9 5.6-11.9 8.5-21.1 8.5h-26.9v-60.7h27.9zM377 105L279 7c-4.5-4.5-10.6-7-17-7h-6v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm53 165.2c0 90.3-88.8 77.6-111.1 77.6V436c0 6.6-5.4 12-12 12h-30.8c-6.6 0-12-5.4-12-12V236.2c0-6.6 5.4-12 12-12h81c44.5 0 72.9 32.8 72.9 77z"); + }, + m(target, anchor) { + insert(target, path, anchor); + }, + d(detaching) { + if (detaching) detach(path); + } + }; +} + +function create_fragment$s(ctx) { + let iconbase; + let current; + const iconbase_spread_levels = [{ viewBox: "0 0 384 512" }, /*$$props*/ ctx[0]]; + + let iconbase_props = { + $$slots: { default: [create_default_slot$f] }, + $$scope: { ctx } + }; + + for (let i = 0; i < iconbase_spread_levels.length; i += 1) { + iconbase_props = assign(iconbase_props, iconbase_spread_levels[i]); + } + + iconbase = new IconBase({ props: iconbase_props }); + + return { + c() { + create_component(iconbase.$$.fragment); + }, + m(target, anchor) { + mount_component(iconbase, target, anchor); + current = true; + }, + p(ctx, [dirty]) { + const iconbase_changes = (dirty & /*$$props*/ 1) + ? get_spread_update(iconbase_spread_levels, [iconbase_spread_levels[0], get_spread_object(/*$$props*/ ctx[0])]) + : {}; + + if (dirty & /*$$scope*/ 2) { + iconbase_changes.$$scope = { dirty, ctx }; + } + + iconbase.$set(iconbase_changes); + }, + i(local) { + if (current) return; + transition_in(iconbase.$$.fragment, local); + current = true; + }, + o(local) { + transition_out(iconbase.$$.fragment, local); + current = false; + }, + d(detaching) { + destroy_component(iconbase, detaching); + } + }; +} + +function instance$s($$self, $$props, $$invalidate) { + $$self.$$set = $$new_props => { + $$invalidate(0, $$props = assign(assign({}, $$props), exclude_internal_props($$new_props))); + }; + + $$props = exclude_internal_props($$props); + return [$$props]; +} + +class FaFilePowerpoint extends SvelteComponent { + constructor(options) { + super(); + init(this, options, instance$s, create_fragment$s, safe_not_equal, {}); + } +} + +/* node_modules/svelte-icons/fa/FaFileVideo.svelte generated by Svelte v3.35.0 */ + +function create_default_slot$e(ctx) { + let path; + + return { + c() { + path = svg_element("path"); + attr(path, "d", "M384 121.941V128H256V0h6.059c6.365 0 12.47 2.529 16.971 7.029l97.941 97.941A24.005 24.005 0 0 1 384 121.941zM224 136V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248c-13.2 0-24-10.8-24-24zm96 144.016v111.963c0 21.445-25.943 31.998-40.971 16.971L224 353.941V392c0 13.255-10.745 24-24 24H88c-13.255 0-24-10.745-24-24V280c0-13.255 10.745-24 24-24h112c13.255 0 24 10.745 24 24v38.059l55.029-55.013c15.011-15.01 40.971-4.491 40.971 16.97z"); + }, + m(target, anchor) { + insert(target, path, anchor); + }, + d(detaching) { + if (detaching) detach(path); + } + }; +} + +function create_fragment$r(ctx) { + let iconbase; + let current; + const iconbase_spread_levels = [{ viewBox: "0 0 384 512" }, /*$$props*/ ctx[0]]; + + let iconbase_props = { + $$slots: { default: [create_default_slot$e] }, + $$scope: { ctx } + }; + + for (let i = 0; i < iconbase_spread_levels.length; i += 1) { + iconbase_props = assign(iconbase_props, iconbase_spread_levels[i]); + } + + iconbase = new IconBase({ props: iconbase_props }); + + return { + c() { + create_component(iconbase.$$.fragment); + }, + m(target, anchor) { + mount_component(iconbase, target, anchor); + current = true; + }, + p(ctx, [dirty]) { + const iconbase_changes = (dirty & /*$$props*/ 1) + ? get_spread_update(iconbase_spread_levels, [iconbase_spread_levels[0], get_spread_object(/*$$props*/ ctx[0])]) + : {}; + + if (dirty & /*$$scope*/ 2) { + iconbase_changes.$$scope = { dirty, ctx }; + } + + iconbase.$set(iconbase_changes); + }, + i(local) { + if (current) return; + transition_in(iconbase.$$.fragment, local); + current = true; + }, + o(local) { + transition_out(iconbase.$$.fragment, local); + current = false; + }, + d(detaching) { + destroy_component(iconbase, detaching); + } + }; +} + +function instance$r($$self, $$props, $$invalidate) { + $$self.$$set = $$new_props => { + $$invalidate(0, $$props = assign(assign({}, $$props), exclude_internal_props($$new_props))); + }; + + $$props = exclude_internal_props($$props); + return [$$props]; +} + +class FaFileVideo extends SvelteComponent { + constructor(options) { + super(); + init(this, options, instance$r, create_fragment$r, safe_not_equal, {}); + } +} + +/* node_modules/svelte-icons/fa/FaFileWord.svelte generated by Svelte v3.35.0 */ + +function create_default_slot$d(ctx) { + let path; + + return { + c() { + path = svg_element("path"); + attr(path, "d", "M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm57.1 120H305c7.7 0 13.4 7.1 11.7 14.7l-38 168c-1.2 5.5-6.1 9.3-11.7 9.3h-38c-5.5 0-10.3-3.8-11.6-9.1-25.8-103.5-20.8-81.2-25.6-110.5h-.5c-1.1 14.3-2.4 17.4-25.6 110.5-1.3 5.3-6.1 9.1-11.6 9.1H117c-5.6 0-10.5-3.9-11.7-9.4l-37.8-168c-1.7-7.5 4-14.6 11.7-14.6h24.5c5.7 0 10.7 4 11.8 9.7 15.6 78 20.1 109.5 21 122.2 1.6-10.2 7.3-32.7 29.4-122.7 1.3-5.4 6.1-9.1 11.7-9.1h29.1c5.6 0 10.4 3.8 11.7 9.2 24 100.4 28.8 124 29.6 129.4-.2-11.2-2.6-17.8 21.6-129.2 1-5.6 5.9-9.5 11.5-9.5zM384 121.9v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z"); + }, + m(target, anchor) { + insert(target, path, anchor); + }, + d(detaching) { + if (detaching) detach(path); + } + }; +} + +function create_fragment$q(ctx) { + let iconbase; + let current; + const iconbase_spread_levels = [{ viewBox: "0 0 384 512" }, /*$$props*/ ctx[0]]; + + let iconbase_props = { + $$slots: { default: [create_default_slot$d] }, + $$scope: { ctx } + }; + + for (let i = 0; i < iconbase_spread_levels.length; i += 1) { + iconbase_props = assign(iconbase_props, iconbase_spread_levels[i]); + } + + iconbase = new IconBase({ props: iconbase_props }); + + return { + c() { + create_component(iconbase.$$.fragment); + }, + m(target, anchor) { + mount_component(iconbase, target, anchor); + current = true; + }, + p(ctx, [dirty]) { + const iconbase_changes = (dirty & /*$$props*/ 1) + ? get_spread_update(iconbase_spread_levels, [iconbase_spread_levels[0], get_spread_object(/*$$props*/ ctx[0])]) + : {}; + + if (dirty & /*$$scope*/ 2) { + iconbase_changes.$$scope = { dirty, ctx }; + } + + iconbase.$set(iconbase_changes); + }, + i(local) { + if (current) return; + transition_in(iconbase.$$.fragment, local); + current = true; + }, + o(local) { + transition_out(iconbase.$$.fragment, local); + current = false; + }, + d(detaching) { + destroy_component(iconbase, detaching); + } + }; +} + +function instance$q($$self, $$props, $$invalidate) { + $$self.$$set = $$new_props => { + $$invalidate(0, $$props = assign(assign({}, $$props), exclude_internal_props($$new_props))); + }; + + $$props = exclude_internal_props($$props); + return [$$props]; +} + +class FaFileWord extends SvelteComponent { + constructor(options) { + super(); + init(this, options, instance$q, create_fragment$q, safe_not_equal, {}); + } +} + +/* node_modules/svelte-icons/fa/FaStickyNote.svelte generated by Svelte v3.35.0 */ + +function create_default_slot$c(ctx) { + let path; + + return { + c() { + path = svg_element("path"); + attr(path, "d", "M312 320h136V56c0-13.3-10.7-24-24-24H24C10.7 32 0 42.7 0 56v400c0 13.3 10.7 24 24 24h264V344c0-13.2 10.8-24 24-24zm129 55l-98 98c-4.5 4.5-10.6 7-17 7h-6V352h128v6.1c0 6.3-2.5 12.4-7 16.9z"); + }, + m(target, anchor) { + insert(target, path, anchor); + }, + d(detaching) { + if (detaching) detach(path); + } + }; +} + +function create_fragment$p(ctx) { + let iconbase; + let current; + const iconbase_spread_levels = [{ viewBox: "0 0 448 512" }, /*$$props*/ ctx[0]]; + + let iconbase_props = { + $$slots: { default: [create_default_slot$c] }, + $$scope: { ctx } + }; + + for (let i = 0; i < iconbase_spread_levels.length; i += 1) { + iconbase_props = assign(iconbase_props, iconbase_spread_levels[i]); + } + + iconbase = new IconBase({ props: iconbase_props }); + + return { + c() { + create_component(iconbase.$$.fragment); + }, + m(target, anchor) { + mount_component(iconbase, target, anchor); + current = true; + }, + p(ctx, [dirty]) { + const iconbase_changes = (dirty & /*$$props*/ 1) + ? get_spread_update(iconbase_spread_levels, [iconbase_spread_levels[0], get_spread_object(/*$$props*/ ctx[0])]) + : {}; + + if (dirty & /*$$scope*/ 2) { + iconbase_changes.$$scope = { dirty, ctx }; + } + + iconbase.$set(iconbase_changes); + }, + i(local) { + if (current) return; + transition_in(iconbase.$$.fragment, local); + current = true; + }, + o(local) { + transition_out(iconbase.$$.fragment, local); + current = false; + }, + d(detaching) { + destroy_component(iconbase, detaching); + } + }; +} + +function instance$p($$self, $$props, $$invalidate) { + $$self.$$set = $$new_props => { + $$invalidate(0, $$props = assign(assign({}, $$props), exclude_internal_props($$new_props))); + }; + + $$props = exclude_internal_props($$props); + return [$$props]; +} + +class FaStickyNote extends SvelteComponent { + constructor(options) { + super(); + init(this, options, instance$p, create_fragment$p, safe_not_equal, {}); + } +} + +/* src/Components/ExtensionIcon.svelte generated by Svelte v3.35.0 */ + +function create_if_block$8(ctx) { + let span; + let show_if; + let show_if_1; + let show_if_2; + let show_if_3; + let show_if_4; + let show_if_5; + let show_if_6; + let show_if_7; + let show_if_8; + let show_if_9; + let show_if_10; + let current_block_type_index; + let if_block; + let current; + + const if_block_creators = [ + create_if_block_1$8, + create_if_block_2$8, + create_if_block_3$6, + create_if_block_4$3, + create_if_block_5$2, + create_if_block_6$2, + create_if_block_7$2, + create_if_block_8$1, + create_if_block_9$1, + create_if_block_10$1, + create_if_block_11, + create_else_block$2 + ]; + + const if_blocks = []; + + function select_block_type(ctx, dirty) { + if (dirty & /*path*/ 1) show_if = !!isImg(/*path*/ ctx[0]); + if (show_if) return 0; + if (dirty & /*path*/ 1) show_if_1 = !!/*path*/ ctx[0].endsWith(".html"); + if (show_if_1) return 1; + if (dirty & /*path*/ 1) show_if_2 = !!(/*path*/ ctx[0].endsWith(".xls") || /*path*/ ctx[0].endsWith(".xlsx")); + if (show_if_2) return 2; + if (dirty & /*path*/ 1) show_if_3 = !!/*path*/ ctx[0].endsWith(".csv"); + if (show_if_3) return 3; + if (dirty & /*path*/ 1) show_if_4 = !!/*path*/ ctx[0].endsWith(".pdf"); + if (show_if_4) return 4; + if (dirty & /*path*/ 1) show_if_5 = !!/*path*/ ctx[0].endsWith(".txt"); + if (show_if_5) return 5; + if (dirty & /*path*/ 1) show_if_6 = !!(/*path*/ ctx[0].endsWith(".mp3") || /*path*/ ctx[0].endsWith("opus")); + if (show_if_6) return 6; + if (dirty & /*path*/ 1) show_if_7 = !!(/*path*/ ctx[0].endsWith(".mp4") || /*path*/ ctx[0].endsWith(".webm")); + if (show_if_7) return 7; + if (dirty & /*path*/ 1) show_if_8 = !!(/*path*/ ctx[0].endsWith(".docx") || /*path*/ ctx[0].endsWith(".doc")); + if (show_if_8) return 8; + if (dirty & /*path*/ 1) show_if_9 = !!(/*path*/ ctx[0].endsWith(".ppt") || /*path*/ ctx[0].endsWith(".pptx")); + if (show_if_9) return 9; + if (dirty & /*path*/ 1) show_if_10 = !!(/*path*/ ctx[0].endsWith(".js") || /*path*/ ctx[0].endsWith(".ts") || /*path*/ ctx[0].endsWith(".c") || /*path*/ ctx[0].endsWith(".py")); + if (show_if_10) return 10; + return 11; + } + + current_block_type_index = select_block_type(ctx, -1); + if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx); + + return { + c() { + span = element("span"); + if_block.c(); + attr(span, "class", ICON); + }, + m(target, anchor) { + insert(target, span, anchor); + if_blocks[current_block_type_index].m(span, null); + current = true; + }, + p(ctx, dirty) { + let previous_block_index = current_block_type_index; + current_block_type_index = select_block_type(ctx, dirty); + + if (current_block_type_index !== previous_block_index) { + group_outros(); + + transition_out(if_blocks[previous_block_index], 1, 1, () => { + if_blocks[previous_block_index] = null; + }); + + check_outros(); + if_block = if_blocks[current_block_type_index]; + + if (!if_block) { + if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx); + if_block.c(); + } + + transition_in(if_block, 1); + if_block.m(span, null); + } + }, + i(local) { + if (current) return; + transition_in(if_block); + current = true; + }, + o(local) { + transition_out(if_block); + current = false; + }, + d(detaching) { + if (detaching) detach(span); + if_blocks[current_block_type_index].d(); + } + }; +} + +// (42:4) {:else} +function create_else_block$2(ctx) { + let fafile; + let current; + fafile = new FaFile({}); + + return { + c() { + create_component(fafile.$$.fragment); + }, + m(target, anchor) { + mount_component(fafile, target, anchor); + current = true; + }, + i(local) { + if (current) return; + transition_in(fafile.$$.fragment, local); + current = true; + }, + o(local) { + transition_out(fafile.$$.fragment, local); + current = false; + }, + d(detaching) { + destroy_component(fafile, detaching); + } + }; +} + +// (40:106) +function create_if_block_11(ctx) { + let fafilecode; + let current; + fafilecode = new FaFileCode({}); + + return { + c() { + create_component(fafilecode.$$.fragment); + }, + m(target, anchor) { + mount_component(fafilecode, target, anchor); + current = true; + }, + i(local) { + if (current) return; + transition_in(fafilecode.$$.fragment, local); + current = true; + }, + o(local) { + transition_out(fafilecode.$$.fragment, local); + current = false; + }, + d(detaching) { + destroy_component(fafilecode, detaching); + } + }; +} + +// (38:62) +function create_if_block_10$1(ctx) { + let fafilepowerpoint; + let current; + fafilepowerpoint = new FaFilePowerpoint({}); + + return { + c() { + create_component(fafilepowerpoint.$$.fragment); + }, + m(target, anchor) { + mount_component(fafilepowerpoint, target, anchor); + current = true; + }, + i(local) { + if (current) return; + transition_in(fafilepowerpoint.$$.fragment, local); + current = true; + }, + o(local) { + transition_out(fafilepowerpoint.$$.fragment, local); + current = false; + }, + d(detaching) { + destroy_component(fafilepowerpoint, detaching); + } + }; +} + +// (36:62) +function create_if_block_9$1(ctx) { + let fafileword; + let current; + fafileword = new FaFileWord({}); + + return { + c() { + create_component(fafileword.$$.fragment); + }, + m(target, anchor) { + mount_component(fafileword, target, anchor); + current = true; + }, + i(local) { + if (current) return; + transition_in(fafileword.$$.fragment, local); + current = true; + }, + o(local) { + transition_out(fafileword.$$.fragment, local); + current = false; + }, + d(detaching) { + destroy_component(fafileword, detaching); + } + }; +} + +// (34:62) +function create_if_block_8$1(ctx) { + let fafilevideo; + let current; + fafilevideo = new FaFileVideo({}); + + return { + c() { + create_component(fafilevideo.$$.fragment); + }, + m(target, anchor) { + mount_component(fafilevideo, target, anchor); + current = true; + }, + i(local) { + if (current) return; + transition_in(fafilevideo.$$.fragment, local); + current = true; + }, + o(local) { + transition_out(fafilevideo.$$.fragment, local); + current = false; + }, + d(detaching) { + destroy_component(fafilevideo, detaching); + } + }; +} + +// (32:61) +function create_if_block_7$2(ctx) { + let fafileaudio; + let current; + fafileaudio = new FaFileAudio({}); + + return { + c() { + create_component(fafileaudio.$$.fragment); + }, + m(target, anchor) { + mount_component(fafileaudio, target, anchor); + current = true; + }, + i(local) { + if (current) return; + transition_in(fafileaudio.$$.fragment, local); + current = true; + }, + o(local) { + transition_out(fafileaudio.$$.fragment, local); + current = false; + }, + d(detaching) { + destroy_component(fafileaudio, detaching); + } + }; +} + +// (30:36) +function create_if_block_6$2(ctx) { + let fastickynote; + let current; + fastickynote = new FaStickyNote({}); + + return { + c() { + create_component(fastickynote.$$.fragment); + }, + m(target, anchor) { + mount_component(fastickynote, target, anchor); + current = true; + }, + i(local) { + if (current) return; + transition_in(fastickynote.$$.fragment, local); + current = true; + }, + o(local) { + transition_out(fastickynote.$$.fragment, local); + current = false; + }, + d(detaching) { + destroy_component(fastickynote, detaching); + } + }; +} + +// (28:36) +function create_if_block_5$2(ctx) { + let fafilepdf; + let current; + fafilepdf = new FaFilePdf({}); + + return { + c() { + create_component(fafilepdf.$$.fragment); + }, + m(target, anchor) { + mount_component(fafilepdf, target, anchor); + current = true; + }, + i(local) { + if (current) return; + transition_in(fafilepdf.$$.fragment, local); + current = true; + }, + o(local) { + transition_out(fafilepdf.$$.fragment, local); + current = false; + }, + d(detaching) { + destroy_component(fafilepdf, detaching); + } + }; +} + +// (26:36) +function create_if_block_4$3(ctx) { + let fafilecsv; + let current; + fafilecsv = new FaFileCsv({}); + + return { + c() { + create_component(fafilecsv.$$.fragment); + }, + m(target, anchor) { + mount_component(fafilecsv, target, anchor); + current = true; + }, + i(local) { + if (current) return; + transition_in(fafilecsv.$$.fragment, local); + current = true; + }, + o(local) { + transition_out(fafilecsv.$$.fragment, local); + current = false; + }, + d(detaching) { + destroy_component(fafilecsv, detaching); + } + }; +} + +// (24:62) +function create_if_block_3$6(ctx) { + let fafileexcel; + let current; + fafileexcel = new FaFileExcel({}); + + return { + c() { + create_component(fafileexcel.$$.fragment); + }, + m(target, anchor) { + mount_component(fafileexcel, target, anchor); + current = true; + }, + i(local) { + if (current) return; + transition_in(fafileexcel.$$.fragment, local); + current = true; + }, + o(local) { + transition_out(fafileexcel.$$.fragment, local); + current = false; + }, + d(detaching) { + destroy_component(fafileexcel, detaching); + } + }; +} + +// (22:37) +function create_if_block_2$8(ctx) { + let dihtml5; + let current; + dihtml5 = new DiHtml5({}); + + return { + c() { + create_component(dihtml5.$$.fragment); + }, + m(target, anchor) { + mount_component(dihtml5, target, anchor); + current = true; + }, + i(local) { + if (current) return; + transition_in(dihtml5.$$.fragment, local); + current = true; + }, + o(local) { + transition_out(dihtml5.$$.fragment, local); + current = false; + }, + d(detaching) { + destroy_component(dihtml5, detaching); + } + }; +} + +// (20:4) {#if isImg(path)} +function create_if_block_1$8(ctx) { + let fafileimage; + let current; + fafileimage = new FaFileImage({}); + + return { + c() { + create_component(fafileimage.$$.fragment); + }, + m(target, anchor) { + mount_component(fafileimage, target, anchor); + current = true; + }, + i(local) { + if (current) return; + transition_in(fafileimage.$$.fragment, local); + current = true; + }, + o(local) { + transition_out(fafileimage.$$.fragment, local); + current = false; + }, + d(detaching) { + destroy_component(fafileimage, detaching); + } + }; +} + +function create_fragment$o(ctx) { + let show_if = !/*path*/ ctx[0].endsWith(".md"); + let if_block_anchor; + let current; + let if_block = show_if && create_if_block$8(ctx); + + return { + c() { + if (if_block) if_block.c(); + if_block_anchor = empty$1(); + }, + m(target, anchor) { + if (if_block) if_block.m(target, anchor); + insert(target, if_block_anchor, anchor); + current = true; + }, + p(ctx, [dirty]) { + if (dirty & /*path*/ 1) show_if = !/*path*/ ctx[0].endsWith(".md"); + + if (show_if) { + if (if_block) { + if_block.p(ctx, dirty); + + if (dirty & /*path*/ 1) { + transition_in(if_block, 1); + } + } else { + if_block = create_if_block$8(ctx); + if_block.c(); + transition_in(if_block, 1); + if_block.m(if_block_anchor.parentNode, if_block_anchor); + } + } else if (if_block) { + group_outros(); + + transition_out(if_block, 1, 1, () => { + if_block = null; + }); + + check_outros(); + } + }, + i(local) { + if (current) return; + transition_in(if_block); + current = true; + }, + o(local) { + transition_out(if_block); + current = false; + }, + d(detaching) { + if (if_block) if_block.d(detaching); + if (detaching) detach(if_block_anchor); + } + }; +} + +function instance$o($$self, $$props, $$invalidate) { + let { path } = $$props; + + $$self.$$set = $$props => { + if ("path" in $$props) $$invalidate(0, path = $$props.path); + }; + + return [path]; +} + +class ExtensionIcon extends SvelteComponent { + constructor(options) { + super(); + init(this, options, instance$o, create_fragment$o, safe_not_equal, { path: 0 }); + } +} + +/* src/Components/ImgThumbnail.svelte generated by Svelte v3.35.0 */ + +function add_css$a() { + var style = element("style"); + style.id = "svelte-ck1pnn-style"; + style.textContent = ".GA-img.svelte-ck1pnn img.svelte-ck1pnn{max-width:25%;max-height:25%}.GA-img.svelte-ck1pnn img.svelte-ck1pnn:hover{max-width:100%;max-height:100%}"; + append(document.head, style); +} + +// (1:0) `; + const htmlBody = ` +
+ + `; + const htmlSrc = `${htmlHead}${htmlBody}`; + const iframe = document.createElement("iframe"); + iframe.sandbox.add("allow-scripts"); // enable sandbox mode - this prevents any xss exploits from an untrusted source in the frame (and prevents it from accessing the parent) + iframe.width = graphSettings.width.toString(); + iframe.height = graphSettings.height.toString(); + iframe.className = "desmos-graph"; + iframe.style.border = "none"; + iframe.scrolling = "no"; // fixme use a non-depreciated function + iframe.srcdoc = htmlSrc; + // iframe.style.display = "none"; // fixme hiding the iframe breaks the positioning + el.appendChild(iframe); + return new Promise((resolve) => this.rendering.set(hash, { graph, el, resolve, cacheFile })); + }); + } + handler(message) { + var _a; + return __awaiter(this, void 0, void 0, function* () { + if (message.data.o === window.origin && message.data.t === "desmos-graph") { + const state = this.rendering.get(message.data.hash); + if (state) { + const { graph, el, resolve, cacheFile } = state; + el.empty(); + if (message.data.d === "error") { + renderError(message.data.data, el, (_a = graph.potentialErrorHint) === null || _a === void 0 ? void 0 : _a.view); + resolve(); // let caller know we are done rendering + } + else if (message.data.d === "render") { + const { data } = message.data; + const node = parseSVG(data); + node.setAttribute("class", "desmos-graph"); + el.appendChild(node); + resolve(); // let caller know we are done rendering + const plugin = this.plugin; + const settings = plugin.settings; + const hash = yield graph.hash(); + if (settings.cache.enabled) { + if (settings.cache.location === CacheLocation.Memory) { + plugin.graphCache[hash] = data; + } + else if (settings.cache.location === CacheLocation.Filesystem) { + const adapter = plugin.app.vault.adapter; + if (cacheFile && settings.cache.directory) { + if (yield adapter.exists(settings.cache.directory)) { + yield adapter.write(cacheFile, data); + } + else { + new obsidian.Notice(`desmos-graph: target cache directory '${settings.cache.directory}' does not exist, skipping cache`, 10000); + } + } + else { + new obsidian.Notice(`desmos-graph: filesystem caching enabled but no cache directory set, skipping cache`, 10000); + } + } + } + } + this.rendering.delete(message.data.hash); + } + else { + // do nothing if graph is not in render list (this should not happen) + console.warn(`Got graph not in render list, this is probably a bug - ${JSON.stringify(this.rendering)}`); + } + } + }); + } +} + +class Desmos extends obsidian.Plugin { + constructor() { + super(...arguments); + /** Helper for in-memory graph caching */ + this.graphCache = {}; + } + onload() { + return __awaiter(this, void 0, void 0, function* () { + yield this.loadSettings(); + this.renderer = new Renderer(this); + this.renderer.activate(); + this.addSettingTab(new SettingsTab(this.app, this)); + this.registerMarkdownCodeBlockProcessor("desmos-graph", (source, el) => __awaiter(this, void 0, void 0, function* () { + try { + const graph = Graph.parse(source); + yield this.renderer.render(graph, el); + } + catch (err) { + if (err instanceof Error) { + renderError(err.message, el); + } + else if (typeof err === "string") { + renderError(err, el); + } + else { + renderError("Unexpected error - see console for debug log", el); + console.error(err); + } + } + })); + }); + } + unload() { + return __awaiter(this, void 0, void 0, function* () { + this.renderer.deactivate(); + }); + } + loadSettings() { + return __awaiter(this, void 0, void 0, function* () { + let settings = yield this.loadData(); + if (!settings) { + settings = DEFAULT_SETTINGS(this); + } + if (settings.version !== this.manifest.version) { + settings = migrateSettings(this, settings); + } + this.settings = settings; + }); + } + saveSettings() { + return __awaiter(this, void 0, void 0, function* () { + yield this.saveData(this.settings); + }); + } +} + +module.exports = Desmos; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZXMiOlsibm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qcyIsInNyYy91dGlscy50cyIsInNyYy9ncmFwaC9pbnRlcmZhY2UudHMiLCJzcmMvZ3JhcGgvcGFyc2VyLnRzIiwic3JjL2Vycm9yLnRzIiwic3JjL3NldHRpbmdzLnRzIiwic3JjL3JlbmRlcmVyLnRzIiwic3JjL21haW4udHMiXSwic291cmNlc0NvbnRlbnQiOm51bGwsIm5hbWVzIjpbIlBsdWdpblNldHRpbmdUYWIiLCJTZXR0aW5nIiwibm9ybWFsaXplUGF0aCIsIk5vdGljZSIsIlBsdWdpbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXVEQTtBQUNPLFNBQVMsU0FBUyxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRTtBQUM3RCxJQUFJLFNBQVMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLE9BQU8sS0FBSyxZQUFZLENBQUMsR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsVUFBVSxPQUFPLEVBQUUsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRTtBQUNoSCxJQUFJLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLE9BQU8sQ0FBQyxFQUFFLFVBQVUsT0FBTyxFQUFFLE1BQU0sRUFBRTtBQUMvRCxRQUFRLFNBQVMsU0FBUyxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7QUFDbkcsUUFBUSxTQUFTLFFBQVEsQ0FBQyxL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 diff --git a/.obsidian/plugins/obsidian-desmos/manifest.json b/.obsidian/plugins/obsidian-desmos/manifest.json new file mode 100644 index 0000000..edc7de8 --- /dev/null +++ b/.obsidian/plugins/obsidian-desmos/manifest.json @@ -0,0 +1,8 @@ +{ + "id": "obsidian-desmos", + "name": "Desmos", + "version": "0.6.4", + "minAppVersion": "0.9.12", + "description": "Embed Desmos graphs into your notes", + "author": "Nigecat" +} \ No newline at end of file diff --git a/.obsidian/plugins/obsidian-excalidraw-plugin/data.json b/.obsidian/plugins/obsidian-excalidraw-plugin/data.json index fe52ec0..a01ed6d 100644 --- a/.obsidian/plugins/obsidian-excalidraw-plugin/data.json +++ b/.obsidian/plugins/obsidian-excalidraw-plugin/data.json @@ -209899,7 +209899,7 @@ } }, "defaultTrayMode": false, - "previousRelease": "1.8.17", + "previousRelease": "1.8.20", "showReleaseNotes": true, "showNewVersionNotification": true, "mathjaxSourceURL": "https://cdn.jsdelivr.net/npm/mathjax@3.2.1/es5/tex-svg.js", diff --git a/.obsidian/plugins/obsidian-excalidraw-plugin/main.js b/.obsidian/plugins/obsidian-excalidraw-plugin/main.js index 8d83f1e..31baa54 100644 --- a/.obsidian/plugins/obsidian-excalidraw-plugin/main.js +++ b/.obsidian/plugins/obsidian-excalidraw-plugin/main.js @@ -1,5 +1,5 @@ "use strict";var obsidian_module=require("obsidian");var LZString=function(){function o(o,r){if(!t[o]){t[o]={};for(var n=0;ne;e++){var s=r.charCodeAt(e);n[2*e]=s>>>8,n[2*e+1]=s%256}return n},decompressFromUint8Array:function(o){if(null===o||void 0===o)return i.decompress(o);for(var n=new Array(o.length/2),e=0,t=n.length;t>e;e++)n[e]=256*o[2*e]+o[2*e+1];var s=[];return n.forEach(function(o){s.push(r(o))}),i.decompress(s.join(""))},compressToEncodedURIComponent:function(o){return null==o?"":i._compress(o,6,function(o){return e.charAt(o)})},decompressFromEncodedURIComponent:function(r){return null==r?"":""==r?null:(r=r.replace(/ /g,"+"),i._decompress(r.length,32,function(n){return o(e,r.charAt(n))}))},compress:function(o){return i._compress(o,16,function(o){return r(o)})},_compress:function(o,r,n){if(null==o)return"";var e,t,i,s={},p={},u="",c="",a="",l=2,f=3,h=2,d=[],m=0,v=0;for(i=0;ie;e++)m<<=1,v==r-1?(v=0,d.push(n(m)),m=0):v++;for(t=a.charCodeAt(0),e=0;8>e;e++)m=m<<1|1&t,v==r-1?(v=0,d.push(n(m)),m=0):v++,t>>=1}else{for(t=1,e=0;h>e;e++)m=m<<1|t,v==r-1?(v=0,d.push(n(m)),m=0):v++,t=0;for(t=a.charCodeAt(0),e=0;16>e;e++)m=m<<1|1&t,v==r-1?(v=0,d.push(n(m)),m=0):v++,t>>=1}l--,0==l&&(l=Math.pow(2,h),h++),delete p[a]}else for(t=s[a],e=0;h>e;e++)m=m<<1|1&t,v==r-1?(v=0,d.push(n(m)),m=0):v++,t>>=1;l--,0==l&&(l=Math.pow(2,h),h++),s[c]=f++,a=String(u)}if(""!==a){if(Object.prototype.hasOwnProperty.call(p,a)){if(a.charCodeAt(0)<256){for(e=0;h>e;e++)m<<=1,v==r-1?(v=0,d.push(n(m)),m=0):v++;for(t=a.charCodeAt(0),e=0;8>e;e++)m=m<<1|1&t,v==r-1?(v=0,d.push(n(m)),m=0):v++,t>>=1}else{for(t=1,e=0;h>e;e++)m=m<<1|t,v==r-1?(v=0,d.push(n(m)),m=0):v++,t=0;for(t=a.charCodeAt(0),e=0;16>e;e++)m=m<<1|1&t,v==r-1?(v=0,d.push(n(m)),m=0):v++,t>>=1}l--,0==l&&(l=Math.pow(2,h),h++),delete p[a]}else for(t=s[a],e=0;h>e;e++)m=m<<1|1&t,v==r-1?(v=0,d.push(n(m)),m=0):v++,t>>=1;l--,0==l&&(l=Math.pow(2,h),h++)}for(t=2,e=0;h>e;e++)m=m<<1|1&t,v==r-1?(v=0,d.push(n(m)),m=0):v++,t>>=1;for(;;){if(m<<=1,v==r-1){d.push(n(m));break}v++}return d.join("")},decompress:function(o){return null==o?"":""==o?null:i._decompress(o.length,32768,function(r){return o.charCodeAt(r)})},_decompress:function(o,n,e){var t,i,s,p,u,c,a,l,f=[],h=4,d=4,m=3,v="",w=[],A={val:e(0),position:n,index:1};for(i=0;3>i;i+=1)f[i]=i;for(p=0,c=Math.pow(2,2),a=1;a!=c;)u=A.val&A.position,A.position>>=1,0==A.position&&(A.position=n,A.val=e(A.index++)),p|=(u>0?1:0)*a,a<<=1;switch(t=p){case 0:for(p=0,c=Math.pow(2,8),a=1;a!=c;)u=A.val&A.position,A.position>>=1,0==A.position&&(A.position=n,A.val=e(A.index++)),p|=(u>0?1:0)*a,a<<=1;l=r(p);break;case 1:for(p=0,c=Math.pow(2,16),a=1;a!=c;)u=A.val&A.position,A.position>>=1,0==A.position&&(A.position=n,A.val=e(A.index++)),p|=(u>0?1:0)*a,a<<=1;l=r(p);break;case 2:return""}for(f[3]=l,s=l,w.push(l);;){if(A.index>o)return"";for(p=0,c=Math.pow(2,m),a=1;a!=c;)u=A.val&A.position,A.position>>=1,0==A.position&&(A.position=n,A.val=e(A.index++)),p|=(u>0?1:0)*a,a<<=1;switch(l=p){case 0:for(p=0,c=Math.pow(2,8),a=1;a!=c;)u=A.val&A.position,A.position>>=1,0==A.position&&(A.position=n,A.val=e(A.index++)),p|=(u>0?1:0)*a,a<<=1;f[d++]=r(p),l=d-1,h--;break;case 1:for(p=0,c=Math.pow(2,16),a=1;a!=c;)u=A.val&A.position,A.position>>=1,0==A.position&&(A.position=n,A.val=e(A.index++)),p|=(u>0?1:0)*a,a<<=1;f[d++]=r(p),l=d-1,h--;break;case 2:return w.join("")}if(0==h&&(h=Math.pow(2,m),m++),f[l])v=f[l];else{if(l!==d)return null;v=s+s.charAt(0)}w.push(v),f[d++]=s+v.charAt(0),h--,s=v,0==h&&(h=Math.pow(2,m),m++)}}};return i}();"function"==typeof define&&define.amd?define(function(){return LZString}):"undefined"!=typeof module&&null!=module&&(module.exports=LZString); -const EXCALIDRAW_PACKAGES = "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wCJwXN4sJzWS8xCWKGTUoMokkssDxsHgwstE3izY39su+qBv0uhMkn0o1mzsclkHwQCJpvFskOmzmqGj5lyxXE3kpuY01kigjzfdLeYwrEFYEuQPg1FgRYu+s2KUqFbJmTh+AvA3S/XVAcpArnYNEkqDp/MkCyOWI7AHzUooyIgDXXkq3yNE1iF8mDbKquCaVWvYw8EoeWJnQBA2IJmzObyN6MeYqg4Vy4zWgUhtgHgDqc30YXpNjWXxiYteX22XwDkG6dEUPNcWNkoqSYqUNjHBi7stOimwahwwHBGBVXjaXgykhQGKcYDHIIY421YHxEDV+BL/CUAAuXgnRydgAkcsHjVDkDb2D4kgA0ho6OO9REHk7fm7fi7PiHBjiYD78I0cs43g0cskdg0csO+1691gEuJtRUGmUcqnbn4aFLPgCdlCbi7PgUdlf9gqFkkdgm4AiSynomrbgdAX/HgDAVUcprbm4/EscprbiHBi9gVMcr78Nf9hrbk43gm4Dexhrbjscq+qxrbn0cocWLW42gRGMcuPbkfnhP7jicojNgScq2HAScoRigScrTNgScrexgSctmslOxgViDXmMdATDJgPbi/7jDJkbbnLlTDJmmgC/I3Scsscq/I2mgDDJgRii8cvVnH8cpX4mycqCct8csycvscsRQQacqqYRUwDKctacs6cq2HCYc06cskdjCgU6csKcvcSx6cq/I3EwDDJi2HHccsGcvSdlSct/HngsmKct8crzkHGcqacr6crmsiKcp8cq/IzacqUdgCctmcoGcrDJh8dkHlQKct8cuScvfHjWctWcuLkCmct6ctqco2cu6ctf9i/I3mcvcS2qcs6cqOcrGcoWcqCdh6cpmcuucomctmcrCUmacq6cp2ctGsmOcsS3kecvWcoOcq2csWcoecoDATDJjexl+csOcu5fhywGyw02cq6cpqctBcuGcuucpCctmcsHIGTUs3WANvnicrWcrz2ATNgChl2ctf9hJcvlRnacpJctTPhqcrWco0ctScpX4jhcpacvJcrmskpcqblUscpJcsMxjJcoZcqnbiZcsHlSJcuycuGcoqFnpcq+q35cvVnHLlQqFnScsJctZcuiDl5cpFculctCcoFcq+q2/gjVGK831icqlcqucu5cqJcppcqUdiJcuScvLlSJcuFcv6cq5cojNiJcsycoDAVFcpJ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pDxSUuClt43pjEqaopAOqarAauuarL/E2eDBYlRksowBeas+aohT1wQQ+arvqscaBnjwiEw1EJQYBHggd43p4nZDg82A6aq9wNJatGsn3+mOarqT3arlLdXOar/qs1sCuau+MDL/GEXnYsh4gBfE39YKBwD9ksowBsXDFHVQECYkpCwLE916km6aGN6kbNmK4iaiMXhD7DxPDzL/AsarHkqsateDH6atB/XbrLacx5wPqhnxwFx8G7ktigBC90larFcC5dRlariKDlaqsUsxkpsUpkDGd41QBnfFGK4geGCcUlRgE5akILHmKH0j2NzzE11SaoljS1ExAmkgUpmkWkTwYd3yapm9RM/yMj3rG3t9yqasauCKavod3ygJw1EXEmoSqPlWGY24mB7CHS4EOCsAMuXwDDaxNHHa0rjyFQED9TxvsCvMC1au2Mo1wCL/W0qiiAwpauQnQA51+YNCKxPkp6302arxsDWKTEqFt4xvsG3dAd40LapBksl9QbauQXjd4y8mEhKr9LxW7EBdTk4INashg1latRkuHkomA1HkuioEDdwUQG3iEoaqcUqiQEDkAYXiPsDfktPzzDUxBUrwWym4HZTFylxglXDor9YAjYLdQHCattcLyKxxCKeEOAaoUz28au/30qGDn330oz+DFMeGbcnTwCAapiaq7YgpItWCgePxrxE8NRm/xZXmJTn6qtfInt8BZatH0DZavtXTpMDGfXvavCT1qav+QIbDAfaoA6tHiADkCAwSvqoDarIM1ZkL3cB1aAfqsbyBob0uj00MztXg9kR8QxOAjMj3nTRk4LwdSEr0FPk8HhFPiZ6P8QPLkoeclBg0UPzbtVKQgytXO9CgXkRStOQCbWg11jajySYi5SiGnU+3CPt1wdwYaGwatHiFdatzXNwwLwdTeJOOwJWbB9wK0DyI6o7c3mQJy8w/rSQLwd41XCnMfyviDbtW5uAytQI6tgAV0FmB6N8AFh9yE3hbXknsrF0uaIm7Gzs9wwfnX/RzyOBaoIfTMUpnAHlauHaqsapDIEqFkHgB8Dk1HnsbwGDzY6taDycYA46rRkM0fwd1G6INmYKV3RbOD5ynK3QWKXxD2w/WJLgKJkBilnEXwrjWClmH124AxDw+vIFUmhikg0CcEjgmVWUIrSkSaudaopAPs6vi/LvvXpdBGAF+QNlwIsIjOQP8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GhmrnZwB6qUNVWRoYgdfgnio7WsNqCm1tPapltay2uFnVRdrNG1mHa+Eda6OrobWmAAWG1XDa6ltac2qRbWIrrEh1f9apDtcpOpqbXH9r5NVXGatVdT32v4bU7trep1kAAQ1deM2pNXWmAA3Z1rDagjtdi2rNbVNTqKm1lvatidRU2tpnUCNqF01lja11dUk2rxQD0zqch1Gw6xxtQCupyXXINq8l1yTaoBtenOs/HVHNrEJ1Nra6edZAADL7UENqKG1MUAC1dZo2oQ7Vk9r3e1BS6qMdQh2rebW+rqfFsb2apVtdG2rA7U1drkG1zLa7rtSquoqbUprq011Ga6uhtYR2p3bVMtriG1Us64kdbU2o8zXRLY0B1JDauadaKOsrXUkNrXV11a6lxdb32rfrWNrrAG1za6/ltfa2uAAAIDqpu1KI67WdYsOubXUjNr0h1o86nDNb4Xl8zWNtrJF18q6jltaquqJHWWrqIG1qras+dcLOo3XXNzrFh1NHaj+tSOutKHXJTqW11tq6ttdQI2qekykOrAAAGZCHtqxG1h7asDtYmOvpnU2Drq216DathtW82sgADwtq0510/ar+tXo2plbUQjqpR1006xDtQI2pCZh8rqSZ1/K63+deCOpA7WU9rv51NjaoadR+uq/XU/rq/11qramptaKOs2XUvtqgN1Nk634dWBuoLXXDZqDFA8k6lLtdY2vXnUwbrAO1cG6o/tYOutybUL9qAG1366iptaCuvtHXUcxjdV766shtZ+uvo3Vobr3m1FTa3idew2uUnUALrKN1V/ayntQRuqQ7WmAASN1zfaoedfxuu+XV3dqhN1NG6ujdZAAG/XX2jqv1Eay6kmdY+uoFbUvrrR21yG69jdahusY3XcbqY11+ratldZw2pw3XAbr8N1+a6pDtfdmu2WxcU4pV1Uy2TXVcWuoTbWgNrBV1Qc62xtVs2sw7UHNqIm1ADapddRA2rE3XjrrgG1k666ddX02tnXXRDqa11GjazzdVcOupXU0bqD116i659dTMOvd7XENqTV1Fm6ujbBjms4QINtqe11Fa6qtddXOv1XVtDqMh1yg6xVdSGuryHUFDqVAALDazRddwOvWHX5brB11KG6zjdYxuu5nUQNqRIAESqYodaUOto3U6brf111W6xxtT1OsG7W5jq9119m67WdYOuvrXWZNreFs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VvmB9zjsZxnNXx+f1fOA3muVzh159rc1G+d9XOAABEo2RvMirnytzgAAR9tbjzNq531c60ebmvOWFHltt6qGo987l+fy/ObrnDHzqa5hu84AAEDIwAAAS+vq57c87ueatDM9ynXGVnF5wAAPpW5l5nm84r2Y0+3pr0yMTIaG+Io9KoH03Ot7mM9zvq5n2vQZ9trK1trnIvzr759rc2nebbXOevmLLzgAAcgNWtzEe5gG831uZExPtbnxbzEt57Vc3quci/M/vnkHzrb5uz84pict7PXs7aytfj5wk85vua33N7PmonzNvZtMM3b2cHlMS36vCN2a5vXc4AAGWGBc83oeaKvO+bHenzLl59y85Y+fsxNrynnYAqb5mVc3igGHXPMPnAAABgm3Hnuvzvq51h84AAEQdEVc4AAEX4wAAKYMXK5xVcy5uflvPtPmb5TDTmj2/Z/qoS3OCHnWtzgAALzdAAA+K6Z3netzoT56jc0eeZPPPE/nFbz0WJ/Yo92aue/O+rnAnzS+5lzc41ufSvNw2G+ltvP5wLc61uYjvNdbnaTztx50fc2U+fmfPlYmmKtM2x3C8xLud9XML3ngTzp759Gw41iaa3MZbneLzbK5qp861udqfPE3mTVzP4Z/H7VqVUAAAa0YAAFIlQAAAra2p5wQ80b+dp+2rL1WtzgAARCNAAAoAx6rmgtzUq5v48+1ud73OAABD2OFPOtXmP79oXOin84IebbXOAAAi1Ma3ORbnAAAowaAABGDV9XMB3nfNz9T51Z84AAD10wAABx6ba5wAAHKGgAAWcS1vzUX5rrc2leeYfMirmo9zMe5py89mufb3NZPmZVzN95uZ8zzecAACDnllucAACGDBGecM3OqHnjHz2a531c4AABxLQAAHBR7353rc8nQZqd3dmqvVzGe5yP84AACkVKHE1H9uAPV6rnZDVba5nE83quaj/PenntVzSq5w1c2z+aifPkDnPndid5na87EqcCGzxKnAAAa3J6rmXDzHR55zcwX+b1XNs7n+1zgAAbaNAAAofpKrmq9z7u51981x+YAfM7VaXG9dIATi83zee/vPpPmBrz6T5s+80Cec4fNsrnytzOu5na82g+ZmvNT3nFtzgAAaQTAAAbaqLXntVz4+55h8z/+fMfPaXmDLz9g5pGrY/+f9fOwvms8TIrm+AC8MedhfPHK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";const {react, reactDOM, excalidrawLib} = window.eval.call(window, `(function() {${LZString.decompressFromBase64(EXCALIDRAW_PACKAGES)};return {react:React, reactDOM:ReactDOM, excalidrawLib: ExcalidrawLib};})();`);const PLUGIN_VERSION="1.8.17";function _interopNamespace(e){if(e&&e.__esModule)return e;var A=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var i=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(A,t,i.get?i:{enumerable:!0,get:function(){return e[t]}})}})),A.default=e,Object.freeze(A)}var obsidian_module__namespace=_interopNamespace(obsidian_module),React__namespace=_interopNamespace(React);let random$1=e=>crypto.getRandomValues(new Uint8Array(e)),customRandom=(e,A,t)=>{let i=(2<{let r="";for(;;){let A=t(n),s=n;for(;s--;)if(r+=e[A[s]&i]||"",r.length===a)return r}}},customAlphabet=(e,A=21)=>customRandom(e,A,random$1),nanoid$1=(e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce(((e,A)=>e+((A&=63)<36?A.toString(36):A<62?(A-26).toString(36).toUpperCase():A>62?"-":"_")),"");function JSON_parse(e){return JSON.parse(e.replaceAll("[","["))}/Mac|iPod|iPhone|iPad/.test(window.navigator.platform);const DEVICE={isDesktop:!document.body.hasClass("is-tablet")&&!document.body.hasClass("is-mobile"),isPhone:document.body.hasClass("is-phone"),isTablet:document.body.hasClass("is-tablet"),isMobile:document.body.hasClass("is-mobile"),isLinux:document.body.hasClass("mod-linux")&&!document.body.hasClass("is-android"),isMacOS:document.body.hasClass("mod-macos")&&!document.body.hasClass("is-ios"),isWindows:document.body.hasClass("mod-windows"),isIOS:document.body.hasClass("is-ios"),isAndroid:document.body.hasClass("is-android")},nanoid=customAlphabet("1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",8),KEYCODE={ESC:27},ROUNDNESS={LEGACY:1,PROPORTIONAL_RADIUS:2,ADAPTIVE_RADIUS:3},GITHUB_RELEASES="https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/",URLFETCHTIMEOUT=1e3,PLUGIN_ID="obsidian-excalidraw-plugin",SCRIPT_INSTALL_CODEBLOCK="excalidraw-script-install",SCRIPT_INSTALL_FOLDER="Downloaded",fileid=customAlphabet("1234567890abcdef",40),REG_LINKINDEX_INVALIDCHARS=/[<>:"\\|?*#]/g,REG_BLOCK_REF_CLEAN=/[!"#$%&()*+,.:;<=>?@^`{|}~\/\[\]\\]/g,IMAGE_TYPES=["jpeg","jpg","png","gif","svg","webp","bmp","ico"],EXPORT_TYPES=["svg","dark.svg","light.svg","png","dark.png","light.png"],MAX_IMAGE_SIZE=500,FRONTMATTER_KEY="excalidraw-plugin",FRONTMATTER_KEY_EXPORT_TRANSPARENT="excalidraw-export-transparent",FRONTMATTER_KEY_EXPORT_DARK="excalidraw-export-dark",FRONTMATTER_KEY_EXPORT_SVGPADDING="excalidraw-export-svgpadding",FRONTMATTER_KEY_EXPORT_PADDING="excalidraw-export-padding",FRONTMATTER_KEY_EXPORT_PNGSCALE="excalidraw-export-pngscale",FRONTMATTER_KEY_CUSTOM_PREFIX="excalidraw-link-prefix",FRONTMATTER_KEY_CUSTOM_URL_PREFIX="excalidraw-url-prefix",FRONTMATTER_KEY_CUSTOM_LINK_BRACKETS="excalidraw-link-brackets",FRONTMATTER_KEY_ONLOAD_SCRIPT="excalidraw-onload-script",FRONTMATTER_KEY_LINKBUTTON_OPACITY="excalidraw-linkbutton-opacity",FRONTMATTER_KEY_DEFAULT_MODE="excalidraw-default-mode",FRONTMATTER_KEY_FONT="excalidraw-font",FRONTMATTER_KEY_FONTCOLOR="excalidraw-font-color",FRONTMATTER_KEY_BORDERCOLOR="excalidraw-border-color",FRONTMATTER_KEY_MD_STYLE="excalidraw-css",FRONTMATTER_KEY_AUTOEXPORT="excalidraw-autoexport",VIEW_TYPE_EXCALIDRAW="excalidraw",ICON_NAME="excalidraw-icon",RERENDER_EVENT="excalidraw-embed-rerender",BLANK_DRAWING=`{"type":"excalidraw","version":2,"source":"${GITHUB_RELEASES+PLUGIN_VERSION}","elements":[],"appState":{"gridSize":null,"viewBackgroundColor":"#ffffff"}}`,DARK_BLANK_DRAWING=`{"type":"excalidraw","version":2,"source":"${GITHUB_RELEASES+PLUGIN_VERSION}","elements":[],"appState":{"theme":"dark","gridSize":null,"viewBackgroundColor":"#ffffff"}}`,FRONTMATTER=["---","","excalidraw-plugin: parsed","tags: [excalidraw]","","---","==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠==","",""].join("\n"),EMPTY_MESSAGE="Hit enter to create a new drawing",TEXT_DISPLAY_PARSED_ICON_NAME="quote-glyph",TEXT_DISPLAY_RAW_ICON_NAME="presentation",FULLSCREEN_ICON_NAME="fullscreen",SCRIPTENGINE_ICON_NAME="ScriptEngine",COLOR_NAMES=new Map;COLOR_NAMES.set("aliceblue","#f0f8ff"),COLOR_NAMES.set("antiquewhite","#faebd7"),COLOR_NAMES.set("aqua","#00ffff"),COLOR_NAMES.set("aquamarine","#7fffd4"),COLOR_NAMES.set("azure","#f0ffff"),COLOR_NAMES.set("beige","#f5f5dc"),COLOR_NAMES.set("bisque","#ffe4c4"),COLOR_NAMES.set("black","#000000"),COLOR_NAMES.set("blanchedalmond","#ffebcd"),COLOR_NAMES.set("blue","#0000ff"),COLOR_NAMES.set("blueviolet","#8a2be2"),COLOR_NAMES.set("brown","#a52a2a"),COLOR_NAMES.set("burlywood","#deb887"),COLOR_NAMES.set("cadetblue","#5f9ea0"),COLOR_NAMES.set("chartreuse","#7fff00"),COLOR_NAMES.set("chocolate","#d2691e"),COLOR_NAMES.set("coral","#ff7f50"),COLOR_NAMES.set("cornflowerblue","#6495ed"),COLOR_NAMES.set("cornsilk","#fff8dc"),COLOR_NAMES.set("crimson","#dc143c"),COLOR_NAMES.set("cyan","#00ffff"),COLOR_NAMES.set("darkblue","#00008b"),COLOR_NAMES.set("darkcyan","#008b8b"),COLOR_NAMES.set("darkgoldenrod","#b8860b"),COLOR_NAMES.set("darkgray","#a9a9a9"),COLOR_NAMES.set("darkgreen","#006400"),COLOR_NAMES.set("darkkhaki","#bdb76b"),COLOR_NAMES.set("darkmagenta","#8b008b"),COLOR_NAMES.set("darkolivegreen","#556b2f"),COLOR_NAMES.set("darkorange","#ff8c00"),COLOR_NAMES.set("darkorchid","#9932cc"),COLOR_NAMES.set("darkred","#8b0000"),COLOR_NAMES.set("darksalmon","#e9967a"),COLOR_NAMES.set("darkseagreen","#8fbc8f"),COLOR_NAMES.set("darkslateblue","#483d8b"),COLOR_NAMES.set("darkslategray","#2f4f4f"),COLOR_NAMES.set("darkturquoise","#00ced1"),COLOR_NAMES.set("darkviolet","#9400d3"),COLOR_NAMES.set("deeppink","#ff1493"),COLOR_NAMES.set("deepskyblue","#00bfff"),COLOR_NAMES.set("dimgray","#696969"),COLOR_NAMES.set("dodgerblue","#1e90ff"),COLOR_NAMES.set("firebrick","#b22222"),COLOR_NAMES.set("floralwhite","#fffaf0"),COLOR_NAMES.set("forestgreen","#228b22"),COLOR_NAMES.set("fuchsia","#ff00ff"),COLOR_NAMES.set("gainsboro","#dcdcdc"),COLOR_NAMES.set("ghostwhite","#f8f8ff"),COLOR_NAMES.set("gold","#ffd700"),COLOR_NAMES.set("goldenrod","#daa520"),COLOR_NAMES.set("gray","#808080"),COLOR_NAMES.set("green","#008000"),COLOR_NAMES.set("greenyellow","#adff2f"),COLOR_NAMES.set("honeydew","#f0fff0"),COLOR_NAMES.set("hotpink","#ff69b4"),COLOR_NAMES.set("indianred","#cd5c5c"),COLOR_NAMES.set("indigo","#4b0082"),COLOR_NAMES.set("ivory","#fffff0"),COLOR_NAMES.set("khaki","#f0e68c"),COLOR_NAMES.set("lavender","#e6e6fa"),COLOR_NAMES.set("lavenderblush","#fff0f5"),COLOR_NAMES.set("lawngreen","#7cfc00"),COLOR_NAMES.set("lemonchiffon","#fffacd"),COLOR_NAMES.set("lightblue","#add8e6"),COLOR_NAMES.set("lightcoral","#f08080"),COLOR_NAMES.set("lightcyan","#e0ffff"),COLOR_NAMES.set("lightgoldenrodyellow","#fafad2"),COLOR_NAMES.set("lightgrey","#d3d3d3"),COLOR_NAMES.set("lightgreen","#90ee90"),COLOR_NAMES.set("lightpink","#ffb6c1"),COLOR_NAMES.set("lightsalmon","#ffa07a"),COLOR_NAMES.set("lightseagreen","#20b2aa"),COLOR_NAMES.set("lightskyblue","#87cefa"),COLOR_NAMES.set("lightslategray","#778899"),COLOR_NAMES.set("lightsteelblue","#b0c4de"),COLOR_NAMES.set("lightyellow","#ffffe0"),COLOR_NAMES.set("lime","#00ff00"),COLOR_NAMES.set("limegreen","#32cd32"),COLOR_NAMES.set("linen","#faf0e6"),COLOR_NAMES.set("magenta","#ff00ff"),COLOR_NAMES.set("maroon","#800000"),COLOR_NAMES.set("mediumaquamarine","#66cdaa"),COLOR_NAMES.set("mediumblue","#0000cd"),COLOR_NAMES.set("mediumorchid","#ba55d3"),COLOR_NAMES.set("mediumpurple","#9370d8"),COLOR_NAMES.set("mediumseagreen","#3cb371"),COLOR_NAMES.set("mediumslateblue","#7b68ee"),COLOR_NAMES.set("mediumspringgreen","#00fa9a"),COLOR_NAMES.set("mediumturquoise","#48d1cc"),COLOR_NAMES.set("mediumvioletred","#c71585"),COLOR_NAMES.set("midnightblue","#191970"),COLOR_NAMES.set("mintcream","#f5fffa"),COLOR_NAMES.set("mistyrose","#ffe4e1"),COLOR_NAMES.set("moccasin","#ffe4b5"),COLOR_NAMES.set("navajowhite","#ffdead"),COLOR_NAMES.set("navy","#000080"),COLOR_NAMES.set("oldlace","#fdf5e6"),COLOR_NAMES.set("olive","#808000"),COLOR_NAMES.set("olivedrab","#6b8e23"),COLOR_NAMES.set("orange","#ffa500"),COLOR_NAMES.set("orangered","#ff4500"),COLOR_NAMES.set("orchid","#da70d6"),COLOR_NAMES.set("palegoldenrod","#eee8aa"),COLOR_NAMES.set("palegreen","#98fb98"),COLOR_NAMES.set("paleturquoise","#afeeee"),COLOR_NAMES.set("palevioletred","#d87093"),COLOR_NAMES.set("papayawhip","#ffefd5"),COLOR_NAMES.set("peachpuff","#ffdab9"),COLOR_NAMES.set("peru","#cd853f"),COLOR_NAMES.set("pink","#ffc0cb"),COLOR_NAMES.set("plum","#dda0dd"),COLOR_NAMES.set("powderblue","#b0e0e6"),COLOR_NAMES.set("purple","#800080"),COLOR_NAMES.set("rebeccapurple","#663399"),COLOR_NAMES.set("red","#ff0000"),COLOR_NAMES.set("rosybrown","#bc8f8f"),COLOR_NAMES.set("royalblue","#4169e1"),COLOR_NAMES.set("saddlebrown","#8b4513"),COLOR_NAMES.set("salmon","#fa8072"),COLOR_NAMES.set("sandybrown","#f4a460"),COLOR_NAMES.set("seagreen","#2e8b57"),COLOR_NAMES.set("seashell","#fff5ee"),COLOR_NAMES.set("sienna","#a0522d"),COLOR_NAMES.set("silver","#c0c0c0"),COLOR_NAMES.set("skyblue","#87ceeb"),COLOR_NAMES.set("slateblue","#6a5acd"),COLOR_NAMES.set("slategray","#708090"),COLOR_NAMES.set("snow","#fffafa"),COLOR_NAMES.set("springgreen","#00ff7f"),COLOR_NAMES.set("steelblue","#4682b4"),COLOR_NAMES.set("tan","#d2b48c"),COLOR_NAMES.set("teal","#008080"),COLOR_NAMES.set("thistle","#d8bfd8"),COLOR_NAMES.set("tomato","#ff6347"),COLOR_NAMES.set("turquoise","#40e0d0"),COLOR_NAMES.set("violet","#ee82ee"),COLOR_NAMES.set("wheat","#f5deb3"),COLOR_NAMES.set("white","#ffffff"),COLOR_NAMES.set("whitesmoke","#f5f5f5"),COLOR_NAMES.set("yellow","#ffff00"),COLOR_NAMES.set("yellowgreen","#9acd32");const DEFAULT_MD_EMBED_CSS='.snw-reference{display: none;}.excalidraw-md-host{padding:0px 10px}.excalidraw-md-footer{height:5px}foreignObject{background-color:transparent}p{display:block;margin-block-start:1em;margin-block-end:1em;margin-inline-start:0px;margin-inline-end:0px;color:inherit}table,tr,th,td{color:inherit;border:1px solid;border-collapse:collapse;padding:3px}th{font-weight:bold;border-bottom:double;background-color:silver}.copy-code-button{display:none}code[class*=language-],pre[class*=language-]{color:#393a34;font-family:"Consolas","Bitstream Vera Sans Mono","Courier New",Courier,monospace;direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;font-size:.9em;line-height:1.2em;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre>code[class*=language-]{font-size:1em}pre[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,code[class*=language-] ::-moz-selection{background:#C1DEF1}pre[class*=language-]::selection,pre[class*=language-] ::selection,code[class*=language-]::selection,code[class*=language-] ::selection{background:#C1DEF1}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;background-color:#0000001a}:not(pre)>code[class*=language-]{padding:.2em;padding-top:1px;padding-bottom:1px;background:#f8f8f8;border:1px solid #dddddd}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:green;font-style:italic}.token.namespace{opacity:.7}.token.string{color:#a31515}.token.punctuation,.token.operator{color:#393a34}.token.url,.token.symbol,.token.number,.token.boolean,.token.variable,.token.constant,.token.inserted{color:#36acaa}.token.atrule,.token.keyword,.token.attr-value,.language-autohotkey .token.selector,.language-json .token.boolean,.language-json .token.number,code[class*=language-css]{color:#00f}.token.function{color:#393a34}.token.deleted,.language-autohotkey .token.tag{color:#9a050f}.token.selector,.language-autohotkey .token.keyword{color:#00009f}.token.important{color:#e90}.token.important,.token.bold{font-weight:bold}.token.italic{font-style:italic}.token.class-name,.language-json .token.property{color:#2b91af}.token.tag,.token.selector{color:maroon}.token.attr-name,.token.property,.token.regex,.token.entity{color:red}.token.directive.tag .tag{background:#ffff00;color:#393a34}.line-numbers.line-numbers .line-numbers-rows{border-right-color:#a5a5a5}.line-numbers .line-numbers-rows>span:before{color:#2b91af}.line-highlight.line-highlight{background:rgba(193,222,241,.2);background:-webkit-linear-gradient(left,rgba(193,222,241,.2) 70%,rgba(221,222,241,0));background:linear-gradient(to right,rgba(193,222,241,.2) 70%,rgba(221,222,241,0))}blockquote{ font-style:italic;background-color:rgb(46,43,42,0.1);margin:0;margin-left:1em;border-radius:0 4px 4px 0;border:1px solid hsl(0,80%,32%);border-left-width:8px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;padding:10px 20px;margin-inline-start:30px;margin-inline-end:30px;}',SCRIPTENGINE_ICON='',DISK_ICON_NAME="save",PNG_ICON_NAME="save-png",PNG_ICON='',SVG_ICON_NAME="save-svg",SVG_ICON='',EXCALIDRAW_ICON='',VIRGIL_DATAURL="data:application/font-woff;charset=utf-8;base64,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",VIRGIL_FONT=` @font-face {font-family: "Virgil";src: url("${VIRGIL_DATAURL}") format("woff2");}`,CASCADIA_FONT=' @font-face {font-family: "Cascadia";src: url("data:application/font-woff;charset=utf-8;base64,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XVtdpV2uXdBeAV4OXmBecl6GXpteyl74X1Vfsl/PX+xgDWAtYDVgPWBQYGNga2B9YIZgj2CcYKlgtmDLYOFg7GElYVthfmGgYa1hwmHdYgNiN2JVYoli0GL6Yzpjc2PbZINkrGUYZUBlTWVeZaNl8GX9Zi9mPGZNZrdm/mdPZ59nq2e4Z8hoAWhDaE9oW2hoaMto12jnaPNo/2mBaipqmGqlarFrRWtSa79sG2wnbFRskGzBbM5s32z7bQ5tF20fbR9tH20fbX9tzm4ebp9u+W9jb75wGnBgcKRw1HEucZRx1nIxcoly1HMHc1Nzm3P+dEJ0rXTvdR11YXWIdcl2LHZrdnN2e3aidqp2zHbwdwd3LHc/d213qHfGd/14JHhLeHt4rnjWeON5EnkpeUd5nHnBefJ5+noCeiV6T3pyenp6hXqcewR7kXu5e+R8Dnw3fHF8qnztfPp9B30UfSF9Ln07fUh9VX1ifW99fH2JfZZ9o32wfb19yn3YfeZ9834Bfg5+Hn4yfkJ+U35hfnd+h37Vf2iAj4CrgNeBDYEzgVmBgIGmgbmBzYH4gh2CUoKHgr2C84M1g/iEM4SIhK6Ey4T9hR6FQIVbhXaFiYWcha+FwoXSheuGAoYZhjCGR4Zoho+GnYazhsGGzobjhviHBYcah0yHaIgsiE6IcIi1iNuJA4lciWqJgImViaqJvYnRie6KDIosikyKbIqBio+KpIqyir+KzIrZiueK+4sPiySLOYtdi3GLhIuRi5+Ls4vIi9aL44vxi/+MFIwojD2MUoxfjGyMeYyFjJiMq4y/jNKM840NjSeNO41bjXSNjo2ijc6N7o4PjieOPY5TjmaOd46Njp6OtI7NjuGO8o8JjxqPMY9Lj2WPe4+Rj6aPvI/Kj96P75AAkA6QHJAukE6QdJCCkJ6QvJDKkN6Q75ECkRORIZE7kU+RY5F+kZSRqZHCkdiR7pIIkiSSQJJckniSlJK3ksiS2JLrkwCTDpMhkzKTQ5NQk12TcJOMk6+TvJPVk/GT/5QSlCSUNJRElFKUa5R+lJGUrJTClNiU8ZUHlR2VN5VTlWqVf5WUla2VwJXWleaV/JYNlieWOpZQlmCWdpaHlqCWtJbJluyXBZcflziXTJdgl3qXjpeil8WX3Zf1mGqYsZkFmTmZg5mvmcaZ5Zpamr6bHZtFm7icHZyAnN6dG52EnbWdyp3pnf2eHJ5DnpGey58gn2iffJ+Zn7mfxp/Wn+Sf8qACoBCgHqAwoD6gTqBqoHigjKChoLagyqDdoPKhBaEloVGhZaF9oZWhsqHJofWiCaKvosyjNKNdo2qjpaPVpAekLqRVpMmk1qUgpS2lPqVPpW6lmKXPpgamUaaXptCm+qc/p0ynfKfAp/2oPaiCqJOoxqj6qUmpjqmbqfuqB6oYqkCqdKqwqsGrOqu3q8Sr1awDrD2sjazbrSStMa1vrbmuCa4arn2ujq8ir1Kvma/SsF+wm7D/sUuxerI3smiyaLJ/sqay3bMjs3mz37RVtNu1UbW3ti22lLbqt1C3xrgsuIK46Lk/uYa53LpDurm7H7t2u9y8M7x5vNC9Nr2MvdO+Kb5wvqa+7L9Cv6jAHsCEwNrBQMGWwd3CNMKbwvLDOMOOw9XEDMRTxKvFEsVpxbDGBsZNxoTGzMcjx2rHocfnyB7IRch7yMLJGcmAyffKXsq1yxzLdMu6zBDMdszMzRLNaM2vzefOLs6Gzu3PRM+Mz+PQK9Bh0KjQ/tFE0XvRwdH40h7SVdKc0vPTWtOx0/jUT9SW1M3VFNVr1bLV6NYu1mXWjNbD1wvXYtep1+HYKNhf2IbYvtkF2TzZY9mZ2cDZ19n+2jXafNrT2zrbsdwY3G/c1t0u3XXdzN4z3ore0d8o33Dfpt/s4ELgqOD+4UThmuHh4hjiX+K14vzjM+N547Dj1+QO5FXkrOUT5WrlseYI5k/mh+bP5yfnb+em5+3oJehL6ILoyekg6Wfpnenj6hrqQep56sDq9+se61Tre+uS67nr8Ow37I7s9e1M7ZPt6u4y7mnusO8H707vhe/M8ATwK/Bi8KnxAPFH8X7xxfH98iPyWfKf8tby/fM081vzcvOZ89D0F/Ru9LX07PUz9Wr1kfXI9g/2RvZt9qT2y/bi9wn3QPeH97735fgc+EP4WviB+Lj43/j1+Rv5Mfk5+UH5Sfld+WX5kvmu+cL51vnz+g76KfpO+nj6qfq7+un6/fsY+zT7SPtp+5P7m/uj+6v7s/u7+8P7y/vT+9v74/vr+/P7+/wo/ET8WPxs/Ij8pPzA/OH9C/0//VH9ff2Y/in+Pf5R/ln+Yf6a/rv+3P7c/twAAAABAAAGDACUACUAUQAGAAIAEAAvAJoAAALND4MAAwACeJytWMtyG1UQvU7CI+GxoigqxUKVYuFQsh2HRxVkpcjyg8hSkOyELEcjWZ5ElsTMKIo3LFjzI2z4Cj6ABR/AR7CgWNF9uu9jNJJjDOWydOfevv04fbrvHRlj3je/mOtm7cZNY0yf/mW8Zm7Tk4yvkcwPOr5udsxPOr5hPjW/6fgNUzF/6/hNs752W8dvmR/XHur4bfPx2q86vmk+WPtDx++Ye2t/6vjdYPzeh79f+0TH75svP/rL/ExW7pt7Ztt8RaNDk5jYpGZiMvo/MTnN1WmUmik+I5pJaDQ2m7RSMyP6q5gOzQ3NKa1leBrQ94CkX9JnnyTrtC8jvRE9JfQpOvu0yrJDMyMtEcmzD9v0t0kebZNPD0yXbHxD/w9KOqyGjQUdq21VFiSfwMdM46mUrP8fFhMgwnM50OPZM+x6QXOMMK+cQnYZ9kM8zwh9Kx3T9xk9R+RzAqQ3CaXIPIeVI3NOawMzR7Ze0GoN1iTCh7TCGeNM5ST3tdmiv0x356W9m2ptmWcZvJqStgRZrtA8W8nBjGfwuoJYz+l7BkZIrIKJlea5CeJKSYK9GJgqPfchNwXG55jhiNnOlCQT3RurloE+R9A9RWbPSCrHGu/qwQ+L9QgR8S7rl+zIgHNamjlxMVQvlbcpnvu0J6bnKvCSihC7VWdnMYIEmZoDp5g+l2M210hZOqZoZmBWfyn2vGeE0TrJ36Vv5mBPcVmmXXy4KrZeex+ahjSXgqk5Mhe7HrIsAmu97NeDgAMcicSSw57tTqxfYu3TzByRT1B3F3EvKrBqgLxM9FOikvEMVTPDTvbWZtPqOUV9TS/kqPTNsWbGa7cVkijKzB/2twekJbe3aOUW1bjgzFGMEN/c4VzkdRW5iTDuKxN8nrrmwDTpu42c8squw2WxPtZdz8hc14gR4xRdfxN9dETfjNuQ1tukrUkZksr1nSJzaJXzIdgIbyxHIpwwF9Wr5XnPoTJTlhTj3YPWfVrtKSOnqNkE/qTQceKqv8yVMgZD7D2FRtsrt1AbxX6whdMhPCM2IM0c2qK9nMMedkaoEo5ti9A7oJOkYVqUqQYhafP/2FVgFpxe4q2waaAVOURNjJU/VUTDq4PgNDlF1QyVLbYehJ9TPSHFAvuY01qCk0f4Fim/p8rnsC96NnUVhzlshZZ8T+W4uQdIr7c6q8jvIPDQdxdZmwDRE5VNsZK4XtNDtQ4K50emp2C4255hVoYZVF4VryyL/020GTjynJ7ioO/kF1SydI2wEph1woBtdL4W7U2CDvJ6Tyo0L/yOXAc6AXdy14vZIvc1Pruk9uyNg7VKD8sQk/TpNnAe4knkxcJhCb3ifSvT/IW1mwEHf6KIX5ytE8f++4j96lYvn7dF73raV0aOfavY5pm0pX75yOaaM5+DbAlfpP9LHvw5HcFPviXJzcBXnj1jpDqzIL6IvJrgJu7lU3dfF0bk7hyz/Pf9r9h5uUPL+ZOpxggs6OnZtXiWFxkqN4gMfrKdDeROeCU9/RV8OsFZMlCOcH89w44NvSP2EdUIu051RrJseeDvEAN3/qSIPkX/zV1+Y0TKHizTzr0n17kc3U6YxbnMgmxaezYC8aKn/LRni43KIiGxD90za5ooskU7RZwHkLc3nZeQnC+9i8303mmr5zPtHJNL1MpVKiW859s3rvBdMNTSoj2M7zpJ3NWeK/hkiPGV3hliYMxYp+7WOTbhTbR8DhZPvkVUYuRH7qRT12clE/UlNbKv1StISgWIneX32vDOvfruMzD2nngWcMSiM1Z0/L07VSx9VEVdNteZy/bnwNXeF8cLeBez+7q4/a7wrKmh451idrnei1iToafJWSx9yDJ85u6sEqNU7xlk7D1gjDt+qoyz51ofTEuRi8z1tPNL8L2qrItxMwzfDmJ6Gx7jdJbePyxw3PZefwKIvv+Gc9iJVyOdFk4UkU0we7X6scz5osCci+825XvSRN9oyncof2+YQoPvlf69dwKURfMM1WVZseqslZpI4NFI+9BY8Vx9loV3Qm+pyMNVFkP9/i7lT7pVp6Z0jO9pv3h7ZuzbtX3zsB3A9wqRixShy0Qmb7/Sb2w8tg+dB7weuzflGGes9SX8Laav1Wj74+vr2r+n7tN7C0u2qdcfQZLfCo/MU2JzB2sHNFehN5oOrTyhpx2a3aGZOyTR1fU7yNRTGrPGtjmGLtHRoU/W/cxUoLuCZ356RPIt0sV7G+Y72GiQti4kO9B9SLP8ltVQOd5Rp5ljeubxnuHfzMRei3bxdxP72Bfx9IjmvdWiVwewaD07pKcO6d/X1RrpPoA+9r8KpHjccn7uqqc1YMSaj/BOeEy7alh5TOMOfbbxjih+7Ki3LcSwS+sSSwMeSCbEozp9PybbLLFHfh3BC7Z0pJJVRMjx7GA/W32EWfGsrVnmsdeyqViKH4z/E2e5i/ib+OXBMqTsRwWZbsJqB1loKPaMWtPxqhNgXwcqnB32b4fG7O+ey8Giv1ZbMQfLOGAt7CGKBvBoQrpLfjdI/sDNCOsOwLa6Iig6hd2S+WaAYR254vx9S1YbypwaECpGIXXA/vsoBOeaftaxt40nn+OW5rDuMtoGl8qoPEXFNSBVQz66DoVdVOmhen4c8Mjm8VhZ2HaeFfG11WLlLtMhRJe1Xcwg41mDdvaw69B4vd7Nq/2e9Q9nNlrDeJx9PAd4HMXVs3unKSq2LMmy3A2hE4y0e2VESNGdTrZB2Ma2cEyKc5LW0qHTnbhiW07vgfRCAgkk9Bo6IaR3CBAIpFc66YH0QpI//+7Mmy2z59ifbvaVeW3evHm7V5CJxL//XowsdzCQ9g93ui9HoXsNEy/H/XgFHsAr0T14FV6N1+C1eB2axOvRjXiDsdToRlPGMnQTep/Rg45Gx6D/oP+iaaPX6EPHol8by41+dBxyjBXGAPomPgIfiZ+Hj8JHo/uMdfgYdD8+1jjCOBIfh45HJ6B/GEcZR+PjjWPRicZxxvHo+cYJ6FvGiegB9CB6Dp+Avo1PNDYaJxuD6CRjCG3Ez0cnG7aRwicZGfQEGkRDRtbgeKNxCj4Z7XP9esg4FT2MB/EQtrCNU2gGp9F3ccYYxVnM8TA+Bb/AOM04HZ+K3m+cgW5GtyAb/R6lUNrYamzDL0QZ40z0FPqXsQO/CL8YvwRljbOM3XgE5xBH3zPORt9HsziPfoBHjVfgAh7Dm/BmvMWYMqYNx9hnzKBhdIoxa5SMc4w59AJ0KvqtUUafw6cZFXw6HsdnoBcaNfQLo240jKax3zhgHDQW0SgqGYfwVrwNb8dn4h1oDu/Eu/AEPgvvRmX8UnQO3mO83XgHqhjnoXl0qXE+KqAx9H/uAlaNdxrvQpvQb4x3GwbajBaM9xjvRTV8Nn4Zfjl+BX4lqhsX4L3oXPwq40LjIlzEk2gLOg3907jYuARPGZ9ApxuXGpehcfRD1DCuQPvRATyNmtgxrjauMa41rkNn4H3GDWgrnjFuRNuMm4yb8axxK3oSbUdnGrcZtxt34JJxJz4HHUQ70KJxF3o1nsNlPI8ruIpegxfQIXyu8WVcw3XcwE2837jbuAcfQJcZ96LXolvRTvQM2oUmjPuM+/FBdJbxAHoa/dt4EC+i84yH0G7jYeM7+BB+NXopep3xffQG9Eb8GvR6/FrjR/h1+PX4DfiN+E3GI8ajxmPG48YTaA8623jSeMp42vgFehl6Ofqd8Uv0Wfxm49f4Lfit+G3oFcbv0S+NZ4xnjT8YfzT+ZPzZ+IvxV+Nv+O34HcY/jefQJejj+Dx8Pn4nfhd+N34Pfi9+H34//gD+IP4QvgB/GH8EX4gvwh/FH8MX40vwx/En8KX4Mnw5vgJfia/CV+Nr8LX4Onw9vgF/Et+Ib8I341vwrfg2fDu+A38K34k/je/Cn8GfxZ/Dn8dfwF/EX8Jfxl/BX8Vfw1/H38B343vwN/G9+D58P/4WfgA/iL+NH8IP4+/g7+Lv4e/jH+Af4h/hH+Of4J/in+Gf40fwo/gx/Dh+Aj+Jn8JP41/gX+Jf4V/j3+Df4t/h3+Nn8LP4D/iP+E/4z/gv+K/4b/jv+B/4n/g5/C/8b/wf/H/4vwQRg5gkQZKkjWBCCCWMtJMO0km6yBKylHSTZaSH9JI+spz0kxVkgKwkq8hqsoasNd9nvt/8AFlnftD8kHmB+WHzI+aF5kXmR82PmRebl5gfNz9hXmpeZl5uXmFeaV5F1ptXm9eY15rXmdebN5ifNG80byIbzFvMW83bzNvNO8xPmXeanzbvMj9jfpYcYX7O/Lz5BfQx84vkSPPL5lfMr5pfM79ufsO827zH/KZ5r3mfeb/5LfMB80Hz2+ZD5sPkeagX9aHlqB+tQANoJVqFVqM15nfJUeRocgw5lhxHjicnkBPJ88lJ5iPmo+Zj5uPmE+aT5lPm0+YvzF+avzJ/bf7G/K35O/P35jPms+YfzD+SjeRkMkiGiEVskiJpkiFZ9Hn0F/RX9Dfzn+Zz5r/Mf6NlaClai9ahG1ASXYGORJejr6G3oy7CESbDqAe9GHWgTvRK9Cr0IvQScgp5Aeomp6Lb0O3khSiXSKCvo2+gO9Cn0J3o04kkug5dj76IvoTaUHuCJGiCJdoTHYnORFdiSWJpojuxLNGT6E30JZYn+hMrEgOJlYlVidWJNYm1iXWJ9YkNiSMSRyaelzgqcXTimMSxieMSxydOSJyYeH7ipMTGxMmJwcRQwkrYiVQincgksgmeGE6cknhB4tTECxMvSryYvAglyIvJS8gIyaG3kDz6AiKJMTJKCuhq9HcyRjaRzWRL4gxyGjmdjCfOJGeQrWQb2U7ORG8lO8hOsgt9mEyQsxIvJ7sTr0zsJS9FS9Cz6A/oLrQBvRcdgdajC9CH0AfRNaiIrkQj6AOJIrqY7CFno4+ii9BV5GXowoSDKLqbvJy8gryS7CWvIkUySabINHHIPjJDZkmJnEPmSJnMkwqpkgVyLqmROmmQJtlPDpCDZJEcIq8mryGvJa8jrydvIG8kbyJvJm8hbyVvI28n7yDnkfPJO8m7yLvJe8h7yfvI+8kHyAfJh8gF5MPkI+RCchH5KPkYuZhcQj5OPkEuJZeRy8kV5EpyFbmaXIM+Q64l15HryQ3kk+RGchO5mdxCbiW3kdvJHeRT5E7yaXIX+Qz5LPkc+Tz5Avki+RL5MvkK+Sr5Gvk6+Qa5m9xDvknuJfeR+8m3yAPkQfJt8hB5mHyHfJd8j3yf/ID8kPyI/Jj8hPyU/Iz8nDxCHiWPkcfJE+RJ8hR5mvyC/JL8ivya/Ib8lvyO/J48Q54lfyB/JH8ifyZ/IX8lfyN/J/8g/yTPkX+Rf5P/kP8j/6WIGtSkCZqkbRRTQilltJ120E7aRZfQpbSbLqM9tJf20eW0n66gA3QlXUVX0zV0LV1H19MN9Ah6JH0ePYoeTY+hx9Lj6PH0BHoifT49iW6kJ9NBOkQtatMUTdMMzVJOh+kp9AX0VPpC+iL6YvoSOkJzNE9HaYGO0U10M91CT6On03F6Bt1Kt9Ht9Ey6g+6ku+gEPYvupi+le+jZ9GX05fQV9JV0L30VLdJJOkWnqUP30Rk6S0v0HDpHy3SeVmgVPQ8x9A70NvROdD5dQO+i56I3J1+TfC3ai36F3kRr6Ku0nnwDbdAm3U8P0IN0kR6ir6avoa+lr6Ovp2+gb6Rvom+mb6FvpW+jb6fvoOfR8+k76bvou+l76Hvp++j76QeSlyYvS16evCJ5ZfKq5NXJa5LXJq9LXp+8IfnJ5I3Jm5I3J29J3pq8LXl78o7kp5J3Jj+dvCv5meRnk59Lfj75heQXk19Kfjn5leRXk19Lfj35jeTdyXuS30zem7wveX/yW8kHkg8mv518KPlw8jvJ7ya/l/x+8gfJHyZ/lPxx8ifJnyZ/lvx58pHko8nHko8nn0g+mXwq+TT9IP0QvYB+mH6EXkgvoh+lH6MX00vox+kn6KX0Mno5vYJeSa+iV9Nr6LX0Ono9vYF+kt5Ib6I301vorfQ2eju9g36K3kk/Te+in6GfpZ+jn6dfoF+kX6Jfpl+hX6Vfo1+n36B303voN+m99D56P/0WfYA+SL9NH6IP0+/Q79Lv0e/TH9Af0h/RH9Of0J/Sn9Gf00foo/Qx+jh9gj5Jn6JP01/QX9Jf0V/T39Df0t/R39Nn6LP0D/SP9E/0z/Qv9K/0b/Tv9B/0n/Q5+i/6b/of+n/0vwwxg5kswZKsjWFGGGWMtbMO1sm62BK2lHWzZayH9bI+tpz1sxVsgK1kq9hqtoatZevYeraBHcGOZM9jR7Gj2THsWHYcO56dwE5kz2cnsY3sZDbIhpjFbJZiaZZhWcbZMDuFvYCdyl7IXsRezF7CRliO5dkoK7AxtoltZlvYaex0Ns7OYFvZNradncl2sJ1sF5tgZ7Hd7KVsDzubvYy9nL2CvZLtZa9iRTbJptg0c9g+NsNmWYmdw+ZYmc2zCquyBXYuq7E6a7Am288OsINskR1ir2avYa9lr2OvZ29gb2RvYm9mb2FvZW9jb2fvYOex89k72bvYu9l72HvZ+9j72QfYB9mH2AXsw+wj7EJ2Efto2zNtz7KPsYvZJezj7BNtf2WXtv2dXcYub3uOXcGuZFeh96CfoTx6N3oU/Qg9jn6Kfo5+jH6CHkGPsavZNRhhg13LrmPXsxvYJzFhN2LGbsIduBN34SV4Ke5mN7NbcC/uwyOTNWe/0yGH4lSz4SyR19PVxqRTrh4A0kytuN9ZKq9nq9W54mTVn9Yolaed7pGpUm2qOb+v7BwUcnpDCCUszCQk9oUQvtgwl5DNRpSA9hGfi4zMF6dq1QoZqc5UK85c+0itVJkRqslIQYwd+UBQe96VUZyacioNPDpVdCe6Q61abOCCcAIXBLK7oLtRaOFGQXej0MqNguZGe8E3gRV8jwqBRwXwqCA9wgUxDW8SlnVsCsR1bpqqzs8Xpaz2Tb7Y5ObJYq1jc8BobjkNbxH+sS2+xi2Bxi2gcQto3CI0dpwWUnV6SBUeFzHB48KizvEQKTnuysdbJX2rpG8N0ROFygzb6mkuO/saeJswqnubHu1tLaK9TY/2tlbR3qYnzTbf4W0+V5t7Wau0i1ehsEtchjlrFaFkibj0J0qKEOxOabqJVmvOl4vNBtkGIdwmQ9ixrV4u1mdlHHbAIMOxIxzJnTJDd4YivTOyqE5tvliZnizX23ZOzR4oJne5S4t3CUl015QzXSqXi527wiIn5EJP+N5MBH5PCL8nAr8nIn5PBH5PRP2eCPyeiPg9AX5PSL/bJrzthydkyu6W3u0OvGO7p0tOzamX6ni3UNSxJ0TcoyzBewSxfU+Qo3ukIrxHij5biG4/20/67i0Cs/e0jeXqVHnr+OiSvEAIcPv46Uu2RsFtUXBnFDw7AuKirI/FUH0sRutjMVQfi1p9LIbqY1FP9WKLVC/qqV5slepFPdWL/kIWg7gVYYGKUB+LQX0sSlc6pkL1cSqoj9OyPjqyMDqyMDq6/U4L+x3dfqeV/Y5eGJ2gMPqBbQ/iSBxwxYEyJUPaVvc2Bp6R5XEmtJNmwjtpJiiPs155nA0YacmllZ16HZfk3in52ku+drN0DimBASUwoCQMoOfA9I5zQsrnQso752ZqjlMpuzu5NIXLshyUZTkoh6tn2auecmt2VIoL1XqjVl2YdXBF8lbCldRxK2nFr6RVWUmr+vJUWyxPVV+eaqvlqerpVfWjUg0qSlVUlGpQUaqRilINKko1WlGqQUWpRipKFYJchUpaDVXSGgwyHLVw2avLqNVDS1AP0dvK1cpMPdnwymdDls+GKp+NsJymTIGm70IzcLYpnG0GzjYjzjYDZ5tRZ5uBs82Is01wtgnlsynKZ1PWuAPSpQOhCnnAL58HZPlcDBEX/fK5KMvnYrB3FqF8LkrRh2T5PORvina52zcWy43ukqyk5/iVdCpaHCtRsBoF61HwUARsP7hxvllulBbKi92V5vxe+NtYLs0U+0IIHzngAc3KtFPbu1CsuXvITXZBaD+w1/0vLpOV+ep0cuSkqcW2nOO9niVeN3mveNM53tC5adZpLjSatYpHGRX0Ld5r+xZZtAWi6k04e1YAZ0tUSfCU6u4CNuSlz3560WM/XchvK5TF67x49ZQkt3mX2yWxJl7r3usuD5OccF/YhJLaVtjnvW4WAvNCP95VF8POWQ9Jd85OiQsyekiQO3ZW9zXqpRlPU8fmYm0arskep9b05o0Ls/BWOYweEloLXiQKXn7X6s60h9ni6d3jOdl2msdCdtWl+1ua4lVYNOqH0KtHcx6w1I3StFN3M8ddGRdecnoxAhYqYbBzwp1YLM3Mes72+IAvbcnmyOyl+ahwsnNWON+xveim0eycjIhX9cWKyMz2Lre5u7smHGuf8LFdYrVFAuY27egSCxVA+0JQ0pPXNin8l0s8I6I3I/2fCafQtKCXRAqVghQqiRSSa9R2SKJECpWCFCoFKSRcwXMyhRyRQo5IIUekkCesbUESRQo5IoUaYjG9BWJNP4UckUIiTnhKplBDplBdplBdpdA0pFA9lEKzoRRahBQqy9ypyGFappCIhBNOIZE8i+JVcJIGpFBJpFBJWDTthzBIoUNaCs1FU8iJplAznELNeArNRlNoSkuhOqTQQiiF6iqFSkEKVYMUagYptD+SQjMRaDoMLZGx9YmHIpBIBQX1BCkRQqnU8OcIU33IiWTvQoSzETFELr4PyiRQYLdKBoXoDSWDjwslReBCMwxN+jp27si1jZQXZovJnNMotm0quicqKSzUS+65mzzbRSUKLnrXrHuV3OIeOm71XFgouneS85PTRfOMprm1ab605N5GlbyYm9tLiR2z1badpZn5YmJXsUkmpKjE9tlSIu/+ba+X2oW+RrVSrXeCJgFQV5O4YJ4iSQe5EpgIMbdvm3dmgMljV+frUmBSMDu9WNq5OD9ZLbcVhZuTnpsznptuLSg3isQBZw95znrEhnC25Dk7J5wtS2crTfNgyW1zhEWJ2my1ve65ua9UKZbbxGWi4XrcBI8XXG+n3D8XbKt6xrKS71YpZPGyMCDJzZCjS5tRh/o0WM6ohuLUXvVD014MQu2EQ+2oUM+p8LBDTq260Xvp9F5KlX1OrVStdbjtjX/dOODjuxqzbmusoM59Va8DUkBpfzCnXjroz6m75afiQ45XCPxJLt6fJG2ZrlTnqateXri6xUW7UCwumacVrlyVks/VJ/mEMnkpNElGT428EjrcLqUmdIgLT4d3ATq8S6lDXnk6BJ+nQ/BJHeJS6hCMQod3JSJZby4EMQoAV5gCvBipaxkjHxJS/UmeYAUw12pBne0U1srreocnGK47hSwFOAen3ESerjYnyw51W8ta2ZV2zLzbS7s9rdudLbhr2/DuMSszZffesTg15zS8hnne7TKPlWw1T9T/4mv3ytHsonvrU+lya2TpkJtvxbJbmrtEK+g29m6Nnix3ndusNvzDqGum6bbzzrzT8MxY4kNCW4+UtlcOom1cGUGFKauiFPfmreiqEaSlgHNtEXBvC57VUVyE1g00735RIJaHEAG2H7BF935G3mUKdI8XJ8dzzzdglUAJH72medINhVuyZUMNUY3wrwFkyxk9Iiemw7FQKDnIwEVQYcpAlOKc2yyWBWFFlOD72QeIc5tuY1CqSpXLYtO7p6puydkrXmV8QojDoWPTA0SPREQWVqJ8ywbqjlsLBc6/knPlBtgrBxmQCCockGWKEkQijAnh+1QIwtN7fWTIRx8XCVrAGsjsL9Zd90r1ub3qQqDXx9BR+nIfHQ5Qr48VN+TS8SB/tNuzMMVPWrk7NAokqNQcooU8DmFDUR8IoSOhWBUiaAkeVhDEKTwhKDDSa+FsND7dEheKcwgRzjKJjmx/iQoi2B9ChNDrAjO8natbtSpE1kisWHFrYtkpFbtUULyHT3OkMllfcNehyyvXdcddLffkriUni7ONpPcghIl4eyFITrtTkk7TPcG9l6mm2xBX3BZ6punOqZTIbG1xf6VUTMyVFpLlYq2ULJdqxQ7vZVezNuc2tW3zxUqx0VYpuii84Cpz2yB3qLbVvDPDfV1wnA7xusVtP4oV9w7FOdcpu/c1lRkHN5oztdJc4kC1smSy6VbwRtXdEJ6tXdOl/aW6648IU4cb59L+Ytk1zVkRnBGed85BV5LH2O6eMN69WXmy4V82FnrK1ZnSVLHsxmkHHB2dHtW9mPLCldg2O89Klama4x1FbaIjancb9VnvGU2x7DZmI7Va9UC7qKDikk1XD1TklZfK4mqJd7XDZ+loLowqpqXyerJYdwTcW64ecGrbKk5BHLE5t5+e61O4M92ou7YJZL9A7vKOaclaF+glAr25WN4nwOUCHHPP7zDTimAuiKyHZO70TvgwO9vnxl5Kby4shKT3CjBqbI/naxTVC6iw+cs9XMx6ETLw2b3S7e73J0XMFrJiVss1kQaIy6hRMlDjSt9SAe7wp0hPffKxPjhSmR5XM9V1MG11jC+gRWRMeNcyJUICBd9x/5svELi06RNDyv+X0BgtLrS97t09lz24Q1zKNo2J6+liba5jsuwW6nypNlV2Og7MlhoOXLv7fwauB7wVkWni8u4OmFaKlWhJCSWuRgklXZTSG1EjcX1RDRK5PBypgNUPdEjmGh/p5ti0W+QiRD9pWhDXBinUihqY0ILa49aehleIxtxGVaI6p6uNhjMtAbLPraXOokO9Mlh3L2Tkc6IodpUqonRJqAegkPTVfgS3xGl+3OO0Tn/eSG2q02f0gCBHa1NdodxyoSAM/ixg7BSpM1oqzrv3mp3CAwD6IisJyOXRpQRsr3sI6Lj+STdW1fkYq9C3pbI7pKlH4La7x5cbLLf614rzPcKSCGqZ4DoLFmWHexi07/NuIaa9Syb4vatl4irMJnfHTvfcr8EayeuVck7VO6Gn8+69jRtqSZHat1RywURYegn0BQealxwwKZwvwOceTXV3lzamZgPkerE0XnAbVbESIqQ6XSCBQdZdRV/jnsnipGslvFv6Ol/0EdLhABHdoGBndFUlcoOfT6OgUGM4Isiqw3BsUCHJlcThXZkZd8//3cESrBHWTejbO0wc17e3JK4NiJENHKZOxLa3pC6T9TNkB2BCpveHeYLo9YcZA7Rb9gVqV60k7pd7an5dU6hlXhMSxciTNYRxxQiFUTERlBATxZRVtVSYfk3M7lJjdrTaWNFcGA+vvSIPNBd2RNbflxx4sb0qWrBu32RALAssDLOEEX0QGxEuJXpFIDqC7/ejFEX7eiPoPnC0heg4vt+PXFx0Cyna8eTjw01JCN8f6l3C6FDPEs6PQLqPCgQHK6tk+hhfnMKsmqweHBUPe0T/Wpne7JemPp3kzVuuI4XGXh8bTB/wcRMLEbk9UYIntTeKEjKX+ThVjNfFMBG5A63InvSVrQhCxwZBOVCR1Ii0naUgPCEGT54krdZJQqKkrQPaZqe4fzEidtxjGtDInlBBWNWCMLEgSCs1ktAmKKtbUWDWBo02saCZoiwdhzYyIIspAxpZFACPsKoFwRXukVZqJFkcPMrqVhSYtUGjhS2NMMgIR0yVS7BKZxBnjyCt1kny1BG0NS5NKIC0dm8+A8mr4kSVQ50B6UBlZRiI2NarUTyj+jScsKZHIYO5vgqVxT7gCfImiZnrFUUcU80F3Ym1LenKjy5FFbL8aLgFIiZoVZyopLQr0sTCiuAyEollEbznRX8UI9fkQKUnghZmdSuU0rdWR0RUrWhB9RQOtMD7IZTp0nofrQV6hOan6+pWVJh5RCuaUh+RHdkVviGrW1FhzxzRiqZkCw7lF0yIWe6twDj09aEEXRFHi3l9Iby/ist1pGD1saq3y3vt5tE61u/ddlWDZqw1lzzbqn5Dt8bnOszG1Yjhjevn2sowENu4YYrauGGcv3EFMrpxBUptXB/wVPibbb2i/I+NG6eHN25QBPxoHG7jasTwxh2XOdUfXCozPT9XRNGR/RzgPed6Ihh/446H03KtjohtXJ2qNq6O90MY3TDRY3OtoodpkY0bo4Y2bowW27jBMRyS7W/cGDW0cWO02MYNb3Xdcu/cnlg4bN8yECUHXcvKKCHUs2wQFKVMuBFtFdZEGDTiqggxYmp/jOTH/nBlaUWc5rczsDwxGwX3mgiDRlwVIUYWqz9G8tcwQEfzbEWcJvByZQ7bpQxEyUGPsjJKCHUoR7kUlRyHXfF1rZiCdV/fihxa/SND9MMs8ZoWLP5qrm1BDNYtLP0wi7OmBYu/DmtbEIOIh+Nz2Liva8UURH99K3JoDTaot6F3eJ/OcKbHytWasLzWkM/o2vY7lWY9OV+s1ZfUF4rTjrzdbJYaXVPl5qQPLZkVcxTYPS2fYfkINjXrTM25YuYGaodRxRZci7yHh9N4qlhzqvvwfKnifXC27ky5oljZvRmt7SzNVHClOe/Uqsx7n2jeEyWf1m12DnrHar8E/DgVyuXSQh0eAY0HT35DCHhSJRBniCcZ8AhuXRjl7hB1e5l3Ko2aEyGH7z6BHBY4Xj3kvU+0PoSK3NTClDUh+sSCRuySDwRdwPNzWfBMC6wNYUBdX+ThIETCRy7Wg0c1y7XnkjJG/cETvVwoxH3+A9bQw6IB/7ZcI/SEH4PCQ2RAhbhWuCj/eUsILx++qrWVQGxt5VOv0FIKRGQpwyiITpd8mqriGTwSVNGLPDNV0VPIcPQGivNuJ1cvVqb3+lfy/XnvbdDQ5xJ6PTj47IN8d1fh1OcbBLZTYOHjDwMAiL/wO7M9Chl6S74V35IoT7dO752ulsv6nIVys77Xe5EsPhjglgkwPKlfvp2sf3RhBbzLrH+uoFt/97k/hAihB8LoSADiqFURVITUJ0nap1YkUn97vFcJCC3f6iguaomihT50oVChN+0jqKhxrSxerSEjH/jRaYGaNTop8na+8D8kaEUIEcYPhPFhCcvDBD+QSwU2cH+dgGHN49J7BDnyGYVVEVREZZcgqQ2xTEE+ZnkY0wIbD4BM+ZCjrfaAIPj53u+D0U/hSEf96C8P4BB2rY6NyFgRokayIoT3Iy3djxsafD7LB8MR7wuwoTwPkMEHnGAdIh/jWqMhI/rX60RtsgxR8FGRFQEcrR8hEeFcCUtuqM/7+KhQoTmMfasOb5pUKb+REq6jbh33vmOyF0ZZlb2PqZw036zLO9VysTJ3klu6vTfcuqarjfqQgpYIyFLgUgnaCu4GOKUQyxQirTA9PiajUL0BKqtwfSEcb8HI4/KycbZsCzYesy0TY8rEZWVayMrEZWVjTNk4E9fjldZZ0jGb0nGb0i1sSsdtSsdsSsdtSsdsyugsmZicTFxOJiYnq7NkYyxcy6eUxpDS45OKxScVj0+qRXxS8fikYvFJxeOTisUnpccnFYtPKh6fVCw+KT0+qVh8Unp80hpDWrclHbMlHbclHbMlrduSjtmS1m3JaAwZXUYmJiOjy8hqDFmdwYdl/bGjZFvLF1vPFzuWL3Y8X+wW+WLH88WO5Ysdzxc7li+2ni92LF/seL7YsXyx9XyxY/li6/lia/li6/lix/LFjueLHcsXW88XO5Yvtp4vtpYvtp4vdixfbD1fbC1fbD1fbC1fUlFySotHSo9HKhaPVDweqVg8Uno8UrF4pPR4pLR4pPR4pGLxSOnxSGnxSOnxSGnxSEfJac2GtG5DOmZDWrchrdmQ1m1IazZkouSMNj+jz89o87NRclYj+6DoX6wI0YrWD0urH5ZeP6xY/bDi9cNqUT+seP2wYvXDitcPK1Y/LL1+WLH6YcXrhxWrH5ZeP6xY/bD0+mFp9cPS64cVqx9WvH5Ysfph6fXDitUPS68fllY/LL1+WLH6Yen1w9Lqh6XXD0urH1a0flha/bD0+mHF6ocVrx9WrH5Yev2wYvXD0uuHpdUPS68fVqx+WHr9sLT6Yen1w9LqhxWtH5ZWPyy9flix+mHp9cPS6oel1w9Lqx9WtH5YWv2w9PphafXDitYPS6sfVrR+2BGiHc0HW8sHW88HO5YPdjwf7Fg+2Ho+2LF8sPV8sLV8sPV8sGP5YOv5YGv5YOv5YGv5YEfzwdbywdbzwY7lg63ng63lg63ng63lgx3NB1vLB1vPB1vLBzuaD7aWD3Y0H1IRYirqf0rzP6X7n4r5n9L9T2n+p3T/U5r/qaj/Kc3/lO5/SvM/FfU/pfmfivqfjhDTUd1pTXda153WdKejutOa7nRUdyZCzETnZrS5mejcbISYjRIDSLwRUyyfJL6rIz+qF0F1Bb8GM1+dXiJ+scT7LQJn2gW795Vq9UajWnGmZsW3ezrVt3pdvklPk/yRDw9i4hvm4kr8Mod31R3+TRIPsST4VRHBKX4bRFyJX0fxrqj3SyUCJZ7/eFft8gvzQqf/yyMe1Bcy10dS7zdRvAvvk8/iZ0s8YGnot1g8uAN+pEXIlz+S4l0uCzu4capYF0UumCZQS3xXJej7K8DlutMC2xv1XE703ZegHwMBdqlASKIfDQEuDUIirYzERc5XcRDQgHywFn/stiywHn5LpT/qj0K3yW9si1epIPoVb9/6k6YWl4UBwZwY37KJNCulwcHBYW8cKowU5JjLwDgIowVjCvjUmIcR+Ec4jCMwwvwRNR/k54E/D/Q80PMgNwdyciAnJ/QMDlmKD/B5LvF2BsacHFNpOQ6PSr5R0DMKckdBzijoG1X2gD95sHMU9BQUP9BHgV4YlHoKI3JMSzusIdAzXJB4PibHjAV0JRf0F0B/AeaNgb0FxQd6C6B3DOaNgT4b7BtT8R+DuGVhHILRhjENfGqEOI0A/4jKhxyMMH9EzQf5eeDPAz0P9DzIzYGcHMjJjUp708Ownoof6Plh8CcL66lGWP8U+JtV6wF6R0HPKMgbBf2jyj7wLw92j4K+guJXeQL0whCsK+RTOgvrBnZnbICVHNBXAH0FsGcM7CsoPtBTAD1jMG8M5Ntgz9hwnzuOZLMp9SffcNGQPsGbZQ1mZZalhgZhHILRglFanRqEcVjxpWBMAx3wg2p+BsYsjBzGYeAbBXgE4DzAORgVrPgKMIK9FuizQJ8F9lrKXuC3wE4L7LTAHgvss8AuS9ml5IN+C+yzwK5BxafsVv4rPWDvIMgfBH2DoGcQ5FjKPtA3CPYPqxHmD4OeEcCPwLwc+J8DfA74c8CfB/oo6C0AX0HBhaWwjurHWgDORWHLp8t5Nsi1Ie42yLUh7mmVJ4oOcbEhTmmYn1Z0sBt2bcoG+2yIcxriaYNfaVgXqNopW8GKD+JjQ1xToC8F+lJgb0rZC/wpsBNOgVQK7IHqkUqBXSlll5IP+lNgXwrsSis+ZbfyX+kBe6H6p6BauD00jCAnpewDfWmVHyrOMG8Y+EcAPwL8OfA7B/gc8OeAPw98o2BvAfgKCh5bCusczQvb1mAtj+yMBmc1mGvwcBROj2r0EQ3W8tQei8Ipzd6UZk9K05/S9KfyGqzpTxU0/UPqZ45E3Oxhuc62PBUHbYizDV2JLbuXQVueNtYgH4RxCEYLRhvGFIxpGDMwqvkcxmE5ZmXeD8rT1B0tGEFeFuRlQV4W5GVBXhbkZYcZ/KDLZFli5A6zspk8jDKTB2U/YA3CiWBnC4AHz6DSFuTOtAZz6S7xAYZ5t2dvFGuLyUKzVpUkNSUHQciBsUqFbAndcQTGPNDBiRwEMQf8I+BMDoIzouYBfgTkycWy4Mh2Rxkce2Ssy+2Dg58FENgheYRYFpR61yFS9L6u31xoF6P4hBETl943v+SV92UveTVZbcwymDBd6fSvJuuOkJuGVEhDKqTdVHCp3vexAU7DmIEx2wbUhRCXTESXOgZjAcZRUt4XlpaDcQTGYVJrhOWAtmHQJguPO3IYh2GE+cMgbzgP4yiMoH94jJQb4gvkbeKVTM/JUVDzY3hKfslZgAUwXvbk7gihGYXQyB7OHcE42FXpUXB+FIwfA3hMwcA/Bvx5MDIPRufBqXyhvbrgVOTvTbBSZX9wFTZzFHwfBd8LYG5BmQtiR0HNKMRiFNzLgzmyRbZysolyRwVzGJVZEPsc6IG8T48U4JvJNWeqAShQOTLGJGmyehAwahLEUp4grhJwZgRiNgIxg02WHoGYweZKw+ZJj6h5KgjAVwC+AvAVgK8AfGPgxBjYMwb2jMHajik+COIYeDRWII1aqTjTXIAgZCQ8XYEgqeCAnBzYk1NrDfoKILcA+ALIrTXkWN4H88COPMQDilM6pxYDFjUP9ucUH/idU4sN9hSAXgD+gsKrXIV5YzBvDOI2BvoysB5p8CsN89Lgdwbmp8GvNMxPg99Qx9MZ0JtR88CutJIPdBvoQ2CvBXoHwe8hsDMF8i2AhxQM9gyCPRbgUyAno+xX+kFPCvhTIC8L62CDXUMwDgJ9EOTCSZbOgn2DSj/Mz0I8BkHfINiRBT4b+IYUv/JH+Q16U0C31KjwINcC+22AbQWDfzbYkVKjWg+wOwP8GeU/rEMW+LIgJ6viCeuagvlwsqctwA/B/EGAB5U8iH9W4SF+g2AXdArpQeAbBBg6iXRW+QV0KFrpIcWv/AX5luJT9oI8C+y2AbYVDP7ZsD4pNYKcDOhLg7y0ooN/NtDh+E6rOjek8hfwKeCzVdwUH8izwA9oEtIZtf9g/dNqfwKcAf602h9q/yh7lH1At0DukFp30J8B/+Wdi5UZGsb7nPli2Ul6L23iqwNJ7xsDbeKLAgS+HyCYs7BJsmDsECTxECT/ENCH1MkDTuYgaXKwWDnYDDkwMgcnV06dXFAUcnBC5aBY5qA45KAI5CCoOVjsHDibyyv56jACOyCJcnmYN6ToIB+KSQ42W25I2a38AXsg2DlL6QG7hgod8JFD7+OHAsdhY3AoKBw2PIdCwaHgcPCNwwJyKBQcCjeHws8hATic+nwYRrCBwwbn0PTwERih8PE8jFzpBTsgUTlsdA5NDYcDj8MBwaE54tDBcVgrDjnB4cDmcMBzKMwc1pZz5XcO9MMIhZJDYeZwYHM4MDlsDA7dEYcOkcMacNgoHBoCDg0Eh8LKISc4V3phHeAA4FAIOTQMHA58DgcXhyaRD8MIucXh4ONw8HJogDgUYA4HNedq3dMwjoIdMEJB51AAOTQoHBoNDgcwh+6PQ0fMIVc5FHgODQiHlo3DwcehOeVc6QU74EDhUIA5NLccGg8OBymHJphDJ89h73I46Dk0IhwaPQ4HF4e9y7nyexj0wwiFmMOByaFh4dDwcCjAfBRGuFPgUAM4NCgcGkMOjSSHws6hCedc6YV9CAcBhwOPQ+PIoQvm0OBwuFngwzBCjeBQSDl05xwaYQ6NC4fGkHO17y0YMzAWwB4Y4YDi0GjwMRihIeRQsDl0/RzuhDjUPg4HPS/ACHelHA5wnoeRK71gBxyQHA5mDjc1PAcjNHAcbo443MFxqIkcGkhegBEafA4HMYfazrnyewT0wwiNC4dGikODyuHunEPDyeHuiMMdIofaz+Fg43BDwOEGgkMjxKHWc670wjpA48Sh8eFww8DhqQGHxpHDTSIfhhHONA4HMofGm8MNEIeDmUMDz7la9xSMebADRmhkODRMHG5QODyV4NCIcLj743BHzOFM5dCAc7gB4SMwQgPH4WaUc6UX7IAGi0PDxuHmlsMNCYcbAQ43wRyeBHA4wzk02hxuNDjc6HFopHgeRq785qAfRmikODTYHG5IONwIcWiA+CiM8KSAwxnMoVHjcGPI4UaSQ+PFoXfgXOmFcxhuQDg0wBxuHDncBXO48eHwsIAPwwhnPocbHA535xyeNnFoEDncMHL5SG7QzsKjPFlfBy14hGfBI1QL3oCy4RG/DY/8bXjUb8OjfRve4rDheZENbyHY8NaBDW+52PAWiA1vUdjwloVt8U7QI96JBSAbBnJhwAoD+TCQCQMjYSAVAoaktA7/PeCpxe7QtSD+PzXnEgl4nG2KaVOSYRSG3xcEyczMCnlluUFBhCcU4QkEocilRSpEfJAHbLOF9oX2/a2ZZvyi4ww/wy/Qp/oRfOgXnWAGm2qcM3Of61znztDXU4Qv6Sr0NOFzivApWcfHJOHDLOF9MoF3CcLbmTrezBBexwiv4rt4GSe8OEl4HkmjFtHxLEJ4GiU84YTH4RoehQkPwy08mCbcnyLcm2rh7mQd1UnCnUkdt0M6boUIN9t7I1TEjRBw/QThGiviKiNcYTWsBwiVIKEc1CEDUyhNENb8LRT9BOEjrI4TCr40Vrw68l7CsreInJfjsteNS2OEi6N1ZEcJSx7CBU8O5z0hnPO4cNZNWHRzLLgI86DML8xBxxknIeMgnHboSKeqSCWXMJusYSZWRzzGwaM5RCOLmA7nwAIcwYCOgNOurU/Yh+DXRrT18ZZP+Ext8GqEMe0YRj06PFaC22YFdl3CNUxwVh3C0XZ2rmkVW8q6URnp0HCHjmsL1rXyUT4kjvBBMSQH5SHeL0y8R/TLHnk4MSAO8j7Ry81C5YoYkH3SLBV5gFuEkRuERRrkoGLMZEzqT3VHWWXZH720km1YlisNdbPhK3Qyky83zJsNRZQrpaaqbstvW1uKcy7b2CmUvhuVNsqmwTCfLzV7jNtyTmEKY0zpDuvyXqp/Tfet7rU7xP7xXWJ/7v/UPnLfFrP9BvOls3wAAA==") format("woff2");}';class Random{constructor(e){this.seed=e}next(){return this.seed?(2**31-1&(this.seed=Math.imul(48271,this.seed)))/2**31:Math.random()}}var commonjsGlobal="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},lzStringExports={},lzString={get exports(){return lzStringExports},set exports(e){lzStringExports=e}};function splitFolderAndFilename(e){const A=e.lastIndexOf("/"),t=-1==A?e:e.substring(A+1);return{folderpath:obsidian_module.normalizePath(e.substring(0,A)),filename:t,basename:t.replace(/\.[^/.]+$/,"")}}!function(e){var A=function(){var e=String.fromCharCode,A="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$",i={};function n(e,A){if(!i[e]){i[e]={};for(var t=0;t>>8,t[2*i+1]=r%256}return t},decompressFromUint8Array:function(A){if(null==A)return a.decompress(A);for(var t=new Array(A.length/2),i=0,n=t.length;i>=1}else{for(n=1,i=0;i>=1}0==--d&&(d=Math.pow(2,u),u++),delete s[c]}else for(n=r[c],i=0;i>=1;0==--d&&(d=Math.pow(2,u),u++),r[l]=h++,c=String(o)}if(""!==c){if(Object.prototype.hasOwnProperty.call(s,c)){if(c.charCodeAt(0)<256){for(i=0;i>=1}else{for(n=1,i=0;i>=1}0==--d&&(d=Math.pow(2,u),u++),delete s[c]}else for(n=r[c],i=0;i>=1;0==--d&&(d=Math.pow(2,u),u++)}for(n=2,i=0;i>=1;for(;;){if(p<<=1,m==A-1){g.push(t(p));break}m++}return g.join("")},decompress:function(e){return null==e?"":""==e?null:a._decompress(e.length,32768,(function(A){return e.charCodeAt(A)}))},_decompress:function(A,t,i){var n,a,r,s,o,l,c,d=[],h=4,u=4,g=3,p="",m=[],w={val:i(0),position:t,index:1};for(n=0;n<3;n+=1)d[n]=n;for(r=0,o=Math.pow(2,2),l=1;l!=o;)s=w.val&w.position,w.position>>=1,0==w.position&&(w.position=t,w.val=i(w.index++)),r|=(s>0?1:0)*l,l<<=1;switch(r){case 0:for(r=0,o=Math.pow(2,8),l=1;l!=o;)s=w.val&w.position,w.position>>=1,0==w.position&&(w.position=t,w.val=i(w.index++)),r|=(s>0?1:0)*l,l<<=1;c=e(r);break;case 1:for(r=0,o=Math.pow(2,16),l=1;l!=o;)s=w.val&w.position,w.position>>=1,0==w.position&&(w.position=t,w.val=i(w.index++)),r|=(s>0?1:0)*l,l<<=1;c=e(r);break;case 2:return""}for(d[3]=c,a=c,m.push(c);;){if(w.index>A)return"";for(r=0,o=Math.pow(2,g),l=1;l!=o;)s=w.val&w.position,w.position>>=1,0==w.position&&(w.position=t,w.val=i(w.index++)),r|=(s>0?1:0)*l,l<<=1;switch(c=r){case 0:for(r=0,o=Math.pow(2,8),l=1;l!=o;)s=w.val&w.position,w.position>>=1,0==w.position&&(w.position=t,w.val=i(w.index++)),r|=(s>0?1:0)*l,l<<=1;d[u++]=e(r),c=u-1,h--;break;case 1:for(r=0,o=Math.pow(2,16),l=1;l!=o;)s=w.val&w.position,w.position>>=1,0==w.position&&(w.position=t,w.val=i(w.index++)),r|=(s>0?1:0)*l,l<<=1;d[u++]=e(r),c=u-1,h--;break;case 2:return m.join("")}if(0==h&&(h=Math.pow(2,g),g++),d[c])p=d[c];else{if(c!==u)return null;p=a+a.charAt(0)}m.push(p),d[u++]=a+p.charAt(0),a=p,0==--h&&(h=Math.pow(2,g),g++)}}};return a}();null!=e&&(e.exports=A)}(lzString);const download=(e,A,t)=>{const i=document.createElement("a");i.setAttribute("href",(e?`${e},`:"")+A),i.setAttribute("download",t),i.style.display="none",document.body.appendChild(i),i.click(),document.body.removeChild(i)};function getIMGFilename(e,A){return`${e.substring(0,e.lastIndexOf("."))}.${A}`}function getNewUniqueFilepath(e,A,t){let i=obsidian_module.normalizePath(`${t}/${A}`),n=e.getAbstractFileByPath(i),a=0;const r=A.endsWith(".excalidraw.md")?".excalidraw.md":A.slice(A.lastIndexOf("."));for(;n;)i=obsidian_module.normalizePath(`${t}/${A.slice(0,A.lastIndexOf(r))}_${a}${r}`),a++,n=e.getAbstractFileByPath(i);return i}function getDrawingFilename(e){return e.drawingFilenamePrefix+(""!==e.drawingFilenameDateTime?window.moment().format(e.drawingFilenameDateTime):"")+(e.compatibilityMode?".excalidraw":e.useExcalidrawExtension?".excalidraw.md":".md")}function getEmbedFilename(e,A){return(A.drawingEmbedPrefixWithFilename?e:"")+A.drawingFilnameEmbedPostfix+(""!==A.drawingFilenameDateTime?window.moment().format(A.drawingFilenameDateTime):"")+(A.compatibilityMode?".excalidraw":A.useExcalidrawExtension?".excalidraw.md":".md")}async function checkAndCreateFolder(e){const A=app.vault;e=obsidian_module.normalizePath(e);const t=A.getAbstractFileByPathInsensitive(e);t&&t instanceof obsidian_module.TFolder||(t&&t instanceof obsidian_module.TFile&&new obsidian_module.Notice(`The folder cannot be created because it already exists as a file: ${e}.`),await A.createFolder(e))}const getURLImageExtension=e=>{const A=e.split("?")[0];return A.substring(A.lastIndexOf(".")+1)},getMimeType=e=>{switch(e){case"png":return"image/png";case"jpeg":case"jpg":return"image/jpeg";case"gif":return"image/gif";case"webp":return"image/webp";case"bmp":return"image/bmp";case"ico":return"image/x-icon";case"svg":case"md":return"image/svg+xml";default:return"application/octet-stream"}},getFileFromURL=async(e,A,t=1e3)=>{try{return await Promise.race([(async()=>new Promise((e=>setTimeout((()=>e(null)),t))))(),obsidian_module.requestUrl({url:e,method:"get",contentType:A,throw:!1})])}catch(A){return void errorlog({where:getFileFromURL,message:`URL did not load within timeout period of ${t}ms`,url:e})}},getDataURLFromURL=async(e,A,t=1e3)=>{const i=await getFileFromURL(e,A,t);return i&&200===i.status?await getDataURL(i.arrayBuffer,A):e},{exportToSvg:exportToSvg,exportToBlob:exportToBlob}=excalidrawLib;let versionUpdateChecked=!1;const checkExcalidrawVersion=async e=>{if(!versionUpdateChecked){versionUpdateChecked=!0;try{const e=async()=>JSON.parse(await obsidian_module.request({url:"https://api.github.com/repos/zsviczian/obsidian-excalidraw-plugin/releases?per_page=5&page=1"})),A=(await e()).map((e=>({version:e.tag_name,published:new Date(e.published_at)}))).filter((e=>e.version.match(/^\d+\.\d+\.\d+$/))).sort(((e,A)=>A.published-e.published))[0].version;isVersionNewerThanOther(A,PLUGIN_VERSION)&&new obsidian_module.Notice(`A newer version of Excalidraw is available in Community Plugins.\n\nYou are using ${PLUGIN_VERSION}.\nThe latest is ${A}`)}catch(e){errorlog({where:"Utils/checkExcalidrawVersion",error:e})}setTimeout((()=>versionUpdateChecked=!1),288e5)}};function wrapTextAtCharLength(e,A,t=!1,i=0){if(!A)return e;let n="";if(t){for(const t of e.split("\n")){const e=t.match(new RegExp(`(.){1,${A}}`,"g"));n+=e?`${e.join("\n")}\n`:"\n"}return n.replace(/\n$/,"")}const a=new RegExp(`(.{1,${A}})(\\s+|$\\n?)|([^\\s]{1,${A+i}})(\\s+|$\\n?)?`,"gm"),r=e.matchAll(a);let s;for(;!(s=r.next()).done;){n+=s.value[1]?s.value[1].trimEnd():s.value[3].trimEnd();const e=(s.value[2]?s.value[2].split("\n").length-1:0)+(s.value[4]?s.value[4].split("\n").length-1:0);n+="\n".repeat(e),0===e&&(n+="\n")}return n.replace(/\n$/,"")}new Random(Date.now());const rotate$1=(e,A,t,i,n)=>[(e-t)*Math.cos(n)-(A-i)*Math.sin(n)+t,(e-t)*Math.sin(n)+(A-i)*Math.cos(n)+i],rotatedDimensions=e=>{if(0===e.angle)return[e.x,e.y,e.width,e.height];const A=e.x+e.width/2,t=e.y+e.height/2,[i,n]=rotate$1(e.x,e.y,A,t,e.angle),[a,r]=rotate$1(e.x+e.width,e.y+e.height,A,t,e.angle);return[i{const s=1/t.value;return{x:(e-i)*s-a,y:(A-n)*s-r}},getDataURL=async(e,A)=>new Promise(((t,i)=>{const n=new FileReader;n.onload=()=>{const e=n.result;t(e)},n.onerror=e=>i(e),n.readAsDataURL(new Blob([new Uint8Array(e)],{type:A}))})),getFontDataURL=async(e,A,t,i)=>{let n="",a="",r="";const s=e.metadataCache.getFirstLinkpathDest(A,t);if(s){const A=await e.vault.readBinary(s),t=s.extension.startsWith("woff")?"application/font-woff":"font/truetype";a=null!=i?i:s.basename,r=await getDataURL(A,t),n=` @font-face {font-family: "${a}";src: url("${r}") format("${"ttf"===s.extension?"truetype":s.extension}");}`;const o=n.split(";base64,",2);n=`${o[0]};charset=utf-8;base64,${o[1]}`}return{fontDef:n,fontName:a,dataURL:r}},svgToBase64=e=>`data:image/svg+xml;base64,${btoa(unescape(encodeURIComponent(e.replaceAll(" "," "))))}`,getBinaryFileFromDataURL=e=>{if(!e)return null;const A=e.matchAll(/base64,(.*)/g).next(),t=window.atob(A.value[1]),i=t.length,n=new Uint8Array(i);for(let e=0;e{var i;try{return await exportToSvg({elements:e.elements,appState:Object.assign({exportBackground:A.withBackground,exportWithDarkMode:!!A.withTheme&&"light"!=(null===(i=e.appState)||void 0===i?void 0:i.theme)},e.appState),files:e.files,exportPadding:t})}catch(e){return null}},getPNG=async(e,A,t,i=1)=>{var n;try{return await exportToBlob({elements:e.elements,appState:Object.assign({exportBackground:A.withBackground,exportWithDarkMode:!!A.withTheme&&"light"!=(null===(n=e.appState)||void 0===n?void 0:n.theme)},e.appState),files:e.files,exportPadding:t,mimeType:"image/png",getDimensions:(e,A)=>({width:e*i,height:A*i,scale:i})})}catch(e){return errorlog({where:"Utils.getPNG",error:e}),null}},getQuickImagePreview=async(e,A,t)=>{if(!e.settings.displayExportedImageIfAvailable)return null;const i=getIMGFilename(A,t),n=e.app.vault.getAbstractFileByPath(i);return n&&n instanceof obsidian_module.TFile?"png"===t?await e.app.vault.readBinary(n):await e.app.vault.read(n):null},embedFontsInSVG=(e,A)=>{const t=null!=e.querySelector("text[font-family^='Virgil']"),i=null!=e.querySelector("text[font-family^='Cascadia']"),n=null!=e.querySelector("text[font-family^='LocalFont']"),a=e.querySelector("defs");return a&&(i||t||n)&&(a.innerHTML=``),e},getImageSize=async e=>new Promise(((A,t)=>{const i=new Image;i.onload=()=>{A({height:i.naturalHeight,width:i.naturalWidth})},i.onerror=t,i.src=e})),scaleLoadedImage=(e,A)=>{let t=!1;if(!A||!e)return{dirty:t,scene:e};for(const i of A){const[A,n]=[i.size.width,i.size.height],a=i.size.width/i.size.height;e.elements.filter((e=>"image"===e.type&&e.fileId===i.id)).forEach((e=>{const[r,s]=[e.width,e.height];if(i.shouldScale){if(a!=r/s){t=!0;const i=Math.sqrt(r*s*n/A),a=Math.sqrt(r*s*A/n);e.height=i,e.width=a,e.y+=(s-i)/2,e.x+=(r-a)/2}}else r===A&&s===n||(t=!0,e.height=n,e.width=A,e.y+=(s-n)/2,e.x+=(r-A)/2)}))}return{dirty:t,scene:e}},setDocLeftHandedMode=(e,A)=>{const t=A.createElement("style");t.id="excalidraw-left-handed",t.textContent=".excalidraw .App-bottom-bar{justify-content:flex-end;}";const i=A.getElementById(t.id);i&&A.head.removeChild(i),e&&A.head.appendChild(t)},setLeftHandedMode=e=>{const A=new Set;app.workspace.iterateAllLeaves((t=>{const i=app.isMobile?document:t.view.containerEl.ownerDocument;i&&(A.has(i)||(A.add(i),setDocLeftHandedMode(e,i)))}))},getLinkParts=(e,A)=>{var t;const i=e.match(/(^[^#\|]*)#?(\^)?([^\|]*)?\|?(\d*)x?(\d*)/);return{original:e,path:A&&""===i[1]?A.path:i[1],isBlockRef:"^"===i[2],ref:null===(t=i[3])||void 0===t?void 0:t.replaceAll(REG_BLOCK_REF_CLEAN,""),width:i[4]?parseInt(i[4]):void 0,height:i[5]?parseInt(i[5]):void 0}},compress=e=>lzStringExports.compressToBase64(e).replace(/(.{64})/g,"$1\n\n"),decompress=e=>lzStringExports.decompressFromBase64(e.replaceAll("\n","").replaceAll("\r","")),hasExportTheme=(e,A)=>{if(A){const t=e.app.metadataCache.getFileCache(A);if((null==t?void 0:t.frontmatter)&&null!=t.frontmatter["excalidraw-export-dark"])return!0}return!1},getExportTheme=(e,A,t)=>{if(A){const t=e.app.metadataCache.getFileCache(A);if((null==t?void 0:t.frontmatter)&&null!=t.frontmatter["excalidraw-export-dark"])return t.frontmatter["excalidraw-export-dark"]?"dark":"light"}return e.settings.exportWithTheme?t:"light"},hasExportBackground=(e,A)=>{if(A){const t=e.app.metadataCache.getFileCache(A);if((null==t?void 0:t.frontmatter)&&null!=t.frontmatter["excalidraw-export-transparent"])return!0}return!1},getWithBackground=(e,A)=>{if(A){const t=e.app.metadataCache.getFileCache(A);if((null==t?void 0:t.frontmatter)&&null!=t.frontmatter["excalidraw-export-transparent"])return!t.frontmatter["excalidraw-export-transparent"]}return e.settings.exportWithBackground},getExportPadding=(e,A)=>{if(A){const t=e.app.metadataCache.getFileCache(A);if(!(null==t?void 0:t.frontmatter))return e.settings.exportPaddingSVG;if(null!=t.frontmatter["excalidraw-export-padding"]){const e=parseInt(t.frontmatter["excalidraw-export-padding"]);if(!isNaN(e))return e}if(null!=t.frontmatter["excalidraw-export-svgpadding"]){const e=parseInt(t.frontmatter["excalidraw-export-svgpadding"]);if(!isNaN(e))return e}}return e.settings.exportPaddingSVG},getPNGScale=(e,A)=>{if(A){const t=e.app.metadataCache.getFileCache(A);if((null==t?void 0:t.frontmatter)&&null!=t.frontmatter["excalidraw-export-pngscale"]){const e=parseFloat(t.frontmatter["excalidraw-export-pngscale"]);if(!isNaN(e)&&e>0)return e}}return e.settings.pngExportScale},isVersionNewerThanOther=(e,A)=>{const t=e.match(/(\d*)\.(\d*)\.(\d*)/),i=A.match(/(\d*)\.(\d*)\.(\d*)/);return Boolean(t&&4===t.length&&i&&4===i.length&&!(isNaN(parseInt(t[1]))||isNaN(parseInt(t[2]))||isNaN(parseInt(t[3])))&&!(isNaN(parseInt(i[1]))||isNaN(parseInt(i[2]))||isNaN(parseInt(i[3])))&&(parseInt(t[1])>parseInt(i[1])||parseInt(t[1])>=parseInt(i[1])&&parseInt(t[2])>parseInt(i[2])||parseInt(t[1])>=parseInt(i[1])&&parseInt(t[2])>=parseInt(i[2])&&parseInt(t[3])>parseInt(i[3])))},getEmbeddedFilenameParts=e=>{const A=null==e?void 0:e.match(/([^#\^]*)((#\^)(group=|area=|taskbone)?([^\|]*)|(#)(group=|area=|taskbone)?([^\^\|]*))(.*)/);return A?{filepath:A[1],hasBlockref:Boolean(A[3]),hasGroupref:"group="===A[4]||"group="===A[7],hasTaskbone:"taskbone"===A[4]||"taskbone"===A[7],hasArearef:"area="===A[4]||"area="===A[7],blockref:A[5],hasSectionref:Boolean(A[6]),sectionref:A[8],linkpartReference:A[2],linkpartAlias:A[9]}:{filepath:e,hasBlockref:!1,hasGroupref:!1,hasTaskbone:!1,hasArearef:!1,blockref:"",hasSectionref:!1,sectionref:"",linkpartReference:"",linkpartAlias:""}},fragWithHTML=e=>createFragment((A=>A.createDiv().innerHTML=e)),errorlog=e=>{console.error(Object.assign({plugin:"Excalidraw"},e))},sleep$1=async e=>new Promise((A=>setTimeout(A,e))),log=console.log.bind(window.console);console.log.bind(window.console);const getContainerElement=(e,A)=>{var t;return e&&e.containerId&&null!==(t=A.elements.filter((A=>A.id===e.containerId))[0])&&void 0!==t?t:null},updateFrontmatterInString=(e,A)=>{if(!e)return e;for(const t of A){const A=new RegExp(`${t[0]}:\\s.*\\n`,"g");e=e.match(A)?e.replaceAll(A,`${t[0]}: ${t[1]}\n`):e.replace(/^---\n/,`---\n${t[0]}: ${t[1]}\n`)}return e},isHyperlink=e=>e&&!e.includes("\n")&&!e.includes("\r")&&e.match(/^https?:(\d*)?\/\/[^\s]*$/),hyperlinkIsImage=e=>{isHyperlink(e);const A=e.split("?")[0];return IMAGE_TYPES.contains(A.substring(A.lastIndexOf(".")+1))},hyperlinkIsYouTubeLink=e=>isHyperlink(e)&&(e.startsWith("https://youtu.be")||e.startsWith("https://www.youtube.com")||e.startsWith("https://youtube.com")||e.startsWith("https//www.youtu.be"))&&null!==e.match(/(youtu.be\/|v=)([^?\/\&]*)/),getYouTubeThumbnailLink=async e=>{const A=e.match(/(youtu.be\/|v=)([^?\/\&]*)/);if(!A||!A[2])return null;const t=A[2];let i=`https://i.ytimg.com/vi/${t}/maxresdefault.jpg`,n=await obsidian_module.requestUrl({url:i,method:"get",contentType:"image/jpeg",throw:!1});return n&&200===n.status?i:(i=`https://i.ytimg.com/vi/${t}/hq720.jpg`,n=await obsidian_module.requestUrl({url:i,method:"get",contentType:"image/jpeg",throw:!1}),n&&200===n.status?i:(i=`https://i.ytimg.com/vi/${t}/mqdefault.jpg`,n=await obsidian_module.requestUrl({url:i,method:"get",contentType:"image/jpeg",throw:!1}),n&&200===n.status?i:`https://i.ytimg.com/vi/${t}/default.jpg`))},labelCTRL=()=>DEVICE.isIOS||DEVICE.isMacOS?"CMD":"CTRL",labelALT=()=>DEVICE.isIOS||DEVICE.isMacOS?"OPT":"ALT",labelMETA=()=>DEVICE.isIOS||DEVICE.isMacOS?"CTRL":DEVICE.isWindows?"WIN":"META",labelSHIFT=()=>"SHIFT",isCTRL=e=>DEVICE.isIOS||DEVICE.isMacOS?e.metaKey:e.ctrlKey,isALT=e=>e.altKey,isMETA=e=>DEVICE.isIOS||DEVICE.isMacOS?e.ctrlKey:e.metaKey,isSHIFT=e=>e.shiftKey,mdPropModifier=e=>!isSHIFT(e)&&isCTRL(e)&&!isALT(e)&&isMETA(e),scaleToFullsizeModifier=e=>isSHIFT(e)&&!isCTRL(e)&&!isALT(e)&&isMETA(e)||!isSHIFT(e)&&isCTRL(e)&&isALT(e)&&!isMETA(e),linkClickModifierType=e=>isCTRL(e)&&!isALT(e)&&isSHIFT(e)&&!isMETA(e)?"active-pane":!isCTRL(e)||isALT(e)||isSHIFT(e)||isMETA(e)?isCTRL(e)&&isALT(e)&&!isSHIFT(e)&&!isMETA(e)?"new-pane":DEVICE.isDesktop&&isCTRL(e)&&isALT(e)&&isSHIFT(e)&&!isMETA(e)?"popout-window":isCTRL(e)&&isALT(e)&&isSHIFT(e)&&!isMETA(e)?"new-tab":mdPropModifier(e)?"md-properties":"active-pane":"new-tab",externalDragModifierType=e=>(isSHIFT(e)||!isCTRL(e)||isALT(e)||isMETA(e))&&(isSHIFT(e)||isCTRL(e)||isALT(e)||!isMETA(e))?(!isSHIFT(e)||isCTRL(e)||isALT(e)||isMETA(e))&&(isSHIFT(e)||isCTRL(e)||!isALT(e)||isMETA(e))?"image-url":"image-import":"insert-link",internalDragModifierType=e=>(!isSHIFT(e)||isCTRL(e)||isALT(e)||isMETA(e))&&(isSHIFT(e)||!isCTRL(e)||isALT(e)||isMETA(e))?scaleToFullsizeModifier(e)?"image-fullsize":"link":"image",emulateCTRLClickForLinks=e=>({shiftKey:e.shiftKey,ctrlKey:e.ctrlKey||!(DEVICE.isIOS||DEVICE.isMacOS),metaKey:e.metaKey||DEVICE.isIOS||DEVICE.isMacOS,altKey:e.altKey}),getParentOfClass=(e,A)=>{var t;let i=e.parentElement;for(;i&&!(i instanceof window.HTMLBodyElement)&&!i.classList.contains(A);)i=i.parentElement;return(null===(t=null==i?void 0:i.classList)||void 0===t?void 0:t.contains(A))?i:null},getLeaf=(e,A,t)=>{switch(linkClickModifierType(t)){case"active-pane":return A;case"new-tab":default:return(()=>{if(!e.settings.openInMainWorkspace)return app.workspace.getLeaf("tab");const[t,i]=getLeafLoc(A);return"main"===t?app.workspace.getLeaf("tab"):getNewOrAdjacentLeaf(e,A)})();case"new-pane":return getNewOrAdjacentLeaf(e,A);case"popout-window":return app.workspace.openPopoutLeaf()}},getLeafLoc=e=>{const A=e.id,t=app.workspace.getLayout(),i=e=>e.children.filter((e=>"leaf"!==e.type)).map((e=>i(e))).flat().concat(e.children.filter((e=>"leaf"===e.type)).map((e=>e.id))),n=i(t.main);return[t.main&&n.contains(A)?"main":t.floating&&i(t.floating).contains(A)?"popout":t.left&&i(t.left).contains(A)?"left":t.right&&i(t.right).contains(A)?"right":"hover",n]},getNewOrAdjacentLeaf=(e,A)=>{const[t,i]=getLeafLoc(A),n=()=>{var e;let t=app.workspace.getMostRecentLeaf();return t&&t!==A&&(null===(e=t.view)||void 0===e?void 0:e.containerEl.ownerDocument)===document||(t=null,i.forEach((e=>{var i;const n=app.workspace.getLeafById(e);!t&&(null===(i=n.view)||void 0===i?void 0:i.navigation)&&A!==n&&(t=n)}))),t};if(e.settings.openInMainWorkspace||["main","left","right"].contains(t)){if(!e.settings.openInAdjacentPane){if("main"===t)return app.workspace.createLeafBySplit(A);const e=n();return e?"empty"===e.view.getViewType()?e:app.workspace.createLeafBySplit(e):app.workspace.getLeaf(!0)}const i=n();return null!=i?i:app.workspace.getLeaf(!0)}if(!e.settings.openInAdjacentPane)return app.workspace.createLeafBySplit(A);if("hover"===t){const t=new Set;return app.workspace.iterateAllLeaves((e=>{e!==A&&A.containerEl.parentElement===e.containerEl.parentElement&&t.add(e)})),0===t.size?e.app.workspace.createLeafBySplit(A):Array.from(t)[0]}if("popout"===t){const e=new Set;return app.workspace.iterateAllLeaves((t=>{t!==A&&t.view.navigation&&t.view.containerEl.ownerDocument===A.view.containerEl.ownerDocument&&e.add(t)})),0===e.size?app.workspace.createLeafBySplit(A):Array.from(e)[0]}return e.app.workspace.createLeafBySplit(A)},getAttachmentsFolderAndFilePath=async(e,A,t)=>{let i=e.vault.getConfig("attachmentFolderPath");if(i&&i.startsWith("./")){const e=`${splitFolderAndFilename(A).folderpath}/`;i=obsidian_module.normalizePath(e+i.substring(2))}return i&&"/"!==i||(i=""),await checkAndCreateFolder(i),{folder:i,filepath:obsidian_module.normalizePath(""===i?t:`${i}/${t}`)}},isObsidianThemeDark=()=>document.body.classList.contains("theme-dark");var ar={},cz={},da={},de={},en={INSTALL_SCRIPT:"Install the script",UPDATE_SCRIPT:"Update available - Click to install",CHECKING_SCRIPT:"Checking for newer version - Click to reinstall",UNABLETOCHECK_SCRIPT:"Update check failed - Click to reinstall",UPTODATE_SCRIPT:"Script is up to date - Click to reinstall",OPEN_AS_EXCALIDRAW:"Open as Excalidraw Drawing",TOGGLE_MODE:"Toggle between Excalidraw and Markdown mode",CONVERT_NOTE_TO_EXCALIDRAW:"Convert empty note to Excalidraw Drawing",CONVERT_EXCALIDRAW:"Convert *.excalidraw to *.md files",CREATE_NEW:"Create new drawing",CONVERT_FILE_KEEP_EXT:"*.excalidraw => *.excalidraw.md",CONVERT_FILE_REPLACE_EXT:"*.excalidraw => *.md (Logseq compatibility)",DOWNLOAD_LIBRARY:"Export stencil library as an *.excalidrawlib file",OPEN_EXISTING_NEW_PANE:"Open existing drawing - IN A NEW PANE",OPEN_EXISTING_ACTIVE_PANE:"Open existing drawing - IN THE CURRENT ACTIVE PANE",TRANSCLUDE:"Embed a drawing",TRANSCLUDE_MOST_RECENT:"Embed the most recently edited drawing",TOGGLE_LEFTHANDED_MODE:"Toggle left-handed mode",NEW_IN_NEW_PANE:"Create new drawing - IN AN ADJACENT WINDOW",NEW_IN_NEW_TAB:"Create new drawing - IN A NEW TAB",NEW_IN_ACTIVE_PANE:"Create new drawing - IN THE CURRENT ACTIVE WINDOW",NEW_IN_POPOUT_WINDOW:"Create new drawing - IN A POPOUT WINDOW",NEW_IN_NEW_PANE_EMBED:"Create new drawing - IN AN ADJACENT WINDOW - and embed into active document",NEW_IN_NEW_TAB_EMBED:"Create new drawing - IN A NEW TAB - and embed into active document",NEW_IN_ACTIVE_PANE_EMBED:"Create new drawing - IN THE CURRENT ACTIVE WINDOW - and embed into active document",NEW_IN_POPOUT_WINDOW_EMBED:"Create new drawing - IN A POPOUT WINDOW - and embed into active document",EXPORT_SVG:"Save as SVG next to current file",EXPORT_PNG:"Save as PNG next to current file",EXPORT_SVG_WITH_SCENE:"Save as SVG with embedded Excalidraw Scene next to current file",EXPORT_PNG_WITH_SCENE:"Save as PNG with embedded Excalidraw Scene next to current file",TOGGLE_LOCK:"Toggle Text Element between edit RAW and PREVIEW",DELETE_FILE:"Delete selected image or Markdown file from Obsidian Vault",INSERT_LINK_TO_ELEMENT:`Copy markdown link for selected element to clipboard. ${labelCTRL()}+CLICK to copy 'group=' link. SHIFT+CLICK to copy an 'area=' link. ${labelALT()}+CLICK to watch a help video.`,INSERT_LINK_TO_ELEMENT_GROUP:"Copy 'group=' markdown link for selected element to clipboard.",INSERT_LINK_TO_ELEMENT_AREA:"Copy 'area=' markdown link for selected element to clipboard.",INSERT_LINK_TO_ELEMENT_NORMAL:"Copy markdown link for selected element to clipboard.",INSERT_LINK_TO_ELEMENT_ERROR:"Select a single element in the scene",INSERT_LINK_TO_ELEMENT_READY:"Link is READY and available on the clipboard",INSERT_LINK:"Insert link to file",INSERT_IMAGE:"Insert image or Excalidraw drawing from your vault",IMPORT_SVG:"Import an SVG file as Excalidraw strokes (limited SVG support, TEXT currently not supported)",INSERT_MD:"Insert markdown file from vault",INSERT_LATEX:`Insert LaTeX formula (e.g. \\binom{n}{k} = \\frac{n!}{k!(n-k)!}). ${labelALT()}+CLICK to watch a help video.`,ENTER_LATEX:"Enter a valid LaTeX expression",READ_RELEASE_NOTES:"Read latest release notes",RUN_OCR:"OCR: Grab text from freedraw scribble and pictures to clipboard",TRAY_MODE:"Toggle property-panel tray-mode",SEARCH:"Search for text in drawing",RESET_IMG_TO_100:"Set selected image element size to 100% of original",TEMPORARY_DISABLE_AUTOSAVE:"Disable autosave until next time Obsidian starts (only set this if you know what you are doing)",TEMPORARY_ENABLE_AUTOSAVE:"Enable autosave",INSTALL_SCRIPT_BUTTON:"Install or update Excalidraw Scripts",OPEN_AS_MD:"Open as Markdown",SAVE_AS_PNG:`Save as PNG into Vault (${labelCTRL()}+CLICK to export; SHIFT to embed scene)`,SAVE_AS_SVG:`Save as SVG into Vault (${labelCTRL()}+CLICK to export; SHIFT to embed scene)`,OPEN_LINK:"Open selected text as link\n(SHIFT+CLICK to open in a new pane)",EXPORT_EXCALIDRAW:"Export to an .Excalidraw file",LINK_BUTTON_CLICK_NO_TEXT:"Select a ImageElement, or select a TextElement that contains an internal or external link.\n",FILENAME_INVALID_CHARS:'File name cannot contain any of the following characters: * " \\ < > : | ? #',FORCE_SAVE:"Save (will also update transclusions)",RAW:"Change to PREVIEW mode (only effects text-elements with links or transclusions)",PARSED:"Change to RAW mode (only effects text-elements with links or transclusions)",NOFILE:"Excalidraw (no file)",COMPATIBILITY_MODE:"*.excalidraw file opened in compatibility mode. Convert to new format for full plugin functionality.",CONVERT_FILE:"Convert to new format",RELEASE_NOTES_NAME:"Display Release Notes after update",RELEASE_NOTES_DESC:"Toggle ON: Display release notes each time you update Excalidraw to a newer version.
Toggle OFF: Silent mode. You can still read release notes on GitHub.",NEWVERSION_NOTIFICATION_NAME:"Plugin update notification",NEWVERSION_NOTIFICATION_DESC:"Toggle ON: Show a notification when a new version of the plugin is available.
Toggle OFF: Silent mode. You need to check for plugin updates in Community Plugins.",FOLDER_NAME:"Excalidraw folder",FOLDER_DESC:"Default location for new drawings. If empty, drawings will be created in the Vault root.",FOLDER_EMBED_NAME:"Use Excalidraw folder when embedding a drawing into the active document",FOLDER_EMBED_DESC:"Define which folder to place the newly inserted drawing into when using the command palette action: 'Create a new drawing and embed into active document'.
Toggle ON: Use Excalidraw folder
Toggle OFF: Use the attachments folder defined in Obsidian settings.",TEMPLATE_NAME:"Excalidraw template file",TEMPLATE_DESC:"Full filepath to the Excalidraw template. E.g.: If your template is in the default Excalidraw folder and its name is Template.md, the setting would be: Excalidraw/Template.md (or just Excalidraw/Template - you may omit the .md file extension). If you are using Excalidraw in compatibility mode, then your template must be a legacy Excalidraw file as well such as Excalidraw/Template.excalidraw.",SCRIPT_FOLDER_NAME:"Excalidraw Automate script folder (CASE SeNSitiVE!)",SCRIPT_FOLDER_DESC:"The files you place in this folder will be treated as Excalidraw Automate scripts. You can access your scripts from Excalidraw via the Obsidian Command Palette. Assign hotkeys to your favorite scripts just like to any other Obsidian command. The folder may not be the root folder of your Vault. ",SAVING_HEAD:"Saving",COMPRESS_NAME:"Compress Excalidraw JSON in Markdown",COMPRESS_DESC:"By enabling this feature Excalidraw will store the drawing JSON in a Base64 compressed format using the LZ-String algorithm. This will reduce the chance of Excalidraw JSON cluttering your search results in Obsidian. As a side effect, this will also reduce the filesize of Excalidraw drawings. When you switch an Excalidraw drawing to Markdown view, using the options menu in Excalidraw, the file will be saved without compression, so that you can read and edit the JSON string. The drawing will be compressed again once you switch back to Excalidraw view. The setting only has effect 'point forward', meaning, existing drawings will not be effected by the setting until you open them and save them.
Toggle ON: Compress drawing JSON
Toggle OFF: Leave drawing JSON uncompressed",AUTOSAVE_INTERVAL_DESKTOP_NAME:"Interval for autosave on Desktop",AUTOSAVE_INTERVAL_DESKTOP_DESC:"The time interval between saves. Autosave will skip if there are no changes in the drawing. Excalidraw will also save the file when closing a workspace tab or navigating within Obsidian, but away from the active Excalidraw tab (i.e. clicking on the Obsidian ribbon or checking backlinks, etc.). Excalidraw will not be able to save your work when terminating Obsidian directly either by killing the Obsidian process, or clicking to close Obsidian altogether.",AUTOSAVE_INTERVAL_MOBILE_NAME:"Interval for autosave on Mobile",AUTOSAVE_INTERVAL_MOBILE_DESC:"I recommend a more frequent interval for Mobiles. Excalidraw will also save the file when closing a workspace tab or navigating within Obsidian, but away from the active Excalidraw tab (i.e. tapping on the Obsidian ribbon or checking backlinks, etc.). Excalidraw will not be able to save your work when terminating Obsidian directly (i.e. swiping it away). Also note, that when you switch apps on a Mobile device, sometimes Android and iOS closes Obsidian in the background to save system resources. In such a case Excalidraw will not be able to save the latest changes.",FILENAME_HEAD:"Filename",FILENAME_DESC:"

Click this link for the date and time format reference.

",FILENAME_SAMPLE:"Filename for a new drawing is: ",FILENAME_EMBED_SAMPLE:"Filename for a new embedded drawing is: ",FILENAME_PREFIX_NAME:"Filename prefix",FILENAME_PREFIX_DESC:"The first part of the filename",FILENAME_PREFIX_EMBED_NAME:"Filename prefix when embedding a new drawing into a markdown note",FILENAME_PREFIX_EMBED_DESC:"Should the filename of the newly inserted drawing start with the name of the active markdown note when using the command palette action: Create a new drawing and embed into active document?
Toggle ON: Yes, the filename of a new drawing should start with filename of the active document
Toggle OFF: No, filename of a new drawing should not include the filename of the active document",FILENAME_POSTFIX_NAME:"Custom text after markdown Note's name when embedding",FILENAME_POSTFIX_DESC:"Effects filename only when embedding into a markdown document. This text will be inserted after the note's name, but before the date.",FILENAME_DATE_NAME:"Filename Date",FILENAME_DATE_DESC:"The last part of the filename. Leave empty if you do not want a date.",FILENAME_EXCALIDRAW_EXTENSION_NAME:".excalidraw.md or .md",FILENAME_EXCALIDRAW_EXTENSION_DESC:"This setting does not apply if you use Excalidraw in compatibility mode, i.e. you are not using Excalidraw markdown files.
Toggle ON: filename ends with .excalidraw.md
Toggle OFF: filename ends with .md",DISPLAY_HEAD:"Display",LEFTHANDED_MODE_NAME:"Left-handed mode",LEFTHANDED_MODE_DESC:"Currently only has effect in tray-mode. If turned on, the tray will be on the right side.
Toggle ON: Left-handed mode.
Toggle OFF: Right-handed moded",MATCH_THEME_NAME:"New drawing to match Obsidian theme",MATCH_THEME_DESC:"If theme is dark, new drawing will be created in dark mode. This does not apply when you use a template for new drawings. Also this will not effect when you open an existing drawing. Those will follow the theme of the template/drawing respectively.
Toggle ON: Follow Obsidian Theme
Toggle OFF: Follow theme defined in your template",MATCH_THEME_ALWAYS_NAME:"Existing drawings to match Obsidian theme",MATCH_THEME_ALWAYS_DESC:"If theme is dark, drawings will be opened in dark mode. If your theme is light, they will be opened in light mode.
Toggle ON: Match Obsidian theme
Toggle OFF: Open with the same theme as last saved",MATCH_THEME_TRIGGER_NAME:"Excalidraw to follow when Obsidian Theme changes",MATCH_THEME_TRIGGER_DESC:"If this option is enabled open Excalidraw pane will switch to light/dark mode when Obsidian theme changes.
Toggle ON: Follow theme changes
Toggle OFF: Drawings are not effected by Obsidian theme changes",DEFAULT_OPEN_MODE_NAME:"Default mode when opening Excalidraw",DEFAULT_OPEN_MODE_DESC:"Specifies the mode how Excalidraw opens: Normal, Zen, or View mode. You may also set this behavior on a file level by adding the excalidraw-default-mode frontmatter key with a value of: normal, view, or zen to your document.",DEFAULT_PEN_MODE_NAME:"Pen mode",DEFAULT_PEN_MODE_DESC:"Should pen mode be automatically enabled when opening Excalidraw?",DEFAULT_PINCHZOOM_NAME:"Allow pinch zoom in pen mode",DEFAULT_PINCHZOOM_DESC:"Pinch zoom in pen mode when using the freedraw tool is disabled by default to prevent unwanted accidental zooming with your palm.
Toggle on: Enable pinch zoom in pen mode
Toggle off: Disable pinch zoom in pen mode",DEFAULT_WHEELZOOM_NAME:"Mouse wheel to zoom by default",DEFAULT_WHEELZOOM_DESC:`Toggle on: Mouse wheel to zoom; ${labelCTRL()} + mouse wheel to scroll
Toggle off: ${labelCTRL()} + mouse wheel to zoom; Mouse wheel to scroll`,ZOOM_TO_FIT_NAME:"Zoom to fit on view resize",ZOOM_TO_FIT_DESC:"Zoom to fit drawing when the pane is resized
Toggle ON: Zoom to fit
Toggle OFF: Auto zoom disabled",ZOOM_TO_FIT_ONOPEN_NAME:"Zoom to fit on file open",ZOOM_TO_FIT_ONOPEN_DESC:"Zoom to fit drawing when the drawing is first opened
Toggle ON: Zoom to fit
Toggle OFF: Auto zoom disabled",ZOOM_TO_FIT_MAX_LEVEL_NAME:"Zoom to fit max ZOOM level",ZOOM_TO_FIT_MAX_LEVEL_DESC:"Set the maximum level to which zoom to fit will enlarge the drawing. Minimum is 0.5 (50%) and maximum is 10 (1000%).",LINKS_HEAD:"Links and transclusion",LINKS_DESC:`${labelCTRL()}+CLICK on [[Text Elements]] to open them as links. If the selected text has more than one [[valid Obsidian links]], only the first will be opened. If the text starts as a valid web link (i.e. https:// or http://), then the plugin will open it in a browser. When Obsidian files change, the matching [[link]] in your drawings will also change. If you don't want text accidentally changing in your drawings use [[links|with aliases]].`,ADJACENT_PANE_NAME:"Open in adjacent pane",ADJACENT_PANE_DESC:`When ${labelCTRL()}+SHIFT clicking a link in Excalidraw, by default the plugin will open the link in a new pane. Turning this setting on, Excalidraw will first look for an existing adjacent pane, and try to open the link there. Excalidraw will look for the adjacent pane based on your focus/navigation history, i.e. the workpane that was active before you activated Excalidraw.`,MAINWORKSPACE_PANE_NAME:"Open in main workspace",MAINWORKSPACE_PANE_DESC:`When ${labelCTRL()}+SHIFT clicking a link in Excalidraw, by default the plugin will open the link in a new pane in the current active window. Turning this setting on, Excalidraw will open the link in an existing or new pane in the main workspace. `,LINK_BRACKETS_NAME:"Show [[brackets]] around links",LINK_BRACKETS_DESC:"In PREVIEW mode, when parsing Text Elements, place brackets around links. You can override this setting for a specific drawing by adding excalidraw-link-brackets: true/false to the file's frontmatter.",LINK_PREFIX_NAME:"Link prefix",LINK_PREFIX_DESC:'In PREVIEW mode, if the Text Element contains a link, precede the text with these characters. You can override this setting for a specific drawing by adding excalidraw-link-prefix: "📍 " to the file\'s frontmatter.',URL_PREFIX_NAME:"URL prefix",URL_PREFIX_DESC:'In PREVIEW mode, if the Text Element contains a URL link, precede the text with these characters. You can override this setting for a specific drawing by adding excalidraw-url-prefix: "🌐 " to the file\'s frontmatter.',PARSE_TODO_NAME:"Parse todo",PARSE_TODO_DESC:"Convert '- [ ] ' and '- [x] ' to checkpox and tick in the box.",TODO_NAME:"Open TODO icon",TODO_DESC:"Icon to use for open TODO items",DONE_NAME:"Completed TODO icon",DONE_DESC:"Icon to use for completed TODO items",HOVERPREVIEW_NAME:`Hover preview without pressing the ${labelCTRL()} key`,HOVERPREVIEW_DESC:`Toggle On: In Exalidraw view mode the hover preview for [[wiki links]] will be shown immediately, without the need to hold the ${labelCTRL()} key. In Excalidraw normal mode, the preview will be shown immediately only when hovering the blue link icon in the top right of the element.
Toggle Off: Hover preview is shown only when you hold the ${labelCTRL()} key while hovering the link.`,LINKOPACITY_NAME:"Opacity of link icon",LINKOPACITY_DESC:"Opacity of the link indicator icon in the top right corner of an element. 1 is opaque, 0 is transparent.",LINK_CTRL_CLICK_NAME:`${labelCTRL()}+CLICK on text with [[links]] or [](links) to open them`,LINK_CTRL_CLICK_DESC:"You can turn this feature off if it interferes with default Excalidraw features you want to use. If this is turned off, only the link button in the title bar of the drawing pane will open links.",TRANSCLUSION_WRAP_NAME:"Overflow wrap behavior of transcluded text",TRANSCLUSION_WRAP_DESC:"Number specifies the character count where the text should be wrapped. Set the text wrapping behavior of transcluded text. Turn this ON to force-wrap text (i.e. no overflow), or OFF to soft-wrap text (at the nearest whitespace).",TRANSCLUSION_DEFAULT_WRAP_NAME:"Transclusion word wrap default",TRANSCLUSION_DEFAULT_WRAP_DESC:"You can manually set/override word wrapping length using the `![[page#^block]]{NUMBER}` format. Normally you will not want to set a default, because if you transclude text inside a sticky note, then Excalidraw will automatically take care of word wrapping. Set this value to `0` if you do not want to set a default. ",PAGE_TRANSCLUSION_CHARCOUNT_NAME:"Page transclusion max char count",PAGE_TRANSCLUSION_CHARCOUNT_DESC:"The maximum number of characters to display from the page when transcluding an entire page with the ![[markdown page]] format.",QUOTE_TRANSCLUSION_REMOVE_NAME:"Quote translusion: remove leading '> ' from each line",QUOTE_TRANSCLUSION_REMOVE_DESC:"Remove the leading '> ' from each line of the transclusion. This will improve readability of quotes in text only transclusions
Toggle ON: Remove leading '> '
Toggle OFF: Do not remove leading '> ' (note it will still be removed from the first row due to Obsidian API functionality)",GET_URL_TITLE_NAME:"Use iframely to resolve page title",GET_URL_TITLE_DESC:"Use the http://iframely.server.crestify.com/iframely?url= to get title of page when dropping a link into Excalidraw",MD_HEAD:"Markdown-embed settings",MD_HEAD_DESC:"You can transclude formatted markdown documents into drawings as images SHIFT drop from the file explorer or using the command palette action.",MD_TRANSCLUDE_WIDTH_NAME:"Default width of a transcluded markdown document",MD_TRANSCLUDE_WIDTH_DESC:"The width of the markdown page. This effects the word wrapping when transcluding longer paragraphs, and the width of the image element. You can override the default width of an embedded file using the [[filename#heading|WIDTHxMAXHEIGHT]] syntax in markdown view mode under embedded files.",MD_TRANSCLUDE_HEIGHT_NAME:"Default maximum height of a transcluded markdown document",MD_TRANSCLUDE_HEIGHT_DESC:"The embedded image will be as high as the markdown text requires, but not higher than this value. You can override this value by editing the embedded image link in markdown view mode with the following syntax [[filename#^blockref|WIDTHxMAXHEIGHT]].",MD_DEFAULT_FONT_NAME:"The default font typeface to use for embedded markdown files.",MD_DEFAULT_FONT_DESC:'Set this value to "Virgil" or "Cascadia" or the filename of a valid .ttf, .woff, or .woff2 font e.g. MyFont.woff2 You can override this setting by adding the following frontmatter-key to the embedded markdown file: excalidraw-font: font_or_filename',MD_DEFAULT_COLOR_NAME:"The default font color to use for embedded markdown files.",MD_DEFAULT_COLOR_DESC:'Set this to any valid css color name e.g. "steelblue" (color names), or a valid hexadecimal color e.g. "#e67700", or any other valid css color string. You can override this setting by adding the following frontmatter-key to the embedded markdown file: excalidraw-font-color: steelblue',MD_DEFAULT_BORDER_COLOR_NAME:"The default border color to use for embedded markdown files.",MD_DEFAULT_BORDER_COLOR_DESC:'Set this to any valid css color name e.g. "steelblue" (color names), or a valid hexadecimal color e.g. "#e67700", or any other valid css color string. You can override this setting by adding the following frontmatter-key to the embedded markdown file: excalidraw-border-color: gray. Leave empty if you don\'t want a border. ',MD_CSS_NAME:"CSS file",MD_CSS_DESC:`The filename of the CSS to apply to markdown embeds. Provide the filename with extension (e.g. 'md-embed.css'). The css file may also be a plain markdown file (e.g. 'md-embed-css.md'), just make sure the content is written using valid css syntax. If you need to look at the HTML code you are applying the CSS to, then open Obsidian Developer Console (${DEVICE.isIOS||DEVICE.isMacOS?"CMD+OPT+i":"CTRL+SHIFT+i"}) and type in the following command: "ExcalidrawAutomate.mostRecentMarkdownSVG". This will display the most recent SVG generated by Excalidraw. Setting the font-family in the css is has limitations. By default only your operating system's standard fonts are available (see README for details). You can add one custom font beyond that using the setting above. You can override this css setting by adding the following frontmatter-key to the embedded markdown file: "excalidraw-css: css_file_in_vault|css-snippet".`,EMBED_HEAD:"Embed & Export",EMBED_REUSE_EXPORTED_IMAGE_NAME:"If found, use the already exported image for preview",EMBED_REUSE_EXPORTED_IMAGE_DESC:"This setting works in conjunction with the Auto-export SVG/PNG setting. If an exported image that matches the file name of the drawing is available, use that image instead of generating a preview image on the fly. This will result in faster previews especially when you have many embedded objects in the drawing, however, it may happen that your latest changes are not displayed and that the image will not automatically match your Obsidian theme in case you have changed the Obsidian theme since the export was created. This setting only applies to embedding images into markdown documents. For a number of reasons, the same approach cannot be used to expedite the loading of drawings with many embedded objects. See demonstration here.",EMBED_PREVIEW_SVG_NAME:"Display SVG in markdown preview",EMBED_PREVIEW_SVG_DESC:"Toggle ON: Embed drawing as an SVG image into the markdown preview.
Toggle OFF: Embed drawing as a PNG image. Note, that some of the image block referencing features do not work with PNG embeds.",PREVIEW_MATCH_OBSIDIAN_NAME:"Excalidraw preview to match Obsidian theme",PREVIEW_MATCH_OBSIDIAN_DESC:"Image preview in documents should match the Obsidian theme. If enabled, when Obsidian is in dark mode, Excalidraw images will render in dark mode. When Obsidian is in light mode, Excalidraw will render light mode as well. You may want to switch 'Export image with background' off for a more Obsidian-integrated look and feel.",EMBED_WIDTH_NAME:"Default width of embedded (transcluded) image",EMBED_WIDTH_DESC:"The default width of an embedded drawing. This applies to live preview edit and reading mode, as well as to hover previews. You can specify a custom width when embedding an image using the ![[drawing.excalidraw|100]] or [[drawing.excalidraw|100x100]] format.",EMBED_TYPE_NAME:"Type of file to insert into the document",EMBED_TYPE_DESC:"When you embed an image into a document using the command palette this setting will specify if Excalidraw should embed the original Excalidraw file or a PNG or an SVG copy. You need to enable auto-export PNG / SVG (see below under Export Settings) for those image types to be available in the dropdown. For drawings that do not have a a corresponding PNG or SVG readily available the command palette action will insert a broken link. You need to open the original drawing and initiate export manually. This option will not autogenerate PNG/SVG files, but will simply reference the already existing files.",EMBED_WIKILINK_NAME:"Embed SVG or PNG as Wiki link",EMBED_WIKILINK_DESC:"Toggle ON: Excalidraw will embed a [[wiki link]]. Toggle OFF: Excalidraw will embed a [markdown](link).",EXPORT_PNG_SCALE_NAME:"PNG export image scale",EXPORT_PNG_SCALE_DESC:"The size-scale of the exported PNG image",EXPORT_BACKGROUND_NAME:"Export image with background",EXPORT_BACKGROUND_DESC:"If turned off, the exported image will be transparent.",EXPORT_PADDING_NAME:"Image Padding",EXPORT_PADDING_DESC:"The padding (in pixels) around the exported SVG or PNG image. If you have curved lines close to the edge of the image they might get cropped during image export. You can increase this value to avoid cropping. You can also override this setting at a file level by adding the excalidraw-export-padding: 5 frontmatter key.",EXPORT_THEME_NAME:"Export image with theme",EXPORT_THEME_DESC:"Export the image matching the dark/light theme of your drawing. If turned off, drawings created in dark mode will appear as they would in light mode.",EXPORT_HEAD:"Auto-export Settings",EXPORT_SYNC_NAME:"Keep the .SVG and/or .PNG filenames in sync with the drawing file",EXPORT_SYNC_DESC:"When turned on, the plugin will automatically update the filename of the .SVG and/or .PNG files when the drawing in the same folder (and same name) is renamed. The plugin will also automatically delete the .SVG and/or .PNG files when the drawing in the same folder (and same name) is deleted. ",EXPORT_SVG_NAME:"Auto-export SVG",EXPORT_SVG_DESC:"Automatically create an SVG export of your drawing matching the title of your file. The plugin will save the *.SVG file in the same folder as the drawing. Embed the .svg file into your documents instead of Excalidraw making you embeds platform independent. While the auto-export switch is on, this file will get updated every time you edit the Excalidraw drawing with the matching name. You can override this setting on a file level by adding the excalidraw-autoexport frontmatter key. Valid values for this key are none,both,svg, and png",EXPORT_PNG_NAME:"Auto-export PNG",EXPORT_PNG_DESC:"Same as the auto-export SVG, but for *.PNG",EXPORT_BOTH_DARK_AND_LIGHT_NAME:"Export both dark- and light-themed image",EXPORT_BOTH_DARK_AND_LIGHT_DESC:"When enabled, Excalidraw will export two files instead of one: filename.dark.png, filename.light.png and/or filename.dark.svg and filename.light.svg
Double files will be exported both if auto-export SVG or PNG (or both) are enabled, as well as when clicking export on a single image.",COMPATIBILITY_HEAD:"Compatibility features",EXPORT_EXCALIDRAW_NAME:"Auto-export Excalidraw",EXPORT_EXCALIDRAW_DESC:"Same as the auto-export SVG, but for *.Excalidraw",SYNC_EXCALIDRAW_NAME:"Sync *.excalidraw with *.md version of the same drawing",SYNC_EXCALIDRAW_DESC:"If the modified date of the *.excalidraw file is more recent than the modified date of the *.md file then update the drawing in the .md file based on the .excalidraw file",COMPATIBILITY_MODE_NAME:"New drawings as legacy files",COMPATIBILITY_MODE_DESC:"By enabling this feature drawings you create with the ribbon icon, the command palette actions, and the file explorer are going to be all legacy *.excalidraw files. This setting will also turn off the reminder message when you open a legacy file for editing.",MATHJAX_NAME:"MathJax (LaTeX) javascript library host",MATHJAX_DESC:"If you are using LaTeX equiations in Excalidraw then the plugin needs to load a javascript library for that. Some users are unable to access certain host servers. If you are experiencing issues try changing the host here. You may need to restart Obsidian after closing settings, for this change to take effect.",NONSTANDARD_HEAD:"Non-Excalidraw.com supported features",NONSTANDARD_DESC:"These features are not available on excalidraw.com. When exporting the drawing to Excalidraw.com these features will appear different.",CUSTOM_PEN_NAME:"Number of custom pens",CUSTOM_PEN_DESC:"You will see these pens next to the Obsidian Menu on the canvas. You can customize the pens on the canvas by long-pressing the pen button.",EXPERIMENTAL_HEAD:"Experimental features",EXPERIMENTAL_DESC:"Some of these setting will not take effect immediately, only when the File Explorer is refreshed, or Obsidian restarted.",FIELD_SUGGESTER_NAME:"Enable Field Suggester",FIELD_SUGGESTER_DESC:"Field Suggester borrowed from Breadcrumbs and Templater plugins. The Field Suggester will show an autocomplete menu when you type excalidraw- or ea. with function description as hints on the individual items in the list.",FILETYPE_NAME:"Display type (✏️) for excalidraw.md files in File Explorer",FILETYPE_DESC:"Excalidraw files will receive an indicator using the emoji or text defined in the next setting.",FILETAG_NAME:"Set the type indicator for excalidraw.md files",FILETAG_DESC:"The text or emoji to display as type indicator.",INSERT_EMOJI:"Insert an emoji",LIVEPREVIEW_NAME:"Immersive image embedding in live preview editing mode",LIVEPREVIEW_DESC:"Turn this on to support image embedding styles such as ![[drawing|width|style]] in live preview editing mode. The setting will not effect the currently open documents. You need close the open documents and re-open them for the change to take effect.",ENABLE_FOURTH_FONT_NAME:"Enable fourth font option",ENABLE_FOURTH_FONT_DESC:"By turning this on, you will see a fourth font button on the properties panel for text elements. Files that use this fourth font will (partly) lose their platform independence. Depending on the custom font set in settings, they will look differently when loaded in another vault, or at a later time. Also the 4th font will display as system default font on excalidraw.com, or other Excalidraw versions.",FOURTH_FONT_NAME:"Forth font file",FOURTH_FONT_DESC:"Select a .ttf, .woff or .woff2 font file from your vault to use as the fourth font. If no file is selected, Excalidraw will use the Virgil font by default.",SCRIPT_SETTINGS_HEAD:"Settings for installed Scripts",TASKBONE_HEAD:"Taskbone Optical Character Recogntion",TASKBONE_DESC:"This is an experimental integration of optical character recognition into Excalidraw. Please note, that taskbone is an independent external service not provided by Excalidraw, nor the Excalidraw-Obsidian plugin project. The OCR service will grab legible text from freedraw lines and embedded pictures on your canvas and place the recognized text in the frontmatter of your drawing as well as onto clipboard. Having the text in the frontmatter will enable you to search in Obsidian for the text contents of these. Note, that the process of extracting the text from the image is not done locally, but via an online API. The taskbone service stores the image on its servers only as long as necessary for the text extraction. However, if this is a dealbreaker, then please don't use this feature.",TASKBONE_ENABLE_NAME:"Enable Taskbone",TASKBONE_ENABLE_DESC:"By enabling this service your agree to the Taskbone Terms and Conditions and the Privacy Policy.",TASKBONE_APIKEY_NAME:"Taskbone API Key",TASKBONE_APIKEY_DESC:"Taskbone offers a free service with a reasonable number of scans per month. If you want to use this feature more frequently, or you want to supoprt the developer of Taskbone (as you can imagine, there is no such thing as 'free', providing this awesome OCR service costs some money to the developer of Taskbone), you can purchase a paid API key from taskbone.com. In case you have purchased a key, simply overwrite this auto generated free-tier API-key with your paid key.",SELECT_FILE:"Select a file then press enter.",SELECT_FILE_WITH_OPTION_TO_SCALE:`Select a file then press ENTER, or SHIFT+${labelMETA()}+ENTER to insert at 100% scale.`,NO_MATCH:"No file matches your query.",SELECT_FILE_TO_LINK:"Select the file you want to insert the link for.",SELECT_DRAWING:"Select the image or drawing you want to insert",TYPE_FILENAME:"Type name of drawing to select.",SELECT_FILE_OR_TYPE_NEW:"Select existing drawing or type name of a new drawing then press Enter.",SELECT_TO_EMBED:"Select the drawing to insert into active document.",SELECT_MD:"Select the markdown document you want to insert",INFINITE_LOOP_WARNING:"EXCALIDRAW WARNING\nAborted loading embedded images due to infinite loop in file:\n",SCRIPT_EXECUTION_ERROR:"Script execution error. Please find error message on the developer console.",LOAD_FROM_BACKUP:"Excalidraw file was corrupted. Loading from backup file.",GOTO_FULLSCREEN:"Goto fullscreen mode",EXIT_FULLSCREEN:"Exit fullscreen mode",TOGGLE_FULLSCREEN:"Toggle fullscreen mode",OPEN_LINK_CLICK:"Navigate to selected element link",OPEN_LINK_PROPS:"Open markdown-embed properties or open link in new window"},enGB={},es={},fr={},hi={},id={},it={},ja={},ko={},nl={},no={},pl={},pt={},ptBR={},ro={},ru={},tr={},zhCN={INSTALL_SCRIPT:"安装此脚本",UPDATE_SCRIPT:"有可用更新 - 点击安装",CHECKING_SCRIPT:"检查更新中 - 点击重新安装",UNABLETOCHECK_SCRIPT:"检查更新失败 - 点击重新安装",UPTODATE_SCRIPT:"脚本已是最新 - 点击重新安装",OPEN_AS_EXCALIDRAW:"打开为 Excalidraw 绘图",TOGGLE_MODE:"在 Excalidraw 和 Markdown 模式之间切换",CONVERT_NOTE_TO_EXCALIDRAW:"转换空白笔记为 Excalidraw 绘图",CONVERT_EXCALIDRAW:"转换 *.excalidraw 为 *.md 文件",CREATE_NEW:"新建 Excalidraw 绘图",CONVERT_FILE_KEEP_EXT:"*.excalidraw => *.excalidraw.md",CONVERT_FILE_REPLACE_EXT:"*.excalidraw => *.md (兼容 Logseq)",DOWNLOAD_LIBRARY:"导出 stencil 库为 *.excalidrawlib 文件",OPEN_EXISTING_NEW_PANE:"打开已有的绘图 - 于新面板",OPEN_EXISTING_ACTIVE_PANE:"打开已有的绘图 - 于当前面板",TRANSCLUDE:"嵌入绘图(形如 ![[drawing]])到当前文档",TRANSCLUDE_MOST_RECENT:"嵌入最近编辑过的绘图(形如 ![[drawing]])到当前文档",TOGGLE_LEFTHANDED_MODE:"切换为左手模式",NEW_IN_NEW_PANE:"新建绘图 - 于新面板",NEW_IN_NEW_TAB:"新建绘图 - 于新页签",NEW_IN_ACTIVE_PANE:"新建绘图 - 于当前面板",NEW_IN_POPOUT_WINDOW:"新建绘图 - 于新窗口",NEW_IN_NEW_PANE_EMBED:"新建绘图 - 于新面板 - 并将其嵌入(形如 ![[drawing]])到当前文档",NEW_IN_NEW_TAB_EMBED:"新建绘图 - 于新页签 - 并将其嵌入(形如 ![[drawing]])到当前文档",NEW_IN_ACTIVE_PANE_EMBED:"新建绘图 - 于当前面板 - 并将其嵌入(形如 ![[drawing]])到当前文档",NEW_IN_POPOUT_WINDOW_EMBED:"新建绘图 - 于新窗口 - 并将其嵌入(形如 ![[drawing]])到当前文档",EXPORT_SVG:"导出 SVG 文件到当前目录",EXPORT_PNG:"导出 PNG 文件到当前目录",EXPORT_SVG_WITH_SCENE:"导出 SVG 文件(包含 Scene)到当前目录",EXPORT_PNG_WITH_SCENE:"导出 PNG 文件(包含 Scene)到当前目录",TOGGLE_LOCK:"文本元素:原文模式(RAW)⟺ 预览模式(PREVIEW)",DELETE_FILE:"从库中删除所选图像(或 MD-Embed)的源文件",INSERT_LINK_TO_ELEMENT:`复制所选元素的内部链接(形如 [[file#^elementID]])。\n按住 ${labelCTRL()} 可复制元素所在分组的内部链接(形如 [[file#^group=elementID]])。\n按住 SHIFT 可复制所选元素周围区域的内部链接(形如 [[file#^area=elementID]])。\n按住 ${labelALT()} 可观看视频演示。`,INSERT_LINK_TO_ELEMENT_GROUP:"复制所选元素所在分组的内部链接(形如 [[file#^group=elementID]])",INSERT_LINK_TO_ELEMENT_AREA:"复制所选元素周围区域的内部链接(形如 [[file#^area=elementID]])",INSERT_LINK_TO_ELEMENT_NORMAL:"复制所选元素的内部链接(形如 [[file#^elementID]])",INSERT_LINK_TO_ELEMENT_ERROR:"未选择画布里的单个元素",INSERT_LINK_TO_ELEMENT_READY:"链接已生成并复制到剪贴板",INSERT_LINK:"插入文件的内部链接(形如 [[drawing]])到当前绘图",INSERT_IMAGE:"插入图像(以图像形式嵌入)到当前绘图",IMPORT_SVG:"插入 SVG 矢量图形到当前绘图(支持有限,尚不支持文本)",INSERT_MD:"插入 Markdown 文档(以图像形式嵌入)到当前绘图",INSERT_LATEX:`插入 LaTeX 公式到当前绘图。按住 ${labelALT()} 可观看视频演示。`,ENTER_LATEX:"输入 LaTeX 表达式",READ_RELEASE_NOTES:"阅读本插件的更新说明",RUN_OCR:"OCR 识别涂鸦和图片里的文本并复制到剪贴板",TRAY_MODE:"绘图工具属性页:面板模式 ⟺ 托盘模式",SEARCH:"搜索文本",RESET_IMG_TO_100:"重设图像元素的尺寸为 100%",TEMPORARY_DISABLE_AUTOSAVE:"临时禁用自动保存功能,直到 Obsidian 退出(勿点,除非你清楚自己在干什么)",TEMPORARY_ENABLE_AUTOSAVE:"恢复启用自动保存功能",INSTALL_SCRIPT_BUTTON:"安装或更新 Excalidraw 脚本",OPEN_AS_MD:"打开为 Markdown 文件",SAVE_AS_PNG:`导出 PNG 到当前目录(按住 ${labelCTRL()} 设定导出路径;按住 SHIFT 在导出时包含 Scene)`,SAVE_AS_SVG:`导出 SVG 到当前目录(按住 ${labelCTRL()} 设定导出路径;按住 SHIFT 在导出时包含 Scene)`,OPEN_LINK:"打开所选元素里的链接 \n(按住 SHIFT 在新面板打开)",EXPORT_EXCALIDRAW:"导出为 .Excalidraw 文件",LINK_BUTTON_CLICK_NO_TEXT:"请选择一个含有链接的图形或文本元素。",FILENAME_INVALID_CHARS:'文件名不能含有以下符号: * " \\ < > : | ? #',FORCE_SAVE:"保存绘图(并更新嵌入了该绘图的面板)",RAW:"文本元素正以原文(RAW)模式显示链接。\n点击切换到预览(PREVIEW)模式",PARSED:"文本元素正以预览(PREVIEW)模式显示链接。\n点击切换到原文(RAW)模式",NOFILE:"Excalidraw(没有文件)",COMPATIBILITY_MODE:"*.excalidraw 文件正以兼容模式打开。需要转换为新格式才能使用插件的全部功能。",CONVERT_FILE:"转换为新格式",RELEASE_NOTES_NAME:"显示更新说明",RELEASE_NOTES_DESC:"开启:每次更新本插件后,显示最新发行版本的说明。
关闭:您仍可以在 GitHub 上阅读更新说明。",NEWVERSION_NOTIFICATION_NAME:"通知插件更新",NEWVERSION_NOTIFICATION_DESC:"开启:当本插件存在可用更新时,显示通知。
关闭:您需要手动检查本插件的更新(设置 - 第三方插件 - 检查更新)。",FOLDER_NAME:"Excalidraw 文件夹",FOLDER_DESC:"新绘图的默认存储路径。若为空,将在库的根目录中创建新绘图。",FOLDER_EMBED_NAME:"将 Excalidraw 文件夹用于“新建绘图”命令创建的绘图",FOLDER_EMBED_DESC:"在命令面板中执行“新建绘图”系列命令时,新绘图的存储路径。
开启:使用 Excalidraw 文件夹。
关闭:使用 Obsidian 设置的新附件默认位置。",TEMPLATE_NAME:"Excalidraw 模板文件",TEMPLATE_DESC:"Excalidraw 模板文件的完整路径。
如果您的模板在默认的 Excalidraw 文件夹中且文件名是 Template.md,则此项应设为 Excalidraw/Template.md(也可省略 .md 扩展名,即 Excalidraw/Template)。
如果您在兼容模式下使用 Excalidraw,那么您的模板文件也必须是旧的 *.excalidraw 格式,例如 Excalidraw/Template.excalidraw。",SCRIPT_FOLDER_NAME:"Excalidraw 自动化脚本的文件夹(大小写敏感!)",SCRIPT_FOLDER_DESC:"此文件夹用于存放 Excalidraw 自动化脚本。您可以在 Obsidian 命令面板中执行这些脚本,还可以为喜欢的脚本分配快捷键,就像为其他 Obsidian 命令分配快捷键一样。
该项不能设为库的根目录。",SAVING_HEAD:"保存",COMPRESS_NAME:"压缩 Excalidraw JSON",COMPRESS_DESC:"Excalidraw 绘图文件默认将元素记录为 JSON 格式。开启此项,可将元素的 JSON 数据以 BASE64 编码(使用 LZ-String 算法)。这样做的好处是:一方面可以避免原来的明文 JSON 数据干扰 Obsidian 的文本搜索结果,另一方面减小了绘图文件的体积。
当您通过功能区按钮或命令将绘图切换成 Markdown 模式时,数据将被解码回 JSON 格式以便阅读和编辑;而当您切换回 Excalidraw 模式时,数据就会被再次编码。
开启此项后,对于之前已存在的未压缩的绘图文件,需要重新打开并保存它们才能生效。",AUTOSAVE_INTERVAL_DESKTOP_NAME:"桌面端定期保存时间间隔",AUTOSAVE_INTERVAL_DESKTOP_DESC:"每隔多长时间触发一次自动保存。但如果当前绘图没有发生改变,将不会触发自动保存。当 Obsidian 应用内的焦点离开活动文档(如关闭工作空间、点击菜单栏、切换到其他页签或面板等)的时候,会触发自动保存。直接退出 Obsidian 应用(不管是终结进程还是点关闭按钮)不会触发自动保存。",AUTOSAVE_INTERVAL_MOBILE_NAME:"移动端定期保存时间间隔",AUTOSAVE_INTERVAL_MOBILE_DESC:"建议在移动端设置更短的自动保存时间间隔。当 Obsidian 应用内的焦点离开活动文档(如关闭工作空间、点击菜单栏、切换到其他页签或面板等)的时候,会触发自动保存。直接退出 Obsidian 应用(在应用切换器中划掉)不会触发自动保存。此外,当您切换到其他应用时,有时候系统会自动清理 Obsidian 后台以释放资源。这种情况下,Excalidraw 无法保存最新的变动。",FILENAME_HEAD:"文件名",FILENAME_DESC:"

点击阅读日期和时间格式参考

",FILENAME_SAMPLE:"“新建绘图”系列命令创建的文件名形如:",FILENAME_EMBED_SAMPLE:"“新建绘图并嵌入到当前文档”系列命令创建的文件名形如:",FILENAME_PREFIX_NAME:"“新建绘图”系列命令创建的文件名前缀",FILENAME_PREFIX_DESC:"执行“新建绘图”系列命令时,创建的绘图文件名的第一部分",FILENAME_PREFIX_EMBED_NAME:"“新建绘图并嵌入到当前文档”系列命令创建的文件名前缀",FILENAME_PREFIX_EMBED_DESC:"执行“新建绘图并嵌入到当前文档”系列命令时,创建的绘图文件名是否以当前文档名作为前缀?
开启:
关闭:否",FILENAME_POSTFIX_NAME:"“新建绘图并嵌入到当前文档”系列命令创建的文件名的中间部分",FILENAME_POSTFIX_DESC:"介于文件名前缀和日期时间之间的文本。仅对“新建绘图并嵌入到当前文档”系列命令创建的绘图生效。",FILENAME_DATE_NAME:"文件名里的日期时间",FILENAME_DATE_DESC:"文件名的最后一部分。允许留空。",FILENAME_EXCALIDRAW_EXTENSION_NAME:"文件扩展名(.excalidraw.md 或 .md)",FILENAME_EXCALIDRAW_EXTENSION_DESC:"该选项在兼容模式(即非 Excalidraw 专用 Markdown 文件)下不会生效。
开启:使用 .excalidraw.md 作为扩展名。
关闭:使用 .md 作为扩展名。",DISPLAY_HEAD:"显示",LEFTHANDED_MODE_NAME:"左手模式",LEFTHANDED_MODE_DESC:"目前只在托盘模式下生效。若开启此项,则托盘(绘图工具属性页)将位于右侧。
开启:左手模式。
关闭:右手模式。",MATCH_THEME_NAME:"使新建的绘图匹配 Obsidian 主题",MATCH_THEME_DESC:"如果 Obsidian 使用黑暗主题,新建的绘图文件也将使用黑暗主题。
但是若设置了模板,新建的绘图文件将跟随模板主题;另外,此功能不会作用于已有的绘图。
开启:跟随 Obsidian 主题风格。
关闭:跟随模板主题风格。",MATCH_THEME_ALWAYS_NAME:"使已有的绘图匹配 Obsidian 主题",MATCH_THEME_ALWAYS_DESC:"如果 Obsidian 使用黑暗主题,则绘图文件也将以黑暗主题打开;反之亦然。
开启:匹配 Obsidian 主题风格。
关闭:采用上次保存时的主题风格。",MATCH_THEME_TRIGGER_NAME:"Excalidraw 主题跟随 Obsidian 主题变化",MATCH_THEME_TRIGGER_DESC:"开启此项,则切换 Obsidian 的黑暗/明亮主题时,已打开的 Excalidraw 面板的主题会随之改变。
开启:跟随主题变化。
关闭:不跟随主题变化。",DEFAULT_OPEN_MODE_NAME:"Excalidraw 的默认运行模式",DEFAULT_OPEN_MODE_DESC:"设置 Excalidraw 的运行模式:普通模式(Normal)/禅模式(Zen)/阅读模式(View)。
您可为某个绘图单独设置此项,方法是在其 frontmatter 中添加形如 excalidraw-default-mode: normal/zen/view 的键值对。",DEFAULT_PEN_MODE_NAME:"触控笔模式(Pen mode)",DEFAULT_PEN_MODE_DESC:"打开绘图时,是否自动开启触控笔模式?",DEFAULT_PINCHZOOM_NAME:"允许在触控笔模式下进行双指缩放",DEFAULT_PINCHZOOM_DESC:"在触控笔模式下使用自由画笔工具时,双指缩放可能造成干扰。
开启: 允许在触控笔模式下进行双指缩放
关闭: 禁止在触控笔模式下进行双指缩放",DEFAULT_WHEELZOOM_NAME:"鼠标滚轮缩放页面",DEFAULT_WHEELZOOM_DESC:`开启:鼠标滚轮为缩放页面,${labelCTRL()}+鼠标滚轮为滚动页面
关闭:鼠标滚轮为滚动页面,${labelCTRL()}+鼠标滚轮为缩放页面`,ZOOM_TO_FIT_NAME:"调节面板尺寸后自动缩放页面",ZOOM_TO_FIT_DESC:"调节面板尺寸后,自适应地缩放页面
开启:自动缩放。
关闭:禁用自动缩放。",ZOOM_TO_FIT_ONOPEN_NAME:"打开绘图时自动缩放页面",ZOOM_TO_FIT_ONOPEN_DESC:"打开绘图文件时,自适应地缩放页面
开启:自动缩放。
关闭:禁用自动缩放。",ZOOM_TO_FIT_MAX_LEVEL_NAME:"自动缩放的最高级别",ZOOM_TO_FIT_MAX_LEVEL_DESC:"自动缩放画布时,允许放大的最高级别。该值不能低于 0.5(50%)且不能超过 10(1000%)。",LINKS_HEAD:"链接(Links) & 以文本形式嵌入到绘图中的文档(Transclusion)",LINKS_DESC:`按住 ${labelCTRL()} 并点击包含 [[链接]] 的文本元素可以打开其中的链接。如果所选文本元素包含多个 [[有效的内部链接]] ,只会打开第一个链接;如果所选文本元素包含有效的 URL 链接 (如 https://http://),插件会在浏览器中打开链接。
链接的源文件被重命名时,绘图中相应的 [[内部链接]] 也会同步更新。若您不愿绘图中的链接外观因此而变化,可使用 [[内部链接|别名]]。`,ADJACENT_PANE_NAME:"在相邻面板中打开",ADJACENT_PANE_DESC:`按住 ${labelCTRL()}+SHIFT 并点击绘图里的内部链接时,插件默认会在新面板中打开该链接。
若开启此项,Excalidraw 会先尝试寻找已有的相邻面板(按照右侧、左侧、上方、下方的顺序),并在其中打开该链接。如果找不到,再在新面板中打开。`,MAINWORKSPACE_PANE_NAME:"在主工作区中打开",MAINWORKSPACE_PANE_DESC:`按住 ${labelCTRL()}+SHIFT 并点击绘图里的内部链接时,插件默认会在当前窗口的新面板中打开该链接。
若开启此项,Excalidraw 会在主工作区的面板中打开该链接。`,LINK_BRACKETS_NAME:"在链接的两侧显示 [[中括号]]",LINK_BRACKETS_DESC:"文本元素处于预览(PREVIEW)模式时,在内部链接的两侧显示中括号。
您可为某个绘图单独设置此项,方法是在其 frontmatter 中添加形如 excalidraw-link-brackets: true/false 的键值对。",LINK_PREFIX_NAME:"内部链接的前缀",LINK_PREFIX_DESC:'文本元素处于预览(PREVIEW)模式时,如果其中包含链接,则添加此前缀。
您可为某个绘图单独设置此项,方法是在其 frontmatter 中添加形如 excalidraw-link-prefix: "📍 " 的键值对。',URL_PREFIX_NAME:"外部链接的前缀",URL_PREFIX_DESC:'文本元素处于预览(PREVIEW)模式时,如果其中包含外部链接,则添加此前缀。
您可为某个绘图单独设置此项,方法是在其 frontmatter 中添加形如 excalidraw-url-prefix: "🌐 " 的键值对。',PARSE_TODO_NAME:"待办任务(Todo)",PARSE_TODO_DESC:"将文本元素中的 - [ ]- [x] 前缀显示为方框。",TODO_NAME:"未完成项目",TODO_DESC:"未完成的待办项目的符号",DONE_NAME:"已完成项目",DONE_DESC:"已完成的待办项目的符号",HOVERPREVIEW_NAME:"鼠标悬停预览内部链接",HOVERPREVIEW_DESC:`开启:在 Excalidraw 阅读模式(View)下,鼠标悬停在 [[内部链接]] 上即可预览;而在普通模式(Normal)下, 鼠标悬停在内部链接右上角的蓝色标识上即可预览。
关闭:鼠标悬停在 [[内部链接]] 上,并且按住 ${labelCTRL()} 才能预览。`,LINKOPACITY_NAME:"链接标识的透明度",LINKOPACITY_DESC:"含有链接的元素,其右上角的链接标识的透明度。介于 0(全透明)到 1(不透明)之间。",LINK_CTRL_CLICK_NAME:`按住 ${labelCTRL()} 并点击含有 [[链接]] 或 [别名](链接) 的文本来打开链接`,LINK_CTRL_CLICK_DESC:"如果此功能影响到您使用某些原版 Excalidraw 功能,可将其关闭。关闭后,您只能通过绘图面板标题栏中的链接按钮来打开链接。",TRANSCLUSION_WRAP_NAME:"Transclusion 的折行方式",TRANSCLUSION_WRAP_DESC:"中的 number 表示嵌入的文本溢出时,在第几个字符处进行折行。
此开关控制具体的折行方式。若开启,则严格在 number 处折行,禁止溢出;若关闭,则允许在 number 位置后最近的空格处折行。",TRANSCLUSION_DEFAULT_WRAP_NAME:"Transclusion 的默认折行位置",TRANSCLUSION_DEFAULT_WRAP_DESC:"除了通过 ![[doc#^block]]{number} 中的 number 来控制折行位置,您也可以在此设置 number 的默认值。
一般设为 0 即可,表示不设置固定的默认值,这样当您需要嵌入文档到便签中时,Excalidraw 能更好地帮您自动处理。",PAGE_TRANSCLUSION_CHARCOUNT_NAME:"Transclusion 的最大显示字符数",PAGE_TRANSCLUSION_CHARCOUNT_DESC:"以 ![[内部链接]]![](内部链接) 的形式将文档以文本形式嵌入到绘图中时,该文档在绘图中可显示的最大字符数量。",QUOTE_TRANSCLUSION_REMOVE_NAME:"隐藏 Transclusion 行首的引用符号",QUOTE_TRANSCLUSION_REMOVE_DESC:"不显示 Transclusion 中每一行行首的 > 符号,以提高纯文本 Transclusion 的可读性。
开启:隐藏 > 符号
关闭:不隐藏 > 符号(注意,由于 Obsidian API 的原因,首行行首的 > 符号不会被隐藏)",GET_URL_TITLE_NAME:"使用 iframly 获取页面标题",GET_URL_TITLE_DESC:"拖放链接到 Excalidraw 时,使用 http://iframely.server.crestify.com/iframely?url= 来获取页面的标题。",MD_HEAD:"以图像形式嵌入到绘图中的 Markdown 文档(MD-Embed)",MD_HEAD_DESC:`您还可以将 Markdown 文档以图像形式(而非文本形式)嵌入到绘图中。方法是按住 ${labelCTRL()} 并从文件管理器中把文档拖入绘图,或者执行“以图像形式嵌入”系列命令。`,MD_TRANSCLUDE_WIDTH_NAME:"MD-Embed 的默认宽度",MD_TRANSCLUDE_WIDTH_DESC:"MD-Embed 的宽度。该选项会影响到折行,以及图像元素的宽度。
您可为绘图中的某个 MD-Embed 单独设置此项,方法是将绘图切换至 Markdown 模式,并修改相应的 [[Embed文件名#标题|宽度x最大高度]]。",MD_TRANSCLUDE_HEIGHT_NAME:"MD-Embed 的默认最大高度",MD_TRANSCLUDE_HEIGHT_DESC:"MD-Embed 的高度取决于 Markdown 文档内容的多少,但最大不会超过该值。
您可为绘图中的某个 MD-Embed 单独设置此项,方法是将绘图切换至 Markdown 模式,并修改相应的 [[Embed文件名#^块引ID|宽度x最大高度]]。",MD_DEFAULT_FONT_NAME:"MD-Embed 的默认字体",MD_DEFAULT_FONT_DESC:"可以设为 VirgilCasadia 或其他有效的 .ttf/.woff/.woff2 字体文件(如 我的字体.woff2)。
您可为某个 MD-Embed 单独设置此项,方法是在其源文件的 frontmatter 中添加形如 excalidraw-font: 字体名或文件名 的键值对。",MD_DEFAULT_COLOR_NAME:"MD-Embed 的默认文本颜色",MD_DEFAULT_COLOR_DESC:"可以填写 HTML 颜色名,如 steelblue(参考 HTML Color Names),或者有效的 16 进制颜色值,例如 #e67700,或者任何其他有效的 CSS 颜色。
您可为某个 MD-Embed 单独设置此项,方法是在其源文件的 frontmatter 中添加形如 excalidraw-font-color: steelblue 的键值对。",MD_DEFAULT_BORDER_COLOR_NAME:"MD-Embed 的默认边框颜色",MD_DEFAULT_BORDER_COLOR_DESC:"可以填写 HTML 颜色名,如 steelblue(参考 HTML Color Names),或者有效的 16 进制颜色值,例如 #e67700,或者任何其他有效的 CSS 颜色。
您可为某个 MD-Embed 单独设置此项,方法是在其源文件的 frontmatter 中添加形如 excalidraw-border-color: gray 的键值对。
如果您不想要边框,请留空。",MD_CSS_NAME:"MD-Embed 的默认 CSS 样式表",MD_CSS_DESC:"MD-Embed 图像所采用的 CSS 样式表文件名。需包含扩展名,例如 md-embed.css。允许使用 Markdown 文件(如 md-embed-css.md),但其内容应符合 CSS 语法。
如果您要查询 CSS 所作用的 HTML 节点,请在 Obsidian 开发者控制台(CTRL+SHIFT+i)中键入命令:ExcalidrawAutomate.mostRecentMarkdownSVG —— 这将显示 Excalidraw 最近生成的 SVG。
此外,在 CSS 中不能任意地设置字体,您一般只能使用系统默认的标准字体(详见 README),但可以通过上面的设置来额外添加一个自定义字体。
您可为某个 MD-Embed 单独设置此项,方法是在其源文件的 frontmatter 中添加形如 excalidraw-css: 库中的CSS文件或CSS片段 的键值对。",EMBED_HEAD:"嵌入到文档中的绘图(Embed) & 导出",EMBED_REUSE_EXPORTED_IMAGE_NAME:"将之前已导出的图像作为 Embed 的预览图(如果存在的话)",EMBED_REUSE_EXPORTED_IMAGE_DESC:"该选项与“自动导出 SVG/PNG 副本”选项配合使用。如果存在文件名相匹配的 SVG/PNG 副本,则将其作为 Embed 的预览图,而不再重新生成预览图。
该选项能够提高性能,尤其是当 Embed 中含有大量图像或 MD-Embed 时。但是,该选项也可能导致预览图无法立即响应你最新的修改,或者你对 Obsidian 主题风格的改变。
该选项仅作用于嵌入到文档中的绘图。由于种种原因,该技术无法用于加快绘图文件的打开速度。详见此说明。",EMBED_PREVIEW_SVG_NAME:"生成 SVG 格式的 Embed 预览图",EMBED_PREVIEW_SVG_DESC:"开启:在 Markdown 预览模式下,为 Embed 生成 SVG 格式的预览图。
关闭:为 Embed 生成 PNG 格式的预览图。注意:PNG 格式预览图不支持某些 绘图元素的块引用特性。",PREVIEW_MATCH_OBSIDIAN_NAME:"Embed 预览图匹配 Obsidian 主题",PREVIEW_MATCH_OBSIDIAN_DESC:"开启此项,则当 Obsidian 处于黑暗模式时,Embed 的预览图也会以黑暗模式渲染;当 Obsidian 处于明亮模式时,预览图也会以明亮模式渲染。
您可能还需要关闭“导出的图像包含背景”开关,来获得与 Obsidian 更加协调的观感。",EMBED_WIDTH_NAME:"Embed 预览图的默认宽度",EMBED_WIDTH_DESC:"该选项同时作用于 Obsidian 实时预览模式下的编辑视图和阅读视图,以及鼠标悬停时浮现的预览图。
您可为某个要嵌入到文档中的绘图(Embed)单独设置此项,方法是修改相应的链接格式为形如 ![[drawing.excalidraw|100]][[drawing.excalidraw|100x100]] 的格式。",EMBED_TYPE_NAME:"“嵌入绘图到当前文档”系列命令的源文件类型",EMBED_TYPE_DESC:"在命令面板中执行“嵌入绘图到当前文档”系列命令时,要嵌入绘图文件本身,还是嵌入其 PNG 或 SVG 副本。
如果您想选择 PNG 或 SVG 副本,需要先开启下方的“自动导出 PNG 副本”或“自动导出 SVG 副本”开关。
如果您选择了 PNG 或 SVG 副本,当副本不存在时,该命令将会插入一条损坏的链接,您需要打开绘图文件并手动导出副本才能修复 —— 也就是说,该选项不会自动帮您生成 PNG/SVG 副本,而只会引用已有的 PNG/SVG 副本。",EMBED_WIKILINK_NAME:"“嵌入绘图到当前文档”命令产生的内部链接类型",EMBED_WIKILINK_DESC:"开启:将产生 ![[Wiki 链接]]关闭:将产生 ![](Markdown 链接)。",EXPORT_PNG_SCALE_NAME:"导出的 PNG 图像的比例",EXPORT_PNG_SCALE_DESC:"导出的 PNG 图像的大小比例",EXPORT_BACKGROUND_NAME:"导出的图像包含背景",EXPORT_BACKGROUND_DESC:"如果关闭,将导出透明背景的图像。",EXPORT_PADDING_NAME:"导出的图像的空白边距",EXPORT_PADDING_DESC:"导出的 SVG/PNG 图像四周的空白边距(单位:像素)。
增加该值,可以避免在导出图像时,靠近图像边缘的图形被裁掉。
您可为某个绘图单独设置此项,方法是在其 frontmatter 中添加形如 excalidraw-export-padding: 5 的键值对。",EXPORT_THEME_NAME:"导出的图像包含主题",EXPORT_THEME_DESC:"导出与绘图的黑暗/明亮主题匹配的图像。如果关闭,在黑暗主题下导出的图像将和明亮主题一样。",EXPORT_HEAD:"导出设置",EXPORT_SYNC_NAME:"保持 SVG/PNG 文件名与绘图文件同步",EXPORT_SYNC_DESC:"打开后,当绘图文件被重命名时,插件将同步更新同文件夹下的同名 .SVG 和 .PNG 文件。当绘图文件被删除时,插件将自动删除同文件夹下的同名 .SVG 和 .PNG 文件。",EXPORT_SVG_NAME:"自动导出 SVG 副本",EXPORT_SVG_DESC:"自动导出和绘图文件同名的 SVG 副本。插件会将副本保存到绘图文件所在的文件夹中。在文档中嵌入这个 SVG 文件,相比直接嵌入绘图文件,具有更强的跨平台能力。
此开关开启时,每次您编辑 Excalidraw 绘图,其 SVG 文件副本都会同步更新。
您可为某个绘图单独设置此项,方法是在其 frontmatter 中添加形如 excalidraw-autoexport: none/both/svg/png的键值对",EXPORT_PNG_NAME:"自动导出 PNG 副本",EXPORT_PNG_DESC:"和“自动导出 SVG 副本”类似,但是导出格式为 *.PNG。",EXPORT_BOTH_DARK_AND_LIGHT_NAME:"同时导出黑暗和明亮风格的图像",EXPORT_BOTH_DARK_AND_LIGHT_DESC:"若开启,Excalidraw 将导出两个文件:filename.dark.png(或 filename.dark.svg)和 filename.light.png(或 filename.light.svg)。
该选项可作用于“自动导出 SVG 副本”、“自动导出 PNG 副本”,以及其他的手动的导出命令。",COMPATIBILITY_HEAD:"兼容性设置",EXPORT_EXCALIDRAW_NAME:"自动导出 Excalidraw 旧格式副本",EXPORT_EXCALIDRAW_DESC:"和“自动导出 SVG 副本”类似,但是导出格式为 *.excalidraw。",SYNC_EXCALIDRAW_NAME:"新旧格式绘图文件的内容保持同步",SYNC_EXCALIDRAW_DESC:"如果旧格式(*.excalidraw)绘图文件的修改日期比新格式(*.md)更新,则根据旧格式文件的内容来更新新格式文件。",COMPATIBILITY_MODE_NAME:"以旧格式创建新绘图",COMPATIBILITY_MODE_DESC:"开启此功能后,您通过功能区按钮、命令面板、文件浏览器等创建的绘图都将是旧格式(*.excalidraw)。此外,您打开旧格式绘图文件时将不再收到提醒消息。",MATHJAX_NAME:"MathJax (LaTeX) 的 javascript 库服务器",MATHJAX_DESC:"如果您在绘图中使用 LaTeX,插件需要从服务器获取并加载一个 javascript 库。如果您的网络无法访问某些库服务器,可以尝试通过此选项更换库服务器。更改此选项后,您可能需要重启 Obsidian 来使其生效。",NONSTANDARD_HEAD:"非 Excalidraw.com 官方支持的特性",NONSTANDARD_DESC:"这些特性不受 Excalidraw.com 官方支持。当导出绘图到 Excalidraw.com 时,这些特性将会发生变化。",CUSTOM_PEN_NAME:"自定义画笔的数量",CUSTOM_PEN_DESC:"在画布上的 Obsidian 菜单旁边切换自定义画笔。长按画笔按钮可以修改其样式。",EXPERIMENTAL_HEAD:"实验性功能",EXPERIMENTAL_DESC:"以下部分设置不会立即生效,需要刷新文件资源管理器或者重启 Obsidian 才会生效。",FIELD_SUGGESTER_NAME:"开启字段建议",FIELD_SUGGESTER_DESC:"开启后,当您在编辑器中输入 excalidraw- 或者 ea. 时,会弹出一个带有函数说明的自动补全提示菜单。
该功能借鉴了 Breadcrumbs 和 Templater 插件。",FILETYPE_NAME:"在文件浏览器中为 excalidraw.md 文件添加类型标识符(如 ✏️)",FILETYPE_DESC:"可通过下一项设置来自定义类型标识符。",FILETAG_NAME:"excalidraw.md 文件的类型标识符",FILETAG_DESC:"要显示为类型标识符的 emoji 或文本。",INSERT_EMOJI:"插入 emoji",LIVEPREVIEW_NAME:"嵌入绘图到文档时,模拟嵌入图像的语法",LIVEPREVIEW_DESC:"开启此项,则可在 Obsidian 实时预览模式的编辑视图下,用形如 ![[绘图|宽度|样式]] 的语法来嵌入绘图。
该选项不会在已打开的文档中立刻生效 —— 你需要重新打开此文档来使其生效。",ENABLE_FOURTH_FONT_NAME:"为文本元素启用本地字体",ENABLE_FOURTH_FONT_DESC:"开启此项后,文本元素的属性面板里会多出一个本地字体按钮。
使用了本地字体的绘图文件,将会失去一部分跨平台能力 —— 若将绘图文件移动到其他库中打开,显示效果可能会截然不同;若在 excalidraw.com 或者其他版本的 Excalidraw 中打开,使用本地字体的文本会变回系统默认字体。",FOURTH_FONT_NAME:"本地字体文件",FOURTH_FONT_DESC:"选择库文件夹中的一个 .ttf, .woff 或 .woff2 字体文件作为本地字体文件。若未选择文件,则使用默认的 Virgil 字体。",SCRIPT_SETTINGS_HEAD:"已安装脚本的设置",TASKBONE_HEAD:"Taskbone OCR(光学符号识别)",TASKBONE_DESC:"这是一个将 OCR 融入 Excalidraw 的实验性功能。请注意,Taskbone 是一项独立的外部服务,而不是由 Excalidraw 或 Obsidian-excalidraw-plugin 项目提供的。OCR 能够对画布上用自由画笔工具写下的涂鸦或者嵌入的图像进行文本识别,并将识别出来的文本写入绘图文件的 frontmatter,同时复制到剪贴板。之所以要写入 frontmatter 是为了便于您在 Obsidian 中能够搜索到这些文本。注意,识别的过程不是在本地进行的,而是通过在线 API,图像会被上传到 taskbone 的服务器(仅用于识别目的)。如果您对此敏感,请不要使用这个功能。",TASKBONE_ENABLE_NAME:"启用 Taskbone",TASKBONE_ENABLE_DESC:"启用这个功能意味着你同意 Taskbone 条款及细则 以及 隐私政策.",TASKBONE_APIKEY_NAME:"Taskbone API Key",TASKBONE_APIKEY_DESC:"Taskbone 的免费 API key 提供了一定数量的每月识别次数。如果您非常频繁地使用此功能,或者想要支持 Taskbone 的开发者(您懂的,没有人能用爱发电,Taskbone 开发者也需要投入资金才能持续运行这项 OCR 服务)您可以到 taskbone.com 购买一个商用 API key。购买后请将它填写到旁边这个文本框里,替换掉原本自动生成的免费 API key。",SELECT_FILE:"选择一个文件后按回车。",SELECT_FILE_WITH_OPTION_TO_SCALE:`选择一个文件后按回车,或者 SHIFT+${labelMETA()}+ENTER 以 100% 尺寸插入。`,NO_MATCH:"查询不到匹配的文件。",SELECT_FILE_TO_LINK:"选择要插入(链接)到当前绘图中的文件。",SELECT_DRAWING:"选择要插入(以图像形式嵌入)到当前绘图中的图像。",TYPE_FILENAME:"键入要选择的绘图名称。",SELECT_FILE_OR_TYPE_NEW:"选择已有绘图,或者新绘图的类型,然后按回车。",SELECT_TO_EMBED:"选择要插入(嵌入)到当前文档中的绘图。",SELECT_MD:"选择要插入(以图像形式嵌入)到当前绘图中的 Markdown 文档。",INFINITE_LOOP_WARNING:"EXCALIDRAW 警告\n停止加载嵌入的图像,因为此文件中存在死循环:\n",SCRIPT_EXECUTION_ERROR:"脚本运行错误。请在开发者控制台中查看错误信息。",LOAD_FROM_BACKUP:"Excalidraw 文件已损坏。尝试从备份文件中加载。",GOTO_FULLSCREEN:"进入全屏模式",EXIT_FULLSCREEN:"退出全屏模式",TOGGLE_FULLSCREEN:"切换全屏模式",OPEN_LINK_CLICK:"打开所选的图形或文本元素里的链接",OPEN_LINK_PROPS:"编辑所选 MD-Embed 的内部链接,或者打开所选的图形或文本元素里的链接"},zhTW={};const localeMap={ar:ar,cs:cz,da:da,de:de,en:en,"en-gb":enGB,es:es,fr:fr,hi:hi,id:id,it:it,ja:ja,ko:ko,nl:nl,nn:no,pl:pl,pt:pt,"pt-br":ptBR,ro:ro,ru:ru,tr:tr,"zh-cn":zhCN,"zh-tw":zhTW},locale=localeMap[obsidian_module.moment.locale()];function t$d(e){return locale||errorlog({where:"helpers.t",message:"Error: Excalidraw locale not found",locale:obsidian_module.moment.locale()}),locale&&locale[e]||en[e]}var html2canvasExports={},html2canvas$1={get exports(){return html2canvasExports},set exports(e){html2canvasExports=e}};html2canvas$1.exports=function(){ +const EXCALIDRAW_PACKAGES = "PQKhCgAIUgBAbAlgYwKYDsDOrICVUCGyALlDAE6EkB0ADuQPYAmAriYg+tQLaJcBWmMmUgBhBrQCe5RAHMAFsUgAKZAEpIAMSKoARgwYBrADSQAkumTVIBdE0iJimGwDMXiJAWKpM1YdEgAFXlEZ0wGFnI0SGRmHFDIJDQsVHsWO1RySGJ5HABZM0DElAxsSBcIuwd0bNyRABkzUQBRADkAZWbyj3ianJxGBiUmREoSBnJJSAYXWoTwyOjiSlQ/aGBwZRd09k5lNQBvAHIWMsxllGIjgG4tneIOdFVjAA9DgCIGXX5UEneAXkBxEktFQM0gqBetAmTgAZLD3ukmKh3OhUu8AIRAkFg2bcZgseCoAD8L2UkOh5CcagAXO9tpYHpwAdjQeDkajUPCOXxVgRuExiTy0coANrvCkwzDvAC6r1pqn+yAAPsrsPAXK9VNR8ERiP8DgBfNRqY3KHKhYwM3ZPdQHa1MmpkgiHRAuZToQnwQH/Aiqz7fX7ETGs3E2NSUYiRGqe+Dwa4Ef4ANXhBFFSZlqrT71gsEcmS8E1l10j0fp90eLP+wLZswIxIINNj8ENDsekAA7soCMZdMZUIcLb56BJML7rkPqLF0N4XvrdBOQr5KC4xwB1RehagsWhMLyZf6oVUADVbFc4kAAmvsjW2LwBpbu9/uDpd0Ri0McETe+aez+c/tQK7roBO57t45CHieZ6Mu2ABaT59uAA4HAAbgQWTcMYTAGoaxjIP8zbGPIhFetcboel6WK6GoFTkMo3DVJAqEMIg9gAAxYv8uhASi8LKCRPErmoxgsWxkCcYCPGGKgkj8QR7zvAA1NJskiTRBAEFOBBxsofbcGo8IYroWnyAQmAAPIdugAAKH6ZMCDGGbCyhMKK3Aytx7kymo1zoVk3oYbILDcBgTjUES6CyDkAC0ABM5HugAjD68BqEwU4hPATCUOgh7XKg8BlBRSUADxpfaEzKP55T/AAguQ5AEJIyhpcYhj/Ox1yGOV3VKUptGioYnlBSFYWYENSlxTK1wZcgWU5Rg/wuIaFEEKm1AcgQhLEHZo60VVjF8IkvqbSi23wLtH6YMYaViRxPpuR5/FPZ58Deb5pbkOgBwACS/TWuI0pIxiAzSPYyZINLIMYK40vIxgjp+NJMMYAD6DDWZkNL1FOkS5cQhowTakDoAQiGHF9P3/YDMzA6DOLg9QgPtbJNJ9nDWkroj11M0jN0Y1j5BM4LaLkET4B3jUeTdpTqBRt9AY/H8Pq03W8LNlx62wlpNM4jMPqSMTjrTOTLpoRhkC6AaALvHSnXvMYdvO/8cXvIaJby2Wv3KVzqC0PAOjKMAor/DSMrALIVrnk85tU1booEDKxrG+2rQUwcVNK0GVZqzYGtUYC2ua6dkPEgw5OKUpWmQ7SPHEAw7QXFFygAMwAGymlLkAAEKIf2xhYUwhw1QReffhRiIZJyTBViqyrvPoDBErYc9qImzZ+ZbJEYkliWUXGPoujvXWFWcHaOPNqiHMg5k4O85wyFFdu32U7yetwuiZHbJ/XLolAEEMNcV+98vjK2DDSTAF9iBX11gDfWLgb530gFDEBkBaCNhPkTCi8gIxe2+pAEiPYcJMAEiJRMikfTcGJO8agylwDpwRuxWkWFb6uTUMSck/xFLGBLtrLhfsA5Bz3E7X6sJgDvDUEpd4EiRJ91Rn2VATtHZS1lpnfBNQCDGlpCXJg/EZbDxeoRcmqNUBKWUBiDKkNVTyHhPIagkNHoONkjQu2ygq5WLUrxIRaBXI9neGI2R0igkunUnQU48h2EiT3iRLq3BuFVmobQu23BpF0n3mw0JdFqqW29F1eApUtKRWivIa48B+o319KKeAM0aouH+Kk9OMM0rXHkEpf4fcYaKKtNhU0Z94junqc6ES5ZYLMlVgg8oB16KJhcNpXSLpbqdWuBiRUWk0Rzn2GoTanBUDXDUARKw6F4AsCUfUxpzxykDWIu0zpz4zm9IKkVAZ7iwE5x9OoHIjAOxW3+E3J+shZbGGaI1Kq7wLKBhIM4DCOB0BDGYjpcS5kbB4CoEoeaHh7BbEqEwGkkB6HuNFG8kgkAIXgJlFWXQNDiVKGgfISAkNnAHGUmSoMzjJCYFltQfgrEniO3xVI92dsaLSO2eYWYkgIiQFCrYJQDdIC5WRFkAgMRl5EhJuCDF2VcqmFODgWwNhGrNWqOcQgGVJGewVjUeQqcLyiH7ihCizYi54KtTYLeWQCKijlDhLqfcewwx4Tw1RccNFW3mfAckxhiEVONJa6MMRbU1AAI5m1dO6GKKUi7UDRucLwpwR6W2tlpNGlBMA7T/txfYf9ma5CeKomiBwKLsSPjmvNUZMCqkza23NxB82YHXm2vtHb/hJWjTmstO1uJ4Qbem5QLbs29v7V2rNp0l0dsHeu04rtx2lp8FO3Qcbu2LvbacfiJbT1jnAOxXdk7LrcVNCVHtl7XUJpLXe4gZ0XAXWIIub5NgJ37sutcJNpKM41VQKdYpOQEzhMwJEmiCYaTZOuOxUqezC2esPJmgAfHhsdOE0zIBms20qAARVyvYTREc8n2NMqBPKmKVE8so/9CCGBsETbutA1HxwXVBjAJTiTNnBqKdiydu7NDUc21t0HcHx03jVYtYm5SQa0tCHjvkKKoC4o2tM4n8qNmyaPTq2EBNRRyO1f4TA8M4b3sgUqQDMOENdiAVQSkkpqEzUstM8g5T1LaWO2QVSXAkfdOxHDFH4AvloqVPRsIIsUajmlThNH/hRzTKFw8+FloKjS9F3znklEEVwSxl5Lg4vwkS8oKOA516imI+l6NoosvFeWmVq2ACONaMNPHQ9ksY6QAoz2RtJmtLhCpBYZELwYo8Qm8QKbkJ40EMkkqYkyAmZsVm9QNioGbJqOM0W/4PHyC+RLtxfZTb3TOqkhGkyyBDBqCk6djrFE5t9qpIERAoVSq+ie8oU7vZqDzcWy8bi1AKSjC8I8L7oVjAWWUMmqjHW2OAMrSd00oGACKaiABe/xd7XH2y6feGIWBqCdYXY7iOTQsAJze3Ayh2i+X6RbLI1sMfXHO7oeEgRlBY6B3mz733UAxRdFxwb7QM508J7j/i+Pd79nJnVESdV/iZt8poenHqYj/CAcsSQBx9uIeyXlHjyaztU/QPxVZXBIdNUdLD1AOGaJZiMt+rZl2arxK4LfOM92gGTylrnSZBkDi+50vAAPpE4zXHAB1Lg9AOAyGBPUVAqFCo65wtwD0EOoRQ8dyL37iHraoWraMm0IfayQEFBH/3RAOq4ryoCc3zkpMW6J3pPpzzIDt7O9Ti3q1rtW7UDVYLGJT7PLZy5zn53bGwj5wL+xQviBO9m75cfSVethtkK2PgkfDd5SIh1GGWvd4S7GTUD3cs3Vl682ZUqiB6y7xpBP0DjPzYAHFxwAAlVTKB/3p2MDMC2VAz5xG0ODV34HJlUUOHJjv1NCo0NBqkkD+UkE/mXmoGyXeAARoEKlQFChnEkURkTHaHQP0HgCwLBVwM/UpD7XgGIKajQIwMoOwJoKwKalkEIODBEkwFIPIMwLYLRWBwuBIDRnxGRGIL7WYIoKoPohwOEJHHcCJHIGIPABYH4JYLkPcXYJHFQjYm/hEnQhkMEOoOEL/EhB4OMA7E0NkKEL1DkJsPICYD3RcGIJeFsNMPkPYPLUwFBBSGIMkE8NYLMIcNCnxGINx2CO0IUIcMDlx0kGIKTBMMoPzAdwmGMGPANFCDyEqG8FxRDRv2jHP37HQGTVOVOU0AmDQAAFVdx9xkMY5+47Q8IMByjUBTl8AfFUAm4GiQ1nwYYw9WiyiKiej5ZejvBGjL9mjB5DgiZ2pExWUaBzJMA5B0BjA1xcJrgOx3whghgcQdtMBdQSBxBuBoQ0QZwtidiRwG5AZgdxjh1IN+jG1J4aUQxqxJltYK9HR3jx4C44wsQXQvlMZe9QV5DsBiAJjUBlBqBYTaRshAEfAbAagaVphZh20cB/In9dAiRnB5UwJ9xphlVyhBsOwQh5oFUNFoUUTIUlBwQMSEUZACAcSfA6FfJwBJwCSIIIcRiOixjITHjzQlxo1nwH4Hj9xJEPZrjGBbiDi6Jaj6jvBlomjzZOTFTMgeT2jKjqjUA6jwJoShwRT6QdS9SJTTRrhLxdjZTQR/hpS9jAYdd9R7wrT9ibS0QflLwJwpxOBH42AG5IJ7xupyZiBrCXTAZfJP1QgbJIhUBjjiBTjziwptdR5EwGompJBDi0zmpo1FjaSwyDizJLJrI9pQQqQQZ6gDRkB8YwomwvQ8ITIDRIZX8b04YJ90Zc1CoXBmz2yFgohUBmy8I9x/hgAAAdYAJSSOYwYLA4KsxqGs5sPCAAKQNGWFsFWMdFrLjA9leNpKrzDFLLom4FsDQHhG+MrAmWrwPImCPMsFWDhQ7GczqkTCvPIBvLQDjxqlQmVOmKKIISfOoHvP2CJlZxqkDn+DI33GMB7kTEDgAsxmrS/NgPUTdVgsAq82gqJhqmTX+G9VhhwrlFEETDHSPy9Cs1bmMDPzHRlzHQVzHWgO4WDwvLDAhKdwiGIGJBYpFzYs3Oi0IAYpjj3M1RXnIFYpYHYuQGEtEuIB4sHgoSRBRF5Fni4jzghLMG4FChGH3A4vljUo0qf0mM3inmFHRGUsmTJn0NkELHIHhHugki4nMrkCsuB3mlSEJD4FkBstYg4nsoIAsqcswBctYCQCikOIsFoDEpsgwBGCig1l8scv9OctyCCvctCvQHCt2iipSt0D4FIQcssoSoCqSrcqil8hqkAMV2/yIjV28yf3+AAFZiJExwBvMajvybQbxKcATARP9nNEw79WlExvwlNtcDcDhrZP8LEb1xdUQD8xriQQCFRyqx1KqvRMd+lIAlrtz3QzzxlQxwQjzR9LYzA2rHQbwjzlAajzT1rJ55KZ5fjJk8gfA+DZBUBRAzJ0A0QKp9R3TIBHrMBnrXr3rPqdcILqw6AYQEpaCYQkpqBOBQp/qCAXr/gajrhjqkKILwbzg/qAaD40pgKe80amjDhoCLrjBmEPZ9QDg4zRBqyZwyNQgMEYFchhYo5qbabiArIxYcZjA2a5yZxoKmbxB0B3BZAaRFzjB2hArCRsYDg0Y0YbiGA5aZL0g80WS0ZdLUh9LUA7Jk9HAoYqKsA+01aajsByAe54AGAHt3KdaJg9aaQ4pjAVajaiQ0ZWhrydIbaU8oZyL1DDbmSXazAmAiRPa7aGqnb/bUA0Z6hMYQ7gQaQAAWR2v2tW8gdINcRweQWOqGZ4w4KBS+SJc2NBJKaGZBOKEusoVucunAeOquyAOq9mLrWac6HacGf4VuZAy2AiIBDqb8UavrICmauMQ3E/eY8OtWjZaSwog4POpm5QR7Gc5BYutBMutBSu4a1uP+RuraFu62QwDurDbui7PusNcmLuffIeg4EevCMel2wq1yokQi+vB7KY9qkbfCZzSDfq7OFWPa2YZAf4+ALiZAThQ5M6QOEGBSD+L+VQpizVKrUqYBsxDbAcaGfKGe2BJBMoYumqHCTNTe9jYBUulGV2OqrqVHIBNBeunCcAJKdiAAdlbjofjqSgAA44oN7yHCGyga6cIkpmh478G0dt7LpiG6rmh26cJkAlImAExsjcVCL+p8JI8A92YeZdbU909CpwZjAV8ndoZ+x88HcYcRcUYdGYRQcaRM0PZkAcMSRuxgdzGMgwcYYEdyBo0RIbsB9nJEwW8AdnJlBcdOFCBlAVdjBqrPMaQFcb1F98IYo6s8sHHJsnHrN4dEd3HHbVRNB/8ZcGcmcTRPoT7r7k6Xbb5bz4BH6o8G8X7TrzYtI/dKmHsY8Wwk7VaXaOwmpaAKmVGp7hqgF44kKTND6Fxj63UtICBaAA4WpDTRpuCB098yYL6r6inWnI6Xr4z2as608M94BqnHgbx4496WnnbI74MIhspLxEBCoCiexfaVm912jzgbICA+BJ6iajQjmI60Y/w+BTlmgXhfgxLHhdm9hDgWBMnsmgDGdmdECb7I6ME9U/mAWNykLlnjm0Y1nNBRhzgumG83bkRgWnhfyahW88I1nIBYW0Y0LkKE1UJUXPn5TUBNAmpQpcA+iVTDgIs/RlQko4o6rCl1sfTl5VhMhGB5CGWmX+RYzCS+0ZJoV0EGB1zEAM9qglAv5iAOxUAMAJJkT7AeWGryhqj3LyhmWBh9xnAQgFBMhagDU9XyhPwHBnA4UlBy0JmYR0RaRaq0N6w8gvB7EXALaqo+HW5gAXQaQ6q6W1a9plD3KeKiZgFqA3rMVcoDQjzaAaRRArQJhmgiB5ACXmjDh7UewkKeJxnJmhTLRwAZnxpED1A8JYh0hXnpjzZhqupC3o4fyxr+o40+s8IG4szs72XqWCE22p744tE1BVRvU8JOB4AB2m250MQZZQlgSfkQVRX3E4yE2FpcpYb0BZ2IQoQgxUhsgGBKS0AlX9VIBViooiRUU9QIQiRuCYgFo2TltNE42rAEzdlLiOx42JWuCkymp42o2ehII+1gOYyv2LinT43/lLhcjkR/g+DYPTh/DsB/gPD425bOhRBcBmhAh1bWhAhmhcBWg6p6h2g0YyMLJXaLICOajOg0YLJcA0ZLwLIai0Y1wzB6h6g0Ye5mg0ZNAzA8OyNqx42JLdlmhH2kznj36rtcaj5VRbL+MgT5B/012wVN2JO0QpOCCwoYS4S8Vgh9VyBgon3uBThVXL24yH29OZxTBdAxKUEpUMF/rj36ECBpFX2IM9dyZ3n1NroRJCN2UrM/ZNQiEc1MYxZ94S5RsvK7LbsVx+IOohIURiJ/hcZZyCZSr4vVtVI5IXIcIq58utN3QtJAYNo7jhGrp9pQLToqvm7LoSzMBrhslZhjoNI6nI89IrRnJjJTJzJOaSyHIWpEF+JUAWtPJlOfRdBJvPLxJVt4BiR3pQt2ZJvTQ6lfRTOxoZxfA5N4p95V1EFVgtVFo8pkBXtkpSpEEDhvR+2thfJDsshgsupZBrvrhZAKl3pZARptvZnRRPvpoCpMok2loWwqY/p4Fax6YwZyucRWYoZUY4YTB+YaQlFRZsYbVrGpwAFvAhb/wTq9namDQ9Zof0JjBwAvn2akwdJTltGqe+biAaeTlUAy6ew0YvkzVxAG2aQb09p9ClUZKhby1QphYiI0Zqvme6fxfZALaTJ4BWhJXY3YN+eDDIJIe1YaQND0YLC5xwYPYx2E2fSxpIItFxPcfUBdPuD/g4JzfCBvBtBxhJhCe9hm2js4JqBsq7Bcb3Ga1AZxwe27f9x8B6kkKIesv5y6zse6InCmAQ+XfY4iWNeEEaQbDYYorsYet43Qhme2Ireky8h434jUDR2NFk/oeoj0YMFJALaCBcVZbL1LGx091y0RGtF0Y+BHAaRU0P2eACCGAE+M4IfSegYgiGZQRtHwBYgziYUaRpupJhMvR2Ze/dGmosBHBHhB+ICxr/hFzmY1/FXOBrg9/Vz1/HQtjRrT75nZqT+D+N/OBp1seKW9Qt/Xx1OwT3E9QDPqANAEgnWr2dwdBY9sdBHCsASYjnTFM4HBCbsLUT/bADi0aY50h2NQWQHjEZ7bh4ByjBvBTDgGvVOABPUvm6lQER8ZwGAvATOEsKyxcBZGPQCwFkBS8niKpKjEaHjZ6oaBLgEVqkAYGv9kBkAYgezTIHsDOBTABgVQNYHYBmgbgIMFv2YHxx+B6AhFlIJIBPhwANEXAYHUH5Es+BaAgmGQMDpAVxBqANSqWWhwZ4f8tgIOowKbYDEtB8g3QXqmMEFgHgZgiwUSHzbqCUgVIR4JII4EkAZBjaOQToLCh6DPBjoHwUGBwGGD6gzUNiuEL8FIDAhJAz9HqmiGSoxKcQ4gJEKsB6pHq+IfwbYKCGkCch/fLIWQPwBgCDwsnO0IkIEF6pyhbATIO4MMHx9CBCaOwcELqEogxB2Q7AFCR4E1CFBvQwUuLjjw9CeikgSwH8wggLMm4EwKwa/RsG8D2hRQ3oRMOQBTDMgMw/0tCTfq1tDBgQO/ufzD475ChyQ7AAcLXL39CW2PDPOQFWIP93grDagHFGoDsR3Y7JM0OyVAAQAAgCAEoCkDvYkARANBGKEwAYDcBdiYAx0DwD4DcohA0AEQOICkAyAFASga+FoB0BLwTA5gSwNYAsEOAnArgaNmazWA/CYAwQeYBED7KqpkQDrYoMkGwBpAMgWQfoL9UKD0jSgOACoEiCYj9AGgTQNoJ0G6C3tjorIwYMMFGBBgJgUwcEEOCvZUilgKwUkRsDuAdtQAUABDpsMQC44sgrcV4a8PoA4BlANNc4OCN7gsBMUGgZUGyMCDgAQAGwE4GcFEJXBbgqiAXJ/A+BvFYGswSUFSEwCnlbqile6tXgkLS1iQn8ckFCClDp9yikonQmikkS0gdq6AQSrMGMrcgFKaIagPyEFDGUxQEoKMX6MdixE/gcoD0TSH5z/AscqodUJqAjFY4dQaKajnkFwjGAGxcZE0GaENJujB4jabuIn0qj0Rhq7wRQMQGRjABgANBQQLDVM7AAwRyATAMABFYTBQRvwOIOQGoCKBuAS3PgFiVlTcJq4OWezIUj+7jQIogmGDFIwGi6B2k7wHWKZwmieRlIGAWIMiBqK4Amg4IxMjOG7CnjduDWHyG+3eB5BO+7gY9jZ2XFZAAAxL7GkTXBmIoQRwPihUjSIDWLI3ICSTjDSonqiNHABMHJZlBWRcKdADFF4DoA3QlzewMiFQgQh0A+hRgOgCfZ0RMJ8ACEGCWpL2A6+IwR0DpEISFRaA2wViU4XIlRRfA7sAbJflJi6AM4dUaSRAWuCyTuw0iQirQAVioBHYag7uIpO36/RZuScC7NkkTBdQCApUHiHJgTAVJkAqAriXpETg+RQMyAfgNJndBwQ5o3XJgBlhNBUwJ8+8VyRGnJCeTX030QnBRCYD8BmYPgTIaEnjgeS7J2uVALIDik+TvJW+buKgCcm7Dek8nc7P/QSwfJmYOIIKegEJzoNIkecRtGgmTEvxkED8AQgwRpDeSuolUpeCvBTE0hQpRUkKcPi6pKhOpVgIgGgFUmYAe4BgVqS10GrMwGA0dDVuQEIrYB9gwOJINCRvR1UCmVqd4OBAIAxR3iXxDCE/m2lawm636FuilIvwkwXAGUgYllM6rehAQqg/0IGLRCzxvRVsVUOlJmLDxOpXUDqSlJi5U51ApU7UOGQXoV0GpGiYyFw2rpgyrUu8GbpDLrrQyE0oQRXunEQxoJ24iMghMjIICoyJ23LF3NvhhmpTBs14TKaYh6SyBXwW4Aaf7CcAjShWa5V2DN1VCtxmZyoeOnDMnBeALgjnbwIr1CjWZAI3MmQLzNQD8yfAGCNAPlEnAWdzgJtbWvZDLLMZJwSMEbuLPHCTh/ewzN8HwXIkPBccupXABWRcCARKA+IDPM0DOLAg4OUUdLKBl+ikIyZH9f4LgE3GDdiyisxyDRGJC4BRQugGUDxT+k9SSQq2VYGDCYCqhVkcUUyeeIsy4J/QDAd4qoJUynkLI7xWbuJn9ApjdMooJKDKFPKtB05ucnyBdJ64wwlEhiFyARGbBBdVQnjEkI5K7z8RPGwDP2ObNQB1RiAPMsStCRohMwISnc7ud4B65Vx1AtIVYLLOIDyzhuZZBsKKFWCqyyy4szyC3OJCszAQYcnEMSBfyKRoYFY62HyC7kiye54sszIfKHlizJWfhHQLwi9AfIGwvEduYPOPnDy+5XCTeaCByzryoI7Mn0FyFhAT575u80edhAfkDyj5iAUWR0Eox9h1A/c+WM/MgU9yy5+TUDEQGckKci4Cc3cqZWrwugFMZEWZB5R1gtYfuWYcULmDSJWViwWcRir/RsANhY23cXQMgH7hT8508/X0AOFGortQS67XyIaFviz1h4BwAgJBj0jWYRCDefft9gWlHlZ6o5J4NAG7BKAOEagYACaHhCzc85/od2FnBHIpjq4ZiLRMwp2HMCKIGILlmgCKmKRgEkGHySZg04bjDRGCSgL0QewXD3yTi98P7BhTuLDAniz+rlwnCTB5ONEN7JoIOC8KnF1aPCEsU/TGUZ5Xs/Mp/PeD8xHY09eWHmzf4gkYlAi40E7C9H0KQ+6qYgPCBKVsppwvpEgIOFCUVKaAVS5YH6R67epTQQiq+GHhwYNJDQ9Sz9I0tTrKCewuFNQazlGo8R6mQFdpZEjDzZ5DQXXXSDxAVrhlDQoy0JdEo/4fCplTkA4LMqv6CKvAHSudNwG5CnlH47lVMdKikUPZDgT3CEA0iuWGBgcAcRwO4gMXEF6kGUPNA9ieVIBMh7wN5SJGCyrB9uY6EiHMhBXXAyo6WeBv8HnwTcfuXEFwKKD8z7J5AMUGKK1yqiQrfsxCtDLCo+7oriI6KinO6HhUyhEVyKnyPJyShcRZAqoGlYCFwQ7LT2FEWQISrRUxQyaOGeQG9IB7krAQSKvzM5g6j/LDFZK7xIHF8TvAbASgH6sWJlUCpYMIwPwuA3FnwhHlfACSiwGRCcp3ghSYiegQiCYAcMkiZLnrglVBw9VtgTgIatOAmrx0yqoRJIHFkmg32DKQ0GSR6DKAoVuK37LgkNDkMiY1/C+lLMVzeKXFfivtB4qahSzkAhM6MN2F9APzHVqqyVlmAApK9FIHCFhbLBpDgBFIoGWQBlNzrQJYEzMRGpgxwD10+srCuHqCF8hF0MZNa9xNEISIWoi6ldZte8HaCodOR7axegAE5MZNQHNd2t7UpB6goQHgvDPYi10V6i9atSfW4g7CCpn83eOQnhlJRi6Y7ZdfYzuKKpMgxgdddGk3XDqbAu6utUognwbrquw6gtaBmRAYKbs+CsNJvCDwCUXpL60ZptAZqprQo6asmP+uVBvrtqZy5+J+qKnupAZhdZBD3F0B3r/23Bd4PDNEDwas4NkGEDpGQ1oJNWd6kDioWw3IIOBd6uDiQE1HIap+yCF6iRvHXYBCNZQXIDRr8KcjJ15wd2DuXAQXKXQ0G6gCPxmCVq+BotKmPYxTXNRxZ/ofHpYUkRedheJvejTgHkBCaNE9jL5vgMsI/qVVYmtNQvEk1zhpNtCVXkqnk0OB+yw1P2MyNkZaRRNzqyVgmH/yJgeI1m8TcqB4iAajwC8R2BQh2k0Iqi5AWPiH3cTVxRUzsXzf5pRAWox28Mn4GeuLQaanVzmoiNzmJDwbH1l6vGcBP77GbAgjYWLfLWai18ZGE0tGJ31/QjME0qWrvG0oOWRIWi8aghAuW7jyBi10+WLQ6XAA8a+0lMkGTgDig10s4hFFysZqHXCbHNv6rTUBveC6aeCMm43qL2M20Nh1ekHNLrwSVjabNE2qbfpuoCGbv4m6lhnepoHyBJAOUfcEwEQ1hR5t26pdal2ZHRpToTm7Tesm008JRtmm9be5vcTeb3goWjCHHy6GwTJEIWiYGFrcINrkEdDBDZwSQ3wzF1bqBcGgj60aJ3gGGqkFhvhmdqkduAAwMGHhlNqkdgQKTZurx1upH1aM5BPtr6w+gOBNCUjcQHI10hyN8MuKGXSzgWQ3AAVFYCmM3Us6kd+G3bZRrKBxQrt60yWhIHUmbqMdIu2jeLqLrDakdPa5jROqnXGbeWd6zxe5R9bkAZIqhU9WglnVF0Idy9WuklBrpF16676y/Bcpoh9Y4tf69za5u00gb3EYG2QFbsg2HoCFW5buDUTTTT1S1ZUz4gJsXijTCAbUyqVA2/i10H4zcV3VHsenogz134SqW8UT1HSf0d692KBjkBqIzNq6vZMJomlwpkQLq08nwHSpVhyuU0zGJkDmnQl/G7wFyg9n0AvBKU/oJqCMETk+hVBXcQbIgGa3DVs9LoGhI3pkizw6QxyU5I7AIjxLqAazIbp7MkA0COdiAVSVVDqY+kmlTvFJUohohmYq4aYf2aTgG5FlbIC+puQiHj1KV6FuUqqS9KsBrNTydCj4tXisAQlnZ9++WFaCVD3Ff0M+xJWfrfozlOAItSIBHW7JrNslvAk7t1yHCIEISebc2EV19itd/J0zTHL5D/2ZiFZYussv3AOAYATeYBqwAQdF4R1u2ZfNZgwMgMxS8IEJKg1PSQPVxaDDcWgJ4sMAxskKJaCfagDYMHhwAm8ZEESG8A2A/ZycINd3Bsi1q4COabg7wfID2aZDtPHgzGu13/A+9ssHvZJP4CApzYFir9cUT3i560YshlQ5kFJzW7wZXUEzDxEoNKGEKlsJAwmCMSD6OEdTXIA9lSA0Iml6kukN+meR2wtI3B3yImBkZjsgGnCObPLFEGLJr1r+YmZJKxxSHRFvof/EZSwNX7n9YYecTt3YrZHuCc/XLqV3cSX6uNkGzeGVoIRjN2AFs6TjOHTX6AmARsLZQEJPqe9mARsUDDJHAyd1wcI+1IG6qkzvM+wOyxrvGXcOj6CjC3bCKMaoPKcKe3ByYxxHwjjHUgPFLEMAw2wlp2mpbTIFCR2x6yn85TFY0wBTjdxDAOh5gSZhuyOaZjSh1xOzC/Q/oGBZmWLplF+Cj7ktbxjw7ihuPHTLob1d4/0YIg+7ca1EagNwc+MLH1AsGNGNsYma7HHi2RA4zpABPfHTGJWw41QZhh/hGAcYVYw3vGPN7KUeetvXXw4DEnAYi/LquMuONrHwc3Bs6SbHgAXHG01sGk4CZkaxd4QDsp8ASY5MaSj1nmUDG4O37MmKYOuYE+TB4hBGzM9cHEEHMAa9TJ4EemBoCBEUyZAQN+iveCaUPpruDWIdhYEaUMJIlIca9akaZZ5cRR556HUyzxNPQnrqoGlgLoF4DBhHobenwPLCrAiK25DADPIgtFnuJuDEWjRAGrdkn6klLUd4MGY4ShREIee9+g8cLLz6cDjkDabcZZ6mrYQcZkbAmZBO/GnjSh11dca+Oj6AGYJ6rqibLMuQrNoxqs6kAJzGRHjO0es8PFAzcAWTcnN7OGZTOlk0zMZ1UDxGTMezUzUZyXkocTHT4cIcp0EKTmd3OnXT7xeLAoQhJLmlOuXXTLadOTlnbsQRoqZWn305o4TpZPYxiZ0gMDRhg51tNwYUPcGH0SqjM6cmnQEQntoUa4IpCAY2m3NCSYI82f+PHHGzWxjpieceL7GN+KJ44++feK5T7G352tt3BzOLDlTIUaBunNVCJH7GUXTIGRkto5G1AWsNQDdlbl/mmexpw87CeAsIn9wYFh4OeaUNMxxzlpwENaZrMkXuBo8zQyTDIxySrpPp06BIEdAtc3shwa2CwNuWQZT4CDWOSUgKgVJZuASZSMgHnkyhPIPk7JARCamFJpLl4ipJBiHPuzT9o59xD7GrgAStzA4ZrMRnuKlLUgXEf+d2DMvqgj2OECy//PiwOWrL1XdoPgRIANnwA16lZVPgUjKQQT0J62JvGyQSWCoWl8yWYgGjyd6MMocyx8jgLKXrLzl7XO5cSskXvLNlnCNerfaGhuc5ChjBpojoRzlQEixK6aG5z8RIjeV+nJjn7FmKXi3UxU45tsAvVGApwWdt5YWwfVMgP+QIHkHqBqB1l67J4AOs8xrSE0gx+ssYAtgs9FjEkaY38dItLW5jp3XKHSF9hHnKL5AU88ifgAMDTjg2FuNv2sPmWFTmpypDSdB7oBK0BZnaBeZunrG50sXMa2p1yUf9JrcUV1RRGQCsKx51KqS3Jk+vv8JrygAda3FdVT8lQKmANUqCKt3zuIdVn88AmnRAWdjB1xE02iOtUHQrTVwbAwBZPOZJTS2mUzhHzNsWizXOQuDBeCumn8IWscyzabvPqBb5h8cHIxe3M6wabTFpUDaZ5uQYx5dNrqllf5tPmPEnFk2LQFJs79yulhSTTOErSLpjzVF7wDRcxNKHTy6cnc6jdYt3nNJg2ZNDoZLX501ElUzAKhFj1ZxRxabCcR2CdvUAOweoiYLIGABxR2I3t4ANbdd3wz3g8i+QHbDttdyHbwAJ2zsVdsziPbSUAdQOpYbAAfWOQJO76xGvIbb1odscTSEdvO3o77t4AHHfjvAAXgW4hghLG7gMAWrWg59f6Hts52I7edt27OKLsDqS7ZdivcSFNtd46Q9d3O1Hebse2vbPtv2xXsf1zC1i8SylDQj7uN2B7Mdwu/Hbbul3iA24gI6BlM75teB1x/0C1ND1W7dFM3e4/PHfgoXv4uCsMLoFVD8Yr7yoJgFYGHOGW+zLUF0NyCUtJxOExXbZBcBzx1xpEtAFvaBkwDy2Jp5wGvnsluXIAmI4S90PpYjNn7gbXS/jFYByqQg2d7idFcQUgyb2ukAEx5PSFr5unNT8kbhAuMwCaBCHFqQUONnliRnngKDNLKgEZPthQQGcYS/J34D8A7J8ITYK8a2sYA65hcDq1FEyBGrerOlAa+QCGsjWTQ41qqE8CSiMN3GRR143uBEfdXMA4j/q2LGkejXspQjkHtqgwDg3vrkN9uMwiKPf1gwF98EMI66tiPJAfViwDo+Gv1BI57iOWh3Y66bROrojnq444kcuOZHJj1dj9eUDtxprIGV6+DjAdEhTybxGx7MHezgOQnfC+R+E7+v5Lu4yaau/J2PSnRUHLwdB+8G2leSkdLuq3YcWuDQag9tgJ1tDk4AxQXga9qPbEAtrkAYoShHoNVLfgVAZwMUb9GgB6f3w+nxAAZzoBiiYAogwz/FKM/GdoAYokQRADM+NL9PBnouQ8l4BWdzP1nMUNzSs94D/V3KMUWXiCGDvDrCc4ATO5YeYcXhKAaiCaR9jWbpqpn6w2o8QFVAXw7AmMWDLEDnJ+FOA0VWQPLPz4zhz0p0P52WnOJAuQX7zmawQm/nrI4ggQLeephhQzg8W/ZExYNmIBm2Erh4KQ3OiqmJOr23Cr66E8htxQWGFjnXLFoxKYu/4aN3AKwt33zTxsjxTF+OhZg0QibkkugWomaBUpNAQrxZRElzXCucKScGkIK99CgYbbHVd0IK96r/BBXvYf4MK+uASuZX5Rs2/vBoiGTlkJksyReNKSecBouL2yUnF5ckwOwnZu0BRG8CQapT79CcPYq6gVGnQdrs+gs1nbyclS/l4ilTkFeCOepwrtQJIEBRGFI3tzq/LWsuM9H2X+4BlzdJSue74wXS5l9fGutqmyjZEAiG5EP2NhAZFUmqZwFEBJBDAKzstxW5UlqSq36AHC86YfoVv63jblkuW5QCGBa3MZet7kTYFRde3Rq1ADhesjdvKAg7nIX6Z8PJ70Afb7ALkQzxjvp3pb2d0O7qITvsAdRJdxu8t4UDVCFY/KxlGVXlW8Ziay9WZlWSLwxKDcFMYpwXhl6xKFe/0E5Z/opGF4/4GFAQAr2urEwliQRt1jT0t1f3W+NaLm9jzgAAbj+gSiS8+Tku0n9EJ4OwzHR9g84ot+OHGrOOXTYF2EAeJqCjgIx56sgAiITklpNMyk4U0trOwYj8Bo0f46kKBnQBYf8IOHh5Ph/aiHBDAFHiZlR+mZ0eB0+8Ij3OkE/T54kktD7sR73ikeFy61ORwh+9UJ3XVgQeeMoCU9AEnzBkGN9MDknOZi0OWCeGV2zGXRNh+4aZMoBrRUx9kbJ3iFajKzJGFwYI35D2FWxLb/WiNf0fHXYgKeSHqXK1OQnBwWfPVIp00PHG/n1xEa62JhYNlxx4uSoiL8tV1tz3hFWIBspgFCTFu3SDbZ7wz9MMgr8Gqc/CWLUl+1GpAoS/1tq7pnd1nQjtJ2/InVpjB1ktJMX90F8FlgEXZPHob1SwxYaurQMDAfvUdjGZGfvo+4cwyJf+AteScKbqSKk5iUKOuvrqvrFrCpM7MTFVUMbLKeuBe5LYIt6z9GGzeHg1AnDTbnyCG9kxvA+3m7i5d2/fQFTXEERfm+AT4CfmTDwNdpkMc4QBV73m5VVHqQncForXS7BRHqQ3X44dUQFBZf09bBHokGsH+SHUitdlowOSBcFV3zte5v3XgRQDeu/FS1T2Pg5NlhwgmzkIU+W5ZvnS5/fMUrSQH+6BIg3WDg4+JqflEJ//uh8AkaH/T8yv5QCIJswNSRGXzI/3KrPjEF1uyRgr3vVPudLT96kc+fJ3P2aPlFe80/2fDP+XybIIh7JefsKpHziUF8WLKZaPzrwOp6+s/+pp3/cHd5m9hO47NL1n63CAbxfLfkN1hhj7dWv6OXcQU4ffJy2gYe4eLxMH19lhurzs9YUQGbci+STQ/GCuqq2k62qh24MfitZFoNduHKfwfrb+zn+CR/Jv5X6b31ks3a+UfdX0mHWQkkkxaAWHudIRSg+W6XphFXdqcVdOYtoGWOoYGNdCV1+y34Ixv5AsyAt/MhNRGGD2DmM8sWGPoexkkKwKBxZA/okf52K2W1bsnzWggLZmWR8Yj4a8suq3CSgxQAcxa32/wGVDMJD/oGeQEkeg2wgxcAm4XQmnsxEN44CUBHWeoEZoIKdYaFhkTrPVJR246OnnW6lbgP/kEduFN1F6KlznU6qDGUoYeWY3XYhetOdXYh46fbQR1PPCAPJ047edSwZ24VuBYZgAiujig6GduEQDAAuqjqoO4Y3S396GdAJ6124IXXjocAqtV60qXQgKwZ4Alhjqp8AuAIHU6GJKDqpf/N9FhBwAZhgHV46XrSalkEQQPjpW4eANroWGLAJYZzHJgJwAv/OhmUChdFAIrpW4YgNoD//WunbguA9iC68gAxPVhBFHb23YZhA5/0XpW4YQKSgVA1/zdRFHawNsCmdAgIkC6qeOnACz1OKBcCNA9wO/9KGDuBYY6GTzygD44EgIICggqawADmAhhiYZWGWAPjhaGGIOYY2GARmudRmTTyTA43UbATc6ATKiihohNECEtwsVNzDQrDBw1Mw1MYHHHVkQJgAKCfAL/XUx3KVIDqCboYLH/ovA7AJ8DiA/eFWwEvbeGhUAAPz2RVseQCFBYVVhVwQKxFwFhAmsVbGmDCucYIe5OxdajaDYQIYLJpaVMYNP8asWkDmCjEbYMQQijfjGHg+MHoN0wtFO7yqwx/HnAHAeHLhD0RQRL/R5xZsfsBwxloelXj8N5KrC4gtgWEHECRA/Jjz9nPPRHjp/GCOUFsv/XyFi0woTqyJBag2wB8Azg6b2T8eSPtBvY7OJwF7AZgmRjQwFwfHy38YoPtC7x+wUdFKgEGbCGVAqkYjCxD/gIYLdUTjbuGIAK/P3QtsYNLBjnVa6RHTh0poUhnhkFAyAC/9a6bQPRk6AgUNADl6DwMgDKAgUJgDRQr2wQDOQ5AOkC0A43UwDsAoULwCCAnQOIDSAjtUSDpQrwJoDRQngOECuvaAIQC2AtQJ61PPLgJ4CYtJSDEYN6BHTjsJAqQJf9ZA+QNVDlAuhlUChQjQLcCJA6UN0DaGAwK5DowPBgF1FAqwKF1bAudW8C3AyUOQQwgwIOCDpQxIMYZkg+II0Q8GNIPDCt8UDBYBmQyB1OhfCfwhqCWgszEaCRHeEMKCSQrSHtwGndACdwboepHUw8g2QBaDUMd7mcxgsAkKJDEEdLjKhSoKOA6gyVfeHyd56DU3+ABIWEHUBr7H4NsRPpMlWrAnJBGBGUe8HqEy96wwxmaCEQztFhVHuGYIGCsebuAzwHnU6DLD3KFoIv90w2ILYY6qN1VWx6wRsHWhbwzMPjpiQN8LiCa6diFAwyMSN2nxEwNcAu5gIskNHRUMMf2Ai/gl0IBD+IYCP+AgA+F3fZu4DVgOw1vI7FwoNLa4C38cMC7ivFDvODALp2SHtm7gUALezbC7AK8L3DKQhcGTCIgnlnODWLUsIz4awnwFMwqwl6lYixwZhHz9NGGcGbDK0PsKlNgjUQyRtTw5kLGxcgyiPyC9wtYIXAKIoFxaCLscbGqDdwwoMNc6AJoK4iNI+3DUifAGYPkieAMSgjpdQLiIMjYMGEPRCzIi7GhCZwWEIxCWuLpXrCM8fiJFwWuFEIbDC8eGi7CLuZ2SEjr4L/SHCNfZS2WQ3IBjHVw94RKwijgEI8JWhQMf5m6MsMesLsirIloJojMVGZFOhLI2XgcjgEdPxrw26bfyJCObSDCHCZGLkCvs0wJgHzlVBc9FFBqomiIbUjwph1AxmgP3xmCxcN1TKh6weOn5ZnPdaA6DXA9wNWlPwjGTojUwhOhpB4jEmE0B5bGp261ZnXC2vZtnJaLYo7YGnjI9OGSqRO0XqPdxWcdoleAzw7YNcA3gyILaJql8QPVCnd93SqUujsANaJpBjwU6Njxzot+GhAXmUR1uEVnd6L3cHo/gCsBBDeWF7lwaD6PIBA6KEMbpKpWQCGAfoiCFvhVJHtyj0Lac4FhjMgeGLrcaQQwABj8CV+RBi93cGM094ALIOY9yZG7im833J7WcFLeFyOIBEVJ1wNAcSS2lH0LIdAFUYwRbgGaAaY8WX0Y+IyEg5RvAbgAoc3PUxn4NTBamJrJNQJ53lh8eZ5jFhMAGkGUs8IWqxcgD5Flw8YqcHnFhBP8QFB5cT1ZyLCgyCU1EFip/fcJkZWtIKGlj8BWWMyAWuc7H/l8nHiEKd0HW4NhBRXeDDh83VbF0kkOwJjxhhTEc21noS3XpyWi+AEOzDQNoomOUAaeEUmw9/Yo9VEC34HaLChI9eOBOj/gSOJOiY4kmJfB44gOzuiwQL6LPUno9ONYUnorOL9ic42XxqlUYxgELjjvPGIghA6a4H+if9LYFuhWFFuLWYHuENwKxeLGLDfYq4t+GhixxXlDhjxmDGP6ZDwBuMyBA6dqFf15YNuMjisY2fQXjEEHuKzip+FjxNB44ur3Pxu4H/DxdhqWgDkly1UznlgVHDWLJtxvaSUQxonJU1gdv9TrWMBFHGbjnRrYaLwCjucaQ0ZjvjFmIuwXgDKXfB1GEGCQpJAJyVrYkI/GmKh3QUL3hA3fJNw98J/IrxS9TzTAEO1jtB3FSBv4i2l/i8ob+SsBOtdbCkU+ZRBKtjeQMGOFoGAQOSpgiYLSB/jmYkii91BsY8CSM74uhJwSGEzqT3hblc2LPj4yMhLliuw41zjl8ogiEkAV1dmM5iwoU+X1iZwQ2IFihY6f17AVMcdDO8L2KRJnAL4rm2l8XzDNSpiNE39HAAulH6isB+lP0iqgCE+HmhMDZQWQISLY1bWvkmaAxPYRrgGxOk8e8SnV+BP4jWPhBtY4kPYSmY1ID/iYYQnDmwQgFwEyFgvG527gzAL1wOAWE2WDgSwGIGK7xQMXHCclICexT3hzsGnnhAEkmnn8YNomuXS8uIE6LyTWFE6P8Y044pPOwno8pOUAno/xmLjikluLohs2K+FiTfIZeLaSc2ZQE6T2zLIOwTAkpgD/ipIG03oSgkxhOiw6oD7RmSgCRckBR7wKOHSTUFfsVYTwsUqEvArAMGwOBuAVhS2SVEknB4TwI3QE2Ttkk1z/gKkafAIgDkw/SsAJkkZObxfQeSE94OEyZP+A8vOMExwck7WD2So4nsBJxzsMpOzMKkgFMtwepOpJBSGksFMrRZ0XgT+S6Mc0laSs2XpMQxuklFKvgTcKqGtgyGTZKKQLkm8QGgbkg/TlB7kt5MeSj4F5IeS/44pJQw0MS8HxS45NGwZSVEzxh4hqU9AF8g1AA+OJC2U15OGSWY+EAZTgccJMiTQMOqF9ispHzlxwv9T/HrhDhR4GuA5U/fkuFz+co1CV8cMdB7gWrEmO9dZqfHCURlU0/kP48oOKO7ge4SVJEVpU2VPlTVUxVKNSFUh/nVTDcfHETptUj6T1SL6A1OMAHUu1If5JYTT3dSnZeTjgg7QHznESPU/bwHBRAHVNRhfobExEhZop8GHhLuZQB9io0J2XSgRCCQBLJEaRsOrRHTZQCTTiEdSD+D4QTNFKhRAcKSdiyuE0EHEzPO2PyjfvVhQHASkgVXhAyMJyUQQEfCNKdl0vKnXhAY0/uDjSE0/eGB8DvThieJkbYOW5Bs02gFzT8qPZm7wygIdLfpUYIiFrZQMXtN4tDgeNLI9Ewe5xTTnybT1u8XUCJQm91Y7RI0gyPQtIIgwvKOBfi6fRMA/jb4nPz+xItZ6JbBC0/BLfjiEsWUQSBBZBJK9QLUIHQSavLBJC8u9e9M+N6XUhLsjyEiwAqBA5T9MCtWMLWHBdikvdO/A03UDHqA8XeaMqlSmNAHqlCMlt1adkY5dzfgVtQghYAVnWICkA6Mx9yj1toF4AkpO3faJxI2Mh7H2jOCKKh4y3PD7AgRtoj8BWiqyZaKj0KgMTIejKpB9yEyapXcURQx9SqUhgwRayBWdIYQ0X+p1M2SB3ADnId1Uyw9C6KHddMqPVc5vAb6O2g6NUzPAZvo0eLRjjyQqFszQYgzKcy93EzMqlME+aF8cVnMtC9Mo9MtGK8VnbAFQBR9ILIXNHAFZwbg2AU/wcySMmqSiyXKOwEiyIgeaBXwVnFiBORQoLzJEc6M96heogsny0dBss/LKj1/wMKiYzCMr8QVYrhNLNacqsk1L4y6ss4mqzHQLkkoz74L+Dog9AE5BuiapAgAiTMgHEkiAVnTrIns0qCrJqkhs3rN6cvQDnU1ZLAPLPazFosTJWdCyU/0WzbMz8EeICs0pR2ygwWrISDRhGqR2j+M3aIghTsyEAiyo9A6MIAjo67M4JrovTL1R25J7PuiJst+HzjHs0zLszXyKd1cyIIaTOrifsr7KttkAXEziy34BuFkAco5LOiyXsqPTJJNWCHPvh845OOmyUcod0OilstJR+y0c/7MyAscsOLdQLAj7JwkSswGWaAMkgTRoFP/eGTyAlNYnPhk6+Wuk0B+AT/z8DkEVoAZyE0caMiDAPERgSD24Q0FzCCEL/008LIACLewTgsNF0AZGIxMtgRsFVzaxhEkpBY9uEYM2Og4IesC1zzLGkB1z/wZWxDJfvbS1KQDXYyQQYtFOKQ3k7JCyQGgdcNoM6jskXhlmgcVS3OQBQRTyGtyXAD3NmgKkN1Vlyp4zRxKAnwMqEFBt/XFGU4ZbdsGQBHZHT1LhZIcQGRB3zLzNmk4gd4GOh6wLLxTzE8pRBU54QR9K3DR0GG1pAHNSFTzyazIvKQjIAf/1+wuWAvOfDeeB9VIQiWN/AkMAI06TONfdZhR65SYqciplfAPdD1B1ZbWS3AOeexIsBzgaWTfB/eGRknA1Ei2Rpj2sTWXsT0sQCCSFstPhLI9JYdCM9QmIF0GP1ezEbmvg0bGjFBglwACW4hktB7mQwAJCMjfBQM0YzsheYhs1BNEfarifyaYzwzmR38ygE/zcUWGU+8qYBgQ4QmAXFBshZAQCCjIPwPNMdBZheExwhwCt1SHBDQKTEWUZSV0iUQDgQ0Rpj2BdPSQpJwH/Ofz8rMoOVRqwN8HnzxYlW34QAuXmNwKdoB+WwKwoOgsuh9gOkHSBDAe8mzl6FP2CtQGBG0yALjTY9UnAH8taw/zk4khDbMdGFgwXTGwyAxqhEwOfLFiDEpwyYjpC6AsXTOAMBTUKJAGAqXS81KeA4KB3Ely64ymHuGdMWSG0yIzCoMwt0AWSRqzPytwKAp0KNC9ADgLQQCQsQJSyVYnOBIDPCCjIbYqdRrJQC8gzh1QMT/H68M/RQv0SaY/3JXi6dZgAokNbEkBsN5YBDkSKcbfcFzVE1H/C4crXbeWMg7JOI1AxNAHYS0Fwi7HDmj/dS2xqlIYEzKphM0LiDMBq0pxnQd8uHPLB034FTIHdPAuKAHVNzSGBzyA7DTLLRpQKPXziXMiTNWimMxqX5zpKU6Xfw/fe7XlhnmeMCzgilTI3BBtYfNU2l08zRGTUvARsAa1BsRcmZCCMmqWn5oQBrKSyz1XAB1iOi++GGKnqO2Aoh//Tc09V5oMD3jB2gFX3jhAgCAsqkys8bIgQd1Dqz7Q7tQED+L4Qb4uW9wYWYrPUFyUDHvBmQiiB/wLDdaQuKWsx4D4y73DEE/x/5LHFJtUsf4Alz9gXsBwhmgSDC1ymmYwFRKCcMdFDZN4M4rejzIczPhK83GotkhNM0YosUltEgHIB4Ae8FkhBzbL0FLJAYUtCg+0UUrxlxlZYAFLZILRRFK1IMJUygMIfPJjkU8k3Mq8U8vVxdtySeTDDQbZVARcBGAbgDeoMIHPKW13i/1TTcjsqjPqyrhRrPjgaiYhXeBDAROU3McEnSBJARMUEu/ARc+ry3JQMJMEPiBvDaCL1L5UKDDK4gcWUmlppGvTvhq0LOFkzp7DEAxB6gXIrz0A5d4A/cAEFMtnU94wbDyBmtCxTMB9DYKUijuEZkGrhaXX0CYg8jMKD/h/8a2HrLSBMHPt5Led53cQRgVCGIJIjYgADNkFfxAs9ey/ihr96FPSUAkSIwbDXA7XLKX5cU0g+VIQ+wT4HQAzSnLN8hcQk3JIcfqH/GhIVytcvyynYYrPUlObaLD9jyEQiOUB8DGmP0YkAU1Dljl+TsW7hWgZrWPALja9CjyLwFwFjyWtf4DMAT0iiG0NKtMdlAwLIZEu2pjy79ynLJJS8AAjLafiEtozoKNXkBnElcsXlgQSCuMA4ISmURgCIS2iaZPymoGwqMFaMwnNW0dCve14Qb8uUBaARBwwiZoGcp65aKkUnudQkbYkBQXypAj2xfYj4EkzTgUOPX9lAWCtJL8KvsFoqlQYwEQruZHNlQrOACiswrsKk0F8Mpioh2eTYQYSsIrIALHHArndQrMeBIKu91dKdM2gCfcF4LorUyj4SDWoraKzStwAdKhvRbdLK/piXLNK9oHsrkyrvS5YCTbzKcqw0aiuNtJJQIGZCd1MZJcgnw+lRDYfQJKGABXcZUAIB0M12N0xQMZNEGT5ODQgpgvpfeCsdgxMMC5ZPGLyoSdxynuNfjfpEzBn1GUIFBwhyq2SE5RX07UDkw7vTUt+knc0KNBsLkpgCuSfOJS2qjScPyQmVFEPGTJwzYZS2USGMMpyJld438O7hfoPFxQxtYLSHcA7hMY0p914U6EWrsWf7xAru4AgALp43LDBmrA/IyQyickLIBkZfI+TnwS4KZEBRd61HZV9BTTCKTnBDck3Ljw1oYvG5A3gtEujBw8OIH0YZgVcCyVdAMXA9gQjOZRpB60vKLnQrACenaABfEqhnJv9GGrhqIC8hk4xQGVxWkS4gQRX+BlObGoOrN05hV2qWjUZi0UGwI+wnxwYeEDi9wym6pJAX8TWNC8rqngy3ldAImroB0XYgExckxP8FljpQDPIfkeavgFqqS870hn5KAHCyrJuCDDRNT8i8fy/EYUCWpyNpaq4SblIQuIyKLu4K+G+8hxBXNtIcqTGDVcMLKEJNQ0QtAE2LqAXRzMAJWUKFBdf0WpUNwTMaPQBRKnCwhnB06b5x2JPS6ETU4UQfZWEVKkc/ABtVq8ZTU03a/Wt/Z1qThlUEqxWtR2RJasKCiTQimJNKLfy+aqZq1VPm3DKYyhuDjLZpBMqrzNY9xA8rQq9xH/BtTQGGfdCAKIGDsY/HEH9BvABglrrQQB6X5Ly6uuoXhXOKBAmBnpbNHDJ66ywk/dW9d91Tp1JVtFdriAZoG4kI6TSpqIIi35C1q9PKgjEzUgK3krD0rG0FZYRHPV0/NZwpJKwtyARWu4ItFGrVhohYQ+uCEWyieved36d6ypx4sMwGhIx5CJU+VBMu7QygoqUSFy5KUivN30xSUpUeBeiKkF2KYgA5HXrYCwTO4h8IMBu8E7Af4GTt7EMiSfAjkJQ01K48QtMTAJFKwH3rz6uozvtcLbgmcgnrS6CTBLmDsE+dw68dDWZcrIMEeA4CU6Coa9KkFh1wdvA3NDrP0OTC/14GmESeAX6jCBDJW0nCE4V36uwGJAuyLhsQbhG/2JWRtw7wDsAqKnDHctIMVGEJ8v9VtLUwatXrntzfQDRpTT/5YhW9UWbNfhepueXBrGYFsiYExc7LJmvTVjyeQAmA2dAGtpiN5WGnZ15YdNT4rMASxsBBUBcMvcalohxohJaVFxscb/GKzzbLg+Xx1JK+ywBsyE7yOIH7Bgmt/XHQzZKdzqg4wTepepOUESBcAFG1LGzFQCjJt7kLyywiioasJmqnJEm8+IVA+y5oG94fG+JtQF/qpJsrZ8muPkiaeXU0GthvUY6sTALuCaQxqMXOIH2RV0JF2uqcQBUvCp3Y/A3edtGIkAiT+5MHLVQ08CJNBgJABZvBzAgCQDjRb9a/SXqz0WcL2asm46qwiHMFXJ0sBoBzTwd6w952cpwc5Zv1B8UlZuuaMQ25rVRNm2gHq4tmh9SJq5OLpSsAvnVTPvkAY/BprIB1fKRpqt5DbCwaz6kFpVtFydzRuxFyW+yRauIDC2Hh/8HCCRanYF93Aa+G4BvvroSYeDGDp6QTJRhoGzgBibSiXFE+VGG9AFqaTjA92nCMobBthaylWEGZaYW+OtIFJeUhvIaPa7ZAYb/6kFjMxwAURXMbyATFzJbbGixvibpW8gACaslDKDlaFWo3KWjJWjKA8bOXDxpVayW7VtcbCYESCiB4QFKoBxzy//CiAUmFy1IRBSwpVcLCs4gjQwMoOTDRsdyvcopb7W7Fo9aiIWBQvLJmyJGvKayPsDvLZGm2JRgClML03ykW1ZMGxZAR2T2rdcFgXftYy6vTzr5pNQFoxk2maVr1q0JS3eA1wPQHYNgwauCfENWXQELblIeHXFBciXHF9gnxfEBraVIV3xP8fyiiDTw7JSDTbak4UnHvAJyp1xrKe2uyXwhjm6BxJUltR+zod1AOBKYhUAfUrdRO22jAAlPY+2TNgKePsWXwF4+SXQAb44wHbbC1H5rDTygy9Qel0AQwusg4mGmOQ06mdmg3y1mZjEY8YFT+qmMScK9sZ4b2+WCaZQMN8ozgcUn4J5xQQ46pMxNLRlJkt8IqcypDVMSRV5j5fJ1sCLBExsGnx6kZTj1dTPMfEkUIVPFQgK2VGKGcwSINyB+4rMexCFrTapRHiR7EdfPsTWkLX2DaMAMwwohDARFXhBVgJwowQXCtwtSAtkVGu/AFAKNARgDIBHz3p1qbJBe4PuOLBerPueK1w6+VbqC18iOhzOuBSO04Tfbf0PnwihYO2jvdB6O9tNhAmOzABkLwGiQHcKOOrrHdRwAbjqUReOx7j1wg1CiCU9UnRMFORjAVT0VwnzIiG/AffRKN1xZuR6lqQv64hyrkvIbzsIhUAH5D6tSqQ9ukQ5aRzlsKiQbDXDN2Ef/HkAEMEUgdpj1fqVAKokUDFaAdUg9tOrlkQuvBD/2xLueBiEJAm7gAqDBUsVRQNiCpU0waru1wrJOQnaTIkOFL/qaGzgEgrGIqOPClCyLvFVAsunrkVxFkfrr7A2yUJDjRhqMFuzQIW0EEYUtIFlq5bf0NlMHMquhqMqtZuOrrbJ+u1rptBMKxXB5dNPIrrJkXwFkNno8MyrQWji6SDAlT/3eGRrpIMC1Ju7b1SDHABtU7GtWAveXKlIpsPEnCCUFuFZAsh3NbMpSz5ANLMYigeuHL+ywexHMczdMf/DddfIQUGU47LB+S4kDE1jRDb6IbDwXoEYygG7JO6i9jR5jQJmFR6aY9Hpo7Me5j1iMkejeRR7QCtHrU6KemGCwKViAnqYcRaknrCgyesWDLlBTTStXS+4lCE24ZGKcL0hjA5yH4xRev631th4IzCxVqfTBWsx9zVDoyhOtfeG/k6VX+W8acOyRVgzkQb0ngyxYRDIYB94KX3c1R/RlSZraauxHZqCYTFz/lDvRugogOZLXqE7JFCz3OwIC4VXSx4vV6pgSfQQwFVBnevXFHaOoVAV16TuARJnjKEqzA3lVQc3vNVpu/+UeUBmzmriB7eiz2CxUBGhJQw58S7GCxj4shH29KZCz1D6feiiGj9AQAPuVBPg4Prur6kf4qe9PQfVENAVOlPsxciYEhGx8PVQFAGZygzUGwdH6wFXwokMafDBV7ELuOz9qoDc0ZUve3ct4RxwJkoeLOSkYueLigzU1IQx5TjqGLZICYuUzjKu2A6g1wfgBu7KpDxtDimwBiiWjkNDqEioT+mqQ8aHovKEXges6/v+Bb+16I6yUQOYSmyVnfrIggf+zGLf6NfRukjD8ULjMrd2pd0Dih8pXmRvcHe9jHdRKpFjPAGOMomLIzbo/TO6KMB57L+yxi4zJMq8Bq6PeyMcq6MLjKsigTnAaMg/rUNSkD/vxQTs+7Nwlri4TKYHzsxgZeoXgK7JYGco3ymxydokHOOzOCWrOEyJAagePBj+ugfB75oKwuRz8UBLLrQlM+LOB74cgEuB7asjqEvAJByGOQR+AXNjQRDAPQeQR4AXNg6g4ILQYIY0EbgBMHfQIBEkGOdNVGoGy2u/rfhoe+qRPxbB7QbtKGM1p2IH8UMzJ8MOoK5w8GLBmqWHia49GMRjKpZGJHjQYiIfHdvs2Idiz8c5wiwGgc0GJUG0h36N8Gcc0GIEG3on7JMyE8G1Dq5nPP9pEgPmjEHgBTlRZrjAK9MJnTjlvLiFGC2kSbXHjEYkTFKRvQbptuUvyVGGTQ20nGsuxsKVCB1wWxZND/SGXCvv+BxhzrX1s8gfiGwo8gU8q4g6ofRGWhWFVCDCZL0xU3mHYQSgj9bzQDYeMAlhi3HyZ94WgHgG0cL8lQgu+tDEoJnWlyBIgfqQwAEheEU8uY8LLVAQOGA2mcHhhboBnvliWwTsVZ8JennDoY60+DpIhA7Id0ezDKmuNhG7pb8BFVPsx9zhHgc1EaLgTeuBK4gDZZuW/1KAQOHyIlO1UCsBjS8EVtr/GAvs5S65UUEXIrXS4YA86OmxEOASIVYABbMYP+WJB+yNn1WB5uvC2JB7EHluC6bEG3rCh3a1TNT5w6/eEnDrsfEcKhTtYkeVACEhgFtqrMddMIhiQKkZ0RSKc7GtwXID5pa9OU3hC4haAVUDqp7KeL3hB24C0c60TQKZNQycABPB1HBZOjvspDgb0EQBSkFsRXK53VADTxeB5DTVwfRod1qbzsvyG4R845DUnh4RjEbfcch36K+jLK70HQAEYb0c4AMNUGP9Gjo+oZXKMxvd1DHv4USG4Qa45DQ+absQwAFGaQf8rnpfIbChux+DSserHOUyjp+pI0JYdQhpEQnPagPh3yHsQpY/UFoBWkXiEJHUgJTumHrgFsU3gC+gcEeh+IZMeC7EgEJlEhpEPHLeHy5ESEoJ+x6YduhhxhUZXzaAY4fTjfID5sL46OjWEO9wa70CAQ1cB6y/IuobJGwp4wfoewp6gaSVOGOxpSGuBsKe8aqgWxOqAnGJxjLmkk8gE0GTR+oY6q7DUIGKH6G1Ab0FfHWoIwnRUIJtDGTQYoEYbUA1ceCdCZUJjFRQwoJjFTnQMvOqB7iVh+ECInsvYz0ddUahcDgnpJFpEwnpJFXENBkxusnWoWJ2PHOxDAeEAYBIkNjxMBosddQGG9R87FoBuJ3icRg3hgSfJpaE8Gtw75qaSWHhJRj2uk77ELOslZretSdChM2+MrTasqnFqrAq+3YvL0u9LiYRBlCUeot7wyb3EWJj+wtODKyEUdtoBcEI8j+RbJqfBcntKnXGMIbIfgAdG56LX00mXYoydjHHlHOpTbs2+vRH0iTH0D7H26nAjJNO9SycKl+IFybsqijI8hSnEwc6hLS60xiqjgjyHsf/dOMdCBsoV2hGBTTjSKTNjH+EYwnsQKLbG1K9Sp/XuWA1UVIFPIVTKsFinQQeEDjMEYU+0/hCx+xCCMO6azHkn2EJSdUzqnKorZCRnEOLakKIeyfQh0tbwyrB0IZqbChJ6xwGnqkWnGp7BBSlJgtbN4SQYf7pigiH2mdpo6c8GSBxkW6L4W7XEkHqMgg1eyOiAge4HGsu6YDdZocSfXHnB++Bxb9KjbMgHyQR7EkHzKwzM6L9+lGG+mXwfehsAFwCiDxKLxk7owYFohvXtLBLQTLtgcGChE79msk1JibkNaiYDsMSq4rH0hyfcvRmYG2eCKn4dc4spnOANrLthyZ3GcuKrhU0nMyaZ4XL6pcuB0Y2oqUAkqQawQnGdXL6ZulqSykxMGbHtYQZnUm7v9AYriAXoYWa/Z8ZzGYR7+EZ0tPI3S6CwihLaL0v4hUShORFm8Zq4QJm7vesApnjZsISSzHobWFRLz0a2BJKlK5QCpKlECko+TSKzM01ztci0zp59cpWzYaaS62GvUjCRMHY7lGxZDQw1ph4b8Qgun5GTRIkERB7AN0nOK+GxXH4ekoREajofL0IApWZIhQKzQOLfQeDW7BrYW4u8SepZkkVmfHaQmZJ8mIo2ZJloCsZOLBZmkCRLBZ9KEPBSEVGBXLtUrrPKyrCR1q3KXISDB+pZAF4Z7mv+ygH7nixUbMoBky94fXGKm74d5i0ef4fvLQ2k4xEhVgTaSLnTQL9qjg1BTSpgQt7CHlk7byWZoZ7VGcjr4ToYTT3Y7t+YsJvFWhnHpPKcIbprT9nZItkDz3fJPKmGw5RGn1tJYcbmWgv9FwDjcObEuHmCMoFWlFTDhp8H77t40PkGTlh5aFnSDh4+aLYYsYI1OgaEmg27h4J3QzatfKt1AENT2CaQC8soHYXhBzR3uorVPYxhSOLJJHiY+lju25XqQeIQfJIBT5YLHfn/pbEbVN8okiBhgOoexB0gcvbwEHgtfcPtPS9cdVWh9OGKYb7GAF2EHOxjlR4YaR+wThA6gwF54AHCS4UydQEYFt0EyFj54ReIh8mNHn/xtFoG164UFgxcvLTF7sdwQzh0BhoTegoefUw05leaDaARmkF3xNK8gCIjkBZ3Rj0qwDkk+JGFffW2RKAbogEgTAUVUkQLVXxEQB4lyUm7h+AONtjixvQJa7x94HJZdBGI2Dwht0nYQNWkBFM42bzbwQbCxxcnLOBzLCAUyvfgFWMHJX1VKryoqcXpO6yMd0ALOTPtVTDYqSd3vXKGwVONTpZ8d1HBxycdJHXR31s7HPx00cAnbR0GtXHHczmWNHLR2cdllkaxzQ0YMu1Ax+AF4fNhOKUKDYpVRdqhyUfkNztsrcnawzMwuoMEWnwdvJGp18ooWDBSbF3BaCzdtMeEHj64msZvrUAbD5O3mDip2GAAfYFK3k5jg6Q3eXAaTFA9jLAXJZoSmAdFQdGFLHeoCQaEdFd+gMQaC1VAOqz8fV8PVShazcEVgKpJh7wLvKxU+EfP2eWUfOPNGbma2cyfQpIFmVfjOGCiHj7WTe7QOKsq8FZZWF4bFaHqMVylAZGsqsFZFWcMovy9iSYd2OJ4aC/QiNVYal5YgLjk4yXl74+hldpqr4gufA5J4PlaVB/QQVY+RDVmhAhWpwr6sqM/4FFf6QZEfVdylCUuZQvDf8jgFOAlVwvxwzuMbT1TrRQCChmgIPWB3d0AOnILb6hm86oiUlLOkczAlRn1atcEaktjN9zvO+K6WKrHKX1tTEhaFM9EwWVfBTFTccChqqkX1cg0+mpDiIii/Q9F6aMbNF1t6saj1cGwvEuVZjWo1tMEjWB4rlhoX6uZRetHaF4hUUcWbWYdhA7fbtZhLpVk2GrHCF5QCmHyuRGjj8E/YvtaNpFg31bhi8kDG7hM3UNFGZRQNgCjXGF8AS9Xw+dmn15QMLsG34IsPIFvtx/dmj+QJuM9blBvLUUBvXqSs9eJVDQUvxNgX7RYTPXwJu9YfWX2gmF+dL1w9GfKeLbIKSi89dabnBaaooIsR1AdDwXAnIiYaGbQpWdLloaCCwBy94AXIWS9UgGokYlzIUfUTZsoKbRKqw0DKBQ20UNDeM8MN/vmK8mAH1kwB8NhaCm1mG1sRNk2uJiHUAJuLLFm5QsWaHBdE3EhORBd0Thf6t0NzDZo2cNo8no3UgAjaYAiNujB2XUNvdwWYxNlLzo2GNzFCI3W0+OCYc0pX3QmlTuKbUg2g/fL3m5vKIuFAwcgLewog9+JISAYaIA3y/8XfcABahxaRDBah2gd+gLD925zGC5pFsJsY21NCDZxAoN4l3oUMoNZhk2ptIteg64iyLcC3IkoNayBegGvFHbVkZLZ5cHN/QOIhi1f0Bw3T2lMX7j44Oa11ThTH8owbQHH+ZdiS0YTYo3hvKjfxAaNx6jPjZNgLYoGPnJUYXBk0a2Bs32aa4Bc3fedzYlpThJCNbzBsVCG82wO/jf/Sk8ixWHgHN9uCN8G1IkpYAfmrraC4FN8jaU2dIFTdSAmtziLi22t30GsI8mY7cXIRIfrdCRU+PJjjxBt+C1JIglzxmiFiQaIUlcA5aIUvLpqQbEMBDlw4AFBtcMkioFu4JgGkkF2AnX1tohQ4AJ1kyXWpvR34kJQdqejaIWOrNUhMDaqREs1x834bLtoc8SESal8hAvaEnOw2zF7c3g/t8/C2UUIXhXOxohfiBe33toPN8RPOaa1eBIkGgWwhd9PZGDVfXfHD7Aod8/CL8d1k2HIBgNw4AhRRQGyEJSV5GRjF2Jd/qE8hmAa4GYBxwWBsA3BsSQAm2yYIlDNdPIH1i5w0wCuDl3/gRXj12tdw3cwAFwc3fHAulXXcTBjdnzn/9CQkxC8w94PRFpDvVMkNbSpGcCM24HdokJFQ9kF4rQwbuVDtFxUAAAFIHwyWCZaXIIcMpkNcSaUNK24P61mg8MVfNFxV8n1lJDSoX3eEilII8Acx0MO+2uBFeZaCYN1qTPaHCXAJUY9277YwBL2R19sBqIU64P2x9+IYXZDzzt3arHQLHIMpTq5qn0AV21AJXbF30VCXblAZd/2WpLYGkfZigx9+HFm4x9sj373AQc3f2RLdzXfRUK4OUE12t96kpL2N9mKC33eEfXf0kiITPYP2j9nfdP2GvKLyJqr4jBAnX3hoiB4jiDd51pruEMjGaB6gfDmaAyMWLvD6LsKwCphxwWLUBjBLftIX4RNHGMeAxwK5sn83PSkLVq3YmrU0q6oO/eRmC6B3wWj66EzBaaHSa2AZVwcRPpJHtJ1Nrr1NzQKdIOIpmEoXA03XTDyaADoNsGorQRMApWXPLFmWrsoESFiNCcdGRi0EkcivbDmuFmQoPkXLeR9KUFy/PsZGD26GYPv0akp4Pb/LBkl0E0a2BYZRD/5e9Kl+PsCS1FQc7HN3iQJtFxQfWSStuF/WTGBpBFeQ0BkotIIDNS9cbZEGq9MEn41BgVgKbX0ZIwSYDqCpo+hgzDvwutmOxyYVhif3SKZhCgaZDoA40QjtlP2ygJKsCiLZP0+ONpBCcf0v53u4fNt4xSgriE2BbDhWc8wrgwEHsZXPaf2MCqXTSuPAU6iiDIw4879GQ7rki7AsU0DjKvk4Mj5djg9ZvZQGSDXVa2DYPoaywjdX3KMLty7A4Rl1hAmjiAmJBccBOcTMijk2LWqTYi/w89OA5UAdpRORXHiO1qKfAohWj2R3aOwnLo9/Nijr8HgOSjmKCWO6GFY+uA1jveHiPxDQbB7ggllEPd6TN2EHbWp14hUHWO1ntc+P3j/ZHIWNEMpEGpQMXcAwV4qwEEDguE0nGqP44B46BQ1jm9EJwlMW4Gtgfjh3yMgJFN47ROVY+rnh5rYEcTNQ9bBEAaNEiRiIxAalvdXh4Wmuw+a4yvUXuxPv0OtO2PSi7WsTVaj78FWq2D9ZH6Pkau/OKW5PA45XWsVPEKmOKYNVzYPXNbk+VXTQWE8n768rA4mk7DtL0/SlvWsycPTtQOT0NHfdJy39wR4I3BrC9SU5R9jqnFITB1V1tET7tV6uch9bVteEhXX4+0FYOzYACkNPBjoqa0QgamKFRWfYLFZxWsVzFc1NBzLtgNO5wAY6ihWwFDN5n5DwOGJBOThDb17aVwY+oTok6pZB2HT9OM/SrjuktAxLwZvZRsPkmwmJAbCV7dT5PF7NfiiV21q27ANoH/P2gd+YrcQwJpGs8/BEtmID3zR8Xzq8hiMOqwvyaMAurLXQMOCDr0/oSDFwBrYZNBwhBd9sH6zv2/4GcJThbYgBwj05bWp5jTVXckldAMrkWEc+/L3yjguMRcom9kcfwWhrwmiHoOjzzFDSjIGonZeh3vS855c6TazBvPTuE8/wsS6uaGPPqI+8zWgUrThn+OrUTT3aARdg4HHPxwX6BHPwrQhSWKywl8UuZbYl45b31q/hLa27g/qIihZImiH4gzIewoWqODojZrlkq33SMMkhF63dAwLgi2/OgDNre0Y7Dqgx0PLCWNlPKfQUc9vrtE8c61O5PSQJd9Rz8cHHOzoaC8sBYLg0EDhCg3nitBcL+LcPX1qbi9HPnTucAD4ZchyVrTw8PM+IAqUVS+LPVLj7b5792qVO29wcUGKxzOTPM7sY+juS+xMA1hUFMv9QO8ksIEmiel6ka0Ay9uyGzC7njgLIFdrbNu4dy4zgikT87g2cg/c+G9zvVNark0LwoMajK1nppwWAT87ErY/j2878vF6wK7O8lEEK+1Bnzvy5EgXzO7R4K9vSDM1N4vIhPD7w/EmCYAlLrSDayscUYgZi74KEiZhFTx4jEulq6Ck3d1SGSkDhzgFq91I2roiHgwYUevkvCooGSicveBpvFIphLnwEbz+wJQScBY2P8PQOJpSq9GIa0Ja75Jv6pbVWunzMalqvHiJmBMghhSCkQuur9maxcsCDg+Ov1SWQ86u74E66ZgOr4gAuv9SHRjMhKAXFHGwXr1IGmvfBWa/rCZrzAFOtJJJ5iH4y+XmL0YewCa9UYOSRGlEvq+ArRkp6mFRkS16LhErSlgN35sPbtwdUiqu+Sfb2lySFsiE76+r166RDpw0ScydHlyRUGuIC+uU+N7L4uYlO5Lmy7nA7LywnvMMoKm4ux44eAEOXPNpRv2MIIQy4gPDwCI1kv5wfCHdBPpfeVFup4iehZu5LxDAygRrjPGnM3Vby4DRNKzAEyW5OKz02uA9t9MLqrPIm8+vnPf+n+CPPfJjA6zJPcN42Lw9sM7CVQQWStv1Ii7gSj1bzT2aB0DySN1u165K5G9/V1/MfOFg6BaxvRiHLBzdnZIiHqRN4UBiOubr9UhkW7QB5dQ705vRmIMaYp3FkO0QaGDCulETrWzun42G4rhcUKwELu6+JRifpDAbO4RuG8XhGRu6yIW5cAuR5aHSxkMRH3sv/ixGssIiVr1Rykc1qnSbv2F1u7mQ6b3maeJADmq4OvJiDKH2ueiRq9jvWr/UlXn7rx676Jnr/q7Jajb0xD+uyWlEG+v/r2DF1vmMGhN6a0L664XuRvfKqIT577q/1JuIJmDpui+FkpXulSNc5JhiALW/PKKblpt1vWuIOcMNLYY3OvuTrqcinjl7uO6evWRkVP6upIoFxkWmVVYE3uYH9yjI8aoERckXHlCem6hpbzeE8ZZAURoaQ/F6W+4APuPXB1w8oQb3EW9kXUbxGuAb26eHT7h6/AfIKeQFpVm5PM9GCuAIB/VICH1SdZusILgDAfz7pUkexH0N9OD3ckKeJnu0vYTryh4kJ0djwwVWaAYBp8SCHsQJrxGC19QbkXH3hXIWEFOwfQU7GUuepPUY9BCIaW5TuTGA8Yhub0PO6UWo4Uu9xR7EBx/LuGmSu7I6sBB7Fru9eBcj1Pp8MHErYKKfFUggFwD5ou5AZTQCwOi6GkDBwInhx6yqn9PODeBbuDDn8krH2GAhiEBrRG9AXgN0/R1onk47HAXgAp4v924HUIuOR/GdWif1Xdmpr4i7ksFHLK8F6ReBSQVJ9uh0n6J/295DZUE4VTsLfu9Bit6LBewt+o3RcAg538OnTc19x4rvvgi3omubTI48pCgAvCmFY/rxi8BByALkYhw/rnCj8wGpS8ucXeZj5osfQoGkCseEQhqVBhobux5IJan5nKcf8tIu5ceVGKZ9cevH6SgXI1njUYYhCIY7Csw0oC/q4B7Lg8bpVZzyjt4e5wfb1wQcEIFagfXrpB6ihPn3BEnSPE2FXS4NxWW/RfWboiGBUn7ph6VI3GBB4+v2b9sI/aCd71T7vAQEx46gWkd7p2v9wUh9WAuH2++IecXs+5vv6Xh6wPlYX1IH5uCc5y+F79bw4D0slHvgUpCcXtEBJCmb39DJedMab15nPGeYPJBuXp1r3DOoT6D9BV83y/UiIC2w+o2UExExbBiiibYc0tnve5rRd7/bLI82E0zxNPTk4DpgxCUzHZJSSQtyQruZFlCFdfXHsj0kZ4n6D3oUyXPk46847MdGQhXVaA10g2zO+c3OslhWz74Gt/V5G9DkGBQbUmmY1e6eOz4Bng16zl111f434DPpeLuFThzv/RVi11vPeOl6VI7tySU/wdL3vK60KthBKTzaFD9W4KRUs5lk2qs6DhOuwFOxsJAO35rK7f1SSjDw864bfQmb0Cu4ijIYyamk7ewobeRNazW5UAxATWs5GSOpqwbB/wJtrpUVwRbfy6yB2F8DdXx5TbKpel5g87Ebv6kVNGvz35YSK7t4NHrcZ5ZTQ98g2v9VyCaZLg2EGp6PkoltaAeLFBmQAS8WOathdF38wauOXjWL/TTNhLhidHiGDN2ujpzG/1JIIbVVgxGDmtBq2ttoqHHAsrEsMq2hNxTdE29X7Ddw2pNlrY034t7LGq2CPyjZ23aNvDek3WtggT7OYk2t7ob3sEbx2aBl8NAxLoOdOnSbfgVAAvZmuBUp4+xRjwHgB8Ac9gzxmuZ4AqmEnyZB4gaiDoDqhNAATlE+w6/j6k/sDT8AVKlP9oBU+1P2d40+JPgT6E/roWT6hC/0hKu1VNSUYi6JJVWe8yKkIdj4kX8L7uDcAPUim6m2GXBeWuhmMBB8RNc3rDfsORvVYGAhd+UpDKvA/TbhDq2t2mvfN1ivODPeqcRu4j7Dtq98QQpgw8FveutsWlOEEmlbSN2eLQ4OB4MSU6DA/zvA97WYaBGQGVuoSJlnBFmud83k/q8RV66E36TUBKi/08r6I+Qvx12a+W3rj5SLiAGr4vY+vxlhNLhDheBa+wwVYCoayYT8DsaHryefZfvAf0GDwSXVYD0+DP1TQHexPuMD7cwXMyb9euPiPr2/jPw7/a3NgLl4xInYGb/BAzv78WIA+PjDbyJGO0Wqe+Xvy79JLOPvOC2/lP1T92/Pv8T8u/3v7b8B/1P575B+8iKJqsaMSeEBs+2iOz/9gHPqEijQAvyChrlQYONvLlekBJrK+gvmjdK8BvsctO+Pv79hG+2IUH9YsFn/4HEDOLzStQhiYu0BPuVwGRa+INv7gviccFbgqhrIuIWEqQrADHnIAMkOdEIO7E/Xz2PIbSQMW2s8b/XD6hfObal/0nE3ToZlHZjaucv9ffRkXNY7nF4h5g374U/9fhUpXAh0AFHj4BVSrzZ/rYHpiOwwvlEBa5rYQEEXJ58CRXt/VwXCApek1MA5wBuNgOT9/ZXdD5d0Whf3NZ8na85WML2LjrypdQQoowxAhf/eqj/EPAdSmoevLarG3Mluhpn0llA4gbhDS/yUQxF1sdHeAiUWklJRaSClHX8rHTsAzoGUGqsgBmUJSGqqOULvG5ReUdxFMB9NQ0ACMevbuHvAglowxK1/clTQcfNK+oEePBsbdvYUErTHZuMhDGA6FvBQJbTAOYDnCmpCeIWn7Vr2bsVwJrBsGxfVN3QSxU+KIJoncs8LPszE+Vka4zaYTJJTP/rSN4BcZ9ZBx7nH2Q9fsuBodMhfLiox4FT//2NpsKjDVcc2Cv+6f0kkuTkTAsgBF2sGEKcGkVWIyqzI8IAPOkPPREUjsWSYArwsQZZRHUBT0QOLAUtCQ7WnMFEyCuetwDueN3K0kikKc2EAQYIt1p+DtDgUZsSwBrsCba3cDuKoigAYM3AIBKVzuCG/xNilIWT20FRJgrH30cV6Tj8m5ltGlOlkA7oEH8PAHiaw8CBwwBxGwlaF7kLrh880YHkuSdS+2nn024liSZWgyB9AcGkg0kaF2EuxE/AQywwAOHisAtcB1+dVghwb+xxAVOhGW7yHoUyXx6k8wTmQfGnHS2WnhA/fwe4bAPDIkGhcsZciMBA6Gwg+vxxqzP3W2cgOwg8vg7AG/QTM5gNkgUDX5g7w1yOgmxTSGUBXAoQPzYs0Gx8qgPK07Zk8+5MVvs8dBEB06xc0cZzS+faAQylCWyOpiUj6FCQqAwpXD6O2DOI7zkbC9vm+wAcAxCjYXd0sKgkB46AkIFcjCQEQIXAB8gCB/Dh6WyoFaU5niiO2GQUu3cAMBfcTJiRC35WdDGKBc6zh0/wGdMxXSkBKQNsWygO+gR22GBh4BQUUwKtQOQIIQr9xNgLACs2oGlCWnS11ssPQXgHU06W3QPEBn2hUgfQPiaHNj2B5D17AWVUS+Cn1mWAcUxSvGih4uIAE0LwFxQ6HltIS5QTMX/zQKo4CSB2wOKwWVxCBTPyfA3rRRBwBwCeeEWQQqGn4O8gFgcHwME2XwOyB8gLQQ2Wjn45QQ4WQ/3jgVwOIQS2jy0tzxkBtbABsasSzAasW6BmwPk2/QOY8WP2+BBwL8gmfwF2N+0kkMyB3SFNyS0+XA1ONwOdqd+nuBAZ0eBfSwuUMG1fUVOC0OcYHhg/cBAUKaQ40DgK4+uUl7uGB21AbgPBBkILDQcQNQINPR5uWS0DkaCDxB6HnZQnIxzwTsltByCApB2m2/0xWj1ksMAdQ2oEZBBWiC4oj1UAQNjxklbBDBnxWR6ImHmBscVPKpVBx+idQTQk5wvAPGCO6jqBlB5yheky5jXMioIGm/SzzgJAMqM9DQXic4WA0pFCS6/iGUgUjV1Br7nzB0vSBBCcxBBasFNBieiLBmQk8YniEkAEXg7BeMmPwPXBK6nu1xBaGiXUWkC7i7YPZQXYPZQPYNIoOeDowW8XhkFIKF6OaBpBYaBTBV0gluOaFH+MM1ZB8XTiqrCk+kO6hHBxYKnBcYFugfYJY8sYMFBPeQTB9WhFBJMDJASiD4mLJxqgeUE+S0WB9w41yaw2FBe4RYxweVOCqGsIGTQpUDUeFyTAm8VlSITjBwwyaE4QX5Giw7E3+eMEIL87lB1wauHogSiGiw8gFFAyaDlAj2H28KuCMeGXn/BrUBxqGT0AQcyjImrAMBAdUHYB+4C0UUaBaQwWHdAdUCnIxgA7wnjGoQeUDqgNIAhEsAJR89UHk6fEO9AtLAog2FFmeJriLWdEJEgZGHhA7eyUQFuF4Q+3gqgKGEAhwEJESoENgmGwJ46mEOwh2wy4ghEIYhrUGYhckLYhwmHTiXEMQhtsjfBR4yuO0kOkkskKry6AFbAVUG9ApCDQhtYyAhL1TUhX5B4wvFBYhxEC0h7HkkOqEHPQ+thuGvt28AZE2SSw8k8YNwzLgyaDn4k4JAe7oE2GpnRYh2wyoQJkNQgZkJ4hyD02G8SFQgwRgihPSSvgrQnOBGaVNAvkCkhej1shqUKD8xRSjQj4JE8voAmCljk5+XHwMgDm1IYrqhIgEIgmUpWCm8uCA6hkTluU3oHfBJ4K/BRY2/BN41Io+oHBeCW3OwyaCMgCSl2QfkEUYM0NFuWyGAuf/0hAOGFQgnCDVwSODrGq1BpA+0PMhEBRqgYOFQhvkM/Q3BnY8+3iSenjAWhLkGwoKuBZ82sEehnjCKeYUP/k1UI7w+kJeAzEPyhQtyW48SBeANIEoI2UNtkOT2yeX43qgrPiWhaIHEhdkOMAlUJkhokBEgxD39uD0JZOKyHhheyA/GoMACmlAlkcGkNzu5lgCh52DZaNWGWg5oABhaUPBO4YmrAYMNOh1YCWQxAAqhNkKjQgMPjg3AEch9EGwoLkJqhGIFxhK0KUgBMNmhWyAHGaTCUQmw2uhShnJhVOEphxcAVh1EPChAEMihhOxUu44Myhn6FrgiUJphUcHyhnz2BhjMPBhyNRZh3oDZhKhXGGRUOa6g7H7oSiHFw7MKqhnMKryPMJQiyaR6QTKhPejgP1sLgLz0ugN1+eZzmQkMH4gofECBJgObG1YNUqSX19h9YK2AjYIQQzYPg6tykCGwcPiB8SCMuPUmIeRykdBlfQ48iPgdIdHQDhc6DoYVCEieT4G4hPJ3l80JCwgcyH5gEcIR6pINkYZsWM6PWELSEInwI3BHf2lfXsBNYMmQpk04m6qgThtYB9AHgNhAXgMewZcOBkcbkrhUp2rhDECtAgQMbh6QLRBPYFrhy8OmBzcLdOgigrhJEIE6PeB4sfHXiQs8ML8cyH94gIDg0nCBwgmwLrh10AjhRIPM6i8N1haQOmBb9QVAJEGiB8cJZgacJASgQMRBPINwQxEFRBcblRgA4XsQEQMTA1pR3wgfjtB8GmThh0ER8kMAGGVznl6HYKoQo7SD6KvWUWvDQE25QOtidQIH4n3kFqhvUoSs6UaB7QJaB5/E+8FCM6BjoBvgyaVOhCPSOBoCIjhk7EAkL8NOB34BCM28NZwICL3hvMx4sqQJ16yNWFyPQLbiyQPM6G8M4RzcKL8urnJBjYG5hiPi9BjgGO2JXRzwcyH9BRdxEg/qm3BhwXjgzoBw84XHrmrCj0RYaE0AHsKMRl4KLY14JTEHSx9hCIHeIVexzBqFlPenCHqQVcE1A151hANfSwReD1UADCIhhOFX8BoCPCBr8JCMtIE2AfCLMwrwM1AEiPMWwQIgRivSnIGhmhgyaRsRnYDlcXq2/OgIA7ARS1McKvyYYC3kKY6S2jehwBagrGWRwLUEkAg/l8gLUGzY1hGhMJr0T6U01ZCAmiHURdGLo1sAkUjmlZaFI1puV8klkhsjMANICrsPvCzUj3VGMrdA1WnxhDW+LD7AsWjc018lqIH4nXijzkRop8mtgoyMRSHqmUA2bFqRuyIgIYBC9WXYD2RC52qR+O2UArGU0qeQAH+0klYyw2xrKqEGkk2bAeRJmC2RXLkKkf8B3qygCqRNSOMAdSPVumlUMASl2qRnviLgdwRORiyC7A5yM0qx2jQiOtQz834Bf+Yv0Zqto3qOPEAq+RALSuoDEcOGCVO0nzxPsv0FNWBV02khqxxW+Uk2k41VUOvMxKgss3vSUHzy4cb2C+zXF4gGeB0gFkGcImQDnQpQ2Kes/nd0NKP1uX3jGo73myBhwOTWj3hnAz3lZ8Tvz+wnDG3OV6VOh8vT5SVMGFKwBxdQNpSs8NCSAByq1FR2Pkesp0OFBN/xJgGoBvAtyiOqJkm4A4KguSGO0tRdkiPMEwEMAFgD2gsgBGKSYACK6YxkAR5Gd4r4Pk6VqLjknUCDKN4EXWQul7+Z1lKRggIy8Fq2Kk3CR3yuuE0sZzXnwDmHtepSHwiFinSqp+Vm4xGCpR5ZQHi67yYW0b2ziq7wOAHYBt+1wFEANkSZRRP0RMCH0PuCHwmu3EVcSc0EvW+VWKq2aExR4YkruJ7VkYe4JfA+8FxwdoHqQ9y2Ue/aLpKCkiwiFEF5Yv2EQQi63YgQ0PaQe8FaA/wHvAm0UQ++4GxuLnTIguOCbRjPHG8QCF6alGAHA3dzcE/aNNAW6M98dUDNi770BA94H1szpEweJaOWQi6OXR5aM3gPcHyse8GEsM6Jpc4AAQBstndAyrlWwdUAu4QGNX8xSMGw2gBvA8hRTYvXzqu3rQre/ZDgx2AHXRCGNIoWpBQxJ4InoyvE8YrQGJAogErRCbyVIi6MbAi6NaA0txmBbqFaAQDlPoEaJ9A94GVceGK+hsjGD8D8kxRsbHNMS6NFuNZWwxuGPwx+b0mIpGMweSazUAi6L7Ay6O/ArOHJiqnEDeTwHICrqjExsjF2SMGN2uzpExRvYHgxrc3Lek9x30d8GQxGmJnuyGJYhoxA0xaGLeeWGLzOOGLwxmKI+SRGMsORuzIxRfkox5qVSqzb1J+5UivyobAuB7YGTQBaLtA1sD4IObXBwaGP28eSIpc2py3Urqm2SLJXwAzIlSA9QjQApvDl+94BdemmNQABmPqQJd3bCMi0WBAd0F6lsCBUnGKlebd0sIKBnbuwuRSxyGMPA7WAyx0kWCwC5DviKEGNymD076Uj0eIOuBIgtWNIo8j0shJsiTuEjwhEE1x0eJaL2GagFSghFipwpk38mGD1Zut3HOeU1BtAZkL1AjwEaomAGzYXVjquEIkLIq2KSKSuDWxu1w7huEgyKrnzruW5CC49yk2xB2KhIxIHAA+2N2xDRBMQg8GzENoBZwU+BqgdOBmxWdwKw82IhEi2M4Ay2K2xh2P7IG2PMg/2KhIO2KSKZkMIAt2KOx3j3runjArGbPg6gLABAeikw6gU2LkuLADLRxb0pCqxQ1eLYGPhotyPRGsKzhPUzpiQtwrGwWFxQaOJmh1wHSqCiF4x431PcWFwKsGKKUx9LzoBLWPpeKNXKx1VwoYDD2ixSqD4xSjUdWKDj3cgt2te+Bmw+p7GNy6jzwx9aMpCmoCag8uMlenGJleBFnlexlxeS9aLVeb7D9k9ONBxAMQZo1Wgkwg2HIAPmLG8/mPZId6WoAQWPJiIWPg8HXi38kTkix5wH5xmQFixrlHixVu3KCBuMcS80BJC1WKBcTwT1xrWPqxN8HheHWNjwIexluxWIc8rYTbi1kiexIDx8axWLJesgDssvkHSqmoBZxebwZxCXV/cPEWzxwXz6EJsj5S+mNGIVgI5xSpG7SzuOIAruNeuxeLq8LWGwgxuMkkrQAm2oFQm2BEFEAcvwtxJIRB2X+iGqrkGDxkFFbSirwygVmPM6+eKYRGUCCxmAHdANkHsQH3R94FcUWQ7bX3g4W3GIC31OYTjW4gqoCcR52FaAPDlIxmKMtGnmBnI9APlC7/lEArCgHUbYkXxOVGXx54N30cxmKS5MQsgSfzbg8dFl+zniGxkgTxkuAA0aA1SL8Om0GwABPIi9AK/8WAQEYiYHp8m+PGY2+NUYUJg9g1sDwxP9zZSERiEuLJQyEMlFNEZaAYuqBJDua13mR2aTLQr20suMHzmEN0FXk72EoJxZxLuYrjG63cCxwAgOlMxpgu4w33aAW+KW+gsnaACGGcgwQEB2g2AXxJ83NBZy1OohwF4J5+gEJjsNAwkhLd4iKLiKnBPgJS33z83Bnh29R1UEiZXBk6aM82WyhEUjUk080hLjyat2fiOa0YiQRDPBY6A1woGBqIA/yOwEGN8ghvzwUfG09wheKrR9L3ZS8GPHAMBKpuw11Fx/L3aue4VEujqmq0gRJdxGfFeucWOxgPcGaQUWIiJguP14NaDQx3hPu0huKZox2EeUS+KIgGbBJwVMF1xqmKTgoGGvxnnxgJedwDQFvDZikUkYAqCGmMyMHXSx2JbAlaAIJ+pGQxQtypQEihmx5wGwJvV22E8sQ+ezRLXR1V2IJ91wyEp0HsulbHIJVty6JM1wJRnxhGJM1zGJrN0bAb7ysuUDXsuAKWludOPmJ31z+wVeQb2F4CTAQS3jgFuOHx3gCKJH910uSW3Vcp9ExxtP3ExpxMgwxRKSgLmmY8cxiEaMJU8ug2DIwFxKtSelwtx8vneJImBkYm3CQ6d8Tox0+GCwKmNZxlX296OqhamkgBkW8WGFolGFQEyIE/AdaQnk0JMeJLLmY8moBTSNCUNAeGLuJwPCsxTxJeJMMDxJmlTXA6B3jgogFIQMgRT+pT3bgxgBYYMcQ1um5270vAm+JygEvxLJLZJn7RpJYaG5JidAdohyO7gl4EFJbqGFJxgEToYpMGwcEHQOFukae45Xpip9F7AQKGLYuNHNISawZRFXgPBUTU98RbDeY4ymbRUfGmqneKvRgtk/e0/TWwNQMsAXgDFAVriTOUpNIQidEToCpM94D+O9a6TCreb93DRaCkQAHnQIg/xNLwHZypQPpTl+VgExRiJNmWGsEJBbkDzk2aJqAbkHEw8bCsxicFXaM0F/R7YGyoQZKQ4NxNDJC3CPsEZL+aDxJjJKix8SKi3jJxciTJNeBUwlmhzaDxMlcvYCzJYGMkkyAEDJuwm5RY/iGxIaKdcKWKhI4yS8JiuCZxYR0J+BGJFsNOPJgXSFPcBEH/CpJVlxn5xhgiuIkqdCWHJPET4BJsGTQ1oLk4BEFxwriU6gO9XjouEQi80BLx2cvxYAZ8MdSD1kvJKqTP4m/BYEl/AsQnmHVJnqW52ElVvJxqSuE1mE08IwH2YYaBOJmKI3sO5On+XSnkAJ6QIg72P7IqMB+xrMRhg52Khx/ZB3eF2Pg+OowaJW1HJAnZJNA7gGOBt6Uz8rH0kOOXTuUCEFqR05JFIUjVkAgZK6QvSE08tAB3JRFJwg4FKBQkGCgppjFgp+jAQp4OOQpiFJkomGIXI+8EE+GhhwpA1Vs8m3AoeB5x6CsmFkiLkAVe19ip0xb38YB73uudePdxFQjcY571kcoSlQ6UxNrx8RPG+6XHdAUcAdM4ZhBxiJh8kwrBQp9L1KQFEHSqCMEpkXvRQBAt35eZOKCY0t2KwFlzzUSr3suVOPagblMs+StwbM+elDMftUOUt4HPovrmxqb1AdQjyDSulJVJKFhMH8W8SnIVFOfAn0jvmWFNTqKsKCpozB9AogBImoVRlRogFAwOFO34I6LfR0O1A2VNyFumb2lu9N2luqxKsu95gUiyD08xF4Eop1wPnQPwVNuMEXNus/2LeNt2apMkUKCwCEpCdAK1xLtzMUu/0kkNRCAuo1EdqjsBVuDni92RanYQF/z1RZLxTSXVRCpzXSFe3CAMUTij4E5PWhwUUCvYUakruyEjmQ8NABoSkHzUbyiUgcyC+Ue9Ah4Cxh7AvZDQAqjEepq8xGAmTXeeZpLG2ZuOQEi1jp4r1IVE6GOiwn1JLgGxhko31MikdJipQ8GhRupJHDRo1CqUQrAhwH/FYJLPCq0s9DtAxyzBAYlDEJS6SiUcHgu4KcBP8nZMWEBECBu3mGhMEvzbo8bAceBoE7hkfC3Icv0xppyHE4Hj20WbzEnq/+EnqQBBeAHynx2pSIN45oKz0FNJ9aCNWppY6Fpp8Xnpp8GzuI1X0yAY33q+JpScUvr1cxkyF+JVxPZpeyBLuDzzr4kShikcPg9gU/DuwDeEiUHYBFpsM1bCZQIGGBv3u+swDmQkP3posm2q0LyWruiAjeYVtPFMoWy4+7lk8YkCmJAkCiA+fVjFAQ4B8g7UhLY6XVgMQx086DyjXyRn0p+btMDiZMKAM53wFIVTBykEXgLU5UMYBg2H4AEtPRuuXQ4iA2lyAuN0OAwXFoA7lDLpI8wXG9G2Y2P1D6sWQIhIPXEPR61D5uXcWfxHZ3ssddJC6n+hpan/37iqwB66JYKVeNkg5sChUyJXpNIoXZKBw/QFjgyjk6MGVN6x7OF96EijlOto0K8WJLVcSWj1+uKPAygoApqL+B8kwlg/S0V3/OZL2D89kNvBTJiLpFcTTB86DH8EiLF69MQX4C1W4BCER1CGMlmOCB1HQVLigam/3ICPoUAZCx3VwPAWpcDVFXQEvzYe2iVN8lDyISnWlHQEOgkU0tNMJ89MRoO6D0AzwD7A01hRBcuNHQG6g/pf9NKeYQVgwWuOypb6DQUFZ11SwqNO4qbyLg4YkDJOh1Io55RpASYG3aMR1Rg55QY899K3iCNUiOFmhi++v2uAgFzbpTCJmALC01AobwxsAkmrQbCSMgZkEq8h9wquhBIc6XALc8HUS9sJAXHQ9aOaibYhoZraUqhuUib2uSw0Z0/kQOCYBoZUjRt0p3F68fDP9iNGJdQCHUfi8piVJPxFPeRkEkAgyGcgnCm/yj+WugFEO/0FxRhQDKIpRATP2gNuiQZ3AXnptgM1A1dP7geJN7RiYE/hWgNSupFAUQQOB5BraTC4/nhRAbyyiOtBxly73llcttNO4klMKOWr30idWAhJiPmpO10AxsNQLFqetMtJUNJSqGSBqwvSA2g6QLukqXEQQ8cCxwhjM6aEBNkYEALbiS53SBfTIKZpwKKZcOhKZ+xOJYDjOO64uLEp9OKa+wkJMRXTL5sPTLyZiCBwQwHiBwVN2a41mBAWqFz0ZdWFQuRx2MCwDKl6jwynxHWBt0WuKqZN0EGZDqHSRuOB8xW8WSq99L6pRzOugyWLGBX+mYx45ISJTuhHEbEGRAt7lx8/QNHaoIyRBr9LcJE5InufoyCJN6FvgLlAw0y8BkoX5MEsDFxagn+BGwiyBMglIQu4xPmwAdp0KO/9C/CKQVrJypwFUojRSxaUShaQOC1xyayUi1LN60WTKxJyLJaC2jHRZuQExZOzCIgOLJgODFx4gtaNIo+LMJZ6kA1eSczOiTZO2u2AF5ZaLJzY2tFGk2LOvJfRPruE5xS+DLJnuvLIu4UrLUxUIQ1eJxnWo57yvhiPn1Z1ES6QTZJrkxDBhgRrJMgMrNGpVjOip0JlsZC0A3sEtKviUzMkxaa3ypalTC4QDAIitPzqoPLCBw1AJtC3ATigaSQ5JMYNyx+72y+18DveeXySECPl/ePXG7SYjJEpeFU+ZoCN7ROEDkZWiVzW2sAxASjJt0KjNXR3gAMx5jP9E6uG0Z5FGeZ+jNeZb9CMZJylhApjJLwIzM0gMxC02xTLsZZXSWZj9OCYdFSTZPkmygqSUE6o6JzZvaIKBZQLUAmgEz+NJSS655StAhIIfpp2PMpPeEkxPYRg+jb3M64OHqZo4A+4gQPxUqD296K2kkWdpP/A8X29hbUP1s1CHiQV7wMgFYniQo7I4QuXwfeBMEkWmbKQgBkDjp3oA/0I32VpdX0eIDX24AzXHn6ThLDA8AHW+g3zzgqAnm+yhKGAvczmEJ1y5w8HMt0JLlQE4P0M+GdJe+kn0E+0n0CZx32w59CmIESdMI5pnxI5o4AS6d3lVAmnQaQzkDMASXSjgqMD46oz1HRNUGCeZZLD6iJhF+79x7yzENbSKXDLJLDzVMqoHIAXECr67QFOEe+PaJMHPBAhEK6E2HmiwMgLE5mKJEgbPlGeqoBrePPXKmsMG7GAHM4Q4wL9piHOoAeHKB+FPy++b3zI5leBw55P14+0PwbYqoE2ASnNmAlHII5LnKO+XnOB+B3xh+IyEdp2gis5kP1s5DbHhAuHIB++HP85r3wbYWyDu+CHMmQfnIp+rtOp+Lnk/p9P30CTsw852ghdpVPzs5GXL/pWXO68XLJzxxzLpxVmMewS8z8+qMH459LxMAlHMO2Q8APCFYly5KXOg4aXMK5dbMpCJXK3ZQplZwwWBc+02z2QZGDv2lHURZqQCa+8SBnMkGFuwzNP4iW8lzYHhCW0LMFKwXwz8+12K5w4OD+ZJ7MggTXP/A0nRvZlhDvZ/wOrwA8PGxxIA6gV70ewFYlHC05M/Z973y+HUD/Z7HjjpoTziKo3zA5+4Ag5TXyIhuXNNG03yS51eCQ5cBMW+qHJW+J13S0rUIs5oXKo54nyI5Zn1HA1fgc5FHKc5+3xM+Wnym+AkHsoUnJk5LHLY5OHhwhXHMJwvHOjJ9XPxeE4CXKOHlqwcdLBwk3PG+rSFx5yoGk5gIBeAqoDk5SQgU5n9mC5ok2HmG7IkmMgPp5DxJEgmwHiQunOVA+nOw8Q8CM5/0Mewkck8wnCDg5QPPI5XHyi5+nwh+8PLjAJ1xR5PxEc5YXPE+J11SMwXI65GPJ15sIFN5xnxOulGDl5QXOB5YYHV5O3wN52vPVIkXMs50XOs5znJd5+pBt5b3MS5mtJB56PLpobEHN5RXIsZdPzt5AfId5ihK4JEPK6yofJ65o6FlCOXJh5yXKD5ydKN5yoCl8ILKYAwnz0eraExRTZXoBAgUj5qPLV5MfJQ5y33j56pBsQBfN6+efMggbaKxJRfM3+yfLK5zKNq57fPcJSpDeANXNHAKTAp5kGH+hB3NZuJgGzwCoHM5afPy5TAEz52fLWZpHMb5PXxzxUJBb5mXNL5evLR5yHPB5VfPQ5NfKz5dfPK5C/IP5ReMeIq/L/ptDF60/XPSRdUHzZPSEPRWklv5RaJkA4plQ6PKKuZs/lJw8WGF8kGn/k42x56x6nAArbOfA3aXwB0ixYAjyiSEF2Bqg7WN15lYBg8n3NA5guIg5Tig+JvEGZE1aET52SReOfiOTWyYE4Z73neGA4VwFHDJ64REARghwXBgNDPIFlnysxOCL2Qv/NXZSR1iKg7JxcGVNz0fm3DxU2mJAlm1zMVNym0hzPbCU2k3MK2lHeK2nhAPAqBwV7MEm/AGjezU3wRRvU0qFohYWKECxwIOwtI0JFbSifN5Y3/l7ZfaU9ZmKB98Slwh41rJEuNzH5ZarKxZwrM1Zc11PCPzMtu4eKg5kGE/w+X3qQiuBe4v7V5RZR2IgtwHaxjOMtJSsO0SOfMuxL+Gc8XIEycJvVogQBDrZHUR5YA6lTSLaNLBFcxF5R4HAi+LP7AYvX285sAqOuSxNe0ZIUZFeVVOeKPyIkh2ikpQWuC8LMV5TtzYixdACQ5KOzQm0jmJqr320VQrHAHLMTom8ApxEcObhWBC5pbqkbub7wxR8TQPep3BAeuyV+q4LNAKGACn027AwAfizwgEvT0Q+RwrJPUklgbiISu6kRvQdcKEOfn0pkrd0/wpCHY5ZNFjBd2k2BJXRhgWPzmQwB3k2VwsXhgSIOBJTKzxIqKsxPcAkBYSFJJsSNpAZGEJBlMhWUS/JP5I3nqxmFyniB9OcOkh2cW8cFQgO5MOFCMGRBY6RuUkij8MrjxIegwqTylQXKZkD0CROuA6gYwvxYEwshZ0wvusZLTGBHsAl6HlCWFya2R6AwoIF75wvOqrxvQxLxqxxzJMAc/3lgq/3tZb7zGZSiGq5nymdMywE1YiiTHACD15FKwAFFxgXjoBAW9siEQGGowXr60kmoFWX3UI0kjw8vINWoi8OoBj3FFRWQKuFLdLNhPPhKZMjGZ8wwv+8wWC4ZfHIYZ6WGJALwuvg4NRMFk11QEtos7Q2JlVZgrI1ZfqSwAhDxFZPpA9gl1O5ZKq3WFbES4Z14QGC7BKbJogBNkeCwhc/3lmQiqJwgYzM1AOIv7I0ZkQkLJAJF3SyJFMwochG5XKF/QLF6N53GpUiJUB9nmZhv4Irm3nkihMB1mJy/2gOPpFe2kbM/patXoJ2a0s+9DLoBVmM3gNBlfW7YC+FW9nGopCATF4+mTFMXWWMhIsPQD8KOFxSX5B5GLfQJTNapNQB/wPxMOAXiJzOLiRIF8mxGFG6WwW3YuIJu3OMBYwMOOn9ISgDPL6E7YrbJJMEhFygopkUNV/SVzO0FlXiuZDbLYCZmFQgirn2OzOnyYNJS1u7HJLZm5i05+gtiOXDLrF5/IAZEVgRFvQr0sSIPl8+wqvK/QIHFPEJPKYwPTF91laI44tWoCPhvhA8CjgtKQvxWoqiOqghQM2osv+cAL1FLYtQwHgpzFSwtXF46HXFpFEpkNaFO4TZKtFtEqPFiJjDFfQpBG2YryOtZPnF/cEwlqEr1WdQuBFBxUrp0eJDOyNXe+CZxCom0ghI6+MOoWQFw6m0Gn8v6EYpCPg6OggVdUgjUGQOHkjybqm4lb9C/FLfUPJhRw8ogYr3CRRjMgzIzuqFkERJccI8oJzgE0d3QYBdA0FCkGHf8dA0MCRdHFCpdETCZQHDZaYVlCcAQVCSAQHUVoUgALDBVCjaigJGoXwC/IVIZuoUsC+oTjCRoVroJoUYC5oVYC7AWXo0bLtCzoSECkgVFCMgQMC+gS9CKgUFCq9H9CWgSDCegVDCaPA+S//l+mddACC9ETLokGEGiXQW/8nDCe6AaIksPwS5AQ+OYiGQC4iyoHspxIFnUwwTssjHURU1ni8OCIVDhU0skAdQWywJhIssFhJgpA8A1wpoEkE1aA0luyNfFeDJ0ln4popeq2JRgkr7Qd4vrFADNwFAEutgHYGnp3vFc6W80AweoHwABuCvOkFyvJmrCY28hzYOUr1DOtErAoC4HhO2xAzOwfmbkJ+0N2Jhyv2hu0V4x+1N2SkE8g5u2OGE0jYgdewmk10XMOHYB0YbJihC4FHjJDcJrQtPyWO3/k3J7YAvg4BIIZe7wKi4lMIBceC8RQ+PJlUIQM8VMBsExRUf5zmFtp0ZIVeLGO5ZTaGGkDeFj48sQ5gERJjYREAPUAKBiaejBvQ911MYFQJ2YMMBllmokJ6UwUOI0FAew/MsgalwqFltskjuaAqVQ7lHFlIuFMw4KhZKKTDPhKxQkqpso8AmogO88UTsFXSkWU2woRBfN1/yhAHgAHKKVQX+iwRHgDdZa6Xvh0JhwgzgvTZzaB+CeiEycJCGMCKx0Al4fIqeEmLfS2sEuZCxz5RsvUyi4qI/m1Kji8toxb2mKJ4cpMoDQyOELScdlnWagBzlzHkQwhaRb2p3GkM9ErkB+fnKZ3zCb6rPh8YD6C368qIy842Cv+LF1bl2PnTUaqKblrcPz8x91OhpIL1RoDhERruy3waQp1Ba/WnCKIq5A01mYl4H1jw61EBkKEFP6wOl+0oxStx5TMisZHhykfx2/0X0JKFQTLhRr9mHmvUhywr+iv+6vmqpQTF6MC0EkFC0AIqFYh28gSPCOZsOKSmgEJBO71xJe8IDsAeH5lL8A+Sm8HAlW8uxSJTJLFuawwwyRhO8lD3Z+R8tjyIlhKZwA3YwjqwQeV/1QVcALwi+UDUwhoA/lA3TRZhAp/lqgzWYzNDtguCpG6gbgwxpFG0lHUsmR88qVIC5D/FDIXAxd/zhZ5EucgIMtYsX0OpK8a0oe3CovxmlSAFktI4VVYv4uHZIDFfFwz4Alx8A6rxoi/VJF6/9DZZpkuP++QopF2aArlHUOXWd8VUEQqJNetcvSwPFkGpsgBpOdEoflF3HUsmopb2mItWqbcuVW58uZhYzI2JO4qCBkRxmZ8bDuFDCoHZXrO7gLwHopccPvSAmkroDwFyWqgowFV0wRkNyLMZYSsu6Upjz0zkEnZJeDCVNdBkFPXGG5mLjkFlQIqAhCsXos6jtlYG1U0bWz7x8/NHAV1hagzhGCBDPAJgwBSyBFSrCg3AiQVaOA7UxDDoVWKLvqHcsaqIItO0kGjSFAcvZo/ARfJmAuAlZECDllLNdiIqIyuhQVrJ+hEyB3StOEGQsTAgipdcdB0YZNipR8sbBmVSQgyFTkqHUvqC6poyvGV0ipJuv9JKOfKPk4BYKdAPzPxl50pYYvwuaVAw17pOsuVpWstIo/8w8A1JVZeE9QWJxSXWV7NCKMw8GReZQBtKy9ANCKh3OBxb1MwyaB+ZRfgWVvpJNgZGFSqFimqOHWhWKmoiD0IQEmFbUnNiXsuLC4CuyOeIT1+X0O886kBicV/1XkU61eVImAvlcAMumIQztKcYHgJCel0SMspbOOrI4m/0lf+/0iypRiA5soDExF7YOS0raI7WHgAfkMsqaYTMBllxYqX4hEt4hiNMkka4Bz0R2Bb2BKr5sX0JKZairvlGljuWyHXEskYtT8aoP2QDt3FePgGVAFPmygFYXBCQot0AfIsZYCcvFF1LnYgSz3NVvKNtVkosTo9v04RyuMxFgnSqgaIv+8jaQOQYryxxJqq4iFPEdV5aEtVIopNiFISniRxwSaEQMgw6CqNOKkXDV/Is/phWn9FY4FcuswLV2vivsFTiuuAbqNyWxbkieRDEbUxunroeumN0S9HB00gWN00oXaRi9DDCBCDlVu+mjui9DPUwTFm5/jC7AzOFO228WbV2wzyeoAsq21wECAagu7VFyLO2ZSH/RWQL4F8WyfOFHwZFQLn4Fi6prpFH1fxSwLfc+VS+8IJ29kifJroCQqCFIGTQSM7SKFbUzykhR2iF4AFvFZ/KjlsoUkONhH4gn+HdANhBEgRZxrktSJ9Z1wH7V1/3jAlDExiAa2Y2TyMuRpiR+VGNlm5sCuWF7VgXZuOHopSVODZiXD4gKsXoBvksjl+4S9snARjZz2PJZs2w7lbAPD6H+K/8ncF8g36pwyfVGeRv6wTq5wxcqwktSVoa3BwDpGEZx7ObObkF9WF2DcgW63awRkjIlnEpaRONKD0mlAtosej7gDeiSGjyGE1EnDo0jyEkGboBNYVbl3IUegIIX8DH0wmoK0C1J/loAyTFyIETkzGW1U5JmQw3quWQqAFKgzQHOSIiTisagD7gJmpGqC5TCVD8FBpdsGE1kEjU19UvTyHZhWc32FwkKzmCoEA0c1YJGc1KmqLuzmskGyIBlloxWE1UORhyUmts1yZUxigKBCR1wGE1CmSQAs8Ci1NKr+m9rTJa9U3hMAOINANhEwAeQB2gK+iJAr+AxAl1MK1HQI9giWrokimSC1tmvqWX7ibAcWtsWVWuOQbEDU1hoFYcFJJZwS+1jRsgCYgezMGQPZhHMz9h2C2vSRUP3GTyGYqrAeD3D+4GnoUowRV6/swoEM4CaGNuDmCVQQmYIxR/wRQseAJ0W+g7lB4cGSyHxrDWW1IZARgiyEgw4oDGBjsCFUdICeB82tnSJ2tkaO+Krgrvwnwk0pdYXJW21NXl21GEBEkxCiO1i2qeqAc3O1W8xwoBJnusxYmUgt2t0kQ2qfsR+UpkO5nnwK5Ulo4OWm18IGE19g1qGNFMBkdoBkyQJTtgkhhcSHZmHeTAskG9WsJ1e4OPGcWqyVb8H0mUegEslYAboBDFvUuXLmQ1bk7cN53a6Fbj1wbZhcsK1zUZSjQGG7lj3Vy6VQAHPllmfy0ZWJIH7IvI05aORnfMs9kjsLtkHsi9mLsK9jXsnlXBc3dlFsI4jDsDdmV1+dhbsS9nbsq9kbqjDIfgLS1Ukc8CJKxAgt4ttS7KSrGIIWkD4AQTgrIeqmX0qkhwwI5BeArcGQAvtit1xAHtU/x3bkMmyKOuFwzWSYjsR/tMOIZNTt17ZQd1TPVCAZLVCARPUTU8ev3AiepGQ+kw+Q/EBNFwQIs4l0CK1JIFQEheoeAHQPpwG92K8eeqR8NiUv+BsgsW4AJx4Cevec0CnVuCYEbWykU3WjWBkYdUB3JiuEEmtGsQ4XCPBqwWBycFn141V8Dx1x2UOMJNgc17iBkGnml8g4mooyS+oKgjt2i1xpUlYcms40CmoGmymvcQqmt94QuqjqlUgF4YIF/6umu0128sksJmpeq5mss1SlgYwx+o31aWvxQb1J8MvmtFYa+pP10Wrc1Ueg81JWSiGfAB817iCc1vvAC1dfB/1r+oaVx2WWKHgDC1pdRJskWp+6MBooY8mQJ1sWrSR6+q6MJaQS1RdWq1yWrX1kg0Z1zIBqlLcLf123QgQWNmy1fQmLR5kAK1Reo6BJWvHx5WqJAHsEgwxW1RgQNNM0PM2X1BBta1KWpJw5OoHquZUa12Brrp2Bpa1NWt94NCrWs5Bo61j9V7RrI2Oq7XGtQo7XsQ47TP0hwWnwgQwwhPG2j04DirAjd2AcT4Fu5G0l8c6y0WWmyykcrjmMNWiz1wV3J2WZdmWsN6H0W8IFxwFNJEedIGu1/d1m1ruhek8OOzKohoaWQDF0U+PPhAmgDjc5hvu1XH1MmURt5MykHMNn2pGKhuU2mxzD21/2scRpykAEW2p21nAEyNEfy067wG2gDcCqIK2QY6LkFh1WhqMsiCEaGsiwRAFLRqG5utQWsIEx1zRqX1dJlMmPJkwWjXM7EuOqD0MWqJ1JOBJ1JXUH1dWpCNDWuGN1OsD8JBtUkTOt0QrNj5s4CgvkQZgnMyiCUgIJgyge5jjwdgwy1thzYN9iksQRkSYNRIAR82xqUMbaUbu3FifAqZVYNpxoeQ66jpMR7kfM/8huNPYDuNJxvL1RIGCBwtjJ1W9EmRuXN5Gq5QrcNpm51nbl51poAGNqM1gGZBvx15eij09OoBKkxqZmjZiVaYlAYA5RtOAuTxky/+uIKuT1vU76I76VgIJlNVgg+SXCQ1YbIjZWgqylf1kNAJGtVBseD4Oa0FWWC7J7gO5Jz5UHN0aWx3TBz8BJcSJLzO2ivw182yI1GNiA19yKSEpVHI1DyIogO6rrSQ6oPZYGqKVzGs718Mx0BGUHDKDAhDZ350DgJQrUASKq60q9BpAgOqZqzxhhgqFzYVtOqrUzZBZsTGt8AKRqeo32qMYBRr+1B2thAJps1NcsPNNPwRfp01lbAJJrX5vMxwgUNnBaYhxm6ULVPqYsBwabMOb1+4AJ0c4Excq1JY1+kmIJABxOMDJvxuTJssCV2x6o8vluVkmMDZh6pohkGttNWJKq8p6oP+ygEqhr4MRUccu41yIFzF56unlngox89aVD434BNkkQrYOw9xdOJVGuAISss+tPwTs4AXvGWZ0LS9SDlNkhwFNPUheNap3yIuGucZFimnRyvw4urDFdUB72jJUd11Z/jLnNqxid0pWo/xOp3XNqpt5mA5rJo5Qvf5ZRysBbYtVFe6q/VuS1cFW+HNZVOAfVLkCfVaaShRn6Wya2uCXNZ0s0ZsUvbgyWljYwyubNl5ox8jzNVeXSHl8p/yYAPwQ4VmcqxJzkCucVgPoltPzClA6gdoPKLYVsDNbl84UKOPSsZ4YvRGlPoHqAtOzbotIE2lZwz1+utwDNxXOI1iK0ZNv6rECZ6lHV8VJ9Znz21g5XSH1eCIyVDABEg/atPKm6lnUY7FgceSpEFGxF5S7JSwYEOm02MSvDI/EHHVvav4tklqzNWDCHUXYFzNG5qxJF3kg0AloEMhktAtCcrKOJDw1lzIiQh5MUpkHUjhVbcUEmMcs6pgIDcciQtLZMz2nCxDOOVZR0zWt8t1VFczz6HyWPl34q16wqM3+VLiuOmzMEmsYurZqWOWutMvFZgupSYouprQYaqtVAotCizGHUsXluygAw18i6WLfqaorAZJuglF9quZJDEKypnzz8RztI/OGwsXhTzMXh9DO1lSVojVbnkNlyprHA2spvNJ4LmQErI6tEioyAUitatpFAeplW0fl8cP2VY4GIElVvqCRsu1exb1qtD8vGtmKFuFwopTVTVs2F5YprFbVvr5Owpati8Ksxpep3pksEitFWMMWgusXh/vFQELMCb1aJMkVYipbCPVshZN1vNF9YBEwUFPlizzKau2LAkuOFyWqU2gKUPKqv+3ysItzxN4BnioMFI8uVWEz0mlMsvhA+2DUAOGB/wirwGVrJOIKyMLCt/SrBVWXNBCDo3k4liFHaiYDhROFWvpypWCtSNqAIuiW9uaV1itLROqutrNJNKNpstYRwVe5ag8Ap5DRV+Ivkp8soVmACmskCa3/kGIGhOYaD0trEx7wcUBAAMNoGcDyrFlgmSdwcNvmCbQu+RifJoYADORt1ls1Ax6haFdPxdCeUo1FoQBVlhgH5lnCDD6ZsOTW98sxQ6WHIJRsvOAhFKKuZsNFouAqjgFtv1APwrviFsrSglOhdti8NFlLVNOtZsu1RKPg9tmstkA+soFkMNsFwb8tYZ/wAItP7Inl62HDlK9DF6vwIzNiYKktPWmBVMWkTABLPy+GlsWQLKtzWzSsPlJZqb5y/MeIH7zD5+4XQtf1mwgLlqW0bCpGlv7VfCvhzvCl/LgixITmwS1utV/5tot4fPLtSlUFtqlp60jaoDK8YFAGquhwyHUOZJ/ivKWg2FEAOaoLViGCLVaKKiesltW5yUxcgilq7AZ2z88dbOjQ3iO/pVALmO60BigsUvKeF0u1GfduryLFv7xa9uUAZ21ug/6Lu0W9v6iO9rCC4vWfppR268e9qatB9qPt3LBPtroJ8lZ6mBRKlqYtyhxzN2C3zNscv1shQsPpC5vBwX0MPNvVP7NIO0dWdbM9iT9o7gH9un8zyUPtZTx/trJL7krarUtZ6g0tA6sf8vxX7xPqKLowlpPoolruI+Sv/AJDtLoqdr6w6doo19nCztDDsF0A9uL8seH9K3DsNe6RyAukkTZ+d8XUA7jPPI1+jb8huFYU+Fz0JhwB/ww6TF1MQE98SYJqAZgABpKNMmU1WnYQBwHkda6WtcsKutBhwEXI9SFDS3aMiQRRgfqGhnk4VBoAamMwzyskoTaK+HgUQrVcKr9Siozjra6YsxOMHWHg6BEDWQkZuwsrLWcg2MTWsJDWFGyoHZGv7FLJgrU8dSSRid5y3Xp8WFWwaQN8cJjTZhCNSVa4rQZcPnEyd80Hsa+rQ9lhzQZcnfT1ajjXUJ0NTDNZyEt6OIG2pygBAmCNWpVgCGKmeWNMwJEG8wHUG8w8SBsepmDpwPYEggR03019EE28T4Mtgg40uwLADCNh/nGlA6y4gLAGqdzdUqs7WLz2GeMRUeFsDunxzmdxB0qsofWkYvkG/kmzsqdeevaQBzuRADAlQa5MRoqGwLOu31sj1nDGQ+NOOOwvMLM88vTpwLqCJmi/Nyk/UHiQXwXUWtEsX58wX6g+oDVMZqlold8Uudmzt7N9lM4YdOBF+yH1FGgzWRAhoDpwtAGxq+Th5UyoAnCMJVFaTjphFdgExiUCRwA1cjrIhyFVAJLT4aol3cd4z3WoRLtjw94HqQlUGXqTACt42jH+mnAEKat82uAoaVHR2SG9AC4HOw8YFHa1sAKwGVtRgPKIaty1uOVMAW68kDsHQNwsCgHWBblukMuwQrvUJ50NgdPNsOV0Qov5sf3ntFagWi+ukXoVaqwY9dCclQM3OwSTxqgHYBSedpuMA+OCKeqmLVw3FqLGVEK352+LQ5lAGt5PEAW5R7xtIt2EpMHYGieclvh4D5FtdvkCohZGz1AtWxmEsfJ35Hru4etLDoGa9Etg2FCFNlW3SVJCIqAkKh9A4w0T6XdkeqSF2e1CSBpAssxzdhzrVhl9VtqxrUfkU7jD14wwrdcLnql5asACnIWN0EOjkN6enm2y6yJgWynqd8juIJTMpAmyDsVR4uNyu+wO+BZSBAOXWGYmeTP/OYODqgiAAUkiAFHR+iLCKYQPsFP9xztd3iFADD26JQyrfS2tLuUnfSaxyjwogSr1mGLoEsqLjO3mVRIYACJOvdj8FvdONWCUX73mCajp56iCF+FUr0Jx5IAt8FdkGw+gm34Ot0F1laElBO7pmu0oIDuIG086RBxjxJ7vdAQMgAWF7ucZpZPCa53mxiD7tQIzeWxqVl2/dyAAq8mnnqASl1z0wjsFe9R28+QzQNNAmnroFa3bdQHiRsuXPhpuahNJO6J6w5qTYFA3iypAw0LqVMpSu1JR7gzDJ/cYCsIUa1qwA+6QlVseEnWlo2xO5HsE2ysVcgOMV9+ja2mMQhkU9W62U9QMQTg3nXU9whlm4zQGGgIaoU9CcE0Aw0EE9AB03go7qmSD5lEVgl3M9LVrE97VvjAhiuOZtnrM9wnq6tLYG7gogAypoQVnWrK27WgfVnWf4QypScued2MK3VViqcZF9OjAqoC899jCpgtZPM9UXu+gcykHlcgL1RKIUxFmJ37WXay+O+eXUO3a3l6blv9Ef1jrlpyHdQkmPe8AXu7WByEb6ZXvExPeFNFiSK4ZQviOV/oivVtLLKBmnjyAANIVpiNH3gUwwqsPiOsVZQN7AxIHj6FTs0ORCVmRTHVCE7rurs2dyFqDkDm9FMArE43vmddjGtg+tOrWgmxQBptFjdk1Kdmm3qBwOxjsAYetCQdiuE2ffhli5CUIpupIVBev3BND2CL5j3tRxn0lTSRQOBdBQoIF19NM83XvzYOV0VRH8z+9c9LBtp8MGwrQB69GN1V65fXdM1fWh8Db1wRo3pFxe3uW9EBGzuJ3rI+k7JJwZLJeQH3sDuWeTvlP3uyQEPv+9oPqQhH8xJ9IPpLCIiPSWaNwHRFiWCZvqrZVT2B+ZdisCRrUTsFFECr89nI8Z9Cg78Rs2780DAk2eREkdBwH59DfkcATfkyAwvvi5A/l0JWjqZUhoFx1xav/tx4FVAa4GkkM5Nx0lINy6gQBJCURBHVZHn4AdPt8ggQEFkURHyg52ECA8uEzyiYD19PKrw+Gq3W9DBQ5qaSphWYergUvpg+WcKzHkNIECA1bu99k7PgSuCO6OUSv20Vvpt9V2MTU9vvl+jvvNOlTp9kK6mm9iZhGa63vKUB3t4QhLhpA+ABU84R0q2ofrf1PDH+AgQHX1BvrN9wfpG56bqj6mbot9PkmN9mQLN9MjAt99SvQNZQANdWDCNdigVFC3ASBmGIGPAXKsOtod1plnfW2JQYCnNFtyUakimPdV7sShZ0Aw9CPlNlZ0JtJ+jWc80wT+s81F6BfYF2Fq/r+CLHM39feW61X7tVxObkNA9fq7J9UuLoFin79LkA19ODNOxFfs5cuXLmgWvPgAMvs0SovvZum3KjJm1oRBdAu/0qmOf93nO15jEkC5tTqZU8juop/qjP9NgnqlQumNNJvtgDK9AqFnCCyIb72PAx4NzW3/qLtkFGgDPrUyIivXgDmQNo9IjFwDnm2KK7HoUJP9yExoikH9a10UwOQWkWLchIcMnr7pkAE/wOEI3+GKVth0xCg9OEB/wt0s+6J4PkkD9nMgvXUqsaXRcq89LrQlGDSp+jvbAT5C3sVuJX+PpATuKHXKC9yzR2MlnxWzsin49URmgc1IAeR2yG56XB1egzobSVOFKQccLseVHr99Ui2HVtfr3gwz2QQldDN9y+DTdxCOr9xvVr9ZDD7lj/lcDZQKr9BCNcS+eO3hKnRoS5MUCABGvMcrqmaAgZOVFraTN9m8AcDWIqnijGMHhLkEeUwB2KSbqpUBC5C2UYeHkdO+lmI2CFEt4rvbt7ltYCoIWyQ/m28tudv2Qn+GYZ6TENuNPsGwDQa3s8G0YxuiSOOk+swOC9uQQ7fsUCnfoFC3fvroCgcRSceHMEgfkg8oISiUoSk/wrCibZyTQ0QIkH0ETbOxpV8E0AcjqfAFnooopoFGo8wcf2GxPi9tTs2DOju2D2Pl2DRMFNdYwd94kwZJw/9F8l0vXhAt/uUaePkbdx0OdcJODuDTUUeDBdsDuLwYSRywf3gRXoHWf1i8+dtNGoCRqUQWahODWwaODGiEuDJvjLSp8pYDKCxqZqzJtdEeNzWuYhatyGHS457h7otAY5pqjKptdAb3dAd0ewo1GCmqlWR17enJM7NvGaBduHu6kz2G4Pk0a4AHH1dlLjpz7OhI1AuOqwnTe4jynMkn3FdgzmH1AhgD5UjtD1wAPA8wM0EMNMXVVgHFDZD5ODpAajnsc/jimWbutzgkx0DJSiBVDEOu6W2oahDjtFpAPJlzujtGKDgMiZU8JqYybglXeLmop1IyLZD3aT2Nu2R19CqCniWWpAs1Fjy1jBu+N9Ar2sDU1AsvocONjZjK1Dxp1wHzTmQahJLgtAGJANxqvUpWq+NxeokmTxtZ5YYeTDHQJwtWIH8ZoTruMCYaPUSYbL1KYdzDhZhZ4SRxpABYdTK4Yf9DO1sONxIG9QO1l56fSG71nkBWgWylODujqWDVqAp4mwauDYSoxkNwa+DaaAyQu/si9LAaiD4QsqC0i3ZlP/ubOo1Cl13AnbDWjs7D5waZlfYYDUYSsroQ4d8g3wdHD8dCeD7LQeJhxDAyzh1F9pK0CDCgthDZwfhDPYb7DdAxroO4euAe4acl24c+Du4ZHDPqsp8jLwWO5dtDhlpMxJ2AYkWGP1wRhxB/wELKWgqtv3xaoM5VfwegVB5weJ/+DZ0b/S2QTUQPDsIExYsxrCVzOhpA+oBrNn3qJ2ZZN9NKAenC8SHQDqoBDIO4fwDr7KfDe4cg83dt2S/grLJp7pYDYEYgjsjz64bLQtNnEtM8gUAJhXDIGGdtXrSdOAthAwwFdmcHTi1wA+aG4nKZgMg3EfQbb9lauN0IwZpABwcTobjA3E8Xov9NIFv9GkbeDaro3E0izEdu1C4+RT2d5r/pADDbEqQIv2tgmkYBOo1EkYrwDPZ4+LnDN0CKeZXxcjQEaUQZkZf9b/rFSHYa2D1FI3Dp+qTCOkekkeka0jdAxwjd8Q3EWnJ0dgZPJwEqIeA9cohtLeE4QtAGyBbjG9AFwxpA4EeUA5OENA+oE/Q7PpC931FIovTuGd8nCmGczrRR5MXSd+oAxxC4aud4fUHgbiO/m4Dn95ypK4+D1NocC+gZZEJDocG0jW0xYmIkJ5Vc1dBFlQkiGQwtumag3CFGjU0bZ8czpajiOJatIhA6jwWC/eF3J6kpk0eUNRpG1Q0be0kiCcN1mhkobgfAcM0dQIm9gOjTqkdg9lOvDXYZ2DG4YFR4Th9ANUb1ddUdF9S0bTdnprtM12PuMczrtN90bXDCIY3DhaR5JcUFmdUnvYYkMdj8TltejiEeVArzr+w+tjmdFcoOAqMZfYwBwxxdOAxjlPlK9TDhspllWblVKzzOS0fblkXrmdKqMRj2QLedfcqBdGwP4gZUa+SDzspjoZnpjLAEZjBFRpxqXqiOrMZs8OMYNRm4bf1cdg+DfYI/DMCORDmEeEN2Ec6RAJvkNVEe+Dmnm+DmVO6Db2Glm9tVEU4NWLCFnqyt8vVi9Y7IKipLM462Hq7682xt8gMl8RNgZyddtI1aCx3/8/EGNDWamCB94pigS6zjp9SHpogfkp9d/KtN59sf8yvQCDHgYIR6XE9jJOGB9xED7yEyPkN820ic3bq0d89AejFwcewKXpdj7dD/ayAXmeYDLOONoU0qZgBzV8rrMAkKpiSdgtuUOysqZFQrMJ4J3yikGGiwxuXKZE6OgGzjX7WB7qxDVjUL5yoEXIaAO/5o/VSDPNqswc+EAWCDWb5yoGPAlHU7jOuDIjx/FjFOjyyIj2CMgBkB5dlvr/B+yGCw0WFL6IwuZ0PoHOtyiw96DxOJAi5F1Dp9tzW8OMyDUR2SwwfTFoh8ZP+KX32Q3oE1AhcbbieAbDhmIu9AeyE7j+KiyIPMPvAkKvWooQqqCyavKD/okCCPoXYVurPjhwBzQhuWFbmkKsRKJcZJjPUnEjKrpAtpdthAwCfJuVuMYxo1GQT0QrQTJoF1dhpv6DSkbN0j0VVA+ggaoCSuFj7oYVNuCJ1KVzPQjfftHaLcizS0/O++7JBAoely9dNgN9d9GshauIZW5s3Kgadpsbh0/Ot5xWAeJ5Sow+6GyUJ2/Lm9UPJtp4ODQJKX0iNSXUpJ9UqTdz3AUTwHrvihpqtegqIrlRavolCketNm8pfYfmyiVqDGTWnXs0AhPNrYdAxwO/QW4twWIVKdCcqQpSAvZDPKa+89sKkMJuvccJowNCJqtsGWuRNc4EHqmMWzEGJqxNJbzNpHjVCVlBu+wsekeUrzheSrznNUrzkxwbkuZ1sBu4YmSdb9igTLor4bNdeZ2aVzmBm5nHrvinSktg+oAhEeQrfS6TpqgHzQSUJ6sPpAwz55CKwuGQai2VrbrnUQwZwjy9EroEoRyTcJU7dPXjV9pQKuZvwcI9qSS2Uhjz7dsgIRDp2BKDEimcZcEJZ8VuMxFIjrDxVwr1RQHJZ8vLq76oGDyj5sEVdVcbjy8YAiUiI3dGm0Sndl1nWTb6Tx1uqIs8OycDUeyYJJ3cAPj8KPMDCCfyiKrtGo+CYE0AwYFCQwZ79l1gs8o1H0EidDUEWygTjPPWTjprtyVRke2owXMADT3y65VkYpu47ocj6fNRTP4nWDkSGhT3SGTj8iYxToSkmTkKfjjWwb7AmoFhTYSvsTGieJThuFJTuKZrGZwa397HiDUUKYpTcyZ7DycfOTf2GSejTr3o0AuJVyq3Xpc+BZGDyYBO3oFoGU7peTwVP3irCjkd9SBhtDoW9sA53/JbqGc8ok07gxIBhtTfC4g94EFABqdbmCBQHog2CYp46wl6vptrJH6PCwPwTJu4vS4gl1CdKF/hRod8UXIoU2vJkGn4w9QHcsPqfAokbhEgPqdkY+5JAtGAPdQKTPDqEOBiK3MyLJjDMFCZ3TS0S7W7gFhODS5fTQwZgDtxGadMwNkC3NJ4I6OrDDKW5EHAWjyBF69qazAXEHfxjcosg/EAl69qf0Q4IQ5sQfVItsIEMAPFkuoIkCfwaSOfiueqbNfPNYVnEruCP+AVTg8HiwwO1AIpEQrOlp09phgAZchYRf55QUyC2wZ9AFkGJANRF54RwWh8IV0nUAUXmUrjzt6rnXNpD2Czohmp3ZD8QeCMFMPThgCzoFXnwh6xnhA26ehMzKwfQRb0IS32zqdiAE9Jd0tnpSlQB2IEk/TggYKw28XvALwyQotae8RzkDHT5UJywQCqnwFORp1V/lQYNAnqlpujgaKNSiVEAV9AFBqyTVakalE0QIgXOSjj6ehfMJxnwzKVIsgH6ayJ36dNAu6YDwx6cMi06bt6calAqPrIOABqeii4AD9T30ltThRy1Tux2kxSe11OEpghcXNOTc7oGPAIOw2gDGbiAIbJtKXSkXTAKWXTq6fXTFTMV6NpWQTeiD/xazt0e24Wrpr1xaC0pUO8Ruzja3JvJZzZWY2g41NGDAM24NkEDJRRgsgWsFVANRAq8rLGpKQ6dJKLwEgBDnlGo9QBeG/CK2UTKixwFNP9UZL08wnLrr01wAsg26IJg7WA+aVDypwZgGS0nUArEFkGpKrVFh2GXCDBeXEOAjccy8n9FKKGwR+db7x30VYk3O8TEO4r8V4UBEEXIMMA8zT4DCOraa7TnaZ7AMNqyu+8Br6NEAazeBtZwaIoEEjGP9uCwoHWzCCMgeQBeGLsQkUrQGMzIkByzhdUQ6+Wb2CCwSzxJWfgW74tXQGWxJpu/BqzPFnqzgiI7TK7RazQ7Rwu5EngwqQDXADqMMwZ1yOzSVCUiMjGLc/yeN0uEZXNDuPcCEWKIYkgB4s0BB5o0sbf1ldE6zJafg9iwskCMAWjCoIVnG2JzZ0KqfYgs+1JKtDFMkjJ24zyYDjcFjknSJYVUiXER0eXIGHgFvgOAJFNgw1dOrCl5xUiiunLCskRb9KXoeAJyzEo5gjsARIBdk7oDez/6Z94PYA+zrLHUg/CLezT4GZzX2ewzkABrov2cnlygF0eZt2YQ8i0bo0IXTubkTjw28rwYjrXyivYSKiTuwR8se2RFUnVkAtjGAWtEtd2AwRWg/OpNTXmANF04R5YEWDDyXtgTo1LlyaCAVnUIYSNzn4X0CluYwt1ubQCs6lbg4jFyazucrogYWtzHuamiwUvYgIAFaALwyYAi9miDeucO4jrWkM5OfxpxACpzlglpzPyPZSM9KEDxgE5zgYJZ87OaZzPYBZz7wbTzSeYzzXOaAQt6mDRsv2s6e2c9whvCkziHE1MxIHIzDOfulJVxNgWOHDRJmHvAfTVOEx4Yfyu5vcstWYgIF+PAC2Cwmz4pghj4KOxOH2foo5wsrJ75p5cSadaDSl08Y4AGgIxIHoojYGgIhEWzE3HhagH2c+2kkhGzHybM0lUe7M7/LVCMwcusVAbuTJDjd8lBMIp2FNjRvqBdypmq0DnVT0u3VX8wU8VddKhPjVV1iwTh/0zxpJTqwp0i2UXWnmK2NXFR3ZjKDoosgJ2ATTWoDRuFm3ts8vKZdAcqPgTkaMVRMDu+BqqKiO6qMsM+qK1RPMZmZeqOaD4NsmqnRiAuPOFpC7QB58R4TyAaav6lxOfCuykU0i+OdkiHyQGCC4A8ihjEbCAkVxCoiUKiju2JCvDDJCfTQvyeDBILAwROMoGBAkGCk1T4GcPNeAVdU4mfsMGfnkzZNA3TF6tfp8cCazxgH2z9Aaww/efkkoaahjEKy6UZ4RJwyTrRs3DKWzOU1Z80DNScVWc2zdWZEgv2d306hf2zF3AogNfTtxHRysChacOzoQCSop2a10ELl6zGru8Lx2e0iC4GzzyefIgJeaKRmZo89g2ECAjeZ6MFmcsZHrhsAqSUHovrlCe55pbw+s2HTAoG5AIOzkDF4FxwXq1iuUeAKO6cXpRTZpoq4GbySagqPiUkcsZJmFvgd5JNSZmH3Jn+dUA5XGvJ1JU1S7jDHYA9HCpLqRSYzRc9F53A0efYDAzncHyLQFHiiQF2CLvhbOztntRAPhb0iDaMkiEebYo0ebONDRT86e6i4olOdcEkGG8wFkBeGotjviZgFM8BEDMAeqN3lmOwu4BapTSFsZV9igWIYKvQOIBm3i2Rmy8RX73csV9o3taib99Y6uu269t8gJqN9j9dEAdNmsL9gJdiT3OcUcoDpu6oAxFjxDov9s6mnObxdBAy2ni2vsd6TpdEroDZAztSQmO2BLLaUco3/OKWe/Ax1HABJ8SJLxSVaoDZAXAFZC6g1WbI8ZBbgaOECYIXUHoozed0TAd1UuLJ1tepUE0u5kkdegK1UuohjMwIuKcpo13H95+ICpOduY2Gptsu6WPDxWWL3ZPZoheGpesuWQNKxAeOQeJxnUuHivSCTBJYzq9N1wZgHUJg52rQZ6MgFF6P3gb6JGduXUsx2ltP+zshnx0VrVB43HDxXMaPdXd3KpAbg9UJpyfRmfjI8I6MJwIGK6gNRGdpppNjwtuIFVLiujAhwArIe8BZLC4GOoAqbBqLjJ7AbQQuDQiyswhwJRofrE/p//milMi1Mm97Lzg5ZeC5oUzrQJSb1wSyARgHzU3GfXpF6lBGwtYVR9AgPK3UnZfpUUwwuGzmEgglBEYxGz1agRIewcY5Z3GVmNijO9PuGqrw3E9aIVAlBHc9k5e5Z+F0tdeuEDJoLrfSD5GLRxTwfFdDDKQgZIxlbHizx+OwqF8IELpbcSwggH1/YHUGIearsptgxJxumMLzOFrstg+OCbp8sFcSrTRrGAutJDT5lxwvM0+h6XQ4DrcKxtIvR5w01gOAl5brEyOEot28I6gqkq8CwI0LSlUIQanEunwqBHYMOwRkWkgA5YY/gzIVzIAt/jEIrB4t7zh5Z+RzEPIFyOGXFM1Lno5iz3hnGFbAeuGRo0khMApWDx9zaeUAFZGT2njGbzMZy9Qq3Gbzl5W7S9fSUeRoMX9ASumjtPwAtjLnVwLBaxxUAstgauBCAbcWZFvkA9ubcRehTgfZCJECAQn5ALh8PGwog1sVNIvTmQYFvr0wXJuGStNq+SArVpYJDc580NgFJkbzg4w2n5hFCZoOFp9AkCkjkkCji6pwzrS5lc/pslZILs2BQM5Mp1wPcDUMcQYjjiGE0rmoB7gjFdY9iPhoSV9JS+poFwAVFKZTB1B34R5FRoPabSux1FcWQIfxjQsdIhIWc0qNmcgxutUiz851qrtpdCMjFvX8F6P14kmH/RFLIy4fns6rKxxItagArIAjE8YFkDkphRyag0s3jCw0RfthR0oLY1c6CCYVWkjHOkkFkGMAl1Ey6d/xMwSRasz5QSqrdmYczyoCcz03hczREC7zyOC8zoShsgvmdWTWjpUFFNNDe37tCzVpePGzGHqrl6zQB52AuLBvi8CkThSzm8DSzbqnqAe2F8zENTer+yFhqfSTH+gNeOTf5SMgWOAuragFBrFxdkJFAd+QuAEOWpVulZsGDtNtt0ZFDTPQJmVdzUx1AXAUZeUdt9PbAeNfkJjnnErl1kYxJrws8EFeKeJZYICcOcVAkgFOLz4GdZl+YOARVcKsWNq7xrNbqqhoNJGYDIZrB5a5r4Qdjlg6Fp+DNdZJSauStcxymoInv6t4HlZwFZG/86ZbIgBJPwLRp2oDBNcKsBNdlcaVZ6kiGG9TZFtWkW6RN9YHRlSIti6LbovKd1tfvJTqVIovRfaAsGs8ugxYXoLRe/JSiHxwJxlrWkkmdrnnwc8chfx2xK35ddVUkLRGuDRgma6DnfBCLfhf0rel3mLqxeCxx/0TrTADjrYnuWLIRaUiXGcVAaip+VDm2UCgnvLzI82E906ePTJBVqgkWPCu6a1pFw1KMSl0m7SVaf4gx1G+rpFDSzWYspZ/8dlrmjK9siEXKL2oBvF9qtBCqoBsgFVmUAo9aAIrQE7JoCLeYQdZ/V2iAR8Jt15RdVHjsPEWQTr+jbtYBZXrKfzxkN3HSxdtZNShDA9raqTIgqHX3JKOyFTG1YEYRNcgFm8DIwPN2hMbQZqR1wFnqygDpdvkC5dqZWMd1wDpdu/FzTjns98F3DzjxXV7RgQAurHzVKQ+OH+KB9e/JK0HNMgDaJw7lgnr6x108WOBcslnUMVnYX4wirxDpxSXL82oBajOoKiLAVofQLVTm66AEk+10QjoTihyw8aJeq+EWe6maJ9QSrxuh6dKe+/ijR4DymwgcgFhp28x4b5wDjQFEEnqM3nfRd2kFprwH/rJ6mc8aDcbNT4Sk9c9dtpVNywbPwWmCivMblOafmoV4grEWab54rYVpAOjdmgagt9rJMCDrEaN0hUHsTAbUX5wMgM29MDcdAOWHaLoShGL3RaSDo6HbgOGHrAgoUh8njCjwDjvfRtnhgoNEwguseDQbyyGQTvGcPNW/ldUPnCvrx1UCg8535dTaXTis/vrj8OdHLB+brSQqf8Z8/xUDd8SZUKcOWQPUBUhMlkMAD+cwgHyQwhw0DibDSDEj+UX1A8YEBkn6CMTEkCITC6lUjrClZJRuQ24lsDpwfSn+8d8XJwfMZUBIZG9AGOK9VQzsSbg4EkjPHLBoL8qtdn6As8/HvNARRnpjYeBWTivgDuhjzsjpwN/Y3oBsjMqdtIQajVdcyEYxd8TfLWQFQIZkf6bb6TwrBwCubpttIW0+HLRGZExFLzbDtseFQIRVINruazwrRMDvjiydX9XdcatJR17roIX1slMiz6UR01A3oAgKkdTMDtTfhFZybSbQVZ7rLATwTVRUkr+rtabxrvabUNgp4moA1lvnlhmauAepV/zvieEKohwB0Jbe3ju4nMzvj+yYMrrDt/Qi8ZGGkzY586bmTdl7Oub9lunCYfU3rCx1BboCZ6kFuHGGwB3Pj/QzhbrvVZby8ZZGkkeQTRZdRbCAU0phuCtDzxZabHSLLVVY1IQt+P9UtTpyr8joRg4CIRDB1FZ8Uvi606zeM6h6BqgUVf58IqbviiVYOAPcGyBRrZs83oB7gdLa18BJNizhjfkZ7oG59uXP590tX4S6lEl9PfnIAfflF9gbYVYwbcF9vfmx0F1BhgExL1b5sFERb+DwWbtfxwTouPrm/EPQu8WmiJsC+wPYtYrd/srQqlbfooWdDmaN1Cz1sBxzwirIiPYGQ8u2YyqByY6p6corUhbYBSLrnGbnybqDc6FRRersLbs4LCsU7vzlPgL1d8KeHVxkahZQ3zA2NlZVp4HPsrorCw5XUfzBWKbYgHlfmgXlcBAPlaXeflZ66n0joadFefriYEQAjQYbb2MuwZs4IrbNvGrQcnrIiuDPSYnacRS/CMRs3wM08xAB5uqgmLplMvoLsgFrpwutnSPvzMZN7d/MeOc4iBOaqCROdWLs4Qiz61xqIs4RGxuxabTXVa4r8HZMCQOfMCiHeRo1C29sOGDFtbOlJAW2dpAZBZJZWmEnTNhJYzN9hrTz9IrjiWeLoEilwAqMEY7YEW72Y/kY71zNMCwOf8YjHY1tuUvgCZwxMwOOcWIk6YGG/CHrbNgmMA6hbHkR6x+2mVNUxWETk9VuM8O80oRCvkBqIFNJhV7YH4DeZK6glHou66iZ/b0ix84RZuCunpf86bqumlCMN2NUSu2VuH0VNxAekoRf1j+IGC8RLxpU9uS3U7gs0y6LGf0Rd+xsJLtf7yctN7ob4EcQF3EnAdwsnA9DMnAwB3C7Q1s1ktgMnA3rvf25RnvyyTHdcb4HSBKXa3ATiqPob4CutvVoetMsm5ZapH/LkGCK7h/P75WXd8A/QMFk4Xf5bTVsnARx2WQBBWrFonqq76arIKW4C1x6XepkPNo/ayafKuHyQC49pHlM3knQBkchd1RxDRQUHATqQZVk7U7dKM8cG8ZssE/CvPH3gX7wCFpbLoacCDVgwIe8rA4ASCNqcTUgIB+AkGhN0RfljZTAMEdAVw1dq8kVAD+3eOz4Brg8QIkRKIKS7tgOeaXcKsS/sPPcD/rT6qIfgZB52iOWVN6kFYj1LUUGOZsCh+7sQIKepmA3rACZStaLIVrXMcFrn9qdVhVqAC4nAmtxx1Gtj93UizzKx7ptpaatcrs9nJoaZWAf+FSpBM7etLHLp0B/uoB39g11tgu8bHy791ps9RSZhKL1oeM9aPetBbvouG/3EubW2x4dwpWVSEJFx02AKcTjHjY6QLC4+dO9iPxNw8e7ISghGA1pK7cD0y3ZPlVMNCzhaX8NpRmCwD4XNMkCGmmAmjg0Z6k2BNde6WuHmRwaCGI0wWHf8KQtclYStw0O6gf2EbOopR4Artn3bCg7+01YujNVesSPhk1Gh3U4AFd75FHd7xTS4TkGBeofvfUiAfbQQjGhd7QR1vx4ffHQ73ZtIuQBj7bETj7yCBIaZ6igluP1PLcJSjhXGhldPGhNBC0UU0fiyT5OJqo0otGCwcQp0r8QH7IwWC3UNfbKA0Whb7AjEb7QQEbALfe/8CpeNjDm0kCazwby48GUQPXg5w5MCMp9yEs+afbUwfvFsBY1P97of27gpwvFBz5HJgavxK6DZzBVmauNLrQYXFyRgf2zOnIpyOC97i3JtI4ABIa5DMgtqHyGtPMvAj6KqKKU+ckkrwK7JR/fJgzJLlZJ4J3741Jf7/AIBpk/c6OJQojhAtQzFCsTlAz3ZBg3bL/73FsrItQKN6TMCDjRvURgggvAHREBoR3BFkKLuuaBtCMeAotLUBsqpdrx3WXyQ3MTpBvU8DGsjfAmdYWL/hZVkNdNVZnXd/Al6xVkaA/usZHk1k+xajzhxeiikXZEzafVYHNWKI2kXbXVZED4HFd2PT16EAgWj3hotpGWkd+S3AnkWMYsg9QiGuGkHKURyi2kUa7MdauzqrxlkxkRZIpkSUiiXZ3CWg7fAYHdWLTA8g70FzMH2XbtudIvUHaIRyiszDkH86AUHvgAMIkqLAk5ACfy7gDBws+TfAbLrXEtwmobYJCnyW4As4xzHaAoNP+xTpsbCEFGkIKjsgASYEf5FMgjjJgDDwD/x+Qa4Fg1BHl8gq2YwJY6EAUWnT0glIQx87MGWQE5vJg5FES0X3V/MkAtY2ZQPHAPoq8jTNJmaqMHbzFZv0Y5gtdF9tfdFREBD77YQV0aHFQAI0iRAe0kmu/FKi+3aWzJF4GPAOaq6UrcBPEZnDPEDww27fHlFArcBlADYA2HWw+dJ31TcB6bD7ATZBuwteCX4HiGHFaYoDQCA8oSqjEwHMIQ3ITGfSOGVM1OsG3z8kico240nBqFEAvSu1cIO7xwI1QQWibA3nErfyYWi+Jf3ZoEZW0bfZeL2mCDd9ajG83Fo22kbsw+tHz22DH3I+bW23hr7a763zYq8f6HyRcnhsCkTnAAlhcLlZHrz0AlIe5kGhW2SDSQIxMrmHw7LSHBHlmIyRhSHsn3jiIpFY86Q/qHFH3ToWpMrW85xwgOOcgwTFOhMSqfuxo+MvTT7oW4jEUlBgcmwZFJOSZreYoZRaafAAwMiL2BtmHNQHaAh/Z84zHp/ZJjtJKwWCYpnu3+A/I+hMfKRW0nxkK+G2HtlQg4o+7BLf6MBEjjiygNpOEGmaGIUSJgjQ7OZw41BmcOxDKFq5pivVkY2DKKDtEuEVKaYwlti01u6o4P9bql3wnYovAgQDK2ARcZ4R+i+8NpR40hib1df6rLzpieHVvDtNFCv2zOLGYVO2lvyFLew6V85opHynbqC0zMs73Ur86pzQi8ubfSO4aIuY4piy8cDqFSPrOzOsncTAvvkD8abnX8ImBYDA51k7xjZNgx4CUuk4C9B6Gz78pTMGwNRB/Kc49BiCzEXHCzKvARgvBk43e5YLNkT68ID6KiIzT9xgX+H63s0qSYB/KY3csU9KgPHZbuPHYxLLdW6nvHmh34g+XqfHmh39AlJD1ApEjyInTlHiizmKY98FfHqAGAKmlTggtmaqWkkl+gxA5HZRLiRTbMsFkhPjeYUGJTHOFedp3XHFwsM2Cwx4EaDq0rcNpFAH1xf0dgkE9/Ml3ux013rFgmr1pG+kmWEv6HK6TvtzdVa0xq+LBJwxRa0JRAied6+t8uG1RWqXvthWk7NbSC3czB2vX1zvfVIK6E5wh4ABeeVAlhmHUHZHTnkFMIRxPBxE+UQWFUQA5E5oIV3tqBpD2bW+kggFvW0Yn8fsm9LE4RdWLl8gHE6Qouo564JgB4ZVeT3o6RwV7ibMrrj0pIAOk4oHIvyB86pdV7vPtO+2vXoFkSjQnBwt7G/kmwnNk9ZTPYHbpPeGCwsE5wZXI8eQvxRCnsMyskodM/0uklbEpZQJwxRmngQYhekkTuPaxlB7qXH0idcdRyMhU/SMFylKnl9VjN3gApGWFSqqeZBz+mJb2jI3BDV/AGHIAAD1RQMdCYoHBA0YFtJccCOQWAN7ZRAJDnhp97YyMO3AJp+xAyMCwwYoDNPNANNORp+xBNAPNOJp3FBNAJoAJp4wxxpyNPGGGRgdp3QxNAAtOWAElAtp9tOWAMPZRAKdPh7IdOrp/Qw9p0LoWGJdO4oGNOnp6p9Lp4Dnt/MNOyMMdPLp5oAU/ntPNAGRhRAADOyMJoBgZ1tOyMDKAep3VA+pwNOYoENOVp2NPTp5NPlp5NP1pytOlp4tOsZzAEtp0dO9p+xADp0dOTp8NPzpwTOHp+xAbp8NO7p7TPHp7dPWGK9P3p7dPPp8NPvp6dO/p5TPAZ97ZTpyDOwZ8NOQZ5DO+Z9DORyDFBXhDFAB1DNOe4HQwdp7zOdp+3BXp8TOyZw9OPPDKAQAL9BgAP2BpyIOQdZzzQtiAaGzuDXhLDZMtAnFst6gDXhXjZbO1rK2ZqgG7qABJtqnqGkap6iyRCjSdSHTf9Q4h46A3Z31rYnOpIflC8ppVIksbYYTTXeIcBfZPpJ+DAuNSZEcLBuu8NiJ3nTRQOKAaZKpIzSncIvTE7AU52M4U8quY5QFdqOrp41t9UeUC57KAd2nrrtxL5pixHRBS5+KB7bM0BYxD2UnYPbY4mA3PZQElYQ57b9EUfWTfZJPsfqNeAH24N1i5PHOih0KZfIFdq2GukaI6MWIdopZQUxdi1QQHGAqzMWJgzO3OuA6HOBxBHOV5NHOnwCl16SlQd86sPPeenGhk5xib8ALcJJNQWIFxz4BQaVN3YxK9cq50tEp507BNMpkB/TPAAnJl+5V5+QAmuuvO1EJvOgPjHPd5yKQiIAnPtmpHhMYJoAvQKjr5sjYBMAGsIbABEmlogguG4DZBwGKqgZwLiZnANVxrZ1axj3CyQqJKEAI6DZmSADGQnUZcAYyDXhCF4YP++N4BUF81AA8GhJuAG7Rc+PqRCEOxHEgAYBaAKTAGAAhxpaNwuWF4SQxdMSxwGJgALAMFQBgGagWYvuxKAHfPj2M7L05/YAAqGLpFF4QBtxE9QCRAQRRdKCBaECqpA5wKhGur0kp6P/Oo5x6QnwORRBuvvO02ofP11MfO+TN8ZixMWGOgQ4ue5ClqqDeiAv5z/OjF3FI+52YvOR9/2BJiPPE5yJqX5tPOouKpqPF4YvB2P/OfFz2BE6HHOQF4EvbF205pQE7BvkCkuH4IFl556vAIl8VCol94vt5z2BmSfEuiJ4kux5zgRMYO0AMEAVto9Hi0cl9wHX6OHP8l6YuewA1QLF2FMs2gfOEl0fO46XBB6kCHAxZ+HBHSUjOfIJORfoKHw7YSfRi5JNI6iKWQIph7ASjYDYwoDFBcgHIBFADYAkALIBGJEsuZ7uIvDUMyQUAAM5ryFbA74OIvJnKKkYgOMxll4J9URDEAkALQBOnL6xblyvoYoKnRb2G04VxKDFoQISNo8svAPl3u4vl42EBnB4AIIM4B3lx04unG8vflx05PbSdT2Yvvh+nDsveQLRII6LNgG8C6icUMKJ4AIftJZHrRMVy8u+F+YdmADFAwV+UAA2MisdCh2TgQAaw1nPyAPAFMA5nKsQDZNSuxnIyvRcHXx+AJZxmV5M4+RUzQuV37OuV3uIZwFyuNWKsulAKc4nJns5JWHwJZ2BKvbaA8PHgMsvbaLjgrYqxJxV2io5V3ZFHQGhMHICgBeJHY0ZALjgxcEwAoJi8BCEEqvD9iiI+AE04HAEeQXqC8uA7YkB5YBBBJnDiuTqRsvFAMc4SV16jtdHEwqgN6vMgKRJxIP6uOnCvhpgLcJTl6zMTYNdFTlxaAHsIUFnABggXmBaulUOghrVNgBM0PKxQYue1xoJSQzLVFAYoB9EhV31dQQPau8177OWDMSuoV6dSJANiuiALiuzlDJBgSHQI0VJGv2wA2v5YF9Zm14SFySBwV1Fw+6ZIKCJzIC9d0yKdTGAAOu9wKcx9WqOujAKLhxF/DFp1wOvxFzyhjoP2vRcK6YCct9gkJKuva15SupgNuuL4EwAcgNkBLCGLhxWseu5wKuI/nI2Fz12M4YV31r5KPyVeQABOTUuSxmRDGue1/GvX1ygA4gLNg2IIgAv16+JRcEY0cAOkBHAJgBOnAGuCCMxAxcO/OzIGqwUANBu8skawoJgYQSbB0xySNBug7AQRocH7hmIFKIOnBa8SULcIxnHXwoJlMBiNxau5AFavTVxRvbaJRSSJFMAOwN3UXV3WuTqe0wN+Pmv+gZABmnPAB3RS8BvNdxurl6KudF88o/lPouO54OxhqC00Ylg59nZpqAxl75Ae51vPTFwPP6StYvR5++Z+NyAbwYCQvCSFpuT2uDAogLiYcAPpvK7sZvuN95rIEHY0fkKZvcI44Bb2LZvAYCJvflO4hxN2vPO5454kltCRel8YAFN9cAlNwAueuCPOjSErqm7AvZW7CXZvNY7BQF2UueN+zA74MWI4t8JdXdE7A4t0sj1JHUvf5+TXYtDJug4D5u/NwFufF6puQt/rr+7CrqF7MeARrGrrE7IsjBkdFvSl9cBxQEbRQcMWJFmv9QOUVRuUxJluvF6fsCl8/FlJ5Xpc6hFN1N3nTXZKZuf8Jl3t5+8BxtyuBHYDQxlJ9NvLNz7U3CE3PSt3PZytwXYIt6ZvotwidQs+KBXnMWJlt8WJYKQ/PXyEBifiN1u8l71vml/1u2l1XoOl1YuQFwidyaHHT2gFlMOFmjAcOHhwCOGYAiOCRwyOBRwqODRxWgHRw0YAxwBOMxxWOOxxOONxxeOPxxBOMJxf9q8AcIGQQtCPYQ8CO85iCKhoUiDERdCJhoGCHIhrYKju7CKEQaAFvqAOEQRsmpBhid14R4xA4QzlGIR+gVg5qd3VJcd4oRGAOZNVCNojgsDTuQiN4R2d36Y1eMQRocjjv0d30p4tsQRLmKLvSd5+gY+L9pXCMLuWd2juZd9YO+1KLzcgNLv+d/TvpdGjBg2sQQfgJru6dzQAkvMQRstIbuSxOw0CAG2pfILzu2d/Tv6MupIbd6zuxd2dBHOLIAOeDGpI6Ezu46SQ1zd+wQmmm2UphU7vld1ruaAESBLKMgBJALst2Ixahbdy7vzBbHvndyrvVyB2SooOIQMINroLUHUged6zuqFP6RgUMSU8yCz1Nl9GhisFkl8IARB+2JmQjUCDBjwKjBPDf0IkdCUYSXHkB9PhMx4QK3u6oBMw88L8AcNnwQOBNHQ/cJAvL8KI0miAmzDgJ3vu95CBe91gB+sn6NdZvABh9+1RjhKMweuJvF/YinB9eFlvzFNtRQt/PYC7MPZ2IL7YbbDtIM1PDRBke+IzAP6BXdebPgGvvl9jG7qLsKzg69/8A693itWWrVOOyhiFHdT2VfIHXuH9+bPuEKVA/bCaoVIOZZ0HN/ZG4DHp9gNIhSoMfvVc8hpqg6/uNWhHrKfF9a+J5lbZXf3xA/Y7JrnRgeU0ihgBezc7+J6vmywmHqiD/gf0DBRRufEwJKzlB7o68QfMrZB5ZwlJT8D1TVQzZocw8T9GnzLMzowLQl83Yblp0NhBIKbYAPNY6AzABBBGwmk7uyOZBQQO5OGnN2R9AJyiwYravUABZAxKPAY2yKoJu6jPFVD+0AlpIoedDyofcJOnRD17mw2yM3oKHJCBDDy8ArDy8BP8N1Y02BYeGAEU5nCOfQHDxEAnD2izl4CFARZjzw2yG05fD/LE2yP6xrDyEeiQPYfvkN2RQjy8BlalTFojxEfeCU/BK7uEfIQFl1F0hngEj2g5lD+AYZAEwAGoIQBcj2xAsdAG62yC6jij5jB6WkUe4+BUuql9UeSjzE1qj+IBMsqzEyj3kfmj74eqj20f12z4fuAK4U6j90eO3i0fGjyEf8BPm1RV92RxF+W5+QF4f/hmiBdyhMe2yBSu7aEsecj6seP5+6K2yEbRYagbJuyAevMYMEeb0LjgLGG2RlV+CJoj+J8LIDiu46OEeDACMlrj1DA2yKaJaAFce61zceb0KuuIKETd0yN2R2tC1MZIF8e7Gvq1uyKuuQJALdN19JQnj/8e1Dw8eQT9CfTDzkAByNGguhnm0C2hFknYNwB0l9W1ixGnIZoM39OUPfZtkBJv52KIo+d54ux94iPq4CqVyAJ3I3B9MvstRFMqT2GqXdOS9ZoEpZJ9vfY7JCnA46Zw4VXNBKCDPmBuAEifRFAAhFD3fBFD8LAAj1iy2yIprVjG2Q1ON2R4k4qegSt2RIYLtFJj9pu2yBKVGwG2RXFPyAQT6DTuyCnuUjzegS0ZKffwiJA3EqRR0OERBtXKRQJXEdWGIbQetBMJE8IBG5IlL2xy9wD1R0RRBSyqL6aoPUBIKR7BMDJyA6HIGeKeGkoWetmNYCY2xzlgcBvT2/g40KVOOejOAueo0JgjWxpjAOGfAz/jtI0zCt6euvN5CN4BMz9mfa2FspzYAmet8KBQOp1UJzwcqK8h41Cq981OEHktIwp3x5jADDZ1CSWw1888ANPFsp6o4EO6Wh/w2YfMQiPHSUJaDS7osE50qKCXWTwdwAOpwcBOAE4oEDIcAxzz5JSPD1goKO9udll9v8OIRxiOKRxyOJRxqOLRx6OIxxId2xwOOFxweOHxwBOEJwRONQBJaEVQVCMYAFkh0gKrsBPc0FLQH6FzTjAEsl3z9uBPz27RXyB7QZALbRgQCztd+FHBJ1ABeKWDIMEBCYAYa7BfPz6cw+3hcwrmBTwwG8he7mDIvTkI8xZYiGQbINhe0WPeRgUB1PoKIBe7mBFsNmGBevaFsxCoMjD7uh+e7mBrRNKLQvaL3rRjhsFgKLxSx5ZGbQOEtbQOLxBfDaUskKKORfmL2ixppFnQ69txeJL58xA6MHQhLyDAB/NSVCKNSVpCFw0JKLjh//MSBNL/ABtL2XRk0DR5yAB1OuGoJqdGKZffWNQB6gK0AHaPBElnjx2Mbba7TMHMlFcFsl8KMYAikqRRqkqRRmkqRR/okB8n/nPFAr+MxjAAykPL1WkIxpgNrINKh8BiexosjIN4r4ll7APINQ18gMK3DXhOMhlfwhrFlM13u4DMnleIIDuAa8LxkqgDtFQ1zlAJAKqhLZliUqgCTMasoJk6/sdoouE1euSk1fir7Jkb1/3NVUFIAYgE5x/Bk8uHsM+xfHOgv/wDRlKSBCQABC6YIsgHOxN2oQ5Un8gtILzQCYALR5oELQRaFhViPDeg90kRAqSrafZz9FgA8kRBLwKJZeYgvjxT7DtzCriRRLjIMwDDY8RcL0QziCufeBOVwHr32gziKqAEh3E0uwIgRCCn/lRLqEADhJZxVjL+EaSpBhDAOTATryJA8gARBitideFrPoRgusET4DTswLT72BUceTAYb+QgD5lHBWgDDBLwOSUrynhAYbwtY5shgBjwKJcyb+gBLwDdekAGFAKb2iy6bzOAabzegWOqgAGbyQQXqCzf8ILKVRSpTfRUnzepqJdBBb4PBliiLe1mGkVvB3VcSir2BfE6zFLr13IfSKJcCRnuMb5iVCagJwo/YCOMmAEp0H5GSMOYu85W0K85basKqVRjM0FqmrSZmtJv5RkSN7EnhB25NwQKb1PRJ4A7f6b3fv+ya7eZwKPGwTkbsYLHjfTyPnEXsk3U7GJgzxsIHv0AMeAYoHjfbmvNljwL2ATRTHeMAJeAo76/pw75eA64CaLvwXje/sJ7Fd8IPAp3NwQab+rfoRhnhC73fuWMQXewoDTfdALvgClJ6NfOEJUbG/08ib2FfuDZtILhFgAOBMLA0b+IMG7ziQsrs3f3mCTf1ENrelOo3kRIJFQG7xJQguIPe8IPDexWmIfHgNzEb0PKNPwKOMTGKzfsANqozb16O0b2YMG70HQt5rPewr8MY2MsfEK4M4QEh0ZgJl+iU7l/oBftFffy73Uw77xfemAFfeJppjApwC/eH7wcUiYKLymABjfyQG1B/WHyf3mPPfNpOPeWIXpWYCG1Ax5tMM7Kd6ADgM0AAqHSBkH/DETypUvMRBhA6QPigszyiBpKO8A0yJjB7mo7A6iHSAiHx2B13DzQJj4Q/QUB2BMq6iJHYCO5WYrQ/vkMw+mH1ox3gDQIVPY7B3anSALIO0BHYI9RPQHSAptMI/aMmEwJmPLFJtPFtxH47BUdWqg6QAo+4wIPvK3McMGALjgdaHZEWSHzf3gDhtPBw8AwJLPA8IPIBEH/tp3gLrb0t47Ah1O8BstLoBHYFAFJtMJQHH5XR3gAWNVCM/EMZN2pRUg4+IdDI+MF8vAHH+Y+0msGBn4jY+nmHqhHYCbnn5pgBVH1E+/H2g/xmCeVtAkHOOz64+nmC9QqH1YE6QBk/h3AO4Oz/XQ3H0lkOz14+f8OCJkn34+KHyQ+Oz8E+6H1k+bHxQ+GH4oBHYB55yH3Q/2HzKTCnxPkHIC0+vH9w+gYnNut1GXRvtElAHH/CXvtG7Bn4ibo6QJoBW4GM/Cn5oB46GM+vH5oA6qGM+/H0tOxn+Y/NAHQwxnzY+1pw4/on4DPDnzULNALQxDn8M+zn6M/n4uwwZnzywHH7QE6QK0AQoHE/n4u4ElH80bXn8zoa6Blo+0O7AaSgueQn3SAxFqKVHYPjxcTD4beb7JAhH8sU6QNqfQXxLRRUnSB4MMYtQX34Vj78PemyM7eDPLXBfyrLxE4Oygm1uygsqvo/IWYY/KJOnJ+UVnBHilplg70SUY8kCh68jQh3H3bB8/vre05xaVLtkZVmrxZVe6nFNaiiZU6X6Y+CX/LNkQFGs9H+RIyX4kUx9AWp8IL9VJZbrMNyGiyoX1DAPjwLe2YELfiACLfrsWLeNX+nxQQF4BRLp6VitTegJbwkUpb7tcZb9nlfqsXeaX9KA6Xwy/Q2KDfRX/2RbXzv0B3MHf/QAK+26jN0oBznkprlaVnr9S/l+k8UHX7Hk6QJLNPX2ZV9+nS+/X/K+/7xsQOpxDflAB4ARIPwBj7wTeFrDXFA6KJcD14ieb0CsvURDDcRijGRRLk4OwoIcYn8v9RS3/dfLoBzeHgJdBub+qwp1DDcfsrTUAb7p1PURhBVXwUoUxg3f03/YWMX0z15BpNcbHvYlNmtFlR38sZfHDrfgelO+QX3q/4X3q+p+Cq/+b6i+9X2a+RgBa+GiCUUClJoMG74YA2oIfA4b8MYKKsvf+wIHA17zreN74jAt72CJbapA/AEA3evkoPAM323fCoH2gnbzfeywIIZP30/ewGJ++6QK4NuH3+/+amLhdSkjkQPwQAGb4OQP3wQAi79+/FYL+/4P/+/kPzTf3gMB+4P5eBy7+B/MP5dB4P0B/cgIVAoPzh+tIHh++0FNdkP3BBkb/h+FZWjfGmMm/txCsGOp6KBb8Yo5jAHgEOz9NAfUpBhSyqeRlZlcIDEsA1InfDhJz6jQviJfVyNMdBL6vxALIPm4P95J+4gO7GOoHx+EQPGaJ6he0+AOABInUZA5P8tXgsKp+LEHiVVQHJ+flqVBTP2eO3gnJ+RIH8U/kDHoOCOCIOX3EAk9iJBviuOfaSorh0yvAP2nN2RF7m2R9SBHnuyBYbvABHmYoMa+7YDKejyB4BuyPiAZwOYfCJ7mC8eisQmN84RuyMBuQT1XV5oEaetGFsf6LlseTGG2RIgDsw2yBqwQskif8KkRBxKpV+d4HvBDP05M4Gk5JqQ1mYLEDVPFP8iBVQAOo4sAp/WWiiq46RoQGnn5O84DPpQgFXm8yMnqgqv2AVPxJ+ev2nlpP6y188klA3gq1+Zv4JsLpqRR9piLLJz6+fy9z20DQKIf5FLVfcULG13EHVByJAd/mQE7BTv4velz+LMKePt/GwnnugWMd/CH2d/GwsWIrv+d/0ABIenBJWByEK9+MZuS7nvx9+3v5d//v7Y68WiJBRi+47nvx3eTUsWJYf4J/xZnhA08K2IZ2lsRDP2j+ap6h6v99wQf94ks/Z6D/rv3S1NPzUACp5VYffpAAe2tmIwf9+xMnUT/tPTgAqf/d/HQI9/OANT/6fxT+mfzT+/aFSB2f59+RkAj+whCT+a/h7U8VoZ6qf1D+7ANm3OADye+fKQgSjdz++MvYW5f5/xuf6z+UxBuMVfwr+if2ll0YVr/Jf7PBReS4Anho/9Qr79Al3SUalD0oAWMh24hr4lfSmHQupgA7/wGMEBurAoBBrxxgJNYS7ZHwQYer07+nODtESr4jR6WkH/ZAO4/Q/38wkJDtEsxjgAdohZBbhKH+YmiVeqr6wBnTauVFshCArZJRJaJGDkQQPkRaJDUE2JKKw+BEMA8xhBAl3NUB0qNUBBDU1fmH01eq384BIYHUQOF3XwW/zUEr723/dtssVNpG3+k/9EMy//GUX5rFf+3DFf84gu4cAPnF1D0oBJ/wn/84s3+Br/CwygE6p0EOAwjWDXFCKGUxCr4E6YrzXFx/1v/5Wv1efsvH+rWDXF5/4wAXUeovMEgeUJF5NeAskyvgsqPpSXCFkjWHmg8TIovwss6xqgtkARcCdckr/IAN/8Rkf/4h/vIMSf4ZZGNA1/5XsM0aJ7DQ5Lew8gx7/jYQHG59aq4Mzm56LhagmwBIUGaihrilQOb+L1QY7L+U5v6DtFbi7S46TOFmbJgqYPSesy751GAeDOzQkKFmv0BkUiuUFbSmgPQBygC6DLa0wP5WzIb+1wAsAQYM7AHc/t9+af4WoCwBxgx8AUT+BMy+QCwBG0hZXuxktrRtuM247GQSAZXAZ/TVLpwAkSZCAUoBKlTFiJwA5tDDZIoBDEB9TJwAgv5UzJKQagDVoIpIwYwIsHtEZc4ojKE+0IykDN/AgEjmAZwAvowx/o7A4oA2AQ4uMIxfRI4B0ki5jD9kLL5lzjGMtgHwjN4BYbq+AemMP2SuAYEB6IzBAcDkoQFc4OEB6f7eZBGex5Qe/gawYmTHQCdMSgCdXmDM7V5cLqy6C2TeZLNerm6JiAkBryB2tLtkd3wqVKNelhDjXknEVQDKAU1eBV4CvsP+N0yj/nFeBQGQVMUBQc7FmIkBc3rTzGXO9V6OgHxkTsB2vsWIgJTl6M/OLJQZbmdgiQECfpwBrW6izFFQ6QGnAGxQTQEtXna+eQGtAakAA7jdAQKgswHlAfMB4P5ANEeUosyhrlkB6wExXpsBLQHjFLsBui5zXr0BhwGizCdciwE1XgzM6pArAQsASgC5AdcBxlTbAS5kewGlAfLkWQAmatwgzJAwgBcuaVBoLqUwTqhNru7+qf6NhKkBBBDzGsewL4iTAKpIqIEDSkX++EgFaKkAPf64gUwA2p74gUXcoa6L/jgAy/5OqGv+5/4jFAqg+4CpAXf+OAAP/sewD/4v/vQQcIQACETm3/6hQG1kzEC9Hr8AGf4IAclGruiAgSJASYAdTp+Wfyj2/hRk1f6KZG3+kAHg5NABMOQigfr0Qii7ImPIknZFcMJsXPTnKEpAXDRr8OzEC0h5/NAeHcDbIDQBPJLaIh1Ao5DkAAYoxICTkCksw5AzTt7YyoCCztDOk5DGOtSUv9ZEQLgA7iLBcnjSbFDaUKvgXA6uGvDgIqjBchJQVdRSUFdi4YEYQFJQwYEEAB1OuXJ7QIc4JIBJgaEAvBpTGMBmA37iOlx8aGIgSIs0faD0bF3YoxB5gTKQeGxsFLlOT0g5VJsU/ACj7iSeY7DhSGWgy8BnhDXItaAYAFygWygHLKaA2fqagHBA1sB6gRYI4IiGgVAeAKBtwJ3Ai0jB5BXaoNDvABG6JABS+uQAJli9gY7QCkAzgTVwn4ALgX2AdIzcICuBVE6ZAOuBxwyQYNOBwmwGJJgAe4F6eluBWoEAjHuBxnrngTQQWxY+AHuB3lgeXmesEUT4QKJYS5DcQJr6u+jtAB+Bz5IiQF1sSoB9gCTs04KiNnzsY6AQoB5eEuymYErsiWi+oMfsHl4VwKZg6+ykUBXsKMoJILIcgCoDWokc1xzWEIkc7qaLXo2IeoA00Izwq17//sAYcgCwwNOY0khY/CBcXoHBNtFgYFzqXnRBt0AdQO5cVoB/3K+eJEAegAuMn8BG8BnS0SwO/I7QHo45EHkQqxjq3ll4Hw51bAOg5cDaeEfARRSlEGhifVh1XFUI23ZuTiJsnw5y/CRSJITmpt+aQNxSNHXC7o5QCjaSBoJ8LC5AmE4V3A5cB8jFfL2icnoWErOCAwI6MNTyUU6diPJByPzdEEpBtB5ycEVo1HySQRpBP+awqNp4X+i6Qb2ii/rgRPpBTIKGQbKOfnSxXDBYZkFevGFYh4BWQa2kNkGfBgPAMgKxjnZBzkFI/HyQvmgKkIvcSAheQZts6GyORD0YmkGMUgFBkGBA3OeUwPBIMglAX7yBwobWXpbTpveYlkFxjimkyUFngtwyvBCOQb0gmOCeXtbA4/x47IPAS7oDQceouSKtiNmwP4G5Iudsd6TSSFNBrwAzQWmkHNjf4LYUbg6DwPUguFBbovhBy15MFGkSLlBuMJeSW0HTduzQJEHrXuRBD6I3oC+i63577Hx6ojZhlmOgEZa8IHkgYTAejgAgHbxUXKmgjtCYCBXc7DKfQeQI/4A/QYoI31wAwdgAjghGMC4I1Ob9kEmAv0HdPl4IS57gelDB6hBKsjEI6Qjwwb9BmGzAwbGQHuLYwFDBnQhdkDjBWmIYwTQIbu5UGPjBw7gogMIIJMG/QUYBnAAYwQVqUQ6GnqTBZBCTCHOAlGyzCLj0pME5vjjBn57IyMF0lDYCXCoQckHcANiKr0HuHB9BeqAIXggYzAgOEk2SGZKcKOGS2hytkukEv0GiwT2AgMFBgDpGCMAOCGcQP37gwZYIksGS0pOeO9RfvBsYKoEOku20+w7DsK6SmtpZbO6S9+Jfpj/2PpIwsEjBaQgfKkDBCQhhoHSSnRzWwaySspJIENDBoQjeCOB6/RCckrSSrpIcfvySaMH98PrBV8QOEpWgcsE0HA2SDagywSNgisFUMr9BURLCwMpBYHSxwYWSZmy2kj3YRYq0CgOSiJjyRAaAvhIYDv4So1yBEiJc9Iq7QbmwREDKUnpSGcGzNHESMWLjfMvwWQLJElwiqRK+4iRAWug15qRQORJIRPVE4iaFEunBKIDPXsNQscEwEkkIiRI26FZi7fB6oHVcthK/QUTBdAhUGMQAmoBsCOTBc5AiCPRY6t4YiHIo3LKVsNfQ5wjXknIUutS2Er+Barj6YDNAiYDbkgPBQgY1kpq4p9BNklOK30B+yNGgycBowQYORIDRDosArr4eQS0Qv0FMwesILMF1bGzBgCHWCJLSXSgZsJBgscFVHBwoGbwf4h54UdZKgEBQvCJVoCWyy6bwOt/iPwS/4kf4yoBgEpkytbCARpT2k5KbcDwa+jCv5kMAHcGrAMkSJsjUkuPWdsEAZoYi6TBr4rbGf9KX4mWiN+J34o/B6nI9IDOSj7RLGMUk6HinwUYIBRCoTrrUDhJquBZAO2BSvt4Ovg6IADk8/tzVHPUcduzlBLrsfjp6IAME7uzZ7HFAPBbDwOtKCezGgX9YppgHmHSAKEjvALgAilgY2EBi4ExoYDBYN4jcID/gilgmISOB//jdHLeIdIC8zNXIVyBquM7AViGqEA9URoEeIWYhzsCexE2So4oUsDzB9D5riPzB2MAlECe0BoAiwRJcYsFfQa484MCIAMrBaSGqwRII4Hpz4tDB2sFgwagAd4E0gL9AmsEgwQHBcMFAwceAlSEosi7B2BISkpHB+IDswNkhnQhqUt3wW8HYACHw7DL1Ie5BdYFhoN5iygAxEk7BZMHEwfRYm8GrwTvBr1z0GJJuR2D/Euh4jQZQkl5G7jB4QIjByhhuihfBpBTDIaMhKiR+Yq/B0ZJ5EinB4iF0wRHQ/8F9kJYc/SFrCBsIECHbCDSAFkD1ITm+IwAfMGrQsSF8wR2SAsElEEYAKSFc8LkhysFc0lkhOSHvQXkhlvAFId0hRgjFIWLEZSEVIf7Be3qBwbUh9SGpCLEI4HrNIcUIrSHZUOPBnSGm4uPBeMH9IbtcB8Gm4iMhtbDTIRMhS1hTIdvBXd6zIfvB8yEZ+IshTVbXop8YC8HQwMsho8FjIdTBrMQSTueoRKF7IeJgq7T5kkfBXkY64ichP8H0wQAhVyEgITch4CFbCHMIDyFPIdS07SHcwZ40vMHxIZ8hiSFb4DowoYH28uCA+bSAIE/8xIC6oYYAT/w0gEFe4AqHQYRB7NCc0IeoTOJjoGGKBoDVjnua00JuHBJcIsrywI2OjeTIQtzS0CG0MulaKcrM+lVG+Uiwxm4WDvhjMPCYp3qfLH92yIBYarj69vj9rDlIQqIW9hwiKgKYKomhSUZSooCs03gIFhM2eZyUqkacMDoJlt9AJBw9ylGijTJd9LmhKVBYggWhD1h/WgQWOuCSAEu6SAgewDVAMGr+CIWiSE5k9ieyQPhY5ia8RnbSmpKa6+qMlFUU0+pvwDFq9SC4Gpo0OEDjobo0w/SuhjnArdzFbPGKCxi41EwiXBoI3vRYy6Hr6t00IhohJmIaUdxmKCAKQXQSGjOhcsbp6JPyrXz1+KCaPPrZgau2HOoPYGCalgA86oYAbZidao8gY+AY2BFYh0D9aqlsGUCtTrgYBkBUVHDqdDj/oUyGH0CTwH7OYSwVJnJKy0DeQPyGTEC4IJoaBlh0OIjqVcj/4EGeWVx8qD+YqKxqhvMsGyzTLHYaXEBqLIbOuUDvEIRhHs6YAM7OW0yuzq6afJqAgKRhuRqOmvka6AA+ziRhp5ClGpiaV/QEYfxA1RqIYWfoBkBcjHD0+FAKgPGqbCLbIAcM/DyrUI9wn6HSfl70r0AtjIXAF7zeQK4a6+KAYbxhzkBMcq78+iz5Us4sYGHAgAqGtGEaGiycfWrHQLgg5bIqYUZYlMiMckPCv6GOQBZh4gaoYZ78+EAYYeMiQnRMQI9gu0Y8YeZhzkAYQgiolfR8qPJAbnKKgEaA6GE/cNKGP3CKOsp4H2iXaj5ACTRiYTfUOWBAIDas2GFWGpqGt+7pQpNiThqeOGbqwYF8+AKMzhpZYS/ihcCmTBJyDRrvyCJhl5RYQN4aRGFTCulCuvYkuOWWHUx1YQJh7mitKOVhGxrJGvRh/1AUYRka1GGu6JxhCIBkYV7Ov2r7ajRhDSBcYXA4h+R/oRwgr+Tllk0aaOpUIBjqzugdGukw7mhS+FX0XCCtKEJhP8gtYbFhIjyCKMAszWE+QJeU8obwStyG+UDdmIfcBkB7qnGw1rZeoQsIX7af3Hh6n3ql2r1y5pA1QO/GiuBZEBVQWqFR8jqh7GB9WAahf2FZKH1YSyBVUEu6iuCJBo7WBzL+5nA0Vl7nsNFgkWbmoScQ7ND00L3Bh6hRlojh6zCM8FahbjC3wBjhREErXtVop0H2PKZgrdYngmrWJ4JpZmpipmAEsj+BYRxMlq+eW36clscMsEFsljegPJZEQPRQREDIRjeg8Np/lMLQJWggwIdWpFD80orggtLUlLg2pFDINmOgUeDUlKE2N6A6NhoWkjZsZt5gnGY64CjWraH2uOLWa0AtWpuYTioc8sNso5KwFlPK9jB6MpO0VRaXqnyi8cA2oa8AvioDUAZarXrXMvqEHCDH0k+aPeDW4ZVCb/IJyjgC+ATOQOrspAp04oU4lnzddj0Gq3K5jkQwuSoOkEuy4pgmvHmqPnCvct+ylGqzsg6Y43htWKlSCU7QmJtwxbKXKufyCXy7kC9I/8h2xM5W07Z/fBLaYTLONG4CItzRMl3ySLLetLT22LxO7G1GbZDxKkpUj5rV4YLiAEaQfNaSkUHfzFpQIEZg0thAAawJNG1kyHx04gAcyEAJNBJBCzBjgJSm8ZIikF8C9UCp4X2AqMAhHjfUUtxIMjeglULzBF2y5CDkwN6SyIKAAl94/uQf+PgCc/Yj9FHh8kgx4Q7KzZx83MoiSkrMIhuC7o6WfDPk6+r3pMmAAebYLCtyMFK+QMvKd2bvxIvhOHjt6t32nSJIcIGS3pKrSsO2mTybqMAR5Eg+8Evhc+FJVpuoNdCbIqARX3Q4eJ/hCZiLIBARTTpaIDOizJLdzKUBZayVPDFIPCafyOBKTiqFKnP2j0BcjIG6B6KWngWi5MjQmEiWZ6j4AizAZBFX4TdA4EqUEWqY1BGf4TnEqxDDpAPAtNLOBuDA4NRBKvzWeZxSYoSODuKBBOpKO3LsEQj4typPENYCGIRXHONyQnJwERuKWjS3KhFa3rpjpCeGTSZnhkD4bQ5ejh0Ox6od5nEYSjAuUIQ85gqoDjViww6ciGMOdgATDvLEXwxDDtLojhF7gDIA9QSjFi4R0v5YAPWQY5bFwfS8jwpWYo8KN4q95hLidFZIVsXkyODWwEoKa6SFTMbGhaSwWhvIu1LgAFERr4qx/LERGwJF0twyvaJJET3gbXCOnEtojQLIDpQkeB6cHDIC/0rIwkAQb6rh2rwApAoZMu/QJtqxHHhE+qqw9qj2pxytwOzIyARs+mgqU+ADmuvi9vQ78NCqSVZzKNYynmw1BtlAhBF5jmGgESotqhIReSRFNE+8rBFyEdjWCIL/1iqcuIZEQPligLLknP7ExIBYhg+c8wT7Eb1wndr7hJ4hsMDsWroKz4BGUmEgtcrNuiOOQ+bZCgsRZ9rwlhCKFyqkOmGgySrOfIHGNw6ZKk+85BGX3MQK27REQJ1BlAoCESSCDxEd+swRJBFKIGwR6xGfgBQRkfZUEf2QvBEWWDARCRGwimggMlon0DQy9o5AuFByUJH/eC/4iej4kQ4Kd8KAssSReMYgBGSR/cAEkYJexSpUkfcRJJHZKiIRd1SzcliWWI4IkYSRDTJaWhV2zZz5YmoSpSqvBjUqM4BVKqRsxFzGmBAUztqjtJniZML2UvJwFVrsDndIQaq5QEZAnPI/KiMRNDJYEd1gBLpoSFD4xtrnvLNKVwqVxu1gY2p3WjBciIR5NqueiPggKgiiDKBa+IhcTGycTPL0EAoUfDm41Kjs2nq6N/TkwDTSF/jQmKFMmDK1QZbA4vJjljIsYeD44pvcOuAjQqqWPjZOGt5Sd3LS3JQQstwpkaPyvkAQiBzce9CtgIpWF3DaLJx66QZz0LmRDMrgJgiGWvpqPEuSLPio4gTiz0a0MN6RELaGVtwms3IwlMqRmVr5yvH0B1pooiVatNYbqpL8/GZWBJE4qAgEMhdw7WIFkRYGmFzFkX/AhlIlyhvgiPjs+isEdpHcth70agCQtqcCJsjdtgxCAwye9PJwwWDTeBz4GZb19MO6Yjw3KNkCq5F7eJuRgaiZ9F309fTjEQ6gvsrYysmsMxHIIHLobqDgSizA+AJOKvfCSeFg6le8Fli47BZYmAo5kJCRLJE0kVgwXDosEfDwQ/L3YgyREPaBcCSE6BGsESJArEACEdiRbTbxwAkyNzDEEty4FJEIgkIR0lqwkQImPJGMkUiRnBEokdwRaJGSjomky7Kv4WOgwTBEtImoTeHUaq3QiuDfkSuywnIWWB58cBH74TfysBE4eKN0Lriy6GeonAyZAkCqZ6gQqu4IY9oYMvZSIGCRhrMgQCFZSApgC4w1EAF29ZAJgcFyMSwwgCgKGlFUgMueU9Co0kSA6NLrsCMIK47b6BLar+63wiN2mJaiyjwIw1Brjph8ffj7ePZsj2ZPAEscsNg2Tm/QtQ5fJB7AJlHNnoBel0SXEDOOplHpAP5R+oBcoQoUb4DzjpRsDlHi4nZRC47Y6Cg8HHplETX6SopvMDZOrnQqTnjQUIS0TivIUfAv1p/6llGrABSwd9BBUKUhjGE8CKB4v5TLwNWgMBIcpNiy9iTaMEng4F5QwIegLZwnNHikQ8x5cFooeKRmWI1RXtDAIH7kwqS6Lr4g5pq+8Mg48IA8pNhOINA1noOwenZGmuwKk7aiWkgkZZqdDtA6GhLbBDBRHYSmSqRKuxYJRLAo3LBNtn2A+2aTFv4wbmZBcAUWnTRRKpXQVk5SIRn4JhKhZtQGgnbVoLZBIpAy0lQea4CbnEKYTaGWwNrE5VHJQG22fQS3USu0DgQxhD6E3Xg6/FfEOObPUQ220YQ2BKDRnmzvUSHkMNG2BJjgdaHTUSSesXjkjsNQ2kE5YCYS4hE9SAxSIHZ9bGRSejr0mtbSOuDLwEbSYaCAVjrgACT5CPUcjjaG4PHA+OAjYAMWPrhDFkxm1TjzCDUwiwi3ZqjMMWoimBTw8UHQ1LZok8B0holMrjLdTAXafYgM+kno8Lqp9Enk+PhbeqxOLTJWAO0QkwDUNE7waTSRoNSGooDfmMpAi5DtABZApGIu6G6AUZhMAUpARwCwzv7w8Uwd6LKARwCSYZj0eXSaBg68ZTaGxqIY6+IJVBq015CtoIeQzsiZuPzmGIABvFIRk1g0uEBUKaRuCBvu/YaUGo6GJNiCzC5q9OqbemTCXJiwgO8ahYZRkocaz4A2Lh7A2+6S0i8AJop9bG0EZoDxFu2wCwjj7i4yMqRtBHY2iqQpFs42boo9FqOg0aBIAjDM6RZDFp18VdH+pFHA/GB88qdR8xDFFu9yiD78VFFAHbgbTBgukgBl/hYRx4EKxL8AwBB9gMy4jtAGwlHA8RbJwK6Ig7A1UUiARIDtvnQk69HS6qJA7qKsxIEYe9Hp8DFiPg4N4LhI3MTmaALiJ9EPYGfRkrBH0ZfRROFMwKLKNehkQVHA10R5HqUhBgCGALBipFBv0QYQZT5GAFCQ/T60Lr6wMlC/0ciA/9Ff0Y8Q0WKSsE8wiJ5EQGAx2nxasieCCDHNcEAx2tAgMfAxtwjv0c1w0DGhQLAx9cHWnvLATih3gWLwhDGQkNLoJDE4Et+eq3z94UkIKOGM0HtBvSFvbgRBSOGM8PQx1WiHqKiATABlPucAE+TEdD3AkgBzgTSAl4AmAJLAOVBzgQIxPDH9WHmg58yHZmdoYbaSMdG2fDEOZKqAcEAmAFwxUjHKMbeQ5DgTACHwZaAEMSeCxVHS0HoxPgAGMeDS1DF9+DgS8sAmMfBglDE7EdLE7NBCMa6h04BqoeQAbqJ3CECwjwgsMM8IrwjuwFlUJRgvSHLQeHB1QKIABHCf7EmAgQAWQBZAgO6f4PUAFkA9wORwaMA/4FEx94By0KtUhODsJhn4QTHNACExYTHNABExUTExMXExCTG8cMkxFkCpMWjAOpSgZFQucISRyK3arrB+iHOB6TGT4OSyo1AqXigC4CBAoGpeh6Dz+HMQuirjGKDOzQDbyPmU+YQgVKYB9oDiMQoxkgCaMX7Q58zHxLLeEMHtvjeg586eMU8ILwiQ5hPQks6oAK3AugAqBLoA805e2Mzo9qr6BHNuT9FX0RDeL1DcxBbuoIjgiO8I/Zo7ns0AuHB7nr9uB54A7seewO6g7uDuTHAscJeeMO43nvDu956/7Mdg8YANiNj+KOj0EHTRJmDRyFWwu3BDzOsOKw7/iNNAOw4IsU4AooDTQBB6GICXgBZcH1be2NEWCaDzDv3AG4oewKCxFvCLjkgIFihYsRoYH1bx2MCOWGCK4EgYfeLH9MrEdUFramwCRVHOiJqIJDjXqMIh0HyOxAohlzA+DiuAyiFGIHyxFb6KIUKxvfJ1QbuwlDYhDiyQTijALDxAQQ6xALKxRIBOKN0cyYAfUcpOnlHRYJvE9LHJMtlRvRhGTh02Jk7S6i7623oWTkH4C4wzjqkk9zFcMc2IdvTYvpgoYaZO6Kn6FpyRaEYY3kFT4et2YZIITtqhdYAS2gRq83jYLPieXKDLrnygTsC8nMHRPJIEBOr8jqxDjg2cj1rDrHbSIFS2sScg8GCgIY3ubqAcTiMIDYi7mhrhC7BXjpVoOLE0uKnErCFv0AEe5pC5saeqZLFAIQuwlLFtHPxmHniFpsCBBUSQ0kkkHeYXIWgAnaBOWiSEiuDuIrdG3EBMsSZBxsGssQVc7LEyAGRonNpcINyxxsHyIWKxArFKIS8A/4YoOPyxmQCLsUYQRkHSscEOBYBysWCQeerf6EqxVDa7saKw6rF4To0RieYUKoqYUNLYvMpOI7wd6pGshrHpjuV0k/TDwGbkqOxOtNailkjWYIO0O3josFEYh9Hxqn6CH+p0whiiv8E9EDEOB2KDYZwAV95MoWBxnbGW8JBxjGFX3mv8/YD+/EZEYqF9kLEOSHEHFJeUP0yKUT8gK442sQ2I1lFJjovSktIWKIWxa2b8ZsPYeLFNqmWxmdGvUcSxflF5EDN2M4CdyA6xg7AUcfAqBvgIOobwFE5DADuBI5bXUR2wa4CsIelRfbFvMO+gaKAeThUC1E7megaxPjwFKIocTHEUsCZATNDYbOqQY4DxFvcxFLCiyj2oACZobAwAgnEa4ddIh/yFsWPIxbG0nLXY6byxpmugnrE6QAOgi6wu+KWxMxD0sZWx4Jh70dwgazESzpsxA6jbMbsxPoT7MfFAMAS91icxcaCkjqYBXwggABiAWgA4gf8IxUCUJCBestgrwGcAmrAHsH7gbEBNQHaQUIiPANw0cIjWXgKIHQDNAMzAc4DrAP5YqiC53J6IeeGnfIWIcICNGtVxecChiESA4YgEgAZRvohOANWAAOCoALIuRu5WELhecYjXMezEiYi+GC28+YJYGBmInIDZiAKAQoBYGPmINBDFiCCIQ3FygGzCdIBFKH98tXGYAFyMG3HUAH8wGXEnaB2Ak6jWwJkI/XH3OBbujBDdcRaIp3GLcbcxSlSrALtximRZcYdxnXGrAHGQCTRxkM2IpoDKALWIxgC/zpVxvAhcoW4wScwGgO8+FXGgwOk8zKB6oKOulwCIHoNg5MAuTiGQ6lIJIHpMtwKnfL0suYIsgH98hFjtIPQKp6avIA1xkyADgBRAVe6hAPdwdWDZIPqA7rjoYC9UxAC6WKKAxAD5yC5ApvDkgHTxPkD+MCY86AC3iAKgvCDtIC9g3bbZATUAA4ATcPTxzcjNyJzxxBAc8dWA9kIMeKaisaLmhpBAbhpI8eQAyw45GHtwFySmAWpgGw7kAHLs/jAPNHD4bPGi8dwgXPES8ZbCCmC9YJtANMLY5tQYr6h/3nhA1ARLrHmwf3E8cvU8FXFCvB5xHjEPCOxA1AB6iG8IjpCRKNqq3To/UPdwt4p4UF1A2gpYgCL8/UCnYKVEp8pJQDHxcfFcILHxCfHx8dHxXCCnYMSArsZFWkwwkQSdTs7g+GBo8LZgivIZ8e3AugRf4jywOfEF8fnx+GAcIEXxJfHZ8bnxdmCV8XZg1fGSBMXxWfFl8fXxl3QF8c3xmfGl8XFA5fF58R3x3fGt8b3x/fEN8YPx6fEt8bXx7fEV8ePxNfFt8X3xHfGN8WOgxACigOQARWBASM3uXHxobP/4/bDCYAuM2/FxQPdwK3GEwKSUkEBpGHdQWIB5wGYUUggi/NtUcPj1pDM23mBGSPP0wKgmuDFAB5YmSA9YEYDThJBAAOA/8f/xf/GACZBA5AC2YCwwnU4r8bywdVCM8TnxicDa8T5AoAngCWixxATQCRNw2uzptLDaeGBgCRAJyAkA4DAJaAnwCZgJiAmQCSgJsAlwyugJCAnYCVAJuAmoCXAJGAk4YFgJSAlUCeQAeAm0CRQJjAkkCfgJdAkMCcQJ1AmkCT5AM0BzVKVAHPEHlt/xIAmECZQJHAlwCW+wmaCdTuLA/8x2FPw0nvCPwIPwI7Im5DhgUtbSQk64XEE/INfxXd568S2ceUA1UKA8b/FjoAPwXUAMAI/gr/zVgOwJHoA58dSeOeS0ngwAFSDptJ1O6ACgCfP0Egm2CX945pRxAI4JzgkygK4JoAluqIQiahg0PGwJPAnoAHYJ1r7IgI4JJoDRYTIJDkIJNI5w4y7TEKoJcmB2YKgAoIT9FqPisaKQQN5geUA3oEu6r/FxyK7GXOCWCd/xQAn/8WIJ9AlECTgJzAkTcBzxZAkECTUJngn1CbrRrAniCTYJbQmNCfwJXAm1CUwJMAk9Cem0J/yP4EpAG9CiCeEJdQmDCVIJ9RRJQLIJrRAiEJBALvEP8ZbAgPHz9EYJN6AD8MUJMliIAKVAxvSmAZBA3gmp5DEJmQiIAM4JpUAj+CZCbgmdCREJsgnptA1IpUCX4iZCpjzXCS0JNgmRCfJ4cUAs8nhg7cADrNNYzQncCTgJHwkj+NX0rcB6PHEJDUhvBMQEvRS/CXo8pUBsBFYEH4R/8UAE5iAX8mCJgOBEUEDm2nT2Cb4JpwkVIPP0pjyEiUfgkwlUCR8JIgTfCfQJsIC6nACJ/QkyUp1O3qhUuBSJcUDeIsXkNImeCcCJjInL+DhgvwncBMqA6IlxCX0J7In0iSCJmAQ6wAKJF/REiYRAJIl0ieDG8dAUiTywxgRlLGyJ7wnCiYyJYgm/CZgEAonSibYJDIksMKCJ4InDCbMJrgnzEOfxeU5cfCeeIO4EcM0Ax4A2QMxwBHC4cKIAxID0QCtx9EBBYXhA8dAMMEOooPEI8R8AkPEM7jjoG4ikICGQBwBkYJlCK+4JoJoAeED3gBZAVvFuoHBAeEBJgGGJbzDxwB2A9ZBeicmJYaA/4HWwnKEZiW6guAB4QLjgsZ7iErwIPcB/3jrgB6RQ2HQwMhESoucApMApEKSURQn/ADhgqZQNCXKAWwlNidPgCPEQHIAJ1ly60YdhJYIyRjAYiBDegFGgbMIdiY0oHoatibDQd2gr8egASVjG9PHAi/JcsHNyb7iBkqdgZEwA4KDAcBiVYjhglFy1iZTQVCTFYAxc/ToLjKmB80h/8buJfSjThCNil4lTgNSU9ECIEGHI0gZ9KKDAU4DlQlXk5AB9iSzC4sBCZiGevICRmGZgf4logEkosFxShjPoc+jDaiNwS+iB6hMAN0AfNOBJ8sATYdbIdUg3QPEg2fwTvAWQHmHP2F/o6EkFUUYCI3BmACtiH8A7sT8awWCjiek8TYn88RCA62DkSfgYxElNQCyQ3ZDTgCAYDEnFaiV+KeBgGG2QCxjiwOPILPGgvBOJrIxNibsUEWTHQMVmOBCOwF+QGH6OwCKoyACOwKgQD8COwGDgkGC7iROJ31ALjIahQV4nidkO7GBBXlkOv1DjMGUg8sAxAK8AGSBpTiGQYOASgS+A6lgb6KvxX8EPfDfAG+h3KGhA2jDd3thATYCm/ii6EWZ5kMaUmrAGyHD4xEB+MCSMgrAGUcJI7iBVEDyIZ5isSNwYaEiWzrZWnEgNwIxAVpSQgRcukPHpABSAzlhWwDO0cVBFgOk8r4mt0gS8bSiOSVa6P1AaSaFe34ElSTpJoV5q4MpJt3BGSfqAcnJdxP2ybqDtbOaAIV4HjHJyrdKVcZD+eEDNANOESiD6PLuJ2mAOSYbQ2QD1QB7EQhjnqJ+gXcQvYGOw9mh8ngvIuUn8IGkod+4bQBlGC9IC5vsAlEnqwn4w28TFRgvEgPHvilog8cBTSftJiBD44FGg6lI3ifJwM+g+SagAfklGjChAdUBw+K3El0k81o5JZXZxFH4wXpD5SbwgF5Q9dKdgLzj7STDMeEDloqOJbUkUSYNJh/ynYMdJNYnW/m1JhkmyqMu6YaAbiCHOF4nT4Au6E4kD8JgoKb7zSek8HCDKcO1IQEB4yMZIL0mSVJD+n0mnYFxADAB4jAFYu0m16rK81PoGyHXIjCiEwI50fUlg8WsJnKTjiY5JS7pSYJVx+8CaTtlINuDuICZUx0CaTpHIkaAfpgeMnKS1kgu6y0liydxMKb50AIVJI0ljgM5JGkYViDdgiADEgATJH6YAyYf4bkn2oOkyXNjaybrJm0BrIW6oiACnkD2UCsmwgMN+nKAfppsMafG+AB94ahibQDWIm0D0yd5WnsmsrvCAVe763l9xnskVVCaAUaaZAC1AXCA4YB+mP6GiBvEwI9YmlGmBvEDhAPAAZ4Tf2NIGAuZXSRNQh6JOzP1Ay4A6MJ7JPXRswvxALsltSYHJw8CtxCGQy4Dvirjg5ElBAv9cWZ7syQjxwC5XSROJvMmjiUUYgslOoMLJ8sk1AOLJS7ySyXQAv0myye+Yosk9yYrJUskqybWJasn9kBrJmCimyblwhMn6yfSK6bBRoFrJOsnzyVHJFslM0TXJvBB4QB1O5EkHSdzJI0l5QHzJW4kxcKeQI8mkwIRMueAHjKdgZRiK7NfJn3H7yVdJE0kpMp9JlsJcsImoP1BBXjsQrdIhkOd68kZpyZtJu4mHgrE0WHbWUKxYQHYQ+PTJnzjbSWzC74njoJ1J6TxmgHLxDag8yWXBFzzCwJgo6ABryQtwTYBEydfYhskrySjY2CkEyVwAX+EEDgmg1cnmhppOknZ4QMdQ+8nuMB2JFEBZAGfMZtSzAGeJK8qOSXlAnKAAKW2BaMl84HLxTck+pCbSIclbKGjJzCkm1A5k4IAcKZBoa4kcILwpTwDpyR2JMsDmhrTJtIAi/PUADClJzCJAmcnviVXkTkjmhusQ4uC/FFopiBBEXm3Jh8m1iZBAJ8mWwswpHwAXyeApDAAA4MrJsMkOAK5a04QWKbuJtygsKX0A/+CU0NogPUIwGOk8kXIXSaDAq/GASLKaagZZAFkA4IA8YHApsUE0wuuJFvKhKSvxa/FV5Gz0Ld6A4HlATaB7POLA2EBPgFcCMsmWTuRJmk6+IcFJbIx/aoSgZhQ/cKqgfbzcLvzxghqEkMRIB7BTqEawhYDcAI7AlsLyFLwgxN4NyYwpkMnoAsNJtYmWNm3JwIZzoFzALNhWyQiAF8lp1LQAfYlviZFo2uFe0d/OvSQC5topTCnXYMpQo7QbiD10Msl7iXKguMnNjGy0CzaqwDtgHe4ryYo6Kim/SdogYTA17g5+zoKbQNsgmjCTABtJdPGwwD5AlilwyTYpexLWyStJ2zIGPNogTrjdumgpEoHlOo5JYHC8QHXwAuaQQINJP5YvYBOJB6SKhifJp2AmoRdJ9cxEuOpI9jq8KPWEWVQzKXZ0dACRIUJCNPg7SYuJNFgEjj8gP1AxKE0sMqhmiCVoJgFV5CAQgimlKdMmc6A+KTIxbCmQADIp+ynnqDwp+inkST2ApSnxwJopTKm9QaJwnikywPw0IkApZp4pQsIRQPTJNuBNNtAp3LCnKcVG1eqwgIqpPXR1YFBQDcnNyY5JB6RvyRS8XLDlcAYuV8BoyemGlML7YP1JciBoqe+JeECLok/JHYkvyfV0XCnThD6JnynnqFcptinbUJipmiD4qUQC3cnhgE4yGzwEyRuIFLAjgMmB/ZJrSYApN4lPAD6JrqiVZuUp+xgVABuwZqBr/u2ENKmMQAyQx0DsbsIYOBiNhNYA+bS1AP+gKqDhqWmBMUn3kHQgW4njoCi6k8A2yb6phvAjDAmpWABo0qFJJfzVKTKA3C4IoCzwBrA8iATsP45AuBmpTEA5qXhIJgjQiEEAS4B0iCOAJkA4kFMAKqBu7pWpbMK13KFi8hBwoF2pZXrciEj+knZg0MOpHoA/cZuJXMm7iRNJC7rMKarAC7CRILfJVOwLjFSp7Sn1KZ2AHEkpiqgpI0n6gBHJ3KlqSf3SCPG2kJ9JTUkJoOApaaTbSRZYKMlrzgLmVqkdiU4pFlifoDZICybviga0X0my7kBp+oCXidM6IBCNyZykNymMqUZyRox9wFapNKJG7KEpzYyzSZLy/kmIAAUoM0lLqDu8Mo5LGMRp+s4OqSpJeqm4aQS8p8nxwBNQGIl4QFrgnincqaUS7knvqeaA8IAs8RuMXGmQAH1YBvCtxA7CIkDAVi5CRRgywHMYA4CeyajJNMIXurRpR8mznJ9JgKTCYMzAP5YMONM65iJOQTcpEcktiS7YKeADgHD473zOASL6r6nVgE2JjOCVccs8u7DffCbxNpgwuuki7fCAEDVJNUC/oAipDDKtSRuIjUkmgDgpHEC4RtuAKhRqkoGJCnr+SUU8kCmPqbWJx8lT9FMYSUFqacspP84C5n/JV0lrQOni5mneaRu0EZCMxuppEWmpMD2AhcmwgLo6wIxKVPpRFSnfQFUpdAgdqfWw2UC3qVwxg6kMkPiQlkZEEDDMWFR9KQpp3KlH4AuMYdIJKOygWTSGqX40KymmqfJpKWnXYHF0pQq34PFwZCmhafcGaCkZaVFIWmD8QB+mjSbudhZYCOACqc5ARWnwKZw88GnuqfqpXcTvycKqGmnqKXF0LsTmIpKp2iB4QN/gNUlDSQcAT0kyaXJp6ykDKT7eJ0ltgnWkqknKaaOCFLztbOw0JqmRIK1JOGCgKcVpYuoQ1G3KBsiXYBOJV3R3KQHJz7Rf3lXUP+a/aa8pudwfKYppwyl8ntJpBUJ82CkR04Q3YOxQBMkJKM5ACEAOwms8uOnzyfjpril5QHNp8KzEKXXIcqmoycpJdeidiHP4COkRyQzpvUHJEGipHYm/qTVJd2lEnkBpHOko6XDJL2lfSUq8IAkC5s+ofmktNlzAxMnpaHWpEIDvfIvyTrES6WiWRMnvfFjpiukEyVZomiguQHtJx3E5xNvMcFoo2PWAGumPKfCACEAMaeLpxumyBuVCfjDCKZHkeECbEOxpHmkvqRNJ+oCU6d+pBCAtSfqA5iJaqTBpMmmrFK0YNkiLqUApNAZAdkHpNUnvaW7pWWl2yW3J41EiKSbSeECtUOxp1kmG0LZJScD2Seep/jDIaUZyiyB9wHGpSqTLNhQp30AHAKIYlYY7tKhAAci4ADu0w0A/QaKAkgAByGuAxEA0gDUQvCA1Sjhg2oA2SBZYwenYxCtpUGY7MEApRTzcGFk00aCt6ULpFlhCnspJkenzEFa64emOSfqA94KGtDuJP1AcKRtJj2ncqUu6K/H+yB7EEoDANNrJTwAfpgw4Isk76cHSdACtgYopQCmoQhYsjsnviW+wMZ6t6dypYHCiGB7Ek8A+qQqgqTgbiEQCl7gOKbWSG4i0sNGgcC6WAHiUcxQ6MFko/Okr8eXpaKk6MM6YT8oQySvxdekQGbueP25/boeevHC4Ev2QhMB4QN+BnilXlPLE7FCgKY+ejzHfbvue/26JMagZ0TwiKfUMX8mhXr1JykkhMCdpeMhUQogp86BUShbwUWxM4KhGYTBfqbSxkAD44EBJ2nxtTuWivBkgSfUEZvoISRzQkEllkNBJMgCr6HcI9cmiGUhJjjgoSUnmhe7gIKZR1mEgwC3WTU4YSZiWFFSESbU0hBgskBoWfSkDSVRJJIBUKWDxdEn6GWxJ3h784cFArElIUqae96lWGaJA9Fg8SWjwfEluMC2ISem5CbyIfime/GoA4UgTKD6J0NopKeEpRRijWN4paJCQAJopcCnXFoEZwSmwgJapRnKpKZOUYaBMOK4ponD06a7udAjRCF/AyvJhyMOB7lCklNKp88igwMjpN0lq0hgusFzmgPAcdOjjMElpHYk8cieoE4lTJCNWU8R8YSGp/kj8yRYonKR5EjNALclmPCGQWMk3YImofID4yfPJu6ZtyXjILAh5Ej6syzY/cd6AMsCLGS3e2+nHQNTJsID4GGCQIyIQ4AUoAalrGVgU8cnYAFsZKLojILLpexkLGAwA4JgFKGrJrPbjQMdCUOkmlCm+2yCpsFWaiBD2oFOeX3H5MCpYMZE6MICp2qlXlAhKSiCRSQwIOBk6MA7uFzxwXhbwkCFNgK8hLtAYABHQ7jH3CE9Ia4CGae1IxoCfKUSgt0CeQEwZFVxaYpFxtwDy1mrBNSgbSVdJaxmByRP4E0DDQD7wfFoM/tMAyskFKESggEgTiWOA2JllCCiAeJnMDozw/+AcmdFmUuAhkEaMUylkmQII0+mOqfUZAukehuxQWBS4RtYc0xmpGTbpPEnwKYgAAmEC6dPQUpnZYLZJc4nThASZuJligIBILJmEmWzCxJkNGdt4rim/8VdJEGBc4CEw9xmDgdjJH0kpYATJ4byRoHApImGIEJ+khRwfSZykSumcNnEZpGluoA+J0aD0mfTx2nJameMh68FFmOHS7ynw4Nbp3JmUahOJsN5fScJo8tbY/hSM2oA7aG4wVCHRmTOArRDmkBNJi6L3jKASbcn36WCBCUnKQJAA/UCtAHdoUSgFGUNc5+mF6SmIdCh/fA/Ir0GHgBWILup6yJR8kKkuWE2J+WZkfoZpRhk3iVFInUa8+nnAGzyoQikit8mgwDaYw6mS8f6Z3cDe6VuJhZlSYIupKpkOQpqZ46DiwdiWNulLunqZGSEB4KYB/2mFmegAj+ldGd6pwDSnYLwo7+m4qaeZb+kEqbWpV5mkqY2pcHiUqR/w1Kk3qTGY9JnrEGNUO7QYmeDSpKRYmcGZGcF7mcGZCF57mYkpuqkjSSe28ZlhoPbJ5oBDzifKEAme5MLc0lCp6ahx9JnZIZ+ZcxhKKWKZ+oBIdHkSIZCBkoupDGAL1scS0zobDIUYP3HBmRkIIFlgWfuJhEC16TKAUaAesqISkeSgwO+ZqHFBmWuZ+SHfXFRZHYmHmZSZSiB8WrppwZlrwfQIYZlHvi22f3ETidYpcxnLmdYQqJmrmTiZf0GWEAcJSETbma9QXNJ7mQhp2NruIMOpwDR1YJepy6nuIP/wOakR0Bmp7ajgqbOcTYmHmeAZKCmWycHSfjANSEBQIkC60ZJ2bFlqpn9xWcBKLtouoknyQImprantKc5QYuh0iGiSYwCnaNYAqC6EAGUADnh6oJ3Ig4HtKaYAnlkDgCbUZqBskATCCDwO7k5Zc5mLqYUGW4liGBx+3tgO8RzJyrhuPoewvlicSCSQlujz9MAAnU4jkJgASkDOgbVZms5RwEu6VVmigDFAcMrsQC8AYmCSzltIoWBKQJrO2SED8FVZ7EAZyHnIfVnAANkh3oBDWQwAXVl0MDKAY1nZIWOArihVISGQCkBrcZMg3mnSQrPom1moCPEoy6a0kNtZe+hrWdXgtYjwgCdZsIC1iNQAu1mAgPEop1mdkFKG88AVWEvup1AKEM1JS4CSIKSU8EmaGXhJoSHuUJIs4jQEAP9C9SDiNHwAiUK5iQmgczpfXnBQP17eimamT8nT4OsQA1ltPDdAfsQ9OuOeFQygqD+aiKZ+vJjx+llBADiAMShHJOoCdSarCYRAd2gLugpgahgUaStYOEAjNqkGPZ59OrCi9/HEEUogY4B+gQTSGMqLqSwAV3Jw+GDC8UT38TM2ouB79jSwGbxScm8E7WxK8exAqoB88qLgNmDjeEes1VZXEpG4+8Dz6ZBoUuCtpKzZ8sBSUGmkJdGnUC5OYHA7+ILZVeRxhu6AbjAMAAbZoIhKVOLAevGyEkzZAFJU2QW+GsDc2SgwpjxLunMYeNBaSArZdyiRuHhQ8+kxcFtwKLE3QOvpwpDq+ODxFECcKAOgS3ZfLO6AFwzHEkhwmtlcDtrZi6mnFuki4dlFyXHZgYEU5pkIHNnbxODwYaDYWcs2BCnhRv4wMuAYgPOWqakIvFjJHzSB2ADZJ0QiSTUAafE54GXgsUY12c8wbMIEKStxDADpcNmUTUAeAOcox0AbPKmU8kY92asqgCJUQjIMQU42kiW80YEiUAnZQQKwQedwlNljgLjUHBn+sBEglNETabZxm3E7MFLgAaZ4QHVAoGC2QmKGp3wDxIHR/EDewu1sOzQjnqeE9/HIWOjx/rw/8mOkTRAoQB5ZdUgY8QTxe+JP2S3kp9n1caMsp3yGgMZpCICl/OAggml1SJX8x2CdGZ9xv+ZhoCjIerh68Z2JWYG7UCXh3BgEdqsAyDn/omjwL+HLNtwK0iB2wITAOmHO1JfxBPFeppyM/ZB57Ovq9vyxLOsQ4yIzNhcZxZ6gKW6oXTybjJFIcPgcUEq8ZoEV2hs8ZdDdeITJdDksOSjINIB57CsoeeB0EGOA3ong8c+CQBBg4TnWoWw42Y+ZC4y01ATZBdR+MHiM7wArwEC4p5n5FGXZZJhDXAjZ3CCrkL3Zz8D92Zo5KqQGOaLQNCmRIOaGtUnaOaLQ6xBHkC8AtdmOdq4cKxQxsMRpvUF4BI8+YjmGPIiATogTsTjoUGIsCEwZ9EBTWDIR2YhHOJsupgF9Op0crcADqKtIPoJsBKVy9ECDRNvEwrAbcbK4MpLROfXQnjm+iT450PHlibOcygD4BOGyHjD5OcE54IxbqfRArAQYWkhR+TkjmqCESyCJOV/ivBDKGWygvlE/Wa8smtQ32Yf85bDOAKwpYYBjyPhxMQAexJOApBptdqE5qxCbLleURIDbME3wot45AMwANICskvNA7BQ7Hv2Q4BaJ0JE6/HqzXDEy4RD0XjswrJKPwPuAsgCqvqs0O1itEKS643SVJlYOIzktcAs2BAAdgOIKLtjh1Js5xqjsQNwKjzke1M856uCfoBs5YG4BabIAnhp88t85Tzlgbjhg7EAPOT85TgAXCbCJ1RkQubVZbjaQ/m+AIrCmYDLIwDhoQYl2A0rjnpF28gDsFLAcy3E6yMsAPuALjNFgsXavkNmI6EAeABjAYlDLIDM2tZiueN4AFgCOAHFA3TmLCVhA7DSaMMS5ffBzOajAQLkfOWBur4k7Oey5eUmrkN4ARzlHBFxAZ5lyOQZZ01lpKfvAn6C5AHXwmQDVnCiAI4x9WLuUCrnOifi5r5CvifK5SqDkySMANoDdvj5sQxG69vQoq2gGuZMAx+ku6HFAyQnVGfq5PEiTAEmIQDlBgJAA/bC6CZkAYDlIcKgYP6jmuXhWe/EEcS8wLDBH8d659rl4VgFpdrmPAN2+BWb/8bS5KrnywPTQPrnMuY/AQ8D5MLjZMSjSuYBIc452uR2Q+oCJnkDsBZkzNiYkyzZ5LJeUV6hhHO/pjUDXmZieGvTSuYZRqcEEIHZGrfCEwCXcWhkLyGvZ3okDlpJUrMKauawgVznzGj6QmUDLOcV4srmIuQNKkJwD8PTGAwQDBLgZzZCKhj+E2LQo8Q2Z4ELpUG7JVrk2uSgwJfyokK65l5Jd3h65v4DdcAOAy3D7GMu5P1DqdjOAgbk17jzZS7lUuWhCotxegqZgQ5bkufAAd7lXuWy5IiQPLFOED7krFJS5lMKUEGxQx7kLjFwA1/EsMAFEaZFzgN+597lkuV+5bFBnyoQcf/ExuZkU0WB8Wg6m6zyQaMM5Xjo26ei5NQRAEITgi3CQeRS5bFA1prpCeHlPuXwAgfRUyfCAg+bjeKe4JrlAgIEOfblYAJNI3AqDnlfeSsnJCda5RHQjgVwA8GDJHtfxo5Z/uWJQO4wT0N+5FixoeSx5XHlqcCAavHm/uWJQ6VCCeZYQwnmdiGS8o5a+UF+5fACgucNW6cTEecJ5+eTiuVXkQfQMAJwgpvBfoCOM9LSJuQS5CLlbgDd+pCCA4Jh5DZhtkPxgKKmUeQwAfimDnqZ5YRyfufh5VLnPbjWwplHQcYXMywlYuTi5Jbk+eb5RVnkqCfhWhWY0eb25gliMedF2QGBFRm+ASzkntL4AYbGfaLSAcXmNuWY8dLmyNG9QOLnMuUl5hgADoBZ5v4DYucl5Hl6Jdo1A2WAoucFgJLnVJsA4vbDUAOwII4wSVI0mdLlKNK+JHIAjjKywVrrtucEsRUbnOdEsdzlAEALCI56vif85K+gqCfOZwmj9ecqAQWGz6AC5w3ltyfMQ8TkFWT6JEPE5OX8AeTn0QFWJ7DDFOUE5rDBlOUu6FTkr1hXaA/CJOS4EG4w1OeY4dTljgA05Rvg5YEE5wUqlco1OKhmtOVWZKqyDYFcCj9KrIHKIvTnggOTgZRgLjF957g6w0PR5rVpjOWsQ/xmleV/RxXhTRIfm1hDAubNcNjxUJLK+7mhBYb7xwzlg+V6QWXHguYj5xqidQLj5vLmQuV/42WmwuV857zmqZM85WRbbqXj5pPl4+RFEZSxHqDC5ePlvBGC56qkU+ZjAzzlQuXjI/8hsjHj5fikc+R2AzzntIJcRPLmU+SC53ASE+eL5kLkIBAUc3qhQCWL5nPlgbjrxgvnPOYgcsTkVefLxDhTVdqi5PCC2eaI2gXllebhQtXlAfDdAtXlaedB5FdZGeXwAbXkMucQATLm1ea+JsLlFGOmGFxn9TuUxqThPmeuw70AyuQ64b4A6uQeAJiTjoDb5I4yAGWq5SqBmeVq5k4AB+TZ5wbkRuZMAZ9l2InnAZrkhuW854bmcAN2+K7kx6Na5l5K2uZcA8fmhuRu5ZfxbuTfxHrmevHn5Prkq+en5ZMDO8Ce5AblBudX5hrnkyTj5jPGS9m15fVjxuSG5kfmsuXH5GfkOua+c43jUAO75dGKe+VepH/A++fZI3GD5uSTZP1BXAl6pzikHDKW5hrSGUZW5wDiqgD75tbkMOYnJO0BIuqZRfrSTecTZ0SlI2cx4SOINJt25kiyY+TF5BXkrOV/ol/kwHL35NfkgwJvgw7mKDqO5v0gWwj6Ak7nTucUO1YDlwEP5CO6tAGYA7QA/4FsZ/U4g7oJw9QAMcD/g87mygqd8moxHuVS5FGYcee5QOfmkqI65m7k17m65a/HemBA58AWyZEB8p7nEAOe56ZA82RlG+AVKIBlGQnl8AKZgGUYqeRS51AVkBUCUL1TvuVPKtAWPud+5/EAZRvx5b6mkwNQAQHlOQIjAt7mW+YIFdAVPudB5BkA/cdb5wtAjjDRUklT/+eAFmgCQBcAFJoAD7PIFzQC/7FRwTQDW+rCAirxSBe35cbn5+X35UzDn+YcEeFCAgG75fHA1EJoAaMAkcLgAzHBGQPxg+jSQQBYF5TEgPMeorvn/+e0AgQDBMXkANgWtACjCVMn/+R75x0mued7wNnkjuVh5bZCE4JQF8nkEeWFUJowW+WJQ0kKBBf1OXgU+BX4FlUI8tmwFqnnjArmsFgVCcIAFwAVkTCkFn26XgK0AogAQBVAF1HnR6nf5/bkNwJwgY4AfpmJQLgAsMEoeEflcBTJ5AnkxBWB5bFBZXOA5QnlsUJM4UoYUZpeScUAsnh0FY4gCeUEC3QXEAOB5MMDZBZ55VSbErvhAGsDZiDXuYdITBbJ5mwVTBcx4YRyieQcU+UZKVPsFRITieTx5ufnbBSGQMwUKedvEXdFaeXwA5RYLBWIFSQUuQAz4poBKeY8FXoLqeYf4nZaJBQVpHgWpBd4FOTG+BW0A1RwMOaoFAIXpBSCFc4yD+f1OBQVABT/gl3nmBf/5cIXABYZ5bfkmed7wtXnFebuwpnnhBa/5kQUtkOCFTHB0YmDCJQXtAGUFFQWKBVAFLnmWeeh5LgV0YiIF7AXCBQFYjtC+eQ24/nmf2cTSW4AFecOAYriHoqyFoXleOuF5EuJIhcP5ifko8dF59/n1BRl5U6CG+YV5bfx8AGl5D2ZbgB+gWXmEjDl50PmcoHKFRXna+QO5Rvl4uYoOlXm53G+AVblWDkm5PAD1ea+JiGTNeUjikZDSBfS8B4x2hW153XkH+USwrUntbHN5WXFAEDxglXENeekA43kfNCi6xgClOat52TmMgc6IyGgzNqaJlYGEOdXghAXEBc1AAYgVgSZQXHyEBV/4/bBJhUVOIYB5wAfx/bCtcLDxBZluXF9Z1pAj0lhJI3CdGVuJhUYQ+ZsuwoW3KPqATZ4tueOBaABtngHZphJekOZIA5azNrAsLvlEuIVUw5mj+T8gCjkf8Frxgdicrl/A3C4kSG8QDtEnVKTATECnYOTAl0njcF+Jn4lziZjg2mwNedx5knkHQb152mwm5IqGsur/xhhA6ZCbPGGqR4XNQEwZK3FKvHJgLMKHomQ8e37rBVkonjlNyX64h4U17u98p4U17moACDwLxMVGzphnhaUqsMDVwB4w0aEGkTVAS7rfSIUg5EC08RzxiACeQKkpSkCwRTOg6oUYALl5yXkO8WKG2elvDANZUVzdOoSF2wkwYMQApUCCchUgnnCHgCzxL1TZIAPwdflnufdwiyAFCQTCeEXU8URFE4AVIEUJLPFyBa3S2SFGjBLxH6bmSPHADADzEEu6Ip7pkH1Yq3mYRZykKwksKWE2kEVnCQNADQkIRXBFq/EKRUhF3MgoRZqF6EXICN6gpsEQaT2euFCHohTQP+i01ChOqQlCvJwgn6BAecjQ9fk17q+J1/Ff+JZFM4DphdZF5kWXkv/4fOHEADvxTkXVhbGpg8kViM5FLQX1QJ5FtkXx+P2wNkUuRdAMIUUQaWE53kWaTogQOulGRX4weECVOWXQWTnreeGFvjmRhbrU+3kyEfP0bZBSOeoSbL4mlE5+evSUeC1AREAqYEymKEB5QOfgo1AFRY5+L1w55KQeVHhI3P65NEUXuX6aFOyugFmctyhURQuMWkD8BcHxeSBlII8J4ARlIBUg01k1IOnEbwS8sHFAxIAYyPAAU0UIBMSA9dDzRa7AHnjEgDXQK0XfPmvIYMJvBGgExIBl0Nwkg2CcoH9xDrilQLFK6EZsOX+Fb4WwgIqZS7wWqv+F54yq2fZ+7L71RR74JUWM5iKkZwWkqFuJ04VRhY7AZgmK7EKWiuwVIFrxdn4AoPcpRUUaCgyZH4mGgNNZvLDx0PLsSAkIxQ3RxUbZ+ckJwoVuaRhpLlmd2a/GJuQ6MJUOVUDgReRAvUCyRWoA0InBSoUcQASPBn/xRwkOCacJ+TDwgGcJZUD/guAE//gLoOE47gQKiaY8tMW4iSm+HmAMxa35AFrmIB045MXtwGSEtDBSIB6AMUCsxV7YHab4iXC5SvGXCduojwksBPtFDwkAWttFAjDk8UB8fUWXksB5QQJmCVup5gnAHlBFA0CixZTFnMXMiTTFOIknCY8ZWulMxeVA1CyYBF7YFsXUxXlAPMW2xUzFAsXIid/SwsXSxTwEwUrixcwg5iAkSDLFYRykxbDAFwlUuNwKRKCG7MLASvFPCTBZTglwyqOgGFoUidyJYSnJxZ5AIon8ierFu9pJxYbs3z7pxRGyK/FZxf/SeonVCRqJ5FClxYbsOcXgib5FscUpxeSJ1QnBHDXFKcUgiS3FzImYBJnFtcVqibZgVcU9xe3FjImiiT6ZCaCsyZ+gbHle8C7owoXHEuj8mpQNeVPFaMXbhZyFdYU6xXwFesVXhWJCIfEeCS9USvEPWFrx5rjhKVPE0QkdyMdxVeTjxZ7wowXTxb15jRlJzC5ZFsJvSHjF1cgLjEHxIAAtIGbkIfElgL1Ao7TcxUpFZAlRxd1479iG7A9YYMZLutNZq4U4YKCEQCUpxbFK5FCgxYgAeDCs4KbgMwQ5ZtrJW/g0gN/I2sk9+geWiAB2YNJC38VH4GSE7cD6iRNwB8VygAglGKi4JUlA62B8CV/SJASV0OgAZ0W72tAlK8iayTFAdCUdwI5h2uz1UAHFxCXXCbQwxgRA5lwlhuxhxdywWImoabPFNSJ+hZvBrQVGHq6FKjzHVO6Fj8Vg2LYwQ8ytSfhFgCL62XvAIAkE+W/ahRxoBNp0oRn7IB04GKiLiaVAktnfBes83AoNSEpA01mkJSpYAOlOiVKZeEAdwNDYGkXeOWlFuTkpOSI5B/nZ6Y6WdYmxSlAJR4CFCYeABfEaiTqEdVAGyQDFq2Ai/JTA7CVneThgcUDbMftF2zENSOJWS7pnCS8JSkAr8drsh/gTsL+EZLyb7GdgYex0JULoknYlJaQyQugC7MqAuwlQucf4eECDRO4lfokRhcDw7XFqyWAFNHBUhcAFolz9TjZAdUC4AIEAZgCJMV0lIAVjoKkFFIWVBd0lDtCwhTUQN54jJRglWFQABfCFCdCLJT3AcTGiAPeAYbCLJYCFzQDtADSAzJLD+T0ln26AhXVAwIX+BVNEiyWtAOoFZGCaBaEx9tCLJbYFIO4zORCFQIU2BbgAdgW4AJYw0yVUcHVAgQB1QG8lHyWWMORQ/U49wFYFAKXMcJYwDVAdJWjAogAWQHkANkB4cO0A7QBmAEbRRyX8cF4Fn242QNclFyUgpbsl9olwpQiluyXIpailt+L9Tp/smgB1QLMl+KXwpYilxKWtAM8lCO71AAeev+w4pUkxVgWaAHkAdUCtAExwrQD1ADTe3yVGyM0ACyWwhWYAx4Aspe6SVHDNABSlVKXHJbgAvyXNAJ/g3N4gpb9u/SVKpWjAxHDHgIEArKVKfPeAIO5rgPSl3yXkpfUA8qVkYAs58xDYBIYEywkeJVDxm3luaX7xsvEEwrhQ8vFfxdoKJYBXJNg4LZzmoqVA7/gY7NHxJIDROV14vRTsMNgEo/Gd8fhgE4BHxUw4x0n/2SzgwjlSgJN5nMnOYOvpklSEQNWUqACdTtFEw0KEQENFxvRXIF+FoSWECYgANgnppZ+JNSCGidmEcwktRMYAhTnF0ClF1qX+iRlFyqDz9FlFh3n5OXIEPuEppfRAriUw2PU5ygAWpTd5V3n8djlg8UBmYLywrJJ04IaEGjy0MORQ8SBbqORQ9SDF8d/4TAKFhakZFoXBYBNA9PEsWY1ottlWoOSA4sVeYOSAkCXEgEOo5NDd5A1isaLWXC9U6KhB6ssgX4V8SXmiZ4r82Zc5feF4ULQQmWIgCXyATIXPBdbFogXCeVG5v6lcAP+FYdK8jJ0FIZBvpTViaMDJCa+JVNzfuUZyUrx/pfBlbFA88dBl7YTfuchl+Rn0EGhls5wJNL+lgwXYZeBlQLjsJW4w/GAEZW6a1RkwZZb5T5TqAidFOaDLAGjAq9nwYJBlHCRzxfQkS6BUgKz5mzysZU463mABfEtUfDRxMPykD2BsZWBlD0pcZRA0vGUr4KJAbDnmeVukBZkLyKhlyQnzyOHihuyEwN4qcmXh4pBll5JKZVTcKmWgCdLMxAQxYQplWmXyZTVihcXICaplpJDT+Uf5QPETyADZXzBmQHwAuu4muFupEmWv1FsJPiioQE5lcchLIHeQJQDp7kzQ+MWuZXw0qiUdgLmgxXiLOCeFywAr4AbZLthhZQbIizi7BDlgfPke1Bo8bIzp7vRskiy+fOngqjSLCSvg0jAgPEpYZwlm2XnI6XCFZbYlM0BZZZ5l6Qkv5nce/mWbtjJSqewV2vNFwKif0TtUZqDQhS1lRgBtZXXwCPRweqoAooB/8WzC5WUxTHAkSkXFZQhZxChKWGvxHyBVdAzxSliR8QhZZWWJkk2g7SAO0AfF4la4eqKA/UCwRTNlC2WjZdtli2VbZUpAa/H7ZQpFu2XHZXNlR2U7ZZqYR2UnZbOEV2WHZXtl92UHZedld2XzZWdlN2VPZe9l12Xw2E9luwndpN+cyKxbAAWuHabLQI8Ey/h8WvJwtmVM0MJlLMID8ACkbwRpQJwwbQRVdLYlmaBygEIsqOUMAGIY37qtSdwAdPGwgLQA8AklvJJA6Kj4aWGgFgmgPK1lOrnlwJw2AbAQ3jq5Ntnw8ZhFC1nZxAeMtcIgPGllrK7pJe6ARQmC+XFloew6zF1lOrkCZY/AkmVBZexl6WDmIGyoAPnh4GsFIkULxMllqmQJNCJ+UcCd0Q9K8ijzQMJl7CW1YLllgmQ65UkJHCTa5U1grulTxGtkAuXiVqHMm4hmoK1ZhISqYNbldfB8Scv4FopbSKLQBSXErOioL2Cm5RAUDyxW5dgUtuWbpZVlTuVvBHg8ruWN5IUlLy5aYO0gu+BThLxl32LsBXwAoqyArHHlZ8iC+alleuV8NHnsQuUM5WagkizZIYh0uXA/cSqWv6WJ5ThgaixQ+BIF8vH93LOo7ekJ5SRIICyAZQ+FmQjcMggFK1m3uSDZ8TLRIPlIGJAGaeMwRCR18CoQ43jt6ZYIbjAFsjlGOWYV+r3lfPLD5YPlkaBpdC+eY+XbxFZcXoLtIJ18k0iYZXwAq+W2LJ1lOeV18Ohl2eXdZR1UM3p7em8EMNjZIIKKGeVUgAJli3pUgAk0QtS7LFPEkTqigJgA9uX35ZxBx+W7LB7s4ZjyALmgoqR2CU/ltVmJktiJ5uWSbAlh+xh7el6Wb+V9SeAVn+VU8eblKL4RJP/l4dTP5WMJ6OWGQKWFjGWgFTFhv+TP5diJoWWgFUVgDuVhRDAVfmAJNDq5SmVv5fDKOjCKMMflDkCEqGlsB+U6uVnlN+WERcusAigyvIwVZqClQBzGCWBw/AS5dwWoaR7Zf3HeKSeo8vQ75Yfl3BVzoGrZD0r05RIVPBUkZWd2KmbiFTq5DIys+Fr5yhVmoKflkBVYAA/lSrxv5V/l8BV/5UrlmMBKZWLlgmSoFUAVGBU/5VgVhwkeZaYVUWWCZHgV6WXDQGblNuUf5aQVI9JuFSQVhBVmFXw0IkAxJe+FDhX8ZUrxj+UC5Ys4Xpaa5T/l14VdgFapGuXVaF5lJSCn5bjabske7mPkQ9Bzxb4VV+XQ5Vrl4uU8APEV+3A9pRoVdfDsJdkVURXOZaUVCRU5AL9gtmUvALruVu5R7pEV73yyFTq5SRX4GHkVMOX7cBioDywS5TTxosLuFdAV+hVwFUOuv+XGLEgVHtT2FXxlVIAWFT5AwBXDFTYVU8T+5T0VThUEFa4VjuXuFfbl5BXrFd/MkxWEwGS8pOUCZZEVlRWlYD0VXbAd0pflNPFtGfkV5RXtFVrl14Ur3iQVj+XIFT0Vr+U6Fe/lJBUGFcMVCBXEAGMVqmQTFXlllhXf5c4VPjopFXRlbIEtQLnkKuVPFecV0WFFFcisnKgnFZ+MLJoZBlGgx6j8YHHlvwXWpsAS4BUOQNsVK+CPCZFlOxX3JUH07FBz0CiVYRxolSy5vwWaxePIDDy67o4AyXAolS+SFJXmhbhlYlAcIMXQl3aDYN8pkkUKoMAue+akqJwVdfCSFfJw0hUJNM0VXBXyFaeph2Sx5YKVfypTuiep9xXilXXwWhXDzA8VehWvFR8VjGVfFT8VJhUnFa3AaBWzFZgVeGw2aYsV5xXLFXhshBWbFd4VZBVeFZQVuJWCZA9K2BRHFZcVHRXXFU6VkRUulTkVbjo3FWUV/qKYWuK573xOlXJgVPF2OXUVCRB1ZXCo5xUvLtUVsWWsruEVqpWHFdEVEBkVFcGV9VD8QKugvGWHOWKUfIl/yD6VRxWBFTsVBxXxFSvgkCXIBP4wKZUmuKKGjpW/5EcVKpUVlXHIMZVBlWJC4eD2lZnlsJWuxmTZtGXkAGkVVHjwkVGV2/iVZRGV2BXp4EcVrsYyFdTlZqAlFR5lo5W0UdOV+3AMAg8s/UA9Fb9gJjz9FeqVmACwFVYVIxWIFcYVHYB/FeYV+pUAlSAVxpW2FaaVmRVlKGllKxWeFWsV1pXXlcQVdpU9FW8FxKz7FYOVYNgCUnmVogUR0BUEeZXXhQ7QCJXb2siVV6hMlbmVLJVfpXApCQTPRhUVn5UskHOgiagfpqkVYJVRoPcVT+U9FWgVamGMlQ9K55U0FbKVhKjMlfwVrJVswhBVZxWHFdBVNOazlVhVfRU4VZ6cu4UkVY+5EdDguPBVoJUH4EhVkJXjFahViZIJNLRVKxRflWEctBVUgK2VVID4lT0VRJWKhqSVS/nU+eiVBFXUlXTlLJR0lZTCo2a89BJVlJUEVeyV9tBpJFopv0lchb4A0MTMAM6VxoURDnZlxfAswnPkfmXXhW4wMsh2ZV5k1AX5adQOOwCEQEUSQaLduepe+Ln9oMi55g5GZZI2gg5AuJplLgAC5W5Vdg4QZcIFXlXIPDY8b4BwmP5V2lVTHGagzlVbgON5aXa6hRKUdjQ4QJ02b4D3XPRlabFtOsvxYVV+VaFVW4ChZdlQHXG5Vb4A+BV4bBFVgvkxVcVV4dQ5VbqF2BQVVUQVdVVQFUVVgJWsrmVV5uUFVdxEuoXHlfRsrVWfFaKkZVViZXw0ZVWJlZWVTVXuldVoQ1XxFaRVEli6heeVE1Uw5SvgZVVKlbBBKsg1lXcVCVWWVQ5l6ADOlU1VoZXF8BGVi1XsuWVVBzkiuagQTVU6VS4QHpVNVeRIaAD7VU1VjRhbVZdAKwBAfIB5l5Jf+N6oBVrYhfdVEvBWqs9V68UuAG9VPLAV2pOAOJAe7pqwv1VBRQU5pXLSSAQUEwi67laq6kDMuV9Vh64rAAjVwNVPufDVuoVPuTqoW34EFBLwPgA41W+AINXY1XVVINX1sJcQP1AvVf9V7cDeqJ3AnVWEAGWMAHl/VW9VCImo1f759NXYhfK5tABeZa1V9NXp7mDgd1W0yCb+FKlM1dTVLNXqki12qkiAIpOAT7noxU1Vvyg+VS1VctWyVb8oZVUuELLVuoUCWNzVTVXtoCgAWtXrVepxHVXCFKEI/VWIAD5VJtXGGIpkAaLdwAIpYoZuqLz5f6SuUrcQOkB3uRhlztXCBcCsfaAc8LYCDtDqJX+komEkvDY8GmVBVVPl5iWk+R0w5PlwmOTJl6DbqR0w60Vl0FhAfIAj5UzIQIBT5SNKFyWW7ucA6VVr2YUJXZW34XMZzCB+LAxZY/xPpSyIeFA21Y+EBjz8QL7VGJDbIJE6flUi2t85AuXi1UQV5Mm7VfUV+1VpgGy52zBJWG3VCRBjebVlHpWd1eeI3dWz6LVlHDSfoNdVXu7jVUPVUzmFQElYk9VHFfy5G1WyxM6VM9XsuT3Vy9Ug2ajFOxXIuYJlhgCw5YHVS1W71SwVu9XDVf6itBCrVZWVDtCfoFxVHgA8Va+JjVWGtPssGlUDWQuwB3bmgjGR4EQUQPk4lML6gLTVJkivOURCU1Dq4KGwy/iS+S5A3oCikuwlkISSdhcJqoC4JQOocfTiuVmA3qVZgHZgkSXKgIRFFiVB6og1yoAWCRYlDACQJZBobIbQmBqs4LhG+DrgrVoLjN3iu4VlfDdA9poEudlgxVXh1eDS83k6udSUxVWQZWBuR2ycNS1VQ4ScNe1VecklVd1VvDXhZWOgvgBtVdw1Zwlq/BI1nxXFeFnssjWMZYI1ijXWFaVVKjVhFeI1zVV9VZO5AubqNe1VFhXqKD2llVUe1ODVG8Ui2qI1Dep5yew1FNUi1YHJ8BXFeLwQHmWmNVTVgcmhZayujjXy1ckJfDVkhGcJzJLDgB5VflXx0CAAe3COAArVxXh5yTBl6MU2NfwF/jUQZckJAuWONWrVB0FJQME1qnSzBV414TV7cGbVrcCpNZ41l5KsrnnJs9UWwnnJx1UJSKgQndnVdh2uSuxuMMKp1GY4UD9Q1ck3oE01Rwq/cfOZMzaBJcdUH6UaZfE1cZVQCa35JmXeVT014WWrSPyVV4UTlUKVhDIilf5JFJVLVeUWhFVhoEd2MzXjNXKVyConFVTlwuW55bCV1Lm61O90RuV5ZV5O8Hp4VTsVj8XnlW8EmvZbNahVUU7nFUdsClWolSBV+FVgVdam75XnlQJlA1WS5Vzl4WU8FWJVilVHNfHlUHlslWd2WJUn1TegxJVaLGSV/hX3NaS5UlXu5kJh5xWqJW818lUYVfj8DzX/NYupo84eMAuM1cluknySidChMA01wA5QMsySrJJ4tZi1wA7Mkv/4XH5bDEup3BnADonQX/iePsCgGLU/INXJrJL0tRS1FLXNAEy1NLWstcySI/g3PqySnLXUtSy1lLV8tdoKjLVCtUns/LUcfnVQrLV3qoK1+LUUtWOl0rU+wb0RnLXLccZ5+4B2+fIl8cAGKWDxrLUNUKyS5NAdecq5mrV6yNAMNHiteV15npj6gPUAxrXOhda1gpT+wMX6drWxuVHmZqCVCE/ZU3mpGYEVWlCUeX3hqdUbYNJl1Fj/Oew1IZAF1XGoLrXBEZ61h/m8lesQFTWk4O5ogdF/pBRGOGAYNVg1P/KHEUXV0MB+2S+lSbXcBZHIM3rpUC5an6U5BTTp0dVadHj68zVECEhVuZVSVdLF0MAqOCy52WD9OrSVDGUIwAI8slVttSzCwgQ+gFx5w6AFoBOivbVT5V+F+TSD5TegpUUdni+SE7WKOPd5E7WlclwAIbVmoJwgE7W54Iu1dfD5uqt2wcWrtVFV67Wn+FEAasVbtQu1O7Xv1HOATUDrReumIcVsNclZbmhjehe127U6uaLU3BCjROum52y7qcQJR7UPtRHmr7XrEB+1yVkR5pgJ+mWxORO1v7Xrtf+1dmC/CZAJ37W8IFe1oHUi4HhgvWiAdVB1sswCPOy5asV9tZgkRzlTRTTpRTX4lT+EUHXvtTB1zLRBAiB1J7WrkKsFa7WkdU1AaiUTtQR1FHV54KuQmpT/IrupJHX0dVR16QmUiZB1HjCEdZuIYOQwWInVs+Xj0iPl0HWRNZeSwnXthEoWXHVxVRL2bhrEJNugC2wKgBO1YRyKdVB1SnW7qap16xDqdcGFQ7VFNWh1iwlZlVh1wGjD1YVAuHXrpkx16xA9pX21rlV8dJkx5LD/ACwwl7X5VWBuMUAsMGSEoIRkhO/4YLDY6Xp1J1UGdSh12zD4lbOofnXGdYBaxdA19EF1S3Cb+GoARCVRueh1K+D8QJ51lxEsACL52/gsAGHsW/jQddHVWEBkgOsQ5OAxdWaVLkDZdThlI+VhJWJpu6mBJdiJA+Vcog9KlXWQQCB47oALbEO1L6BOoNx1lhBNQCycVEVxkfN5hTilQOE4ESUqLC11p7XJomzx4eIWjCJ1vlWsrv/gLHV7tQaC4eI4YKSZ/HUHgJGgC3XqUt01onWJ4O2Eh+xkyUYQ/kkddVTcYnU1YqN1ATXuNVykNHXICSx1rXVpgEe1hTjRYVd1TjDgTFN1vHWrBVTcc3VeljV16cSCdS+e63VxNWt14eKbdUh50HVSdZCAQ7V0dRd1aiW3ddJ1GXX9tWOADDCKOpZ1I6AMMPvADDCNdVD1jCbcdW5ohwC7dZliLAXXySS8lLyrdeN1aqn3tclZ03VPde2EL3WqlW91S3WjtYeoX3WDNT91VNx/ddvEZeAWWJj1NWL7dUC4Q7VjdQk1udAnJFO64PmA9S8AQglo9ZKwJuT7RWd1wvVaTCfFtJ7g9ZCAFSCiXBO1czB7FVxA/HgPdUa0/XXPdfN11PWDlh91NPX49ez1xzid2f91/GAlvNu10AIyddHVU1iw9bJ1Y4BTWPvAU1jI9f2gqPV0ddPwBDSLnmY8VVLY9bT1yDx49Vz1vskyUtx1JPXq9WT1mvWU9Tr1K3Vjdfr1+a6G9Uz1O3Xu9eJ1XvW2yD71R3UONTz1jgZ89WY8AvVC9c71XfjBCHJgYvVQCSx1LvXBCFL1bYJddXd1A0Dy9bupivXPlcr1Z2AB9Y91QfU1YuT1YfXvdct1kfXu7lBlCfVsqNH1ELUr7M3I1vXHYFb10dWDjM115bXHYP31dHXTdaZyymVxQDhgXfU+VQLlNlD+SV31U0Arlfj1i/UuQKd1QSVa9VB1y3UAdZB1RXVjtZD1VnVKVHD126ASBatgXfUcKNM1tbWPNQpgrbUZVS+Bv4SFpBSVJeV6jGVIUXWwqMo5fwRbKXIIUaDSxY21Y/XzBKHIAhXENf/1IzUgWiW19AXjApf1spVrOmy0Z/WYAHTE0+BWujlm6HVZlbWB7VDCFbkJozVLNRs1dfD8QKKVeA275Z9IHVZVtTf4LPhveGfVJSCmYJBAjFXdlYhVEJW7lfuVfDQwlVRVyLU7FYowv6m3NcBVzjSgVai1mJW7hcC1MpKiVbc15JWQtX81iwXSVe8qclUMlUBVvfXbFZINTwVswqt2sbK7qStx38joDSdVmA262fOZIhV3xTjFjxXKTGIVspW/YJWaopWwlWYNczWKFTKVS1WqFVQNVxX+ooqVyzV1lXC1bPmJqO9A7sX9lR8p4JxHZXOJqYCpQH4NDPGNyu9A/UCrhW71JxUGiso837ohDUENAQ2+DWENwQ2BDYkN8Q3pxHENOsDJDUpA/g0ZDQkNWQ1JDbkN2Q2xDSkNKix7CbGl1A05ANZgO/hm2Q9JP5UmuKolszUJlY4NNA2wlUGC9ZWJFW3QaIX0DT2V4JX9bm0NsUCFFThVnpW+larkazV9DTCKtQ1ODQqAdA251YwNRwrMDc8V45X4DXCVHA15Zdcg3A1Itb81GJWAtUINxtUgtaIN4LVKVfwNUg0wtTJVmdW/KHINPzUSDRiVqg3/2esQK3GXdUZ1NSBYEDsA6g1FGJ8c9zk/9Tkik3UD9QOEq6BkNDmVOSLEOc40BFX99WlVXbUa4GTQ+8A5Zh8N3qiKhl0NiKATOZykYbDKUItpudWoGWrVzGUadbHOL5LfyJTCVEEt1dT5AjzLNf31s1UydQi1pmBcAMC174rM9QoNUA3KDQl6D/Vr2d5gv4TxwJW1adVcAHCYv2CvOfR2aA2p1T8ib7XICct1u/Va9fv1xATCjTV1+GAQdWKNZnWH9ZkA8HUHhgf1W/XYiU7VJHlGjBO1rtWqjaKNQHW7qRqNnwXgdYh1Mo26jWp5iSUKjWKNCoCFdXv1ko2ldesQ5XVCjdt1GJFT5aC5/fXhVXs4w7V5dVTcadVCmJG1dU6wNMsJbml21T613gBx1T8El6U95S+gVoyPjmy0DDAojbCAU1gxjTvigLl9YTvijdwkNbC1ZXzCsulCbIZjleumt8zejfyQnfkF+fIlt8X3xTowOHin+Rf5L1QWKIm1feHRbIO1hRwjibYVNdXDtfSoqUDwgMIE4rnW9VJyspXRbNkgq6Aqclr1Q+Vt9SGQWEAWOLDAU+WmYNwAbwQbiG41hPX8YIRC4UYEjYZGQRX8VS2Qe9UH1WONVI0aPNE1G8XTjQk10HVAZQvEjoWDwC8usZXhNbuNBTV7Bb888SDnjQ41gWUCFanlVAU5dVPEsmQ4ZXXlGizwZdQF9xX4BSGQUuAzSbKVp+WXYPqp55XlOThVyvbKPBuIUBXOKYMVOym9VaMV043IFZ5wh5UzFTBNRpUZZc4oOBXrQLuNKxU7KTblEE2vFXKAOE2O5XhNG5V+YNEcXbAR5ZpOJYDXNX06spU7oL+N6SJLjZwNymlLVWON5I2MTZJlxE04lfOWyzVjjUfVq43lDX3Bc5VX1WONt9WBwHYU9xWPjSkwhbVUuUjidI13uTdA040sNWTQDXmdeaa1FQDFjIAgp7CqTcIYWwAmlJAAmLi3wOggjADgIGoA/z7x2FqEVqXNJelFrSWpOfgU0+Ss3E1VEeZlVYLSctYa1YbViLmDdXVVF3V61YoUAsh6+Yl5OfWXEP5NW4DTdarVuyBZnHhA0NilPE0lG3k46N4l8aU3xasJwC7Yxcf5FcTljRzlbHh9gJsMJgAgwP9CGMoebExCzQC2uvU8L6VW5Y+NBe7STXyZ91Tj0nXlAA0uZUIFAnkGpLDQoGUppQgl5oACZSpVSyCZJXJNgwW8sGU5t3mbQHY5D3ku2AU1HJa6lLwMUobTjbLc0kZp5deNm4jLwKAiymmCNcFgZdmWAPE0gk3KqDAg8TRdIkOEq03tVc7sRYx6IYGJU6j7TYglKMDKPBVg4DUMQO0gzQB8CWSEBLbtIKySqSAquHdN13BWgI9N9hbpYO5ArsT6BvC28vSTjansWFa2YJyy3uT/ACDAEvRAzZKNiHVqALjgqOUwJX11CWE8mhYgNNWwgHhW3ZLThEAEqM11pKH0A2XldY9g5iDHKHoheFYa4H0ZtXo4AHg5MCTMibc2sUZp9DywRUxMOBPIuvlJauJAvygFgPAAwAByYDSIJ5Q0zYhwkgT0zYaAYOB4zT9xckCjoKtIocKlQAVw100vTdrs903vTXZ1YmntIITNQ4TEzWOgAM1vBCAk7CV4VlaAFwl9NVLNt00yzW9NLgCPTYPAN02vTQ9N8s0EdN9N5eklgH9NRygr+JDNJo1WgJrNTPkk+T8ieuBhJdDN6M0cxVjN+cIYQr11JARQCfjNDEAx7GSEKs3DCfjGCqBCOaaFuxQ1/ptNDmRczY7APM2QYHzNqNQExs+qHCWBzdrNPyIzBNwE/jDPTfrNcuyyzVsAH00SzSlMps0GzebNGPg/cR2Ais0hzRLNzuyw2gOgbRXRzczNBC7sqeTNBgDlAEWgDeCJzUiCbdA+BggMac0MQPbNTs1gzdYQbemoEAglSHnycG7NHYAxQHhWCjSbWbrIKECMzcFgMc2ygXHNt5AnsFLi3c3cZCJNafQpzcZ0Q83fgTegauAHjPxg5OAile0g7uQgwJIApUBJPDNgYM3iVrDNskWeQHMp7QBy7N+66Kh4VqIyahgxQBjKauCAVs9GLAD1zVfNSoBKQCwA883Czewl5OD3zYcAj80Ikg8sL82G7O/Nn80R5T/NFEAnzY7QcC13NprNGwLPzXDNb82igB/NcMpfzfPNNu5/zQAt/wBALc9GH80bAlAtd80PzZrNBC2vzcdgxC1oLR7l5C2/zQglVC2AVihgLwCJJfsgyC0pxXVA7C1wyra6hC31QGItcoDCLZ5Aoi0kLXKAj80b0EuxLkCyLVItCi2vAHglqi2SLfIt2vHA6d+BPC0sLYbssM0aLWotJi1y7BItrC3mLeItSi3fugItyewqLQEwki3WLYotWi1OLVYt0i2diIGoZVbZkWS8n/GMxeVAwRjsJWDgOTTqCYPAMwR6IcDlGHBkhMXkPGXt5T8CiGWIBa+NOQW+gEIJwmBi4A6EYbA7+FtINQ0EVWoY5UDLcAWuPIQQ6H1NO/gIJW1AOykLTRosG4jtVctA8xA7eZXQdaVWTbk5UGItpXt5o4HQ2KDlFTniinU5Z3lQ2B3AsTl7NhzF4opNOSOlBEARsjhAfM2r9julCaj18Qh1kHXmIPXxLDA72lS4W7W9dast2nRRdd6lksU8koKNWy2X8sCcjlURDmn0StWT5Irgk4DhVU1VZkDK3JcAmLnUDq5NBBR2OWVVI+hlVSqNPNWG0sKyYVW1LU1VHYCK1bqFZJC8DGVVWMByXD8t4dR1VXY0sRxNVd8tmNUjVRrV+rRlVRd1B1VrTYhwny1bgJtNgG51VZFA0K0EFCdN3DVXVRitV1WRQGVVlEST5FctgK1XVVi800KpVaUAa8UQ1WzF2IUpfgngvUW2NYwE2IWRQPdVdVWbTRytqK32mgiE/VUW0j8t5kBW1YNgOeDw8QGN2IkYkGZFPeHARuvlztXUBbqN0HlNNkMAOkDfldHNnSlT5a91SdWx8d85HTCt1bTNr4n3XLvV1y2a0H4IgdWEgQDZbdCahJ029VXCsvNNkK2viditscgYra+53K3Mrdfx//h9pTwEerlTqM6tGmjv3BMItK1hRROsVTl5SXyty/HlvI0wzI20gP9c7nwl1dkA4q194Zwg1dWPELXVfy3fOcatu9XArRTxg8B68ZAghahWZbyV78EC8YGNId7Srbnc5iVohd06hIRTDaOg5iBB6kQ1oMClQLL52uk5zYz5v9WoNZg16DUcIPLEAdxkfuHUG0AlomBuMY32MJE6BFTjoOFVgPEu2LUtRuR68dGtJ/gFrYDxdtVElD9QB4x94cD2o63P7D8E+3KTGV6W6Y2qiiip/1xKYKJAVmBqWGrsnTnMpv6NSB4/ULrFLgAerb5KRhCBrbetTLmi+c12Fwm0BPsgxQkbpYbs7/goYIRFrqUjtZFAX60pxXEKv62PCdS4H62xyEBtnkAHlqBtjAQQbYBtdPHfrXE23qhilaUARwqMBM+AyFUOogtY7VXFugUoFPETgPoh8G2lAIhtKcUPhJGgf5WQbUcKFLWbDFhtWug4bb854bCfTefgxQkYrYogsci1LbfifDbnABitmwzcbapc3DXhsGplgikSRWBFKaV94T+qqgU6fi5AFxm/LfI1Q4SybYI1sm32XJsJ400Z4FBB5VXXrX9VwHmybcd1vCBvBLptxXh5NAeNmQiybRQ0CPGH7CNN4TWGbQbIShZyBVmtGm0AreptNm3O2TjJLm2WbVmtsNomPEu6RoxjME3lygBmbSllFm0I2fZtE9DacvXlmk7Gbf5tgW3K5cFtbwxhHMptWLz2bRmtLm0KgIltc4DtIANZLtj2XEiFcm24jDJt2W0OTUhRam1Gai5tCFQlbZlt74q/hE6FVrUQkCAsNW3B8Na10AxRwA1t3gD4ABCQjrUfND35IfmmtY4AM8VhoBY5z8Sm1g/V9oX0uWa1qLytbVzRezCO8UlN7OXMjs+A2U3WEBLQYTDAoLa6xgAZsHr6trU0eGYAGhbHDMjC8OBQUHXspmC4AI+twHl1OVrguci8tWr8wRw3oKySavy34ry1K0hTPjKSNz4dns/E5FAO0Cbo/W7cBGFgFiDVjcm1d0XNTZMF7WxJtbJkxbWgDccStwCNjSmtfc27FknNleSc5Q1Nw41TxNwFarg9TQJ5jWLyeSDZsWat5eT4941fkJUt2UBWYDUtfLlWugjA34F9gKJwp8C2zXJGSIIIZlOEik3jMJTAfc2KOCz4KGA9QF/48vT8YEi8R82tIISoHYxsLUbNcMpkhCYApTZ2daz4zImM7XzyGgQROFMM+UKZwKWYx20qYCQwUAmbDL7Iecg41HplkAljjS8ta4mlmDzQ4cFhHHeMVmD8TWn0h4rylSbZsParjTq5bexEFTsgaIB0lNwc3qh6PM2NlVgC5sQJ+ULudZLFqECYCSaAaXVn4qvN3CCaqBMAYwBKADH5z7DvGL3NNXZYZnvQHKxYgPL5n7wYkmul3CDsFJwU1V5clO2AiVXMAFHtafQx7az4hgDsJYnQLYj2dQnt1UAr+FkRDnlTrcr50421LYXwhaR5ADhgNe3K+c3NTM2EGuJAkTpXsJku8O157YGJTy1DhEsMy3XKaS8tY6Dw7Y8Gu0ILaDDAxu0dQAPN3ObJRVioHO3f+OjNB4SpzXztnKgC7XMpQu0ygCLt7UCPTWoVsPabDPl6uy1QCSjJJsRJ7dHNqe0tXhcUIxSZ7VU1KWrd7ZQN7oAIibQELu1HHK7x5+0ntGnt4e1HHKS4oT737YGohE3uWAAd+bqa7ZSJL5KPBiftmjIuQL7IBmAe7TzQxcggHRx1BmUyRuMYahjOKSPoBu2YWkz1pmDT7fvNvM15POztRG1L7Tztg82r7cuMgu2FzY5gO+3i7QAdtu2ftQbKhsLgHcU8UB3K7bAd6u1TcFrtBmW+yNNACB0k+drtvshbDggd8y1IHYrteu3oHZXpidCjjVPttA19zSTkUMgEHZztRB0MjBCApB3r7S1gFB2i7bvtNB2M8XbtLk1NWrAdQB0KsCAdpXKMHVcyzB0wHcgJau3wHT7tWo067Sgdoh3jGBgdEnVFjDegOB2j7TDoQMzaui/tp+0Q1AvtXO0xTEodeyAcqGQdG+3qHVQd1yqrTTQNTslEFbQdyVneTUStDB0KiRAdJRxmHZ5ArB1WHRwdDVDIHe8YqB1ZHZ48lemYHQ+tLh1dSh4k0R3aHQ+1iK2iIX3NHORlABjIJUCyhF4dkB0C5ihCmpTcqPxAKlaq4DEdBA0uQC2IQB1xHRgAJ40cNL0dg3XmtHbtFR0vxRe5Qx2rkF5l28R+bQrlx3GjHYN1EkyagExCIEwiQCYdCxzaHbrtaB0OHQeMTEKmBWio9UByzUxCER2xQPVAy/lg2AEdVE1rVfDtB5Y4kUDMl+INHdP4ih0r7WrgQ6IHAC2IIR11QBYtWh27DCcd8gBMJWEEnR0ampKw7SC1RaaUr0WPqKsd37q7DHVAQEJFGOsdjR25HR1A9h3vGBJMex3bxAcdex3tICsdAR28zFodzikPtd+YlR3XHX3N7/ikkU70GcZJHU3NU4TEHU06eyCvHeJWHx1qHV8d4i0/HZtZwZUAWkCdj7VhQKCdz0WFRRCd0JBQnWS8MJ1wnf16iR1MHdsd2R0onZ48ux29cNoi7CVYnYcdIEypzXidpR0EnclZRfXk1ahK8O1xCmggQ6jl9OKdr+0+HVC5fh0z9CvtQR2qHZvt2+1i7dcqYdk/BOV1SJ1n7br54e28ddKgoQCRFTntiHB57VIdLI1qnUAdoU1UnXhgA6jGBGOND7VgiA7t3LGD7Uid0h01duwSUSqzqAQddUrPHbztFp3tICEdwu2UHTadQjlvddGdVwKGwj6duB2lREocgwZAzJXtxq12uT/ySO1NYOjtYtwfjaakyS3QDai8hO2CNKxN3DUmAAlAUZ2K7SPtfc04gmUAG2Aw+kCAM6xAgJcdjSrMKQw8I8Ar+HQwLabtQOwlU50mAPDteARs7fPt2eymncvtKZ387Wmdah0ZnRod4u207YatsfHZTdA1HZ4uQNYdu0VvaYQm8O0m6NpGFEClKsv5NXZe2MYANfR1Jiv4DtAF7Y5KR80+LUzoezw1djYEAJaB7evNyWpWwBwk2QA4gJ6dQuKnnTugb53m7cLGNdDGYJOd051vnXOd3UCEHR1WtJ0cYIEdG53kHdudYR2s+P7NGgSJ7fHtp51f+J1OgSVOnWvNrc3Vrq9cQF1MxI6uccgpLn/tFu3OKdeF5XWbDAWdl50NUE+dI51oUSzt1R2KBLUdjELMTc2VRPGtHS5A7R1hMC7gbR0PoNT5KuAr7bMdzUBh0lhAB4zLHX3kRKiHHUbNhx1A1IcdIobHHSbkCp0s+PDtcZ3CxhDo8h0CMMmdJB2pnVhdW+2ZnbvtY517sEtAfU3mIFv4ie2iQCv4DVBvnZkdAFCbTbWtbcAHnUYQrl0znfVQY43IrZBg8dCoiartfl2p7InQb53qRgBQkUCJJXIEXY0krUHqf+It7WvNDcCnsDeQUwCczfhIm83RAHAuLBD0XX3NPe1uyOptpu2IcKwwe2jwtjBNGeBERQBQgG6XYImdq51oXcodFl3pnVZdO53hHZBtooCaAKvxJV1xWCpY/wBTnaxdK/jkUG+d7dAoYNVdRmpx2MYlXV09XZNdcuyeQDnWq00YratN91W8TRgAtS1q/ClmY1C/OXtNYG54QKJwkaCrjYBtRwpx2OtdwV1HCtON2G3v4uddtS1yIYI1aiH/nRRdgG60XSUgYQAZzgxdyCqTXTGdtM26nYOoVV19XbVddl0c8ei8m00NXVioZvrKAIuiy11xAKKAQUJHTRxtyvloFR7N2u0q1n115ZmrIMaIRuzAzW51wfRNXZcdrV1bne1dOF2ttNz5EF0ZsG+dGbCrTRNA810pxfUARuE01b1W9aRRVqIAU0DIXe62Zl10nSodm51WndZd4u1h2Sv4FN3sJRmwZZ28DG/tre01/gVVr11HrjEs9vBgXWgahoA9HV1dk13o5fUMrcCOXc5dEF2vnewlsbL5yqXCDlosnCzdYwns3fjd5p2YXW1d1p277ZTdh4ynzW3Q5iBTnWXtqeyiAEz1I10BXe3QSCVVQEbdB5Y9QBzdqF0E3ebdRN2W3eLt1t0tiLbdW6ioiXgEJ52C3S7dqexq/Ihde+3GrUpAdUCN7bFdGADHZZ5dU6ji3eRdbe32AFLdnM2y3Vs4hZ0K3Shg8M4ETNTdvV2J3SnFeQCLJvDtObjsrFPK5d3aClSoT1053VzNkADoqG6dRzgnUlFQh+ze5PQk8t157WOdWK3cNbfi2124bXtdTgAHXe913Z0nXauNwN3nXYBul10u2Ndd5x0bXdw19118uY9dye0AXSzNVCjszXJg712/7UVdD+3OKZtNtS3MksdNPG1p9Jfd/q3rEGPdu11+re1VU90UbeddCk2p3esQoN1TqGON6K3xNKuNjK2Rmd/duK0dcRvdmIRb3S3Nrd25XUiQq5hF3YPdlu33nTegnF0r7ZlK351m7cWdkABwBjggbwSwiboAU0Uyta7xAwVUubrleS3sbZJN/fQCFU2ddq0tnSTtHXEmAGBpEtBD9IktyO0gZcDtaO2/BTll5U047S+NkDxv9UWMzZ3E7Z6SmIS13VaSzinR4GoOgajZIDUtAq2G+lDdgl3BXXDddc0T3QOgyN1QzajdGc2wgBjdAubloq0AON2f9ThCnN3oXdzdll1B3bad7oDaBezFIgQL4IFWVUAdThmwx1B6+kRe9N2Q3dDdTq2w3TZA5iDVQHXN/ABKQBcWGuB4YPwA5AkqPQZlaN0Bzeo9TPlePVjd2j3yjbo9XKR+3Wbda+083aEdWZ0QXTR4b53GXhGtYu2+TALdTt0BXVTd6T3tILk914W2tfxgkQYK7fed7UqMXfbGJT2SPZGt3Z2xnSfdmM0lPS3dNf6szU1A+90muAnNMD36Xax1RFBQCXr6C51RBCnaQMzv6YN1ht3KaRd1Jt36PS1dAd283R1dZvFyYO0g8N27Td09B00QXcM9q5ABXWs9TUCsTQ3gPPHdPWbxeWqyParkC51OhHiW8LZOPcppP93IgPI9CN1n3UjdiZIo3UE9aj0aPRE9Oj2/YHo9sT3rnfE9Rj183SY9T9LThBY9kQYsnDY9wBDOtQ490j3OPZc9E3BuPQLmiz1khF49Pj2eYH49AT36jao95XUaPeE9Wj2vPXjdkz0YXV89Ft0/PcgQK/gpPewlaT0B4O0gmT1JQoLdOT3bPQ9g+T2PnQeGjT3b3RRdkD0dPZ9dpEIbiE0077S2tZs9PT0L4EXdvWhM6DXQY50XdaM9PL0TPR895l3TPYk9mh2VNBcVsL21XSK93mCrPd09Gz0qvdU9Yu08vXvtnL1B6r3tANlZ3UHtED1TqPHN6V1dzezgPc2dPf/tfc28sEzo5uhTyjRAK+1E8X8gLwQcvfq0OGB4Qqe6zR3avTFAKuAp3U5t/8iGRqp2qV0GvbHNRr1bzSa936BmvXvNbL170MndU02WEHtCRGWFbczcvUnTjXGVKuDSuMppWa3eveJdfx2SXX8dlp6ZveHUvMz44FhAvUlsqC69jjT1DH8dCkgSXaJdUl2aXTpd85X/jA8s+OXidJ5AsM3NABwtXqjoqC9Cle3RzAud1bbYRvxdfz29yiQdrb1xxXjFHpz8vWn1b+p4BEM9w7XGnUmdEr1c3RadlIT4vbM9mC3sJextKo1YZR5s8kbKreUgfyAS0Jqtg+XRnVSddllInYPAy21sqMzgTYCSnZ48WEAebDe928QU7ZIFBTw6yVrw1UAmgB2NI+j6vbsUkLjOuT3+I+gD3Sz4Pp1m8fedZJ2l0PtoY51wmJtZRp2JnQlAOL2GPeu9JN1JQj8EwgRCBMFKPoQxOS7tKo1kXQa9AH0koJzNwH0Wvdcm2B0Bogudf12C6EOoonAzvVzdaCC4oKJwpQlIPc4G1/jfQGcccJTHEliVBD2O2g2dyg2QNHWdICxyTdQFCMDNnTjUrZ00PW+9eW3uaO0AVjQgjS7t/QKVYNodin14BGR5w53OQPeCCTSo7Yw9EtAdTY81hnl9zel1ZxwKgHPNqQZ15bp9Zn2otQk0O72b5baQ1n0Hvbu9Y40qjaCdY42wfbCA7QAnvQeAZ73vvdKdGQ7LbYw9MUC3vU8Al72PvXLcswWDBdCwCTSbSF7VNpDUPbVZTF0slLNFeHXCxbDta2Aj+He1LsXrPEiCvZYGPEiCYvUYyGEcI70fDfxg7QBVepLx5RaZBUx9sTnVHA15PW0+jcZFWA1v1QW1ftWQ7XalEm3HSYL5dPkmNVj8a63P7LV9o22oAGH57rVLCdG1A5YJrQ7V5j39NX7Vw7UcUBWIAB3GVfbt5e4F1XXJk20d+YYFj/lFjUlNChS7xd61Eq2wfM540O0meBqtZ44djf0Cs33dlll9OYoqLChtf8lKFj+94xgT8WQZ5oZgpAZ9NXZGfaCEc319XXa5DdHLff19tvmUJBpNbpTVAG15KgD63vpNcQCGTSOAJk3/PkAE4opiRV45zS22pZlFUNgHecU5MTJLupsOL20cXdWlfJJsfjegW6jvbUNtz8TXbbfi7DAcfmr86XUaBOk5xgDhsjT9D21q/DIEwYVsfjEyijhjoJASYT4NUMzoavxKtU01bYk4UPS1Av28tUL9DLWC/cT9Yv02BOL9rLVS/c/ErLVsfnL9YT55WYr9D53K/WOgZSVq/Wz9zJIgMlWJcoBdDKr9b22J0A1Q922E/RL9vLBpPjKSD20NUJwENz5y/R9tj4pYBA1Q4bLkUPgEeP2m/dwESjjyhLfikgQMMDKSNoSPnSboBrVx2ORQgNUsMGx+aoSc/e4EygRHCnyhsByi/bH9123XbdL9Z11nXcr9N6Dq/Rx+DtAn9mT9Wf0ikiKSnP2c/cySXgTk/UX9ADIl/aT9D22J0EAEFWVxpX6IviU44WWNEkyQYeUAVFYLbd2MuU1Lbd+BEIiCNa8dBe5HHqZg5aLRMKZg9OEdTvLh2aamYKHdNRFc4aZgUVZabRDVMDWLojP9r1XU1TA1J21EQFrgP4z0QAydsJ3ZpSydFmqigHVAi13HVL1JXUDNAAgw1wCdvQNAPcB08UpFzQAqWOBM2SBm+h5sL6JlortF5RaX/aIAM0A3Tth0+8CBADhgogD8QGb6zt3U+c7dMUibrIXFtJr0iqADTcXgAw9itS3d7Mjs4ES44JWkr/2igLjgM0C44H7k9/2lQHLgLkBm+rjgKwYN0Wrge8Bb/Q9YO/2+nix2P3FmAOwll/37/VF1zCCzCfvAZgBOjR2WsfT7joCAzt1FSHgwxPrwHWHdCkhCCQpIFSCtAHv9soZG7Hv9c1nUAwIJVUBH/Wf9p/3n/WoAq2DwRTf9nAWigIIDCgO3/SnFnLVKFZwgonAnbQeMHUBx2LSAGZVaA2oY8OA63Y+KJ22d2SdOJDBx3SQwncAViIdd+s43QB06L5Lj/Uf99QwypF+QSOIVkHr6w/3pcN5gXSJEXkOEkQbeYBmV0Nr0CTwEqoA5Zv/INkCptVU5h2QoYJdgqBDwzjR4cyk3/Y5gnCD81dYQbC03/bSAKQMygDhg8OJg4L7ImgBKQLkDcoBWumRgooAWQCUDooA3/ZHSlyL/AMFKmQNhHPUgQ4RJA85eLfZkhPTdDyxuQB2MdTpIvdLl7CWIIJ5Ad82PCXKJgvV1JWQ07uVeqL0E04UtA2SE8M57wPMMnZqhLV/V8Ob9CvMMYOVjoHkAq+W0gC4DijALoOio4gNzoGrgbAOirGrg8EWlA6z4yd3aBXU6rsQD+fk2VUD8YPwA/EAdTpEGZB0ypMdQQ4TcVvVAMUD+PdcA9QBKQPwASAMAKALmlAMdIKKAAIP8AD5AXI1cpACDosJmACx2+8BuPVnstrUhAwkZYQNfCT1WPzrRAyd5ihVuQCRA8wyT7IEAZIS9aMqA9QDixcQlUExgsOM8fGBcQLsMrkBw3bqBci2/AySDcolABBSDeSUwA9w1evrjPDT913kxTZ4lm3nxTTX9BwDDPmiAx7CN+ZMADj7IvnyK/IAF/o7As6hBoJmgzsDmTNiBHj4lOG7AMoMAIIxA4BolOHM+qoYHFGqDxYhnHM7AQtTbuSgAlzBCrkl4UoNOwNLFzsDJCV3eRoO2g+3ApoNrTTPwDwAskHhu7vEpiOalugQYyE0tsU2NpdyhKP3Vif2I9/GrxRol1wDXpaz5H633pbDMS7pitQPwVLjMkt6Aw/atCg1QXqDNNVmDUf2nXd9t/W4Z/eHBDtDkUMWD+v0vbdi1Dv00/ZWDfKFvzNmD+P35g+HBJYPlg5WDzJKa/Tj9rJKskrfieP3PxPj9bP1s/Z9tn21B/VsOUoZiYDmDtYOjg+OD2YNFg9WlcoAfNJdtkv1HCndtwYWPnd2DlYME/XS1U4Psfp9tdLVDbWWIQHz3cJaEZ2BOQDrge6E/IPdw0QYWmd2kqHSB8Re5960WmbRKQqbXgyQFt4oWmaVgw1CPg+eFvRSHg4hgn5Ct/a8Ae4MXue/FlmWCKdopWlXEJLrVP1X6Vb4A3k3TrbqF0EN3wPhliLmPsF+A61W1FdeFdw3++eZAvaBPVfbVcmBM5fOZMNVbVRBDKEOqaIhw2tXDoHjVAVDVgOKkMy0EIEZq2gqHEcpYfixICe3Aiy22YOCMLeIkwNyVAzXuUD5V2mXthGZlCvmGZd91SKjcQ1FAumVajepVKCltFdlQFtXJauB1Ly6uUjJDyQmUhIRFVPEyQ4IaaDoNUCfJ73Sm1ckJomW6QwdB9a1f+K81ptWCGkkJpkOKZDzxmaC2A0q8SkOXkipDX+XqQ4pkmkPmQ7JDbEA88Xz0cNlmGZ+JDdUETWixIAA08YmSYBALraFE4E2IHNp0rwSp7CPtLHZkLUHqG5LIyQXxuGRw2d0pujnvgy1AMDUAxQa4kUS/YONIrEVxSAPwTgmfiVtIecjixcdUBQllCWJwjQnOYK/G/kMc8XnI21HpxEuFItoamXzgRaU1IIowaUCFFjUABim21drFlPHG9L0VI7VfVY9VmrD+Q/TxBMXOia+t8YCDQ9vMsNXI1aNDvkMTQ61JlPHTXTNDrySg1RNwi0OnwJtAsNUjQxNwvkrZxVp9qkjc1SBGutVErYqVytV9baUVbEQPpaOs9/E6Q25DNmAsMMSA2kOekj5VNJVOQ3JD7g2iQx31xmXKZSnFD0N6Q65D6tUPQ4Iawq2A3KYp8NmuYHhZrmCwuqkZfYnoYLNlvKgamdbksEWpgCzxteThKWIWcNmYAdeVcylr8c2lpUOMJasVXNWRQM3IcBW81WTDCRk0wnjD7QklZbTDc4lRfYLV7CqKMBiA+2C3fQzD9uVokjkArqgjtZzVkaUO5XMpjMP9OrwgiIO0w9NlW44UYFJDKUOdueDSYTbw5jINvyjpQMo8fuUeVUplSTVGzeY1Vl16iT9DvEPbzD5VU0DBNbKGL/H49UplMtWXkkpAL+XUFaLCKnC4YivJW4kViEbJP3ED8BhCq4UIRR5gVanOeEBy0MUeGivJW70MmbdAIkBOwwPwT0noqIsggOBew9+x2OXOQGYZW0gYcAHDnUPfupgAVPFpVUrDZaJRoGK1V9mDYAjgM23WZVhFYNBfVVaqKaWoxV4AFEPB+uBDKwCswsQkZcPhmFhDvvZjwNXD2NXKEZieZmCcA96qgsN61XjDfNX1UN79zqVK8a5cFSCrYEWlItpr8a5S/MNLlR3DkUCMYNhl17qS1UfFBdXDwyAAWvEa7ev9Znhdw5FAjwn7IIvD3MWCw0dl68MYAIxg+JX9QLigzCCHQ7PDOQBfifcVmtWRQISo/Y061cgAXmXxJbVDsobThTfVllW57TZpnNVeZeGlOiXaJcSoVynZIS9g53DiVrYV/MP0w7vDGu20w/vDJEgxQHKAACPoMlblYCMbFfTVtuVdw3Y5nkAEvLvD6KhoIwDZI0CSdrVDnkCLw2vxCEX+Q0nATMNzwxqZSrzcwxhCa/FvBOfDGEIf2PQj4SmcNtQj7bQew0QjwgOLw0zsK8g2leMw8B2NCccMUaDZIUKYHBVfw3FdoobA8PzD2CMdw+gjJMNDzolNecMhbTjFOWAJKLDVRcM02XkVtRWL3b02jcP41WBDD8NFww0muiMBULXDj8C+9vEgJcOzBU3D0EN8ufUgliM1w3BD2AAgPPYjTcO7Vc5lsSDHVETFuwlIcKbFI7Wk1XkQs2VLQ0pYItpQIzIjuCPCA4xFX8N2OR5gX8UIiW6lA0A4ycEjIABJIyMZu8NpKbKGGSOIvfo0S7r4ePiJSSPcI8YDy/hj1rs1qmgNsLNlijCGxc7lirwD8PjlPVnRYd7DItpkI7yMx0ORQO0g8ABuYEVl5Qy7rcOgZ0Np3enEbmAsAKQjGSNIeWK5M/TMqPWkOSPS5rmV/iNlI7BFW8NITCUjZNUr8bBFhKiLIwEjTMVzWVgy60NLI3yo7Kg63d+68gCgudOFOSMNQ8epxKgGuGsjsyMzQE+E+yA7w1IjLy7wCWPWSSN1Q/yooQmqldfDfSMpvsSuz8OJkskjBCOOYc1DnCPkIM+s/9nWaZop2SGmINsjIvrudNLDCuT5w95g47lDzk9B0PU5YFrFjwMD7GnZijiLOeRaYSki2gDg/MXCA4Eld2jm5KC8GOx5QIb11gl4o0zsUiAlZf1ABSAlvE8kznmVWAUgiDDrQ1aqBCNtI7zw9lCmclxAUyklI+yjzUNzWZRVINXso//4QqO0gAUgSfKcZejVKwCbDgjF/UCcNiKjsqMdwEKjSyAhJRp1A+wNBUXk2KMw2Bf05gVao8ySBEC6o19xg12oo1RlreLJQ3CjujkIo9YJJWXIo6ajBEBoo/RA/GCkma0KWARfyH54JKMi/BjsTqDjeMXD/kNKSJ5gxsOrIHSjwB4awAPsTNYso8rDYvr2w/yjKNXfuvsVNLw94Jf1PKPbtvxATsMfmWyjKNW3QMSo621RoPS1caOasJaedEIdlZk4YMK/YLQwnCBOwxL9haMWWGYZWK7Fg07M1aOskrWjxaNoQpmgY6CCZk9BPm3U+QZ5JqNYox6jeqPjeAajg6Mmo2r8jqPfJJcicdInbYTgs5kMKRJFZhnsQCHFm7UiQD2lT4USRYypHjD8QMipIkAnyQME45lyXYssSrwR9buVHMlCQ0C4jpX8Q7OcoKNnowFYn6CpFSVowoW4AP/gpWo3URCAZ6N3xT5t4x0kBZCEnTXsRFgBIVoY7NUGcUgEvIZqFwn8Fjbk5mo0I4bsHZpVQDQj6OVHbPRFXqWc7UBjVUCdWafsJISSWGVEkGMVIIlIPQnNDvI4sd2o7I56FSDZIOhjK8hkhGr8UVhTXWSEbkBJwO/xslgDQIlI2gpZDTBjx1QEbYRFPiODQ0Wl40Orw9RjFaMSBPsg+OUhI8IDLaOKMEWlLDBCoxBMRmoq7UJj/kNmIBrtXG3iY6x+UmMoYDJjeARxCmoAwmMgAApj0G39gMpjs1l3/Vio6mOBBHJjImMa7WJjosISY6pjVUCaKVhAVLhq/DQp/GPxgOZqSKjmY55ADVBuYzpjnkACKTT9pVBAfF2ArCDStWr8FTWfTT9QXYBJMpLKOjDnbAFj2gkuuRe5YRxI4vj9t+LgjDGl+s6RnRFAZcOh0lQju0NFw4bC+sPE1U3SOWNbVfNDXIqiZVjV+NXZY7Wj/yL6Q2bV9xWfQ2xApmA9Qw15qRXojUxlTMTquK+JqRVtte1jXtKpCR+jzmBxtWqjwPBFNaC5nCCRA5SV0X0VcKqV5oVTY3EynIWYxZBASxwdwL1otAQwbVVAHGO/YFv4LEWiwtUJhDIlQHo84O3DQwKjAUM+QKcEkA07Qw9V7KOsMFGsIA3HY7KjXti3Y1Y092MLQ+3AZ2MLNexjlq2EbQu63GMKw5djcNUPY6djihV8YKCj28Q5w2KVZcNSqXPFLhDY1Zd5fo2VJsdUWGlRfbljlcPAqDXDoZWAbtapfZVI1UXDBWN6IxjjSn6pMH2VRNX41ZD+o6Dv+DelYIlNmrWj/kNzKfTxsoYTgMSodtWg+bMFrSNt0G5ggUNSIHVQDoRKQInQJ/EYkSjtLSNp3erddDC2YORQAW3Srb0jHPEi42Ljn/Xs8VR5OiDjeLOcDoSARb1EhEDlpIQc7FCZWX4lCdCQtVmVqoAhCdgpATAZw+YgnjamdT2lUsNXvRQKxuNKIKFd3YArox2e2TTRtX4l8NnI7KOJ8UCPirE53kPeYF7jGaRnHDKSxTldQIwlSKIVIGYZNOMi2kLDc1klZZ2e6cDY4yjjvvZjOC+SsePI4yVjRcMdOEKYc8UVYyYjBOPIgB7DeOPZ4+/DuePS4fzFyMLQ4/HjceOp4yjVab7+SdrAm6MtY0xVQ9C1/VoIusOKZfrDyQmGw4rDjgBwRRkd56M8Q63jm0AGwyEjtJW/KMIDxAmKCWN1ZsMGw53j40PECZgjqcOOAPsD+4X/Y3tD/kPEI0pAT8o+lT4Aq0KrI8vjJ2MCQOEp7sOeYKqjs0OV4wtDIABPSWzC4qNilZdD9MbAqKE1GTXxZRqh96N0ZQiNpqSchWYZRYNBwxnD4ASzEDrZ022HAHZFzjQNY0v8r0N2QwOEgMMHQfVjFkPJamq8iqPQE2xAbwTLLaqVE+M/QwJD2IlgE8DDl5Kp7C2jb0OCGuwl3Xig4/MQvWjpiSZFqUU2pXFN1f0dcXZNjhRAlHVVkk1NVW/1ry0OfZ+NGtWgZXQTsQVeebqFeS2OTQ59QVUmhbr5nSkuVfQqVK1orQcUMX0tSlwTSdW8gwgEYUoaRcKDVBNvMGlIiSnuMPaAZ1gBbYHD2NqfidHD2NqlxVSoFECaTmoW6hMFWDVAVDUGWa0MH1DwoHVpTXE4AEcAykBOCe8AthORsT8gv4Bp9MBIFkBkYLMlAnCWiYJw7HD+BY7Ah609GFoTnkD4GBtx4NRxsLoT5AETKMQYG3FF5ZyFCmBJxbDOecjKWG9IUGbYmJQTHBEDY0X4QRPpE086YEX22SmlxsXJosDFA0CxwNDFtULrhfsAV5TF0C1gzuMI/YGDeTl7lHwAzNBgbuLxRwKjhUXqQdiS7m0T1ADAAOpQaMAwLBhAXNWgFcQQWwnuID0TfRMMgRagcwJxrdZcbCJ4UNBWOBlbQkU421CCAJIgrPk4QZgAQp52hdNgxTh5ah0psNoBolzgqBjCkHiFvgAcCPmgpBILE3s8ggAbE0Ke043mQGos0fmYQ3sTQFC6hXqgjxlvE/NIAlnkwNFgRoz7DI2FDIGnfjPyWAAvXFGGo30qPFYODIGjKbuFAxPkALQAdUAhUeIKb4Cwk0MTeGybifkZCJ7jDQ3ACx6oiEPhIJODEwiTeRB4k0TctACssCMApwDEk6CTrv6mMQtNT9WviW0l6cR4QMyg4xPcAC3wgWQrJbQgvROskyiTzhV2wLfiTRPK0ls5t+LFhkHY9tC/hHKAZdA1E/1ja3n1pS0ld/HP2akZFa2jSoklxAT59YT0YYMibdjF1UOljWlNDf3zbVlN5H2rwwKGfAPidCycdOAFvssg/x0Lum0g8VjZIAaMkAO7g9NZSXXiLYh0vOMgAKaMkspIcEqAJzJxIKC58nTEqCQg5iCbIg6TagA6Y2odWw4GyYcgKkBhk5rDmYAfHkhw0ZOcbLKGBsnegOUgugAxk3GToCy844f4EaWlNgIdJiBKQOXa+GB1OSvxpTbcHdOShZNoBMWTkP6TQBrt5MC1WUWTdmAlk0NAI0CtQJWTGFrVk1ZgpTZBNT0sv4QdQEE1NWD8xQbJX5CDk55gS8MgAHKJ4zykRPOjWpPT4ODS2cTpTfqTzh0m7fyGyyBvcA9YppPCRq06lpOWCTaTLJz2k86TjpMOk1/oHYxBNR6TSyAZqj6T8nR+k9wAAZPWYEGT43ghkzGTYwmZk1GT6ZNJk9NABsms2YmTah06KJ6TaZMZkwbJofDZk+64k0D5k65A7ZOz9U2TNZNlk62TUjCNkyboMFPCA/WTkFOdk6WTrZPlIAhTdTmo4m6TvZOGgP2TbmCfcJ5gw5O8tvzF45OTk0TAn6AMk5RcGWRmCEquKq6zsNCZ04C0U2BOOq71MFDAxGlMk4aAcoCV0FKTWA2FWWQTDaVekAyThD6f4JoAxRZY4DkxdUDSU3VAZGB1QGoxqABrgFCALpiYADJTalPWiXVAh/HSU5/gdUBPqtE5wAC3rW3YulN1QPDa+lOGUwZTHYAhMWRgHYC/7HBAa4A8BD3A3ABJQFHga4ADqOIkWOBDJdJTeQA5MZZTCTGyAJeAOlPHgIG5WOBY4ORwPcBJQMgAqnxJgAOo35SbTsUW0VP8AJeASlOYAMeAcUCtAMNZrcCLkLjgMlNmAJeAvRTaqNwAA6ia3NwANRDSU1jg5fi6ANNFlVMvAHFAcEC2EmuA0lNmAHkAx4Bx2FjEvRTfoGJTLABwQJ/g/G51QJZTl4AtU9DYA1OtAMQAqVOaALkiPVN1UKlTABJMAGJTYCzcAEmA5uxpU9lT0lP3gHQwpyVyU75TogAsMJeAclNY4EZThgBg+HVA7EBKfCExdUAkcFjg7EDSU1dTsgCDMa0AIVNoHM0A7EA5MWYAiRhkYFjgogAmUyFTi5DJoK9Tl4BhipIAX1NY4JDOQyVJgL9TRHgsAHVAHlOIAKp8NRDNAJJTOlOWU2gcLQCI09JT//41EKjTyNOGAJjT//6A05/gclNf7GYAPcCxJAIx8dAJMZ/gPEwtAC9TWODAOJoALQA/4A9T8gD00LpTr1PwAAkxLQA2QIzTOTFkcEMlzpSiAHDTb6IU05DToVOIALsljVNoHAkxFDbJoPeAdUBDJbEktAA9wJ/gP+BwQKIuPcA9wL9TcqV/toYAP+DAAHVAYqVh/muAtriiAHFAlNOA0/eAWOC4AD3AcUAN5iwwMRL6fKOcn1NPMKLTNkBDJQrTogDK0z3AEdiaAC8ARNOaAKIudUB1UL9TWODx0H+26gXQUKLTZgBDJWzTdUCnZv/++nwM08DTYMREeGRwdUDAOGNOOlNY4J/g8GCiAJ9TFkBY4JeACTHNQM0Ai5BDJQOovvjNAD3AYMRY4CTY6gUZ01nTuNMs0z3AuADJoKIAkgDNAD/gQyVtRB4TjzGzUyTY/NPNAJFmyKWf4DbTxNPyU57THYBCcJ/gkgBmAMPToVOyAOyaOTG8Eg9c7tOW00Yq8dBwqvp85tNY4OGysSRwQOPTbUTsmjrTlKUQArvT7NO6UyFTPcD3gJ/gz1NoNgqlYPg2QB2AQ6b6fPUAIVM707IAe9MR2AfT2tO6086UugCn02dTs9OX09fTzQAE3j/gi5DT0xLTZGDoAOp2h9O60/p8w9MtBT3A7QA9wKsQC9Oy02PT51NfAI5I/1NnU2RgQyVJQEHT7EBh/s9T4dOFAEMluAA/4O9T5HBDJS8ACTGnZogAoM4hMboALQDIpaclt1MmainTsT6iAC8A8dBQ03PT87qyU0MlBJRIM9JTOTFtRH3qL1NQ0/PT8DOd06FTNNPcIFxTcoA10HxTug0yk4j9OOhUU6k54eCZqJMTVoCsxHuUPROTE6+qDxP0ZfozYxOTiD4AxXiwmA8TxBB7E7mgUQBo8OYzzFNNgZHQdjMz3EAEkpBMk5yTzjPJya4zJjPuM0s+CyWck5MTWyXBM5YzBsjWM5sTdsDXKnKA9dAqM9NtAlOyk9ZNUGIGMxYzrK70ZcCumQB/sRr+L/FOM5wALFOJLD4zdFMGrgxTIMBFCXkzdEguM4Uz+TMuM+4xDwDsU/mFTCw4w7GiiYA1DtWA5FM5k5/xsYP6SNrtg1AgU1WFDJPw4yyIgeRRADZpeb4IwLjFhb6KAHeNDcCYk0llk0g4k9MzV3gBUF6UoyYYk2xAKdh8+WYeUoZpWV6Ul4CPxdiT1y6KAEuI1uWirunl2r2jJjeg77KyvfszQFPAipFIdchKUVZFJAWYAMkjE5ND9Jwo9CEaEL8onYKV0F8ziKAQXtw9sG5csHt0voCdMm4wN0CowBcMRYxT9m08MMBI4hIFTK0tRUQF93CvM+0j/7TxEyGQ853H+Y4W9FbQtjqTaMLEQAbjbcTI2dk08xDMk8AARTM+GA7QYTPpM8oQEEDZM3bAQuRygBjI8TN7AFJDSTMtLTs15jMMgRkzQ3heghUArRNXndOTCpNuoHqBOKDkgG5geiGcpOtKAzO2TbUTbwyQ5aBQBLOowIuT9Z4t/TlNrwDt/fUM2Vj0s4eovUnRVOsQ+ODA2Qo4v0nrbVUgpVhfOMAAMqRm+lw0hK6JOW5grN3M7BWQP1BobI5FJAUqeFNAoZOA4D4Dx1BplK+F6ZCRyLjA0kqLxvkgzEV5pfWkzJnlINQAq0ggAJ29ndkEQP9ZZIA3oHazAbD0QOBu7ANShm+8JrPtTVsDsOGCfJGgtVnsA15gUjBjoAzVPyAUOBXA7kWH8Re5uXWEuT8gbrPtwPdwuXWDogVl6XCvcGYNH3CKMHuT6l3WwE9Jg5Mxs5M4oZN4A4jAlKgGSGt425NdQP8dGUbmSHuTAu0dQHMpfmAGU4PAY7OBksTyh0Cr8fhgmyOBktv4hsKnVX1spUD9Yia45Rb45XXp+yCSAOBMN52Hs5qU9aRg4EezJQl7wAItbPn8YPjlLwAzQGoAM2CUJenNUjAgwN+BM2AXs2Og9QCigF49KcUYykBzIHOeQB5sFxai+E/N/x0YcK0gFSDgc4bs+OUoqOtQwbMLxNxCV0UkBblNJeP+PUnmoJ28zEhzKcU3oERzi11F+P9WXjOGM+EzkdB6s92VNvnaanQw3FPVpQrEAYOCgxoz6RM4UMWifAA0gDGzYlxDeBpF2mxvBOLOfTVGajGzm7Xks184FyW0cxpF2mC/YJmgb0hnnedjpKg4YJmg1ACO5hhafnHv8Yx0Fwlqc/bmGnOi4OCMh2RtfSAAXDQu026oXDTXsMs2wADEAG5gMbOhXdQA4oomc7DhCrDmgIXYwIwLWJJzDtDSc8sJsnMNsgpzooZKc4elqnPqc70UBnPaczDQIXOac4ZzH2PGc6ZzFpbxwBZzioVswtZzTnM5AEj4same2OoornN0mkyTknPzpZkzmcGchb5zrsb+czDYgXPO4MFzenOhc1pz2nQ6c5FzBnOKFbFzVl5mcwlzVl6Wc8lzNnOJcxlzMNjAAK5zMNhEwN/BRoBygPtobLNPAByz6jNBg6HMPLPUc3yzDLO7RFMTahNSQ5gBbTM2c+QAE5OdM3wDd6U9MwZlfTMUUyKzNdhPM61FJAXvdNu5h6j1Y5IA3gBp4HHI3TYxKSNQoSgD8Kug1EXVs/dwT3MJhS1Aucijg4dhDoNcogjYHUXQTsaicNk/DmNYrcSHxuk8CrotM9hl5UOMJZGDVUNzk2RFc4kRpdwlxAnEubQl80WIHeGwcrM+JUMzo0kIPKMzthXjM/VNUzODGVPEszMbMwjAF+WHM2cz6vjOUKszBzMMAJiTJzME88szfuCoALcz+RmLM8QAJzNE8zszsr2XM+cz+rS3M1cz9zPnAI8zyLNvcwFtwTXvMyeTPdLW4t8zetDbRf8zPzOI7TpAH84K8viGbcSm2Sf5RKoujqzlULOFHVZgc44DThsuTwAdjEmz1Rm6ABdzfozOZZ39lvNXcyUg28SoEIbzr+Nz0AhFIAAMAFLzYOBO88bzPyJKQIvitvNbxVa6LwBgHhbzl3POZd+BhvO9OfGIrK6OwCG6N4yHcyizF7mG89aDGZDfc4DgvUlPcx5FJAVJ8/3wkwCXxTfxBb0Z8zWzWfN5813eVeTFca3SI7ORoAjATEJazZGgfYBMQr3yTODpE/r0LFM/4EmA+uFtJVyRrfNJgKYBbf3Ys4jZxHXx85nz54Wd/adzp2CtxIXzR/ERUeIQOfMp82PzRwqvM/91GvRPAFhAoWODwOSztLNWM7RzjLP7JUxzQ6ijc3DZnLObeZozPiXaMyc8U8Akk7yTejOOM5yTPJPDE8YzmxOmMzfzPRN383hskTP7E7cT9jPIMOYzr/P0bO/zkGV3wB4zvUEUs7/zEAy0ME7AL/P4k3CTzhXv83bABP2381ALqJN/824zgAuBMzywTHMLaAfz43P1Eykz7iCy8JEAvROcAAwAX/gLc5JIY3MCU2aiWEWyw+0zELMEBS8w7rPnhW1AbVG/qiRFZEVBNdSE7sWigOwLxsNsRdwL3H7w5W8EeozO5drJhxRvBFMpbglJqKzEC1kX5BYJ3qVuqP9cJ/MJTQqziNkVQCYTC5OIwHOY/GC3RRYJMbN1pIQ1zIkybRIj3uCEQE/JQLLx8wwLLUB8dC6Ojcl8Wi2cwWCIAIXY3tgTk8gESkAxswbJJEAFIN6larirc84dfkCmSCLCagB04Caj+OXl6V5gSKjl6YjKaXPMkJyg5OBvBK78wZqKgIkLwZLS5SAASXWX4vhgmTjciRAyrzmlPKstDbVKk/kLUcVZc9xEyvXnffkl/YCigB80QTXl6WRFROUgAB1U6Qt2YH+VlQvCAxNwtACyhvULU0AsBBkLFQvtC9wdbQtTQOrODQvdC00LmOBeM/gL5ACEC3CgJAtTRDEzUz4sc7UTYYXkE8hoigs1/U+Fn6MLsCO9eVSlQLoLi4qJJXiMyew1QOO5S8NLIEE1FTWuYAmzFwtmYEE1ZvM+iVKGFLUfNELztcYNIJbDiUJM2Es6XSCwqPllX5AR87MxUqigC47A5SC1WSLaUjAdVEjiIRNpsFw0FIAFKEizkACEBcPz4JUl81yiXOBD80Xz54XZ8/iAufOp86aBC8Q4QigQONTN8yD0nmWoQF/4SnDN87ss1tjGGJztLUBzbXcLbs03DJ3zU2S5ENMLxCXdPOSLTItEC5CEC8Lqsyh4GGnacqgQDIvbcSiTZIud8/0TiAumAQeMc22SxCzl9hYT86iLU/Oj5DPzmItz8zfxRwpIeUGoC1gYC5KTrHPLC8JTqTmiU+JTugCSU2pTslPyUzJASlPHxJieJouiM+xAVtMyUzpTkghmU0L589PoAG3Y5lMuAM6L7tNui2ZT+lPGU2o6Povei1dTl4B1QIuQMVPOi3rTQvkuALLTcEBg+K0AUeDU3mRgcEB1IUjTu1N2Uw5TTlMuU25TqWKeU6clP+C++Cp8YPhY4AkxHYABU3rTwVOhU/UAPcDx0AwAPcCiAD3AH8rHgK3ATACn+ELoLgB5U37TugCAzhksn+BuU8gAvlMUODFTl4DoAEmAx8Sf4N6BcECbThFTrcCtALQASVN1UG2LvRTwAHBAs7jSU7IA84upU82LTADHgK0AuOB5AIEAvS66AJ/gJyBwQKFToM7cAIuQmtzHgIuQv7y8sKhAe4vBiwkx84itwL0uYUjNAFpTNRDzivZTURBiU9Ui2lMQzjFTcEA/4K0AqECpU4l0Lpi4AJgAJ4ucpWJTMVNMAHFTugDRU6f4eYvYANFThgADUwASjYuLkFHgPYv/RFtTmAA1EHkAvvicpVDTqEANU5JT8NqfU03Tzz6f4OAKFkCiAJ/gqECLiEMlogB0MLe6TQBypdaL0lNyUzxMjVOyAGuAcUD8AP+EYM6US0MlFKxSU4gAdUCA0zhYogAz00yEodOUSxxL1ot9JcAAQyWPIbEkwjP3gLEkkkshMaJL0MSGAKFT1ovWUzZATbPz0wQA4RSxJO0AcUAWQOgzndPSM+dT3AC/U4gAMs6XgLwzsgC2uHVA+nx4MyGLUlPWiywwZGBKQLIAQyWw1KxAkdNySznTIktsM33qBksmi9ZTqEAmS5fT38axJPeAVkuy080AtksCMbLTRnEqfIpLJovKS0MlO1RGcWYAOFh0MC5LaBzuS/p8aUt1QEskqkv8AGFLOlMsAJ/gPcBY4HkAT6odgPAAgbnoAEQzkktGcYMxSYBDJXkAyaBg+AoAmLCyU9VLNRAsAG3TH4inJYNL//50MMJwITEfU+dTIVNMsLEk8gAJMW1EiACiABbTNktrS4DTstP505ylNNOyAAIz5HA2U3VALAAySy7T00toHIgArEuIAE1TRNMNBrEkRDOMM9XTEktXSwNLYPjtAHNL8gDkZqxyBJTdS59T9QCrELEGdUAYaC3T0MQySxZAYUtnU1tLFtNB01ZI51OPMc8wCqVDJfIAIM5z01TTo9NrS8fTf9OyAArTt603IqIAHYCLkCpLUjOiANwAD1x601tO/HBg+PTQbQBDJbIAh0vAOAIzgAV1QCHTzQCaS7IAdNMeS55TqEBQ0/eA8dCxJAhFDAD3gKH4sSTM6NZLZgCVS4uQtYsU07tLZVPwy39Tt1Oi0wUA/SUJMZiejQAeU3+2z1PoM7gA4bayAFdTx1Ng+BlLBQCK0/dLx1Nh/lzLZGCA05s0EkusM5eA/MsfU0LLsgDtwBwAYsuBS0c5KUty00Bit1P206xApyVE0156QyUcy+3AsSSgy7ExNlM00JdLDAAQy4VLI1PaGHWLn1MJ0/IACMvz04YA6gUoy5/gQyWyy33qPEufU3DLi5BV01pLxsvEy+Rhi0uLkFQzx0sa8mjLmADLS+xAzzCeU+gALDDpy8jLkgC20zpL0cu/bkTTa4A/S4lLlstMsCDL7cDVS5bLgMs/4PUAFoixJLa4nMsjy9PLBADVS7IALcs9wM9T2bDT0z/gI8ssAE2zDDP6S5xL1lNY4GuA9OT31tFLnEuf4HBAtDM5MbdTyaD5alDTVMup0+tTmMvNAKdTn1Oz0/rLr1N702dT2gAkM7JsFdOlyy4AgNOABZfTFsuyyxOIfksAfJRSZGD6fJs0g0u3U9PTFkBByxwAn1Nmyw0GhUtXS0wAatNZ005LkqBAy3QIsSQvAD5LJossMFKl/AA0M/gr1ouOU8gA20tDJdIABNMv0xWLr1P05Px6HcstADJLq4sx0wHLn1PUcGdLQyXvy5iea0sSS69TwNOaS81LKsvNAGrLOMtrgNnTHCtUM/UAxMuoQJrTRNMei0wAgbmHU/PT7EDESzJThtNXU+Qzb4vx0AQA7cDB06WUSkC44EvLaitqUxzNdDCFhLEk8ACkK2pTeQBeeuJLZGDRCHkAUss1EEIzf7ZwQAwAoVMyS5pLdUCm2BLL3sseU/0lNivSU35LLcuiAMmgsQat0+RwAcs+K+cYhFBeejlLalPKS1lLuRAEACBILEulS8dL89OIK0MlGhAhS9DLicuMM5VLfdM1EMfLMlNGSyZLogDDy/dLgPBSy5HT5MsSS4uQiSsyUzZAogDAAFlL0dCOS6homSvCM7nTQyUBSyQrnEt1QKErt1NmS57LRl5hSz/gn1OVS2nTBABg+OErFkDey5eAQyWXgPDTXKXoMybL+nz/lGHTvdPHS/wr9cvPMIIzUjMiM5/gQIWh0xXTjcv1K4BL0itRK5oAuACXU3wzyNPrK3LT89P8K7oAOysU09XL+0vA0w3LEkteS8IzEkuqfGwzWMuXK6DTlDMVi8TLxAAvAFDTrQBky1pLcUAXwE1LHEs3Ux5Lq1M2S7IAltPt0x/TE9M+057LAjPw08wS1tOIM8gAyKVeSwwr7dO602KlTkt6en/TstPHS+xA5uyxJLBU/HrnUy8r/HCMq2wz7KtGi8wS7EBWQJIzmgAayzxL+nx8M83Tr1MmywLTzUBW1DcrHYBdU2D4RUsei2tObis9wIbTOMuky/lLuOBY4EjTBtOlK0jTbdP3gEmAI05lK1xLRipby6IAdVDWK0Mr8dBEK7TLf7btwDwuN8u++E0AYPgHxFrLzpQJMXKlQyVoK+7TzBL90/tLu1MVy2yrGctvojJL5giIAEwrRNP9S/PTJtNOy5XTsSRWSMvLkgipeJHThysZpt7Y8NOfU+gz78voAIFm9EusQF56Knyeq3XLwYuDMhnLlBb6fKQzDNO7U0ndgNOVq/5Llst4y2grZ1MJ00Azz1OUFpRLIVPiM7gAUYDhy3+2iABGyz1Tvvhq08mgIVM1UxLk4tPzK2HTyAANbBlLo9MkANJTKDP501DTgCCiK2FIDADSUxmraMuS0z9TcatfK+PLBkvvKw6Ln+AK02RgP+CXgE2z0lONABgz9DMsqyRwHYBXU2XL9QD/PkNz720LC9KT4PFH8345utS0MHmZZAsFmZF2FvBVeW+AU1XleUBryACyLh6OvbCpVSyUGghZVVuAGxZiUBoITVVsQDTm7WxJJe3QieCNhUQAsi5BTtt4BMJDgI+EylBAa3RVLJCi9WV2RGvcVSRrGmCsFMBpVg7Y/lsg8iFWDvdcgdDYVQSMEVlTbSCwvAgLNvgQCZRZyVwTYGuXcakAFBXVRNlgTDjCdQCT3GvocNjzCXmhAE3QKnpzAL4AWGsCa/eV1UTX43LIjIjgUNRYaFBcE8RrBlGL+QoNnA6Z2YHQjMbT5FwOGghs2ZkIv85aCFNJCqa5zM5BGGt4SWOeXKFka5aA+oCQ2WhQQsg6a85rCmuea2dcQ3gC5qogWza7jreuDDzyyDZgTHSWCLbtcJLVEtDmjOn+FYRr1Mg+a3n1BmuR5mZr8dmZ2f5rYNm0Q7PoNmvkIOl5JmuGa76gDXkMk4kJz6vTPlgLiTMTc3k5kNAcc+ujs5N1cJMLLNmEQNZzOWA8km7zQWieYONZGSA4YLoLMxnqUl8Z1uz5sx4AdTpWXoJqw2tpc4g04NImgKnYaXOja2cWEtwVo0VISc59axIDDpF04LhQjwtSRnFgUkau0fEg4rNIgGNrTjzwUFw00IAxFdhAnTga4Klzh2tdgG4w7QsvktFUn0icNFZe3Vje8MdrR2tWXidrNMLIrPcuY5Ova12A6xC3a9Egc4iuqHM6BwzuQFaA9ki0guSzGAtxMzqLQlNQYklAouAPhBqTR9l7a97w7unSwFZe0QvkgNWt/LDSUKmzBgAX6VnoMxMw4Wlzz2sSaeZzmOu6AMdFOOv1gHjrg2tLdXsGNWsLY5UmmEXKI8jZJPP082TzjPNk86nllPOoiFzzRzMhkHTgY3PA4FEAX2B/wcV4ySNeYEPjcJLi66MORh5bjWw5Yus9ACs59QvS6zpjc/qBgUSAI0jKHvvAIC3PEsqAtAAXCQOF9uLvAFG6vEiQSExA1dK3wHig/Yzf/rew4zPAAETzdIgmvZsTkeDecKGRX+jdDFVAAMUWCezzguvAxYP1b7EmSOszZh4WSBsCpgEPNAJlsus9ADrrurmh1drparygwOYggUAQLVnlMeva60Ye1a10I5NImJMdZbnrZPPVrZIF43jR65FIcutx61yiCet/8WW55iBjgE4J7Qv3ulrr8uvKHpHlOet864oAadn+66KukeWSLJWZFN5gZQwANN7mVZzrZh5gwqs0HPOQIKs0NhoU3vlpDAA2GjTendkNwDYamJNa8FPr0yyC66c8klT6tP3rlLN7OK5zHNjavUPrc4h765MLaUEs8xTeMMArM0SANN6owKDCGXMc2FDAwX1A6wj5o+uBkuzNHNhE8+1IX3FA6zOg5WFV5HFEmotygIKE5WtqM/UT8pNaCLhJJYXuISlQEyiHoqsL4UChABv+6ECiOczrwzNw8UhERfnAObo4SBvA4u84HrkX2U65JKABNOHeOBsv5bnA/oCEG0oApBv4G0Vr23GhAGpQuEj9betIlBsbUK44DBsvULbUHrnoG7QbIjmhUKoemzmpsEwbZYAsG+wbow6OAKmwXBsm0vST23FIAOuuI32kE3alhIXdDAWFg4DoYOydx7Pa6VwNIqTGLJUTnYj9MHETr6iniQcZ0JC/zgjZzO0HDJZr+BiGgWnJywljc5D+hKhX8NpyPnP+SWM4nKiOG/Ap7hvzEPAbv4CQKGjA5RAAs1Hu35jLCT/hWLZZwNXS/zDa3vNod6gW0B2AKuh3qHpQIUB6KEjoFrDB2DwbUoBTgL4bn2owgEIbBCAcKYnJLjPWG3wpSFA3UMmFPdSoeBbwohsCG0ztpVTPpd6o3tjdg/FDbqDY/pUb4ht1GWG1p131G9+rC1gMgSvr4AsMgRPrfRvUc1VcARu92Ksu7win6RlrChsk2XWRzjTjM8zjXv6klEzGgzwXaaIpWjqWG6dIzkHeG8vdWuhZMwHunOhfMLYAyBu5oIAI2RvhifVoRhvgiGmBkxv8U+k6JRtZhbGFYYDEG5zopBudhZaqFcDuIGMTLjEOklwAbTne2e9ZtYiOEjMdQHxx1umeED7/gMAA0BDIG4Hqf8CoCxALXxtnxb+YcNBk5OxrsanN47a5Qkp4QOQ2kEhUQx3Sv4GNMyTAdhsQ8aUb2YWTIM0b/ButG3GGeRuNgb4zhRuKKU5rQHxPG/NkpBt1G92D6SmxbPFs7iBxQIb+vEDKCM01bP1ZXBUb5Jur2HUZEJV1g+i1ExvrG6ullxR06MibeOwFKJKbr5GY0DKbCNAvUL+B2iCcNtKb2NC4SGqb2iASm8sJ64VOG5lr0aIXadIbvBulMP0T2AAHG9VqKBtTG8MzhOAGBtEpRwKfbQK0lsRtbJybhv53aDJGgpu4SCx5zptKqAcUyu0RsjqsaYAa7WT9wZtosZ5AVgQOqAGbAh29M1acXAueQO4E0Zt9oKKAdVAeY1/28ZtvYwhEW/bxm7NZKu1jjelQohsseUpOY5LUlDywz9IfaTpQqh4sec01zpvbIJtIKcjSzHF4DZt5yFTUQfThm9NAFHnEBK2gDZtbDm2NknoNmwjFTsU9mwGbaZtWjPrd3Kwpm29jXZsDmwGbs1mcxgFYf3NF+BfFnfMdkroAVpsWm5HQlACUUg/wZxsxgBcbyYHXG7rZRLib8eUb7ZQtG8KbFwzwOa6zqh7fSRa0wX6NgIAaqAAQm6CAKNSwm8AAA6j8AMAA8dBFi4gAuAB1IbQA2FTSU4EANRBXU0skalPHS01LYtOnJWpTCTF1QMGLojNzK5SlsFtqU98UgrjSU6VTMlNwWxhbYf5rqzBbWFvjq7LTfyX4W/OrojNDK1hbOYtlUzJT4jNYWx+bqlOaq+dTfVPeU0xbP8veU01LklNNS5eA94A9wCWLjUv+U+UF1dNNAIvLVyUJMTZA71MsMBZAJHB5AJeAAqu7Jd7TKKVkYC8AA/h3K8gA3VMQS4eL0Ksfi7gALDCzU/IAO1M1vHwQdFtQ0zZTFdNY4BjTnFuES7kiLUsoVFilWOhmS3Y09lsVwDW8TlsOW85bjlvuW25bnluuW95bLlu+Wx5bDlvAACwwsjPHS1DTZ1M2UxxL80vNS3KlLgDAADkxTUtUW+RbiVsxW9CryFvGi4lbiVsfm2urclOES41ToVMpW9JTmgDAADZAE4hxWw9TRqvpW+UrntjHS0IzUlNmW2GKJVt1QEiroVsVW7vLVVvoM81LCTGBALbTMVuxW41b20vlWy1bZGBtW0IzRNO/Jd1bDVvsW81bLVsxS8NbUNNxW/wALDD1W71bk1sDWxVbQ1txQNVbc1vAWywwBIITiEhbHYB7U2dTJFtQ0zrTy1v9W9NbhkuzWx1bY1sN5hNb51sXW2pT61ubWx5TnVssMLdbZ1tyMw9bj1tXW1JTXVvvW3BA6q0zsEXckShkm7hIVRtxKTmDQLnbM3K5guupyUUbTRBbNo85Zh6nKeMzm1lE86cpRPNcjHjsjjM2LoabHbDabGqbmxu7sNibe5sQgDqbuJu428ALGAsQ6CAb76uVa94bOGul1YcJ5jNB2EgA9j6+QEibKpsom3GtVuWbSCzjVBI+nof842Bq9cLbyADg20mlDJvs6CQbhxuiBn2t2zOmQLDbrU3sm26b7wBcmxkoKvNmQDSA9MitSPYwGtuOworsm0BZcaIb0hxRAODbUf0XlCkmFxlrMEWbBwXNNXLblmAK26Ku9ZsgrB+m4zNuyejb6qOz0qLrYtsUm1/eCrB16AgpptsUmx+0nulAfKhCVpxYEPbwMZBFeZ/VXGusrkCTfe6gk1MG12DOYKYT5gDVmwcFr3PTHtrB+R4AQxeUpPPy2wszitvPxT8gjJsoRTLbnKCV6HMzlegc80nBEWwcm6rbKWqknh/OWtsh6LYAutvAs+VC4SALYBnbRIQ3QE01Apvnm0KbzxnqAHqbnIWam7KbO12Xm4T0O7RjVBdp61AT21zbV5QQPs0w1SBIi2kpGosUs6zbkChwCxgLI3MpRTLDKgs6MPibJsAtpEK8Owu6zZBgugu+8VCLUIAwkDwEQQQ+4UuIeFC32zxgReuJs1ZeFIDKAPFAAUOnYt6okeVuYNv4p2C9c0lAhsOrc8SuexIpMHlATAAc4xdrbjBLujA75oBkU6bZ6uAwO80gsMP4xcsFP1CVs14ACIuOklQLbOs/cZ5wnKQgO2F+Q7M/cZ0jpDtYrgOgk/mDYCN54kWSds5ghDu6k1KLzf1ZTe1AqhqVDpYJQu37kyAsXTo5YMGaWwmbrMtAIACrhSAAaYBvY/iG+yFVICVlX5BpgAjFoXCpm3KAxpMbkxUgUbNkRSwAPkAgAG0g7vM3iMgAIAAdjDA7Y/ISVMGSKaWDPN5AElSpIKLCzpPHVLeTnKjtC2oYbmAkSC+S+bjThEI76KiaO6GTaYCzWUsgndlEIBGbN8GbDso7hEB4MKrma5PEqGOA7SM6OyAAejsGO9IwIADGO9iYSHBmOz5lm6zLcZULGCPeQEzYkC2cqHY7iMDsJZxT0y3AQ+Mpg2N0Cw5FTbMXuRoloOXYO4Q4eDu3C3jJKaVSGLNA9sOI2Y3J2do6jSlN5lVrIZjz8aUsAIozYT6vqzcb76v1mZMgM+jY/m85gzPgk5TCQoqlkGjAN4Xb6M05DSgW8ORlLbkLWGYkTvDg1AsY8JH0SZxJY6DGWYxJUp42GaAYBzvjPJ2IAWmTO9KTc6DpOjM7WTNicDM2KLBUTc2eYNDNntgVBVFh2687UBvrO/6Qh4Cb20xzJua023UTbHOTc20TNKBi4FFFrROpM2zbMVSoC8iAgG5dE5C7kCgR2AQAeNXeAH8A1TlXEyV+DxMDkCfb7YAM61pZv3l/C7ByCXpEuR7EdqV+cNOw/YADeS/5vgDXOcZV0/PmCq2IvwuhNaWpNp4iEwPk4hCtcWxEN9Wcu92x7zAYi9KIdVVy0HsTjLvT86EA3+yjoL218osXua9z93Afc1mDX3Nj82oAKiRCwnR5MXmCAItCqrv3+XsTJusxKEcA29vwaAqoKXFKAO8AqxNEkPigexPSqKheNWnjhXCZ+C720cxMqhnPEw8TxgP/E3hJeqA5G30A0/PWExNAd5CSsEVgGtVg+S7YDxNIkyFNTrubE/sA73x2My4A2ClDgEplbmiEFVG7rMSxu767oUCEFdG72vl4QK67UBuPo8Ub7oBMu7MFLLvv1a9ZioslaPLQxhuk4LUFDHnqu+qpmrv9uXsTGruhuxuVLxO1klSb6UgRCF75VUB6u76wbNt4oDOwUwAYfjYznYDIoLa7cIQOcE5wjgAjkEcAjrDwoFkbVICpAPbRcdJea0gUort6yGW7lxvocHkb3XAhsasActDeu08ZdRm/zjG1thW7uzy7LPHM49c5QbubE+98hZDv8xG7Lu2Ju5s8QrsPEyzxMJT5tLoAqdPYAJ/As7AffF6oO7sAC9gAQASwu85+9xOP82kmcNt0mwjbrvFPu5sT7hnqmz48IcnrSQqbCaBs9NiFctClu4W7mbumUZF0MLtriCitO4y+URG6cYCKvtzb33n8uw65IQWKi8nzwJt6AB+7imrfu5hsLyl42OBYOzCaXgWz5IDAAMRW+G1eu7PzGPnce8qL69ue8P7zIiTHSWobNbuUe7Pzs+jfIAdrU4Bse9jryXPEVqh7SovSiJh7BHtegu3NTeN+uCG77LsAIER7QigGkNwchvN7E8pYpTtJ86e7DGCAQNB7+OXhRBVJ77tucF+7GZC8Lm4IhvMBM0B7j6gcjSYzYHtC+Ibz5grGe+jJ0GLKi11colzJ88qF7LvJ85c8LJCBe2O+jEk2e7R79nvUAHY+bghMe7RYqN4Xvl6OCv7eMjsA7wgU0PS7qrIhRDF7dnszqdQAWjG+IIZ7z7vP6nRJmULkwIAjA3kpwBR77Ls+e4RZ+HuNhXLQr+ObfY6b4exKJcqAYNHabMLF3AovLuumaRs1/c0wFLNQuy57uHvUs8X8PRNQuzYQKLtzoSf2Vjhgu+M5bUjsMH871ROw6y0lUGKEPrWL5KVK02YAi5D3gPUAeQAg7pzTuABeBTUQSYBrgMeAl4Ba5CwoHIAKAH3oh759HhIAyaBLVCwAqEAdgC8AkgC44LOiZgTgBFWJA6gTkCsLTOukExGDXm7BwKKAI5DWgXlAEcBRwE7GEKkcNJ1pYvP3cDk1YgkV2uBFBRPDYwUgIvx5pfAAYezO9Gz5hEKHmWXFuCUovQZlRPuG7CT7yy3a7eT7TcXICTQpGSVEJXFUSxPoOH02GEC0np1DlDWznHj7IABEymUKK+ymco3FhCOBPQ1QNPtC++jzvCCC+yrtN0UGA/H0m3EegJL7JPsCJdT7CvvwdYh1U0Q5Zib1ovtqGHhgpo2xOQ5C/Ts4RgC7Swtw6wrkeotY828wYdk2kmGmkPgHMtGF6ID0KG+7sXszqX20Dpt3KDK7F7kjg1b9W6hQMp54/W7Zg2OgvLXBhYH7PLDXbTc+FP3hwd3slYNB/bmDDP39bnS1Av2zolM+UDL0tXyb+P3B+xIdlLUIPVAyNP0iktRtmFo+/YbtUz7RYTwFjvsFe/R7nLsexLSDlLzqSTR7ZfsZkMV7BpCai08p23G8OWC2FeTcsVogS5sgVAb7vFPre8kzNVZ5kBBJ8OplkLzuAtuQGxgUZmHYSUu64/t3EDoZREmWGRA4xNjnrTdgQdEUqfI5+NnPmTPoxe41AKUw//DjhfUwx7B0oHw6ZrslGFXk8Sgm0tMTGsYWKFv7UUWQnD5wTdLQHpb+sklFGPtDT4iSEE7Aaz57WSoZQ/uRmOLIx0VKu+JgkJyrxe8wfcMXCV1AB8VjWOKAaMDKQGCdkMV+MBgjWVQ/e54WugQh/e8QchniGcCAf/vLNnkVPGC/cVZrisQhyal5Wah3+7rUMpnrSMyQMeQogPd7ByzwAE97tAAve2xo3QHBzkBpywlRRCh7mc63e1QHIQA0B3QHDAeqVCGxN/tLey3eoSAKhXygkpB/c/MUDNuRoBwgggdrEKGFPJVZRvjFYGl9BceIMLHhQOZIoHSlxnOFiztRSBsOWaKEWP5Io+X+MBNAwmufidVE6KnJPAuFv0U9NssgIC33DBckzpMU4IYHt0BpO8YH1SBpO5k770CaO/ZIRfj/XAb7yjMH27rUagcTQEOD5DwbDgo7S7rBB0o7KaUG0UbRiwnuUKbRZvtKC5c7CgdLICGxNCkdVQRA9gciJMnDYTyu0ThA70BWw3TgRaXVROkTeut/yKqAPBVzOtVwwxGQQHntQvhbNiTrRZYE69J7H2v0td14l2tAQAOBv9iQHonsv6P1JlsQ5+Vw9pp55ki5B9U4FSBzKQUHz+UDXZyYR8XigAFrF3GSiPneJVEGMCI5HwB57NIgX3GdkL5AkADd/IjAycDGC/jrv4zva/BQ7Qehk/2B3zg9B9AbLcAwNfS63opHxepSFjvzBwjbiweUAMsH0tCrB1KAbMqQAP8AlJA9cXYTfjCioK6IJFiQAMSA5QAgh3igiCBbBxqAAigqILUgLTpiWLDZ56UOkVRJiUjhRG2Qh5kMYDWSEJOYh4kTVtEzQIlIa/E2IAlFLfRHg8OIgWiecO9ZjfwhsZTIOAdHm//jvAjKB2kg4oBZDcpYKmDSIE7AtiXy+1iHiZLSIBSguptEBxGx0iBcU2XOXIcGQHyHpk1FjKVO74iOWqVOpbSFtDKHfLSqZFICuOCKhxE6kaaYnjKH/cYLjObQLXgSllEojMDBGnOAEJsqeZ7qwYCCNnm7DzkmQJQAkGjx1hc2BIvY/vEoMoc1jH+DJUkOoo0IP836IrDQtJAyh2PNLwBQ63KAMiCFOHCIdsBG+4JTcpMFhe5ZAFJw+Ov5bcnwNXGHwGimpr+rFyykwOv7oIBUqRYANf6qRVbIJ7CWztUoakgThQWukh6eg7051AAGKBYARJAprvKg44VUKAYZhYf/hVp44CDOAJPIhCC8DCigxC257pIe/pD0WRoAWe3moJpUuobzmTdp+DkZgv5O/EWjKTM2M/u5/O95EDlNhdCQrJJqDqzo1XGznO98XzsTAG3sx8Ub6AMoCVDo9U7AT/xVgF083ahemAY8xID+yQ8Z67kNQAHZB4eqgFVZygDEgE3pipkXFj+I94d6iaSLniF3h+mwgcA52xwg/bCazhFI5wB+MOXAbcmuGpp4dD3pOpgo32n1DWJCnMZVOy2cWvl6SUfxn0BAxRAHaYDTZfYl//ZMmCFDK/swlHb7V+h5wLzujHQdh1oQee4TAFGsE3A5gHmAXYdFgL9tJcCGPIfb8EFAEN6A9puhKBI9Q+37ub5AqyBYyfqpE9D0a+GdY2ZSyQwS5lgGe/A1JuRbKYrsjVggYH9zTEcK8TpsbtajUEyjN2DbNtF6LPLY+KzRs1AUQGlAVOxEwGoWmnj/+/JwxPGqU5U7tZJMOCZgbrS0kIt7axDEEP4CGH56AIytptHEEHTgCLu6AL0T3bs72+UM3RMczYi70ICBPujCHkdQu4CwRUDvKH5HiLuMrYYQnOXmM1C7pqDZasQQrIwRR4i7Db5hR2+BRYzMR4bguEckm9XgeVBWULFQflAJUHqgNJ5nZPxAX5CZR7lHptBg+MEINaTuIG9uEb3LOAcT5NBLmxeye8BpRw8b4IDFR+uHGQZNB9w0HoBxUPlQEwBuyM4QThDkCCQIke70qAHjcdKoEFEoPQA+HJyyLjG00JHumMRWgFHbeBLigKsTTsAWu6tHsRvkJXrBaGv4QCwZFdvyBzM2WP726p2UImrWmyGYvplI2xUN/UmnM6iI34nzEGDgwFxy83HQTbLAsxYRKJOEkzzwN6Aok2STiACnAKJcKJPUk6cw2UABvuOe34GK4GrgYajjnrRQOLt2oOqm31QLGKQgA4RRa7e6kBh++VuA3BgRSK+Q++DDyCMgp5uTIJE6zsjSh0bISoef3vKHjgBqh6VO9bTkxxqH+EtGyAVA8unp4DOuTodGyFp75ljeh+AgMof0xyxAMkBMx9EZb4DoxzSgModjC8FD33ndOZIpt5DggIC9Aznl1ZW7Gaot3iDAaPkXOcMzqjn71bQg8JvMuRe7M0d80JHuIPly0LIbfW2zcPTxqoD9YhCejQgyxyqBs0dazQbHUay2SONDhvN6x4upjXaLR2xEGLt7O1i7iuBrmxYRTthyQYZ77od3CIKygrv3MHhe+RD0ZU7HuLm6hbu7rkd0QYaA/vq+UTm7b6PSa1Bs+bsyKXV7OywlaBwp/jHEm81HswA2232gmYWVTlnHcIsBudnb7hT9sOeG+/G927vh8fOLW1+HJccXuR54YRzgCxLFmQNv4EubTUdb8cPb4zDN1h3HGUbNnvCAF5upsKZRXv7EgKDHs6gtdm7u7iD9x+MwNeBV2NO7n/4NMUoAfttWLpQufBD4LqUBMzZmx+cTakj2mktIvrZQTS0U21CR4GsTuiV/8VdqO9urRzYzTsArRxh+G0eKe7hekUipACHHFxNsROZVXruRx0B8VwKA4HhNOxPbUE7YR8ds+W3HecDSbXm0vsfCfuHUovp7lKW0dkd/y+9Zlhu6mxBAZEiZFNiFm8fR2y7YVroOKLrUGH5c1arH7XQOkrEHxtEx6KbR6sdg+d0cdkhMeYqLoUd+x6NIXkBSuMy5Qru+x7p0VCcrrcaIAbsxechrAFFxSD7HOxuUJ8vAFUVzEM+C2MVWDhHHOQBs2zRYtJv0h+yz9CKy7qHHCTTIJ2Wg1+l5QO0A4YgZG+ubs7smLLW7DHnY/i8bY9ukE1InT8c+G5rEX8doOBBUbkcVrY0m48cN6N6bL1Dg2/sAE17FeA7OQAiowFbAAf41McewFvPoLiLQU0aGJ8sTC+puR6z52WmyJ6yQa5vWykpUrbtJyWeEx6hq4IEpW1V6oFabyBtEJ1f5u0fWm6DlOMkefbCAHw07FsppFUfXx0dGEIgUJxjAUtv7G6UwRxuqJ6wUoScFG+uo4HviJ4Sb1BkL1nVwPUK+G+abMSfbm0uk2ieNfQcABqREWXnZK7uOABwpb/TGG4Z4kaAYmSFtZaWtJ8WJ0aW7Sd0nNXDJgXhAMcfNe16CXMeYwS1VCiPimUuASBQ7LEHYtdJg0EIn//6qsuc5Ghb9J9SbKcmjJ0TSpKkBJ8VVHYB+uZypxhtVJ+iCEtsbiHQnXCcMJ5gQimtxiBGQ2kBlMJs0MkB6jH0osWSfJxgA2kCz0HgH29giKR2mrMec2wDQwoV6yRJrAdse1fWEjUDCYFQjOHEisCXkiKenSl9Rt3PdNLjzuUgXGYv53tvr25hVQduXm9xMJbne2+Lbknasx4vbONCLnkNIq8xnJ3s8ZGwPMMHHZyc8wIVARdzg1HYzRejS0PSn/mWmPn5WctDzEAJZSlQ7KAcU3Kf6u4nJxXgJ24gLo4nrJ76wtdLoGIgQsyd4SXLQF3UkAHLryHHrC5pVqMdnE6HHqCfwgM0AKUyHEMybbdnKgHgDqHl5drQIgKCTaBbw9utciPhIZdurlBXbxBCg21YnFJsm28gAk8eA8ooJ/0KrAPLHF0fjDUTzlSdAp/f1rzjg29lgmYrpTIanFdvLNv2SrziiAFCrChixp1CrYND12yrbatsLWHrbrdsMyMF9hngfzvApY8f8uO8AgBk2p+ggyiGFQMbOfz5cdSkmottxp0U81tsVx0q83qfUAL6nBPOeFU7bVpzyQvmnlqdkYFlxxadPm+Db41mqHrmHAsSUgN2+kIHIG1nulsBB2ZZ5gbuaJ1GnWzOWYK2nqIjVOR+mKaf/gO6b6tsvR9rboejOKXrbedL8RbPocvAomOjMMJ4/fg8I9GSJEHIF+3HG26LbHqcURgk0jafNpzzri6fTM80186f+p4rbnafuIEWnCUclpxEb5adfuJWnFrRW21WbPpu223MNfqc2lW2nm0jkp27bH6Ye2z0pjnRYe3UVdgBqpxyFb6t0R6b7WqdZGZanQtDEbrSBPyCmcCZAxacfoLmHOccAZw6tFJuQaPu9NaeG23c5xtsTxRSb9n1x3vkZ6d6CWhRAD5B6SWRncWPxhcXHqQAN+UJK9n1zM13rS6eppImo1GdQq5/uXGeh6wunRdtO287bfaA/6IOgfNu/yVacIEW3KOQ8EdsQqBILQePEqOGbGpkJKAGbCPMpx8iA5ifdp3c5NqfEELtC4mdFPIWb9adXNQ3AzGeTSJeA9n3T6wJlDmcuZ5I4yd4sZx5nYsCYkx5giOs+Z4NYguv+ZwANezwNwDRntmegZ0SE9mcMAI5nDcDOZ/kZrmf5GXFnc+ueZ25ng+uBZ+QAQmeTSDYatdunlDMnSGcJR0CT7W3yNYEHpBSGkNkpiad369aeUQAep8Ncoi7dx/gAeqD/5MvxRnFQqwxcDaFNEOk6fHF0la6YNyesqe8nxGQQZMjJg2eFQH8nt4yTp7lqZPMBaQTzn+sw22czBduInkqtczPt6452sme4k1fr7N4BaZtncd6bZzTexUYs885nFzMBaRczW+uONPtnNzOGYiMbG4j+G0rzGacbiHrbLTCgk+9HvwyhqYgLL2dC64gL30e/R29nJJPfZzdA/0c+1IDHkIKUXlSTQOcQrd46hvAmZwWnmYczrrYnTK6dExPeByfXzjSbmk7HJ3sAgsk9ZyqnTessefw0WMWlKQh7NhsGG9+o0OeWp7DnMkDw5xP+vrDO6qnHlTMyQCVnfknYaYTn8NukE6SpMgyeGIOJHyczrqzEueCvOGRn1JTVbMJc175EgLjnA8AyySsb5pDxwGUnNJuBp7m7ueDhZ0mnL2lTaOun6aebp23b2ae7pwUoEIiIG3OnCXrkhtrnDWdg266nUDkkLN7bHqdhp3wbRueXm01n6msYh/rnlueqmybnCaCKJ1AcpmfjezauuEgISCqgzqdiG5ebTqeWJ77nzxkyaYh7thtm593HPzurG4Cn+puMWoCpgcipuR/wRwDELo2A+KD3KZa7vbzWuzgAohumAKQbZrsep/a7zOcQex2wY53s52cqCqCjZ/AA42cPmOYnj9BVkCOMNqfSgIu7X/Vcc6Pr8E3bM5/rOE1nM684cusrOUzAF7sJR6s0K+v7vStnDAAT6/u9HPPTGOcA5etGHtynGevN60qgxoB0h0GnYaCHxgvWldj3Q2HnVuepsJAVhucup9bnHRCMiCc1tWfdx4vHMKcb57vnghv4XFDnFqfuIHtAXbF4kD0ADef7J+u7J3gM6+jnhLAvXthnYUk6DrZYIxMegN1JeNttJ7woTikPSRLnBWeqeyOAd+e9EJk0tf2aVXkT+GvNdSXnZRjl55XnRws+YGw53YUcfk0570DVg2kNJWXmk7mVfEWvqOgh7zDrEJWZK+tm+SPnG+t9DI9HUMBc2VwAt2d20DmzxFCy8wEbUGZgsJVY47nqJ7+AiSdxJ5CzEyeKi0VndgAM5437XNnCwJ3ZnKRv57DHBCCiF5rJfqfJO1wA6NsdDjssEBdPUFAXPgBRoJ3Zl0nviZIXorMJoKSZZm3I2xcZHttbzCabiqdQG2RsrK4kNAQAogAB56GnZWeTScKQeUBK5w3baafN25rbW6ft2w9nndshFGPF5qfmJ8IXXucxALYXrqemTYPbmrXdx1Gg6iCsroPnBevbM/0bG+tj54Lr6fCsrsMbPzNmQmubfhs0F5SwkrDOKQwXwIBd2yHnRXOW7YgXbOe/J9znpOC/Z89nIVFIF1enqh4sVbxVJ+eklFMkDqjX599o3+ewWlIQVecFp4nbgxMTXjtAE6dSRXN0M6c8F6IGQ+c864kXTttK26unlAiN2xunLdseFxrn3hcc27RnHYDG26KbD0oLG4Byg/l1p1Fn5MDNNWMXcRfrZ4oAexIyp8InflagC6OW0GcHF5ZgExe4k5UXBJMhUWONX0dkmBST9xdwkwDHEOdcdZFnL1AsedFgA9swZ2Tz7tuC6/e5SuM+bQLnn+dtF5dmP+f/5wqnplEMgRp7UGL4a5+n3aiNXgyBsJAe61kA53At3m8AAsmFzunAafEAZeghH92n9USXC1h5F1DAPEnQdYtnJEBQ25ZgPxuUF6KuYNDc8xyNgJe+uwrAOkCYk4/FBPMKF8CXbJegGPAAHPOPxdzzJGV+pxp582dLp1LnyOedMR278hCZh7KB3AWd7bseKedqx7SXfUwt6NsgKpfXR8cXxZig54MT/2f7C/71zxfkk2OAFdoR4GUwdnnMFzIM42f99VaX3OdmPLaXXyc6FymHZpdDZ8jabPSxEzonj5nl53Z5K96AqTrgS7ob0Pf1ctCz5xXrkECse0NrZvPZIS8IdVCiO7qXcJP/Z3kl2IUlaGInlhsIF7Fkw2em5w6XGADAhpHbeifKJ/2SFhfFeFYXNhdD25vnIptg8ZHCh/x4QgW5Y/nrsMjouq54oLv78KCQ8TsXPxeGgxeARSfmQKYAR5AU5+WglADdAOo4SeCSoidSNxCeOg6w6ABHAEoAI7vusOSpZecYrW4+7yVowKcrP27QSwJwclN/JYnN8YPpYLng3Jdal3yZsRd0l0cXf8ks41KFPQDQdcGXZeux60YeJxdy0CoX/1BqFw7JA8B8mbapiGe+UQyBWAUYxZc5hpCQQKwo7zDep+fFqXYvKLLnRpvZAKcXvKepcPHbdgA9F3CTCUXOQWYXE/sNwLqHNvyLC5xr1YDX7qoewAC0AM/A1LXL6Vluc6D5GUhXI7WIV3LwNye6F5UY5Bk+iamkaXzEbps0hFdw8S3zDkC0VyRXBocT8CGQ5JcNSAvWHt0OkeQ8DcC2QpNIV97Ohz6J3QERsTWSW6kodd5lPUVI+xe5NCmDRQUgC7p5peNFK8g2xafFCEwJgHFjSFdigNjlC1hgwAa08qdgF42FpOcenqab8aWBAJRznkfOR/q7cAsQC+ZXmFejSHAL5FCck5FH3gDRR1NEidCOV/FHoHBwCw1Q7lfORwFHoxT0tT5XEdggJ1NEavwLe9v7dsBk/ZAnDqKm0fbQ8dDcUyKHrSjuIONZTjAhh4gQjJL+g5yF8hM2m20nsKfiSiyG78iqZy2cObmEhTwgXmjz9EHjKcMXJLDzeROtibK5FOANgLyd4MUvRT4Jj6iaTrhGo6J2WhiAmk7x53WXcpeAXa0AsyUWzinkeoBWsBupGUASQC8A3tjDXjGoEEB0iP/wpZCumPn+oojWieigbDQRaI1XKVDNV8cJ0JClKXV4l9CyQCl+b1ygwPRc4sDzEE95GVekE1lX8iXaYGDFhRngabdXLcCLqRiALVk+6vLOth6aAHNZf4e8OQOAkcgvV5NX407vV59XwAD/hyYsfGYgkDKX7iBSLlMA0QjJRhmuw1e+WHcIhqDkgZkAi1fACDUANkCtAJ/g2QArV8+wQXlXgFKgvAA3LjYQQq7yoFUoavDHLgB78dA5/gkUJ1IWCO0rWQC44DjXV+1PUL9+75XVZdS4OrsJ56KUh1f4oEcAGwe2E3SIFtDqONawnrs4AHQwA6jEri9cI1cBQBCeNq6XFK4nUwCsiBjXWNfMaB2S7gBCKI8A9tFwR3doGiXZJSbkHsOI+4XHR3PnhYsg6Pu+65VXIiTJxZsLthUl9QFtKbmSuabrHVlTV/DXs1d/8PCgC1eOAEtXfQA415DAh1cN51zgki3iwIeZrC2rwyUMQ0WvuTJYEbM8lBCpttedQ5zXdZdO1+xA01fS13NX7tco157XaNfY18eAq1enahagwddxxXtXbmh0gBPU2dcLUiKn+vt4QFuoQgTw/YOAPJArXVDYBAS01Y0m9dfpV4gQVgTZPvYXFYlsBIhTzaUZOG7GNk3m+7ab2QB4UPs5oLx9Q4RtkYODQ6DFQvFJWHzbgx3zoiGRWGDu+yQFL2DqWIGbSjhKWBZjaLIRm4NdizlBO4NdMtIJm0XkjmFpm0nyjmFZm4X9Slh5m+ALm2OT1/kHZEWbpXTgwJ1w4B80R7ggrPEgM7POZetBGMYtVypXiWPKV7SeL5I/19tXtJ4V2sA3dMVtwMMJ2BeeQKwgKBUpxUWlQ4NKWLVZ8DcBO0g3FPtDzmg3KDd8oZg3bYYqJDg30GElZfg3bmOkpHA3uDdbDnYLa5OHs/qqpDdsLW29bWJ2kTgnUUg0VNvE4Vh584X001kGYLAoNDcINyQ3yDeEI6g33DcYN4I34mBF+HGo/pdlOwnzJAW9LUB8uYXSV/inIOFSuyQFIwX58w0lCdiNLShXrS19152eV1c+c39RKwLW5IAHPVdgoH1X4kB0ACdSqoMx+RagHKyhyDWSRjeyl63dZjd9ahY3w31WN+6AVYl2WBGb8dfGNw43WFdONz0AfEjqua43BTmEHBNwWw5eN/Y3Nf6ON8KICmguN0UYvazW5AjF4TcTxz435jf+NzH5eKCXFDxCTv6WZArXQ2ACPjFA+j6mrrsu6anMU3vRNCBxNzY3aZtJN2brKTd+N7ew6TfysEc4M6kpSYyIVsBTANRw7QAFN+RIRTdIriU3+TNlN0E3XgQeN29j1TcmN/YAUTfON4E3FTceN7NZoze1N9E3ATeC8I03WTctN7k3HTddN8ohxQBogAX+RrClN96D5Te+8YrgkEC4UN6AP61YqAUgkYOLivvXE3BXINvsO9c3NxYth5mQI9UgjzfK7Q83cMqc+xw3c1mJ0CXbRteSN+eF/HhKWAZg7zckN883tzcAo0VgLzfiLUpYAh0gt3L8sAcCnf1lgAdKQAi3v9f9ZbyHqLfbV/1l00BSIJi3FpQwtxEpUMlDzGbrlDM2IRb4djcTx6S3izdWsIc417Cu6JY40st+E+z4xVcFm2nMRdfhzBR+y9fnhS9uS52ra3T8NOImxY4HSliaO2RFtzcB17C3ULd3N/0LkrcS+2C3rzfAt5K3kYZqGPWS2uE2ueoAJozVNw6Ja6lIkMxIlYKoSOHtDnj/8JEVpgDK1ws3CQBIADJA+7CQuDuA+RADF9KgEjfi8/ckY/Nzh50cC3iXlGfz0FLYQCKnPMJBgkLC1TcTN/43LERGTdhuakiMU52pjLdkYNS3WQB5aj2p4swMOeindYlcty1AdTlfow2zM4B4O1wA2IsppZPz0rv4p5XXX+LqN+hnxvsRh5JIcPFetWKzJwcxFSpghIQqJGYhv2vM8XnINbclZXSaGpMCU80ZYLOUV1OEPRkn0KMpE0lYyczx4mA1t4AHbmCfiYO3K/HItw23MoBNt1o7AODFyNO3U2v7xRTlHUd2OUwZTBdbdY3RgJnKE+qLIrMCU3kSE3DiYHWt1bf7t1o7BLzFyIe3jbcTcL8ja/G9ePOjQylKAMmMbCKP2SkHklkP10pAfKGhzIhtJWWcCzTx3H5sRTTx5Dd9t+zjt8E/26O3U7dFpamS7vPjeAjJJ0A5NSGbU7cjw3O3RaX1Q+0jkkYTSWOAOTWHmYO3Itrgd1O3oHfVOCAAPiMTSUajojtzt9h3c7efifVD6HgEdzDAFgkm9QPwQQIso9CFB+tKQC2AbclERXe3k4mIbamSGkc3syaj70DZByUgqt0EQB4ZbXMve0w3pLMmgFot+wxiuAsmbEyXlC9g0nfuxELxL5PA6R5pvHPft2+3coCCip+3pKSvt9x+LliIbUODxQdV9ekwHzSBksjZ6TDxIClSX+Ff6AlGEkyLIPYLsgVYQIsgJEAxVp5I98nOWUji4XBygC2QgcOSVGKAdlJXvSprvnd40GoLQtkEILEWkkhLdeW3CaDHReBn49Ua3C/VHHcD8LdFJzcP17p3pCXo5dB3sEF04DGi9EBOqYFDqOzp49cA/UCF0LPpJguoCTr9LrhB6u5YNNlShsYpcxGid1SA7CAeNg0F5ElJdWpu1Jlxd0jiawlIeRWIFxlyYAbjl5RtQDinO/zbxAJFHTm53P8AanOZHRx3iYC4UHlAm8UPs4Y1cTZGSaAH+8VXJHQ9KPtg8Q13vpnSQmNjldtHCsmi7TxHSebxwYlUJKTbzTDyxKTbTGaIEOY41dd9+1yzpBRBOVWJZTkKJ0nuoe5UU5juoOVx7iru5O5IaNU5U4ctTmWFZZA+YA8xTzGIGa8xR55A7qeeYO7nnj8x0O7XnnDud56I7mRgLDGY4QTA2OH4xftXjx4tkBPBbZBy0LWI3ZCE94aeb+DQxzv7lqNNpUJFARxgkT1qMyBMQF+8v6mM2IDgX7w6wvKU/nRVwGz3Ws2s98b8CwRcawOEbMIXGXEZJ8oYgIo18hmJJC5ARaX6SDklhLfkgKrpETLokoZIvIj3M6IUgXCcKFL3DPEpvhwna+LD8KCCdMB3DYzAXIpswMuSE8FQs7zA2SHC/EzCSQiUU9QA52iXENkhn6CCAM4wr4lO9xmq7om+SjXX4YfWTVdX9ED3d5jaLJIxsp73H6sw8aW3UhcY62lz9rPSe/qBg4GhkyLaIABRNmbxQYkLWGuAsYlpwZXcpNv6+w2oBc6kwPsp24feqoF2wWQuWEVYRMKcazrImrBL/HH3BISJ8eF25fcdR99ghICdHGwwXAQzVeX3+TCe2GAA6CUXBwaBYwsskmYEQfeVa/KTAlPfLNiJOySNKBmS+mdbqXFzhdjUuCcLA/CaXi5zMlcdR5ZzlE2MvEBpM+kp6Qjx6/HHt66pl/hu8zv4HTicpG/Fh4iXt1iZJG6hk+UgAOB7OKGTTgnhp5p4hJvvace3yzzFyBTraXOYAGJ3rQfwUOO3uHe1t1Ig9bcr8Y23FHcSk+ajJMCDh+k6L7dyuTmwMZCnfjlESkAp/NB3ThduyEs5lAAEss/8Vet5QEE129UzrpiTxTlm8+sQanORadkBOFC8/Xkslxaz6ZEZA4DBkC5Z8KmOSQPwvXkvt97r9ECqSeQPHHeXauiX9PEFQOQBgoeSIB43GiXo5aIHHfxZmK257sTzyCpgKiTHt8XIbA3pCQYLzih8hRPJcMndNPqA9Tv4D+Tpw/TJ6bWJeEizAKdgPLp1Sa+tvA97wINDhZkz1zrXOnd5LMXIWsDYhxDpy7eKhYAPzWCJkkcT3wzoENxzSiDoEADZJqFWXiu3Ng9wd2JpNUrrPMXITokqYKJgfKGhABbQE/AOWIO3oHdZc3B3Ly41kmTSo/UwgBtJlXFdmU2nZEhClskPfADp8Zd0aQ9uCZ+gjg/YKZkPgvWfoM08maCcNgIthQ+rdj6nTy0p1S4PzTw15RUPANmEhMkPer3Ta6IsVOtKvNUPDQ/VD++KGIDiV/bzkWhHqQxHmHdJWLkPEEy8RSa42HVq8dlIN7MTSUcWeXetQDoPlPE9DzkA6JyHmfTxWQ9zdRGQuliVQwHOviAr3vzFzOnXae638sSd2akA1Ghs9Bdp+hNuybRzNGvNiUq8Jw91D4L1CuOgp/NgCQ9biUkPdw/UAGDgKdXvDzUPG+PfDw0P3w/qKFw0WOvCsB5IqwAzYFRToI8fD++Kow9xyE3x2g9Tl2BjMI8yWGYgoobmaQpjsrliC5qUW0TmWUWlpVh3D/P0PGNJWHcPuOZiuEnOqOvWeVCPklR5zuSPueC98tjl9khOCSzCH6Z06R2JII8vUB8PU8TfD9klGuvvD8EPYugXaSBUFykkD/WkTA/2SZQP2SGR5SsgKUXtt5in+w+WWZeU6JfxMI3Rdw1IKeoTEo8LJvxFifcW8dR+pNvJoGWJElArENMAuffmJBfpoEO5AO/OB4CyR3GAGGizsNDEWAArpcW7A+TKEPAANo8RuD6QS3l8sy6Py8Buj/aPElk4j9CTZfBgwPSA4nzO1vLA80D/RcjAcXnMiJOohQSbiSOe2+DRj7yAcXdgD+ZZDA+qAHqpzA8yD+7EbA9s1RaPgYkRACyQMY8wnpXbog/vt6IPJWVwd4ckxchDznAp8beCKNn3rEglNHYAUAgTMdaP3o92j8mP7oxrd0yXkA/IDwZJEtkbhxgPiwlYD2TzC+lm824wyg8eaYOHsgcTOXy7C1hmQEgPg33jMBxX43cdRy7T0/e+5hAPi4/QDz8aXQxad9N3MZdrc/P3nKDUmQRAMbPjk11zdtfHNDZJSOmbFIRYYoBI6XEql5RJzse3QwUn96aYec5sDypYX5nHt68LJ/fErp+PsJD08SkZVqAsV4mKzo+hj0zQEY84GRl2ERJFj5ygxLljCwaP/1BXsAewsjRMAC2Pzo+ujx2PBZngDxFRWE/tj+6P1mm5kCoZ2/st3sGJC4/YuZQAO49oGYgPVE8dyOiEsA9o3k4X+E/ifNhPRE++8KSp/fIcvbuKjDe54PtAsMDdutn3yADGj07w9/HR+fxIlo974G2Pto8cTymPI0l0DWDJM49PAHOPBwCUT1AP6ITj3gBXaK1DAJZA6ADwT3GPpoBgiE4ALMQGT36PCk/D9AV3dE8xkCgPqOzuDYmAQ4+rrtgPd2hm8z2Ayg/9D7Lu4nzjHqiIxMXuDevpw4/mi1zryeyYyb6A35vXjyNJrEj2SdypI8wITIFlIbA5YOGXhbMHTS5YxK7iO1mz0Dfsh+9ASROAB57YYuDfmxo8ObMZT3aj1Y92D/CPdyiSWBdw5modacdg0jB57GlPozaH7IbDXfcx927z+MWThU1PT2vdB/sArU9jwLmPpZDWAncu80jzk9khDvefQAqPsJBYNOiS2keBj4aHEE+NruGPklTIwKdX9Y+Gj0wAok/+kOJPfU9STwRPsk++j/OZL7egD0hEYE++GCGP80/B2ItPME+iE1nWvICGTx30Q67NBDdP5k9WKQXDQ64qtKYn1k99j0brrzmOT/Ce02dbj/RPKA9hua9PBTrbfROu8gAoD+9P6k+fTxWtP09jropTf08fT0uPabAGZ/BgKA9bqd00u4Usj2KZVEX+SQsZVl6R9wwAvXNa8ed6zJlOCVtI7SP4o6EgntjQd+r4KiQGd/VDQLd5AymSmve0zyVlBneAB64pdOBAj2iEAuYJklO3m9cjLgyDg7eMz+uaTkJGSc5jjGMcd+7FI7dARdm3x2VLIA1g7IfoAJ0HsQAxC1IgrzPHj4cFjmGjWcrPl4/k4JbDnQeWc+TgPqBr/OyH7vOaz/rPGs/Oc2rP2s9zWebPbXOKhZbPhs+Oz8MJAkfZj0BPW0/5j024foy8gFceCE8qJFlPPqB0zzWPQOm0KStPKE8sAOtP+fdmj5JPhwnST16Pu0+dj4WZ/082T+MwMM8BQwFP8M+j6ynPn08zidQAnhr/OYjQb0+vOcLAn6AFz1EQsgAqtASPSk9F7lFF5E/zj72PSM82JeOwR09Bj3NPYY/nT6OAIXv5z3IAFc8GT0YplYWGgOXPiNBmT223dGkYz6ulWM9r6RV31Tk0jw4LrWu1jxNJNUPR/WRFyHcqYDhgE0DiYB1lQ87adxzPsZkdRwcUiikTQI23gc/FC9W30Deiz/l34s9gY8b0VU/ttyEjAUNbqXijCmOhk8TzFnPv9yLaf/eYF0057gcHt7rP1s8geWe3/8+v94qF6gAmz7/Pc1mIACrPLnMc2IHPrvOXj2Avw4Obz3bP0C+coFIwU/c3eWe39s8gL7aAuoHNc2YA35vDCaWckSA5jyFNsc87IN7PRY9+z19xKiTHz3KAgyN8oYMjJWWA4KQvEjXkL2CIlC++z5+A+UYqJEwvQc/Vg0POt8l/3uQgwKkjSUc8CbfXjX2lmGquKfS6nEJb9jSAavyiAPsl+EDKL6MljemAc/clOzAO0HkA9yVCng7QWOArJXFCidB7JYnQ8sSJ0Fql19X3JUmAFyWZQmMloly44B6hy6VRh4qb58JUQ9ulnClPqR5e8httJ+9paUMQTB+YG8hbwwKVkRXBwPSJooCQACOQxACQ+wYoxgBzWeooJoDv5syeywDKAPgAYf5QgLxoMNBvlYWkpRWhL46SQGJvUD/g8AD1ANwAA0s0003AgQCoQEmAuOBwQCMusjh08SbkwRNgwDY89FypL38wGUa/QBqhiS/OmI/AKS8JSG0vGS+oNJ1XOS+3h2KAbVnbDl1ZA6hzWcoAI5DUABMv6s4cIBMCYy/EgDMvcy8JI/PIN/2tWXDKDYaQ5pMvA0DEgPEvi2v6BvUvcmCNL4zAy/H0XAAABr9AzPTpzjg7mQitL+kvHS+mgBcvrRCB5N0vyS8PL+0vmS9iQsubxy8muKcvE/DX1fRcsr7846CWRkkUID3A7hOOwPRFR3l9iRBMwvgpvpgXl2CAd01Ijkl7j1lUkK9/7Je6k8B5AO8QS2mWEAHeeK/5upBokSDASE01z4hnYBUj0GH4r3OAkA5uyf+AvMyAoMIjHCC0D4UUHoBUr0ioNK+bpSe2xK9zmBzxFgn5vdU3+DH/pwX+zIH6rtOoZU8jzNFY/K+Sz+lpylik4ICgIZDTWBS3yOgYQHKD//AqoCqYeKAA6JyHTTZKWWUga9snL/8AetcMr7fZqFgFx0ioVrgqr9BQKi4U7tJQyEgk4NFPjZBswMQgIqeNErQQsg/c8X6jsK+Mw8BIUsyJqO8Aj6sjIB0p61wUIATu00/NSQfZ9/Eu6bQN/6MK8aivI0kY/Str6Y+G0Dj3IyJetxR+LYD2SYDIkOUgIH6vhMnfDE2Qfq8Zr42AooDolzUgAZnvKck24/dvQL9Mgdi4OW0jKiSgxYHP5KeFr2zAxa8QPm8p17d+eFVN+zZpaoGvzxTut0Wvj6slrwrE5a/JwE5Zm/eSRh/0qjkNr2kNfKHNr0PObs/+tMOvZdcUfl2vE691r6IAg69tr1DAk2hrr6Wv46/4bWkNCjuDlko7da+ySeDUlg9tlge7ZUJNiQQAYewzRWYgwsBmILWPy69XlEWv26+jr+6XvYmnr2RFaZuXVnRoWOA7r2nMRa/Ab6OvZa+wkBWvZOPvQNx+Z6/kNzOvyaB2wE6vN6+4B3evHjaPr1yMx2Vo8Nkl/1hDr+2v4G8QPj+vZEVwb2RFCG9TunmvdUAgb1M0Ra9UbxBvR68wb9EHZ69vY3WvDWoXFe9AaZuARWkNkjvvr2mvhD4HrwrE0DcuB8VP3H7vQEOD70AKO5v3caAzr64hBa+gb+2vriH0b1BvE68EwtA3da/nOOxvKiS8b0Wvim+dr/Tx0m9XTO8ASYDUbyuv7a/Gb0pvEUAqb2evqZIzrz2UNiXzr+Ql+G97r+Zvna/dr3Wvgj5ybzRv7a+CPhZv0G+qbwE78G8zQDOvoxQob4vn6G8Pr0+v2G+vr3hvu69KPgJvxG+bQwRNZG9BbxRvCW6BACZvH6/tr+lvvm8qb/U2Ta+4Fylv/a8QIJpvC6+NryVl2m9ZbwJvG68Gb/2vANtV0O8ANbSeb6Zve68A2xBvuW9HbP06RfjEadfZHi80Wd00E0ln8Z5oFI2mYGbXIJfxk6vDjShpr37EIqcnGFFP0Jp5r7ivAWmxbx2vIqeQb5tAKm81rykwVXRUj2gakMj7r0tv8m97r1+vna/ol9VEuczfsQo70DvRB85CATtjgG5A5G/9r4+rB29eb3uvI68nb7CQZ29OWUnMjGB1r7JvIRgqJB6vL290gG9vq2/fbzVv2GZGb3bAV298oYDvzW/A71VvYO9Wmt2oyG/TDyNvyyD7rwY8/oCCPieHAiCm42F+1TshxUOzm2ECqYRA5MnLb8dvq2+AmcYAp28qbzdvK898z2/UATtXbw9vpEJ5r+lvV683j5J2P28or7Q275jAb5jvC8Dpbzjv8OV470wLqaVSxUV5/XdHbNXIBA+2dZ5weKNm2S6AwADkUGWMhsOqAFf3yu+ZZWrvZtkDgJrv9SBnCXij7uSaTsrvXpDk71VvarMDwIhFl3nnC4P4YadqGIBv6kjAbxzvKen9SdjFjGB6eGrvbK6GNVKGHPF4owf33u9md57vIOWa7/EgTgl+74fsK3ew75lvR29Vb/CzepMDWbTvTDXYZSe28/TG9IGolG/Ib5YPQI+tD8zPY4+U6wSeolcIOwE7A/D3bzr9F2/7j25AnG/5uKKALG+x5Rp5Z5lOb6I+CO9vDBZ3yNkqb1ms8/SVT7jxPt7dsTj40vjvrOsQFneu7yoLvOmDaX9pAXmN7/uv36/cnn54AttxqOnvCW51b1HvfG+tb52v7e/GA+SjvWBI2NGlZxhw2Xu3qC9+MISEzs/BfVvMx++Ah51zAC+nYBxDb6waVUojqU0cd8GadOCd2XFzqQsbj31+0Hezg7uDmwqmYN+CHiNB1GDr9Z6eQF3v5LIlGeNDClUhkBbZO7SA8Z5ALwxrCRbZrilYyUBu6ig0Ajv3Su8JQBNJT+9u871zys+cpKaYySO9c1AvlE0sAG4tXM9Nd5kIuXXKzxsCknYEd4lGE4lljKI7ariEH0WMtAAxO504bzPu5OmT7vOd2agQLB/6O1IwnB+tT2DgREL8+8UPP2tkH9J7WOuoQMAAaM0kPC8Aojv4H91Nx2XIH+lwch8FrlgfHPFIO2gff1mY65ZzS1nWqlWzG0ljOLgg41mQHpiw/zDatu+KQNk6H4qFeh93Lyvpyy7qKGjnZRqlpxYfyTnDhClMa4+UA5Xl7h+mQZ4fAzjowlXr8SCfz/gvSkASBRVg7g31IMEfaXMu0/dSvBA9TDhgiry3k65gcXPcHCW8OTTl5aDNUR/2IC7TpoATSTb8pEj7wNnvwtRNC77mU/esMMwgTq+SxNhl8rr1IGkfZeXhiB5gXtidB+uP5R8gAMXQqSCG5s0fBC+tH95gHzSlKlLlwC9kdC5zA4SQIvAvDs/1oJD+bTx37x8eO7T99FRW9kj5H8Q8E4lfkJrPEgVg4JePEgVWuprPA4TfgZePA4Rq4Fw0PM/OR3U5vUnx0Mrv8h9MQq6k5x9QL0xC5aKgH3KAZvrzyEpAzQAgAP9CYzi44AY7coAVkNf9IAAebINOIAAdgHKALH7QH9/9LB0gAKIA1beBACokUJ+hm+Cfc7cwn6Ski2ubbUnmSVhqxxcM1wBYFDhQyJ9Qg9pFzDeuKVFhq3cHKZTxn9ciJBcVMNiFmS8MdOOwznyhVJ9DzjICiYCUnzp3KiR047KGdJ/FOYyfP7fUnzODiG3TQGyfwPCg66B3sMCwWVWPX7espBIP6SItRBOJ90f6gTq0O4VzEUt5sMAWCCq06dA5AOy6KUVS50/JrRBxgCvohxkapxJF/RnVyYmlbqhOw3yZjDug+RCQg5AFj0SAVC/IwHqfWgiW4207bwwBWDDZ3sS370nwQY+M0J3PyMAOn+JFXUOCaXDZTukHYdsg5khrQIklUs+qD2LPRJ+EbcVDO2MGBwcM6JdSwyzxYg9Jn/TDTJ98ocp3SRPML7RxfQBPdWK4CZ/M8cVDXJ8VC4WfQ87iD+mf5Y8ETdvEx0+RnjkA0E9NgBGvCaA5ZvWAVbfiYMmfrZ+pn9lPqmAlT5WfohGGh56fdZ9TsNRDwEOaVfobKQfxwGrZnI4jnmKA9x+z2/LPm6VPH+ZVxbSz28nrScDb7JpU3JUDbx0g+aOAO64LDdVAQBEACgDxrpD+cfwOJBHQfoaIAP8gM65zd1ufSiAw0DGX3qi7n3ufbv7yAEeff+MSJ+Zpyk8t3q2ktzmXB8V4kEDSafcQZ6rVGYX3geTl9/zFSBT/2bWPwAm4n7t331Qen9TnF08cV5JDY8/gWUv3H89dH4bP7/cf9zEVntiYF3gvaXMfa5zzGf1Ta5k48/SJT9J7Hg9oCBngTcD+wGk6Ou2RANRfzldpOs0PwOAfz7ix4jvbxAmDXR/AAA9YgHdFH+x7TWUHz60PRF+y760KJ42zkBngmLBdyEhC/EXtIDLA7vMKTRuMcl+tQME1uUl42G2U+RiAI6DCmhdQwPw6U9qQw2P3CNmeQB/g+xgaX2FAT5fJNP9CXMAgwHvOmqhmyGFAotowkGOg+2AOc/1un8eGtGCvdJC4aT+1pFAvYBYol91nn4Vql58yQC5amkYHny+fT1B3t1+JJl92XxiEFl9cwFZfQEA2X7xzLZCg5enAPl8ngi9gBUO4n4KpINznAGIeU3KjxPLEA1lr3tJQ1Z/9n4hfAkWGErfvKU2Ta9ypIdk02dB3pB9RC60PkwsV2ieM+e/dgJlzNOLKX68IKTVI4tMFvV+zou6T0WPQdz7gtncQTNwA5iVCY6tlXR9yzVkf22gWlt7kk40LXy7THh/f76tfFxauKcFgm1++2FRfs9y0X0STBIPuD4qFQ9hF5aRIyB9EquYiCMAsO1bj/W78eBYoLskuJ+efwV+9bwiP11/qC6w7d5+jX8gc3/CHovxFc4wzInmfsJAUYBXEUjAsAAfvEgUdVCwfGx+8ECJA+Z9g3xAtB++IxyUDZ+8DhJLvv1/Up3SA4i6bNLHvzeJMk2s0qjm8gLjfEG/g35DfQXCo37DfE68iQOVfCF9dz22Og2DCqftPqY/JrwipzA/a4aP370lg0HY5m9TsxPGuKrQEKRpnIZ/XYGGfCu3fDITfL2QQb7fB7IeeqeQgFZ+6gW3Jm69lT0u6H6J8A6TFWY/+tITfON+JyFLfs2Uy323JzWCwRWe3st8Trw2fReltz2xPdN9LT5p4urXdZ35U4JObn4y8IY+6YYD0UM/i6BYo+MM+QHJGlagNb73PiNB2wJ7f/+Ce30B8jpkF+hDvbW7gbmZAUE+nPOEpQd9HxT9QWoVh37kmG0i6TwHfsd+VWMHfhbm1jzOvYM8J6IHfGd/x3wuMQYlJ33tvw89sqOIuad9EhwXf02Wz+dGnhGYnSNwgbt+OwPnfNFSF3z8gTilwKUX4nt+QX/KAvmsJzz6PnY+gYJujUBhdB7+fBshdPCLp3Qd/n0B8EIijZoBfFVijjWF8U9/j3+tClVZaKZM1pKnPn/Gu4jtuYCAQp2CwOwOAyzrYw3LxG99hoPtgcTAWXwsm3cA+n5zJW6nrqNypKXfxac9fQV/QnpiwGoJkKc/fReqvX2kHNV9RBfdRzXj6Aq4pY4Dg446f6xBRBY0bCaCUEGrHczBeXDVfr9XcqXjPBF/wUEBueF9/92LgmBf4xe/PzXctIER34ETBkirF3I2QIKm13tjEgA5zljCvCLOii6UsMEbDMNDsMEusVgTZd2Y8PN/dB/zf+rTX2LNA9QttH7h2hEI4QIuIEsWcz9ZguF8fNM8Iu58gACAQzYwTST7gbRhfOLIAsZfMP5cHrD+ONG5gW0jJc8PYQLLSP+5Qcj8A2bzf4IiKPxCQbmBIH57Y3tj8QjLA/DzNEUDZbcTrELTSjkk8LBjl14lNiTLASOJWP0SqQCkGIGuMD60Ya56Y5AAZ4HUzJQAtcGoWCFSHEe63Et9/ZBBvZiDVQGnV5jqQ/uYgu0KzqFE/E6+EPOLfabAl3q/MlO8xP2nVbj/OP9E/ET+zqJk/N9TU35JUQT9JP3SALCgMXzwYOt+dr6kg4T8EbqGT7QvmOu9NNPHdgNWt7pO+86SUVT9q7zU/LT/1P0bNP7fKP80/dT+n8ek/cT8Jcp5wOT+agnEJRPSpzFM0hN+lP94/5T9Vb+0/l/cDgC0//eI9P3jvbMIrP20/Gwfh78s/7QurP9klau8qP7U/KkCDP2M/BRbRoEM/7MBbICpvu+DmpAGf4893wc+PZZ9zWRKpuUniD6NZrz9X7760pI/PPwrfdwvvPy8/oFmASGVPeUDZJBbXMlhVQ8QvD499ifrf/z8wvx8/QL/FOc40IKirST8/ML8Ht58/W8zwv4C/PokgTwmg6cD+Lkgpz5T3P6hfGiXz9N00oZ/kn/0ZuFAPc+JfZT9fYKiI8a72D2nMIT/ZjJ2vJ/fJn5mfKlhxoGVP+oD6D6v1vdBXJC+3M9fkQMrtq/FNrxIP+CMa7eK/B7cS8xmfXJ+H7GGTieNcn+ooF91nt3K/TJ+Nt+7zQvHo5TWSHHvkJTvXIg+BQ1yf5iDav0mfg7dmv5yf5UUcexULxr/qv5a/eIeKv8p3vJ+Jkvq/+CMCHUa/rJ/ln3a/ecjb7ME/yT+zPxngJN+dr0h3RZ+hv0uvEZtab5G/5W9BO1G/Ww4SDynADrgUeacpnN8jSeOW8j98309QKrTMv9M/yT/a31VvX/cK31apYSkIv1appt+8zIi40/XFPyk/VW8cv+WfXL8qb4ngLL8BvxJf8z9hP9WP9b94hxULvJ/lny6/XZ89v/2/eIfU3/bQ39RNv+7PjXkDt0WfAL8VC52fM79dv7fJtUKrrHA/ssMcd2HHXqC/bXON+5/Nrkef+BjAAHT8CQKkjzTxBAAH73EwhrRZDWfvp7/Av5GfbikQRckf+C9QRQd4Tq+Ibce/ms80KVrxgx/pc48ZM0C8hUp3KIJ6a4Ioz49HvwfvNesfv5Zzp8N/v4e/1cAH7wBp57+XjwOA9ki8Io5JOEAywLxzaUAxQFP3D/jPjzLAE1lSIDTx1AADqDvfms/IrBZY2H+Bw8dlrgsEf6B/ioXEf+gJAj+bX9Iw4s6zooSf0wCCyBYJGOKMj29fdyj3rIivaUAHPy+/AC/UmaR/vH/vv2fvfFrfv8F5B7+/vwB/oOtCf7h/UH9Efx1P0R9mAK4LMZeCfzx/UiAif5ePDQtdHyp/bvPoCZJ/kSDcfzh/Bz/4f9Q//H9pc6rPEFNqf8Z/WvGmf/IfWn+2Jfp/jYqGf7J/Jn8Ef+Z/Qx8Enrp/1n9kf7Z/lH9n7x1U549ifzYiDWA6MNfv7YDa47ffR9tNzfvPZwkof+I1p2LdNNv8wg8ywJNrbn+EfwAv7uQkfwZCA6Dkf/h/9n/jH+rv8H/Thf0PLha/YMb0ZwkHeMl/Ln85f3J/Hn/ekA7J0N61f+R/VH976bR/MUiAf/J/An9nv61/dtfRYdV/4dJdfxZ/LnPUmZp/hX/Bf3XslGC9XJpU2VmgP7Vfq78eXl6gN68vADo/fR5Zv2w/3LDzGZojq396P240+1GuCwB3Rkk1g2TQpM0jSSJGZVgskC9f0J6qDRo8/xNePz4/bFOIhGVPXTrydNwV8nSDw+lCP7+a38k/kt+dr183klQJv9Gt/r9wvqE/f3/shzRUGT9Itzr943fqv3GGuT9Q/4HD6bQFKEWyDYZGXwrEHPEywEpYHkB+d3F//WXY/2lAWnfA/4vArb/Bv2k/mP/eQH53NPHk//j/Z7/U/9D/Fz90/353zM/YQID/8gtuWUSwa2+EWTVA3+D0QCbonS2uKckQTSxogNho2fdrgFHPpo8tdmtYVx6CWCmw2j8sP+t/jjT3JVvfT1AXJfoAMj8XJauudIBQSN7YbwhSFHDPvRv4QPS/oq7xrjdeZT9SX0KBPHMxOYb/cz80X50weRDFunxz8ABNwOA4vdiNzyogXk8b695gbt80T5YwzDCNUIuPgM/eYGDPOrRB/0Ougf80UH7flc/Ant5ghffBEp/fDwCvXxYReC5EgFd/cM9v38V+ZbO+ZHM/vj9dsd7HAU02GT/IfLv5/yLQJ5c+kMZraK2jGNL/q/xzjh3fxf9yAKX/WAD9Gj0jUDjukN5Y7HRuhVcz1ABrgJFxhoAYwDRDAvGjfqRPdc9F/xX/Uv9g+S+A3c/VcFX/XooS8HvvZfDFrrLqwBmzXO1sNL9g+Q1IFEbmp2P/glh/No9PH6OaVf0ZNf9/58u7o+Ty/hXfO7Sna46fmk7kJVEkJAD2RG6f08+H/0aMA/Bpd3dpe/+UTfoTfd/hny+PpRmzn+ZVec7Pryuff/+gAC5QxJyTa1N7JCCeLt8//IHDE0Un2JRh2tIBRu7uxCckLAAmKKXW9M55cQBTALCABABkSA2oCZuXjELf/dEI/0VGHaBWEGnhoKPf++p80FKP/2qcml3Q0+IpAMg6Z+BKUoHDAWSn/8wMLLwDAAdu2Pu+zv8iQAcd0ggCafe+K2yBRwBflnkjLYCYMe1o86b7yd0UdFgA1gCYoAoIb5X3kUIVfF5gVsMYoqWyTQAYCADABkgCaXalX1Q9vL+QqAJADCAHMqVGAOGBAy+LqlEuzanzXvAwpA6SQfgoHg2kAb0AYAocUDkJxFwYQHwYrhPcyyh/8TeJdJxP/ofqXkAjgCEL7ELUZKuk8Ss+cygogDLvwH4OscBb+h/8xd64UBwgL5jOb+iNknjxFGDWMmcTcT4o7Q7NREGh9AIkAuMAnADOP4D8E/Pu8wfjwFxlk/6oAFT/jOuZ1SEU9i/TLvz/vmTJMpA/sIRAEujwQvs5/BCYviERKwKs0/RmTJBB+Se9f0C4P34vm1fU7E/F8CADdXy92Ch/Ya+NHcKb5wNBhIMNfVGAtgsMD6k2TM7hBMEBaXUBAhazXzi5ojARYB9797lzEH02vvF1GgKd78lP6y73iQDRUBLK7St9r62/zovutBZNeqO8xmy/YEHGCiPBeMz49ykD6O01nhZYWqyMDs4P7tfz8qLcAvA+ms9oWZPALP3hcMaLCdcJSR4/mWrxpNwMmSN6MYgHRYyryAw1OGe6ACkkgHDBkBLgAko00zhmPBzMFbfs4AiyergC/PALd1xkn5fS3azo84PrifGhASP3Ooa5FpzNLeiTVeIYPSsaJtls9jVNzqgH1eOZ+0qBOVzGrUNdhFZOVAPtRyQJFX1fYB5pCl+fvQUPJQv0J0uVFLCok7cRIB8gJxbgKAxLeYbwgrAs30ednyFNs+V78r54HKX0HuC/AiKIMUS3J8aQJhMi/EwSm1lF/J8aRUHrhQFW+hIQSR7uxDN0uVFEr+18894BmIGjkNW9O+e5XdPxLme0GHjhQL/uJb9vx5PN08gFf9WV+UC8bQFevzA7kvDeeQur8cp7Mkn/7lMvd0BTx8uX5qHxtAbq/V1+kjtDzLcHXFfrpjcH+QYCsQ6Dt3jAYMLa1+ar9YwGjWRTfN6AnkOXoCPQF9v1Vfnc3D1+HoDZ36FgKHftWpMVwzoCJfbcfkPMmE3M2+77Bl+qrmWcFAOgGmE4AsHz5hX23fpFfbq+KQC2AHKaQgAeA4BgoYrgYAHCwyUqFC/JABg4CGJoqAOTAKi/d2IRox4QGtv080EgpL5cPo9UQHPT3RAXdoTEBE582yCjxXrcn3fRPyrADipwoyWdvr2AqF+MADn9S3yT5gGK4JABJ4D3xSMTRnXASAqF+04CIqLy/gXAXaPOcBCyZPT5LgKUAGBwCKiHd8MQG/bUDomanDwBNZ9zp4M2XX1OSAXRQ/EFYliKKEnID0BMH2vXMFpwDoCggaU4MH2MiAvuLwQJS3D0BFQe+4C4wCnkGNSCn0d4gmED/wT4QPQASBNVdcRECQgGrIEMjBQiCiQGtdOABLzUogerXRsIxuslkDSjzo0mXgOUUs61yX4zQH6HjS/IgeJ38FZ6nf0nkvY/Q9Sagk6fiMxXGntQAJgyDYDTAKIT0u8lOwFrWV0kh9JIjyWHv71A4Y9PtBMLeigsSBvoNNeFcgRU6EwDvHiEbBbeL8ARKj2gIB3pK/d9etgsZ15PbwUgYB/EyBvr8kd7br179AJ3HmGTq9FIGjBCLSi5A9HKIyIqgGg60f7if3eyQindDP4OgIDAfUjayB3H4V+JbDmCgaDrFfikm8lHaASBnXnVvKyBoOt/v7TWVsgSb4Ukopdk75ITiTfmKzfd6SkRlyAGeLwkgbDQdXiYPMI65KQIG/iOeGgw+aNCn7x0DOOEvDJHwzQIqIGyFBbAVu/Q8+7YDgbQkLB3AakArL6PYDmuJHgIMhKeA4cBfUDoR6BPzJPKspGqSUL91wEj7Vi1meA92IdA9zLKsQIEgOxA+bunECjJJ5QBHBkEPHiBqZI1B7EAC0gaOvASK4IBTsD6QIS3ItvJ1eKTVqjIZv10fgr/CEg19gF9IX1Xu/qxTLwQXbEDQHffxB/my/EVOFxlnjKJqA8bL17eH+XUlGdLozySgZK/VaBAMDfX4O7wHXtNAkheIN8te5BDyHnMDA5binF8cKCwwMK3hDveyB+ykSjLqUlSmvLsJ6B3/BsrLowPnJjDAUaeoOVn8r4QCRgXvQPNedW8oX75nxw7lK/O5ufKFywFwKXRnoMPWVu3L8IeDwX1rPohfHrANqktAEiyQQvgzZWGKn4BNmhOAL+4pufWxQW0CUUAPfHNPiwPOaMSoJTXLiCg4ysGbRfOykks8rOH3MPtGnEWom0gQ8JDFx9vvDkUGKFy88gDXL2PboaASAA+sDi5CGwIuXnWvQN+8z97N4XL1EAMbAkRuRsD8DAmwNMAMbA6aAhsDjYFbDjwgPbAibgCMVXYEOwLTNqbAute+b8rYH1AFtgcnAT2BJsDIAAvLyyJjIoX+whUYGAD4MT0jg/3H/Q3bEnUqC40EsBv/Uf+P6Bp/5YAFXAdlAtN+kRl0nQxr0HQhbYD+QK8oEtz9n3arjsobueo4ABYG+sH8kpr/a8BMkA9f4jjxbzpnPOZmzo92GTIEkM3lhPanOFcDcUCY+UwADXAyzYjwDoTw/QScntNnTYU4nw9njOj1VAEmATuB/a9257R3wTjhwAs6eaKlCoyTgI/6lKseOekE8r4BCwO7Hp5POMA3k9FAAMOSr1hCpMeBZh5MuYLWD7gXR5AeBccDa4HDwLhngFpaeByoAoYJnwMRPG4wduBs8ChJ6GjxqIOL/P9WiXkK7aAa25Cornf+B1ptlbZrp1mLtiFXaIwJsC9L7cXv4onAiEgycCkt7NIzTgZg1N8AStIt/4wHFJKOFRIBB/0IvBoXuz8HKkAGgQHZIjyAujwc+PTQSikTgBwp61iX/XLKIfU0VRQltLeJjzXuXA8bAvAwsEGZz0yAXNGXZAB4dM55eGAP4LhAvZ4q65dGS8gExJsppV+Bon1M55Fj0BPBtACEgkiCh1zOKVXXLIg+DAy/kFEG8gEBPCq0G0w4i41EHwrQbgT7PNEAWiCQmjhx324ps0ZXOAqkzWZ+wFQMrCWZO+3cDaz76nGBwKwgi8o3UDxyxPwNsUO9pBvQZT8qwCEvCSfP6AJ8BJkZPEELOkAgR4gqwBJIAJQAuRGYADK+YiQ499E5AWeyMQUZxDk2piC7hoXlDLQNsISxB+yg6NALwPDHt3PdJBu1RAEZNWFOnh3POGyTql8IGHwN/QAA1cFwOiCGeYV2gQePYgscazo9FEGRlRkQaoguRB+EC6kHL+VqQY0g+DA6iDVSqaIOBno40bsB4nw6kEqtEwqtCeDhB+EDdFBilWEQYCXGyqJ/8suLGII5NnLxM645h8iEEealIQToAchByvlY1SRSDmEEBQCXgMyDYkFum2Ahpwg9AAkSDJEDSQwSkHwAJwB04U2b6yiAlgeZpfqYLiIuPjgKR0Sq85eWBH0DFYH5GTMPux0W+SasCeVg8aAkAFrA3AYE8gp3CbNBgsjDvZ+CM68LYG430VRndJAViREEg34d3xsgek7UKBQTswlLRQKqbgHA4m+2mo78ZogGBQYFAmIe3fxrEE11BTqpSYJ2+CyAaSqrriAoGSwXaITggqoBWazQQRgAQ0A6CDM4Fg+TD7vJrFeIU2kMEFeinEXPf/A/+dKCBHi7/1AftpPF2SWXEPibEaVD2nf/Yc+eUDqEFWDl2iDybJwcdoYyAGCoJWLiKg4gBOp9SAECoIf/ryggaeqqC3T7H/yFQXc5ZVBHZIogDyoLaduGfScAMqDDUGGAOKdrqgpVB3EVmJheAJPokPA5m+aIDNUEOAIdQYNtNwBjo8lUGfxw61IRPcgW8k9lwGaoJ8QX6gxVBsCDvUEYQBbSGQAgROoQDuVJjgDNQf8ncNBwQDGAHGZ2FQbXJQRQZT93wErJ1iqv8nFEB/Mlk0H6oO9QW+Ap6eH4DpUH/J0LQYxpdwBeqDrtZP1UEUI5JZdEeups7BlbiN1EPYHX+8B4Rf6GjzRgL/Av7i4XYbbCAIO0qktAEqSMCDhUGcf1DGvLARBBNmlrnLpwL7QSByDlB9o8e146yBtsAE6A+orLRiY47EEvqPP0OpgR0cMQjQKCSxO8Aelu9U18EEuHyWQSQguhcaAA1kGUINFgaewWhBtUkDlJFwNnoLQ5RhBZcCe4EPNE/3LbUbdBUwFaz5R1QQUBAoQMwG0hBCbTpxvgU4AzuyMUU8pJfoNWNE7UGdcvc1V1yfoP7KN+g5BQ4GCB1zjM0gwb9PMw8ODloMEDlGHkDUAkaMXCDlEHQnjqQQ85FY0L8g9yjbrjBnv+FJDBcM86kH8D2ggT/YBLkOiCBkH6tHwwaBgwjBISw4Z6DrknXI40R2AVy8FdoqIL0QT0gi0+Fy8kd4EoNwchC4TdB3BA30EBILQwbBgjDBKWp+4GDwMiQEBgumSBGCkFAYYNXXFhg4X+EmCwMH7rjJ5sWIN4Q6mCmMGYYJqQeJ8MCBR5R3EFw/DMgJLRHHIu093iB+IPc0DrpdDBe5RnR74riHFCEgjAAYSCLUAzryyQUJg7QcGQCV4E9gE0LnsGVYKGPow9TlQOt4lkggpB4K8+kEHwID1qUgivI5SCgp6y7y8GkmZVvUUuAd0H9n3shD/oOzBXZQ/0EaAIAwbXAhHiCyDCEG/AGWQSeg4dwVG5qQCVp0YwUpgojB0J5e5rOIPF4ulgyTBVWCWMGIYIufk7GLjyFWCf0HOj1UwY7uAzBKj52kHz4DawTBgjTB0J5WMHDrmagDVg/pBfWDKMH6LmowdvEZpBfWDOkEDYIywfBgmWyQ65tXocYOuXnNgnjBHSD9WiGgH4wT0pSlBR1INp60oKzQQ5CRlBO0As4FZNFL7idgkiwF2C+YE5YMdQXbfT1BMqDq4G3wIewbkfflBvp8NUHXYK5QRKgkNBwqDcr74AJyiNygigBmqCxUHohB1QXmgrsApSkdAHaoN+wV9gvtBduBTAHzSF+wdag2BB+gCjUFqoJdxu23ONBvuBbAGY4IsAZDgv/OdqC0QDeALewcnPF1B9qDBYHloM9QaGg00AQaCM0GfgOuwfTg3NBFaCvUHUZiCARKgqNB0uEwgGaoITQZzgkfeqOCU0FtKHTQUWgzNBCOD9r4BjxpwcKg18Bd8CnUEBoKZwbLgj1Bvhc0VrS4MxwFhQSsge0dPFInuQNvn7YaAyY4k5+oLjDRgAbfKlB6RAX16WWXUksv1YLobf9cUBAKTXAM6cDsA1uCZiw0/S4CLBdTKuwPshnYYZ1IKJiAyMGXbc+2hwFwrWmbzGx4WQ10vLsP2MwDaSQkuEtknRJZDQakGdgDu6kck/ji60QLXJC3IzOhTBEopLrAurh7g5Vw9EAEAhvd3ychh9EZqNHk1YAvCR2WD4ARz23pQSLBNgDZ4jhQITWbwxFIAqWDjpEJFFgqvdgCTg6MHcoEIYGmC5+A1K5mGwHrvGlIkafuBeXbzEGicsZdDRuyP0c8HtLXkCJ3Ad8wSfkEEDF4OVTvlqTl28WlJkScpDxGC+PeRCteC25wN4KRMHt6ZvBUBpW8HohBvcM/2XfCjDse8E1/T7wQ5xc5yDSV/vae900bmPg3uujDBPwZT4IXcjPgo/AJeD58ElUUXwfIaZfBMlJq8Hha3XwfXg8RueNht8H4nF3wXS3dvBrR4t8Bd4OPwVdXM/BRUAL8EdnhYCNfg0fB2UUKdI+XUYYI4SafBtYBZ8FowFLwQvg9lB6egv8GmPFXwcjKKhyG+CACFN4OAISlqUAh8sAO8EQEKPwSv3DjmMBCB8F4QFIYNS4RAhz3dG+654Ozwb1oULMheDn8FmPDnwWXgj/B+BCq8FEEPXSMogf/BeRNACEOQB3wZQQtvB1BDwCEg1F3UvQQ4rWOsx+8FwEJ9CKroTuueeDkCH5OXMcA/g3ghmBCX8ECENwIRXggghq0Ca8EkEIkIZNnKQhVIAZCH+EzkIQfgzvBdBDY0oqEONfEwQmUkRzE2CHBg1vwSgQ3726BCn8GGEP4IdgQt/BYYg8CEt0DMIT/gtfBlhDAJCSEPIITq5ewh++CaCGKEO7wdAQ1Qh5+DZvLzEHFFFWJLwhFYkfCElOWicp2eAwhuIAsCE4EPfwWEQkRgERDRCF/4JiIdYQuIhLeCqCGOENoIUoQlwhqTlGCFwENiFMlFEfB7BC8iG+93icv4Q2AKReCjCHBEMEIeUQ954IhCLCHiEJqIVJFGwhBD54iF74JyiI0Q5IhUBCGCFpENgIRkQyuuwUociHaEM4IVDYBAIyewiiGSMiGIaUQ0IhphDxiG/4OiIZvgmYhdhD5iFgEMPwc0Qk/BHXE2iHrEODCuLXDPBqjNxHJIEJ2IRE4JVsj+CBiF8EK4AMYQsohpxCV8ETELrwVMQtxSVxCKCEJEIWIUkQyAhyhDWiGrEPcIUcxTJyXRDvCE6EO28jE5AvBGBDiiFHEJCIc1xUYhleCQSHnEMmIZcQuohIBCHCGwkOcIQ8Q8HybhD2iHkBC2Idng9EhPl0YnL9ENHDoMQoIhxxD8SHAkO/wVUQi4hZBDQhDXEIaIZSQ+4hqRDaSHPEOicjhGLQhjJCdiG9FCrEqyQubU7JCASHDEJMIbeoSohoJDSCGxEIFIVCQm4h8hC7iEpEJWIWKQo0AeEAIghvEISZmt5G/BTJDuAjViQOIbKMJUhnJDy8GqkLOIVEQkkh/JCgCFzEKFIQoQuEhLRCfEpPEKNIdWlLdQw+Ci26ARG2Ie0tIQIcpDfiFskP+Ia/gkYh3JDCCHqkKsIdMQskhshDEiGekKpIaKQhfc7hCt1D2qgZIRwQ9paDDB5OoRkIVIVGQwEhJxDHSFEkOdIWCQ0khWpD3SEUkNTISKQg0hGZC4CH0P1NIeyzASmFpCdiEm6CsCPKQgI0AywSiF4kIdIUvgp0hxBCXSGakLdIfUQ2shepDliGuEMbIc8Q8WuGgQcyE9EJ5JFv4SfBNpC+yExkLLITyQ+Mh4JDG8HVkPHISmQych8JCfSGIkLgIbQEbMhUpDcyG91xD+rt5QshPZDFSHRkJVIYOQ8shw5DKyGukOkIdqQj0hB5DvSG94OPIc8Q67yhbdM8HBkOlIePg08h3ZC37KBELtIf2QoQh4RChyFiEJfIaOQt8hNZD9yFOEPrIdOQtQhv5CHu6okNyIUyQ8AItARQKG/0DXIQ+Qz/BMFDqiFVkLHIeSQpChTRD9SGoUPSIX6QmQIoARzyGLkO8CHhQ3shuJD1yGPkM3IcSQuChtRDdyHkUJhIXWQqihCJDDSHmpXYgOGyBchTJCLUo8EOxIYcQjkhkFCCSFqkM4oRqQ7ihZFDkyF8UM/IdSQsx4QlD3RKSBFrSphQkMhvdd47AaBGYoXeQkshXJCNyFxkIUoQmQiEhSZDoSG3EOQoQJQo8hmlCmfrF8TEoTsQkgI+xCpKG2kPvIUCQsyh5hCLKHbkK3wQhQvchqlC7KFTkMEoTOQv0hGnMUSFBkPbIXmQmVqFDVVyGsUMIocIQp8hsFDFKGJkJ4oSpQ2yhlFDQqEOUPCoct5WgIOlDoqGfEPaWmwwbLkN5CwKE4kJkoWxQoihKVCSKGvkNsIe+QichIVDDyHfkMcoZwEWQmDFDxKHiiixIQEQyqhEFDqqHJUI4oRWQtKhVlCMqE2UN1Ic1Qr8hp+CfyF+kMYYIVQgChMVDe65xUPcob1Q6Sh/VCkqHQUNqoXyQ+ChDVDEKHBUOyoS1Q6ahjlDxRS3Pk6oTsQrAIhSJyqH4UMSod5Q9ih5lDhqGWUJ3IcpQ8ahixCvSHqUN9IfMQGNk+2gzqHtLQ6CJJQ1ahnlCTKEDkJqoUNQ58hI1CnqGBUN4oVlQpYhh1DHiEzUOW8qwwFyh4+C6GAr1iMocWQ5Uht1CQaH3ULBoY9QgKhu1CgqHQ0LeoemQtChEVCUaGBkIWocVQ/ShpTweIgJUKqoRtQiohxFDtqFKUMhoZlQiahB1CpqFw0McoW4ESUhulCgKG913lCP+0Wmh61DMaGDUOxoalQ3GhkJC9qGE0LTIQ2QkmhRBN2Ag/UP0oSboQWhHlCCKEi0M2oaDQ8Wh/lDJaEE0LZoTDQjmhNJC8qG28SrEvNQ94hnuC0SFfEOoCCuQ1WhN1DSyF3UN8oQ9Q7Wh1lCdSGvUJlodRQtYhfpCZWoJnV5oReQlAhmARUaFXUJYoXTQ9WhDNCtqEjkOZofjQqGhetCiaGy0JooYPgmwIruCiqHdEKZIZ6JeKhNtDg6F20KxoQ7QnGhTtCxqEu0OFIfZQ1qhRtDHzpABG9oUnQi2hJVC5yFo0PAoV5QzOhotDs6Fa0NIoSzQl6hBdCcqFF0LloS4lB+2SNC78FD4OroX1Q2uhplD7aGREJzoU3QyOhrNDXaEoULCoR3Q9JyptCzSEfEOToTsQiQIEgQ+6FrUIHocDQ+uhw9DG6H1UNmIbrQiehhdCjqHF0OjCFFQimhC9D2lrcBALIULQtehUFDQ6Ga0LqoTtQnehUdC96Ft0IPodPQ00Ix9CzaFZ4N9oSU5KawPVC/iE10KBodfQsYhYdCuKHpUOeofnQ/ihz9DOaGH0K38P+Qj+hgFCv6FBOVkxIHQ4yhGNC66Ea0LFoXfQiOhD9Dx6Gt0NhoYbQ6ehcgR5yGK0L9oT0tFehgNDUGGD0KzoZvQzBhoDDm6HgMLUocTQuOh7okPPCJ0JPoRXQpahXgQaaHp0OFoWgwm+hGDCmaG0MLHoS3QiBheDCNKHF0Jzwf33HAWVqN17LC2Vs4tQUDpA6uc00j9rXZaPN+FRhC3QBk5GQGTPLxXGY6fhRGbZOSVrMuVZdqgtxskoQ90j40hCTGqcatEAnClKA2xkUYUqcltRrag4/jCgNJCMWOHKk7GFsGwcYRSMPugQ+02GjRmiIKrU6Z+yH7QZ67Xo202CzxImARkDlDZRd3DBhelF8CoAcBu4XJAgDj8OcJSc7EvBwCsWGIq7pfS6edkgHAFmW8Uq2IJaB5VcyhIw81domxFRmGsaCUsTB0nZDhPFcU8VMDhO7TBwIUkgYXE+N0BoIFqxw9ZNMHcBa/9wsgAiRlWpEc8Mhw7Ugh5x6UEfNrdvUGkxqEeG4ewAyTlzZALaaTt9fhu4m0YhUjSZhw+FmG7wAPdbgY+dIopjBh8KagkdCoa0HeCL4hJrhb4G+fu7ENsw2o5BnLw8WswB/uRLB3+5jsLO6lSDA1ggfB3rE5GFwUFvIKU7dF4F3ATHhIuFvIKTvVnwIbEXQDM6Qn3opgwMwDsJjPY3KUvsgTxbEqVIAR2osFSLcjZ1FLu65UHIB12AJOHH8Pi0Kq9ueDZQAnLkoAOrSKqB+Vz9jGsABSIBNcjABp1L7sBlQFgAa1gLIDMSBKGBikqyII4ALBUjgCprhNYK7XHpyOd1X2AXGUCwZ8sYLBka8cGBZsyygW+fYNBvAgwohwRWdjAVzEZC6udtkBEBwBUDy/QbAPoUBsZQww2eLvIXV4mlAaECwAH6YcqXPieMrCn8BOwAb+NUze0kUUgpwD/UCdgN38EWoZDhnmou314JJqwNmEAXxwHBGsPlgFqwgeBrNw5/K/SVEpJNnQ6O7ZR1PyJmif/sfFBaAmLgWuDTWWF4tiJd30nyxPWHRYTiYXHITZ4LBVlvQDWT40pw2JlhcKxdq4IWEp7tyhS1hzaU++CaUGIgUMwgySTqATwrtYLgwf0w6FeNJUYVhLYMzYR2mPOOF/EhvgNwGoKLeIAxQoAAoJDyiAAQk/8MDsvocIHyUeF1XI6ACE24QBOXiwm2wThqwvSAxbD8oyFBHQfOSAYK6l+5WOKZCDwTvEHKKAhCcYorbxGlUPaIRMQyLUzWFEfhNYWtGP+Cs7DLWHqfnHAFxXNeGFREZNgQbR9YXCsJ2+jB5dGikHiioGHqB1hcZpLCCJmjG6PImHYilQ4kQ5tNS2+vJCB1w6XM+KES23E6M7xf/A6WJo053aAyjJRmTK+Lllj1Bm4H4QkZybJCAVh1qA/lzmMllMP9h5lVinJIUFfRqQTcmIC8hXfRKfl+kLBw81iAfpBJwSaX/sgsmT2I/klVEDGMOWbC+FMhwuZUyHAPOX6YbmVfph+GDk2EfND4GmRw/cwcPFJeLyvBmLDo3cEmnXs5vIekN3sOrnCqh1yDmOGVWFVUimQkwWXBlIIDHRS2wnDAvoURRdSsITAkDDiwbftgHrkge75GXz+LAbKx6DpEvUrVvTwAhI5SNARUNAJDgJSSsCuAaZhXbEUVi3KCXdJ2PXneDmBq3qgdC6UCpw2/IEERzAp6BimYblALtiCFRLOHzMOK2kNRQlophJgvBqGCDUA0lGwIsDC56GAu11Fpo3dqh4Iw7wpAsOrwPbJQf+bKBk9Ryn1fIqrAQjyLANoqhzcmiqManWV4/8gnGisyUiDmQIUHE8OUyBAZCDB7ikIZGCrsEx/THHG3gmShDmkk3cj7JzfDB5NvichyH+YtKQk2QS2N5IcgWCyYJA43OFhmEVwAJiJU5w6jrmFs4tVOZdBNnEHoA5IkjTEewuqc7zgdBpmkKs1kBQfaO1XCsEGoHUAIWVfbiSU5AyuFLfGcSsU5W+C4BUQyCEYGf7lzcfrOcuU7zArdRoQkVGfCAf+duQBXlCI6PWfKDMaMDSjJIUQ24eh4fbh7LRDuGG0GO4f2ADbh0joIMw3cJ8KJmKFY2s9tosK8qUEnl6QJeCUqEpEzbCHtsizYH7hzME/uFzCAfkEDwsBCIPDcegnGDp+jYESRhQLstvKViUtIRmETfBgXDHjZjfk24vbJeQOHoIgQBRcJ/kDFwwEAcXCefJYgES4ZfxadgZjxweG3IRlQm8HeJsuMF8YoKWUy4WTaedw/fA16gFcNDMizwb7hqwhgeGswW2ECqfeQAGtFvnZ2n2nwJ0w9dUCvRUYxakQGDmpPcyAVBhFcALGH4pGLwndEKLoF7ZXOnTZHTgVhQlhslCbfeWpOu6AMcASx4RNZgswssF+8PUYGUZCyDAFHgchlGNQkTqAaYa1kgthEX4V+McMJkmyBkmOHrWSX9ANLlK/ZhoEN4RrAUCy1iUJcaQJgWTKgXOWG7sd7bInhxEwHDDK1AB/M0TaRJEQIKvIAmSpNtH6igEA23qA/cEhoe8o0AML3oXs/BWeKlhtjeFS8MEKKzeZKwPrcd2geQCC4AIFHmEldcMwhw8N1Fj73HkkHnDECDgBAsmihXYPu6lD6IAr1hsCGlXVp8WhCKWYYQEC+lRCQQAZBpRQA7eSLBl14QMOPRMa7wxQEVpnCIXvhhuZiwaD8OsrroAEiQPcA0e498LakKKAVgIpv1ZAhD8MpZltIXZK4/Cl+HhshvQGvw6yuC4gYoCiAA94Ivw0MO+AQRKE1PkkxtZXPcAMUAyMDOkFP4QrEdhgGFpL+Hr8ORALfw4riD/C0WKsBCn4VfwzkmhUAYoBji234aGHBOw+AQX+HWV3+Tp/wgq0Q4M/+Hgbi34Z/w+OwPAQwBF/8MgWnAI5thoYdwAgytSQET0Tb9AMUBhOBACIViBmECn60/DOSbuABigEJwfARrH4v8R78OIEdgIjpwdysKBFViWH7PvwzkmsvAYoCoCN74eGyeOwWAindai4G44BQIouwidBmBE9ExCALgI0jEn/CelrktRoEU7rSBaP+AaiAUCMwCN79IQR41lkVhFSwoEf/4D0S3AjHAC4CP99J/w//wdv0pBHQEBigIuQGyA/AiE7DcCIhvEDUGWmTrZP+HM6FZJEoI77YMUB7wAn8LQEQrEEP6IDJ7BFm2XvAK7IT/hKNDGgb2CMgWt4FCgRvLAsthKCMugDFAJlKagiUaENUFCEVBMeoASYAghEllm4EdwADpwv24KBEBxSIEb/w8YmkgB0P55AAYEUEEQQRUgit2hR3jkQpAIpQI3Ai92BR3lxgDYIlP45QiSJAg7goEbQEMKU3AjLaBkCO8ES4ItFiMfxuBEYIFEEfII5QIP/D1+GlkGSAJ1oVkg4gjOYoDCKxXDZAKoR7QiO4AROC6EWM4JumFAiuvBNCKUEapIWfYOgj2hHgBBP7EoIxgAMUA7ApBCNnRP0I6yuqdBdhFyCJsEbywQ4RnJNViDhCPv4RsIr/EGQj1+H0bEC+jcI3vhEf1qBGZCN9sFiuZFKpgjsAjcCOtsIF9D/h7QjzHD2qm4EX2gHoRugiYnID8PeEcsAGKAgQifBFb+GiEVII8AUBTdu+HTCKjNkoI/QgMUAkwBiCPaEb4EbgRUxwj+HYiIn4cTOe4R1ld8RHryzSEUusAoR7wj8RGBADtwfAIyn6g/CXT4Em3PWqXZWGg6o4W3bI5zCTnXoSQuR9kIa7mE3/4FYTTl2kABbCYbBwcJhagXhQ4u5EOBuEw8Jt/sWHumgBfCZ/7BYslwZB5oI1QnC71kklLs/nAZOwF8d46eYDpDu/pAvOF3CRs5tgjCfLapLgAjKAZGEEIE+YVHwhjWQgR7irFa0imlwETzh7596OFBkOOktO0ELhNAB/9BGWEscjNwkgwJEl7DJyviOdnYZPY8jhl7DJE9CCYQS8eYgQARxa45kIYYL+jF0RNxsFzRFu2+qAm3dGBkQdRlIUQHQDsP7ZCSBV0mHY6BziKPIZUf2HsRTcDLIEYSgGwiF+IMVHyaMw22JkYnPxgrPkTPzFhQn9nP7PQypBgSNawG3iMlr3NCOoRkut71LWXIXITd3BqjMkxFFSBYEMWNbJSujDt3bThS9Si5A23I3/ENe4jbW/jnWIzqAk3VI0pGJVN4u6JXoo79CvOHFt2smppGItymjdqXBhSj28gBQIFAR3lRwLPZk7SseIxfuvP9W+JNOXReLFPX5uzocm+HEzgScp7wU7EJ7kjZAA4AKcj/Q5fyu+hhdZKUQ/EUE5LwUNS13I7viM0Uk3wphgL4jd9D1szhFgBInkkIy1WJrfmlAkZ+In0ItNVgJEgPCcUqYBQlg2iIkOCVE3nwlk0VakX5B8JG5dQ6gPhI6FmqBB8JFrHxwkaYBbtIUz9DP6/4KOALAAHZwOgBKoA0rl4AIxTIzeowBKKQMEGqcA4zIr8ygA+a5tIC1rnM4E6MUCBxmCGgEYkfgIeZw4uomJFsSKO3uZAW+AmlBkNCvOC14PyUfiRKEghJGSSJEkTYQFF0EkiaVxoABYkWM4b9AskjyHxHOBkYjjoZSRfEi+a4djA0kf04LSRBkk5nAiriLfPXHcSRTEj9JEySLpXCZI7woaIRzJG8SNUkXzXUpsNkixnB2SMHGA5IjfWpDBfwi6SMMkcxI9yR7EiP3ahvR8kRtgSyRSkAL2aBSNBEGtoI3s9kjJJGOSMUAPslVVMkUipJEGSPGcMZIwh8pkjvJFKSN8kZGgPmuQfMpiaaSPSkaJIkKRWUiN9ZBBF/CFDqYv2JFg7ZCPnX0CC2Qv1BdNt6ia7iK6Usj9A8RL5IKdLHiNNrvk5DuA54izvKXiMi4h14V1QkgCa8G0IDOPLeTWCkN0BALxgiHtXOtI2E0WABtrgPYHRXEiAStcPn5/IDf2wLXJo4CwQs2A2VBgrihCFnrOkMv0cjpHoqDaCgGuG6R4G5mTCmgHzngYAW8mW0jqd5IgDNsq9cM2yW0jnABbSLGoNPnJKAADh5RCAXTukauINaws2As9aXSMgAF1XZrIqOgVbAPSOhXC8XeWISdd4ZETRiRkWiuMnWB0iJgANSAgBHsXUcGGgAMZGYaBVsAyuWHy1ABAgh1UDNkHDI9oEpMjpXjTZwhkcyYWbAct5JnAONVaQBvrJmRbKgtpFsyIb1IaAN6R4IgWZGK3hqAH7YL6R3zgNpF/SLlvADIuW8V7AbbDN50RPFzIgtc04BeZGJWRJkYjI5TonMiMIDHSOZkd+uEiQ7jVaZEIyO8kfzIpaRQsib3CQAHi9qNIDNMnAA0PbTgDFketI36RpsifSBOJ2FkebIzZoy8ArZFbVWK0NOAeWRubBv1Zh7A5kRMeP2R/MjfMjvH3ekY7In6AyMiwvz4Pl54AbIzGRv6BI5EoiBykejIumR6sipIxcSBjYEnXagA1ARqZFQbjVkd5I7Yg02c9RC8sBpkXnI2VAzcRLOCm0UrXKdqaGAaORY5H0yMe8IdIrWR16UT1xJ4C9RNkIy6Rxsiw5GDBUBkZHIitcczRb1yoyJ19MdIhORqMiwvyUyDrkanIyOR+gBFby3k37kS8uQeREMiR5HGlzHkcTIlORRsiGpDY6HqiKMAWc4xAAakDmyJNkd3IuW8BwB/5ponjGcMakQ8gkCBz9bf21CzOfI68gl8jVmbXyNekQfIsSg4cjXZGWyOnADbIzgAQMiW9YVrkTkQPI40uMcjS5FIyKz1tPIhKSLy5u9ZPSMAUWvI2VAncjBZFWrh7kVnrX+RECiF5FNyOhkS3rJ6RK8iJ5H5yKnkUMAMBRf8j55EAKMXkddI0eRL0isFEwKI3kUMALeRwAld5EdqQFkbeTeBRR8iT5FltC0EbfI18g98iiQDHgEfkSEoNcgF8ids6PyNgUfQokiQW0i35HuyI/kV7Ir+Rvcia1xzyMgUcnIw2RZcicFEzyKjkREkAhRP0c0ZFkKMzMmtIn6ROwFw5HOAE0UeHIquRsnErWAIKJ/kVIo/B8KijbpGoKKXkaoozBRQCj45EgKNwUYLI6RRKCj6ID3SOIUcvI0hRtii/4DXSImPLIouOR1hxxRBUKJ3kXvIvRRDsj/pHmyO+kfoooOMzsib3DHyNJjmfIg/gvCir5FqDlYUUKePhR1hIQlHaKLCUXoonmRUSjhFEWyNEUdbI8RREcjEFE1rnwUTIo9RRdiiW9agKMFkWUoweRvij6ZH8yIiUaEoqWR5sjmlHCyIMUfgiaJREiiSlH3LlqUYQoyxRbijrFEeKOgUcAoqpRDijbyZ9KNUUUPI1xR6CiSFHjyNsUf4ozeRIwBqFHBKKaUZkolpRvEBNpGsyNyUYwouJRhIQElF3yLSUTfIg5RbCijlGvSLWUVso4WRuii2lE3uA6UeQkLpRNQB8lHwAA9kZ/I4pRJij7lxOKIAUfUoyeR9ijFFGfKKmUd8oo2RrUi9XKjGDlsh2ebD65fChKb9SLjpBWJIaRR4jE+DlOTPEbE5KaRbX9KiZYSINtt5AtfBRwA0eC1cWJpHpwN++EEB2pB0SAcgP0tMPYGgBsXJAbmVWsPIco+yIA/nSirlhqCZnDCAK+tJAhxQAAcPzIyEAe3Ee07UADqgOhAD7APsipojPCBzkcQ8T/WtD8hVFSRkxKDTBFW8VMQvFGzKIAUX7IxXYYlBTlzavXtoAA4WaA6UiYjzlyPyvn/LAxRNZAhhFmGFfxkWHAgg8sQ9VEi/DBXDSAKCQbgA1fCRAAmwKc8H7ImKh+nCsrh45tnIs2Q9qixnDZSOkoOFIw8saIAhNxFvi3wHngTlR5mduVG8qM74fEmflR8qiRVHe2H9kVYo36OQcj/VEPcUDUTyog4owsB2YArfEouM9qHaw4qiTUjgwCp1j4ec7wLBggUqqqL/kQWonJ41SihTyuxlVUf3I4tRMqjBeAgyNNXKAA+wAEMiVPIfYDQUUqgXGRQzxBlExqMjUYaAI4A4hCQVFrWDBUTAw8mhcDCG+HQqIR4XCo+NhCKjTxETSORUcppNr+vaVCNT9TVnUfeIggKsEjxa7YBB/EW+I/8RYEiaarROQ3UVKGDCRs0j3I74SI5sPEgfCRKaQQdY/PzXwXbAdrieKjQoAEqOxgLuIElR0NgyVGEIFOQC8uKlRtAFqXC0qM+gPSogwg1odmVEwBDZUXGo5LUWXFj5Hdrj04ECufjmE4U9kD3SNZkVFrP0gF7BzpFtqLxQBaojgQrcBtmJRg30UfBo6owgtkoVwoaOQABhaAgAcUBvwCwaPaUS6iZqAxQ9IABQSFQAH5xNAAJshSNG3KPI0dkIsugVGi0ABMAHjoHuATDRPMimNGuxhQ0XXwXQAdVBZchcaNZkarXQ4wYuAcNFIaLNUVRovQAozxNWCYaIE1CTYFtRAa4pNEQyLBXCc4dMgwXFfIDoqEqvLuAKLgSsiaYLksFUkcpAdoWFqB0VAeNGWXKsud1c2c48NFUaIIAHVQJRWbgBMNG6yMg0ViuFTRqCi1NE8aI5rk5o5WRF/5+joOYKk0VBIa1yLDACADoaPk0aMYSTRNmjUNGWqPo0QWuIEoEWifPxUaOi0Y5o9FQsmQlNEdOAC0WxojjRJGjYtHpUEVXLcIeLReMjEtFJQFvWi4AB8IKWi4tFiTX/4QFor/EpDA2AhOaNOkXYAArRwsAFUAEyKP2qYAbXa6D0DMoSQHw/pPg9FQkMAPuierhs0apoqFc6miKNHm3Ew0d5qZDRVGiIqZ0MFSAN/4TfY4a4KNEj8Kk0YRncmAHWj1tFdaM94vN4TDRGmAdwBNaJQ0UlomLRu2j7lzYAGnAJ4RbIRy2jItH/VRK0WVogCc4VB7lz/gCm0dr/HX+xj90VDHaMJCCeuR9Rc7tkVgBaMO0ZholeOeKAMABl4H73GyuABAsWiISDQyJnkVpoyZwOkBAdF0SC+4nPuMXAYOjFvRjOH7kdDovggzWigdEI6I4EEjowgA4Oj5YDgKJEzuioPgg9q8sdEg6Nx0VtIFHRhIQ/kH/aMKyBZohQAVmintFLrAHUP1kLqAxOizICqZBOkULnPFA7EBQZF0MFBkSboUGRq2imDIrWFF0Z7xEShIkAJICgyN50aauPUQIft9AhC6Na0TegMXRpgBxdFrqMl0TLoqXRpq5PeLQ2FoYILo01cwujldFG6NV0WpzIIIyewGNGNODsaPlomu8eKBhtHtOFG0dkI/h+2mjwtGRyLc0S4ottRDuiM+LQ6Oq4Poox1R6D0XVHO6Khkc5ov3RSUAA9FjyN90bD5dB6gqiw9E6yOVkSHosPRmtB/SB3KLFgA8uUAoMbABQhh6Kx1JUwDpwOQAULC26MsUazInjR5ujJnDNGmtDt2uFCweWjsYCMkGHkYXojTRnZ50VASEB0gGcuOvgFhwtdEyhE10dS4RXRJkARdHG6O60fQwDXRoMjmGDUAG9CO3AUGRS6wHObM6FrUS1o7vRveijdGvCFIYFv4BTwqujQZHM6C94h3AVuAAui6GCUyIW2F3owmRKui+9HMMB9CCjQgfRpq4eWAxs1UCALo8XRNgRWVEG6KV0aro+/RfejDKHL6NNXO3ALORpDAp9F1UC94sPYFhgu+ie9EP6PF0VS4PAIvLAT9FR6PwCChIlfRzwgsUZT6MN0f/ok3Rs6InvIwBGh0U2ozvhruihtHuaJG0UXoniIxOi/1Gd8L6uBKMNvR36tQZGd6Nv0TPo2AxfeiynJt6KH0SPosfReohhAhC6F/0bPouAxC+i47Clcjb0avo9PBG+jT9Fb6LkCAOoBgxZBjxdGH6LwCLE5Agx0ZcL9Gn6Kv0T6EPgx++jxdFP6Lb0a/o6mhH+iv9He2B/0SQYvfRs+jXhCAGJ9CMIYzXRLwgwDFeBAgMULoLAI0Bi79HSGL6vggY4vRqxBGVEdOFQMQlou3RK4hMDHo6JwMdYYi6RV2jktFhfkgUE1ASYAoIgPwAGZGb0fgYzXR3ARQZGj6NUMX/osXRfV8QDEqGLroFIY9QxEujn9E85kH0dEY//Rrwh7vIEGJX0YkYsIxL5I29Ga6M10TAY0wxoWZidGDInmcP6QHnR0eiCCCYaMe0a3I7t8U2i7DEdOE80VgYj3RBQEUNELbFKeMDsTDRamjKjGTACaMcFKezRC4B0VDtGK7fF4Yzwi2ugUNGCaLYCEwAPeAfRiRtEdGOyEUMY2GkVGjdFYeiV0ABMYj3R0xj3DFFvmk0ehouKAHAg2jEYGI00QtoRLR84tDjE7GPt0ZgYlDRegBzjG9GI90TxoyQIKGimADtwDuMXcY44x9hiNNGtPio0fsxd4x7/hJjEnGI00aQwFDRS9gl7BPGNqMRpo8xwKGi6GAEADBMWCYwExnuigggjGOQAHVQOExF3AvjHPGIo0awQqjRTYt0TEyMCRMUCYlEx9dAqNEMBHMCFCYnjRKfwUNEI61JMTBoq4xexj8rLTaKF0DSYqExwkh09EWqLQAL8AbLRamjHtH0mKGuNXo5uRF65VjGXSKhMUlhW4xugBmjG3aP6MeCIKhI0mjmpFViS40R2o8DcAoASjGMMDFUTMo1tRGCjmTAlGKFUeJIhVhVN4dWAqADIkKuIfQgCzhxmZ4oDQCLWow4AwGjMuJ3OTA0czInmRfujoy4x6LZUMHoyPRoqiw9E+6KtMZHol4QxciyjGB6J/QPpovWRDpjSjEl8NNMftxVsCoUBtNEZ7iDMaLgQdcWuhUVy7SJxkaNGHaR5xgydZNgF2QOyo1jI8aidiD9AGDMRGYwwAYGj0zEbOAK5nigL7RmQhn1HkqLfUaWBalRX6iEpDQ6J5kdhoqmI+2iqNF1UAIAC9o4TR7SjqzGIaN+0d+gYLRnxj9FE8aOLoGiYzAIfZimzGMaI00SxowLRR+jFzoW6JIkNcYlDRzOgEoDjmJdXIVgpvRi2IM8C1mMC0fAEagIAjBtNGz6m5kTDItAx7uiPNEaaK80dponwxemjdZF4oD4kcpAVJApmjDlxiZHp0bynVEQT2jbBFfwHm0d6YlzR1Rj0DHfGLG0fUY5zRvmiSJD+aMi0QtsYHYdDBETGQyK9MZdohLRUEgeWAQWJnMTlol+RoFjCtHgWJpMXTNcrRuWibDFwWKSSmhY8kxqWirdEBrlgsc1o8CxYUp8LFOaIq0cyQKrRkWiaNECfBi0cEPM6ROFipzFW0LHMTFAfrROVBBtG2GLfMciY7IR54N0VCTaOq0XuADc4B5YFtEE5CW0S4YhLRwujEBF10FZJJAAJZ43WieWDQ6Pe0dRYvExyAA4oDyWKAse9o07RgLgqjGyWMC0czoHbREgA9tGPaIy0akALLRWlj7tEfaIvXAWY1IA95jFLEKWNp0aUoG8xjOiuLHMkBcALxY4yxYzgeTE7mOOkXuYj8xlZjWZFYWOcMfno3cxuxiUTH1GOdMduY5ixflj3zHZCIPMX4YzGAXOiLBA86IF0ZwY6vI8VjcjExGIoMZro+OganN4rEDqHw/haERKxJhiYjG+BCGfCAYiLm8Vi0rGKOCF0MYY0gxphjiZzaGOl0cPohbYIf1gjEChAc5kIEOqg6Ri59GyhFkCGDRBvRzAAm9F4GNb0QEY72wRBicjG5WKSMf3ouIxVBjlAgNWPH0XQY8qxahiRrHMGKX0WwYl4QHBjN9Hb6N4MSEYxgxB+jr9HH6LiMWfongIX/hL9F9X0kMetY/gxrwhZDGa6PkMe/o0GRn+i2YoK6OOsZVYzQxwBi4jG6GN0CPoY01cbpioDGtWLgMXHYCUUxejkDHWGOCsYVomoxnujWAiOGKsMWlo18xoVjWLHOdRGatgYsGx6ljg3hTWDiFMTo0vRnfDc9GfwBQ0e3XAgAHnh/tEo2Jz0di5T+AlejcLE1aJEoY5YtTRjRi0TEkBHYgMgAdcxKxiBjFQwFs0cFo+cWMWj+jEeakGMRnuKvRUEhKqZiKDcMSzYtuRmZi5jGc2L0ADFTZmxUxi6bFrGJykfMYlwAHGj24Ai2Pt0WyYnrCvli3LH+WPCsfUYtTR/JjEtHtmLs0VCY8NSYpioJBwS04CG4AZMxAaifkABmKy4uHInZQ6qiIjyaqMMfO3IthoNci93AJgGN5oaozE89tiIIBpyLT0UNcLOR7pjiHgGmMXkazIgnmnJjgLE7QAj0Q3qXsYmsj3dE8yO55oHY50xImiU+peKJmwIyuGNgOCiS1FZ6wNMbWo6tRAa4/ZyQIF3ARnY9LReGi/bHtKORkaYACGRQViW9aXSKukbKoqZRRCjK7GnABXkcAga1ReMia4gwm2jMTigZDRBdjblE13mLsagoyixjWicLERYnzsQXo9pRYK4u7Hu6IqMWLY8uxRtjUzHmyI5UamY1+Rfth+VHt2MacAHYxWR9pjQ7EByKLfIvYkiQUdiV7Fx6JT6pPYkDRgaiZ7EH2LnmltI+GA10Q4zF7SMa0WaozexhNjzpEj2OOkT3Y5FYfdiK7GtqOvsYPY25R3li0tH32M9McHYlCxQi9TbGH2JTMcfY8OROm4qYgX2JxkW/YiOxrMjFzGi4E7sYHYx+xTWjujgA2OFgDfYmBxX9jA7G82KqMbMY84AnYgAHEm2KPsWaYk+xct5HsRgOIDwJfYn7RA9jIbHgrjFsVZol+xymjKHFK2Pt0asY2hx+9jCHHT2KAcYQ48ORJDiCejeWPAca3YyBxjDiVxDMOKdtqw4/bi7DjjbFcOJgcbLI2QAQBhG5FQOKHsVCub+xtNjWbEzGPZsUIvYFRdrUf0AbAnXEcwwSFRLSVR1H7iP0CMNIpdRY0iu0pUxWqcneIzScaKjPcDzSN/wdeo3FROZj71HCwALMaSo4sxlKjBSA0qIrMSWAX9RVhiANE36NEcVyowigzhALbFvaGQwFbYmI8aUjQ9pAsECPH0eR2xaxBnbHGqLRyPJ0eoeBpjeigy6OScaZwbjmCOtiHiPaNfxq7YzIAATjA1FBOPGbsU470xhUjHVEvCHbgGUYk6MGqiYjwxyKTrmxhd2xQLgBVHx0BdUdGo+WIpDAo1HYyJxQNMo4lcv2g21GoKR8/FFowpxJtjinHmyNKcbrI6Rx/KiXhAsMBdUZ/rGZxZsgRnHjON+0Ms45wgq4hQtTlOIpkcFKMoxOpjP9Yp/FVURggD2xbuUBQg7OKCgPAo8ZR4MAMTRLOITYCs4m5xazitpFPKJeUYDATTKwsi1J4b6xtMac4zJxJEh81HZOIycfRuSHRCUkeOboaOIeGQ4iBxDDi+jH9OI7kXg41ZxJTj+nEPOLdkc8oj+RzzjT7G8ONBcfw48FxfTi1nFq2LUca9IghxYji7nGwuPuccQ4hFxTzicQAvOIPwTA4vhx+0iBHEQuKxcSNo7BxI55oXEEuJhcVw4klxSLiyXF5KLZcYUoyrR8ABZHF4yOGcUy4sZxBLjWXHvyOtkci4mWRj548cxiwDA0X4QG/cediwLGWqL2DnXgvtRWjiBIqdSN6KHo4ncRQEA9xGDSKMcfCok8R40jzHEXiNRUZhImxxTz8r1E4qLoILeoxlgeZiXHFFmNfUe44zIonji6VGoiAZUXoAJlRhcjANH+h0FcYSYFw8uyQznGsxHjoKDIr3i1TjLbFLYANUYKeRJxDtjZyA2qKbsUwowtoizhTaCTOEKyImYtEANOIk3E4tFTcTBovZRfaB7lwpG1ssXhomAxWYNcXEcOPxcVWYZvQZ9jbhCJmMyEIcQSWuHJgNABbsHeMM3oaGRd+shgDKAH01GJkESwLh5IrEBuiTrn249B6oMioJBZaJ4sdc48txLh5K3HYwCdYDCQUIAdbjvjANuLHcTNgCtxU7iO3EFoCmcSdGehIiuxYTxe8VHcb640GEUjjG3FN6G7cc3oIGRCdiOdEWHH7cTfogUIoMiUdHTaOQALNou4xFSid3FNuPHcd5Y8Zxu7iW3FUuKvsYW41rRXthWSTsMDz+g1QZ4QJbjjbFvuOfcUU8GdxfRgSnHvuOPcWi46lxeGi9bHsQBk0StAH1xYHja3GQeNA8Ye4xdxLh413HpSPoSE+4zDxaHjaTCvuIPca2mI9xfrjYPFfuKGcXZohzRyHi8XGBON3cRh40jxWHiXgDTOJv0evYnKRzOgDnHpyKGuPeMCI89TjkFzG9C9RPRuGORvzianFW2IjcQLEKNxbtiOVxaqNtsdXIk1R8die3H8eKTrpe48Cxd7i5tHN2PjMei4nz8Rbjzba52PMUWYvVVRZqi1PH3uPalNPnX8IKHjMPGMeObcRW4jxoJ7ilPH9uKTrvFYkzxc2j8PFMeOs8WR4utRcsiToyjRgLkaPrfaxOTwRVHBGOqcMNgg0xnBi3PHN6A88TNgHlxITinVBhOPDcU7YyNx+TjxYCWePc8Xg46nRy8By9RlOLTsWUYkVRBBAlXGygBVcVOgNVxv3tNXG5OQMcbq4w8RE6iDXFmOMmkUuoq8RNNVdAi3iOPEWLvJCRQTli+L3eTQkThAA9RWEipQzHqMbhJio5GU9jirXGOONtccSo5ru9riKVHvqI8ceWYl1xigA3XH/qM9cf44plx7RjO3CZAE/cRHkVBRMljBLETADocd3eMGR4kBhdHa7WO8QZlQVRV0jT3Et6IDdLp4m9AZ3jtWBT6KDcSnYmuxhnicnitrhpgtELXNRTDgKFEr8WWUenEZYAtCi6PGBqNW8R4YcgAtUl5mjSxRjZmyor7xgSiqQDBKIB8SbYoHx2uhM4ATHnB8S1Y71xcPjzZEI+PocQE+VzRtQJYvHgMD8WHkeD7geR4PtHNAn3AAdIoI8lzj5UDFaO9Rol4yTxyXiowZ7KJicROY5ceMbMXVFM+JOcCz4tUxK3ipjFreLzsdj45PRmQBXBYaYHPsa941mI98NrnGY+PBXBIAa6IAviQfFCeKtXPmomKAnvFvbGLKMoUT94x6q/3jS3FcqMl8XdomXxQcZ/XFfOKUUdJQVnx+XiofE/eJh8Zr4kDx3pAmHG8+N18flo/Xx8viSJCVqNdjIs47nxNvjgfH7KKfwOiEflRU7MN9ZkMCz1lnY+tR+niDTFJ1zWsTKEVVRf9j8ZGkGOLcdPowmRMfiIZHbeIGcZmoq4Q2aik5I9yAnAGs0WhgkPiAlHq+L+8eI4qex1vihHG2+IuAPZEWJRp8j9lE8KLvkaWY6EgeAR2IDfqO4UZ3eKvxH6ieSRBBHr8c74/XRqvjvvHbyIt8fn44+xGPiefEe+JL8d74+NxLCiTlF3E2b8Sn8evxKSiN5GCkEn8V44otRmaAHvES+IH8T6uIfxOUQe3HfyNfsd+46Px5ttY/FMGRj8dd46neQpgzfHbyI18b34thxhfjwVzF+KZIOiEDfx7fil/En+JWUZb4gvxOvi1/FEgA38Qv4gLxy/j3fE+rnHqD/Yy6AzPQjnE8czFUSdGco8MjAwAkk+KEQN4AcnxfR55YgF3UyEPqwNjCG+BifGWUDTYCb4kFx0piE6BAaPR8Zf4zpwtvi//FB2JEYHZ4tig4i4s3GKeN6sb247VgKnjQZEQyPM0fm47vWULicAk6+IICZ2XTAAePjmoDxeJyeBE45ZRnjpoYC9HgesIc45pxfpjv/FF+I98SwEiu2hIR7Nzi6mM8XIEFhgNGil0qSSMdUTywLjxQATM5Eq+Ld8aIE3/xbDQIXHWmzbUWwEwQJMbB0AkSQBECVf4sQJ2gS+nG6BLBXLoonXxokimaAG+OE8WoErnxTASV/FY+Oe1P34+3RqWj9fEQBKZ8VNEX2wVS466AmBLwCR742wJ80AsCgSqNZiFKoi9g7HjpKAw0CpkS6otOxlMiUaFs+IbscLAJux7TisAk5PEd8Wt2ZtxidihrjJ2NzsVNEUGR9aiqNGgFDNiN04uDxPn4khDNHnwkJ4okfxhki8zEQyJzMZBoiCAj3AGgmoKKaCbRzYDxL/iXAkhrhsIEzQFdxbAScglnuMoCUnXB7xV7jTVxVBKhXPp4mlxybjrLH0BLvMYwErXxgPiegkV+KwACn0Tfxj0jB5EPePICcMEqPxcfijhT4DyoCXd469xKQBf0Ci+NT8R94jPxabBwA4+KK8UTPItbslaiLPHOBJ/8QGuHCBHNRqd7PBM0CQGuHlxkzg+gmhBIo8bigM8xaet7aKOrgiSDEANHIgQTrdY+rjWyG84iY8JdiXdGx2Ib1K1wCI8Zy5kjxrdgMCZ7YoVR5sisQlGBOH0WKo5GRhQS61G7gOjsS7o5Bxe3jCdFJyPICdqIJOx9iicngzBNS0T8E3kxYniEvHxOKS8Qp4mTxNtidVG/DAU8ecEyIJGeBO/GBKLP8RoE0wJ0ISh1wbBJRkf0oiOx0pjMFH9uOrsUqYuZRXYEc/Hd+JoUef4/FxOviYQnpBKTrnKEzYJ7ijx5HahIlCUMo8eR/vj0FGByKKCcSE+EJUMi/7HkhMeCYEEzwJuPjmQlo+KWCfD4kbRdoTPJwDBP/mhnQPgA9niKAnKePGCRg40WxKjj+bE4OP08ZAo/UJBniV5GQhNt8bJkb0J1IS8gm0hL88YieeVRWQSfxgOqIpkXEEsoxAITkNGH+Jf2Bi4sexgYTeTEEhPMEoqo3kAZATP9YWhJAsYiEzQUwMizQngyNQUaXYrfx7ThrQnRyPyQE6uTOxrq5RaAOcxUCUIEsVRGITy77RyL9MQz48vxOxg1V7nzF88cOEtfg71JRowChNz8WvxVUJ2viVgnRhM1CYHY9pxmCiwwnKmKNCdOE5UJsPinQnuBK+CR04RcJmAS1wkKhKOCUeE3UJTYT5mhT6OKCeWE3+xZISQwk+KMjCR742TI7oT9CBwSm9CbsEqcJwoSggk+rh+CSEEtFQ+viCQmXhPNCXWE0kJZdioVzkhNDCQMop7xddjfbHARMtCZWEsOxcITYIkVhPaUe41KkJnho4wljKJyeGjKGI28MB2IwPhO/CcRY6h2fwT5ADsBOzoFbYjkJlcjx6j0+Ik8Uao+nxvYSnVHe2ITCbmwG+xy9ikIm/2PgiQhEjex79jLdFJFxJCXBElCJcdicgmxhNttPGEyORadiI/EB+JdvtnY5LU0wSMXE8yKLsXxEkCxZITwInOKOHkdKEl6R9di7hCN2LtUZmEmYJ8kSo4DwOIa0U/YnbxC789InbKMUcYHYvMJfNjy7GaePIcW3Y1BRv4SBnEVKMV2GYcHCJrNpsy68hJtvFEEuoJzQTsYCNBNyAMGYzoJrXA2gmj2ICibmYobwe3ioFFyKI0UZ8EkUJ3wTCIm/BOq0FM4mCJ8jjblGsRPd0bHoxpwx3Vogm9OMjsbxEnexWUS97GfhKhCfFE3IyiUT+gmouPKCZR4vGRN9jP7FwOIhkQg45+xskS5HE16PaUXVEhXWikSbwmgRMbCV0EvvxuASSokdOB/CcRE0BxF7ANvH2RNSiY04NBx9UTu7FGRMQceSEsyJ7SipokdRKBsasYhlxuDjYolfhNKif/w38J3DiM8BjRJmCZg4rwxtDjmok1RJYsdQ4wMJLDjiom2+KGidVoXaJ/ZBKokt2IqCadEqhxnTgaHEiOKuiR74m6JTNA7olTOIWibco4ex/oSmHFi2NmMf/YjaJA0SwvwJRN/CeDAAbIIPiqIm2KHOCe94k5Aeai1mgthPmaF1ANOxkaiconyqIBCb04xyJiwSrfE6+IYsTViMIJWajEYnp+NLUSqorgJigSKZGzaJ5hI/437xs4SPok+riJiUC4JHxRb5/HH0xJ78UzEgNcLMT3KCg+OkoMt4uHxXVjsqBtcR3Cf1E23xvMSooCkRPZgBwkfCJrwScQAWBOQNrrachxu4S4okdOEliTI44zxmkAtEDcxJz0QrE710ysSydaqxM2ierE2SAA2ipYnGeMVcbrE8qJ80BE4BMkAhibkZasAfCCOai0KMJiWbExixFsT4PHaxLliXrEktc3rpXr7GxPBiRrEvlxwsA9bEcaPDiSM4sMxIZitdCBxOL8frE95whsSMVzixI98cHE4zxOv9I4lNBMzMbHE4IJxES7Yn7SB5cU7EtcgKfRXYkrBNTifB49OJPajlXGaOKnQNDw6GwbiVHu6beQq8ewQ8dRI0jJ1GGuLq8ZY4maR6KjbHEWuJvUaN4/jmdrjW4AvqKm8dX4zrwdfj5/E+OPdcVlnJbx2ASxYnMSVGALeTBTR3MipZHSxI1UT5E9nxqATgAls+P4CRz4tAJYqiKInaqKoiRE4qKgBXi2pE1BzVcaU8bIhDcSAxLauIGkc3EvVx1XjTHFIqIscdNI6xxc0jzXHIymxUX3EsKJTjiiVHEblccQ646bxTrjZvE/qNdcU4Yvxxs8SCYnxbFIkAQYEmJKfi+Qka+EwCdsEoYJl3iY5HxWKz8cdY5pqQHimnEZyMPLOcAblcLv9fPE+RLyjrME9WCvniSEmZuN88VkEpXxfpijglqc0YifREowJZDAqokUOJaiW9o7SxJ2j4kLnaMQcQUEwCJtYSJokTmLr0Q2oFIJKMBRjDL+La2DAkz0ADyiQ4m9OPe0bpYsCJ4iTHtE0ZGdsXAkjcgCCSmIk+HHYgP7InUxBpjMrFiqOTCTgkz2x3tiM9FQbloSY6YsoxuTjjeaQIEEyCGEupRtkSwXE6eLv0cW4goJvnjPVDQBPS3ImYuEwaqjQnFgBKJ8VtgYdOI4wYAnuimp8ebIrYxNPjWQl0+JNUYokk9cyiTBTylmG9XDSAFNRXWRVElAsDJied4StRwXjHfEAuPOPOnYuGJgABkcndgNz4iRJsSSBYjjLHVDNYE6BJJSSCCC6x0IiTIki1RxM5tmJMOCKSUokggwztj+/HFJNaSYKeGpJuRloKwVyO1UUT3FfAg4TmFFjOCySe46L2wqqiskl8AFOXGMkmXR0SSL1xVJMYgIe8SRJkC0ukm/5RhAFWQbaBB8TshFE9yioJu4t48UMAs5GuqKKkR5IgUmKeAjkmOqOH0a745wJHSTPQDO2IncbDEjFxifiCwksJPGicdInFoNliGAkKJOaSTEkzpJAsR7kllJPmWPtE+Dx36AeAg8BDmSSMk35JBBB/klJYSNUO0klpJtyTVkkxeJmCU8kr5J1yT4UkrJL+SXZ4w1chTgpogjOOFiT0Ab5J8yTIUncAGliXh49Lxf44RYkpOSgSTckjFJpiSVtDLJOdsd0kwqAZfjhkmkSADcb6uE+GfzirVxTJKfXJS6PFJFKSCUlopJ+SQikgWIcKThUm0pNZJmskqkAGyTpYkfhKFSUSkkVJBBBk3F6nn9IOKEsgJkii02B8JPEgFBIfjRgmiZGDJhO7Ub2o6uJ96A1XFCBDYYGV4xuJt8SYVFtpQfia3Emrxz8TjXGPGTficsXQbx3cxLXEwgGtcb/EweJw8SSzHN+OdcaAk+bx4CSZ4mOhKt8fTQHSAJNgWUkJuIoSSm4w7k0aTSlC4RmKxDG4vGRbGFrnFhpME1HLQB4Au8jxdQGJMsSXIHfuR5yTYfLmJIwCWMo+4JWqSG1F1hM3MeDY3kx9ET+3F4hJdUVkkimJd59FnEaONa8qq423iJuhvqH18Mq1k3E4MGLcSTHFdLQdSSiop1Jprj34mupIgFjgEtNJJNgWvY2gHNsZ5E75cGeBvElxeLXiYz4neJm8T0AkNyN8PLvEreJZRiaIku2J5Cdx4jsJWISm0kZhOrCUSE/hJx0j6wn0OMbCfYk7TxeMjswmcRJyka3ANpxh4TIInyhLPCQjJZ1cSyJDAnbBLNUackxwARySjJEnJJTGIKTAtJux5EgliqNCkRMeIERQySo0kZuJTceQkuDJ8aS5UlixMnSe7uAacM6ThFHz2PXcRwkDRJoejcvEb6zwyTzCJlxqGTp0larh5kYOudRwQKS2Eke6KSwvNEjFx2Lj1HCDOP5cVbEidJm5jSMkKrnIydMYqjJz0TBHHnRLbkXRk6jJh0Sf5qWxMNsXg4qOJWcTGvJsZPQyWRk1mRFGSurAyJKBsd2Y3FiGcSwonRxI4wJJk8NJaGTYKT6KNeiSo4hTJZ0TPdHfq1NAC2k9qRarjxa7EBAtSTfE50S1qSKnK2pP7SYio6dRL8S51FDLQXUc14p4ArXit1GfiOClPJ1BCRZmAevEJcjpwP14mdUl6ihvHupKpAJ6ksbx/8TJvG+pJm8ePEubxkJAg0mj6xZUZAkgvxbS8YQAkZLLdungUhoYGjsCikNFT0c04i5ckcQIZHpbiKMbt4gIA/7QcYlAhKS6pIgUEJ6KAknG5pM2XHREg9JsiTnVjBdHyya6cBtJFzi/cAbDAciYUYwZw/pBQyadngdCdbYyiJdtiFPG7pKk8QU4plxaWSqQAZZNyyQuMVgJ/riZsAGmO6yXUbLRJ7d1A7HzZLnmr2E2PuGZF6h7zOKcCU6E8TJQxjzZEzZMp+Jpk28urWSfkCLZJ8idJzXzxd2SkzHTZNq4hlklaRYajMYnDZIgCZvE1bJxWS+sl6gF28SAAZPYE2TcIwSABGyYfEu2xJWS1WClfgchOSk/EAlKSnsl0EFQyavE8JxKISeAnzYiZ8fyk2HJgqSxYlnZJeyTaANgJ3ATJRBo5P4CXE4zZcCTjkvEY5K+AFjkq3xOOSpMkrSJwwCAAewJ5zj7gnfZN6yRM4frJ/2T+uYw5MpyaLE6nJz2SpMlbZLHTuZAJbJPqjH0nsQHG2BTkuHJOASackXZIl4JuYj4JToT8Uk85NSyXzkmXJS8TzZGESSFzrCE31RmMShInoRJEiZhEiXJVOTlckI5KkyWrkor2RkTFzyuRKisVDAFNJ8OT0smVpN+Bs2w07JKuTBNSYuIwntLE3xJEASAklk+KZ8XAExnsDpI2MJArhDIG6dXDYZIBh7AAOFMANT411QWySyckKeO+QFukpJKPMJ5WGa0HJgHY5D0Jo+seczmOAAcCaYqXJLuTFNGO5IvADtxPPJF0j15T0+GJ8d7k6AJvuSwZAGviikBiaIPJ3Zc+AArtxECBHkgUIxpR1onY5OLyeioRfhzuSTcmaZLdyboo0pxIWoVihsBN2cRvrDzwbKjrnHS5NdyQXkx5RU+TFNG3wGcILoovaA4CBxZD8qNuyVoI8eoGiS/xyGrncANZo07UGiTd8lchN/QFkE7JxAniSckkSCS8RE4wZJBOSonE0wXRyXbk2bJDuTu8lF5N7ya7khfJGE9zZHL5KDAOLIV2RlhB+5j8qNtybnk1/J+eTn8lz5JLyYvkz/Jxk1v8mSsAdicykrIJXti6qBQbhTCW6ojfWFBATjDQuIecWAUgtcqh4zslmFFecYWEjRJYqjP9b6JIDcTHI54QZRia0mLpPx8RqooHJ7IS+klyePTUQp49IJhGSb0lPRJQcdxEkiQBYTu3E+hKc8VdY0GRmaA+DFYJK8FEnXBqxGCTtWCH+LU5v+0GKRUMA5pAKSKfwKBk1ZylMiyjEiZNo8TuEzApneSnza4FLlvPck7jJ7BSBEk0ZJxcUs49QpwBS7TE4FNq4ngUilxOGjdCm5RPMifbotaJOwTUEnIZJA8cYU+3JfeTNCnmFJlkfPYg0x+H98vEmZJqDtDwxfRm4jWyGgG3h4T2k2FRdmS7xFPxMcyY6kqxxI6SXUkhZLdSd/E/FRkWSn1FDxLccUAkssxcWSA0kJZN8ccGk65xHyDUvAGEEE4ikkt7xOaikYl7IBriNmuXbgWbj8ikuHzdcYJxenJYQSs1y8xFetFuQJlxBRT6im1AjCysiADngEgB+Ym9OMT0SuIIOM7WS+zT5qIhkYMUvnxhijwVwHpOyKQMU7iQQxTagQjFKYlBc48Yp8xTJin4IiWKZZOWLR02A1KrtFLqKUUUroplhjI6AsGHznv0dfoEbMScpHCBDZUX4U0FRJXj2qGWZOQ0GEUm1JVXi7UlRFKNcUOk2Iph6iMVEJFKdgGFk7aB/cTCVHepPSKaPE/1J3jiwEm5FKSyV6465xu5R35yoZPNkQhwZ2qdDowoDC5N0SVnkkNJBfiYSm0ADhKfIAVuAjOTWYjHpMYgMgUk+REx40CkKFIFUXqwK5JYsTMSkZZJj8kjkpbAETi4TCp8A6YB9wFnxSQT8vFMuOpKVJky1UP0BhsnrxNXSZz47eJLR4t0nrpNoKUk4gCJNYTxIDXhLCEVaEwxJHYTnVFQbhYKekE08JhoSmMl6FOOkVZEqoxvJjIMlFvmgyeTIsDJbJTiHhCGE/Se2EnjmS/iOSn8SAyydyUnQpj2igPZp/hqKeaU2EpUmTJtG6yNu4E+uT/WTwSqSkWlKdKSAab0xyUTps4sFJFUZSUq3xnJSZcmP2PA3Pr40AJhPjvAn8lM1SeukiAJ8eTN4lxQEWccnkzSg8oEYFz4iAYgFauA0xMoRetDZ5IOAA6UrEpUmSwymy+LLyf4k5ECgSSq8khJOp8UTAFMpT+A0ylasAzKTok6bOOZSHvE55M9KY6U0Mps0SMvFFQFLKcisT9wvgToqhxQE9sNCUr0pnZShc7oqERvB2AXspFOj7aCF2GV3sOUgspGWSEHFxMDWKdOU/spg5T5ynt0BHKR2U9NJxWgjImEIHjoJs43Y8LBTtSk5SNJKQYkzrJ9wSEClBlIxKaOU3cpCDjx6hqpLLSdHYytJMpSlSmvpJ1CSqU7cphZSZcmnMGlSWJQcUJ2SShTzPlJLsa+U28JjCT5TE0yLrSaG40JxGqiY8lURIhyfLAKHJ5+TY8lJOL1Kf2QcDJAeiV0lClLXSWKojeJApT2Sk4BJDKbuUv8pMCAxKBgwhZKJLXTFAgFSKYlOFNvKTuUqdJaMBIYAllOGyaKUh2xfJScKks+MYifhUtAJjESr8kSeQM3B6U4Mpd5TGKmQwDpKSnYhOxwkT2YDxhPQqQxE/EJLySDokBhL5scdE98pUoSoIkCgGPGM1k9dJh1dZsBdYExiJqwe5ckeAUKlshLQqZJIwDJjFM/0kdALdKQRk0+JRXiTUmV1xlakOorcRXvdyvFWpLHUREU0aRA6ToikfFK7iWa4sdJw3iPUkAlIfUeN4wsxaRTAEkglJASWCUwNJEJTETzJZPRKX1E8CM4pFSGjreMqKS0U9VJ3BSpKn5BIRiWUU9Pxw2T4KljZKScY8Eq4JmiTtEkpOP9KZjEjGJWiSuUnfOLWaOukhrJcFIknEzBI1KV4YrUp1MT9SmHZIkcQKkpXJCVSXmBhOhmkCUUsXxzf9ZSkUhIFiTeUnqpSVTguhyjWvkD9ARhJ6gS4fHHZIz3ObIxKpTPBkqkPJMEycrYw+05NAbin9qNNSR6JTtJQZCR1FuVMMcS8U+zJU6j3in1eN8qaOkn4pX8SHHE/xJSKRN4sKpI8S/UmRVL/kQt4j1xkJTBYlixPBiRGU9KRPKTvVEbuN1yTSEzCJ1VSRqk8czmqV9U3nxG3jZEkcJJ4SYWEg7x9gAjvEGZRO8YB44AxDhSJRgSFOAMQO4t6xCRjsamPeLfSVMo7YJ2VS0/FnEiZcd9U2oEDyj5clW+IGidIkudJYsQqCkcBJoKbT42iJdBTZPFH5PJyaTU/AJ5NTT7HmaJfCcj4JRAHNTgfEPKOfCYOKcXUJASSwn3pNYKdVEtUps5ii9G9RIv8WTUzycQtSeaki1OkcZTUgvx1NTualLRDQmCrU+exyx446B+qJwCQrUqYpQtTvLFq1L6iRrU7QpD0StPFsFJsKWRoocxctT8XFG1M6UafYmBxZtT5am8+KFqZS43SJckTa9EUaM5yYbUzmpitTT7EFANRgALU7XQQtSQ6kzkBESU6wGDcMRtUgDXOKdqfcozDJNtg3amO1I9qcnUmRxBiSwvHBeJFUSoY8VRzRSaYh9EkeyQHUwWpgMjZqk4hKpcFBUjQIUFTwalU1Ov8V74nKIPvicoldQFpqdKoxXxGCTXEjbFOsPLQwTcJg5Y8/Fh1NeCTf4xuplajlAn+h05iSqEgepOeih6lEgAuKTEEz6pddTB/HT1P7ILPMaQJdtj4YnhBIuCeUU/Txgfic7FiRPHgZAAMPxHdTI/H3pL38bWDDQAEhSb5FrNAEKfFU92pi9SG6nFaj/6Ot4uGJpYwN6lpJMQSS3rHepMkS96mj61D8ZfoiSJ3US70lOJN38SfUhPxMNS+7EJ1MDqc9qQAJ3YSXVGRlLYgH4k5FYFeTcNEtHj9yTXktuApgAkAkINOFKfiEpBJ2fillFbhOf8ebUyBpyJTGEmtOMIqRDUlOJ7sTiYlE1MuCRTEtjxslTh9HKFIxcRrEgZxvdSGYmENNvqczEqhprMSi1EcxKVCU/4ucJgaig4ncNL5iZWo+eps9iuqlUpPVqRLEkRpUsSfPHF1Ioaav4hWJrATE4k8iE0iJQ0t7MHsTNYlexM0gBA0wfx8cSMQiqNKqAOo0rhpmjTiYkqFL0aT6uX8JecTyZ6ERMLiWsEl2J5sjhGlmNNZiVrE3Rpk9TCQgGNO4IAHEkxpPMTZGnaNKGcexooJpcVcxMmZxJOyb4032JoewE4ksJKcaTI0lxpfMS04mqplCaapkiTJ4MTrGl7SFsaY7Et4JBMBaFHONPNiQE0/lxFcSjUmtpOK8caQ1xKDxSqJrWZPcqSdUyIpXlTzqmdxOdSd8U4QedjimXEa5IsEDlk5rJEkA0IlA1NbUc3oSWprCSeMkpaNmiX3YtGpFhxisnDBOisXYAFSJkoS1IlQRI0ifRElnJ7uidskGO1ZyQs4dnJC79W6lRBNGLNJUi7xqmRsQnOADY1rFow/YYlBrnFtNKl/AbIEiQ5xSUEkSjCnCdtUttJbz4O65dpL6kUdUyrxxjjamkOZPqaa/EuIpTTS6JG9xNuqckUgeJIVSAElPVNiyfX416piWTYqlQlKZceAwANcFoghXb7WD5/PuAWYMWyFxmbmyKSgAc0u+ARzS2KDXOJhaR04OFpXoYUqmv1Jyqed4Sqp/siI1FVVNSqYXUsgJ2KSnGC9OOOPE4wCGJ4iRyACuKwdqVyo3FpizhTaoEtO7Kr0U3pRoq5xKk4tOagLC0zlp6thuWkVACGAOt40lpArSmWkctPhadjYOWgYrTnVx/yPaTl3U0GE36t6alkRMhAFK0oVpsrTstT7yLOKT+uUYsyLS+hyWMBzcWP4/ZpEIBMWlWrjYoA34rNRKSjzWmHNKtaWJQG1pKfi7WkxswxaemuR1pweSfImutLqoO600XAnrS2GlChJwCey0/FpIrS9WmXNINadeSPwiRvjI0mj+Mr8Wwo41IMgVJZzx2BbyTxEafxibTMijJtLWsaroxUJ+DS+6mMxODaYK0vFpwrT9rDhtL/HG/w0Ys0bSlWnetLH8bhGA/gMgUl7CptIjILW0jNpw8hG2n/QgkgLm0tXxBDTBGkm2JDaSW07GwZbT+gSrBJNSNG0/uRsbT4lHxtK2JvW0zIo7bSc2k2tIvka206Egc7TO2lsNK5iYW06VpobTS2mnFIjaRW0qNpoxYRqkTtJHaYu0mdpw8gs2lNtIXaXfIpdp39sV2nk0GhaUW0mVpXLSh2mRtLdFGhcTdpA7TstTytOx0N8EsxRI7SrhBAVKPaem009py0hTAAYWmzyZe0hNpwHSRdFgdLeAFq04tpOrTSyDmyIKAUjOfVpyIAtcmi5IOcUS04mpiCTS0npONkqR3U+iJHdTTykeqOMfnrU1V8fkBkxS92TjoO5Eh6w2zTeakixNxXAyrLZuVdQJIA3QDI6fs0w0AgoT+6kbtO1aU+0i7+7/iLmnltPF1EWowIx/odofET1J46fB0vjpyHTBOnnFJHqaj4uDpj7Sw2n8dNFwLJ0n9c2tTXwlkdKmiBR02AEVHSoYD0dLONHR0yjpPzNWOnMdMtgIDmFuG7HS3WnOtK1XIIYDgJlMj/rj3tPfaQh0q1gb7TeOkitK/aeK0waJ+D5U6lstIfaVu0wdpbnSpOkedPoyt+06FcZzMnOnudO3aTJ01Dp4ZiDOni6kpabcZSPAinSAum6tKC6Up0/awnnTFWl8tKySfmoxpxl5TAXEppLuaaU0jj8fYjr4mPFJeaffEmppnlSPmkdxK+aV8UnuJoWSkil3qPuqaFUn1JjrjMilgtMniYt4j6pQGi2baeGIu0UfIvKp9BS2anjZKZqXukpJxjCT5Sk+2MZkRwU9PJlmBOonSlI4iTlE2qJ+US2IlLdIEiWvYwGpGETemkuHmD8f6U/+prajP6nwNMj8TfYhSJUpSxnBWhOmaVXYj8pBoTa7EaRKTSakEnSJClSfamF2IMiQ1E4ZpJkT+7HUZJyURZExoJLcjx7FgRJNZI9EqWpvTjGolfdI0SY04ssJqCjLTHwRPVaZwE4ypkSSknG4VJdUacud0pZJToKmGlNbCSGuE0pnYTvXH9dLUsZ4UuWRKUTWolpRJ51oHYzKJPpi17HQ9P0KdvYmHpdpjd7Gh2P5kQT0rwxKLjz7He1J+6V5YmXx00T3dHg9IGcQJkwZp+ij2onKHiUcZek+Vxu3jXpEs9MG6cLIkaJe0SOemC9J5kVNE97pM0TxylNRNO6XN0paJIvTAYlCOOBiezYnBxkvSPDGE9OFkXdE6wpK0S3okiZ3V6S9E4RxS6dmemG9NZ6cQ4mBxOhT5enS1OUccpU96JUvTJHE4aN+ia90/6Jf3SDMmrRJxcQb0/+ARvSzZFeFNm6RlEhnphUSkQk09O1kZH0qnph6JVOjB9Pt6cLIplJvLj5GlogHVMSnk+spmiAqgCZlJIkNmU7V0eZTE+kDdPDkan00lJssTbKnGpP1AGq4q8hToiepHecKhUZV03tJHlS24m1eJnUQ0075pjXTu5iRdKk6R70o4p1odxKnIhMhAJE43gJ9+TJOmPtKl6YP0m/Jo/Ticl1OKSgAKEATxKXTOWlS9PNkf203WOdvTshG0lNYqeN0ybJIvxSWnVVMpiXd41HxxgSe+kT9I36av0/zpy/SN+lXLnVcubIypccri8Smg1MIyUv09fpSfSpgDpdPxaR708PagMjkwlY1Jf6d0UqeJq/Tr+kLJPDKbj48lp/sjJWnQtOv6StIytcDbB1vHO9N6cUJk1UpiAylKlVGOOicR06SpmVpt+kRJOZqUk4/Kp8nixSmYBM6cbhkuZxBGSXVE0NK3qRTEmhJjESF/HK+IgyW1UjCp03T86l7uCqKbNcOipfUS1+l0lTf6TAkrm20DSY2BJlJ2cVmU6bO4eScnjDZOn6UTklo8iPTcBkO2IiceiuAN0e8B8BmMFIhCaf0z/pwAzkTZXsCqXEeUjCpcgSiMmG1KbcD4Wdwx3Azy0CLLhQnhpk3cpj5SxBko5MJyY8OfgJCdT9BnwYEMGSX04wZd+diVwUZEecey40EA5LiJFEvdKGcQ+Y1AAOgonbFE92PiXYAOwZOvgHBl99LYAC4Mr387gyxXEcuMtqez0nwZ/Li47BcBHksaEMu8oaKgIhkmDPDKW4MrlxhEM4hkuyJiGZ7Il0pBpjGnH4dMFKcxkxzRNaTsQljVIv8R705RJ/8ADjywOKPkSfkmmRjTjGEnphMYgCwU7AZpOSTKkO2MUGbqopJx2ESLDg0dOT8WokryJC6TVKmzNPxqfd0piUiQyXelIDIbkRUMk2Q9VT6fFuJNFwB4k+8gzJSbSlriDtKaNGZyJGAzdSkMDJ45gaUnFpagzbkkNDN+Wk0MmXpVtS7ImKVKBiYGEkGJrLTA1F1DNaSRcM9NcLtSrCkIDLN6Q8MvXpjLj5qlhNMWqcX0qox9Qy0lxXDJiUXcMqGxRmTThncDJBGY0MnTJmOSZ6mj5ImPJx4zIJ7KTK1GAFLFiS8M84ZoIz4Rnc5P1QHwM/NcRaihKkF+M4Gf30jCAnjhhvpIdKPMWe0GjIhtsJAC+GOUSZI0ysymqSu1EqDM5aWSM7lp4e06Rm6aJpGb7+bkZDIzWkn6+PRUJvErppNLSdil7wAoGen4n5xmMSiqlp2OClBJE3ZpYzSYenX9J00b4YigJ13SLFFqVOmGc9I2iU5dSoKlqmPHqduEq3xpIynDEUjNv6fyMvTR414LRm8jNuSfr4okZhkl5mhFdOKaaZk23ip5CKmlPFNsydV01vpg6SLqmNNK76eOkp0JYGjhim9hPnmoaY9dJkxjPJxLFKacCUYk4ZUAyYRnEpI3KpSwM2ykbiolAnrjycQp4iEZ2JjshFAji9UaLgEVRMbMMekdDNwyayM4NpZwyJUmJjLhQAk4svpmYzdMn8ZKOSe6ozAZMjB8On0JJIKYb4imJmPSVMkQaIkyViM8sZctBKxkpjJrGTxo8240IyS+kgDJYqWG4rgJKIS5BnadP4qWiE7hIKIT9rjJ6nMElbkueaNuSMTRD9JmwKjkmwZkgzwBmg5IYKQMMh2xBiSFFGAuJAqQ5EpwxVaSwImjDKBYAgkkcZwIyExmy+JQ2JjAD3JUZTy8nllJ9yfwE1Bp9vBgByt5JewJvE5/pcYzRxn3jKDjGh7STxmcAorEo9IoKc1k4bRkYyQxl4Vn9CTBMg9JTThHuB8eL3gEMM1cZlPjjehoTOjGSMMgrpOSSahn4uJ7GQk4h8Zuyxhvr6ZKt6XTYyTCqYTjyktjJdURgM88p7KT2xmxjNLGfGMxVJmJ5iJkx+WwRkA4x/p+aiPnG6DMxGWWMoiZUSj7iAqpImAG9kqqp3QyL8lI9JkGY1IiY8nqiGGkDqHrSaQUrORpiTE8mLDJd6c1U22xjYTK+klNPsqXyDDxyTzTQilN9PCKV6M+1J3lTfRmd9I/iYkU/5pLXTAWlRZMeqTFk4BJWRSoqk5FKniRAkm+pBEzr+mgbm2gWxUt2x4pSz0mHeKAaQPbeHpcFSRulURJ5CRvU9RJBpjiAiqqOIKaj47ppO3TsLF7dMmGYqYz8pMwynhl9tM8mXrIdFQqLjkHEoDPuGfxk28ZXhivJnE6MKyKkAQCpNYzpjHkhPEie5MtlpmUzQmo7IMRoPJkiSZqFS+hmhTIKqQ7Y3cZkAzmJkl9K8mcGXTggXVgN55yyPXyfxzfyJEGigonSc1GmYFEgrmyEzh+nTjL3gGnk3cZaeSupn8TO4Gb1M+zKYHjZfG+dOeGXVM2YK60zMPGy+PuSVtMjKZq0zV3Z7TKY8QdMylxPkyzDA4xN88QSE3zx9ITlZG/mOvScN01mpYUyknEGJMYST2ErDplwSxGnPpPuCQIMpY+IiSa4iFTOyEWtMqKY3biolEvjQAmVUYsGZ77ig4z3JMr/AJ5aGZRUzTpngzJmwPDMqRx0YTHum2qNBiCDMoCc9Uy0ZkDVM3qVKM2qpFJSyjFFqJomZ84hwJeMzYZlgeKi8R+4rOp/pTSBmByOfSU94jIJ/TTXklYmNrGWgMp22vCSJSnlpPImSo487xSni9hmeKPoieI0jgZO0y5aBozJI8RW44jxC7iP3FfDP96eb044uNMzUZm7uMI8RyYemZMHi5hl5TJ16ULMx9xyMzQZnqzNQ8RB444w2szsPHz2IqmSrMv4ZK0yepmnTJhWBByQ7iA3TBpkyOKC8aqotOxwRi1Zn1TK4kOt4mtpU7T2FG0AWbaQHMzbOrJ4fInM/iBYB70taZvsyOnARzIvAOi0i1pHrSe5L84T1kHsgOOZrMQo5mnTJjmaeuIn8AoQ/WmxaOB+iVoCop30yt6kJBKIKQRk9dJSszBZl1jOSmeDYjBRGlTgpnkRLamQQMh2xV0yRfiJdOqKewM2oZUsyBpyTCiyAFbM+jJqAyjom8zLTsczM31R+EzapknTK74Pu4zOZPsy+5lHtPTmWQExeZRCTTWkhzJZ5vOgSmRwczG/GnKPXmVto9KZQAyp5m7TMpcdjM4GZsAAfImQwC31PDQYoAh8yWvZ9zJzmZ9+A4AWiTAOm1tNDmVtokZq0/jX5mUyNNrJ045+Za8yvSisng/mevMoUwfsjf5nbzNSUbvMr+ZW8y58SHKIgWSDYmspF8yTWDOAFnmUfMu+Z6czH5lh7FAWdAsneZ/8y35lQLMSUTgsyBZhoAf5n+zLAWYHMgBZL8ygFmmgBAWSQsrBZ4CyCFkg2Ig6XQstwQuCyiYDFdN0md4Ed0ZRkznilvNJq6WdUurpJriGumWTN+Kc10m1xtkzUintdIyKZ+opyZ4LSYqm5sDiqZHEoWJjeicfGeTiJmW/UzupOKTuAjXOIRKby4yUZyMTrgkOjOkoDcEot8/vj7gn3LAnGVIMibprUzXpntTLdsWhMjCZspSS6BFZNWaRs4P7J+98JYpaLO6saxIc3JmuTxZlGBIWUUy47RZ2HsQelrT10WXsgfNRqMTDFnOTOyCRc4rqAYozu6kczLNUcLo4I4ySzWSRAeI8WXuAJ9ySJSZwBEzPUSXEs0GECUB9+lLTPD6cdIopZZh49skzYF3GVp0tnRq8zSFlLtOvABgkvBZV7TgOn1LJl0VpovZRi8zAllZLNmCt+gN/hx0A1Ob5zLWAvPo5wAcu5F8kJgG5/CahTxZ0sy2Gj0ZQVcgXM/pZiczRcCDLJEocMsteUoyzNmkLpKwmWuMhuA/TSwemfdKT8X5M+GpL5S+8lvlO4KbsEiGRSiye3EajPliMF47bp+uTduk1TMDUZ0so+JS0RFzzFhKzuF3M/biiuSpGl9RKeWWw0FEp5VSqqkEFM1CeJI8+ZskBL5lIkF+WadqGZZvSyfoD63mpTvsktbsNCyT2lrkBHGC0s8DpQHSUVn7gDRWbB0huA8Kzd1zadKRWU0szFZ3gBrwBptJbac0stwc8CywVmILN+oJMsrpZ0Kz/WmwrJNKHisu2g1Szy/EYrKwAKisuo26KzyVnErNZ5tysnFZyjwtOkTGJqWbQsutpfKzSVmNLMg6RKsylZ6SzESle/jImQ/Yx6Z4nwk/EfTK0qZBUigpJcySZmapJdUSJ01mZgvBmEnBLKzCYFMpQsuYyRcmRLJPmT9kOVZmSyvfx+lP88euk/MZHVSJGkIjO+WRf47RZBIy3cqG5O6qW6sulZj5TQlnFVIiWWt2e0ZFMSWpHOjPPiYlFcUUs9Dgim9SMMmVU046pPCzvRlmTI76YIs/ypfxSIsliLIeqRIsiKp0izuunvVMhaRLMzhxkjSmXFPMFNQGnOc7Jgmp1ckW5MsGcP0rcZ0TjbBnFrOmAmWsuEpgQZB+ltzL3GWzUkrJGEAcUAbjP/mh0wJkpYkiucmS5LFiSWsvHgL1xy1kk2DhSfgie0AVgzb8lwUmJyf0M7kJygycAkjrMBoHw0ZtZZayP8jZZKyCXnUlYZCni5RlseJFUVS4Q7pqUz5YhseMI6ces4WAz5SoJCZaM40c1M3oZ0njm5lKDIdsTjE+9J1ziV1lNrM3MW+4vhom6yi75KsGliX9U2BxssSG1mlrLHWeussdZP6znCZyyIWmQRk8ZJqIzlsn+lLkCClkvqJ76zQNmfrK3YN+sq7JOhTKCkEhMvccUEqCQzOjWdHaTJdGUz9IhhBkzdRYejL7Si300yZnzSBFndxKEWbQgQ2p0vjbhCqLOJaXsgPJZPhwHFnH9KTrgp0thZ1fTmCHaBHK6ZU0nVxVXSE1nUbP4WcOklNZPxSDNBQFK4WJKwPEp9iy71lSTIggPzIr/JsmzQoC/5LnAP/kz/Wq2TCMkbZM4MbmeUfWIgyXImZAHRlLhE9FUrrgL1zpjPemWiM6ORO6yT1x2LJhwZ+AVPU22gZNmc1ClXPF7P/JcWj7Vwt6L3YIbgG6Zy0I7pnLQhKGeuM0pZiJ4jNkhjLEaUBo1TZbmz1NkebM02V5s16CfbsneksJJqKbxssFRKNCQ/qcLLjWa80/VxbxTxNmfFLo2amskRZXqSgWnRZI66VIsrrp4JTXJl5FNJqfYMjIZG/T5WmXMGygGwE6tZm4zrBl1rJaPGkMgwZUvTGtlXMCQWbUkwjpSBTG5lLYAXWdJQRCp6rB5sgWLN36V1s8IZDWyMmZ9bMSAIREjQZtgBCpENjLkmUcMlgpMgSCAjyBJm2fVst/pvWzmtmLbNyMojMkMgtWywhl7bIG6Qdsj/JPLib1yfuH5UUEEf2RU3SyjHSFN6cRaIQ5cmiRdtmODO7fFds/rZx2zeIDgazqSagAYmcrP0D+nPCAnmUI0urZX2zJgCRdBXicNk2apNMiuSyPrIliCiE3ZJEEy+JlU1Mh2T1srwZhLDChmvKN2SEIMwzZ2lTps6lDI22eDsk2x4VBztlQ7Kj3Njs3RRuQzxCbY7Mf6SPU8gZzWTM5FOrPNqZjsubZ/0iIxmLVAhEHTs8Vx+BTdZkaWNaCv4Mz7ZWOyudlVyJ52bjs/nZB+CbhkOJKSGRhqVIZZ2z0hlU7Jh2VconQJxGQpdn5DJiUQgMnVJwOw9Umi7M52VLI9XZhUBNdmeDLZ6cxsnXZsgSdtlK7O62Ybsq5RIijEXGFKJdKRY0m3Zs2z9tk07Id2S8oopRd/SpXF+zJdXHK4p7RLGSvqkc7Pd2VkounZ3uzJXFyuKmcZ9MsnZTjSQ9kDdPNkTi0MyxHvSUxmtbN7WcuPOEwBuy3+mJ7NKmcisFPZknjE9lyEKp2c7Y9PZ2Wp+VEKTPIaRjsynZHvT2TEFNNDiSCk6aKWeyS+lOsAS6c1k0/JRJSs7FbTCSAGSU/XR8PS8PFpbJr6b+4rLZwmzm+kmTLy2e30+rphWypNlprKCqc440rZ9kzytljxMq2dFU6rZvXSHlkm2Leqdy0r38s2BiAB4DxwCZvs28u8Cjd9lHTLv6aaMnZB9Iy9NHclMH6aNs6iJO/SmslABOvKWUYknps5j0okXpIRCZt0urAK3S5ul09Pd0THYj/ZSDjJKl65OkqcDU7+piYSL1kEJOK1EH4y3ppPTGnDndPW6Zd05SJtiSZmkpTLu6TqM4RJWkSnumgxASWT702A5yvTeel7LJsiX9ExpwAMT/uncmMB6T1EjRJisiXTHR9PDsbH0kOxraQa0nXOIP2V8wCjIO+yRZEp1KZccwcvHMbBzVamcHLP2aqMy/Zu+y7VkKyLm6a/sjixcfSVZFdQloObOYn/ZdBzV7F1YCYOWfs7fZVpTTal8HKsMYfsoRRu+zDplqHKniX1Mi/ZZ7QVDkJDKNWUQcrex3PS8DkP2IIOUD0k6JLvTI7Hc9OWifAci8ZPUTFDnqHJYOf7bNg5svT+an77LP2dwcq0prtSdDnWhz0OTyMzQ5+9FPhm6zNQcRJonnpFhzVelfdIF6TYc6BxERz7DnVzKwcb8M9vJVvjmDnKHN32XdEk/Zj55vDlH7MAyjho7I5zByBDkGHMyOV7UsI5ysyLom8zOgOVzM63pqsz/DnkjNcOe8M0o5OGjtDleHJcOT4c5o58R5VDltHN0OefsoI5bBy7onJbOMOYPM/KZPMyben1HK32awc7kpP0TRZETHI0OQMcqRxsxyejkBHL6Ob4Y6Y5ixy5ZEmHLbUUo4oTJ/NjQYlixPSOVMcoQ5SxyDjm5HOCObwc5Y5DRzijnnHLD6aPrAqJ8fSH0nSUHuOZIc5w5vRyOjkwI192WtPKuZvGTuZkOuWsOXrMvjJhrlXjkrHPeOW9om/cii5NjnApNEyZcc7lpoJy8AkDWEceNdEQo5Zxy2DlgnIROR4c03pFRy+bGPDM7GRmY8JpXBy8jlonKekN709apYVjJZx3tPH6fi0jkZLGzsOkBrLuCYC4oxZlIT2NkPhCPGeUc93RHIzYamnLNQScVk88Z6ozjNmm4jciexGJA5AKiNEmrZLiqRtkn7JbOTXFkaABgAMnsSORI9T+ZmB2I5OTKU7DZGVSgDnJ2LXaRJ0zEZl/TCe5OGP6KYyc6SgGIzjRk6nIAGWXom5i3xg3wmOFKTMYaMjhpBEyTTnUnITkaaE/yZAsy3knnjJOWS3rG0JbIzdTlWGMrWZrk65pFhwPll+dOc6aacy2AuOyilGAVIgiVqMk9ZpEg2zBenJDOVkAMM5usjpZnSgWoAE8sijI/KjFmlvJN+yU7wUMm/nDtNk6QB6yeyc7M5A2SQAD+cJemZyEt6Zrcy79kZjJGOSuIeh0//SORm+nPaaW9ozpphqzramg9I+6dEc/ZZL6SozmoHLrsQs0gs5J1RjpHLNMlOWs06U5x4wIpnjDLCWefBf05JtjfWkLLKxaSc0uM5HIyzRlKoBjCeqc+MJ5ZzRsnVyPG2chUttZ+/TCOn6rMSmaWkxU5PJy4bFkhIbOWfsmPyquyb3AtbPMWW2stdJ03SiNnhrJZJN1Q4fZd8TR9mibPH2U5kiTZU+zmml/NJG8XdUjNZbXTgSnPVJzWVVsnrp+aykNkX+KoIcXswU8OSypznXONgufnspVJl6AaTmXBPzUV7xVHp/YSn0nPbKOGZckphpQziXAANJNC0S+sn9xSNSKLmAeIoaowk3TZYOyT0lszLouejsgvxyFzr+mrJPnsTrsy1RDiysLlP7Omzlvo8uZEx4+LlHnMvWaecubpstSkLlF7JQuZKkv2wwhzfZGYxPAGeJc2/xklzPdliKJdKRxcxzRwWztlmf63y6aQU1nZsez72Hv+KUuYUM7I5LFzuBmCnmUubEMs3Z8QyLdmC7KD2Vb4ky5JfSzLn/bKU1sZciS5rFzRUmGUVEmcZ4oHZMDCY0T9OAbGaSUsoZVMzuOaMXIUuev4wy5kEhVtlhSOMfmqsh/ZwLiT+k4BPsuVUYwU8nuVsDwJdK1WXossGpuqyWZmV7OYua5c0y5AsQUrntyHMuUUM72RBqSmXGJXK8Mclc+1cRVzEzneyI4uXZoxvZ5Vy8rkOXIKudVcqdwxVzXlFDHPbOQM0+vZJFymkkJXOauUlc1q5MKwOrlFKIxOTrs7y5rP1QrkGXLcuUqktq5yrAB5lEXMqGVpUrwIQlyDPFAuJ4uf54seZOUjn+kD7OYIVeQ985NmTKNlj7Lqaflsy6p8RT/zlDeM4Ob7skHximzpBkPrOsWS3Mt2xi0ybNmOjJC2eykotRjTiCjEB7Ld0UqsxpwT0zdvFMHJuuVM48OZ4yzq/GNWPbgEgs+1BhczU5ljLKJ/DP4wkgMNBIblmdJ8UssWc7whKzXyCUbmE8Sao8EJDtiUlFY3O45jjcqJJ11yo9kWoJnqZr/H7JP1zLxmg3PhuWDPCG5UNyScFZACY6Tb5IuZcNzPvwowCHXPTclG5pnSWbmw3O3XHOuZceZOsQVl7KIQWVfIBVAH6iDgDULNFWRfI0eJHcAnJnT+NlueY4b9RVKzvGQ0rOr8ZLcyNRmCyZbnN+LluVP42tpitysik1lNBWarcsW5YM90FkktBYwSRgmvcFyVAcwheMtuatg4E8v4Qf5nEYKHXP+FKaIpDB4CG6dmGwWDPZVRwXFfwggLJdud8eDgJY6BbbmB3KBPIr/eKA1LgVbngrKwXGKEp+ZYdy3bkh3OMfmHc5VRTtz47ne3Ndudbc7gIe/Dk7kZ3LYwfAYP25hoAA7l53NGwfrQT25dtyZ1wjYN9uastVhZYazbikuJUCCKww4dR3aSuFmejK/OadcifZtGy/KlSbM4OWdSMDRIoyzFk+JKjKcuPTM5BRipTk5nJWae7o1AJqRyC/H+KGMMGxTHSA05SkGlBJNetOuMiAJgeTTNnfICwaYHktJcJrTy/E6mM3yevcuvJu9yD7lsNCYOWdSXZY9FM7Ii8uK9yW+M6AJu9zGnFH3IbgAM4HCJTPjt7l15KryT5E0+5++Sn7lm2Sryd/c57Uz5z67kcfgICFGs+vp24jXKnZbJE2blsju5P5yCtnd3MuuVZMwC5ALTASnz7KzWWBc5fZLkzILlyLKhafvs4dA+gT0rlhLLWaEAEQtRgcj6GkbbLY8exs2hgzAznVxpVOS6b3crwA5rBcSm/9NzKaauSIx6MSQgDuJMGRJ4kjpg59zGHkY+PTOeYcQ18f8isYnBeM9mUZ4oGZVqyGHmEiBPzjJckqpWMSSxkHHPweQiQFkgYkyw9h8PMJEMcwWoANFSLnGnjN56XFolU5zWSzSl4PP4eVo85YA2QAm8CxQFO4OaBfHZ+fThBnbBJWGX/IzU5RozZ7n4PP6KaPUqJZkUlnHm2nK5URMQJh58mz+3GRGNYed483tpd/TlHkn52nWVWzMGE+D4gHk7VONoSvWQ651TT27m1dM7ub+chB5vzSmunWTNEWag8uyZ6DzQWkTxIguXmsnB5Baz8XHqfn/ySdGADZs2BZYl7XKD9r8YwTZFGy+0nvNL4Wak8+B5V1TEHnCLKyeSVs3J5oFz8nnxZM32W5M65xmzQWSgLzPGWT0sxlZ+zS2bmyFDGeXMs31p2BzOel21Io0dW2XBpKdjcOkKjN5kT00xKZdISREnVcAMWWGwKqpWST2/GkMC7CTGwMYJLdTCHkWbJI3FYkvdZnrj0nHsbP+MfHYQZ5FcBaxIWyNkqjPzXgZVQykbnlDJd6XIkk9cvJi1hksbnepIaIUvZjzyWSgCPP9tuhcrep4Syolkt1K0qWQ0pi5fUShnnPPNtWbVcr+RCQSAZlYxJCuWfMkW51KyxbnTPK9CXCsqpZscCWVn61OjuTSsvF5TKzwRDEvJ7fLis4VZtdyq4k6TL42XlZfSZB1SW7lQPM/OTA8lJ5cDzzrk/NIfHgBcwKpQFycnniLJ6eY5MzB5/Tyatk4BNyGRGc1SJKBzwwkaRIqeXuwJ9cjNScBmWLLdsessvWkkjysDnetMuXPMExQAxqyd/FBTOISYhkshJy0I40nGvIz6Uy48PZNHTZUm7IENmRK80VxnDxxPgmWVN2VubBKY0MBjjCuC3D2brI7I5uQy+75OvL52WS4tGZbryOTAevPteXjslLRyqy4wAQ2J+OQH0rhO+8zChm+vM9Bs680tArrzIPEhvIKUSVci8AJxyrfE+vOdHn680N5zzjA3mpvJReewcmRx7cCGokRvJx8VpMi159ryOrnPOLFokG874wabzHdkZvL32WLE3IZtbyA3m7uIbeaPoJt5XuzVLkpbO+GW70onR9Fj/GlRvK5mTxo6IMjzz03kdvM8GfW8ot5nrzpwAXHLbeTW8pN5hbz3XnFvJJOYL03Y5OJzq3nTvLDOcHEimJ2wSi1HGPOXeXu8hd5NMFZdk9ONqiWYcuN57bzi3njXIHed/sm95fMznTna9MBOWzYnY2ODip3nNvLe0YHAL0JCAzX1m7vJ/eZ04P95jyjz3k/QFScdtc0apOVyEXn5vLJcWLRb15cHzPBmEzP9WVUsmh5kG4qWmBnMDUeB89c5Gzz/rE5PGf2YQEy7pcPSY+n/+OI+f/stSZYPSK3lJ+K3OWDkp65+qjqzmEDLZmcqUtKZ37y+3nTgF7eWIomLxX9z2UlOOjiQOykyp5fHy2PkqXMXefPYtV5lByHDnyHMeOb04n3RUnzKPnlvP+uSqs/GJBfjw9kxeLuuSq8swwD0zFPmRvNaqaxIjyREMi3tmjOD2yV84sgpOgyLnmH7BXGWjwJHBzmy7XnpvNT6T7sh/pBzz+wlVOPheRf4unZ6TM3dZYSGLedM4qD59tBaJn4XJ0GcJ8iy5kdBPpEBLM8WTO8kL5ct5EPl2fOl2V/I1U5OR4qEk6XLJKZZUuZ5eMivHlAfNJcZZcmXpytS4JTZHO0WRF87HZwtTcvkZfI8GZF87L5WtT4umWnIlGI54rGpgdi6AmWaM+SVW82z5zbz6dnwuPteSVMvKweXzwvlJvLa+em8jr5zlhovktfNi+VwAXIZ/XzSrKYnP0KWJckr5wXzsdmFDLG+fkQDw5XXyMlkFfN6+cB8pPZb1wCjnTfLyGVl8m9wc3zSEmlWQfecMc+Z5g5i/am3vKQ+WV8ywpVMQlvm8SB6+doUvw5zXzMvkXfLe8aEco75CvTfanZCP9qae8ob5WuzGnBnLgNqGF85b5t3z2lF/fIxlFt81r5smTTmBTlPo6Xp0ufgItSgvnbfKe+TAjNFUnhyxYn5fKB+bcoizRgmwwfnDfOymQYQa152zd/FkPfNK+elVKtmfMSAPkmrIpOV98x75JPzjqSi0EveTbUwD5RPyZvlCPIt/mUc1758cUKflnfJi+WS4ln5RrBvPnfHJlqXsYgzZYWzfPkAzPh+fTs3n5J1J73n0/I7OaJc+2p4vznnGS/L61Pe8tn53VzOZldmKESeL8pip/jSIXnkxIucWx4otRnBiMelMDJmCSw03T5UUjjJEGfIQSkZ8mDJWgjTXkkADICfb89541pz+GnsNNCeYBeclIZTjItlj1Nd+eu0sWJ6QBPfkulN4adBc/FxXe4HtGjSDL0UJMnD5hHzYekUfNI+eHo6g5CfScAlh/O7KZH88mpG7zbjkiHIj6c+Y1CJ8fzKekvHJqeVNYZl5AFDDqlsvOMmck85p5XLy/Rn0bJn2QK84Kp3TzwqkYPIKeSvs7B5GCVcHlixJT+eldbPRO7ShOmjXI1idkczv5EfyMIA9/K43BbUXqpq1T8fn9XI7+RMwVP5VxylWBq8DDUTFMiuZYqiDVFE9yYKWyct/ZloTbwm/9PQCbE8+5pxfEvAiJPPjWRy8yv5MRTuXn+jICqeFk2fZf8ShXmN/N6edkUsV5a+y8Uld/PL1ETMghBTfoVWmaJJheUAEvOp6QSbllqnLw+S249D5BG5MPlBbOY3IyU8hg/81u6g7LOe0fkgaypgciCxm7rNMqVRM1ZyRvyMBmeqJUKfD0rD5c80X/kr6HS8bgC+5cGnS+anl9KZiM/80aQWXiRWn8tPwBeQC55cxQzps4+FOFURvrBgFINTK1FxTNy6Zn41VRDoSvVmurM+WQQCspx6fSmHA1PP9oSQTEv5rLyR9nl/JP+e3Elp55/z6NlMuL4vOj0JopLAy0qm+ePoiaOclxZOZylTnFnLKyWoC0rJp2BNAXj3IGycNsycZw/TGSleJJv2cEMwrQjHyHbGPnMYidBswOR4+S4NnzdNzYGk41VRdiyaOnXOPkBS2+ZECwIBJ/keAtNoOj0RopHcyfrhtFJwCZ4CzOqLqyPVlrdhv2XCgEC88YB4ClYhNDWfS84jZqdCj/k5bMfibA8s/51fyitmdPNa6cC0hyZnXTm/lYPKKeW38kp5XKjrjnLJN1+RlcpMJ7KTMLm11IL8eUCxkZEQKKYnRTJyeHl09cZsoyAVn+yLT2bWsu/JxOSEymslLZ2Rf4hoFrSTJGlUjP0OZc0wUZuPj6ImRGN/+QAChKZ+HzUvku9L56VwUxUZAbpxmmXeMmaQuUHs5UwzoznzNMnOfOk6c5WyFZzn2tMtaZOFJc5OAThgW3JNGBdaMiYFtozagQj/LiAFV8gM5CjSrfGXApYAGMC/o5yiT/wkb/KGaV2c3kxdgKi3w6bO9sONsDbJ2dzwOmbLPsWcKM5ce6D1rnFvAo+BQKM1iZqK5yWRw7JZ2ebIpgZHFTN0k2ArwqTGUuSp/nyUAU8cyLGYOMykxPER9+m3LOAOfcs+sZG+sYgUkIIAybSuCypwGSU8CwgupGbcC94FNwKGUnwXPJ+fq801ZBBS21nzOOSCRgcnGZz6ztgUyvPrmW2YWsp6LDw7xamLz6U4Cw0xGFpjTH5lIuBcyC5ZJ8ILLRnEpPQ6QLE4QJTILxgXKgrZBQskjNJlhBUxkXrgc2dZ8j1hlnyRhn/PI2GZjAXh5TLi4QW6guJSYT3cVeMqSePmG+KcdNpcw3xgnzSWiNOK06TGzLUFnwK+RlvAruSTL8nq5ttSP7HXRFXkdFE0rQJ65bSmyFGwBSqCm0ZrIKAwVmXMz+b7I3z5XQzcPFAbMVBdqCq0ZiYKCrliZASktxM2qpgwL8XG2goDBXtIh7RUgStBmuV1VUSsM/NJJ+TsjGUgtkmUk0/4ZKTTwmk5goIIIqs8d5LxjKfnG2IWqTHEu0FdwKVFkC/M2BYg430FCILIFqAyNo+fuMxdZVZzlXm79K4uUwMwj5PMixDlEfPoOVIcxCJtPS1um/7Pf2bco7KJZIL8gmgHN9keAc47pZsRcplndMSOZv8pSJADSF361zJXCQ90jV5z6yfgX6KMiOb8CqixMRz5PlzdJIOe0EgHp+YSrDlDguWBZeMmP5y8S4/nSHIT+fBE0cFqoLzhlE9JkcYuC/2x5PTnjnZRPj+XlEs5mFPSJDnHdXAhfGCkBxQYL1fm2HOt0eYcl8Fvdi3wXVHKF6XYcrXpF3THDkS9PQhSyCkBxqvzbhk4HJIkEr0pRx/4KKDlEQsV6Qkc0iFWJzkjmfvM7vjaCpUF9QyHekvfLV+dbMyo5FvTTwUcQuHmeMczMFfoLIIXG9Md6VhCoSFQ7y6jmSQrHBZ70qmIm7y4jkKOPacDscoeZqjjY3lxvIDBRnUhex9PSc/nsyLz+ahChxqlEKGUnkZKaBdPnRL5Jnzv/nNOPRicUssj5q4Kv9lbgv4iTuC8yFNTzAgj1xLI2Y30sv53CzJAVt9Kr+RZM/ypVBAvOnErjRyIoC2h5oAK03HDZP36eYClEJK+B+ZEKtOU0WjkQIFP2RWBmtFJbADU85nRTlTo1kN9P0ca3c465FfypAXBQsk2e08m6pyDybJmCvMzWcK8goFfTyIWnFPJD+fOEulUQNRAZGzmJt0W+8345P81ZzFSaLWGQOY2A50+cuoWVTIGhXY8jPJVBy4ekyHI31ihClyFMhyzDmK2JqObr02N5o0Lb7EEhOGhUtC7XQnljFokRHNFoOtCn4Zy0LZxnabmJGX1EtpwYk0VIUXsBN6Trs9iAozwuvBd9lymdr/G6F2ARv/FnQoecTA4mY5kJylrmqFKgSa1C86FGeBBjndHLniWqgZkgv0K+QAtHJohXLs0OJ10L9mLYBH+OQ9C6GFITTmwVdjPCaadC4GFgMiiQUUaJ3rKO4oGFugALCls/gg8djCiYAtPyJvkwHL1kXIeMTRSvTWGmCuOxhbjCykaoAzWoWEwqFAqNcyZxWbyC/HNHjEmjTCtDxBMKjGBS/NU+bUkrT5giT5sgvmOU+X1EtmFzJAaYUHSLEmgzC2CStjyZQW/OKRGb6osoxaPSCMlXjNKKbScqgZcUz6IlG/PSCcQMnXZlVMXADWuXh0PB4oLRIWiIHD4XPbgHiCi35HkjWhgrM0UkYG07jpYsTRYU4wtsKZLC03BbASF/EKdJtOe78x2F4sKUYVKHisoGwE53xCnTK4mFeKr6WCopehdfTD+ZiAo/ORIC9IFnLzMgUhQp7ucn8nDRb98cADcqOThT0ARrZRIBV8nqfOm2Uy487cF7AU4XmyPzhZJfDOFfLMIyiMgU0GY9o40Fg08ZNZuAqFORaC7h5mwyDJK6JJDca580P56cLb2BpwqpiCnCzOF5cK5HkRc0QKcQ8Z0F/zj3HStwpBqZU80eFwLjbfmTtNIWXtnDeZFDVAFl7M3nhcZkuu5cTyhtoLbFSBdA82OFp/yfKlZAuuqUy4+iQXEjCpHmVOc3pxIjwAhSScAkasCJiOU+EvRnOhL1yiTKCBUXUtNx6MLshHDjOSaUjCwEZV8Lp+DrDPDvPfCtapW7yNqmTvPFBQxAfbJ00Lt6xF9MvhYVAb+Ft8LBYW2lIs0dksgQFj7jM+maUBARfBsjPJhfTG+ahbNzYKFKAaxSTwmXFfwpvhVTeP+F8CKF44EIuDMUQiuBFVy535zZHLIRT/Cu+FcCKQgBCrhdsFAiwhFv8LKEU0ZF8Bdc42hFMCL+joMIqTXFQi2gAg/T/VnBrN0eV2oz2F+CKWEXkIrYRTsMkhF2Uz+JD6nKiWUacgvx3CKKEUyIsYRa4bc0e+QEoNk1AsLBfEE6bOrAQl/kCXPTsRjcphZ7N5H5Hi3MFIJFUxeFHCjzEWjxJASSE8iRF18KpEX0IrURfwizRFINzpblN+MsRfLc/W5zfj7EWOIugRaoiv5wsiLZ/kg+P9WdKMqqprAKqqkmIvFWZys/cAnCjpYpaJKlWdO0vlZCSLOnHGfP+cTxM9dJOcL4tzqgF5AFwiyRFdCLYEWuIv6cKEi82RKiLpEXBIvURWX0tOxsGyVYURBKnOcVUmhJRYKuVEVIpcRVUi/hFXfzrQ5yPKwCIYiot8VYk8GndtIEaQEi1hF7SKVxDqIuvSkP8/uZQ0zPEXYLJsRckoihZD8j0lGQIqcRUUi3hFJSLXDYcIv9WWF4upFgVycnGZ+MxiewC3ipCpi9lFZJKcdFnIxSZ7oKFXneqPORebCmCpS6TxPF37IsBSyUveJely2kXFIo6RaUi8a8yYKE6Dp2L2cQ/4335WpyrfHvIvWRZ8izZFvv557ExIrOUYwswOZCSKhTDAIqwRXigOQIrSyFQVixJBRSRIPhFXyK+RnoouIRdUiuoqPSTEUVf+FmSQUi1ZFPCLOCmRQu6Be1s3oFkgzEykuqJv2WN02cFdETznmPwrICUzsixJmfisrnjzJPSaWkt5FhSKyUURQr3cLrHEmwyjwckUKeIxBX0eYUpBpSN0kSorXSVKi2SpbpiWkWBqJxRSaooVF0MR+4WP7MYBRMeJRFfUTlUVo5FXOXzE5sZZMycnFpjKueYVU+AFvqis5EkosCRb/CjhFlKLZ1l8BJpRcuPNjx9KKknFtzKtRaMiwWFCyTcPnzAqABSyioypL8LEkWUTJZXGmEqVFhSyCdmQtPScYii+uOnAL0pG+JLbWTfs3c5k2z/NlpuMC2Wm4vUZ9FztRm5ROlCQ3M2+5pPjK8kfjMcWYWci8FwdipPmlmWqGQQQDQA1ZSRkXOIs9RfaCjngBoLRUXWbMN8Z9c9cZNYL8HzTwqCSdg0wUpmIKCKltwtaRXyiohFeoLwzmEfNk+Yz01tI8fzR0VR9KT+WiigdFNqK60WkVJlSU58t652yyA0XjaIYaUxMp0J1bj23EwOIbcTiihZJ1pSowU7DJjBQFsx95L0SlMnpTK3RR4c3dFs6K74X7ouI8Xui+dFjoKAKkBos6hCM4y9FO6LykU3otrRaxMhGZzCLSUWDorrRf+ADsFFJjFnnKZOrRWsiqiFgp5DvndXIBOZ7o2WK7qKa0VnFOJSR4cz9F/6K50WsTIdBesk59FtZysxmBooQxRBi9kFfyT93EPoowxfWiucAwGL3LGO6LAxSsi61Ft6LkMVoONeiaKYijFotjRTHhgr8UeBi/lF+6KGMU62N/RSRiiVJ+oLyMXWzNYxba8o7JAIy+wV8YpUSQGiyd578K8Tmfwq/RUhi0jFC6LsMWknKhsdJixGFsmKtdDvopw0deitDFdGKf0VBgtgxZ5o02sMmLwzFDGK0xVTEHTFtGLv0USpN4xfJiyDFAsRMMX/lO2gS+i7sFqZjewWdojbcVei1DFVmKFMU2YvvRXZiwjF1SSyMXOYpwxYZk1zFx9j3MXeYo9Rb5iu5J4MLb0nzDI2qZjCkzFamSosWIYvsxVCk4jFAWKh0VAYoDRe4shFFoCKJjx10BTaXgimjF0WLyUV7uALBWmwOF5NZT+mHSgs/1uJY3BF68Bc+kAgolsUDOCBFM6LdMWCwpNUZVihZyizjkEWdphaxfavcKR2eSfuKIouryLBstspwKKAsXdYoEBUTAYOFZ8TgHnx2B79PU8oqFjTzeFmlQvjheVCjJ53fSXwnfM1nYJj8yFklQKcACeKJFUR7Mg7pWESzQVCnLPvGDIZQQtajI8kt5LuxeME4Os+YAAXkIYitBQZJQ15mdj4MkmvKNeQ78j8J0dBrHJamxeoEdiuk5IiLTFm7PNiWZ/8gExdqKZ+mSDPjRUjs6cFqryMoXKAseyQDioFwQOLU4X39MkcJWCmZx7JS0cUa6HUGdZeIu4BOKubZOWJ6xb84hhpgXyicWA4uRNmpk6wp8FjILGUfOvWfpYvcAe/ySum66LLoaIC55p/kK27mBQp9GZ3E+dRN4j8Yp3iI8yQRxVdRCdg6nJdeJXUduoyAknXjXxH7qOdSRo8frxkiwz1EZ4hr+cVs3IFZWzJFlL7MKBY/8qC5Y9SNcXAXLyBYvs0EpMizV9n64pGcdmY1TJ0nNoNErQpbMUuY9SxUgh0NEb0FnMfbi5BpcFiCNHEaOI0StC7sxZxjaNH5MkF+RRo4cxN6zstHcaLr0XxovXZQmjZzGiaIXMTtCp7RMmiv4DkmKXieRC5rRimShzGBWKVBSeYwzR2tESgZAhzM0VrUnV51miwLHUeJYYG4Y5zRANzU8UGZLqMdDor8xd8KK8VTmP2YibCsLRloSTIkHaKS0YRY5CxreKNbHRaI7xTBY3KZrGiWcXZaMwsWYcwPZxWjW4ClaN7xajohKJ1WiYnIk2Pq0X8CmzRiNT9WAbaP1YDro3rRI7z4mn5rl+uZ2CjyxE2ifSkBaJm0Rp4vix/JQBLFTaKXxe1orrRHWittGdWLu0Xtox3F7eL2ElGWJUsU4RVnpXeKLVFj4onxY/inSxvzzItEvaNe0bfih7Rn2iQqlmWLbMT3i4nRzJA4dHA6MR0Z+4fHRCByodH/aNh0bRIKAlOOiYCVU6LR0QgSzHR8OjydGoEtOCSNU9HRhr4kCXY6NB0XjoqnRLBh0dF06MLxUzo6JyrOj/tETNMfsbFY01c/OjT9FjBKSsXNYkAxmui5dG1+MiMawSsIx9DAFrHZGJqsRzi/XRp9STrE2BEQMStCuqJu0K08WgYu90SBEhsJgNiq8V16MCsduCqdFeKB0XnOQvkOYaY20x9By1CUDhPEOcZCpUuLBTsEZrFNl8UsUrQlHpjb4VqoDL0WjYg12N9jZak42PByNYS/GxQNRvLELQo1+ad8zDRFyyfQkEGNwRTgiz6x5BiQDHjWPwCDQYifR9Bi7rExGPmsawYnQxS1j19ErWJ4Mf4SgQxW1jqrGn6NEMQF4mUIh1jL3E8ErasWdYoIxb+jZ0RXWKUMbdYkQl91im+6PWLYMbVY8Axb1jIDFGGISJWYYn6xSBjg1H/WKvBW4SyjFmmj/tG8nN2CT4SjvRQ1iKrHJWMCJTDQagxsujaDGT6NqJSJQ4HZ/BKV9ExEswCHESnfR4RKRrGCGO2sSIY8/RaRLaGAZEtGJTkSl/ReRLFDE3WO4JcNY3glD1jkiWgGJesQ1Y96xNRK5iW8Eu+sdS4Cwxbpz+8XSEuY0fUY5U5b+LOLkcWJVGUqC7wlARjj+kNWKyJV9YiIxfBTziVtWMOJWMElglexK2rEpGICMWkY/4lJujMjECEu10bUS/Ixr2LdAUlGMYiVyY5yx5ByFCVnov3MarYkbR5NioJBCmNaMYtClRxXRiWjGXGO3eWo4kYxAmi6GDjGO1sRtCgWxCxi6GBLGOpJcJCiWx1GjNjHbGJ3xVRig7RhxjP8UgYvuJWcYr+A/JLCTFKEtuMfcYkUlgpKPzEoaI+MfsxMUl2QjfjFUaPueUjYnklm1TQTHgmJVJdKS9/is6g6zEImPhMWqS1Ex+GymAAYmJ1JbiYwLR5gQBXrskvJOSSY1AAZJi1SXfqxJMQhYqCxamja9kHaKZMbfAKEx8tjhsJSEq/BWQcn8F16SuZnq2L1sYKY7ox1JLRTFnGIlMZ2YlcJspjutEarKHhXXMuZRqpjkykamMlBY2Uq1c1EgSgAygoFCHKC9rFxtiLTFAQo8hUqXXiZE2izIWGEr0JSuCxP5uhLkSUrgs0JY1YlXxuJzTMWhmLExQXtTMJsZjk0VT/J7BfWSq3FY0y8zHV/lv+SC0kV5XjjXcVVEgQ0Q7it/F9ZjGzH9kvzDq2Y1wxBAAOzE+4r2MRjYvsxHcAZyVB4qnMaOYxyxYeK/alTmM0sdHismFseKazHqWPlCGuY+TRYFTmiVdQurxfJozPF04BTzFGaNCPhbRaHR9XyGdGNfNQsVS4R8x3mjtPmVvPRJT8cocZn5ifNF14qU+X+YgdQAFigLHOmLfxZBYxCx0FjLunAUrtJZPilPFU5jWeCwUqgpZISp7RrDAkKWdmIZCdPi0ix/uKKLGWHLAsYaEagIjlizfmuWLNJexY9wxJ7QntHDuIcsZho6Ncp+KVtGtaJEsZgI8SxidBJLHF6JRSdhSiyxSliYanP4u4SXuSzclABKnLFPaJDxYZY7/FJljgCXBgrksQpYyyx83yPkkLBMi0WRSxyxGkyx3mKkvG0XNC3CFLRKNqkRWLF6fJS1olEViKAmbAoYJQKEeKxS6xRiUpWMH0elY0GRmVizUkkBFGJflYqSxO1iTKWmrhKsf/4LdQ6xLDiWe8Wd+vVYgXRTVj3AijEt60B1Y6HRXhLOiX9WO6JYZS/olw+iJrEhEumsaMSyIlIBj2DGxEq4MatYyylSRLCrGpEtEKRIYzIlIJK4DEbEvEsVsSgolOxKvKWlEsOJc9YyolUejDDFhSlGJZcS8QlYcNGiXQUpPJfuYmGxbMjzznHkruJdDY0GxU8TlzEI2OmusjYxwlqNjnCUY2IkCFjYtnRlhL68B42Ir0a4S+Yxs+K6tFczJxJRoESQI1NjGSVtyL40YzYnmx2kK9jkSkuI0bvcWalnELZWD2r0FsboAYWx61LxIXMkvjoFLYu4xsti6zknrkdJdVSgKx0OiGMldWDbxVOSrWxi0LgyUlBNlIYbYr7xYGj6WnTYEVieZAQ0xmGj3qUmAo5QIgADsAEbg1CU/UtBwIy06X0wyJq8iW4o8dtb8/AQeKA4pFmSPisvzEJVJFohTADm0BAND6wElWSNLBYj4CFMAGLgbjw6wysaWmAG8sNDEHAAritTABY6GnkZ3ZDaghUAM8D1Mx7APFjQ4w8Vk1yDJuJkAKxsMypdIL9OmoKMM+fgICc5Waj1El1wvM2U1U78F1kTLxnDZKheSGsiHF0LyFHlVVP36Z9ikNc32K03FO/PtKej4tGF94LlNl4OIGCa8s3eRJYTYwUEAEiuY2C91wh6Kr1wbkHumRi4zixqKSdwmYIHPsdsM42lQLAH1ziLiWcYtk+QY4miTaXLQifNqWuXWUQ1xwjY23n6MO7Su9cljB62jErhkAH4QFcpmTR1Fm0tIhkb9S9GZFdt0pnSzIrtkdimslKWKbsl7KImme0E63F00zgokjTLTpR2SiKJtRTzD6dFJUWSGMsYpDkSvADztJDGUWo4rJGEAy6WITIpiZXSvsAnbThqmVqMrpdFgVdppNSEQgSfCfGZOCjtZhRjIcnzZATqe3Sjo8fR4p+kzrNhxb4eEsA4EyBgV6XKqXIVAQel1qByKBt0s+oLPSx1cu0RQ6mG1IHpfwEuFJuJhYCm8uIvKQxMi5xA4T10XYguoyXJS835xJSi3zUgp0gH3sjMFX1T16UtHk3pcvAbelJ2ySAUPYGLGVok/uli9KN6Xh7iioJEC46F8tTb6W+HnNkbrI/nhCgKGSl9rK8SWq89+lM9KN6WXxWFkSAylEJpgLmSm8lOwqT2i15FhFyUGXbpOIeP0C1BlfaKhGn/0r6PObIraR6PQjtnMpMPpVPSvBljyjCGVTqBO2XTxWwEYtE5QAL0qgZXfSmBlN7giGWyZBoZTaQLaRMoAqXnohOZRcjimKFLZL1ankMoIZXLeIhlO2BpwAlHh6xSoYyBl5TAN6VgSGa2fLAAJ5DizjQmC8FjBT+oc/UIPjqpmLAvNUWRYujRB/Ta1HXOMoZbWJHlx7oS6UAg2WhcU+EnL5xAKxalZ3AlqbOc30Jl7jaAkF4oa+VJSpr5YsTDGULxxw+ZHgLXgpwTnIkOhJExVb49xl0iTOQX7BIHtgYykRlVDKeXHZHMCZaF8nAJgTL856g4BphdfshHF0lAGUU9DKU2WYYKbpjESYIXtKOXBX/s3Mln+zEIVeWM3BcWijbp+TKADnrPJ9RX00g8FhITt6lSRKgOaJC/QpcBy3IWXgvkJdeC4UFMZL30mWrKwOUOC/SJjEKsKUS9PfBfoUz8Fo9jhaWalKsOYwcplxgTKbtkswr6idEyqCFUTLwmXPPKjpTTCuR5LES4IVGQqk+dJ81bpyEL4IVFRNiZYsy+9uhETWjluMoOZSbUpE5kzLTmXxMqcYDTCrq5tELjvmW6LMOX0yhfFzEKGmUkwtWheeC5yFV3SwmWwMoiZUcy+75JzKfmW1iQ+GVd8i5lgLKF47LMru+QJCu5lb3ztoW7krwhcOCtXprzLZzGa9PdlHtC7E5KRy43lTMsIiVkc0FlLDKqGWvQs2+fsysFl+8iEmX8QtIcY+C3Y5KlSkWWu9LGOYpCgFleLKjGXYstkhecyollDLLVWBksp4cSyy+llnABRGUQspkhS0cuSFoWLajm2zICZacynlx70Ko4C4sp5ZfiyjllC1yODmssulZUsy0ll/LLVIWLXJhZb70zSFaLKNqVVdW+ZWyy4hlrEgZmUX+LmZS7Iw1l+Li4mV8stD6cT0pyFFZKx0VbMsk+bay65xg/z7lwD9PY2ZHS0GluLSWWlGAp7WT0CudZcOKrAXq0uT+TP80tRqK4wkXnPPFpTEsyWl9oz7pGd8PoiYVk1hQVNcYAA6AvWaa6oIulazQV26LyJjZTMUpRxJOiJOrDVIrpSXStxgDdKQxm10pLpfXSniIEWzo5HN0vnaexs1II95ynkUo7LsAMACzKFytLp/nOsvGUSGy7rWZzS1p6Eop1yXMCu5ZmzzknEVLIIye9k8xZ4gztxlj0pZRel8wNlbbLFFHWh07ZfuU9moH9KWjyRApmBdLo0KUzUKE1Ez/K6RRhANR5jrKt2VTIunsU1AU2ghQydCnhvNfJYHstwx+FKFXHQnNbZWUi9Gkd8AHs5QsohhbBiyqZe7Lw/nLwDT+adqVtZ/rKzDAJop7pUhUybZ9ESvZl5wpn+S6sioF+/SsJmgwni6fyc9GUoYzGnF7gvjCbhMoU8GbLpilHOLjeSn821FsaLCfH8wqFhRbSuy5ZmCfADJuJtAEkyx65T6ykcUF1NuMqLMkZRhMByrkEcvA3Kdox0A6UKKOXVFPoedOy5ZJPLSl7l33OQaRT4kJJYSSfxlYNNpRTuk+tlw/TBknYzJ2eSyiqjlEYL+sWp5PDRdgit36wRjJsUF+Iw5QQYDjluaKoAncctgCVNEY0oP4z+OWfZOXHrhc/0xlJyP2mlkC3RSp0gCcoMRjwINuOU5Z6AHlpTHKlAVUtNY5beymjItnKQADIYA4OFRU7KAvSTWalBDMShYJkN9l7HKWDD05Ioqfgk07gXnLOQk+cuH6SfEkDl9y5nOWlqJBxY2k2Bp5iy/2UTOF7pdmXIHJV+SbElictGME2ylHFBPzqOXxTP7ZQsCj55elzrOUsAEgyu2yv9pWq5+5GkuGI5WnYgxF6+yi4WgcpU5aWomrljoAqAVscti5eMooLliFwPOVrTxjyRFyhOxfnLouXsctLUUFy+64vXKwuWVyIG5Ryk/zlznLx2lqcsCSbvckJJbGF+OXyXOG5c5ypVpC3KyfFLcuNKNLS9R563KVOVOZQiSJbkkzZMRs4OXrjMYSaGi4QZXriCuXkgoHZaEsiyFOLR1QUCqJ7CSzsjtFIYzzkWvcqOcbFo05cn3KsKnl+JDGe46Akpw1SJ4V4umB5ThyivFwPTBIV0QsMyVcs3GJWgL21E5Hj0eW8y+wllOKXVHWMrexWm48OZ8JgRwmThOWhOOEhzI6qSXklPmxk+eeSmX8HMz4AmJmPtXDXkjmZvITRVzmyLoYDTIlgwddAtElk0C6aZmEi5JpTwoNxsYQaNuo88RFSkK9NFPcszCecE6rlBFzGIDM8s6cWzy3+lxYK3iUpuLs8XYymr5DjLUFF3ktvMbq84WFQwLZeXxpMFZfcywRJQeK9IWa8vVgnFim2pdhL5fk8Qu1BTi0GpJUUANCDA4r5BRmEx8FTELdvH/HLIhVaE5yJXTK93CPcsKyJby4KAuEhbmXPss7Oa+CymFFwKXE4odN3aeLqG8F6kTZhns/N2Wc8yx3lByyrwmKEr9qeWytvZOhjZkk2guD5Wp0/Fg2vKAEWjHP2pSKy5i5zRoozEF7WfuY+U8PlczTI+XQ8uoyQ7y6gelfLqPlcFKR5SJc5plXUTWmWaVKACWIUupF/qyokVRqIucZIEVVRMSKl2lpIqSRTCi/vl39t0kU5coc5SECsWJWejC+XU6LZqVny9SFoYLcIVxvKn5QHgGflVESvamnpMOWYO87VlX7ymXGaIv4BUly5Jlt+zGUX7pIf2QuC61lS4L1mWN8tKZVOitcFXESNwU7MocOYn88pluQTCuVAAuqZenYyORx4KneVzdKaZSUyhA5V4KkHHMfNu6bK82iUbvLfJmPgt6ZYZEmPlpkSYeXDMvVKaMylqpv4L7eX9MpewIBClyFpkLVwXXOL35czCq1ldxzRDmX8rkObayu1l9/LcSYzQs2ZVgK/iQ3pjfeXxYpDBQ8y3CFTzKA+U2RJYhVz063RHzKSyXKRIoFe/OKgVRvLZfn6FIYhVAKxgVv4LqWWsQt3JWwK0klXEKZ7l9ROwFdOAS6FFLKlqVUsuaJVvy3PlcbzpBVs/mZZdZcqPlSgrshGXRJwCaoK/I5qrKPoXqsuIOX70pI5H7zNoUqCsoFTgK6CF1rL8/m5/JAhbYK8yFTLiQ5FIzjDkYDIl7ZVvz3tl58r6iYPQcLKE4KsOXwNN/uS/ciw4b9y10nx0CCuTVUtNgboL/nEUxK+uaci3j5pLRlJnEPEmSdci9YZCQqXPnXOIuUZLIq5R2RyCwBJuP+kc+MgIVxPiN7mv3OJyUci+xZSHLIQVxCpdBWkK8IVP3Kn1y3Ipg+YWsl1Z0LjzIB4/NmxYOso3JfUTl+UN4FX5X8simJq2TiDFlorrpTm0rYpOKSrGD88rFiTD4wNcYJAtbkwLKWRccov+Z8yKhTBMuIz5aLgaH5PzM0IDGdLtoNBy4VZOUTGnEaXIGhufBKzpvrTrnGrCqIBQx04EADwK3+HrCr1oLj89FUmwrdOlpFxGGWh89HpIfibOlAsGOFY50oPlK8d3/E1xGPAlFCjD5lHKbXmE/KOyULE7WpbWTR/mlcpI5RWc8HJ/7KJtn0oOhcfVqdLxgNLViCA0pkcamivZAGPL0qmrAvSqWzM6XlPac2GX+8H/APQy9Hx9WpTOVCxJRFQDSiNwDklj6UICs0mbHy4GREPjX3kNRIMeeBUrSpoaLOHnrDMbhe9iwcYtcySsnJsq0ZSyKzvFgfKdwmEioS7JYQAOQy7iPGi0gABhSB4skVU7jkRX/UrRFTogTzF0orqBXG8u7sXFohCl6vKxHFiiptIMSKgYJJ+z5RVtuMVFaiK6kVmtKsRW3TK5OdV8o4JSvL3dEq8oLcVpM8UFRk0XmCooqt8Sn84Nl1odsjkdFIOKZ5ObI5nAzKAWzYqWcYkknyJWeiB+lheL6RY+kjdlPyAQxV7KLDFV1SlCwUNTism42PL0R6IYU5najoxWQAFjFeX4+MVQ1L0bEGYuTFZ1SvMVLhKwwXBir3uayk3MVqYq4ERPsqveQ5ElMVNhK43lgcsOcO7kLv5oAzC6VhsrWaKtkrEJMUBA7ETFNMJTtk2Ypo9yVymOAAWKQhMtDlIAA1Bww4okGWPSuPlQET2Tk3EoAFfp4vuRZijIzk7Ar7ORpE48ZjiiVxXSvI6ZSqUu8JxiyYOWCnPM2X+ClAVjYq8RmBrgCoN2UtsVxtT+fmYBPxFYGopsVoQAWxWjSGvFZ0ooEZyfTtdnmeP85duykxKEQLIOXlCrKqaPrFP473tvxVTIq+WX38nX52GTSAVyAv8BVOoGKAyJlsbCKMvi+Soy5aEbaKIkh+AsyAOj0eCVpbSv6V2AGfpUAgUhleFy/Llj5OiuTpc7VgA4SJmVOKEqXB1cexAcPiZYXktPG2A4s2DZXTS7FmNOMbRVYsmEV9HyRfhy0v2+Y52YrEStKGV47cTBINRKodc02ThJVCIAcGVdSXCQxRSpxXjsticfDi0jlB4zVXlGPPScWpcxpJHDBp87xWLw2Z7iojROsSqJUSStoldjk8SVNEqHlycEHQ3PJs0TpXTTEUVAiKA0fpKmiVYkrRWAiSocGXqecjRTkxDPDxOO6xUgC93lQkrHJUGSsmZXIALqw1O87JWiStiZQFKoxRR8jDUXslOClfBgcq5JCCXzw+SomAE5KwyVdly4pXhStecfJMqKVxkqQpVGSt8lSZKofJCBph6U1rKpRb6ysel6XLfOV8NH5kdFK5KVqWSspUODPylUVAW7ZACA1Hl6MvrBS9s62FchSv3CFjPy8fNiuypDUZXRmWpV8hYVCnnFxUK+cVJrMn2ek83l5Q3iNHEDdwzISuQOv5wsAY5rdkvyBRVsisxic1c1nTxNH1u8AOKp/z4GXlgqJ4CCCYlbFw0q1sWJrJo2Wk8tp522KOnlVQuyefX8paVJuKXqnrSoGeel4o7QpZBvNQySrrZcfyvAZh/LE0UeRPOeQryiEl8RjtdEiEqwSZ2eKh5xj8cYn+8oIhd2coAVvZzwwkNzIQ5cDU+WFlxTSgV3OWWXDiAR9cJ7RBOJgUqOmajKl6VIBpBOLSJNBlfeKueaz0qN1wYysWKVDMoWJJMr0ZVduEWKd5qZ7lrDylGXrsqhhOaijjx2wT5JkWwrPpTlI9bZenzGKYeCqM+XikqmVr0ryZVAlDDUbM4jNFk7iT0VR8olqULSr0lItLr0mWioC2TZCxWVOIrJOXsYsplWjKoWVkYy6ZUC0shZOZ86uFOp8ZNYNwp0ADw8gyShKLFUXEyo1lXjKrmpR8jjPF+DPalLrMk+pnij0AVNgoVyYLKq2VQdTiHHqytxlWTKyMZ81zV6lDOJ0lcRogWVlsqfZU3iuRWLGY9oVXsrSZU0yt9lSNcjP5hgr69kNXLBSU9KkOVMcqbxXR/OEGaL8snZOMro5WCcRvOT6QadZ1h5+3FOjKSBS+c6dRAoMK+EDiIZDnalCeezUlrg5Onnxtqzgj6BWHDOwqlVwB4UCAc9ex0kEzZt7FvELAAVROzgBPjZ8TyigYGHDQAzKBdpIRmx7ldwgZ0VbbDVQLwWVVYWPK8hAk8qcwC4tJnlQ6SFfiaZs1BKvOSDnLifdeVkdIg0BqsNmwdjxEDhS8rdWG4o017qDFIVANZMhzaM8VvEKfK+UylGDJSAP1QTSslNQWSNpC5dKnyiTnDexZTgllCB+AsCFA8FmlMNm0tULkgRsxMJkwOapAXJ820h0d1aYQFYYsImlhIwbGcPKCFpFNWOE3As0QqFGmsszPa2OX7wBTJCNCUdhi0eA6y8qi2mryubyko7TeVNCBFWHtsMr3nvK+VQY8rcT4M70vlUFwJR2ahhDWgvQAjNlfCfBV08raFUBO2lUDQqtWOdCrT5VuQG4OiipARVGCMt0aFcATNmwqjXaOYB+5UqACIVQyDBR2NWSeFV8Tz4VVZHI+uSI03IDIxUUgLifGWS0GUxXBpUl7YJ9Q1viFcqhKYJiMHEZxrXwyQWFNFhcIET2H+7e0hmzwnugiQBasrYTJKwIABRQBOKq+rsw5MbMiS8dRHGAHWlNq5Idc43B2kAQDyUQcYAEOADhMbE6RLwMUJmAZQAj69mEDA12+rnjICeq5fcqrjitM24rYTI4AuJ8KHKybgkQJOQI4AI5ARyAOE3AgVkqsthsPs8lU5MzSVePIceQwlCOqGchQb4SYqhkOITC85BEExgCJwspPuBwB6Uqk2yNgKJAU1KpNtRxSSADyhe/nK3CZYlNG6B/QZtPk5LgIPmTTxFsMHm8J2lOo2HolLvK8/2hsLE5W7yE6w9Ah9BV97oySU7ECyrCkSTTQKcrE5aSM4TgrAhhHEkXuLXWdEj3BBsDfRSPdvmIiqowk53QBZiMjMKP7ZVwdyqF9BFiO/PnxsXzWEEAbk6PYITQE8q0cwkhlWljeqi3EjyQBf2vxkNb6NRQAirBfety+a1kQ4zhT5ftGfPjw1PFXaL9OkLgFEHeniyLEVeIs8TCJhOATDetyraSA26WvUN8wrrOhwAmDJcADggEVAhHifGl1TY/KufsH8q6QyGPC8yBeiL7MFUZJRAVKqoJL41SkMv6QXlStIAcVWdMVvkgSq6Yg6TpBDJn6HNDCyqiQybKr/lX0QHA4bapdcKQqYmDIQiDwBleUIuuU8APujqfin0PFsb783AAcjKcPh5cb4AdIAyqqpNBOOQewAYkK9ehzlpRB0gG9dP8+Q0Q+rk2WBjn2U0J9HCHA1Rw25IOMDjMEvnXdK9IpqADHgD4tCCnPCAL5AhTzhcITUHaq4dwgFk5ArFL3V4sefPlVbSc7UpMGV8AGuAM7YT+k83YduQwaB8ed1VnmBqjJ0bnPoOp+ciyggVuADv4jfYRpnAnmKXDueZYySR7LGQdXi8iFfIBMGXMBJEGPQqMgImDKUEDIwLgASPWazsEBxjXBPBAaY9Ygn+sHe70XE/QGmqhZg6n55TaSyka8g2qyIu+gAkQC21CQYhl4a2KI6q7ABjqrxkD08T0ymECPlUuquQ9vIhZSg8iEblKf6yZRs+nA1owi8FrDeunliA7CCZgdVwVrJd+EcAJs0cCMuBJce5BqBcfp3/eVVHrcSn45UBVVYGIsrIAsRNVU7MFUcoRE3wAeqq9NAGqozljeUBegIrlTVUSgEx3N6q164DbCoEKJiIhJkwZOZ0gaqMxFQDFy+jskFKGq5kLjJOSwOEuVFf/Aqm0UNWztzsHqe6N1V3AAeqCzt0ADmTUUDuFYhcNX4asAHv4wA9IolchBZBMijVV3/WNV42liiAsjXBkBqhH1VY3C84Z+OgDVQ6qpgyFxkQ1UuGxUshhqxKsUP9/GCkatMAgLPKbCP5dDkjw2ETJHN9KTVdK8RZ6ZqrrVUOqtMyyA43rhr4OI3LqueAAaTQ5A4fplizqmcoqWjitmgD9qp3GPWqiJyOG0cUBjqpbMm0YUdV7zhEEEalz4ntWfMuoGoE9ni7YCgzLRqhgArQADhLpME9HLMwOfgGaRFpKHqt2uICgQFAfLsab5Mk3W+bbUQOgPa0ZOqkquEDmvg2mScr4Q2yr4BHzlOoU1ViZ4ClCIUF0oS2eYPIi3CLsxMAFBwKRXZvGDGssvouat/MI5w3dSoWY8iZyMXy1UuqrLWjWMU6olasiQmVqpmKl10RF5WYC0IVlq3xAOWquGLVaujzoqbOrVYNAGtXjYGeUL4gdYgFWrJs5VaqcYAVqke+/WqIJqbzBOLk1qo4Ui6l2+CoEFlVfnPcZiiqrNE61Agg5I+qlbQ6qrX1XY3w/VZ/uQTi22r9VXGniNVf+qhKQgGrzVUgapNWtaqiDVMzYoNX2qrJVVXkVdAub0wqhyBUw1REPb1VJmy75HLJ1/4pxqoNVPGqDIB8avmZmaBOJu8GqNDbcap2wIJqiIezmApRaznBUSJxBVTadRBxmJBjzBwZFqAEJ1QTS56nCHVVUY0oY8GRAp1VMuhs1RAOXE+LJkYtVzIEJ1WOqkTCO7QjDjTRmRlEGPMuo3FM/vw5RGmjPZER3+mQCAtJJCHVVen/TIBTcCZIBY6s51ezQdVVr18sdWwwHCvib/PpQQuqBYhY6DbAdqwsRBgurGeDC6uQwZZgVdcHOrJdWK6oFiK9fXnVZOsTf7lLiRALnAHHV0uqcUDxrkMOGDAJgyGUAPKamAQUIIDgmLoHCAP0x6K25UXJTGyAgyUkwACcDlSngzBjghMkHdUIpQsgLaJAZKKKUAdxowHd1WYABjg1hx4GKwni6NuSkCwioMI5kAzYBXTklibOgTacC1yz6CSxAaY2jVHQBqJEQZ2t1XKg7rBn+t09XM4HjhNzzbPV9kRhdyOHki1dNGMsFkWqLQ4B3EudBTq8zVNmrfGQ2kj55CSfe3mv5Q69XWaociO8qxoQNWqUxBHhUxgIEgwGAuptm5XE52XVQ1q0kY/LCe9XhoE1UCcgHVQ1artC6oySk1tnpHvCVIB+PRs9S8GlFQVfVsDwFeitSRdAO1wnrhv/k8dLNwzCgODEeSkbEBwXBBauEDqFq3dV7zgc3yEdDm1T9xTxgf/FqRjdcIkgCeHDoy3roT9XUIgDpNuXYLVSsQr9XeauP1Y48NdV28RuwB1yGE1cZqodVmBQV8Cb6pjYFFOOwAMBqdHIz7zq8LWqwdV1Eim1WeTlv1Wpqhe5mmqrEk6auPAHpqsjABmrewD16ociLGwdiyNLsPNVtxEARAAa6opLwwkFV8TzJ1aGqndoQqgI4wjHwC1Q0QC/VIWrNRak3lz2RFqjCeb7JWxDEqqH8qYBLCAd+qkjiZqpJVSIaxeEyMpj1AaeCyuCeqpLV56r/SCXqr2rnuq/RgpbAj1UJatdMGeqlLVnRi0tWIEG4Id1IyOFzzTWlXH8NT7n+QZH8F3cQK7tADwgHBANNgpNsiqT9gE0AOYamoAplcR0wuGu4MvbeKw1jcq3UCpiUVjsGDPqaOxDxlX3eVPEcQERCIMyqJpG01RcyYvo28RfaVWVoPeVmVWU5DkscRrwsQ7KvMcMXxdyO23lYnKSL2Z0OEa+pA23l4JErTQOVebcNF4X4jTlVquAWVU/ognafaU3BGfTWzwbeDZNMIUMJxH7wBFVTmIiggTc0oMStGoUMgVdIZybyqrh6HuwgNoP7RCSGAdF9BiqukMo6qv0RdhkQVUr5neigdJLImfNloVV2pQVAcEHBFV8VgC3LIqo2HKiqlFVAchHySYbxagOf7QHA+KqF9WEqoOAEIamLVcvEKVVKVC6NTSqjlVHojWvL/iU9kEyq+fY3/thjXZiNGNWaHWCSO0lgYDKAAONSHJY41/KrRdj0qqwMHQ4YVVQxqxDJvGpuNVVASVVAo9UjL/2QLfGtqhVVmahjyh9VLx1VjqzpSKhgjVWK4EtVWBq+H6KhNvJCWKHDhK4rC7B7ydkDb5wv7csia0hoqJqoVyLQnBMKQ0TUQtTRyrDfatNxL9qlCuEPANDW7XDJAGSALg1gOAXeqnquS1ReqkrUP+lKTUsJKx1fMQJ5gH9KM6QaRTa+kfq3bgNml2TWQUCtym1kK+8b7AmDKPKCd7lbq7soGSgs7FEzIUIAcC/58CEpVTVwiDeAErJGVIM2JcjIkauCBAaZd9VuRk93LWmzx1VIQQ0OKjSWEmqqp08bSa4LoVJrNIVluEWyAJzHtumwr3TUimrw0WcPSTsqlMWjknR2QNljq4hcme5cvpCLgw0Pdopf+xcLwNXHmxevFeUGM1HCS0eDD6ArthGa3nxUO86yCIEAfNh9o/K+Mr5WAmF8rsiQNEl01EwAnmBGlOnkpf4ys1rYTUvY+ar/kuwayYgPEkyaRx0itdEwZexAt6qNtXCUFINuiahvA52q9PbQxE6MWGa8yAFqrQNV6e1xNeusYogBJr64REmpnThXbMk1GicezUV2xpNZOU+k1ZMB8FxMmovkesLF08TQJpJWqslh0lrImm+ahrbMq4B161f6qoHA/HAioE8yjQYv/kC08Nyl5TWTEE5NS3eJgyNwxvsCRcX/1eZMeWIRf89OABaRzMbYRBWU4GVNRC2ERoEKi7Bb54GVQLUDfPa4njq8525hSWEmfBx0ovvqSWgNHRYLV0EEtkEpqZC1ErwwAk95ymknkeG/ykPy/HnbZ2s3H48kggpqBUMlLb2mAqhk6NAOGiEXF0gCfNgbqmBxCLi89CkgEuRORPO6JCLj/9VBjwKAu8IALSjFrRpByvnacLWaruQtE8wVxCWokWKuQSQA65ryrB/mvTIFJa/BcyJ4YjY2ZgWyB4rc48EGkiPYdgCUtfNAFS1znd1LXUkiRyNpa3i1ulqiPxLi3ekYjAcE5qOpWliLE0+ORZaoaQhv9TRCQclKAILq+y1kVB/CLyGsS1ToagU1+hqJaCrmU7NetqzNQS0iLAASSTpNb9ULY8GJq/1WDmsA1awEi1VP2q2FE7msBpI+atEirFquDVMGTmQJy1K8ok5S6CD96z9Tp7YPWu2r17miiQFIaHQQC7ORPMcrXdqv1aO80N54BlqmDIZRn8etUZJaR5lhLYbUACTAP73emBvJrFDW6GsePPmEDQs69LJTVSayniEqanlYCZlfKTqmtHLFDBas+W0ip9AFziuYibIhhRLsiTZETWsk7BeSi4yuo5QYBSBJ2sKTqt1VVpr/pF0KMCtSMgSAAgAAUAn0XGrHJgyhix07zuIDjTvyUDlEFMt8VhTsIRAfnEwiJbiBNrVW6u2tQFanJmt6F0+5vMDbBKtQG3iCPACdA+FHPNeVpCPoFeYrnQEADkEfDTUqmjlogbUriTmdKDa6gAA1dfAqyU2qOEuFGqMduDQmJGyG+YjClPIAMM4Tmrqvl+bAUoNXAHZqETV3qoa3u9Iqf8QVrgugKylCtf2a8K1JqrhzVRWq3NSya9DOeJqy+AJWrIMlya3tg7FlUrXjMQytTCALK1jus4oC5Wv1aPlanm1VIBirWC61KtbK9Cq1E9AqrW58NqtWXPd6R5lhJnBNWpatUvlBQ1HlrlDVFFDwgOKaqBlvVrUDY480itMqaoa1aprMADGmsoIGNaoMeC1rkJ6FznP5s/I8j5Zsj5rVy3kdgCeYi4yLwBbWqZpOK1Joq461T1r3EAvWtJtY+4Pa1h1r1WGqgROtduAM61k2hZShXWoFAEpAUpwIyAMmnb0setZaa561Usi6FFk2qQoiCaTtwkBgvrVeURTgL9a2GkANqRdYYrUBADDauQRBQABq6lfWNVN6QYG1xdq4bUES0+3DUQHuA3gVcmLllU3WMzAVG13gVeOCQ7lEAFjasiO2hsIkhSlATfL1JAXM8JquzU6M2tatpa8m1HYBKbU2PDCtTWQC7VQ5q91702tQHMya2K1zQCk+Cs2ufNcla1a0aVq/TUdgEytTNnIKegtrHGjC2sKtTCAMW1oq4JbXavSltZYQGW1ggVarVejVatWra/k1Gtr+djdWolNU98KU1z6UDbUgrFsKglalU1Lh0jTWNgLNtdpXQ0OltqprWj2oh0Q7aua1rgrHbWrWqzSRaalXoSdqrlGJyXlgOPa2O19sSeXEJ2oQdT7a5O1IcjUHWSVHTtc/QfAoWpI62DgDgGyt+rWqB9VqgjCTSAKKatBd4AYexZQA52shgH9aosS9SrlNBQ2vhjLDauCAJHAhqwV2sLtSDauQR8Nq0YBcOrsCs3alG1CbB27UY2q7tdjaiu1XxV+7UFKD+1f7ZFXiagkDBbwsXRVUixKIO6LFiKDyWWENVGgFNutFk+UJURSRRrRZbj81chkUEFBwLXFKGVUuc4gNHju5E7shYjPcumFdHtbja0dnr/jYLARwd6IAxW18AM1a0MmXjrE6DHX2cdU8AM3mUcBfABmDA8vm6oG1ABb17C5hBwDsmoJKnGqjr/uBbDjRVQk6gOQY6BIg7wqvSEuhGeJ140BxFVRBwRiqJcItVUDReNUWWBHErnwmDVi+tbxERQnSEoA1JHs94AbIBSQIVADU6up1dtczMBUISkwDdAflRqpcGh7jMxAANkhObOe5cGh5E8x6dX/q6+g2jqYtU3QDqcvUgVPhIDw+F7pcEGRtx+OIiyKCRyZGzWMPq+dUimNEBqZ5smqbNYlaje1HNrM1XcQnGYgFQGjo49E7mxz8H+RPi6Aq1wXQTcmEEERMt+ag0xqpdiIAb63FLooAAsS70iw2hVnyZJktIt51Whq+TVKGtS1V1a0GShNqR7U22vekZs0fnhlYAf1UDmtptQvax1ODNqV7U2qqzYuRJFkKTDq87Uj6qy1nw66u1tIjq0wSrVxtUZAaBUopRcXUt2ue+OI69G1ndru7UJvkBdX5a4F14IhNmhSXwntVPaiF1NNqANV02phdUva7c14JMt5KqKS9Gsi6/61qLqBeKV2uhtdmIOQRRtF9U7YuvXfAVwJNqC75xXUTcDEdWjaju1LHApHViGHYsr5axE15/MItQb0TCiXS6kK109rqbWz2oitcy606OsLrfVWr2o/zvXCQwCYUTr/yrSTvhGa6vTg1/4AcAC+RzMWkAhNgr+jGgBK00CABxQJ11jXl+kqbJV8AFUrArirrqqz7r2qStbs695g1rj1/6ccLDMY66311LrqhrDuut9dXJTXAA3rqPXXRusiDL9aR+1vzq9DVdWu5dSw698+u4VJXXvhRxddiJdF1grrGvI3aqtVZMQOK1+JrhuzGAjnNVf5Bc1eOTJpAwAR4MGFEndVkN0KXUqusTFGq6y3gR7LMgAIuL7NYaqxl1l2rhzU/iuitcvao11KQcneKLiVXMjcMNoAkespsKmvkussDq8ySQbrXxJ8WswIPdcBM1CLjSXRcWtpaO8Ibg1nRJ+yg0WtGkHN6EFAD7KyDUNOoqaBZARd1wDqJ+ASgG7dR4+dd1h7rl4DHurvdbxax91QIx005bOrZteRPf/V4Wqb9X8GtyAbnsjw8O4By9X+cDfdSuPb517VrPLW8gyzdT6axU2jiAi7Wt2p24uS64e1lLqO3XIGiJANHmXt1DLrdXVQuuLrlMikd1bLqmbXk1kXbq6q0SAEUBfoCzuueEvO6y91jaqdnUrurfdQw8Dd1o0gt3WGh24tQUoEN1D7qqYgIuOfdae6+D2mslVzI7WSvddWfd6gKWpOPUXsG49St8E91ptBX3VcetGkEZq1AQ94B6NUkmq7LjS7KwAY4tGrYBus/dXR6pcyYWreDV/uu/NbQYQD1Zer/3WYmzA9ZmKCD16trUtXQetkgMw62D1y6r4PVXOiJdVmJE02tqp9qlc4sMma0qilKHhrUxJYVB0XqTbf0OSeZNkqk2xsNY7QdpVIFdDmCSAAMXh0qgsS9hqQK772X8NRWJYI1JVDZ8UDpNlIdIC3tK6RraarLKpOVS47XQhxfFYnLJGvoSiJAGF0nXhGawaPCCchaEXyOvP94AhlOXyNSka0LMTi9r2GOm2aNZmIsE1hYiUJKPKra9SMal5VUeksvD9GpblbwIa41YxqNp6VcSBVa2I9g0V4CZjU9njmNYuJedaixrLnLLGvSdRckAwe6xquqDbGqSddk6+nimKriACYb0BQL8apI44arTqDgR3lrOcajmSlxraQBDeo+NXcIO41X6AHjWpmCeNZd6mCSdwgvjV7etxVbyq/41RjDATUqGQZVUfkUE1LxrwTWRmEhNRKqn6KMJrXyKwzHYdh1AWjVQLrExTnpz7db+qnD1TLq917XatZdYzaj3BKhMJHKPapg1aopCB+5WkkeyoQCxwJhInbuvmtpFRNqvctU/av518xBsTUTmordTc4J9Vf+SX1VHMutNWfAb0gDGRc7U+FGXQv8iVcyvgBofV0gH8GHD6yF1iPqzVXAapR9XC6tH1U5rKjDs1FNQBByDtw595ftBaklJ9doa8n1GbrKfXjmru1WbQ5m1MMhQby7aoZ9eaapn1RUBJfXmZDZ9U8cvg0f4MofWoep8NI+4bD1vww57VXauF9axqmn1bqBk+gxWtFWgNjYIE+BqfVUKnyp9Wr6rzhGvrpxQpkubCsJBSlJRkBuh7dRycoGfee+8zhA62Bqqp19Vqqw7VGyTpJI2epRdazneGGm4w27Ukuvldd3a974DnrU/XuqoTfO2apNVPPq0ZhSAFTpu0AE/cVvqyr56uqR9Xb6531+8hVzKSGoC2nIoDPcVScybbqoLAisEJBaQcJgptXxAzoQcXApxqUrw7sxplySTm0Vey40F12XqrpWZIKnQVSQ8Yh1pAK+p+dR1aooo9xR0HpnqC3MgDqoe1D2JeNWLqTcYBljWqq5FBCsTMkmqtXQAFNVDlQV9AR+uRWKPYclOefVEAAWmohEBv6w1o0HUvzVg8z4OLm6/+ANrdp/VlgFn9ZB65+1uzD4ZAvkWXVbVVLjazMAW0DQGFnoD2lUrSHlzw7bEAAaLhP61/1L1l3/WiKE/dZEgf1oeEBAcAhusgkBjizhskAa++Bc21TdWT69N1nVq40CNKjzXo6UVdKzx4ZixbzHeGEnOcigky97JCWH2NdTbod6KvHgA7JQZi99eW63l1SjoPvZNFTqGlr66P1BBB9tV6+pcJsX6zAApfrXdAFKEwMgX6831RfrAaa6dGwrmdqgd189qhfUYhAI9XfI6qAdfqdHUYSLyKlroZv1jftE0royXb9bXVDpgXfq5eg9+tnoJVlESUYA9CEyD+uQNvg9Vm4o/qnqTj+pf9VP62ANisAP/WWeuV9Yv63gIWMhVzLQaq41Z3/W/1RnJt/W/5DboGF9BCImaqe45H+vD9a/eJ21ovUr/Wrar8DSt1B/18KlHiL2Bsn9X8oLOAH7raAB1XEQDZkpTi1Tzyyr5SSuo0Cla5mAVuri2HnABZ9ZIAYxB395nCCp0xsgNhXCEWMIAwXU0wRcgZwgVa0VpqSg17SRcdAtGFoNxQbcg3Kesfzu1xLHVT55fzXDPToILzwiCgWuhNRDNBtOtIg6285Pjhxg1p5HPdWfCaYN/bkrNHkaHKhAm+Nq1rgb8A2L+t/9Vlrf/11n0gA0ApyvgKAGxNSkEgz3RQBocDakGpHQ6QbMg0LQJADv/qtANyJsMA2e8XyDe6XDYNSvqtg0S6Hq3sQGxU2pAaqDzGyWiwJQG4MK9eDfjIO+ppYGCq7pytHgmA0FKBYDYma1h1TRtwTBstA0SqC5KP1bWw9tWM+u1VWUG6oN2FcYPX52ohAPy61KAxbq//oVdWFvOz3Ql4YrqE3wE2vEDe26nw0EgByg2napntdb6yv1CgakNCGurY1R6GTH1Pgb1/XA6vA0gd6164DQhSK4xd1x9Q9iTDVBWkhB5lSGJXv2Aekyh2FhWHoAABUH/aqBooBRlLIuBveDZrallOZbrYQ3BFK0EP80Rxaq/rsfWmgXKfAxAaHVNbAeA0aqvRDXH62kNKqqc7X0JRaVRbxL98PhqE0D+hwS9WMqr/w93kUCHbWNPEZl6ixx3qgYjW9pTYYKka7L1KfxcvXVermVWZgSo1sTkSvUMBEyNeE4aGwpXJJF5sMB3rF/oLZVdTkijWYBBKNX3BM8RtNVbIydHAaNWNsJo1eZBrlV2Zi69W8ah5VwZCujU9eonAH0aifVA3qiwr/evkMkD6iY1OzsWSDTGr9aOCGmb1yMlOjBRMJRDuBEQiKKxrzJArepn8hsagOyL7ttjXbesw3mXgfb1RxqWA4nGsYNfvJc71DyEiw2A+uG9bBJG71P3qvBDqF2ZVQuGhfQQPrOVW+at+NaPvRLSA3rBVXeiLB4o969lVUJqQfV6G1hNfiLXryb3hE9HuUCA9bQAcGIkGq7VVhuDX9VYAPwNII9EAIPhvBiMW5MGwBzBSSrvMAssCG6391GIRy9UzhpADuQBGQ1L25gCR4QCEPlSG4m1Pvx+eEr1Bs1fz6uQNtvrFA3UWo3IOmYHh8rIabw15uwhwNxIK8I9qCKRgQkwhHogBIseGEBVRj6qQ/1R0OURBueyy/yiLkoiF2xC8R0BqtGmqjD2bDyQNBWbEbr6iLWRzQHEUB3Uk/RRe6QnCm8AYTZjV+8BhwDsgODKmCGV7ElxUzzVsBvC1o66tiAkwaMoBXmsiLg/kFT0d5rwxGdJ1AnmoapHErNqXhgvDHeYFMwE0M9wbCI35BGIjTM0Hx4FnqVQ387CFTGS6FfV3EavRwlwCmUh+mafV2qh1C7MIBhKMcPeA1jkb8jDORtEgW5G2fVEkaFAG6XUV5FGCAxhGUY0YDqwgYjV9xRh21+rSDUHqoyDbtcAyN37q93V3hvMjYzch98KUbDI1FazMjR2ECyNGIRtEQ/uvojUVfKbAfj9NZIo2DnkrgpHDusNpXnJVdGrbnnIBWIIjdUiZpuvn9YmeYagfqqi9InmsXzriG9oNzlg+DU+u3kQtbHVa0dSFQ1UMYLysANGpTKKmrthzm6r4CmlazAo6kagYiaRsqVTMdT91KUauDXARr09aBGkz1ZNIDb5fkE4TA5EP8G3Z4ko0jeCGtRCIX6AFuBqoAyJyrDXra2wq8DSOvogRu4IJFqrGG74oaDWzXE2GPpGgCNsEawZqXIjRhP/q1d1felqPVCeu3dR0GrXOhWoH3xWRreDXgGi01XABKDUVqusvNyG48+8xBtfW8BrNDTaa9WECfq6Q08utdEWw63OE9K87cHs03vAO0APpKLQBH4oOeqW0nbgz/Y3+xiOB9cAm4BTG4l1crrMbUwzi1tT1a9+1fVrhWA2arlNVs6nWuX9rwOBDWp4gCNai4y5tqQHUwOpPMfYgY8A0AV3bXcjAHVVaajENPvxiCB3WsyaY5kC01m4wrdVyxoU9CMTAh1H1r7Q3kV3wuAVauCUMMa4bVBqvfDYu6jy+rZrEooH/JtDcGJCXgHhrIxKDwD89SBXfMSvCBru4gV0oxE6GipyKXr+aFsBFbStt5F0NXoa0vXzKuPEV13duJtNU/HRN8LXND6CPzh28RkjWphsSxj/xKGw3mTDWgFOQKIdvEfZVlsVfI59Wse1YuQZhAC0hkZT/aqgaEvBFNaLDYizB3aDONZ5qtH2VSADHUyOzrck8AWW1JtrGwFDRkbnDOQMB15/NotniyFTFGdwBWIB/qRrV6+oyUFbaq5ibcaYCkYOuIgGbqXzQJ09IoBFzgQlJ7avieOLxcjJ2avbYTp0cWQk84WSD3GGdgFBmReNkrBl43NcW7jSbaq3V88wHNX6qv7jZmoMp5BOp8HU6AUK5gCa041bqrk0DyqqabPYkOOkEKlMWFqEnTDKg5HWw2IkvTWRNAWTPg60UozD4ZObbUBZfLmVXF8b3hGCh00FGMPDpCgoBiRDU72lCigBEDXoogCaE8jwcIBOCdwa9o9iRXkiRACdwWxAda1KpdbQbmTH2cCHMJawA1kkgIiODs9QQgMDSp8Q1mBCRz/vBaamq1u8bndBVLj7jS3GxMUJ8aq/zMJpfkd5s8M6s7AnbW4oGnje2wkMgJThcE3b6iyuOAOV+NLPBjQCm30TDd6G/QGIDxHvJNx04gk3wugxSca/Q3M7CzDVMq0rkGWqh66XpSljakYIYxgSCITCE2q2tcnalYN8waLTV9jCWDQx5IYxqwb+NW32toTXMgYWNN7rdZFO2ovJSImp8wt2Ao3Uz0xjdY8oZxWqKVHlDtACU+LA64rUfCa47UYOtwjPg62382sa4zy7hQ/jSI4YuNdphXE2v6PjdfeAT4wbibXXUPGDjdV66vM1m0gCzUPABlfJ26zMxQnSsvZWYAOAL4m+lKO8bjTUPwDL9fyo94AvkobtQb6yqTfc+fCAjCa6QBTCt4AH5qC51Qvlx3HvAH7cb5KOug9SaDTV1xrKTRVfVseb6rJgntOAWpAzobQUAoRzHDu5B4CPh/CSAks524A85jl0fMmg+pkNyJAhqcxWTRsm4KUKyazjhy6O2TcFKHZNanN5k1HJuClLjgbgAvWhX9FU12pcDGzLFcQgRh9FnHC30a3ABKxg7Nv1YOc2psc8mvUQ7cBnOoOc3igK/ouqg8UAYaAS1yF0Ph/LFcLyaqa7j6L+TR6Jb5NtyaWGDu5AuTZmgGZx8UA0rGfJrP0fNOLfwEkAsVyQpseTbcmuhg9QAMLTD6MgAEEESmR7uRFHBZyLOOIOzLwIMbNQpTfJqBTQOodB6AKb4ADgpvb0VCmtKxdDAecxb6PjoMSmmZxmVLqoEopvQekim7VgW/h4ADYprZTV7xV2Meog6qBMpvhMWSmiVNJKaFk3eMSprhSmiVNNKa6U3AptBTWKmylNmKaD6kspuQABcmsUIlMi+U1ZyL1TSwwavI8/T2IDwAExTZLOFlNTKawU3ipuQALKmnnMlKbFU1fJoVTQCm/5NwKb1U1/JtBTVqmu5NmKa7U36lV+TXpSxFNw+jnhCuxgi5qcmzNAxARZk20MHbgO7kL/Esya400S11Z+usmhNNmaAwpRzJpTTRmmsylmaAt/DrJshzEhSnnMWaaE016Uoi5mccMylAoQ002jBLLTUWmotNSabTU3lpqSgDW0bk8xwwomIlJv6TVbq8/1lSbqk0POpofF2mo+N5/Nmk2jAG/1G0mkaQoMJOk3asG6Tb2m8AcpSardWDJvbgW4gxngaJq3JLASCpcEXIrdQPSaFLFViR60XFAI/pMNA+CWuxk/0RhaGVNCdgv5l0MEtTcPojC0BKbXhAEBC+TUEEeacWcjonJupokCB2jGNm1ARM0CZWI0CPCmtKxXthHk3sMDf0dVA4NKzwhX01cBBjZvgEeKAWARAM0GIW+sfh/NwIcyafQjPCGZ0NXkbxiB/zs01IZo0CDKEGGgX+J5pwJ0K94kIEA+pWci5Ago+J5YJem3lgwXFdOanpr1ECjQz5Nq+j2GCaUxlajN3BZNY6V6M1HBJU8TIESAxpqbiU1D6Jl+HMmiZNW6g0rHhsm38BMmiZNSdcTdAw0C4zbxmmNma6bBM3gBE60e3ARtNawbOfUVepBsX+DYMNZTkrXTZ4K7IeT3f0+ucMPQwteu5VWygH/2zyqOvWlhs3DaOYcsNisI1qg3RsvjTWG/TNrxrFw1XeobDcCqyb1LYbZjVrIVm9UIVfxKsKqew1LetJPoiqq9E63qRw27GpmilLgCcNzCBDvV7MGO9eSnU715KrAzKUqpMzdSqpcN13qjw2MqvXDc8amzNAPqtw0JZp3DcFmt71fxqpw2XxqSzb96k8NcWbWVX2ZuhNZeGsH1NUBepL0mxnDdIHDQNLwx15wt+pdxvwnAfmJMQ3VC1Zs79UCnbv1y8o+/Wi3AH9bzlbHSs5xm/Z0EDx1dm3N01QvkAzWaQvB8m5oaDMxPq7wJmYCYMjsQGGsomqsrg1plDIO9TUwCpA1CsRd9indCqvcyYd4Er2Dp53sAJdkYZSVQArXa53Q0HiBdUEA0jizXa+N07AHWgCa8cVBn4CL+q4dJBAJ6ST0k7g1pRtq4uhakrwyQAwxEPSnsuGr8JgyGZBaAApqtRgEwZIp4cQaRSB1BpX1Sls7JCk5SPTV4yPELkrwFsIPQAykJxqEX9biRRU20AbHA1pBtbHqUhQ4st8xF/UKBAlANcUWhqLBgyA0wzDOGKOfIxhLuNc3U9nkYDSrxTHApJR8cC+9yKtEHDMZVgYabPyGuJATPXJbPBX/gK7QdTiyNfgDbbylIizlUQw20zZBAXTNPxris0j+yMzZ0amXNbRrl4D/+wrDV96fr1JxrrM00AAMzb8qhLNDmbxvUoe2X8s5m6b1rmb2w3dwBUUh5m7sNyvFZmCrGs7CnwgTY12w4As0U0Ew3vtgELN+4bVlIDeqYMh+mKLNQp8Ys1XGoVze8ap71dKrvvXAmseNSlm08N4qqdw3O5pyza7m01Sh4agTWhniFVUVm2sNIxr6w1lZolPnCa9baRNqNtWLZEHjaFAVCNNZAsTU1+vVPizaz91SxkNo1MkyLrpSXKGNbUaurXa2pkZbrajRNdNkTo0SLFsKgNasEoVuVS2BNfCGtTQm401WEAzTVaMH0TWrGw7V5kwvsBZpMszpMhM/cgPQcNhuaBS1FEm6jQuIbCdbBmqXjS7OYrUmt4J82rmuCtciABk1m5qqDxMGTwxIX648oZ2TJaBelDzzYyG3D1BYg6CCeaHmxJbqY/NuEbWTXF5qbzf2QUvNwbqmSbtcSPzcVqSvNrUbPLU15tZjRT8D+1wzMOY2HRp/tdzGxU16pAr7xbqXBzQjG2d1KaUmDLhSEoNTkgyYN4UgYNU5IPakPKG7vNEotbe5Q6HMvjOQcAcPEA96Y9Rr1tc+pEjmCbBKZDqEx4gMmgeWOySdotWNqsEvlTAxoKGDcEkAbWqARAYmpB1m2cFY1HWpnjaluGRV88bVQLRYGm3EHah0kjTDQi6oFqNNZnqsa1jqiH4BxSs6UoaHMWijiaaYI8JtVAtCGdUux+xz+btcU+pfRylnmnSk1rWBoCCTQ9a/RgmCbz80wgDULSXo4/NyxgOTA+DzGerVxN/N/FkiE1z5pArtwbLMyKxtkPUZ5v3zYtkXApzpry/XGqsF9QYWk4C7FIgeiNuvtNbfmnGNoE9WbVP5qrUqgGuC1wSzwPVV5q/zWKan/N0HA/8362oStTZpVvNRa1p00qeGnEtgWswt8BsRs2z5o1DYSbRcSUhs+k1MFsHzejGulA9pq1g1Gar3zRIGg/NX2akLW/ZpPzRX6s/N7XFL81YRtlPKl4eotgRaAKGbOofzaipGWAZebd1W1Fowtb9mqItn+av/WxFrftb/m9mNpB5QcQt5tALYNa21V1iaXgCNgP99J3ZTItaJh4DbfZvaLTR0UJN3pr582FFtIdQPmw/Uh2r2uKbFswtd1gtIthiwFrDGMsOLfwGygmpxbfs0ou2HycQQIWuotAAjxTprbTXj+NZ2jSaCxASOL4BQ4my4cncavHVAjDETa2akGgB20e4BHbV3zZnmzNQfBA4UEJmpThQ0Wzwtg7qkfW1cTHNbdq1gNRHqv7JVut8ADW6+/yrATFzW8rThLR3C3m0sqk9s2HFnXzRTauIAW+a4QishqrNKM6qSBjfrNA0NZu0Dc+FMTa8bV1uH6BoPdssJLrNVRRTA39+qxbBcPQeys2bDizDlS/IEUOBbNs+huvDOKTJLRDBJPa9lxHexfXVXSvZcLSGyhMHXm4kEX9fXQMOQBwbsAD2cEKxK32OgYdgRl1X2XGbAeO1SzkV7r4g0P50X9QtoLUtoF8VbAatn4iiTzeMmFxkZS2WCBwyhcGt/1zgb06SK+uhjYN0EvNdTpsg17updLZAc1ZoLJR2pCGHBeDXSYEt4vgAb2o3FraDcT6t7cytwaXU9ADwTUhAvHNbmg9g5pKoaYRPm4wA5Srz3WmJqQNCyUeMto1xJSBkGoIDYvQYnQf/rAg0Fo2ZgClAYANV8AXySEPit/E4od4gCvQw5AG60+ZjWWz0ybZaJ80cIDADacGtsttIAwA2hSQHLW6WlINHpaCthelrn9TEW9wNAwYSc1j6DJzRIACnN/wavzIa/WBDbQGzEtXJJwQ0M5tmYFBmHEN8ka8Y244EQ9aknCbgh5aiXWyuskdZn6gBQZIa+7WyQATfCdtKEthfrYS2iLPKfijhNR8a5qtXUeFpt9cOa5ottJbpVIneoZLfu7JktShNW/WTp0kqG1mjv1BgbOs1GBu6zbVVfktFapdwq1VQkmqzccXGppaaiBXutCLSgGpkmQZawaS9vmJ9YC3YQiahZbS3E82ZHqjmkUtfIB3S1OBonLdEWr/10aA/S19FuQDZ+a0itEMERkTcnj5CO2qJxqOBNIA3HxS0dGEcRstmlE/NQG6W0SFqWvfVr+qm4yvOXtMoAGnstArBm1JtcQ/4FqWwctvllKlLyVtHLTAG3HN1FaKfVWlsoCHOWonIy6rfg0JvmXLUnOW7aa5bEFh0BqgsluW4UgwQddy2J+uxjW0nXcKDnrTy124OPLb3arV8pIaUAaIevPLaS65mNr9qdbVsxoILf1auYtfMaFi1oFvjhHYmxMUC1qTzESRv8TdLG4ot2DqWC28DFTpgrGnQtuRkE7X5lqvcHFW/0wj+dIfkNQCfwPtqx7VmgA8Ky5xvnwZSk4iA7EZX8DXFkMAKbZLWNHhqs7V40CdgJkmuhybWpkXy8DDBduHIrL2BSg2NIXQWhLefzArQZxbES1flpRLRfm0t1OJrQQ3BSBnNXfCXEt5Jq63UxeR6rb9miktk9qqS0bmppLSL6oU8IyF6S2tQEZLfVm4Ctn2C2S06k3ArZyWuSNIPtoK28lp6zWFtUI2UptAg1IVrkuChW/5EAFApS3gcLyeIRW78K9nAUu4ymsxCI0FaYtjVwCIAkVtxICpWnHNVwa3o1HD1orT0WlHN115sTCjFqs9WWW5gIQMxTA3gCxtLXWWyJAvFbZJD8Vu/1IJWjLwwlaX9UUlUgDV2WySt6PVrA1yXG4CBkwpo2ilbAbWABuq6hRWtINgkxiEzP+rHLZRWjJQahrGzU9FowrfcGsEg6AatS1YBoBoPI6h/OeCkH/XqVrcDR/4IgNpOaSA3k5r+DRQGkcGtDBjK1O4w3LTCccytloBLK0wi2srdm6/It8MMHK0MxovLTDOLP1skAfQAq1osgGWJB8tEgb2uKjBoz3ORoT8tTIbvC2hPl8LZ264zguebOi1wMO6LXVcUItOnqBi0jBozoGMGo1Cv1QP824BurzeMWnytkxa/K18gG5jbMW/Ughtqgq0iFs+LSS0F3+0sSCHCQgEdgFskw3IvhgG2Upakd8e80OkAZxxUfGOwEd8SNIe4JjwgZdH6mveLYsW0wCmwwqELwG0NrXMG5EASSb4k1eutSTc669xNevpci0Ccy4QHEmz11CbrYoprWpuLRiGzt1Z2SBg0uUFzzWsG9AwLiUprD9KuMNR56i3igQAWAAeGtLElhUOKEpNs3Y1HXJGVXmQv2NiKiO4nZhuspXfGP2tDf8FJpTxBuhFblXItJsMywXyhouMj3GzU1XxaViBXMWNZWyyj2RHcbtrBvwwOrbZWhYtB9b640lFscyMfW/6g3MQPc06OtEUC0cxfkziaf15rWrDkLZcBCUA2VVNo9xv3jWjqhKY0K8leBxtRsLXkWllB9FdhpimFrRMF/WsmE+ZqGq1j6D/rbwxTeYd+VpwDfwT/rXOAW1S24km+E4ULWVbstQusoYbEeFlORhdMeImQE+yrQaKxhvjjVwEFvhPoJPQ3fmgqcmVYsXNJMA2QyXKqlzWWGuXNA/sk83FhpQkr0a1XNlmbPvWDer9zfWG0b1kxqyDBOZoiQK2G43Nvpk5vXm5sW9TE6vsNvmbbc1Dhq2NXbm0cNM0VXvU8qu4OKFmj71R3qiVVUFtnDT7mi71YjbMs0rhuDzfd60PN5jarvU7hp0bREId71eWaRG0FZtwMH96tLNdYadc2p5pgjWelErh69abNJb1tAeIREk2GO9bcYrVuH9tvjFK4E2yBcYKklAIgFE21kyd9pr4QLSBibcUkeJt+pkHuGnCCISBP4GJMtIAosxOMKPDNk2paIjlkd2h4vyFDffWspNR9bm40n1szUGWasXVHtql4nHbntiUos52AK0xM5zoOt0Lb5g9AAP8aouAJFohUlwxT5VVmt2UAIGt3IlPESGAli469AL1ioGrq+bMqeLqhSi8OpVfJHIU7Ab3gHPUQiCJdX8lRKs5msMm22bDVMB/uGBxlbo9hjFNp4iGDGTv+a4A0oBKvFrgMq4Gqcezbr6iLd1WtJ/gGGwC0gYfFbqQbCnhJGtI/kg8m2tlAzFL7wb+qhBxBZJHCzBoBw0RoKIeFVgC4vjQQNgpVZtduD+kp2BTXAFHQKVKWqUIW3cqPeShZAGFtH4gUk2WDEQ9VC25FtQO59UqQIGnCF7FMPYae8wlTgtoxbUi2lFtNdazIREusxbTC27/YmgAtUrotspbaS2sHcNkBcW0BbQQihrgAltZWIJ/BjAmmDoc0DBCHmUmChgJsUdCC22SABGFEPW7JUdpiK64VtkgBRW1EuraAAeeOHo/LbQE1rWFJKNIHaNCQvCBtX7xy+kh82vps91hJmE5NtFLQK25VtfSA9EjqJBpiHOkVi8WtA9OhLpGRajmkdQo+aQa2B51vKbRqap3Uz9brbWJiiNqRdodPgXZBuGTgDmvrQKGr5VZTaAHVmJoYTdU2k54b9aYtVpKFt8SM5dW2n9bcyoMmDTtWEmvNg9UZFOioJv1bSLrOBtUsasE0zxvzdKqwwO13BaHSRStuGbRQBEgCCXJFY3x2owDZYQLOQXCC2m37SEZQE+ipwA16ihm1aNK9bc9eOOUkXCXIAZmQeaIvK7ESd5h1nge0kvWOLgfB1kSZIDDptqLMCQ6wkUFBVbZFQ6p7jdNUkNtL9aam1xNPyaZfW2YUhbatGkglus+kpZRwtjPwZiYBNrlhFblSJleCDx/585VCbS/mRw8+MVOFBLcF3kOpyDSE0TatMTXwT2AUj2GLVqMAK7TBYHxynyhL8g+OUSsqI4mSbT0hLoQWPwVtV3NoebdEsXeR+9ag21h1oAbdO22hNaVab3AZKCLrsjZRpNM2oYHHOwEabfda5Kt2jB3rUeGrLwN/yZANE8E7JzoDjzOK1JB153vBJ9Xf1oBUvkwEStJGVPTKRkGnAEZqp1t+UYFpD2ERSAAtYREUKjAeEAISj8REA2h+tAW0MC2I0G4IGs7A4tnHbjTUZRnFoFkGxc8IJp/bb4AEZTiQmvl1/YwZOSzKk/eDqbf5Ehhwi1Gf6PDYJeMaORKPj2PVMkyKLXR24Yw1zloTIzcOMZZ026/87UhQk0UZG2QsodLDtw0iCO3g3mG2BR2ioOFdqcm028RANYJ251tTca+03utvrqSXqkEtR8YfO3yTjGVSnGhTNGYaxNJtpXiNWpmxI1rn58nKB/VicihCFZVTccU3ryeG2VSzm6MNbgR2c1C5rZkhU5Q3MgaZdCGHKrTfBzm05Vmmb0NKcNvzDTVUONV0ua+G33Kp4baQUbhtPRrXlVCNr81gMa0RtFXaMs32ZokbY2Gib1s2CpvVlsDbDfI2iQwnYaYVUW5t7Dct61Rtg4b0VUaNvUbTsax3NM0UQCAu5rCzXsACLN9fqLjWmNvnDc127XNdjbLG3x5usbXF3MPNtKqvjUzdqjzXN21E28Z44813epG1O42zXNtmaWu1PesMnlKqq8NlsAWxBaEKG7bCPOJ1VvtdhzBDTe7QSJIgtLwBOUhr+rwxFj6nbu2Z88Q3D6qHrkWtXgKjUky1WPxX61dvq7b66Uaw/xwuHs7YwyY3SbEB5FI82RQ9lPdOK1zWbi4YERsQAuxG1cyOxAinU30h6kC8JKnAbm1pIR210b1d3hbWSMQbOq2UGsQnpMGvDECKUpIGFWXBgBT2vOC2ClWYgfPBSzOujCW2oKkIeBqGs9Uh6XNpOOGrQyCYavRDJc5C/S5EAfyzRwtXMnJyVSNmBRRnA4Wp8LkKGnYg7mrTNVMGSohLvI0NVxTl+LLRHFXMsVxUaNdtdacpMGTk5CZq9QmJzrVHL4PirAD8bSwgWmrNlxqaTv1h8PBzqhesDC48w165g3oPHIQ7V/wC29uwUgdFc7YeCkL2a54CJ5pZtANOw5Sj5z8JwXErCavRt5CBP3X7YH2wP0WqOpGuqCCBVEDkSIWk72SrK5Jg1aQBi1ZpOAIeJcB2e0K6oJgNzq/AQKzkcA3elrajbyDKKsa/rwpAuFt8cCLqqFciJaC82juq2IVCW/7tIZB11Bd6vogCR2qzV06qbNVD6q5LfuWhrVGp84+3IBsN1ZouaE8WOr4QAA1tRUuaGIFO/o0hrU7EFF7c5AHi0hvR4sCtmS1ULPqpftM8RK5Db6sILRwZTXtevEEe0H6tJ0pnPLHVA/leMozrix1dQRJgy/voxLalqvDIJMG2Xt80bSbxj9sLcSP27gAtfb2nBaRqj7Vp264Nu1xY+2pRp5NeDWvQ1rIiudWa6uf7R/2sxScRaJYhr1r3VVzGh/NPMaUi2gdtd7qYBC4ydvdgxIQdtc7e4gHEpGSgy200dJabSPUZdtPOcug1HFvRjSpg1zVGA7G41amqkiZHWmI8udbCRSQdoqbS628OtxWodTUIJNoHWmKegdpgFufXXusTFP7E6rBshxzTWFBtljYdq0gdAlq8ZEUYEbkp321dcoprl/IgDtH7XDPE/tOxbfHDSdtSLAn2gvtoA75B2BmpztSTxUM1Ug6oVyRmu/gNGa/wgsZqdwDxmpaObiGvzgqZr7tHpmuWwVma4HxOZqTsRR+sEtV6UYS1ezxRLXODuAjMTqhmtdVwWzXlQnLfuxZKvt1RbFsgI5o8fLIG/PNZbNC8135rdQH/2kAOr/bgh0T9v57eRJHvVxva5o3Xmsx1S/22Qd3ABgh1IGv+jTH28es//a3LWl9s8tcAOqXVBBAsh0QDomLfEWqYtMA6gC1wDpALUHW+YtpHrym2NgJQHZgW+zg2BaJ20cDswHXM+BawOA6Y9zF13wHQCW7awgg7H636+oBCSYBTNVdHaKB1P9ojrSdGKOtgDhBh2zCk6HVMOpgd/ZAWB1TnLYHZ3GzodXA7qz4GxPcLdcWogdtxaxh3yGp8/OIOozknfa0h3gDvovon2zIdE2bdvGKDuITeYO/4yJQ6bh3BLIF1UGa7Qd8R5F4C3Dp8HNmawwdGABjB0HjAHkGYOtgNFg6jB1pmuCQRcOis12ZrSy2iDpPolWa1wdeg73B3wkU8HUDW7wd3J4/O1GaoCHdSG7yoIjgedUu33r7eEOxvtReadI3E6oF7UkOm9AD/brzWOIJXHg+a3IdQ/awi3adueHXiOl3+HtbCh3P2t5BrXmgdhCRbL0rVDsbzaDiOod+4Bg62NDrA7cGPPrZGc52h1pikAbXIFHuNuEqm7ZFFsWDcQO5n1nWCyB3SjtoTdFgalOuLJRQBUIRHEG7/Y6uevBhh2Kjv19U3fDtMF5KMyANmKZJgsYCxOCrBI77VaE6UvRcA0dtxaI77mCCgniaOmmCGZA0qAWjvosJ2A6TB9o6Dh0YhvrUZLuU0d7qrGObKO0cPOPGhggzhklrCnDrcYJ32xxBJGlX+3Mjq4AfcO2wtpBN7C1I/x3zTegLEdxNrjyivX0xJgSO5atnvc+e2kjsSHfna5Idcvan+36/2mzj4O6PtPRboh3P5rWds8O3MdVY6S+1TlvZHd7WuvNvlaG80AFtmYLAO/kd/lb6h2BVuFHUgO9xAcjKMJ7ijvQHaqOspNso6+4151oVHbcWsRB4w7Oh3qjrLBVqDSu5zWD9O1ajoWMLxzf6CDo6MQ0XdQpEDkzE8xhFYAvVUIXOXvqOv0dh2qLQCHjqDHTGLT0dS1ggV7njqmDYaOz9VC01Ax1ujq7/sN7BYwfONfR1PjtuLRd1EaQ2UA3x2sxAzIIVTJjmCxhox2C9qTNWTmysdZh54x0ZDqbHWUs5Md0DayK6aIHj0umOpwtWY6s8019pCHnjmJ4oHhaG+2Eeq6LSDcYsd0/bSx0UjpSHZEXWP+TBlDy2QBUi4mLq2XVcASZ96ojt/7XkO+PtGQ6ZdUtQP+oCMWz2tUHr2x1cjqqHZzGmodfY7CqIBVtSLYJ2huNo47oHoSjs7jVKOyYd047+O10DovHSQOnCdSY8G860dtDrcuOsMdD8AVJ3xrgjHpqOqhCzS9Hx1zjoxDeGgzkVaLtFrXvjo3OHeOungZ47pKC7jsO1Xw0ZXQro7gJ0OIGrumuhe8deo67J1KTuZ9Qvk9K6R2YrCBHjq7/rGyOUA4E7lCad9uV/v9QOCdzw6OJ0RX3+oAm23YtII60J1+DszVZhOpE1i2QtdX4jvwnYSOwidttbiJ2kGrJHWROobY5Y6Lbkzrg51dWO5idDRA6x0MjobHdcOjKdLI6Wx2f+ohrSzGiodUA6ux2vVo3rf7W2od/Y7BR0NDovNU0Oq3Vkk7xx0CdsnHWrGhKQIwFpJ1DDu8nfr61XV+I6VR10ds0nZ4eVcdMkBMgF6TtFZJuOr0dAY7PJ0WmuMncIO4ZBLt9c0C7gKAncDAIfy+9l3J108AsNCEWO0dRk6ig3PjvYQftO3O+HptAp12aOsnYmKYyetrctp32TpIHXtO8BwEvBcFHusAsnS5OggAplcQp30WAgnZIO76dE3qrh1qDrkHaVOl2+8U6lB2PDv0iuhOzEdXVaYfWLZFePLuufMd9vrIh3fVASHaRO3l1ZY7H+3cMp8HeIa1m1VU7Ha2qDuP1QLEDGddtBWR2tjqand5WjsdvtaNE02aRgHe3m7mNXg0EB1DWv6nYaOudtbraaQ38+OHjROOnad6MayOnEECWHSA26QtyQEyJB0gF1/nY5OkA36t/CbOVwVnbr/OutuIangBKwNQTXA22XhJPbXNabiR7AJ32sjpucxX+00zvyLqz26D407ll0LJTpgLajOnw0i2Rk+0JZINkFjOiIdQRbvlUljpArpSXL+NnI6k6Tcjs5HoJOvkdjVwBR3eACFHX1OkUdg07QnwTTtmFLJO0OtFvaV6UzjsUnb+OjENCvbAshzTo0nQtYFcdqzhg0VOzsWnvpOhYw9LUdx1TTvtNJIW5ydx07k0DNL3QbcpUFPt8WVPPnl2DOnf2QB86Bc7E52HaoSNh/zQKdZRBjq4VzsznSs5GBJ5JMOlIvTvtoJ02H8dIs7mfWBwDPiEdOjMgz3wO50LYG4TcnO+LKo878sj9zs4So3O4ed+vrbhAqdjHnSXOjMg1ksp505vi7neFlNed0Qgx51gTtBnWFO3Rua/r5+2CaqdzllrWedeMJLnLq9ro1aGqpAobzkb51kGqhnVTOpPtRfbivCqgCKeOgAZFRUDblB1pjutnZmO22d6ZhwmjYAAdnSs5Z2dRI6cZ2WiPdncn6itupOsJWbRVAi5hrrG+dL5c9y3wLuQ9u5AdytEjrPK0M8WvLS5WyWaUrap4So2p/wPkxOwK3KUaW2BADJjZrW2jC7la4UqcpXlTpCW4BdhfrYr53wAgXZkuUIdvwwCJ2o+tynW6gEB+kE64Q0JoBpHigu1fuVc6s5KIEAwXbfW18i2C6zy24Loz9erW0V1N5aiF14xoRbe7TchdRtEg9U11poXZaCe5QRLrbLYKW3QMPiZJPMIC7jygOzu0ALJIqBdOU7nKlFjvynXAuoXthzURe2XzsybHfO8idxU7RnAWLo8kTxJeUNKvbKDUhkHvnXv2n3SMEao+0VTsmIOTO//VGQ7zF0c0u4nWyOhmd3s7680Rqs/tbyOzqdoOJOZ2iTvRnlQhIp4YlAmrVnwuJckPOm6dtxaRPVmZzUyJvO7bQPMI6535PGyXTCU2mluq4Pp2FzrgoLEC8ed4Jg1XGZLu3AJ+gWQpZJh8tL5LqEHejGuF2pS7ccDMs0YLZn20wCjyhRAA4YnWnUtYLJdn6BB9w6QAdnXUupud6MbjXwOzqaXY2LbimEA5sz70DoknU1sscdEc6Jx1yTrGncU+SOdhA6Fl1KjvwEJ4uzhNqc6RrULTp3AJXOy2FnCac52isjhzSfOiQdZ86JS0L9srOh4ujmlvvF750xqsfncdJZ+dZy7ol1WRpkjEyOwFdskjv51AQGq5GrOtgNdhs/7xALpMXdX2kRw6n5ve1WLt4XTYuvKdPmqCp3CcLeXc4uo+yhM7rzVe9qsSd4uuftsNA/F2Zqo17Wc2oJdBptSZ10jtSjSG6jIdyK6iV0NTs2DQOQZqdPtbKh3QDv9nSkuwOd3U7g529TsDbcOO0Ud8jLdl3DTv2XXHOhSd7A76l2ErssjpcutUd6c6tJ31VNWnUreCZd507+5FXTq8nScu/X1aq7Sl2NQB3ndwmg1Raq7+53u9qsAsvOgpdGIaTVFNLoYANXFSKQu86DVH6rm1ECquAVF52QjV1/yPVXdtOs1dh2rXV2lLoYAHr6Ohytq6nbGuruPnVGO0+d2K7TTxGhr14ruFaVdmy5vl2nzQfnW7w5qSbzko10c9tzNW/OmcA6qrGV1rEHhnQ8OxKdSM74V2pTvP5sia7A1KK6Ta1NFur9dAu12dXUaSJ1g8SBTsL2i+dWvb4HL4rsiLupqv3A3vaVx4+LtJXY2qgJdlK7dpLBLppXbWO1KNvNaVDWMzv4nZyuwAtAc6FTW8ruHcPyu2uNI06Rx3bLqknTp2tOdZeTFp1Gh0ueZZHB5dyq7Wl26asiYjZAeZdK86FNbG83eaEdOzodGZAB6baVzCiWFnZt1kP4bV36rqdsSwYJ9WCxgini6aoKAIQa7/Ye66PV29LrRyDn/A/Ax66MB0ZkBsgGr8UN1vClQoD4bRvXcC+J2xvABQCgxdH7nU+u/A1kK9AgCRMSWGKaunpdzPrX8aZ1uLMiXOk9d2YgmIRAbrDMaBuzudBqjS1HuwBBncGul5doa6nF1jRsLdc2qys6za6dIDe9pjXRwZX5d8a6x4pvOVo3TgauQO8HskJ0ALrQna2alKdpi7Fsgy6rsALpOrKdBY7iR24zqrXf4uwqdlI7Ii466pV/nrq62YViVjp5MGWK4pbqs90hUgWngO6tNFs7qswAruqg9WCM091Z9CV/RPuq/dWDJSNookxYPVoerSy2rRv7XfSOimd7E7jdUq/zpnY1OvQ1HI7IB2/DAEnWOu7ldE66RJ0DjqB4lCWlWmQar8e2mxvSeE6qkw2UmsVTWP6svSrJuuKdB/aSdK4KSabIVIH0Ahm7rLx301EAJeAbSNoc7BV3hzvjnZKOpYd8k6jl3urpQ3fr6u4eak72LLzTvlXSuukrdSq73RQqrsTFCSTN1dn07mfX1btKXe0wF1dOKAGt31LrJ1k0uiBWQa66eBgzvVnTCUML4Dm7/qA0IC63ci+UEmu7qoS1KIJ3Tgx6+S0Lu17N1IgHjXD3ELNdKY7pF1voCSnbxum2diK6XqAUPjmIVwuyE82U60V35QqT4HjO6tdry6b0DFcUtVPWuu1Kzihwgmem0pHDphPFoUpUFi3SbqgNYJkXbdZqB9eCWOGxKMOdIa1r27d1V2AA+3czkcdgwS6ax11XHCXdwasuNyxk0si5fVF8cPoRsd7266HzxEIt9dcO+loQO679qxKgKHfTOlzdfE6fZ0ebp7HUJOnldPm6ep1glFubYvCe5tkXEgIAgdu5nWHO+ddQ06Oh3kDvy3fKOj9dqG6kd1moFK3RMOkUdlTaPO10WunAMAymVlYLKCB1dxowHYXW4xlCIDvkA6uWEytVu+WItW7sWTdLpGHQprNnddfAkxlqYIBncdO40oCPBhm10gCQ3kauvvVsRt311FbsV3RLus1AA046Hy/rtnXRmQDwAzHa7lyv4HM9ZDALXdUkkjV3Whw63Zquo3dmMBJd3O7sw3X+ungA1u6V9C27vlrZIAB3d6kgjV3GTxd3fuu+XK7u6Td2h7q93Rbu5mApBd/WB+7u6HgHuh3dqhAjV1v+JPKMhuhXdEe7EcjK7vT3ebuujtGZAFra+7qcPHbu2SADu7zQ4kbr63SGuzBdQobLt0GmTGzJ1WnDYt/b1N0Y/CpAOju1wdCO6+Gjo7qinbVOxHdxu6espcbseHTqatLI4/BZdSbbpF3VcWxn1eu7Jd0jAQzndPu9nd0u6FYhUIWFZPLu26d8+7ld3zRnsLGXurRp2u7ZC0uTuNKLrus3dBu6s93r7pcIHru4gg9u6d91SSTV3Vhuq3d06y/d2vcIqXV8OkIdq+7bi2n7oAFlzuTXdV+6TygnmKw3b3mhPdabBH93ajtD3cfutfdSu6YcZDAAv3dvumrETSa990WmoL3XHu4vdx3C091L1LD3Szu/X17+6890x7oQPUXu+/dgB7k91X7or3ZGOqvdZG6a90zrrr3ZRuqEtTe61N31qE2eFFQdvdIK7Ud2A7vAPT3u6GdHMRmD397pkBNCusg9Kg7zgnaVtH3YT0dAwE68/B3uiRicm565u5JhqLeJj1tJtn4HI65SXre645eoHSZ6GzTNYEdOwpcNr9zSWG+XNq3bn7BmZsrDQ126sNUFlbG3Xdra7Y5mzrthubuu1yNp/UsKYfrtSxq4VXKNuG7WsagcNa3q7c0bev/EFt6wLNQEdZu0GNvCzUY28dAXubPxLLdp27bca1xtDwAbG3aHpKzQHmr41Tik9w2Hdpw4SEenoaIZAgj3nhs7vuVm5D2sMxmTIydUfLfg8zV1+LAqbX9uoR9ciWuF8T0wba3DcPitZ+6yNAkaB4+0EWvwea/gLFyHJgC9JY7uc3fgGkh1ZhbcQ2EvAqXPg8lENz6rUY26+vbQL4AKWNmMbbPX52sDolV0HBd6fqmY34LsVKAVwdh17ADYbXtAGNSsAFH61VLgRYwrYs89fUADw1BOg8ICoQG6VSBXLuQ4JgyMBunk4hKTbQCsUFAdR4gVzcNa0hUm2lpB8QDX0DC9TrGmoA2BDtwCUYkC9R4ax49/AB7wCsaSOPSBXR49FKVvVUBulJtpcwWw1Dsb7j2QAEePXBANydx4ARAVjJ1aMKeAV4AzhrSbZowG9Vese2Phomt03weGsHOHhAQwAitaWUF4lB6klF6kCuX8AlYgOL1Jtrz+I5BeEAbY2k201sBLwe3SEcKtBBV2CViC7GkE9mth/CJhXjnYBEmqCyCYkPDWGattdFf6hw1u8kEPwgnrQAFra+DQpNt4Wh4QBpph4akgAfhRkT0gV0cANfQTnF0J7XyLJCFsNbF6kE9lpA7DVLkDuPeyet1AYFw3TyD1qs1jkPRjmOjBMO2ia1xwKqe7U9CaBHj1mnvtvJIhNU9PABRCxHXKK9b3XOetiKjou3+xuECPMq3ZVsRrz6F1OWE7sUasI4DX1TFU5MNwoHkw5ouS7obUbwxu+7UGqyggLfakji+QG2yoqAywMwGdYmizZTLVXk0ft63jD22GLICWgQbmsVwNCk8oBexTcMrBFfQiGkbw0bbtlM5GoYD2GUL8Yoqt0FrlVYeqUMKUVJ4Aqat0squHajd1jo1V26eQ6+hVHVtIUGIQnWKEl+zc9JNZgDuoN+1gxH5zGGmGsR3idxcA2dSURuaKHeGlOqG9UH9vGBI/qnzauWqptVZwHP3VY0QfV5HaMa3eVk9Mq5GtAEkOVJ4BqroMeKh5Zn2aAVP6p9nqoaAOemTSQ57Oyi2Cw0jqeeiqOeNBKfXatTzspso/kNh7t56HnqHQjl3Kl3Uwmt8tJadsQIOLyTChSNlrMBW8MkWBDbIIE9SAgGpEOyQ4PxBCoQ/rbweKLiSYBqhHdHKylBM0DQhTpRtpyG5u1sccL2CYVEwmK4AiyUobsz44EGE3JXVXw+Gspz5wM6TVFM427mifzaJHi3wTp4QS+EFQJs8Le0RJAPDstwSfWYJMNy3NZusEgTDVetVmbwZCRkGPVKWelyASbVYe3fhoqsLhazw8kWrTL4z6vXDdj2oUCkl7nIJjgDYvW0sSYNqtFTsA0wmiwIHg2GA60oLTWmJGNNSM2QCKL5IabLTB0/5BwDI7sn4alL3Gerh1To8VeSZslK9UYTwflSoFQo4pw5PTLhbGM9Sl5dv4xAcIwQ8Zg0hNy5ZRwd3pjsCajEgQNm4CqwxxonL0eDgfQu5G46Kil77w22XssvYr8ST2Ml7nL1/hsYtHBaAK9APbzZ0pozF8RPGTkeeUbJL3buiivSPBKK9Z57bh6FXtsvR5Azy9qV6TA4pXuA9WlekwSz+YodWvhuHGv/rUXqal7O7ATnvQcEioQAOAWkKo5IqD9RIJ3aTV/1xyJJI8CKMBknPnkWOkrzbGC06vSeHYqMO8dWbzpeRdbpLKb80C17g8jg0hLxmvNY89ViV1r2+ICseMtes0CgBVlgEvkihGDte2c4bzkjr38xW2zjvHAHWE4BuEDnXo2ePQa9thUO6JApQ7oHCFDunCoUO7nFgk6q9tdB1GLVb17jG1fXuMbR9e4xtBzwblJ+tsn1VZ7IaNkwbPc1NOpQYGj20BYIF65YYjeT6CuKwoIEa2tftpzXpQ8i+FCS9tl7GoQtXpogNKnPG9qV64/j3s16HqkZUMc5V6320Ifwa9Msgb0AE0BVeIPs2TgHZaMiNNl7Sb0uMkJvWSq+K9UUBlL2k4CGvTzDbTYE7oZvQLiMGvaFG2m9ZQBcYoQqCzWAjYUnw44A3uDlID3gKaTaK9a/b1C62YQvUUp3PlQcdISIAz6EH0tfAfAtZB7w23w3vgUjd8Ra96TAvyAdauhIIrejA2j16GwyonwYNcY23fQ317ivUSGp0dflCWkAz17g7WO3pdvc7e129MWr3b2ksFfPW6gHPAeOdOr2IEDBUOy6sNAId6B4CkXsYfIgQZCu8LqE0AXKqdgNqurY9Qd6k73kSVjvc0+SRduhC2c1BdqUTSF2jEh5Rrwu2RGsi7Sw26ZVsXb040F7ggLY+WjfVfMpftB9VtNrcj67Gdid7K12kGo4bWDu3a4x6qeJ1tjq6PfT6no9sfqSB113tVlA3ehHgWdAE6AuHQVrcoOibgoUw0/WMxoVdbi65yt+LqqN3A2seULDapumITF7wB7nioXWyupmdHK62p0IDq83ed4Ia1KIiyk0LWvGtTA6nndDW9lWUwdrM7Rnayk9xDqoq1ZtpevaaWw3d9xB4DX13ucIGwWvNtjBbshBh2outa7KWaQUdrxQBL5XAHDsQeYMvG7zpI3oCKeIX6/+A7lAftBf3pLXV4W5u9Ls6INW2Lp81e6gzu9DRBu72xLpx3X3ezTZMfq31UYhrgfVFABB9KWpIYDj3o88Eb66e9Q0Axj3z3svLUm1WR1pIb8Q2V9GLdRvejZKe55UW1DWF3vSOug+9ok7geC/2pPvTHO8+9FtrL73fFotZRd+DDtD969Y2ZtvkLQ6SIHN6B7P1UAoDIfd/e9gtL96C43/3ojtUA+jqoFKBQH2EijTMUxtBN8oMloH0gLp1LbO+XW0jd7S12KBpKPZqGwGkahrqoRLas/dTg+7HdQ66UY2mht19f6OqKgtFdzXpSLqgnQaUM0tXIxaH1yLvGPQve4kNhC7Wz2r3rYfXKlDh9BHAqF1uGVnvarWvBd+bqxXURPpXEmveuQR7D6t72xPrhbTw+vHda9bD70fVtOjQsW0+9wbbuB0lPzEfaG2xMUEj6CthSPt2PY/e2R9siqFH1v3rMfd4+7jIAdq1H2qgTk5GhWjS9odqrdUAPsjtR1UEJ8SkAQH0GXt6fedarR911qUW6ipGGfVOwhCU1xBUxJUHkhuiY+2B9AKAaXUMSFCfPtupEt8gagNXWPtE3ZHekkdpBrmepVqVZtc4+po9rK66fUEPoHvUQ+w7VJD7ZABrPvwEIMepP1a26CEBdPuoQDPeuh9atbJj15upXvWk+qJ9m97OH3ktvefcE++h9ii6CF3L3pmPeaode90T6sn1aLtddbk+hJdSZrpTUFPsEfcU+4R9MDqL73CyMmtZU+ukA1T7/opVVt6jfU+ta1cj6LNav3qz3bc++59lO5c20dPodJK8+np9LABNH2XWu0fUndS6AcMpOg0aPr6fRM+qO1vBJjFisvr0fWmKHYgv25eN0VkF9jT5kwXNEXaQXpJhonvLoQmMNbDaTYCy3whJuoe8I9subcxHGZqVfYrmoqAgja+vXCNsMbU12jxtyeadc0mHr1zc2GmRtLmaIVX12T/CDYehb1dh6lHUqNscPY6bNRtY3b7c2aNo8PTLALw9tF6fD1XxqzPDo6pbtNAazG1qvv9zWeGxLNJ3bgJIh5u27UYewN9O4bXX0Hdu8PfN2r71bKBVw2OQHO7S9pTxtpWaLw1p5pqgH+WpyMtd7SlBa0UsfV4Wxe1Ld6xfVXOx5vflGzKNcLgajaYlyniHyG3xArTUA219ABLPUtG9DVJi6RQ3OQHF3BgaqS9qhDR9Bw9HqXht0XiqgF6b9Ks2qh1boAHNVFGAKMBVHtz2RRG7+cMzRV0AhsQkLtHMeXCnvB693lRUuTiYIo3Bj/cw7w0dCPjP2ASq9qV6rGITRv09Xdwm2dBPbGj0srsTPBc+hbAhD6DtVD3pzfdjqXx9Qi7aIZBPrnvZ8+jWtui6En3xerkQFF2n0N0N04jUJhpO2uBI/h+c6MJc0p7Uzjlx8AiOhiVbdwkRyrvuRHShQVEdVCC/gMMeETxO5SJPEjI7mtGurof8ZMRN3gRw5FkOrwBh+ucUE4cSbJScPrlbOHM0CC4ceCFT2HIvWl8fMObUdrYprh3ReJKwSxw+4cBd5Hh1UqNDJMNAZ4dBwI3KpO/Hx4a8OyoBbw73h3U7MqAJ8OmQgXw7csGISu+He8OvGciWi/hziVcw5W+S8cBZv6QORNABRGRjo7UxpYFk/B2SFzpQbNeTkFeIPOwh4H0SFvSpNtncoaJUMOHxHAcg4NRTP0y8PosDQJUharRANIq8KFE1l2QfX2uNkhwq9V1butmHVSQuYc89ywoEacLWHEUQhLsyw5ffhRIMoeXMONYdiw4/GnrDjXuRsO+2R6QG1iUZASqgIiOshBIP09h2wkFy5Nkg8YMU0pN4SRkqBPRk9ESa2I66QH5CjmJDtgPnBMXibICryO5lPiOkob+wAaRWkji5lGdAmdr7uatoiUjoWhFSOwmg3ySG4AfPbwoTimSsYCzIQRxTalU7GCOqDQcmHANTShkW5JXiv6AUI4riLX4ku0GqAcEBPy7/5pdbgvpSySclFQAQ4cOLGgNZWc9D+lAA4H9q6eI/qvbSXl7Z1UdnCN0uMZFy9Cs8v+77j0wiOq4bURweRInCjUHMVEc0VZAS7poai8R2WhD5sYYKV1ht9XXwnqvY+GjCeB37bOKI9HnkhlAIgOiYhNUb+QMOCpAgS8oBUZ/GFh4g0FG1+8/E/6JfA6i9U9vQ6SaLAUO7oSBFeQlRrowygyg4wOvoxvvIFqJtS2AFX9D/hwZxjkmWqxhMJPb3MpRXpyveR5TABN7NlWYX5RKvXN8Ly94t6VEYutwkLmrmlmdSKqubAItAI7ZelSn9sW6qO2hbrXPakZNIBGW763KiQM6knFqstyNykcIDaaWvgM20w3ATuRgcDVoFWQM5CY8RIck+I75RHO/s/Gn8skP6/ubv1Av9m7WDVodHCSjod6XgUhRAg2QVjQ8+opryTksKwZ8yF9KkAAGyAfDbbUN2UVejohjyiHU2Xuq9Euxy5THI4rC3mOe6+v1X8bv8B9WszjUj2MwAoIR/JKNjR3jn54XntI2dcf0XKV0DUNJMF0fOV5z0ORCp/WmjG6KmpQxmDpdAA0l+JbF4XfaidWd6rj/S5OBAe4Pbke1c4GwgVJoXMq02NdbbpdEGHoa0XWiEg8CKicV1x4quugfVjIYRz1Phv94cmnRXKl4Y2oKFwH/BOdgCXG0Dd8/0zquCvWsZZ0tD+JGu1dntdkuFrbRAChhTf1Cnw1MvhceBsC/6Vwo5UROxBbbYrwlv6TXAgMBODXb+92gDv75dYd6tmYC7+5rRbv7wgAe/ps1V7+kyAPv6sHD+/p0deLgZ2Y+glo0qaZqTACFDABOkyAwP0TcAg/bB+siOFChKI7UoLg/RUXY4GSH7DI7Hc1PcN4vUxVVY19zBYftvIUQ5VOI+H7mvWNiLuIL8bYj9O8dSP2OEnI/X22qjdhtA8+6/qRtrluHE0ePZasqiMfvWeFjvY8OKHlQfBWmVFWpY4S8OKvEeP18fofDoJ+wiwwn6FnKifr5En9YD8Okn6fw417ncVQBHOT9AtolvL79swaip+hEA92oS8IafuAWC9gKDEOn63mC1mRksoV+i09lRgc9Z59WZUFncN/A5n7dkAWES2dnwJeYgyE6Uw4OfvrPoVGB2uLn7vG5Zh2EtTmHeVAXn7Cw6+ft6AO3NAL9FYcjDwhfviAGF+pRAEX6R1w0oGbDgyAtsO8X6f/2AAeS/X2HNL9bJbGI5Zfu+qDl+sZOeX6GdZKxAs7eOWHiOZX7gRS7IEq/foB5J4uUUfnZWgHq/YbgBSOKNgmv3jAhyA2pHC+gHX64PBdftAwHKqP7ivX7O1r9fsT1rBHIb9d2gRv0m8WQjiRFSb9NcbOMDe6DzDSoZAsNLRqND1VdvPUDV29o1mr6JpDs/pEbRrm5N9+r7Wu2AqskbU2G6RtMUrTX0MTURKJa+4ZmSjabX0OHptzaN2/7g43bHX1aNtXTOV2xxtUfbYj0RZtxgP4eucNSR6g31B5s27clmsN9/r7tw1fGpqINsB5QQTjax94DNuO7acB07thWbEj3hvvFVTd20H1aR6aoBzOxrvRIG1gAw2r9wANBoK2Js+/qtzIaLtA2Pq5YXew2Htk76SI0zNlXfZtAHcASQAgQMlRoUAaN+8GQpdl4h3E6sSjd4Owp9EixB12srvjgI+AR8A7zBk0CTGT3dQSBt/AxobUQ2XvtuLQCB5ED3gBgQOPPpsrX4+mRdCT6PK0KLsmPQ56hJ9Bx7h115PranckuvEDDsJJ10hzqFDSU+kZCTVqyn3Qdou/CeYnYgZHAn73EvrX9RPOrPd9IGwNVMgfaffwWkl97L7xn2MvsmfX/scdhSVblY1NPpVA0iBtUDO7qE20VuA8Nbvhb61+sa+akqxqNjZX2yAtcxkoNIJvmMrOCTHJhuilagMeSXRnud+k2eWP6Gz23RtXMuFIMggkesS32SXoSnCc6sEeKLcHEC4XyhgD6naMDhgBhylV5EHpNWqjcaaUEJP7vr29QRo8SM9P3aUDUwaq6dsHMSRY/oGUhKJLqZtsmAIZyLEcoTVK/o4jl5pNX99ZsXv3BkNlhOzw7iEG7RJf2Y4AkDhDgA39bNEFdrw/vXCiA8XCgmVUSu6+81quh2FX8on4kUVAWKAhEF3SUn90+ARyYM4DjXXVUDKM04Hke2/pDKvYN3bp4XvQodWSABzVSGQOqo89B8RZc3s3EjhCWiR4Iao4DvXp1MowW+v1Ws0od0gTr77Twe4HygKk65hpoXrlGHZVc8XXaqPBngZBvWKAdh2VwJfxFfvVZ4o+pZKMpyAiYAngfeip+B/691EjvwOO0C7wABBxle74GWoDgQfr9e6AUQwqChYZhg4FwoMVJDySx1RRyLmSGymTGDR8gX00UVA7EC7iFRCZHt/+Af5ILxFIg8vhMI4NmcxXAq4Bu5r3gFJ48i5dJhDWtdkABu0wCwTq8fhMGVIxCFkDiDpY0ZAST9qKmoO+1Taw77TALEgbpXbp6vKwkl6DPXAGX3fdtG4q+756a32dRpnXdcWA3txqdmeKRkGE1pGdQC9KM7eNWctV6gpeAeON0TkGG0NOUhCCJAZcgiTlvY0iQCyIL0Qr1ammaccBAfsVfXq+/htKr6tD3OQcq7bV23r1AwHtX0evuGAwWI0YDxh7xgPtdv1zay3aYDRuazX2RzWmqPMB0aSiwGrc22vpWA84eibtrh7UWLuHqm7cSAHHAbr6HgONdqYMgcBslV3ubfX0rdvcg1d2iN9G3aXgNrhouA0VBtbtkR7TwEZQejfe6+2N9TwH431WNrO7YnmyqD8WbU30pHvTfdt4cRQyz6JA0+CuznZs+nhdovr1fXEepTSiYUZA2YPcPGiCcTXqIc6tNx0IG8o2wgbhcOq2tm9REay31xXw+aNBqv91kiwvox8NGGbaqMSZ1nEa9oPX1GCwAiB2893+50T6sqCKkEwZa4seQAfu3IYW4gxbUfDV+UxbFiT9q+GJJGk1wjwkm33hSCxwA6qymQmzxBgOsgdH1VjpVAQJWq4wKfut+gMoACGDbE6Ugk3MsRACZUbd95EaCo1+RpTXZSB8Z4QqZisykZSigKIbPg1s6QzoO4/kxg4FLHApf7qoQirZo/TKb24Ywi0aFvlv4EUqp1w9Rh1zaMQguMLDALo4fZt0gcvJgG82TDCbeG+q4MaZmj0gBWAPtxKsA2+qEB6w9opGIuez0yPxt1N0rQaigBDG8kMMowRx18way4u8QUKYjIYpBjB2FXVfdcAf8S6DrIC88OcwFhWBuIbkZzVD3XAl9MJa3Pko8RrgAqLUkALXpcW9SW6m31kwaHVSYAKKF8sRk+jsgLNAjegawkn3FgF0/QZGXf4wFToLsGfFWROHXLEwZfA1rssRl16wdfEpQ62mwp7oib7C/396CSYab48sG7nIGTFiVPCAHcsNUBvwJOwYUAfUMdoA9ZI362m9vtg7DEeWIcnJge1oPrzsj6AOTkIKgGwyiLT5QqItX1+gh61g3C9pugz92ueMACgPhrpwdhYukJM/ElWa3+h8RrWYGX+TuQoOAjxZfACPTt3ULGO6hcTAAQjSgfa+eHR1RU0K7TlolhmnyhXAGz/cHoN2wbB4pee8YgA57quQnOozYFDAUyujOsAY2dvtSAOt8eODsRtTlJ7wYrqOG6x6NgBqKTJDRsasMgaiDSDHryUiHwfL7grBk+Ds26V7RrYSR7MYrZAdD61b3UPsoYta/Bmbo8MaaPU0wghg1DBhrye8GxPVwoOXgCx6m91bHr/9UQIfKfk+6yT1L7q+PWAIeBjax6nd17Hq1DXnanBg5DBiSDNU6JsCwwd0yJhG8T16rJqjLgIeGSI/B1IAz8GU6qnwbfg285AGNpzqZ5zuUGlg3OebmDTkbnlR5RpYQ+DSQTIHhEuEOQGWhyPfHLiNNWIZd1ady2jU9G/g1pkxZVLkIe+MI/oI+DvxB2LWjSGYtSAhti1F8G010/fsh3UQWmLV7zANVDUQaOCmA0ZCN8kHZIPOWEWg16OCbEC76rt01jBXfTmgeisikw+o2lWRMQ3x2qm42MG/3WvzoJA7zBp+DCcGX4OyeswIIPqzE9U97lIN4hu5A2K29oAErbswxfDwWg0jBsKAkcgElD9TOYQ+84IJkXMGi9QiwcqsMQu1h9sraQkNgy2aADoumODsrakDJCtlzWIkhh4AttR4X2djtLA4kWgOtIoGQVi822nXffOka1TrZQq3lPsxfWrunYg8aQn73GgdirTMGviOiVb2m1odvaQ9KB8xN2GC773P0DcYPF0ukwhSHRaY8Rth8urpY797jV/QAtzrardeuttKB/zZX3tgHucI5BkrtLfxOP29AaVzZ16/19uh76u2LqoMPfwu94D4xrDX3+iONfWFBiw9EUHxYDbVBh/TyVTzNlubVhzLAZxDqsBzb1Tr6Ju2bAfucJlBg8N04bNEN5QYCPQVB44DgeamoNnAZ1XGEetqDER6I31fGq+Q3VBrKDsebngMhvuPDW8By4DXja030wRufBAeBI0ATtqeoNZvuqLbSGzIBKS5QQNN3rLXdYu2x9MzYQz3Rqkn/b1G/RDBf7xEODRuq6JM2y3aBwxsz2rZtUg56q0JAUMMmDKuyCY3bkSS8oEiUT6DNyEgwEOwk2if8sdpI/9ruxDsIaEg8fa2g3g1AjLX0huMt56cCUOeMxPfTZGrq1bj6+A3mrvxQy7fFJcd76c3Xww3ZA/IuiY973xvn0QvvSfQmwBN8VdhVzIwPokDf4MJVDSD7Cj07PpZDXs+8d1JNkh2F6Hy4gn54QU+FOln+48lGAXeQATgDDGq270+auKwIAO/AN5NFVzIxnodVXqGpQOBt7nn18uoH7Riu24yp5qptUUQBVvfJeuK9K4HOxJGcjPKPX9dnK44Bhe3VpGcXa2e9t9Hh8jRgYgAMgELezbgb9bip2QjtIYtokPHKv3799Vxbv80pUw14dijj5dWP6sggAZAbb986rW4E8610HT5+R/VI0JG0OiVoaGATJcGEYA6MiAzTsISQR2giA3aGdz2V5gJkm74OGevOrqR2P6vH5Af2/79uCkUDwZAJdvotPBFZj+q6cDzoc4UFzZAmSczoyOn0Ts4neOqsfwXW0R0Nd0U9MhlGCKdCk1ht3yxAhENFuuX2C77UAB0YkNDe+hhMwB7k30MvoYtNdcWUpWoaqyDU6PGAXZhqnQ0Y+BYqw/gjIgFD4atDaVr4xQvzu31a+2u9DW8ZPTJGlE/nQ3qfXCv87M2AzgHOXVDAbfV3UI0MOMqE9Mn6wMFddK48ZBycno2kmuiqN9aHrYDHobDJJ6ZeuANvbjeZUYYtqP4seeNUxSjNYnnUH8v028kdzb7BNVjcGxEv1q52kzaq5/1OWn8HR2utuI+UI6vDi7v71QyGSWi8GGc6qqRvjFCvgdvd3EI+92R7rLuPQe8A9EOIOD3aYfv1StAA02KqGfS28g3VQ2jG5n1tqHtUPMgexPShOiEAj77En2cgeNQySG6Y9LD7IX1yCM/gSshi8AxqC1D0bIeVza16vZD3QGSJ4QoeVfX0BurtWr79D3q5sMPSihsYDMZoJgMddtzPZchqjwPXarD1ldDuQ6vFWKDTyGfM12vo9DA6+tYD7yGNgMeHrcEN8ht3NvyGvX2HAcCPSch4I9wb6+DLlQajQEChr41JWHYUM/IfyzbVhkE1rUGLu3pZqqg4G+z4DqR7aIbp5utQ9iOzt1pBs5Hz2oe2fVQMSEDDo9vqis2vmkPNIePtQi5xHw+GkdTqcpRbDBBgcI702tMw17WkpDzM6ykOXpSSLYHWkndYk6ODJ1IclAxi+2+9soGdQDOZzLbcEmvpD21qqBgWgYztRCzXPZy2HTo6rYf8IOI+cfduKHhsPoest4NxIMbDRKGz82TYedQ8XB4Itn7q5sNSofrHdSnDAAS2GH4AEcoN1Wthz0AOEcF/67uspA9/mlqd7m7R10E7vHXRIsIOdU67Bx0XmvFA/UhhG8ItSLTXhSAGSp5qo99psbIfwixqaQ5dhsjAn+Aa21KxvqkHdh5O1iejNY2JttepC9huHDST5uEGI4b6dhmO77DxNrO3WQLgyAeHeHI9AYjAcP5vsdTmqG4atvLrVkBI9jNoD3/KbDHf8oGhK4f2AE2+/5onqr2LJAHEE1eAaqwAdkA6J2TlrOfS/a3VDSta4PW0LvNUES6zQABLqDUMhPrJdf4aqWQfwGfsONut4JFhihttbSb6XVS4YdQ1QMYhDchbO3XEVLn1FNh4p2UMMFqhLREE4kBITRFCOH/CCoZM94TTfWbDaP7IcPVTuhww24TcxzeD35zR4YwAKhknCOUeHmV2qofmIGbh/v+gSHLcMJPrMtnilAPVaMBOUoJuoTfIhwX3upDJivXYOBS7VIUsVhaqC/MPtAdK7VshroDrkHeG2hYfVfcrm8zNOFwosOCXuOQ7FhwKD8WHgoMXIdEWOFB2YDCFgMsPRMKyw23B55Dq3rFTD+ZudfWlB1hwpWGY83lYdygyY2wFD1WHlw0hHoe9fvh571p4CN8MtYbKw21hhFDdWHE32dYZGAxCa1FDnUGfG3nKtbwxCTD/91eAv/0JfswIEl+3lQFEdIP3FgH8viAB9Mg1e5wAOofrwjX9tGADvJo4AM4fuIaq3hnXAkubkAPThxk4exHF1uGAH3zBYAZXDjgBqj9+AHNw64AaIA+j1EgD4zAeP3MfoPDjD4agDZXbaHxXhwF3owBgT9Qn6Pw6vhzE/ZwBiT9NccsEinh14AzJ+/gDtZJHc6VhWEA4iG1T9d9l1P3NlU0/dIBmHY8/RdP3z/2hMooBxU9b6AVAM7/rUA2GIzQD6gGx0A6Ae12HoBuz9cHhDANOfpMAxv7Vz95gHh05yoBZUF2Hbz9kkz/RGMwYcA0F+qsOp7BQv3+iNMAMRIJHRHgHaSBeAdi/T4ByAAn+HUiC//psToEByUgwQHMv2k8nEI2HwSIDUhtJCNE0mK/avfYISCQGJXiia2SAzV+ooSdX78CgNfrhjMppKmMeQHYf2FAf/QMUBpgEL+HygNB6kqA77VN8qNQGEI6J8yQjuN+xoDXYipv0gVGgFCR7Jr17IaB1Uwaqpw0wa1vtOPr67LCQIMFlBwhxdS3d2hrSRpZ1ksJKGK4mAvv2Ravl/cGQgHiYNALeEClWrfWFu/Z9yHtVs0XGQmzI2qqDScZ7nqSsrs6atWBlZAtYGsJGLfXyiOQ8XeO97JzdWrABi1TLJe/qtLAof0K7Rh/VzsRmiWBAZiynSASir2AHFDQ2HibVlgrzfQ6hlB95a77tUk2TzA5yG8KQBPaweIFWCHuh9Bv6wdtau731mqTQ9ZGn0tEBCoMRQ6sQALGq+fyqfoENWWwC/AHTPMySa/qUB1E3pZsvu7G+tgMHatVzauK9QiR5uyaJH733xocxIzFwLrSC8Qkf1agfr9ex+nPAD2sod3kkcOCvkwL2SuPh3Gr/EewfYCR6opIaGe70U+thmB80KDVILaib2+RxzA0qG43IRcH0SM1ACnAz3+5HtsN6KJ2YFCivfAex88aMBS1VRXokmJLB2QAyl7P+1D9EPA53lEwMAPBmf02/AYeKDgdBwgCJEKAutxvEC+SfMivsGaIDt9qF/TDIKHVMxGo0DtJgd5vhQS8DOjrquSfXvYsvX6929A77P3UtXoo9U53GuESeGKZ3rfOkg2ETXSDwOq0ZrMkdmuBAwUND5z6LMMePsO1fcR2XD1PqJiMEIFyAAqfQvDKE7GH0FuqBfU++pJ92IkgkNEus/wDth/e9e2G/Z2ebqFA/AO/h9Qj7TsNjWpo6a/gJMjdwtRH104YvJbUh2hNOxB6xbnrqGDXhux7DhDq7C2EvrgdYqBvpDGIb7iMagfzbVqBv+9HL7dQNR2s/wLdaw0DLOHSX23ToHI7aBxiSKBq4Y3ALriDRUWowgNxGQF3+hUcPA8R7Z9TxHSUNQgeNwhhqyEjwZ8xISMkcmIPw0bEDwJGva1wEY8vFblQUjDIdroPuqtwQAA5DW+c+q8nJQ6vkAJ3AJV48pG7EP5EGkgycXa8KzjQ1wM7/uirR+mYqdUpGQd3bxDJ3RcZUSDDEAfSN4IcyUFJBry9gZGpMO8arYqKcneqD5uHEwQ0ocmjeiHXZh8eHP3UfmWJ1dcONkjeD7qH1tHqXva5Wu3DIL6uQMl4cQ9c4KBuAMy4S23Uge6Pe4+we9zPrNyOeHmbvqr6jEtoOHQ50QkdndZvK/MjrU7CyPdjvGgL2OondvMbjsNE4bOw3WR2+9VZGJeiHkeUsnjFX/dsa6RrU7EFwAOLQXDdOZiClC1PpBPdaBryiCoHGn0zkduLRxR3TIg5Hf71jPvDtWORjqo3L6IkhKQAnIwaBnpDRoHjKMYhtMoyZUIwgpOHFyNBqo+I8Ful0D8ta20oJ2ArtOIkeONeAQQ/pJxqjjWJpEj2fjbh7G2FXetTzG6bNXg1XnDgFsnvVgQCJy1Tkgc2FUW1MseoEp1k8GYtWd2QrtJE7PBuBW8L3AMoylDFuh/zSUNTCYDyhvFA8sOq+9iaiPsBKzpd/kjiDDtOOFwBxL/FUo1B2+JMfM6rmL1UZDUW5qHRgDjMjFIiMEARjMhNdirAC5o5NLHtXFShQsYS55NjI3dzlNkT0VxyeEANWD5OVyNc3hv2sL+HJw7+YbK7dshoqAuyHe8PdGvCw15BizNQ+GhgMxYYOo+I2oKDph6ksNT4auQzPhwbAMyRooMPIae7TJYfsN9r7XkNuHsKwwVhzYD3lhbgNnxQO9XH+/YD3r6zvVVYdHwyVBw/D4KGusMpvuqg0pUX6jMR7AaNxvs9Ec1B14DqWaoaMBQd6w942iomvUHsR3QxFmQfTC03BEuGjTwMhsaLfm+7GFSgbhoPOVNaWvQseANPRbHqN00d9I+xZDVgwOADnW/ZvHokP4E+1j+TrnWisg6dRBnPp1RPMXnWqWroUTcpEN1/OHXsPjp3ewzDh9bDImBu1UfYYIMHnhkEj0pkTn2XkZiLUJRzHDbU6DsOVIbbzSdKPzdN6A9+Axap7ABXGxmBhjq7UarmRkgO6q0wCo098YqUEABCTlgCdDcM9qqOh1v+YE2qnz8N0ACQk0d3xfR7O7jtNcQo+FK8AuMnlHNzQYyDlJGMsMaJTUQfkooJbKs2N4Y0xg16qLwm1GCP3bUc7w0Fh7vD1Xau8NHUZVzZFhw5D0WGR8MXUYNfVdRo19UwHbqMpYcsPZCqzz0c+Guw0L4fUDkvhpw9K+GXD0O5qxVTNFPySm+Hx97b4eBo9FmvfDYNHw82lQcRQ+cBhrDx+Gdw0N0fPw1vhy/DIKGyoM34eRQ9nRjqDsWt0UOWwCh2M7h4m1XEhNmjOzO7fNuR9CNTqHC30jQYltm8R7yjToGeQ0FWDULIL+nvVrmpPNRV/pqdL5pY3Dp776SifuqHSEOkePtDwaubZKPhONlSAGKSB6SPc6ZNCHThhIFfp0/AX/wGAGKkFl7O64G/S4igw10ikIvRl5SwFceD1FIH/ow0gt/pYoBadVckYcQDyRqQo/aBywIU7PSGeiAUMjCkHnjIUlEusqNYHaO7ZRGPqaa3goKaAe296j7Fu2oKANEUh7IvSaOHQl39kCvowzRvd1MqHFMR30flQz0G32Zs75gGOJED7rbqbMRS+dqz6OqoaoY+mwaEg19GocO30YBoJw2F4NrZrmKP93tYo9c+9GN89GppAb9N3dSj+D2NqNT0lix0aQA+3hzZDhYbE6PtGv2o2jRlyDqdGB8Pmkan/edR3Rjdmax8NPKQnw/nR2Rt1yGh76l0YG7eXRpm9r1GRu2JQcdfclBjdKk3a66ML5mhII3Rx4DOUGW6P5QffEoVBkxjxUGO6MQ0Yqg0ExnrD4eavjU/AD+oztJPYDiNH7jVd0ZRo8cBvrDXUGsgCT3ilIdmITgYAttbt2tFhX9Xg+cEwnAGWercIBb0Ov4dwCfABjwAOLgBshUxgOQZTHqbyVMZeANh+MveTBk9aPIDowfoVR7BuxVGPRygwnHah6heOAljpLHTvMAEg3hAGpcQDRe2qTBp3w/5wMJSL+UC1zTByTED9ur54fyHhA5hKWIwDMxrNEFpqJmOYmx+4ivxF/K2SVb8i5Ty17jsxotKWaJMuaIEEeoOneoUNkaGt6OfEZjNO3Bg66lRHzSG61AUdVDq2WmTBrE1X5MdQgIUxj8SNRkn/hTavhA6QA/LSbJs7yN6odI9aBRomdoMIowMbiH+hHGBptO6d0jYB4NsfkjUR94j29Hjz65STJ3VYAKM9w45V0pAscwo/VoL9SEPbjVQXaWMXbcRxVVr+Mj13jYZXoxCBkHDpirTyNoGTQY5WGTHBw+7MZjRoCyY3SARIg8tGy+0F4f8Q/JGxzDHIGjUNKLvCfdmR2ijDLboW1MttVo3ZhvxtgoGki144dFAzOu6SjlZHSq2LsG0DTThm914VaLyU7EDjTkMh8JNUhHdY02gYafYwW5UDa+7D12iDHMo39ekcjOoHAH2TPtsozTxddwjlHUO3OUZurW/e0ljxrH5yPFai8o46BlcjX2HiWOZqDQ3eMo5ej35aSUNHbq5YTSxkJNahqaBC0ST4PSMBAGyyep3gBssa2w7xOvxDWMbxWNQGB5Y4ah0J9YL7mH05kchbYy26jg+qUxWO+ztEo7Kawnd3m7JKMO0YrI/OPBVjj1BQLICHv6Q3AenYg48tNWNWge7Ix7aoyjDrGT93G83Q3TdxKl9moG3w2WUf6fUy+q1jSkB2Hy2seZwwnag1jb+722O+sY8owbGt1jdRHnQOrkczVV6x8/mr+Nqnze4Z3IwGximjtj7g2PnkdINWGxyxyfB6R91RsekfIA4ONjvd6yKPcsaoo8++/lj4L68Y1vvsZbTvevkDCL7q5VJLq5XSWR6VjNSGOqPGmuJw2pPCtjSrHq2OqsZpgjsQJYtDbHDP1NscTFC2xsdjJk7jeYkPhNYw7e7UDVlGLWNcvumfdBxtB1drHpyOtscNY2sQaDjLrHoq2UECXIyYuj1jguHF2OJilfxk0+DZ9xNGtn0UsaIIMHhwUNP0AlaOhsYZYxGx4p8h7G6QDHseVo6exlMjzeMU2P24dBfRRRtzDmbHEW0isa4fW4a+JdpSHEX3PseLI1KxzWjUlHQ61fsarI4qxqtjslGZQNqsZ4AAjAXSjSgHUJ0yPqJfeBxxR97krNlykcdUfd2x+GN9L7RyMIcZso9M+/Tjw7Hy219kYcncbzCzj2HH7QN4cZ8o1AWvyj7FkiOPgbrWIN+uoegMaQ93CoMdXY5Rx80OVLHSj1bsbpY7ux8wyfB6LV3MsejY7GxtjjcS63N1JselNZKx4AtUnHS2O0Jtk4z+xhTjtOGLsPKca8CsBxrsjmnG4HXWcc/XXu4TzjFy6mcNWcZco3H6r9d2BrSuOjIZnY8uR3yj87HZ6MkseN5mU+Epm19zZ2DecYggL5x8jjYIHHUOUsbXo0Fx+/Nmhr6OPhsY3qcau87IkXGj2Oo4YjI2e+kTju2GxOPzfsS411O4ndfK6CcNigZk42dhuTjlbHayOZcaU4wBxlPVuXG9KOgcYtNRBxyrje7hWuMOrva4+wxsrjt2GKuNFcYggBdx5VcV3HLM6eUYHVY5xp0Dm/rVyOaZoB6O/+3GO7+G6pCERz8A6bgv/9v+HYP3/4ahkoAR5qAwBHzwo/V0qsJAB0o90AGeyLMYMjIdARmE4sBGtqOveUbCqgB2ThKBG/YOYAeXDuApSj9m+h/SAbhyJ43gB4gDOK9CCNMfr6sCQRqgDQBGA5KcfooI/QBqgj9Il+P2PhxYA3QR9gD4n7Pw4zHhYI9J+kGuJKkw0DupF9CjwR0QDdyCDB0CEeu5pnAKQD1qTZAMdsHkA/p+oIjHGsx2AyEcDYXIRsz96vHLP1LWGs/blZZID9n66v2aEf/QD9QUwDETdZQLufv0IxouTBINgHXAOmEfLDuYRq1g1YcXAPWEfcA8agTwDMX6w9rOEdcIztgdwjvYdb9pBAdArSEAz0mvhHsv3UGACIwV+mIDs6iiYRhEe3mIkByIj1X7JHJpAa7IHERzIDjX6u5QtfuU0CkR90AmkcigNucPNSJkRnHSfX7NSgDfryI7kJf9GdQGiiPxI3qwKUR5oDWiAaoBZdHOYzOuy5j7rHEY2AqtuYzzQe5jX57lv0vEesysUxhi1WTGGwyB2HKYw4uNiAFTGMTxVMeLEIhgmpjg/G6mMYnjYgNh+MfjDTHDtyC61LnGTulpjT4A6nLJjFoXrRZQhuxjq/QPIoKCFiRzVBynzHswOqbReY89JbFj/f8SjI5QaP46Gq6m+iTALNYBIY5ftMxgMB0wcblL8O3qQD9x9E+t36fvDLEfIgW3cZ79abitMa7PW4MNWPM7ef3M5kAnEZbovaAc4jDEGyJKDI2qiBdfXrmLerYoD/3xqwOYlbXoGUZutWTapI7dWPCaKRdrwFU3KQ5wLlqnrV3LGkiaNYHwE8RgG5SI5M5lL+yGrHtMxxdmeIdZmNICdCjZ9NBgTdAnmgOYCcJGD8x1pq5tC3mNr8aUQKaXSuNfP04O5LIBOdT0x38IDDlVtR6PE66GLtTYY70AINJZMZgPofsWZj0HUL+MoToQw9ea8FjjvbKCBQsc4bBezSggcLHQC74i0GRjUgN1QnAmvADcCex5vnG/gTGD9KNW0wIR1SVlX+V3TGznUSCf4ivUvQ9jwwM9nDgKv+RNHlHwTtFkVNa2HDvA3GhjQTkRctBNB8xdtWc6+MDFxlDBOT0bX9U3x2dj4GkPL6fdqgaBix3IkWLGghNCkbB7aKR9FoBLHnIIlFA8UtjRhCNU6hCMGPcdKZn6xqv1uz6BuObsaG4wCRtQ1OfpLHIeJMXgAByqYUk3GWOPTcZIo0OujjjyAgRj0XsazI7M2tzDfDqzUNZiQfY6Jxp9ji3GX2OScZW4/jh6TjZbHv2NP9gxAP10HbjKrHRY3KcZYAGRgQ7j6nHUiz5cebY/qxnTjm00ShNX3LBKgZxocjPbHjOMnfhZfa4hSzjt3H0ON0geKE5Vg0oTz3Gp2N2gbq4/hxhrjnrGQF37CcqwSVxi9OfnH/WOVCdQfdSxmoTTJG6hMMscaE6lygrYzHGY2PtCdwfZ0JrljZB6ehMfPr6E1Me1J9McHYbWzwJGE/NxsYT+tqluPCTpLY+WR1Ljm3GFWOLCdykopxgrYl2H7KYbCe1Yxpx3VjWnHdhNv3s+E6LIb4TxwmLKNnCcIfCy+4zeVwndC2FceZ9QyJnuQTImnhMLkbe41cxt4TVB4KnKphu3iLuUVajTXisKjrkcL9QAeh4T9BByhPggao44Fx6oTBz6fNUFqnNDCOIQ4TWGgsH1nkZi46RRroTtDUC3XvAFFKK4hfDhWNRz31ohujI+jG+UTOomIx0whqx4fbfF1DjptN6PN8fqIy9qiHVTKQEQBl1HFcuQBQfVS3kClB4lCtQyAugA9nnGlRN9cZVE1UJoNjiaHqimaibB4tGYbA1zuonH0GidhE4mx6e9vHHTyCilGM3haJhs0V5auOPUUfwfRe+q59V76lR13LnDE3GR731aomk70JkZqAKugN0TCQmw1W4Q0DE6KBDvjvAmI0NPavdE3xqnMu7cGH7ISOVaOIVZZKjKQmfu3k5UVNmoJrQQK6dshM8+RNNvm0DT2mM8MKP38VMZNZpRMTD0CsNDkXsFKFGgFI+NylRNZN7Da9pOJD4ePMaQYBeDQJ5u5lbnmOVGSijWXm7/uPSdEI5aqc6qm9swKPZEC01F4n6gBXiZ5bqAqpgyu5RttDO3WlTktIvoK/n5PXLoAF/YKFIezC9LEAJNi9o6YRo8LqAD5GLEMuxAXkO9BhsqVONLnRD43zg4pB8Yjrd7w+4INABsqOJcqKBShmEACZXGZuxZa4sMEni7KrmTTwJZyevdMWEir5cGQfbfkx7zEj8764OLvso3XBJkKNwZVyT5sLFCglTxFCT5kgeHYIgfbkDFGpRAWo6cUnxMlHiArEATK+cHJuBiDz1gxJJ31+TOqicB8Rvt/cV4fiTwOlUOhc2TmdVO3VPhXEIIzakSER1RsCBsMUzq+F41MZpvSuzEGBTBkLxPwAE4A3FjJ/4OItYmhr4IssF/KYBg78BYjZ3ahPKAEeAUY7Ic6fnVt3w8DEPYagpknVgAvidMAptffHeergq9ZdIhvQM+Jq8TN4hNr4udvJTveJ9NOmk9D0DsWVtg5oJmxKB4wbckv6zgYt2mot8AkV2LKkYkNpkwar5q5iH690uLqyAHOB/JjNRAKJPMSd24J9NVPhaExwf5qSdqkzi3YxdSUnQhMlD10/jlNPQT6Un64KZSZykdlJgl0OcHIDVxSZZ1cCWv889zHOwpgj0PE8kJ8KTpar7Ii4bzKEu4NMndU0nWtZxc2DwYlJ1A1kRdHxPmev6k8lJtxgNuSc7XYELzwQQEMGi2ThVGM6Zvjo5oxg6jmh6e8PhMZ0PQI2iLD3kHTqM6vr8g1rm9qDZjGxvXnIcsYzMB+Y14pJbGO2Hq8zfYenLDCUHq6NJQdrozt6maK4+pvGPZQcWYz6+gJjQKHO6PX4aPw+3R3btp4DwZMD0abo0PRpGjoKG3G234f8g/fhiejt3aKs2WwDumE1xzNQYATja3vltyPdq6/I9p+bpcOnR0rEzxRoUjSbVsLXFeEp9QCJ0o9E7qgROTEGXFMuKePtTMndjx1Hu+MFg5ETAg/6IVK5ZKNUA4eNiAKzk0/0XXuFgHJyPegJ7H2SPwNomMOrOmCMvMnRNaOibE3QQgHp4knsCuSb5sWrfHUq0TtIH/R3WbnFk+Q+uETcaGHMO9Cecwz8+1ETcgizLZ0cEM1aKwySQ2Qp1kPqMYCw3pm66TI3BLpPJ0a0Y0rm/oDJ1GM6PD4e+Vcfh3XN70mzD0mvunw19J6pYP0mrX1/SaWAwDJl5DzjGCsOuMYxVR4e7IUEMn3c1QyZBo23R8ejAea4ZNCGTCY3fh0xjUKHTwFpydRk48B+I95ElkmOY0bu7VkABiCxMmbbUw4bTyJ7hj8tvwnoXW0yfVk/Lh1YAFzS5LU0luo43W+mmjdVxyTjknHj7d3Jhat0lqVXbchWOMA0e1MTqobIPEZidHk7rJxk1dMnkJ27t3d4R2cDcQC8nd3BLyajI5w+F61jcn3/ZGifBkBmRpzDfLH+hMoidYfZw6/StrulOjhiHsh/NfJw5ihrR75NYBE7PNtUWJoVRH4COuyZ2oynRnZDqr6LpO3SeOo4PhgOTZ1Gs6MeydFVXFh8xj11HQoMF0fBVfdRsgWoCl7kODdu8zY4x3LDnP6gZMuMZBk5hvB0k6cnm6OVYezk6Ap4EA24a85Ohvp7o4jJjlVXxqsFNlyca7RXJpN9OMmi5MfAerkwTJlhSO/a3ON+FpyiK8+VuTyomAuPRiZChm6JvUNFRcmqhiRqgxG24rJSq5l0WM/dsBwAPwVRyTMQK9A36W6jeOJ7ewJ2k0z0hCcwKFHq7KTtcG+GM/iB/EOO+vKwDiGayAGeWlozSh3RTmZl5ZOkUZ3kzswJ5jiLG8oOCTASCF6JoTAoHd94OCgD/He84VR8HvzpFOlieK3c4ppmInb7nYAcJCrAMIpjhATimMQguKY4SLm+9xTUENPFPfKAD+UzEXN9CbGhj0wLr5dWM2sKYLPMhtz51ByQ3bg5tMx8neWNpsczE+9qpvjBYHdRFVOotQ6FRfctF/60JNxoaTauSkbRANCBfFPlgV8U0yIpkwb8niu2fyYTo3/JpOjPQHv5Mavruk/7J7vVRyGg5OkKYBVePhyBToKrPpNuZqOivApzLD1r64oOV0feo4nJt5DycnUoMeMZYKNgpy+NvjHcFMwyd7o0QprbtJCmc5PFyaUqEspyhT8KHh6OJMaxk2PR/BTAb76FNooelVZ3QZhTIC7O3WwgbWKRGJ5u93FGV5OXKt4U9Tg4ogBjQsvrrgYVw8AQRiTBGrWeJ9yaazZbAXRyDYn6uP1EaSOCokIYyBHahYMRIbWgwQ0UWDpClXq2f6rdkkpGoWTp4lrEPZIQ3fVZ2YNjAEcAI430dhU1XUB982UmZ5Mv2rMU2yGwHiHYnaiNgqZcNhCp1MkwmhO0Ng0BhA5EhzRIPaH39XEwdbQEpG24t4i50jS9R0uyBAgLlTvIAeVPv6W4kJnoRAgOXqrY0LWC1PVSJzjAtroPDWZ9zycpiA8wdELgZ40mF2NIawECVTYvoPDWGvCOuaomkqhrDbEVGxxvRdpbWi9dUo6mgph2oHY0M+/UDWndeBhnFuF3eSnVkTfbHLWOSIB1+kXcW1Tpqne2Ocvo6qGnIdNoDSaq6ikGztU2apkzjAz7B2Maxp9U+4UuggAamPVPWUamfTy+5oAzqnDf5IWTfrQ6pz1TSkAKmM+qfPTpGp5NT0ant14+qf8GJmphl9pnGlIAcidJSFqh8BwMu6k1MFqeDU0M+nNTM4NpgIEofzU0Gppl9Qz7i1NGIbnVhqCd1TWanC1NUbx9U4hGsRDtxkO1Nh2rQYvGp1UDentgQMNqfNY8Gp/UDmarA1PnCZp4i2xn42VurNEWoZNozvS3OISwBkP70j3tS/AOpxtTkz6QH1ygFufWQ+8dT8HHg1O6PtEQyhnGsWVTACXzdPorUzupqO1Qz6Rn03qYnU/2x6Z9e6newCrPsxNOs+hWIWkBr1M51U7U1Wpll9uj6LTUzqePU8+pnl9p6m5XyCBpqDaLQbdTlUdpn3VqfjU+enEv1NtgIBxTkDDHTBpkDTkz6HKP0LyigGhpx9TGGnEOM8vqw06hpnWT/ZB0NOOqajtY4TGRa+8nSNN4aaGfQDbH1TfR6j1NDPtkQJAOUAoC9GN+koabtE21x+ggR6mB2OXCf8wOWJ7A1vGnpn0tqfJkzRp39TYdqhn02IR9U27KgzcZGmU1P3gHjU3cppmIR6nyNNmcZ5fUGvb+CAl7CyN2JWaA8cpUhVX/dTnLGkJq9RU0lKGVE1WlUynpBPZxTFHhf3H9yCMADvzvrYRNQ5/sqaA5MVCYmjAMGWNkA+OD/Pv8CmjAJMAcUAly57nhlDr3YMOw8sQJxCL8LEydPwENg1dJgAAfMYkQDzQVzTBHAPNNeaY4fT5pvzTaMBbRIYpSC0/Wg8cQTbC2fzzVMi0+MwBwWsWnpTZxaeCYm5ppLTjQAN724AEvAGDuI2QwWmxxChafMrp4Y2C4EWnbmLxadyYu5pmyAnmnKtNypWq08lpre95yVstONadrsUMI1p6A5UFcmDAFvJl4UWDozYUJODaqClgNGW+WATWnnCKOwDK04lprrT6Wm7RKJMSy0/bYRrTE0YYz1HZOn4KtphLTnWnPNNrgEo4J0AXAAruqWOBZaeO0x1ppLTgLEEmKMcFhSq0ASemNIAjgDMoEK06C+ch8ZgAoiBkEAvRIEYy8AGGwOyRowB9prQAAdQbpR24A3SmQfGRgFamx1MoGbsQFwADUQY7cYlAmabgiFliM7AIWJk2mINweMXvKM2FRao7rjsAClsFFqNPOA4oM9wZQ7OwF20w3YLHTYcjptN46Z3YYTpwT4Qvc2tNpKFc2YHQTHTE2nadMBFHp08WIXAkYNs2ACNrg50xI47HTdOnZGjNhVLYAC4cXcHSkMTxk5D1lBESdnTdIBSngW5mJnMwwJdYkz4SjQTMAV048IfZKbgQ7VQDkTV06nwPQACdA9FYYWmRAHRQgTReqS2AhoACpsaM+Q1Ja2nTtNLlyiYrExATg6ys+UqDJVEAJRwIqWdIBSqauxkCCPKEbNNd2nytMbacmEQxwU7T9WmctPE6fy021pmyAV9NXaCnJSFSjmAXHA1tgUACeGlsAEuIJ0JjsAY9Of4F80yRwOlKss7JCkhpq+AJYYr3x8UBHYBABRsCseAIGWRUs5UowttaADZAXwKJMaZaanKwHIFrpDbsG0B7dNJac/wE7p2URrunLwDu6c905VCN/DYYBpNqlTmigOF4OK1o1BR9OdaDANBe0cwyvMQDjaC+vhIjTEfFFWjARkP0WBB3X9zPstz5lLdaCano3H1qeVAllBHYD6RTa5LZp2JS9mmnqCOabygM5pjvTG2nCY0ghV80/5p5cutWn1j1DaYbsOFpqPT3AAotNFaaHKYHp9bTnmm79Opaf80xlp+jgdWnX9NhaebYa1pz/ThWmYtNDlJK07/ph3TPWnVUrP6fD041plnpLWmP9PwGYq00TTXrTNWmADOmpTAM8AAEbTYUAxtNxME504LI0XT2zC/bbzaZjgItpznmaBmfACYGeD01tp3jgO2mQtMN2H205AZxgzZ2mLtMkcGu08gZnhAN+nPNOPaY8lgJwF7Tb2mPtMa6cQAN9pwh8v2mCAD/afGMS1YoHTMN5Tapg6Yh0wwAKHTGcs0Ehw6dmnJ1LJHTKOmcgA4WCi/G1IH4ts9iRdPc6bF0wzpme4xOmjtN1VrJ0zdcI2QlOm2DMTiBp0+QZ8wzlBmCdMz3A4ACTp5+cbOmZXwuGam024Z28gvOn/SD86Y8MPyp/wzOOmvJGUGYl09CAKXTDi5ZdNRQG8sMyILXTSum9dOq6f/8MduTXTMr5Quq66e9sPrp7QIpbRjdMLbC5NqgAc3TxARZchW6aB2Xam92APajBDOO6YsgM7p9zTAO4+9NNAAH097p+GcF1D/dOKOC4M+lppQKYemCDOR6cO09Hp2PTZHBvKZ0gFgAEnpvUxqen0ADp6eNsZnp2PT12m89OdJoL0wYhIvTf65bACl6eAIJRwa0SVen61Ux01doPXp9LTm97dKZCpSpA1LJ4SY1ABFyB4pU44MxwLe9LHAipacsMhhjnarrwnAQNVNtAA8NUGFHogHhq+naSdjHdZsJ5pg8ABfoAeGvKXeEBk5OJGwhlXI/QgZHU5FAhuqnEVEF3pmVYappiBRptp6DWbnzaKsi6BcswpzloXrq4AMkmoawAlqXYX+woE0kFeKoJY6z23zP7qn0M8O4Id/Q6i4kc1ApM0we3O2nB7gXxH7siXQeAj21Td9rf5sHqiXcZIrgA9G1Il1YYYQxABQDMGzw7TZ360HqNgtuq9DFyV4J1aYZz3S2qs8oCO6NB0+fnYSDXcBbdQm65N1dbo5M+/Ot/tEM66t2HTo1M2mu9QdzcDEwl6meLE9wADNdjWSuAAHxGt/gQh7QpcMGFqSxIalg5ZGjhDOPbHTMnghJvQ1emSgTKm4VMs0k+xN4hnZg1Z9uLV2WoSku2+BuCwyQLCLwIdotR88D7DIVrwh0NuCBiAd8nd4LNbHg3YvAiLTBimU8lhaWeYXJROLXUWlC1O7xauIl1rdrbkesdA2FaZKCqyZkoKLJ04AJsme84YDmGkGxGvWTd5rgzWb7IlqBMYRXAYrticVDXBbM1N2F/lFhFQgBY6B6Ru2Z6XCLJQNYPMPl54SD/SJ8g8A2EPIwYwxJmoFtjS2ks90NsCkCR6bEpwhnHVNpRGg/Nee+pbD4erJaMiPk3M7ZANM1O5nN9mgMRjw2nhyr8lFq08MomZ6bfSxcuudZAWU4KrFdWH2ptRDMkG7/xxIfYQ4YxZo0QSQNDwGEAsIlnojm8WejubyqIennTJB/0jSFGAPUuOj4Q2dm2uksSQYgWoAAMtYrgao9jDyvzM8IZINZOZ8GkdAgfqSpAGGbSIhkMtL3CqFTCmrbQ4qZ3Uo+YBbXTUaepLXKeGigrzrTx1bHo3zVvJ/BcFhEnENEwe2jTgSazc22pvZVXpjTNescEA0Ipn06qyWrHkzRZ92OiI74R3+cHUtZpa+QAMFn6ShGWv0ta86rE15lrA9SYWbzBY18Ry1mER2aCvXwuwTJQEORJogEpIuWpLM+0ePDR7wAoJDNAHbgPpZ/Sz/hMJ33Mqd+pIGUbHukPy0TPfwoxM6zEMagoIzzTwIWoO3cAZOZ+kp4n8YXrrss40Mhyz7XEvzOvznVQo4OgkzHKqbRT2WYsIt5Z2CzvlnXLN1sHZoGWs9t8HlnLhleWdq4j5ZlyzckEMh1Umdis9J6tMzEamwrNJWZKIBkOtHdemG0rOJIRXvAlZrKzVbicrNMjtZM6sOt4ZhVnHLOJWdKsxqhPkz+GHol0FWfis5lZ8Rq4VnkrOgrvEXUFZzyz3ZBQrNtWeys/VZ6KdgGHmrO9WeKs/1ZuqzkVnrh2cWZGsxlZmEAtVm/LPGmfVVTFOk3+M1mirOtWecsxNZxazoA6u935Waqsy1ZuazJVmFrNSmYVM3jI1azNVnDrMRWa2szDO5adVA69rOjWfWs6bQTazx1nDTO5sDOs31ZjazR1nnh1mmdss3dZ2azthCLrMdWYwOTcyt6zY1mPrOXWaYQw6Zr0cM1naKKg2ceswtZ4WDMzRobPnWfGs/DZnd97pmQbMPWfasyUQT0zhKnEbO/WZhs5jZgazpnrfTPdWbis/dZg6zKNnLrNRmfxYBjZimzYNm5IIx4bjMwt82mz/1nKbNyQWEYz7ypGz71m4bOXWegtSlslmzTlmebPs2cGLT9mlC1Atn5rO82fTM16UUmz6Vm1rN02aFs9jZvMzLtaja2/VHFswDZkogxZmubOw2axsxqhUszatmPjxY2dBvOWZzAAlZnYfJa2cJs5tZz/W5tn5bM62b8KDWZmrEJFn6+D42eRs/TZkogoQBGzOhmbVs2zZt2zsT42zOi0Gts6zZ12zGqEezPhMxjYAHZwWzttngzW9mdp+TLZ9VCLtmFbMaoXVgz9kYczGdBY7P7WcDswnZ+28E5nZ7XO2e5s5HZouuXtmg7PTsCFtdHI8OzEtm5IKX2rWaGXZ9Wz9VmffwiPmrs97ZjVCotHC7OZ2cWnv8OtM1Ddmi7Nt2dcKE4YtOz5NmM7OR2aEXORazuzrdn/BjD2dzs9rZomzN5mXVhCBvvMwBZvuzf1mI7NT2afM5DZ/IwI9nI7NZ6PfM04AT8zLdmN7PNGgpvLvZqezv5mF7Ny2YHs0fZuezIHrfrOn2aXs5tZoCztV6T7Px2Y3s7S0B9869mj7OHZogs5suOYQBlrD7O32eItTUen+zC1noDVIWZzs8FZ3MzFtnAHOoWcEQxhZhezBNmbbNT2foYxPZ8Bzl1n4c3fDofs6FZg2z2VnQbwGmNfs5tZzeTjtm0HOT2dwc+RZq+zj9mp7Niafwczg5hazdFncJB8Gpgc6Q53+zmMBmLPRyoBHXQ5vOzU9nvNTTWcQc3A5zazElqe5OrGEoc5dZtwdAlmuHNn2c2s+AuDS1mqgRLPEOdAc7A50RzC1nxHN6WsKgN/ZkRzN9mqHPSWfZVd+alRz5dmyrPOWsctQI5wGzBMBlLNr/30cyUQNSzlnB5LM/WZkc/Q5hazYASBdUmOY1Qut8oxTZV8SHNsOYmswEcXryOTD/ODDb2aNZ/xXACRTDaLJkI3o7rNlU9I4/6zGF1cDpjVmSQJGhrxZvVmYFxDRGgs2tj8q6cBxOajQGKQFyzj8ruL1xoZ/g6bQQJBtCHQQD23g9djqOhTdqQZ/4NVpT+9k3c5yph1TWlVMAGJPSBXHz1iAAgTOk21/0rafECuRVJ3Y3yeD/xAoehetp4jAjVeht7zL6G+I1yyraGAhhr9PQtsVLtmmbUb2v4dP07MAD/DQPGrKAg8Zg/YAB8HjFiAEP2MQlAA6TxCADaH7wCNI8bflbh+8lgiAHTpOY8e+sjOHHHjJH68eNoEYJ48WhrAjpPH9ehYEYp49tQUgDs5xyAMsftII/Tx88OtAHuP0s8Y/DjQRjnjIn63w6MEZ549+HVgj6ZA+AMIm1pBEIBurAyn7tOh8EfuQRIBwQjMvHtP2iEbkAzfpRXjVoHVeNCYE147+EBQjSFIlCNWft0A7Z+gLy6hGDeOUUy0I+mHZ8yYzcZVB6Ec8/YYR63jJhHSw528crDg7xywjTvG7DI2EcmiZF+t3jLYc4v0uEdmc92HDwjfvGvCMB8ZCA8HxsIDofHBxL5fqj4RHxkr9NXCl24x8YiI/i5zkK0RHE+MZAcXPKnxpIjqkdM+MITE6/bnxz7yPX6C+MVAaL41UBwb9pfHhv3fo3RFhXxib91fGMI4sODaA2ygDoDgWHWlPaMd/k2cp/ZD6dGelOZ0b6Uzspj4DZyGpjUfSYjk6MpySQNAGEFP2MetzQnJtBTScmMFMzRR4wMspkRtqP6s5PrKf6UycBo5T8MnIaOFyeCY0jJpSoUbmDlMnGuoU9jJ56TkKGLlOP4auU0myClqLfYHaAkQDFanicbwmxMbgmIQKzIXfhwCSS3CAkwDUMxuStW5nJitbn1ArZb1uwgtx0aSt4dNl7bDiVdr9AQAANQQAAGKAAClgABKghmjX25/ZeYoARyAZQFiXgNAUUAYexthx/h2n3GfbJ+dth9CHCfaFJ1QGAiiMnjddmNhNxggSEq2H2w3EPngl8FrE3iGs0CuojnlLhyWVk9tGDSDvr7vo3sxvIAsLfc0AYZ8WYGMwEFlOZAOQtuRB+y45AANQNum33JfjEn0zYcIxAD0NCxwH7mJ+BfuebYXSABgQqddZVAm8BQAH4xZfD/vRJ378gIwaBs8S295Lw0eCokYtIwmgUbMOEnAe3JonxKsdPaDzcha08AoT3/c30AJjc4tzflruwF7PhPwTYYfhBXoLHZiyUBNHOB1mHnSx6SivGuB+qmSgg+lD1iwzDygOB56pyPQ1UBPdDyMgHxaSDzy9T0+DfuZYfHB5t2uCHnReBIeYTbt6AAzyYtaamPd7H3HuG2pntFdpgyTwkboXj7vPM4BHnWz7mBw0eFzZLDzETBKGQEIGQE/8dGaKpHmZPMwecDXuouKjz6D1aPPSgGlMmDAJjzhog6+CsebKvpm28zzog9qoiBEhtNac8WNDmQmUFUFP348xlGeRT/4aJuDmBwu0lPpOb9+tqZsHdAQBUGF5vEjeIaUvP3AVeUDwQRlD1RkHhiUeS/7molTRNnqIFpDZeYSWLh5zvtWXnRNwCDz0UtT5EqBs7Q4L6fuYc83IWt2g2rd3PPXkaK86+52VSN7m8PNZawAo9ejQEIM08oPMteZYfFrRNzz08cUWGthwWuVKuFUwkRkgPMJt0TAGSAefyl6guIDy7QkcmSAbkt0TCU4HgB0Rhr0RviKVyRMAKYgIqroUwi5oKoC5xJGJSj3hFBk/ib69RtKuL3yhKbxECo3lq3fKvVrx1S63B2gL3ndh3BLMY6mrgIZNHOqdR2LjxUQBRhximlBB6NovzpTIg1QYVZ9Rsn0Ma/0nQ2IXIfyr1bXr5Nr0Awz0SFdDUkTvR1KzpgnUaZtjdra7f3L4GpfXUQaqPVJRAqs28uuwLXw0FfWtAQNdaD6X1rkZSMdZE+sa7kFiRgLiFtAmifMksSPvnHJ8zzrV+u1J43WpnMy5eFLGyYNXjrRrAMQGF8xt4gXV2SEpSN9iT3spxa+i4YcgpAmKnw7AOp+DANcvnQYQ08RYALGBhqQyy5EU1hfkFM/RO1UzXE7UfOwzpd/hj5zydra7xuPfwDg9lQqNbAtGqUdXC+ZzwKL5vDR4vmkKOS+apaiG6tHVQYAS9WvABCTRSXTpwnUnV9af60BHXD50AKiPnoTwqJGpHcb5rTpQuRT+rq1g0QCSRtf1wy6In5w3RqY9FhGcNVKAS9KtKEzVfH5wXhbfr6VMEdr5ytqqkjDahg9z3pedbIZjnBYtgvmRDUi+Yl82QjWtD9Z8XfNMk3+gkiG56GioGsPMrSBGQOiXKaM/Uk7nKK+cb864gDJVK16/MYQC1hIB35z3zNPFKfMG70ToBSXJSAzJIDTGxIk0np/owIIeGHHZ2rOX9AaxhuQOZvmPHw4+asSUD0EyoEuc8ZBTsBnJsBgmcNtWt6L23c1o1UmAIXzOeA7fMS+cZhjX5qjSoTAQ3Uq+ZOcGc62oxW07Ok2JzS788CvXX+tGGs73mh2zPhiZM/zF/nK/NO+Zv86g5u/z/+rH/NRwG98+quBx1D466dbjawBsuCG+BoGfnvX3mWCK8sm0FnmiexDWgf+b14EmzRALvrBkAvnGtQCwh7KvQGAXoDzXrrnAKb5wNdEz8D/PRScz880A2Auk2dWfNK2xTyFD8bZmHoxufMc8x1xLRq9uWFfm7fM1+fWIFX57+C9/n6/OGhzP/ir55/zCDG2916YexeAZhmUzMlADTGd2XzgwrENaBec5O7LiYAKftwFqUtl/mryj8BdQ0/fZrk8dfmpQNiBa98xc8dTD0gXnlSyBZ1cqdGDfW0WAlAuGVt4gSODML83L9opO+AB4C7b5nQLqDmBAtO+bHgsIFowLvIBFJImBY6cGioYJ10pmrAsyBYZM4ZhnAk2pnVQx/TpS1AoF/dD+KyPbl2BZUCzu0NQLzgWkf40BecguWibntyAgo4MWTGFuFE6yfu7g8EAvvRSQCzOG7+tOoUCnXmAngY3TgLOD7jqo+5dT1DJmXBsSEM4NDZQeXmbKDEmvC8AxHqgy/8dMeK5oAATkCoDKxcABuhP2TM8mnPq0JjjWW0digYUHWOU1osLtCyUgHHGEwNCCpIBNu1g3+EBQNV0uAXSgv4BaP88X5nFjAvEEbB1zEyBpsFns8ZQX/y3xwhi8/DDRpVhwXepImszwC5ZgHYLFwWZF3NRvfFOWiW4LWwX7gtnBcupBkJjLzJ/dHwNsyU0C7wFjwLeFm8ZFI4gl89jlKXzdDHRAv+BZH8wFLDzAzJJvfMhBZ2s4yZ8IL7e6yBQb6znmhmwA0xM2Aipry6odoEoFlaA28QKyAVBd2C2VCKGGlPnPOApg3VwM+bKBebSBefakepxLRcMdwL9vmfPyghad8+CFwwLf3n0fObTtxC9WxxzZkmoVfOsY3papP5rFcnLIDTH4eA31pxhm5SHU5iQtqCfR9cCpun4QTUKQs+ZUmC7SFgKW8obXAtaBZF8zX51kL+gX2Qu+BerPsYFmnidUMWIbwhY189whpELkQWUQvmBZPBJ/rbhDaPmjfNvTtQY1p0pILRV9lAu8/R3aJLKdILov7DzJEMa9vX4e0wCZhkbBYWhlZ0wSALqMZtqyYP5MS/2L7q7ymRHBt4iigECAHKAGcNeHMZw2jWE+4ihpLlVqJC8oDHBbLYKcF/0LnQXpFSUFqgaK2mOidA/A6gv4zzTZg0Fy4O3U9mgvXcxNnjKF74LrZDyayvxh4vlMFoa1DIXAQvMhcRzXoFhq9Mu7EIochbd8zbqk8oAoXyQsBS2f82Q7KOAM/nupPSUCBGNfpXoyQy6dHU1qrOC4GF/9hnbkQws5cRMjOGFxrykYW4mL16blbagoVUtvUEQ/rmpNWPbaGuVTsRHZT0QmfYIX05t/GKQdonD6ad9hVLCu4QnYVxdz40f9hZwZU9IjyDL/FUZ0v8YJ5wPINXms1CoSf9bc3jPWuttcXtx2bRS4R7wL7z3VyXW49pXS4ZBF95wr18YItHTxxiUWldAAYewXIFadxHgeAlAltDS9BIoeuz4dMTw974M2DNngzYP9EwwARijZBxWCjvABoQFGI/L1GqnQCgeGpOPdwAfE9IJ7Tp0sAE+SqTbbk9+PqPDWdKtQgNierQQv+kPvYeGtzbHIehetMJnPY3dOc4COl6oZazDBqAixGrKc0Q22EzyRrkhl1ORK9YapzTN4rCmlO2uY7w+dJ51zwWH8xF5ubCw77JrpTgCm3XOByctEcHJ71zUjaw5PJYZgU5HJgNzT1HEFP/SeQU4DJwEgNdG18MeMczc7o2gGjC4mIs3x+ehk7FmhNzwKGMZMj0YRk5659NzOQMYmP3Adawy429rDCebTlOpuYiY+MahhT3wHDAw8IDJ8FCMCINDd7joCtR3AUrEQHW8Umgcouh+oSoFlFspUeJxSouzwCKizlHNqOGH5DNIqqqqi/FQXqOFUWixjH+tl9V/ehqLPUc8os6WQ6i2H6yoNy5gZfWn+vVVaAnD2o2ECaxZy8GAaNgbCu2ttRt9BtavlwxYgBrAQEBvGJw+LVw0tFp0JA0XX7xJWECjeoXbCOEla+6hLvAMjqTxdqdzkFz3NFfr0uFDu9QN3q4tA3KE1Gg+TZCnKEFaGwuEmx5Lb362CtvWazq0kLBXIIzAIA4q0XjbHrRd+0HSxo3IXNbadaARdrfarhjKAF8BZ3Xow33gRIhTXuQvFifWB0BGgPUvcyY8MWTC6hatpAMvZJd0wqGCE6ioaNGPrvUUtQQayfCFYjV+NXJSiadx09S0cMDCVEOoUwNAAauK3w1sgbm4FawyNv7wA1nBqtLf0mBLc3wbdK3C1v0raLWqgNEtahOH8qtpzeP6+nNFla+PBM5pC7XLnA80EPAKaChKHjgG6hjCA80gP3QNcKJrTJW23967AgI0aix68n5W2jV1Tm/l1vntcXh4OIlE09BvPMYT1nYdtnI2Lvnmw9XXme/AtVm4xtF0Wm/XMltW/Vt9PQNU+VDA1DOjX2MdWl6Lp1aK1TAJourUeoa520twHwiBqBtLQypvpQfUWr7wF+eDUvPJObSLHlV12YV1A+Vg4aW4+paaUzQ1prLai8JNqxAAA9oJxZn2nYGxU29lxb8S5Ra/vCf61+8HZl1Pw5tGfIhgG2st7973NJskThrTWWqAiLYItS2/VsuDTP60A1Hmhv7CleZezDi2BCtVZaGqBhyGgGLTF84NNNa0g3jIiLoMTm9mLWWs9K0FKAMrWLWtM2vr7/9buuay1gwG4WLUIa0sYktjfRjih+v1tsWgK11rAdi4ojFyy7Otgg5OxY6zVt512Lxgad4EnVqUsm9Fn9S3+h24PBXoFnqNlcBG9lxyKC8mUX9ZXQFiMRFb/GBdPAJNVtFhCesNB/HpyltZuOU9RUtWObya1XBrJAB3FnAAw71bcAE4HAUsesCf00twG+xTumprapWq4NzYw9TpAzCXdGAlvGL4AsxwCyxfTnECgDEALwwivLD+tZuFedf/ayQbkEsz+sn7eEpw6NX5rwf0P+v+ghs8TGLAKBCE7UJZ7HURAP6wIEcrS13dATiwqWuEsGMgYa3Mkhri1sofh+I8X2K3Y5qbi+/64hQ++kbNXhiBF834UaXzevBGEuG0XwTswl0VD0iXDo3sJbRi3waUQi9Fxx2CbqHrVHRoMeLfLqJ4vkBrKirnINP2vMXqc2PScFi2Wwbct1bAwmG7oz0YevFtQNG1arot1vumAPdF3Ej758nosmBvPi7g2y+LuwafYuFYhqHMVFpqLfUWDNL5gDFAOFjSNMv0XnCDqqrj8+/Wutg1l45EK+Nx+ioyZYQiy9BMh4j+u2zW/qW16x6NAg09xcADdxW2egYRwflNzOjcC3ApYhLclx2GCE1uXVenF4xA1UWZIx9Res+tAMUqcsSW8tUCxGs+qzITPt1n0OZCARuZgNH4d8NKSWEXh6loaoFXFzuLq6ViADx+CerYoJYgApcImDJhyAebWHIV1UAyXrPq01TDkKP4H6gvcWz3RlOTDkGC0JTKRAV7coj+tnKunFiJLmthYDY1lus+hQ1PpMD2Z/0BalsFel8GwWtPwbOYuTxdFrStISxLzongFPLqsXi7LWkWLDiXnLzWxYggw36wCtm1bt4tHu0Pi5BW4+LoXoYK2BBrgrRYGk2y455jIB41r5fnR9bOLlZb08BbI2VLcfsRpLBcW2otgxbqi5QIC+y/ah/7SQQBlPAnF1FLbFbTA2cVoODVsoXTze/7VYuk1rri8wpGL05oBvxyTmDJiyz4FVe1WkmABTedh9SzFx5L85aha2LlpFrWYlh2gkmNZ4t8xa+SwvFoWLvyXl4sLkiS8/qAHAgu8jvTDdfgW6NNFtZgS2DllGMEBOYeows5huP5V12D1DGnn7ONowyh5uEC6/yXGudGXsJZqWkMHnRkd8dalscaxqXRfFggVY2TalokAdPFRt3Cbmxvpb2p8QWbS1rHAu1KnGzeNjgG39lvxqpZuaFno95oVE1jUssGAYLWrHfxAADhGCDzsLEXUv5rzirKij7q/MLgwYls3zZUOpl/J3mArkB/uYk4+7Dw0JwrGEI5W+lKOXGDCsin8R/0MCBwpogTlWY5g2Hn6DVONdzDfgLBAL6lpDeIHK6sQyk0aT9lrHATCsJouy3kjDXYC3h4cMq6Gwoyqm+Ex/FByvna3WimyjVRH0FglDM/qBdqHTAJuDzpdpNUKwFfiy6XGLHQxBnS0NkJdLfr9I9y2ABnS94AHSAM6XvzEzpdkNjul6Dq4iR1LUzpcJhSI4ZSwy9FP0CzfoXoHaalLZU6W1hkA9XTIKykST2zUAJB7zhaz7W4OZJy0TTIi1NbmdiQTAaFeX6WLYOXb3AyzXvFSwv6WLaPhOHfFLwOh+BU6WcSA13AXS9+lq/haGWLYOzWV9C/I+s4LgZJFti9QV0CAnYDVT3hrNhNBhX+PSBXPp2bTmenO91w9EruoxFRyx77vJ9LXhM0MtM1Ji6iRc2dLQSNZhm0y9eeD71pZsxk6sgAEcTqooMnPFiR84EIa6MSpgEkcQGCcFajv2/yLGD9Nv2tBYDAZIsWjVM7Q8TKLiVPINPZXs1OO83VUjWqsAHBABawnfh+cIbsffzh3Cf5gGySO5DtUA/TPiAcoYj96y3CxZA+M8dxqHVVprNMsV22XUwMeoRNCc7Af1cduWkq62q5i09k1C1TLNzrgsO1mI4oBcHxOZat1V6UP0Qh5rw2zWtWdU9yeOa41aUCiEaqbggMy20m2x4A8lJjLo8NRVW1jSbJ7pVM2F1aILmwUm2dkBSWDwnpArvwAPJS2caNj15KVlyB4a+oAeSlXRYeGrMAKdXI65+Xq9farUasg66ekdLXoaQ/qdQl9DX6G+SLC9a/T06nB7Sska758pXISvU+hHPEfsqpDwFdpjlUL1rq9QHG6RNx4iwEQlOVe7kSqO8R+pGanLn0LqNXEarshQXbzxEXQgnWOY4WJy4XbGMtl3uC7VW9SRN93kEu3wmeS7Z6G81mYYauc0sNoTDcK+/09eXby72lcmOoPUaqSxmmbEjJaRZoAHa592TiUWbpNtKZCw3pFzyDadH7pNAKesSyAp4HL+bnTkO50dDkzdRqxjsCmSYBm5qDc5Mp7LDLkXQ3NuReBkx5F0GTOqYoou7AYRo56+iEQaynAovhRZqw1fh/OT2ymzlNXAdPAZHm3Rt0ea0ZOxRepy/FF1GjcOWwFPXdpSiwNhmqAonAtCFdSGRmuMh22oFEZxU565JFy5g1Et9EuWYkONTOfMwQ0R5hu8dPGDdt1AngSBs3geRNfGMYsaKY4jgw6NOVHcYAYseDjSSg6HLeJHKhiKKeR7TcpPCoJIX1BOdVtUjZOJmyTZEHjVSU5pOE9V2B6L/f8oS3FTspg3Kee81VOaFi3++gujaJq6LG8UafNWD+DoralGwDKWzqTFNpSf/0sgAMzDNYCeGPQxs3PClmbbyNXqP33H+daAW94fbdovpi+xj+DOC2HIYmjJoA/toqpCpk7dA9UNBzNiaM+KHVDfupLbqq2a5EJC+dzyzq61soULrrPpl5dgpI/FabNioG+E1cFpyvmdAPUxOnRciCUpJoQC6s52AOqgsT2iDAjYomII4jW+m6y6W6z7UrvptpSV+bgZJHbQwAmCl7atk2d8NYoGpi1YaQcDSoGsZf4j/2XABESRc1e4nphrE6dnNSilec11psCS1MAJWkcpYU8gc3HoOA76W4cT6Qa/LYl7yQBzhTxkDaA1niwZD7dV45NVEadAW/LDZQP75vaHVkKqvDHDn6tbua25bHVRYANft7lBbzUqtrdkhqlrZ1nE4LzXXFhGtaQXNQ14BWbNWQFZn1dAVhT0zeQ+GO25bD+Wj8Yr1ok6NIr+oCdgBaIQEWnbl7dUTMBziE0FdUgMyBcgijuqVknjB8aAmBXdNRRQBgK6CneArD+af8zkp1LYM5BDvN5vdSDx/wjBNrV7GPOuoUPh0wNHKsAqluArRDEMCsxXqBcBwVvCg+BWECsjbCyyiXliu1MIblCZUFZ7jv8ybQrsUVkSZ0FchTuh+9xw2ZQ60C6WWd4R7EJ8SLOdzZOgKRNNnGg/soWzqEIZZoKvqA5EVgrChWcCtHbC5kBMweyqbYXgaNajqLXs0nU1ANJ5K8DEHr149vlmA4cbs/XY/OyZJgEVs5BQRXc32hFd9nfhrVfucKG2A1ca0opPEVxr6CXmFrBFrxE9USAbptamREit9Wu/LlYOY/L41bT8u1uvPy3jku7Qut6lDBahXCKz6QfUNzXcQYt9eXZQFnQa6BMWUKH1KXmugbqbAGDRPA3QqrIFfMMlsfWSRUMJ80zFT5sFm6jaAWbrpU5cFcIK2N5WQrrhX5CvYFY0jaAQWk45450r3fqBvi7OEYmtfKAAAKFQDaUl4Bh40NgA8cnSoCSiXKIJTF5tbuDjtMLrErfBal2cRQCCuCkG2QOQ5uszDgULRhiaZIDlJFewrEBWlivsFZwK0ZA+wrDxXEE5uqD7gFQ5frRkQbKCtcE2oKz19RVt06Cf0Dw6WePFa24VoJXZ9wAzIHIAh76xGyPK1SDzbxDPfXxvNdzPchFzUSSRpQg3ml6jOQAtFpZOv/EHnIZOTjUbJDOJzRLQS4V2ZgbhXlitLRom4QCVlQr8/RX0T8qSSMkBrKEr2IV5mHyZUYK7ffLwr/ZYBuYmF1JKH++so1L5ItcAVOVqNTSUPL1pTwhQElOUq9T6kMZVIlCe0rJEF97uLXfi0UXbk8vLVmlfVgEESAy6JEnLi1xfJHM7SV9LEJpCvUkYqC6XmMvgoMJFyA0wk77f6HKbWDXmznV2lck3fuWuFj6igGvPzEEMgyH+oFLAgmboGSaoDAS/3TQ0IIBhFMfD3A/P9CDcQ2QitIC/NlfPA3xvENYxGBQ2Ba1fItklWCuShY8IA2QbgkcnsJgkNrmAcs6Rc6Az7JvajTrnOct94b9k6ZFjvtvSmLIsJuZDkz65myL0Cn9Z2o5ZNgBDB+b1CwHMcuL4fjk8vh3HL6Cn8cuYb1qg95FycNqRWVlOd/3Jy77moKLmynu6MbhqCi18avsrOwHmcvlybii0ihjnLtCm03MbTx5ywLxWGYYNVuGP/mfL1d+FOSDdKHW1O/kaQo7uV5yw0kHh02oOdQcrhZ7q5ouqcbOURpmaNZe1aDuNm4r5ume+/Zw2Z8rs8Qi64puyrSlXiRQm28Wj7Jr5YHVRvl4UgW+XFBzvOE2Tv6BuLyfzgOepbHiEJqUhDq1IGsVQo7AX8UPBVvbgWBJR6J1VRNwZnqNCroPFkytjxXLNOBkPANoYxGPas2s1YP5JNQ1dkYEL2fnpWc2v6qKNFiGklITyGzs0d8eirSSGbmgzarLVVDlDmD8SHsRLFhmmi6xVs/VLu0uJO/EdQ8qbvMVwyiGPs0huqUC/OWFkoRsH8iBl/g7GuJJ27dLEmmr1OiT1g/35jXAezx84Pz2x7wFHvTcBfQBiL1k0l8K6d6/wr7a9dzQEVdHooSVpawxRWTiY44eFAwWxyhBwbHcEvzSEBwGoawITXiXCTa3xQ2/Yyp0CrB5rS/2fSFZU5HFvFjKzFOABu0AeYUfoaputtRatI9OPIVQoWi1x3bHUHJ70WCq9YoPYkCXmYivtrwdQqZVg3A5lW6eCWVctAEWx3HDRZHZmDukZ6LUwlhIOoqGnKtEUcty7XXb10tdJTcs5Ca+7hiEaqrEv7iCEeSQfjZ5V+qr3lWpxNb+U1Um7xREyCVXYeOGRh7/YFV9AAvVXM1XOkGiYlr2hawmCbf8GDVd6q5w2aar7XQWojAjBSq3uvHbhvmhmHWZVegbc7IfDWEPAxgDDwaGuBBV3ariIXvADQxti7PuAPANJIX3Esj0lPVOlVl5SI55ZsGIVbOpN3PX6R/ihzquFapMqx1awirUzBbVLksyLXtPZdarmdqYKtnVbWqnF5MEQz1WgatQay6JGhVzErVVWDzXT2SdwXxvcCz9uozKtFFYILa+lcGrE9RR6LAAZmKLeGq/9DVQsvqe/o2K4xqz1K+VWscsoCYTACpzSKIxKgoYa2VYmgGQjI7y7U6bcjdGV8rDTpNiAvKN5EI06Tmq7eQVmrHNXrFAGEnJ4tO0IUDTDtboBZVBvK1O+xQNp6lT3SP6vcyglavjSB/aDPIEyQuMjRGrDs2+qOI3S1cDMgf2pbg46GkVOfSHxjHpMC+zGE9fiCnKCM9bVeg2rFXUtnUs8Q7GqrV97Gmvq82zfVfbXn60D6rf1WFHU44KcELu4A3ABt9sEESNSuq+9V0eiX0kKqIWKHC7O/ZxGrbtXA0O0dIBqx1a8QBmNVUKsvSimQb+AYSg5QgoDzYCB77nxvaey8dX/FCO1c+tbBPEGrZ1Jth4gdOBqwnV75QYNhbat7r1+kSzEIZwyNWi85Tyjzq6DVk8jjFpmNhV1ezq1RrKvIX7w7GAnVaOq+HVvTWnVUvasXqo+q7mtBEoORX217fSNLqyeUBYwcudV0Ct1dgqxeqgRTMRY66th1cnq43VvDWs9XlDV08UXq9KIcW9bqhm6tmRUzq/nV5Ponq9o/Jd1eUNT3VuBSCWX4asOMUZ4FCQdOrKQdpapR1ed4HvV/Cr3tW3avO1cwSD3VrqSRdWmk37oBZYDsM9Ry5dW4zz7VbcPLbIHErsRXIKsX1Yg1b/VoFw5f8vv7P1arUqA15B4WdEYSppY0oALoQ6ES5CBG8M+BDe7o3htwIPaUpdzpdstQ7z/Qhtt0BG8NMMCy9ZdqJtAF5K5OS44CRxJaOgMzTZAVa1QwXokigAPm8Dlb5EaOvJOdkyTE8xcnJkW2JFeL1QQAhHgkTBEPWV6Toa8gABhrrdqAna5vJYaxNV0hrAFAsppejs0oLF+U2TUMAVa3rCYEa0I1574yKDRGtWGVYaxI1/AAnDW+QsnlGoa4h6pasSjW2YCMNYUdmo1sMR4jWaYJyciB2Zw18/dPDWVa1MQkMa/I14RrnG9TGvCnjYa/nPKRrS1g8guYxt4a0S621qDjWfGtrgGgy47/TiSoN4SGsWNbKXZw126S/MGeGtuVv0Xba6RD1x4Bt9iIecEa0Y14RrPjsXGslEDCa6zEOTk5/nOGuOar0a2s22+QSnmUmuONZUa1fwjJrGqEsms0gDk5MeACEtlo76LU8NdqHMU15RrgTXJl7BNYOdpU1txrF0btGt3uu8ayrWoqa/jXGGt8oQqa0xzKWQ23l4jWIcE/ER0QpONVYlGfJS2GwACJMjx8HDLBUJOKRn7Z/a2CkPrAyYCBSrujZJ4nmNLBgTYb9yK3UuVloyBTWXYCt1ZdJKANNRMrPAmW8hdPHTDLzYdCa6JbebQPNYry9FgB3uQhXEgQ6RQuGI/FA4YTlXiL3yhuQK7Qm5sKmlHwm2/tqk7aTbJxSaajLCAbmdzNb2wNZo4Nxo5HrEF3yRYAPqpmVnNhIl2fmaDpq9FrgxlyrVrNExa440Cq1ItrWAuInldtjzrQlrE+s4M5JFyKLQC1spNhIBuqNImsqSU9MUJNddnpD37lpATbCVnaArxMEJTO5dcq2ipQCIAlJXoy7OZpuujlU6yq/E0L1F2rsYAu+nuNanA6WsFroZa4iChZraq9/SD/PhRUloWOsSn5WcsC2KF3CmYpkhwqPDxYFmKcmDcVxevdh7xrROFQAMhDWe5TdN07ygSSMdfVdFJ6lrasblnA9DvqrZFIRqtkDbE21IUAhaytoaFrW5BBF0ca00ZkiwCzLug00ZhtbDkfC+XKlrIo7z7087oUfRG2+lJCySMlAwpN+jthGoGISEbaUPjQCt7YrJhJJu37XWH1uIP7Ud+3BSExlATKpE2GnXa18Dt3xaY2t1oqFneAOdHNmari2uulFlyDK1mH1crX+MVSpLIqaE+BCURuN6RSrAG/E0iNXOk4iaoNK91rf45HRlCRVO4anI0BEBUI3hsKUssUHnVGQc4CEnG7uuNLhTFC5la57m7Jv6jy5XTM36Rd2o/3hvQ9RuWGoNPScu7UlFkb1iOXayvI5ZGUybmsbY0cnWyuxyamUx2VqujXZXw3M9lZmil/AInLPkXBysxueHK/8ho4DGynQmO05ZLK+cpiKLKaiictzlaoUwuVlqDCUXV2svSYxo5cp2E1ZxgTpNn8SmcyA5FgggPHOw7+AZ/wws5gmj8H7IeOW7rAAzDxjZzYBG/wHbOY8oRCALpU6PG46OHOagNtjx5Ajpzm1BzgoAuc5gR4nj1H6CAO4Ea30PgRynjgr4yAMLwBp4yeeunjUPGGePvOcoI2x16gj7PHnw5sAb+c6YBJgjvPGpP1sEYF4wIBt1AEaQReMQuZEA1C5sQDan7YXNS8aEI7LxxFz8vHkXMSEdRc8YJNXjFn7MXOa8Zxc9rxvFzVX6CXN3JaJc8YBo3jaYcu3U6EbN4xYBjz9VgHqXO2EdsA7bxwL9DLmWRBMuct4xHQVlz9EL2XMOEfd49N5y9gXvGkv18udS/QK5lhSGX6g+PaJT8I8mJMPjErn6TZSucQK6Qm8Ij8JF5XOkE0Vc4YB5PjKrmEiM5Aa7Gq1+04j8nBs+NpEe1c5JIWTr85ksiNQR2u5sXxsSEcEcy+Omuc+q1/FYojFzQmgPTfstgP8wBVL4lHi2MwDq8GqLKRc1Q4nLmBD+UbAUwZdJTwOrw4bVOUJwKglNRKTBkoo0eqoto2hqyqwN6AZuueqtDflrpCXGxhNckD4xQWLs4pBGzhUacsA2F1JKEVwGHxKqX1GH1uheaBqlhrBjupP90H8ck7KsAXSQBwkFEM+IcKkCJHUpTfXmZ10Ddbu6zQel2IPyncYBY4G5Dek9chxJ/ablKckcKErd1om9j7LfTOxKme6waGgTD73XkSOxKjf4xK7dgB64HO7LQXsi3cq3Lb9C6HD+3xbsh6z2xYLAXRhKJrf8fogGH0ZX9REIfGgDBfl6JQQdGOgMBkBr/1hZ8IsFneBb4GVgvdgaNKEBQIa11LWG43c7u+LdPSmRlLR4hd1Sjpra9zuqdNJ1rVgA39pm3RD1ubdh9H8sgW1ZKc6XoVQ8jiIoevOqsKneyPUXrJcC9FKe8JxHS9Qd/tRYBmA2soZjnYL1wkUfKBjyjBDvGHTwVQ3r9s6KrPizo9zbsR4eAYvWSEOPdfrUAr1spTQpGretD+Rt66r1wFS6vWcx3K6uDsNpydxDVCHPENZfVyc+5oD9ML3WD6NRNeoQyTzE+jWukzes19uGQfDh7TkLvW8gBG+Ft65AhzcYT3Wakr70cKnQN1pPrze761Ae9fe1ez10wC1xZUB0SrpknTH1kRwdU7bdW8IAX1OlOnSdTxR0x17qRB6yKke7rQfW8ZAh9eh61n1wl4ufWJF3gGuLa8X11odaA70Bw19d8cIJunlL9fX5TYu9d0ADFq8HrdvW0+sO9Yz66H1zvrnvBCAvLKG9ipK1rjt/fXeO1YFoAbeX1l6gHC6nZ0eMGH67iO4Hz13GOzV8gB75o8ZT3ri2RvrNxZaVdSdwH7tmk4r+u+OE84yiuhPrTfXqD0z9dT6zj19vrivWCZ3v9Z+7e71tfrvymRrWb9btXqX17awu/WO5DgHvGHZANkUz4s71+tLFoGnXTukVdDO7gBtQdqZ3XnWw1rWe7cWkc7ofI4Kuznr2L7+kPo9D563ygFp9F6m2n3V9bFIBupvW0Dd7D+uLwHfUw18Sl9fKAD1OrLMN/MIeuu8aglY+IAKFJMggNrZdYo6UBu5boQG6NO8VdBW6LWuOseN5ouO3gbbnb62uNIbZZXz19qjaA3EBt9JB47WANgrdutFP+C2ceE3HQN1/GComD8CdcbdxB6bPlAy7HLe3pjqAw2B20AbfHa1BtGDag4yYNygbOg37RMdcbRyP9O6wbaxALOMqbxcgQaXPlAvImjqsODdP60INsOt2pqYjwtXGjY37ImpN94SjNWF9YCG1QO2YdNA6rQARHgQlck/OEwt0Zlx60ICFUenWgNxydaSnCe8TSG+O2yUdLg3NlxHru0G8bzb4T+g375xFDbWIB2x1udyjr1eveDfugXTSoegt/X2BupH1EgVU63XrWW7kBs5bpknXgN9AbBy65R2YDZ04ytIyQbig2OeuMDqvve4yvnr8fxDiB95Z6ADUN00Do6nzQNHqBQcEVWmYb131E2uMgbns4/nPlAc5G+UBuUeIIGosPlAsmnK3DpjqaG8tRqKj8DloDDWmzlNW+6nmNA8gOZ0o7S+/KoePrrfOUUX2ker76yoNywbXLXk0OtNSVZhI8b+td40vXnU80hgA+NZJropQeeamNZP48CgApdXfzoKAbiFkVZ1Da9kq2bcYAWQE9VW/KqGk8mrzkC9+bVjlhAJphsHGsBuYDpEqY00T/dOI2KFVJiFkVfiSBYtxbWqIRjWsja6aWiNtvBJecPMduYa8VqAXD1bGZC1q7uRsrSYIQB3CZfiaZqD7FUkIZvR2i5DKOMFqRG56q6Fm0qgf71qxwHCJfumrE+2qKrDYjanIwnakUbEosUONbSDrbe7h0YomoBkG3OtZyTWBKuEbadqhzM9NqmLTXEeL4Usks8NM2YPgx3UKYUylAswBXlEZs2Baz3LAFqtXU52u4PWUh08qbb43GQPdbn6wzJQiEN6Aa8vdBo/ZRhACgriIAao7hod8Y0Ah7JCx08gRic0QzspHmQ0Rq+4P60k2bsdQxVsyz4NI9asGeqYnb4x5SijaqzwhnhHeYDQpEN1DCHspMjIHota2Na76AIqRKCMwBbNZm7PBtGBkzhvSmt66zaAPCgSrwlpFN5eagCiqO7QjPdpIT/NdDrRwIBHzzR5053LjxlpI0mqNrVuqTZGDDZ6HRJalwVtzEvt3BZbMG8OO3sbHvASjyq5zX8xFxgBtfyglpGp2tBgFHzFB170ipCDuIFetbf1nO1cyQpi0NjfsbDbXRhN3Y38BujDe+LZkKnRRUVWHSQ8mqLa3r168bhA2IlG/dM8nELuv5Q30ihhsC9ZfG/O2/tN6yiFHEfjdnG5cGsEQJgFxE1uzCmLRs12wAB2IbNKQ/Mj/MQAQc4q7hkQA9wF32ZeNqDtEbXhxu0jedbT8K1TpsXTsB0xdND5ROUkWpIdgdKMe0aZPT3uczLi5q/1LXiwdbQnOvEb/SGoIacDEQm9RpkwCBYk6xuf2tPG0tic8blT70JsMDvc7d8W/qDYIyLwCyKsfG4SKP5QQk2tTWw+QkLYfHdEd621I6N1xJs/BxN+b9gLJYqPidqcRm8x+xAhcaTPAWID9bkOJ+v1BtHl04Bz2VbiVlLTiD4lAgw5YBB2GQIBC8G3DI0DuBTJ7XTCbtiZxMim0ncIhZqU2lSDodaLBvb9fAHDwNxQbpgEY0hnYZrnd2QEFrmMEpO1yylbrRdugpdkEg3MtSBKdTnnW38bTcbtTVrDMwfO9SVnTouAkhu5Dc7jduq+TNijGonJ1OQN3HzmuSLwBBxFCJOW0ZLO18dLE94UGsvWOhvAQ10XNjF4GKAFc3xaKcwkTB+nARzUN5zAQTMXNW2Uqlubaq4ciG7VRp8bUrXuh2iDcim85lqaLYJB3k5OsDdwxpaq7JP42Y53wweGm35NuhNq8BwBuLDpGm1bq1gJ3ihWAluyP49PS3JtN3Q2lBsSgGl02oN94AHfwxBvrTbGm6KwXoN2025ABfYHco2Plk4bUFBlJvD1xtrl82q3KUsaQm1axvqmsPY9zKeBjIEycKAM8hjICPtrw20X1NIaqbf+NxMUWBTw1MwgBphY1R11j/ik9nU6Or4Tb1CuvtxU29b5lpQRmxvl20GkSj6XFqOLL0xE5l5uHFVVtWYzZKcNjNuwpvwy8ZtozcGFiixzNt/iAFRvodqqrVY/cAcLZq69hPTZ5HRMJpLjJKD6gh85Xa4k8wI5xKaV1e4L5mtxBxTHzKD+XZ3AwTcClRflJc8tXEBYEIvGp5lLNuggoLqU6lXeHlmzCACoNhcW/ovXdYG62SuwHAwPWgETaTcdcFrPGiT9fqDxgV2nOQCokV9tQ85QpN6zd/bVCHLH4BO1KCYjZo6gEKa/01wIWdpM+WtS4UXGrH4cEagUsgwArtIHzFRIauBOrIlZXxwP0KJvrMGrG5KxGHG/QsWrSbnFkgwB7mSQoICgAqMTllPHaZqpjm2ChLiyG3D9RzznHssJmO1YAvKUAwuYRWhzYw8SItrF1LysA9bw0SYAHmbzWTspOSF3cS09JLH41/HltACUcKLh2wTJVOgAZNi5QAaPdoXLhjnIVJ8v59zCYF6qpyyawl3AaduRM9NW1rndf43+Z3FWRMKXz1/ab0g3fMuZqDAKZdkrLJwXRE5oTwVgUGA+tobtCaAehN+wKUDQICKEXE29gBm1vzM6sG8ebh9bGB3amtmHWAE26MeR4CdB5orwECg0hWdxpQNh2TTuGG/PNlYd5n70pG7oLyPDfNtiAd831OWz0ukfPAE7sAdeTd8kN5NDyfJ4GXRkeS28mShzsWXiKKYUmU3trBr20Pm5ANtwtwSyHI5bzeNNZFQDItc8nNQAujcyE+D4Oibkq7IRtv3r7dsm18YdoPn98vtUA165bwEWzWxa1MGm30IkxPNxKb0Q2v5uxDdfxuqq6R8EXGk62E30SFS/NqOdc82tgC7EZ1AAbUenwTqLZxuULeZENRNmhbh+aNC0qjpra/NN7U1jvj7mgKzoIII7APKO/PC7tRcIMQW6tNkhbZib7TRyLZ87WfNqDtlTbL5tsLYiPJ5oY3mnC2fDSrjFjrWvU7hbpBTaEAufIkgPwt1o8j1AHEDgKUkW0qgaRbx5Qc82O7giG2B2hcbIi2MZRiLbTYA7QOxb1cj1/OwzdWHVkE1W2SBTXFt2qeLa9qkZ2jeMjdijfUh1vpm2s6bHSH+3LtcRlm3ugm7DXIm1pvZLYY8rktuOBT2bKRNgmbdQJygPAGOi2WHzK10m3f4N5JbMiSFCDSYIim3ot4pbTE2FZuNwBP3CqN8rj7S3GJuUE0Vm3ugtTj0qnWFA1LdnG92oJMAE5H5TY/4ARDaqAcKQqEBLqCYLdMAk0tzJbRS2Blvnpyg02rNvFLHOHLQOk21IQOMts1R382xsFr3HxYOOjcAcsvb8xLHDZztfgAaQr1NXOut5Ve/Cg4VuAdXg0H/Xczdq4rzNwPEA/ABZvhSHILaZ23GK0E2tmuHqElm3S0aWbZS2jKT3DbOyUMt1PKKs3PsBGcWaS3TgKyb4sEuaQbcNBHVnh48zMLWvt7uTcEW15NtodU8aoZujMay+kPZzcxyy3jRCrADGtSFNyTtQcdV9ZrLf6W9ta9riohs4psJzuLa1l0QPLtxkvB27XHfgVzWj8yHy3q5t+4bFm0Ct4WAiHlQVtdLag05PrWFbSWrhA1/VBFW6rN+Fb6s3UvwTAPUm6FN6lbAuG5Jv5Cama7JiR4zxzC1SKmAkbGgYQHmNHna+JvvzZpGzdWiNtPorkQCCcWLEOatv6C+CIABnQB1xPhiJDzLaYpsptg3jobWWVLVbR9koJsVIfuW1blQP1Z5cvBr++sBMmDQAGNWPaQ7Mv8qrhj2ZqlRv1lSmFJ2dBiCnZyzAhsEU6rcVfecFlUKXpmeGe7NWGKMgGaXGgQPeWpL6b7OUVI4uiJ4M7ro05DWoYm+oiqCGd7qz5w9PkscOfu72SZ8GvGt1rcKkOh4A1rBS7y1uqdC9MzOAc8+bL6y1ssSdMs0E3P3r/MHG1v1qFLW62tkKNt0lil39rbLqEOt3D9WS3wWSwsTLqJY4EsbNCGZevs+WocxwbYmDI62rTVtre6IIytuOkwZow5sOqvurT8OAO8Q7gqwAlvFXQB+xKXjMkbmZ7yhpoqwaZcnAyb8EPUCVcDYbOtttbISmCAHnuqijZ0wSTLc7r+lttrYZAruti01Pa3YWJGM1Z8P+COwCdGg0gFXQfWW/+tj9RQTcL1tqJUW6+Gu3Pe0G2/1shRv/AB2QPKwQTdFSP7Num6+GunDbcLhUNvAbfCgBht2Ht/a3uLXTrbsvWBhHd1Y/hH9VGIwhs3D2wqNB/a4wwEyTWkivaHrznCHOKscbcRgx2t8gate7R1uwsWRAP7AEdN/PCgm7HGgeGEf8Tdbi6mQo2sBPFNVkaIMECG2dkjC9rvWxtm40BHX0RaucwZLfU45mlDDEayo1dsRbW1ut3tbOnA1iny0FHiOQt891xG2QmrGbZHFd2VJ1gjCLA7S57O7WwJt9QOgqmTNv0cyCbnhtvDVqm3AA5Ebec25+qh9VJ3Id7wA90NRKx3AeTu1wj73IjoSje1O4M10w3itS95bxGdMYHvLLCMsslCnvPilKtXxjZwmg9L+Ddqo98W5apfVTCxhhtZnbfQmlabSbsZ96vzsHOFF23I1Oil0GsgUM8vCVNidYCiaFrDqLo4faalOTkdNNlqzlBTIXS1t6prOaAiqT8WjOG2z1kUdw8awZv8zpHG+4gdt5qnzpFNOwHc+VYzWRVgdhNaCJGxpvunkGUxeIzG21+rchnXqx5BVzMA5fPija0qEytwQbi02mvwLzfP5v685D5u7ipC03urRmeA2k546rW663Ammv/IrJ1Ywf3gOTA3cd0LbL5rNJthnQREoNpabWBKupTTC3z5sCTcIG+B8oXdz23vjDEgDdRAmwLrbW97TUoQ7aU+M1t6HbfnblqyXagoIecoI8oU2oBBKDYA3Ey7J7SLGjGCysOuZ/k25B8HL+jGt2tmRalSzUAZJjVkXJgN1lZRy/ZFkmA2BDHIvBufigzjlxR1d7WPkMeHo3E9G5nV9RM332ug0cpywfh4DrYKGC5Ngdfhy2Qp08BHO2s3PoyYSY9fhhI9S5XDIsEKYfw5PRotzkAAcnB3LaIKr9ZF6b91hS41XM12I0VApvYxTkDhC5xtojYItkcQkz4RttXMV2xQfgA7FLQn9C2yKqocohA7BNJTh3MuzjdfW+XZafwdCAd5WM6SNW7pUEIr9O36dv+cH/1QUt3IycIQLebIdq0VbaDbtjSM2ndtTxpGdtXgEcyjxk5xsb9feG95NidtgCNGFuIEBzOGMqvpzRMmMSFP6K9W3AOxsaCCgOZtTDYS23lAfbroOVLFBrJ3ds04YpszZ6oib5v9PTW5vsmEo+02G43Dbc227BxpUba/qGJvQjeH+Wmt98UE46a2v7xqvvadtyOgV23q2Oj7cVVX2KtNbg+6CC1C3FakhYw05A6tFCshgoA/6cZywwgBfnvtJf3hWIOj0ZDhqv4Cr52tzem6gmyDxJYAUzX+EAPM+bMNNbr87+EC+jesvPa1+vbTsA7lPn9IC2v4QSUOQPQAxtZAEHle2w2mFsW3gkGD5dVDD4AEfL8MHAdDOQTnk3XtgbpDe2nDGvbd6Q0QW5EbQaqu9tHup72/Ixyzjao2nMWjFDf8wEtq8bgO3wZvY32v6ZbagabJi3RhsXLaatXqPfNhBfXnxuYHanmx70raRqfShd2zre72/OWRA7PnbGFuZEAG21KbM0b9o2FBt9TeG2yatjMgEbaJtuhvPloKxN6bbobz0mZzbfmQ0ttmdxv+34tuUpPw2rSJrbbUsanVtdDey24Pt74tw+2zplEmDH2+dt5QtB4Vps13bfr8ItkR7buKBQduj6EgO8rG97bkM7jdsEDawO7Y+fg7/xaEJRyclUuD52hi4NSwAqOPWLrk7g1rwUi+r8401LGoALU60tVe6q/PAu9YC3bcPTmNEW3inJMGW8O74dzFjwM2AdsyDZRLow8mg7Ug3nZirAAb0pECmgEeB3+JuxHa9/Hi+xNt922KMizjbk5IEABZ9xi2yk1YDpK20BtgpdfR7ttuj5vkWzHO45gnQ3X5t9TdUuO0Yeo7Ai3stvLABaO8cumtrbMDZHGYPlZiGkd+ibFR38HnOUBo6GxN/7b3mX2jtlHf567UdvobAx2rTWVHb3VbNNnuN79wOjuvlZxqya4Ixbze3ig0ePjUG8bt5Y7ZR3Z1uVHcQwTUdpY7Mx20xQ0jx8hj5AdD+T2sJWZfaob65sd0uo2x3+9vTHZWOwcdoY7RPNFjtQdr2OwVu847QTsvMA/HaChg316EjkOq2juPHfim7Ud86ePR26jz9HeIWwxN+Y733cm03JojcWokd3Fbg/XUBtdHdBO8yt8E7fcbl4C9HfuSkUW2E7Qx31vmjHeKOw3GiY7Ox22junHc2HestuE7DkQPjtlJq+OwhKZNEjB3jZ2tDdIO8OOlE7kx37jvd2RWO1Mdk47Kx2+C3oHc+O5Sd7awNI86/0bHcSO9ydzk7FJ3+TvRcd2O8Kd2YUop2Yh53HYlO2Sdp47fJ39jvUnaGO0cdwU79J35TusxEVO9NALwTgAdxTtvzYeOzyduU7Lx3NTuMPL3LnSd4oNep23B6ILv21lWAqduzoDfB1GLaBO96Jrk7qp30jt2nctO/0tyo7JerjjtCnf5O7IqkRdM/cluH2RBYvjkfJ2AAAAG8Cbvb4ef1VvoiJOpZ8EQfjz19sC/vbEfct0I7jC3GFuTxeKU4be/wbVI3jtvRVp4O1bq+kbgo2hk27O3w2lLO22iau65OT8Bi0O2aqkwl/I2UcMGHa9MscYIUbch2dtsHWo2oFAewPdWjT9tVSHZ6AJ6ZFWtsy2klNelAoi8NuQPbysbm/NVHZ+NLtty4TZXHkDsttdGKKOdz7bKj9tRs/bbf28suCwQ2R2Ep2nRZZEJJtQo4l6Vci3pncP1bJwn61Xcg20pLCO8w/XZRpTbeGcdvLtY3azoxn9rLrmocuk7Zhyx65unLOdHBlN50ep2ye1+Rt8hR8zsiUZLI7YVNmdxTnHQCbNdgm4lRwvbcA7j236TyZiJs0Rt14m1d2CYetGkEhdnKIIs30xjUaYwuz8aC/KrAT5macAFENn11q7wosp3mikcbJpY5HCW0KZ2tTOMPPTynpxJwxLYR7mY95cR2qLKKyz5T4bLPpcAvCp+gXAAn5GiVT2IFoRTZZ0obo9aBrDRYC/IJhJvgA4j4RLvA0EG2+ydpPbeK3SHWaYF9i2Nmvhz7lhEjsy3mnoJ+Z7fzWL6rDtOspDZXz1lf0i02eIBT/ib9sUd0wCOTh5x6u7fG3Uk+FJcCEpCp3FtaCW/2N0JbKyU8nFRLed24kdoJbS43nLtDjcIG4P87c7QcZZ5uJHcHOF3/LN8beyGk2+Xf3ZW/tl1ykV3s9FfLL560ogQRbnl3RFt/jPcu4tNjVg4qH9ROsBMn1gwhu+Dvpn4zUEUfwdcRd+bERo33RuzmF/LiwVFmIpBt6aCh7XYkZGMZSg5sblTumnZy24QNx8Vl4rWxWy+ImG9dCKizjtmt2zlUZabKQgLY82JWuruUlsXk/guUlb8LQMru0sduGz0WhGyyw31GtjHeNNRUcfjtWRapIjAWrrrcS5NpbcB2n3XD/Ops91g9bbAYi7RvOWCW3mwd5ywOp3TAL5tGWu+sWz0bDimuN0O902u1CN+A73E0KBv7XZb02Zd8kAg/WzC2mSfI9VAW/BblS29C6vE1pW1tdtmmw/yRPWS7jmu39mk4bguHi2tz9DC28CJ4nV8Dtwbu+fhS266+Ixbsql+cP4YL/s4w80lbYFxJrshJumu7BiOljlVby3D+20gMNuEf1r1E2diAjTkQIKLKGi7hFqWRtcncsO1PNj0V7bLnd1SFAjrRnWi5xOZwAKAc8S5uwfLWSgXziVFtc3Y+oIbDXm7SwxHfGkceEYneQX3eIABRbu1LcSW2B24K7KR2a0mzjf23PDhiWjs7gCDBzVtUu6tmu3BFOGveGCLYsu2btzNQGHLzxW+4Z1cjGwNxcqXgCOUEloSO4tNp2jsN39RNkVbvopkARc1j9EqFuOgHiy0RALk7KULHjvfFr8u9novnr4sXhrvzVtGu3CEZ2Qw3WdQBVqv8XTegEbrylkwjtN9bw47HdjDyVia+puM3Z6ozFdz9lz2pAruLTZuGCZdixVJIAL6Iu3eoWx3W/7DT0xz3UJTdiO8DtsrjuA7+h2T6GNnSgtnKcYE3EkHu3b2YC0txOQHjBRcvJrYxCI2ZFu783aOKvd3eDHgswdkmG0g5hsogY6DeXdsg7ld2bDvTgBQ7VtIGu73dk67seMB7u1It6hbvam9yuptYnuzEd4s7dIAq7u9DvRVHgOxe75b9FjavNDf/FP+I4pNJr0bsIgDTW6uqoRcm+zSVs1se3u5bqcHI0/Li+VrVwqWxxretAK8V58NtlYro9e1mZTYbm5lMRuadEpkITnbHr7udu74fjc3ztxNzIUXjlOhHqF23Lt39rou3LbIgPYl26zlpNzHWHQOsIPZTzZB1sH1L5qm+tXia6duj+uW7s63trVZ6N1tLMg3Oubp2G+tNNm4s6Hdzwwgi3FbuhXdb5Wzd5gdyi3o5HvAAe8QktwRb3lhuja93f3ohLaPrrnzr5bXgiCccpJap0b5UIdrAPTcuIE3wkviHaZn1K2ZKKch6thtd8JrcYKYSP3Wu7N/WbRmksfhvMYD/Rg/SIOxk24O7yhrTm8ihFGCGc3Uy4ClWY8+zu2dhCaq6/W0EEbAUcJH10fZVLHs+ednYXp4gwEcdIEB7pshp3TFqyNwdWbm/WRJF0DX/1fatjwGfEtXwFugT8LV6L8Fa3z0j+pSnbd1h1VPYAi5swWpl4WXNsnWAuqH6gEWbOJBeCI3Qp8DzL7LnuU0pYw/nhy+2/ZyeCobzgX526KUKd25BNFy83B3NtsCXHUI2GTsicqzShp7qcHC9eg5NvhkIboNmLTyXcKsmJcrCvkwUkoSFAeTMo/HbmxmKGYs9JkEHhmxdcew492mo+Pxc9nJ+ey25hNwgbG6yZpvv3ffznyjC9CnbglXgsBeme6UpVK7Fd3eHtdkGymzpR4C73bmR0HPLZmLdZVnmNIU2PpswwTGMHw0LdSSK2dzLYCEsNvNUYpt7bQU0rYVcXFDbpJgyfo33EC2riQ82jtvFoOcRMhCUzpnANFZw3upFrg51nmch+eAQ0deCJRJc4UjdDrQFNsQtcUrgptKrapW7DSO67BXH1lsYhv8GGWsx/OV96UNlrrM3MZ5oDE0HjQLCKFbe8y2nd+lrwE21Tu0JpURGT5z7AIDrAxs6MAme8aw9Srp5nNMntp3W+SU/QMbuX0STN8NGmexh24lTgi36XtbPahC8L/Fl7LHmTYvOKA5e4JqLl73OGK758vais6SZ+HgQr2/O2S5zbgBhabMrg2AWCjY7bzK7jt+1zRO2CdtXSdfO//JyHL3SmKyvzxfJ25ZFw9r1kXj2t+ufbDSYTR20riWIki3nZiAPedyZzIH78I4A8fA/Uh14HjKHWAANodeAA/pHNZzKH64eObObw6wCcWADbHCfRB+AnvO9eRwj95HXxXO48ao6+gRwnjNzm6OvYEbJ43gR+j9BBHWOuPOfY6xQBwbNXHXCKxvOayqHQB2ZgDAHWeNMAdoI785hgjonWAXPuFB4A8C59gjoLmSNj3ndBxgkqsXj4gHgWGSAdPlCWl89QcvG4zwK8e064Z+tFzOQATP1aAY0A4Z1xIrOvHVCNmdZBIBoR4lzVnXBwraEbMA3Z1ylzjnWXas0ubsMq51xwDwX7HeNedbrDrYRhsOHLnvAPKsF8A369uZzoXWkqr+8Yi64HxpZAwrmi9KgmeV43F16IDCXXQiMOltlc6l10zrCrmE+OZdc+tfERxSOafHkiMFddSIyCQdIjdDsPXsVdZyI5elEvjDpF4I7/gyz5ua5kojkLcyiOFMFexMc9v67QobU7uTzauYoHhtDJljcVbtcna/cI/dgj7kXRd9k3ajhgAQZihB2LkQ6if6cmMynpr3x7SsqdbrGZIkELEgOAdAg+ADAACgkK9BXPNlzwb5jTgRQyye0Nebb6q4UBCLitYFBZ6ajHj4Jx1lrYJG2VOLAcPxAFrvGrdy2wSN9fpJFLbDuEHfkABaeFTeJH3YjvkfcgypR94iA1H2qdNlbhdgs6YM74wABYAAkNHLQB7Qe8AuK8BPsQGCE+8JcNR8BIwtFsSfcxLnMIaT7fPWOJG2fdYkDHpvIA+NcWACj1q/gI7ACw7eH3M1AGfedKTPd/I7m4gdPs6nYbjaR9o275/MDPvclKo+xPBGj7GdBnTCi1GtZsnp5AA0xmWPvF6Y2Mxx9k5A9G5xrLVvgYM459rJQzn3bACufc4fOJ9/wgkn2vPucCBk+8NOuT7DFSkORZffZtm9d5q7Vh2ovs+lM0+4SKOTk2n3mTueFCw+8CxpAr5g35LuonYO2zW10o7BW6zDvul3C++Qd/D7an29ylC51fFeQkEHbEcJEduUyw9dgzdiL7KX21vuP2PvGzZJjztCh2kFvG7fkAEs+Mj7x33ZokDHtnG9AYejyZ12S2uEDYM+w+Ut+7AJkdvvoTs0zREkBdaL8qExyeJZuTpDlUJ7cmCnGoXGU9ixedIAgvTRQFJyBVqqqKSZYjj/gJatjEgGCxj1BOLOSXSIQXD2GC3LCQx4EP3WbgIJaAS3oXeBLoMAf/VnqFJS6YJBOLDtAMZK0kTx+3JcDH7uSZhgxbGWNLQT9vhLRxkqy3Mkloci2gIXuWjpPeydgc5+1aWnYNKJAnGpnXQWqCJUC7MPhZ5PDuBq0rUYl2kyPT3LbSipZF+qT9aaA9kgx8Djfbcq5/ayJljY16203QF9W5ZARHimt4swAXiMeC7MtTiNmABeeGBaFFQHbexgtnubS1W+wfigKaBf8LoqAnLLKQEK8Zw2crzTv2KqvBLH8G9MzUQb1lxXxK5bl8QKOQPSQwy4RyDORx9a3sFzLz5EWGTz51EBUlmZR0gEuc+JsjDZW+5F9tb7FxXs7t7PYK3Qa0Hr7VL2jvsdfbloMxUgK7qV2bftbAFM2rwgAzbi6n5Pva9Z4oIzpcRNigB9vvZbdbTClqKFLv0nHkPtlexy52VlnbgD372vLcBQe/2V/RtvkXfD1k5Z523gpn9rhCmv2uTlagezuG/ZTTOW4mONQZge9LtyuTwcm1ysQgH/ssl9xMUBn3IYD/PgUOb2ANX7xOtcjsRNuCeD+2tSyFdwNuHHKVee4GZL3bHJ2FpuRDaRewZltF7F3FYaTmVXuu1ut+T7Ue3VPsdffT+6HWgTyFir7juqSG0rs/9iv7HX223goHf224od007lMtbvt5/fW+2dIq8VU+hx4hAsBd20AD1sVoAPLvv+DeigJPugQd6y26DtuyFu/BcVmXdo53dPtoA+DEvsO/pb2APuLW8EG1+wrEGhr8TWVGsySeU+zVgYgHRzLaDuPXdlQYGd5646o2qAd8NZoB4E15X7L330Ad95sBjaQDlgHMjXAXDEEDwB5wDol16wnGGvhQL4B4wDzAHQgPtrvv6SRwd1g8QHsTW7cFLVmMa84Ft67/AOSAdA3ZhG9nusQHlAO1AfcqO4BzFA2QHGAP+81YA5YBxXfCgHHAPjAe2tUYa29jQgHi02dAdMA6sB4oDjggHiHYja2A5QOxIDu3Bu67GGvYZfMBwID8o7rQaWAcLrfYB74D4wHevpGGvipeCB7oDh67HgP6LU+A5XO34DlTGzgPi2uuA/kB3oD4f5uQqwo6qA/6a6YD9QL8QO3Ad/rfk+4no5Nr5Z2VAdGA4y25Wppl9LL52LK4wD/U9o+stFLbH2vs/lLlexwvdtwLbhPjIlA+yB62t1/7J7DguhFj0MB3YD2oHVuqGgeZqqaB+ap6Z9DQOMgeh1qyB5YDsoHSAPLCCYsEuzKMDqIH4wP3EBoPngG16+5oHkz65gd9A6WB+0D5dTrb8IgveA8iB6kD8UAdG9EAcdA5JsAXFigbtwPTgc9A8zVScDzcxDwOjhvkJT1+wv67QHcgPjgcDA6AB2cDkYHKQONkky7oHXq8DgEHdwPiBAvA6eB+8DlAY7Fk3gecvfhB18DjlEPwPBFuLA8EBzkDp67Rw3Lgegg78B9QALHA8wORrUYg9CB4ADqEHMJXhm0bA6uB1sD/DTbA2jgeYg8SB8Dd+g7In2QQcaHjtU9MD29THVRFNPXLYWu42AiAHa/26QDvfa7KZOUuAH9HlSQf4jaAByKDi77rR2XAd/A4ZB8wWmYNB43WQezXClHRyDp9Tkz7RUBEg9oTSSDkh7ydqNxv+2txB2yD1UHUanC1OlOC1B8aanUH6y3trW4Ot3G8qD8tTRBb9gdR2p0weaDjiDcoPxQf4nCAB0tIpMtVhBVAfePh5faM+F0HDAOLAfyg7JB8upr0HjcAFhu+g4HY27AQMHloPlgfkg74k7hIOogQ7HDQcqg+R0MC4WgARVtbqZdbnpB+6DpdT7wPEwcvUHuaHZxqMH0z7wCh1ECzB1AzBh19AO4wcMTe2tYJIJ3+4uG7QcKxG+0NWD34HwYP3Qd7yeQm9UDsYHDoPJNMsvvo07GDt0Hs62jZOYwBNk1SDvEHxoPHQcdVEo07mDkcHh2qxNMTg6NBzSDqTTt/X2wchA/nB+jG41TenAlwcqg5XByy+gdjVqm5wdWnZI27FN5sHU4P+wc08RY0yadyIb/IOr71Cg/HKcOKpVrSjAxQewg85exMUlAHMoPMgfDg+xe83Omt0jqdzwc0g5Sm2YgNoHkIPl1MnZHfFDSDxRz5SBQIcv/aABxBDtdToQBUQdUgfXBwkDhUH5Jq46uxZcAh32DzkHIameHyNXe/Bx2DzcHPInQ1Opg/tB3sDwdToamhwdEQ9/B70ug0HqgOaQdqadTU2uD9EHP4P+luaoYYyNhDiiHuEOa1PHg/Yh4dqvn1XEO1Qe0g6LUyxDogHNEP+Ifoxv8GNUG0D5EQOGIc4Q/VBwRpuyjxam+IcMTc8fTe+gncZEP2Qcmg6rU2JD2UHEkO1IfNzqCvva0ISHllGB2OwQ9DB3CDnoHEz8awdsQ8RB50Dgypom3TIfTg684H9e+yH9wP4Qc2Q9Qh6UD9yHqJIDKkibZMh1pDi8HuEOLIcSg/JBwhDu47sy2+IvzLfBMEsttk72oO7Ic6ccQ09IGvdB8kPuIewaZ5ffBpgiHCwPEodv3sVQzZh5yHdQPJn1ZQ+ohxuD2iHVmG61MFQ6Ch4xDlNTzam9IeEQ7Kh5JDprdXj7yBs4g9UB+FIH9T6UORIf3qbZfcJDpiHA7G91OqQ504+S+j9TDz7zwcdQ+oQDVD6NTQz7ANNTQ8LUwOx09TQ0Pmn3D3poG1/ewqHuEPBoe2Q4Mh8ND5R9rA3dwfkQ76hympxaHW0PGoeGQ5kY0axu6baUPDofRqYHYzax0qHaEO22MVDcnY9VDhSHIkPDwcDuGyh8SD3KHj0PNlxYcauhzpD0DTdlHoOP3Q58hwMNzQbcd6XoddQ/6h+ZxrQbIMP+gf0idHu+sN8e7kMProeFqanU/uDudTjBbfIcrqcTEJ9DhKH20O4Ifkg47rREptqHNQPXofQw400/VDnKHBMP9FuaKP2h9pDlyHg4Oloe0w9+kfTD8KQv+wGwxzQ+DU9h+RoHAMPLWPTPsHBwzDoqHSkOaeJMw5Ohw9D2cjW5H1oeKQ46qFhp5mHt07dhvSw7eh9M+uWH4sPQYdv3q405dxxUTSsO+NNUw6+hzTD26dYYmkxM6w5E03rD/GHp0OdOPVHrhnvTD4KHlUczYcWg++h7dOyH55RaUYeWUdVh95D+GHKoHfgAAIHAXfyZm2HXMPAYc08VKgPbD10HBsPbi1sLt9h+Iu/2H5MOU1MDsZNUDyDyG7Wx7r5MROHtVPYWa+TcgQipsXc3jjSwQ5oGKNWNduW9itymCuL3bvX2p5vFOOiW75FQQ1b7WaYQkzffyW2o4sQ0xjO7CkVFMFXhWO2AD9Q7JB98Lmew9iYmbtLierl7HPrh3TYxuHWgq9jmmTSrGJV3ZfhncOh/vVw57hwYUriF/cOVHGDw7EhTpCzalI8O24dJwBUxiixhCUJM65Lj47rEo7lVmyreFaTYaArdgm+8tugg0v82OncVsuG+wFiVbrT6vk6NVmiO/gd5P75/MwCm94E7yTPk227uH3H4cQzc7ye/k2y7pDqQ+u8DBThZs0V8tmC3GwEXcxSWwtKs9Ln/2t7sCg9aGGs4wb7aYoCjs2QBe+ybtv07DE32uLgQ9CAPvVdzLCX2VPuLPf6cfVK3+HqA20EfF5I00PvVAhHxBBFWMeLdWCg3dmhbfi2Q4e0GWpG98W0pxC1rSROaFqxe/0t9BH7wPlVD71Qmtb0t64TxCOTCmkI+x2aMDyymTJB9tVLHnIm3GeO3AZmX8SvtUCxPTwAJYYwY3lUO07xAR73zNAdOlm8cxqPlpexkdx+7EziYvt2HY+Hkgj+gHKCONTscI5IR95qDngZ4PkEc5/cTFIPklG8hCOYTtRTfMRyAaR4tCBpbTsMI90R3C4mB1rCO2kPrLc4R5y9ixHvCOTDtocYER64UuV7gSPHbW2A9ERzlWo5lEiO3WtvMEdMqzrdiyPz2EnMp3pANMWIC0QMirhRu8aCfIyMgUIuQh6OBs03fMcyVTMwAokCikf2WtcVtdFsmSuZ3rCC7/e1W9FtveHPMaH/VeDSPh4FKk+HMIAz4coXYIu7jFfG7jVxp8JH/Zsm5YbSo9xK3NMlWbp3aGWlS/7032yjsmu2bYWdkvnDR5nNMmkrdv+2J24m7oLXqVtm+QABx0tygmn4POjuO0eDEvTWvhjXK3rrwApBtAFBdm6lrrWKMjovZ8KBwRWriZ8PTO1ZXd6k/JmpuA0r7Uu1hMHke50cDzwqEiJ1g8BBiIs0Ad5HC2wJnVr1rzjcTV2U1uv2XLWB4ngu2EmkWb63y7xqGAV+w4RdhtwnBB5s0qPZtm2o95mMhNr9TLxzbXi5IoQOUaAVvHscQdcSw1mgJ7ZmmgnvOxca7aD9lZ2GKXElX+Ja9iybZWuuI/rakse6WzECAl9aQ7gaz1DUo/1AInQGAtcT3PNWJPZS2ck9l2bV5W8NHpPbWGUrEVCUj/gEB46lr5MgR2jeAsvMw5KFPfkIImlkp7iYgc2vdylSufDpOVxujgzHhsUHNnO09gVLOlamUc9Pduq/nlyWtcZ4ZvSP7nvUEPN8Eh13W05uleGvgrrN+v1SOJZstsLWGa2wtErKKBJzJv7XZhZvfdmxH2B2b5m9zKM0LF9l48SvaPJsYHZkG2Nt0A7MMy9ZDYDuQWexku7IbjBI0cozK0EYTYkOwPUw0keHzPm+Qnod91pmlLAKEqNJtof8I1qOaOlWTOXA8NYf8L0a2iPcEdYHYjR7GjhqZAiHtjuJo+NmfVM8Kg/hgStTjsBbbco0fqZnElS7INsa6ePWAALyyT7lF2sOUlUl/rLsCcxhoOKcEEaPAF5NxE18FWFCSqRpKmy15goYqR0tUTmUOxi5AbgAg5h1/K99dDrdgt1Ytc8nhVsmdo+e7wILUKSClwrtWHZrR1dt9V7trp/kfwBB7Svt5U5VQcM6kd+Nv/NXdGmCkoDwN+nPSmjAKHR5XkpU4vai5cR7VUpAH9Hir5cuKenzc0MXDpL7V97CJlVWdarcZ9jL7c23TPvLaa8IkxNnsFNhnqItbjG7Y6VOAOjC8AmMq1feLEHo8UajZ/EThP+IFhAHqgcwQ8GAnYnbmAbgF8nbhAJwmE0c1uz04NRjneVTsBP3iecW7Y+FIe8Awz1jbFsMch/PVRacCcPiuBnNacq+/idnTj9BnSt0zJ0fR+cNw4g+OKEXi2FSl6Zwty576AAL0SsMY36Shdoi7oQg2GNyY9xilTcMdVd411vlyY7lmxUBIMAcmOrvD/mqou8jKHHaUvSP0ffQC/R8pllFHjnwDZsXClUDQDejB+DEJpHZIqFkdoflgnAaaHYr0143tI39e4v7PaptPMhMFpOFRV4qMBbqAaI3FeIE9gJ8ij/WrOMNjQcix9NgR4D0/6/5B5efycOMCfJwknm15PiQFYULH5wLHQQJjPZbFw1yz92uey0VwKKsayeC+oILfBK43h1/JxdE0g1rpMUN1Rlke2ShqcsoyZdhAviELwN+Y50dXljsaoUIQTaSR1Hl9awodIB27Wju3HSTssLH92aLPB6vMfr9vkUoYx3ENk2OFL1m5ctsjNjq17oFd+tWI3pCWnnDgH7sl2bE3CLacuxS9401fyO2VudzMTO0x0AWIZ52j+0wDv8KDAe23AJPadmsVouCvZ+FtiAAqpUkaCngL8yCzc/s1IAG2O5Hc7cB/ZeXjTmrBYPPjVOxwip+eSlI0chO9XBew9dj+tDfOUXscH9tuil1XMtVp1k5L3eY5OxwQQMtV+DrcLumaHwdWZnUWgvXkDM59oFh/F3eH/QLHkPiNyITh8Wzbcldn6BAAojLtnWj9aqVtiBANYttTuN+xiRli1TaA/knWFviRyCepxSc98VwMJsc4bC5qsgyfG9by6oZWK0A5i6AOknZWccrPZgbQ0Apid+cbcYCSoEbVRizEbO64GT47eoGiwjiRxC9OFWPdK2KZQE/thLRV9XXOjgCZTBsH3fLUkluWaOPcbmj3maqq2QUe5ZFWLqSgxYpxQ4LiV3hFteXdcu6uN74thEzI3HETO+QCDtjm1JptvwILqo/O3iRtJQdWyUwrSrVOADcpZo6fRWJvuKwGQYysWYqcIEZQ8fbxAVwExdMYeyoAawslIFVAFRCdcDjkDSsBbY50RzAjt3HkniOrssPf7IFnj/XC64GM8eyEYiW+mouYd3K48WjSmWIex5dnbHy8BH7v546NUcRMyNxli21/Mj7pSu4ENvjx5ePYR6EPzHTfP0tjC6Q2vnGVDamuNojxsBV/2J8fGrYOLVnjr4KqePSSsWJT7x4kVIbM8UPc8cQY4Eme7j4CZJEzAm6pXbOh1Zhm2IGfkil5uR3w2j6ji+bVA6+D1v1M6UoTfaCZUxSoxktw6uIkW+JuHStixxWEZTeAH2a0hZ3dkZVnpIq4e/4NwsSQ/ld5sN9ZLxynj0XqXYAcsc51Ri1VnjhsMtOrsXjE6pbAEn51aTMWroWCb3cpe4d9xMULePMTx9jOTGZJ4qBHD8Pw0fYTavKA2jwLFmBOkxlVjJX0/VIQCs0oPjl1qQ//o3CgThb7iOS4dXMQwJxWM7AnRqjPHAvMCF3cvjxfH5f3PAFv9M3EC8wbAhluOdaC8qJ9nvXtizbZq7/6PVIu8BfNKBg7PIOSTtF9amRzsdrgnhyMLEpz44sSgvjlQnW6PoEcb45YmeWM9iZlIzmCf6E/VcpxMv3Att398fFbqdCYdxcYdyhOxsZdgHTehoTsbGy33KB3s3ccW7ps3X+MQ2LFtxDchANVd3gJaMxeevInjWINYtty7leOayBuXYNMdnWrRJQPmurO0IAr2X3OvfHEhO+Cd0E5wJxI95sAKm9sAaCLY1Y7TqqTL76ONEBfo831jmYt51NSP6gDXyboy/d5WqWipXsooSHhVK7EYmyAycPJAg9pTyADv28jDfmhftAh8CxRy6J/cTYwJi4eVNrhgCtZV3HJpyp9ubw6YnWRgcTH0prVMd7enUx7s108q7YRtMfb1oUx2xpuRjb/ToUewXdBxBflCzHuRP+SjzMyl6anlZGUVF2ki047V0x7s165m7rRSlByY+gvSRzT9AEmXlADOCnIAJoAJPMOQ9BWpWzaQg6YSFRIpUm05vAWUsNmJl1TaPj3CUdbVvNoSR6toQQP2oK0nxZhSxiluFLikZhe0pI/NVZnOBYnbDGMkc1R2Uu4v13l1kvX8gslwMBUlUl/UA5MXCfsLxZZR+/6yo9HNnqNBjqHnjk/Ro5xL9GkSDyoFZEB/Ry427s5v6M4rAXrEaaVaBZLoO0BIMaDxylqA5HmCbje06wngY9j+PBjzJ6CGPcU2t+zo6g9GsTaf9BsMb/zocGlnLxYl8SeJmcYY+styLL4UBIJCKY/coOxpsQnM+9tfQC1sFS88l4VL+la9FKSpaO9UhemxLPHgl4uM5v+SxmSZpAsvcpFPWOWJMJegIyAjsRGI3Mexo2Kht4trjRPTEcZ/YgxwMTtQZXNt34fMLfNO3/jh9LpN5pJuJ5IaW4dt2dtpiPzCchNTf6VJjpmWyJt4zu91pSDGZIDfpnC3N5VdjSqdYn90wCLpPyTuLTcCAMGJVsz1jlsb5+2etJ1D1f4Yb/TrFsJk5LJ7s1zgAimOVScDdOUHUc+ssnA3TOFuIEHGJw5ASYntETLgozE/huweV1IA1i2DxgnE8Mx3T4rCAmCbUYDrE6tQHkTs3yF66aoxXrvagEsjnMn1LRiycDdMsx9Azfkok+sCieTk704Ijt6GWqu2NaPAmhue7MTt9Hb/TFyfWY75ylNB2oEIs3ticX5WRlFcWP0yOEBzmtYkbL2xCN21HRcb0/NGzZ0dSbN780RkmGMNDzlKk8UTnw7Oaqbid3E9qlk2nQVqkPrjG2bDE8wCokADt1s3MYK2zdVFN7N94n6lkNuF3Gg/3AU9pfbiqPUMmSIBJGCftjAAB5m7cc7tFQVa0R0xVGKPY5tEmU+JyTZALWrvENlTaHTt1n95WYAuG3kE3oCGIRDwpchN58RI5A1TgLS4xT5xS/YwlP2YNR2kgYwq5tdPRSegM9BFkj9kFzI/gaXyRIUBqnPmeQSnhZ5hKfOZHyfAsmMZ7Z3D/7IgwCIp8f91x47ROcq7MU5Di/7bACOtCBVPmIHdFy1XtqwxNe34sCoxlsADmtkoAea2nDHfztee28fQ4gHtnvjCshVKYBZTtAAVlOrDGs8VTmxlwma4GlPRMt6XGWElK2nEYwSGJW2GU6EDdXt4ZICPx3k4uU5tcUUCrp4YCW+Ke7NoEp5z0ISnbGPfABb3t2psi28syHFE3mCSU9SuQWeDHorAEfDupU5AZjmxzKnVB5RQB2U6Mp1PEkynTlPzKfI3bcp1PE8Eh+fqoKcfE8sNr+XbcrJnquyezU2As852vCn0WExA3NU4Qp4Clt3yBKOQUtuJbG+qSjo+LX92QSfuxdhS5E9qH7+8Chsf9/yTDN/FufVNylwYTywDFJ+PzHubHbBfy4Ek+irQxN+UnFa3RWD4AHNkPA+k0ocJPe60I1UmBEaaDUnBqPjEsvJb9/X6XKxLvkHDSfGBVlSyaTtLG1SBcSQtklVwBo9x571yhbJvIOuIAGKTjtMrz3XmvYreRO5+gZzOstA9ynm62K/IzeQgbnAy++lOGKdtUdYEynR6r7KdhU8cp9BxFTTywlvns37d4J2Ad+/bv2G2GNNmayR8gqmhA84gIBhGUCm20Ad7FoThjyad8TzmdPtdgfLq22/9v0bHvXWPl5yCcMAIGA+nb6SFDTi2ow31m8cek+4GUR9vbHpgFaichXYdu1NdlYnu1xL9a57OsW3gtgzHJABSyfzk+7fGPrIIc7cgnZkcaeC9UWRWTHknjqbvWtTYY8dCPab/g2RidZvg7J6Qal3rMGrAr3csWbJ1SAVsnLtj9TZr+ucFGuAC/r2/3Kyewk440xjKXpHDRBmkA5E9HJ8uT8G4HGnXmu4oB1+ymJw4ntESlaf88NLJ+u2htHj8rUJtGQfTwUnGzUIScaatFVzRGpvX9w7bCz2rDvgfL4kFwK/4tGHavseePB8R23t9R92MOndu7bfKbsEjhO1FdOzwexfYt5jct0Yn6zXvVuizbOR4eoK3K8E3mJtITc1EKhNn9qSZ3mRDsXdCgJxdvJjex7eLslhcuHmF04S76QBPqBdTT/RdZZ8O8mJTlqnSXYYvGOAe8nxHhg7va3fZ8l3do+o51lDiATvnmgDZZtMnI46wukZKGM3ALO57U7m3T0cUHZNOSF0n270V2YuW+/lK5eVymeRuBP18dYTdNW4Pm4M5d9OwulG+O4MrF0yrl4LrmUABisy6aF08KFc8jAGeNODVXQFpPBzdZnfrRgnZGtY5dpvHzl3oTtUndNO4bd827Q1w2ps23eI+/4Nnh76iAV7tqJIEe42NoR7QtGDPYqXZ4s3CEUlbMyReHuEM+vGcQz+xs3B2dHUNbwAZ6MWGNHt9PQGc+3aN8dela8kQFTcHI7tNUu02mmCwf+PMCgoLdyUnw96+nr9aCCcsM6Im2wznodIDO5WlgM+dXBAzg9p0DOy57EWbgZ1Q902ni02LjJ53esR2gTk7jzDOFGeftKUZ49I+nlZwq5GfMoAPaX/I5eOKK4/hWF1P4Z7Azxk1VBOE9sHTdMWxfjsbjrA65bu60VJW5QQPRn9AORqZ3/fZx5sJ4Z65N32qA7EESpgUjoM7+2OHxOnI/Fm9jACFm1m4EJs907iAH3Tr7d4ibNAD6gC7Vv5uBxI8WhJWDcICqIF50oMGP+A6idSJrggMnD9XRPqR9QD7bkgc6agIRDQLh0lxAOeP/Z62+dN1pnMX1ygCTANUztqbWgFAv17ejHVZkZh/Npc41wBdM6itba0XcnKEbM5xbOuLAN7oD17GPHHztfycLKx0ak17wu2jIudKYAU0tj8yL1r3qyuU7cSw1Apmnbs3qaoD3gGbp/N+iatWABj6clM4AJzDTljtVTA3i1ondDrRczj3gi6Okydo4rOLaZdwRbDzPGvKjGCTJwmW8p+8Jazy4WKp+TlUVmLy7XFSVsfM6eZ5J4l/JMIBTLuAs9JNfW6p8tqdNRDags4fS58ztaw3zP4q0750wKC99sFnXzOIWeYlLeZ/4N7FnqLOIWfluD9UxXbfFni02PmfeWEWa+Sz6G7yLOHw3//Z7I/dxPvx3moHEdoM9pZwj58FnRqjHzyW0EOMO067Rn7LOPeBUs8VaxkQH/7BLPkWecs8xPBbIxt1VtbMWf0A8JZz+gJMn1/5SDYjZqCwuImjngHXWf7VxM8FWzzGpItx5OH87LE7Oe30jkFHmIRqeYEXeVmwhdjxQ8KOqLucADQu8vAdHH5zNbIA4XfhR8bke2n9JWxKMYiiSZ93T6jTfdPWHpkXYkABRdnbaFt7qLvFI5ItaOEYNn9lrN9l/gzvxgeTjYn0WBp9KWcgqKxWKb8Cq/cxMjTQeqku+KkGATU1kZTloh3J48NxsbZvp7fiD08KRZxdoi8Oq31iAtiHvJ2KpGx4D6XvxMp5dqc70GgktlBNJg3FtY7APsj4nV4dOei1FsC5rZiprVnB2ILnjtcTuRzsQfEt9br2uJKMGtNvowX2nkxAgRgMXEXROLFodnU1b7/Lws4xZ8f8HzguIauUI79uGpzVgX4nOLg/GCu4wmp5Clk41FKPwntg0Eh+4pGIa1UJPUS0x3vIK+TJR+LmaqPeAg5qKgWsJCMbfNnIi06Zmhm/BaouuQxWzyuuzaZgCg512bC+ctlC4wE0AD1QCUnU2q+5sX6VPBBsZUVgrNb2a24SDVJwyT2Zs5l832eIWqGLTR0DWAiI25vhSlq/wZUe4szmYp3Dq3U/ZR3OkCnNxqO54s8Hs+a0aT96nO5aHEu1mUEW1o1qhLfDGucOGs4aILXGbtn/K326fxxXwdVCt8FbN/NfG6axq451KtojBPS3OOdgrfaSzfzCqLbE39Zy5CP2u+44QIw3V26zPpqCcZ/gubxgKqQxHt0PdRgIAQPc2biCI2co09bQLfdpwxpnIUbAVjAJkr5mDAMfqOwDu6c9P2/pzwRb0MtcbudNvGZ6Qa6FsAdPP0fLk8BsuHh2oE1TW1aedGKYhJgmygnDFxv8A5QcuJzmqiQ8nvB7idAU9FAo5j0wCjOHwKd8oUT0sidxQnADbd12CLaOZwtYU5n8sQijuTdijJ6StvEo+c9L4HyjChgMEI42de1PSVsE6CCZ+Z2y7uV5Q9qcwjsZO+AGjHFOxko8MWc/RW4sjtfHpgFLVSlc5Ju0hQYZHCyPBNSllpe++UzjItBSh04DWqV9aLK9+4H0L3SVtDAB4NUxzqdnDHPCruhCDLWXiGEKbWqnbRsjc/9s9C9pP+V5nAyhUHlwAKSt0ul0tPtGBqGp1+72zm6lGkYIiR4JzAKVrbZ27xh4ODbF5MsOPldnotwq3VHzo49MYDaziwQCLinufNUcdZ92Dp7nB4wsrvu0aKuxuQKm6ERJyLuirlcVqowcpHCUlCLVOyQiJJvs+WI0AVA1smoUu50PTnog4d4/fRKcW252vjyfH8XP0jtJ/fwJ5/To4t39P9rAETeD5fYz1NrDFh7TOMbe4IGqjl/lEuX6wicbYxCOicGO74a7aefOmcKjVcZKSJhNOl6MNc4zW1PEjaAlVPrQ4mU5ngXHUUfQzkBchHOU7qp44ARvblSagQXrZJ7FbIq9mHRU00lDv467Au8wABtNwMzafz044uyQbNHIK9O/Gff/flNjv23W7VarXqQXlGeK+VYJvb/g2NLtHFLw9fDBvbHOPPH7ulcofpwFy0fL0+OhFt9jeQZ5vEw1GH9PSzsnfia5TZylgwusdLe2OteJ5/4BBxnTMBFOc0lpcZ7yd1AnLC2I618Hq8Z7gzxabaPcjDNSXZnpybs/xnjnRSVto90Eu+HecR8y9PU+e68+DEkYtymE/g2MGdWXctu1UDnBnTDOI23rfIFG2yuE4rFjPryTYDtUZ5b2sPnGjPnGe7PdDrYw9gUH4UhfoB4YmACpkh9zToTEA9WUcBjC83pcWZRePZUMA2Qn1oqBx22d5jCNTPznVLvXju27D4nP3VRTnbZ5dz127dkY6GecAHRHQ31gk1pvOxrvNc8RwJgUTBnotAecOggFsu98Whf+9HLPHRC7vsuz6T6YdzA64+frDu8Z2rzxPnGvPh6fh3gRcdaHPPnol3LrJ68/oB0gz5cdy49ZSRb+ZH3eLT13ni43kruDjckZ0rwCNH/t3M7v4ImwHasKgIwAjPKGfx1JcZ/cdrvnhHTYBdhtukZwgL5l7zKAUBet8+7B47Z+BndzORrUw3dZtWvz0g1gdlEbtSc/BuzJzihnanOFOdt86U55VwWh71FnR3bw8+ruuQG+47SV2QlspXYrRw0kTAo4fPVjBaQDEFz62swtFEQ1rv/zsdCpsj1/bTIPVrvzBpAteaN1TVh13SrIvfYuu2sWiYwVRgIevkpC43dy5BQX2APfFPRM8rR0zdjO7c/z1GXBk+La5/oHQXqxgvruAmbSo9PtkE9UTbe2DGC5YB6DdjtMiN2UIeCLfSu3tzgNAe0dB/Bger0F7P1u7ndVxhVv/c6BYCVd0GI8Xx7UAzEMqu65l6wZtV3T1v1XaiZ7md5GdvIPzBdSM7x5++qgnnijOkFE3Lgb526KJvnvDPXV0kC8EZ5HzwRbfEXLmcPhddhUgOLmF/sKlOKyc5Gu1wLoC+1xhmMN1OmL28VW870+/O5OflWHGuyvzztn4QvdrhAjEhu/QDzJntnO2OfxM44513TxwAKTOUJtaHNE+hESJHnNlnUecW20xu3VxQRbON2AhcjC+Y53SxtjpSq3qDCUTdkR6dQVCb24BDafMiFpuzUe2lgFts3zMjJA/M3mJ43bOdOp5vdCoewL0KoLLIy2iaSRoGb+zHJ1v7v932/s3tc7+59R+ZT7jGCcvlSafawOVmKLXO2q4cBRdHK5P98crgu3v2srM/l23Y264Dvf3Zyuz/Zzc5g9vdr4HWC3OK7dhNXg9m7rXf9OB3wEWAO/0N9CHDHkyHsN4Aoe1ndqh7NJR9gBNDa92z+TwsSpN4wTIL8OVWhefB3cHfORrV7HrqgHqIVMyFS71hMIShqIHJN5NA4mOhRQCIbqZxhZ5Fqu0HgHO6lrQEG0zm9w8oatJines/wKN5S8AdSOhw4ClTGBKuqvcUCHDeg1afV6Zw5AMdV15GItta7dFvMDRzpnYR2YWddl27VcaLnSinMbPmuleCHE6qLxtVwzOrE24wA7AFKW8UXNulfRcyyURGy7YKUt62klyDzgBWa8oADngYV5F1LZ13jjVJF2r1a9aXg3joKVWwat5GI3nW8oBt6Z1gPVNBEC9jZvlsdnG1kogU1+LSyBVKdtE9WgnXrLiA0VQ0WR/U7Up7uZDbhJvUoH6XrFKnJs28hj9dlim3qiyHm525F/Kt4moKeUWQ24amh8SEpqPRluSUATsvWLxngZVO5ZQdi/BIbw/IbhyvHzQRDi/S1jdgDWr88kRxfZcGsOHMYQLJEXgcLIIvbDR4/dxF5oT4i0eu1exgIqtlwCJaOkcTCC58yzAj3cXu7sYycgTd7fNQzs7DbjXCjs1058NKvqatjhdOqq044VLa6vqdV79kHZmckdfmZy0po17RZXCdumvYhywYxiPHw2PjGOj/Z/OxApv879r27qO07abK+Mp7+7l7WSaulIDeo3lhj6jKUGvqNvIc2A1jgDEXdwHicsD/dJy34xgFDkD3vzvrdvH+7Lt3EXIu3PjU1QfwlwibLEXAu2TlNUS+6w3iL5KLOD3UotJbHzja7IQv1i4Pm5MUyfJY/q68dOy8npO1JtQP573J1UT9fTffUS+tNdcOLKizFrq+bCyS76qZqIW11E8mSvL1HvpgXtzgGAkMHgXtQ4fEl3KefmTo+hp5No4eRjbSYcij+kvoeEdyYrXRredeTzAu2hfQ8LJU7cWviXh8mYZAnlsRE1bJs+T1snAQCHlthtfmJfDawAkjstoENhgAFLmjitHgl1EVuV4QCFLvQRHaYApeEMN6WlFLmQIG4wQpdNeM0zVM4RdrvWkFmf47aAl8szhB7b52LXuJY8glyiLxB7AymYJdI5b2ZwBdqw9o8B840hOp8p+2AfT2pEaLK2zNl+zTvFJo0NHQTrgyMHXy5HrICr2IVVAL4CF9swq5QM9Hr7oQNrzseA39FHeVPQpZJHh7ZOE6jFDqMS5nppfMIt5mfialrKA0uol1dsTi6PrJMZqK0vAV1rS8g0lcVvRSFb7z1Ck8mGO1mIVNgY6rXusR3YX7UmtNw073QLiw+Y7bIG7lx/tvwuL2v/C4cY0qAlBTfmb3Its7bSg2lL0B7DUHwHtwi79fQiLyiXjWHTwE/S9Qezq+7EXLEvoaMQdcLc4SL95gEd3FyDnGrrmOop7WAHL1XCi/ZvalwDd1KqRdwHZ06MVFqy4OIanOjrfHuXRftizG1UHtvj3JqeHVump89F2anp7OcABUOhzizYGp/OyYEtRGBY4lAtUZcCXruXGecL9t77Ty1+zDSaWCMOPgc9+4tjF+VpEmeAA5qoMkQRh2lO/Jm4fLV6rR6zVOUZwA6BYt1PY5jruMYcOLizbUDBwAKeIu4pBWXfUvXsdPY6FvloiIHHuCk68DzAgJzuAlpf1ndPzL5oy9xl2ji++YNRkFpBXDwWLhbLugI2lb2K09PZ763qTl6nWOaZUs6/b+S2ljcLsv2bPCuDnjOLe1L+yqEWJuJpbS8as12xMySWeAApeueuK9SFL2SL5QwQpeIGMHgPDxmcX98O3GeMDq1G4Wa+0GTUAlzEyoD7LqLgR7R4BoXefni9k+1FN9iQnvAC5de7gisjGQYLF2BDxpu6/lVYQAAArC+9lt0MnH82DJHFINykVr6ikXVurIJBKPt4GDPzcyADcvSNvjTcamdftDPAvWN96qogC6sEOXXLze1qO5ccI+rl8H0meXRcvx5fyeUgkD/oIUC2BC6zMKxsrUs8L7Y7yCP/4AZKCM1WgjteXtcvR5fFy8blzvL8hgbBaV5c1ta7l4ENsY8G+sgRFL88vl6KwYeXG8v65eUADvl+NN0jbKEaoMypPlnW0PLmuXI8vN5f/y4nl5dNxzKaQhuyr7cXcoI/nZJA5oOG43zTcrl1aa8BX68u65djy+gV9vL5uXLUwb2BR7h2q+pQJX8qrCn5cijqS+8tucPTDdh5xBIY7cxZFpuhXVn24fGzGdTMQZTAgAyaAoJBWoAN6m4AMXA0OQAsgO4o4SECuQcuT8AhQJHNOwV7pUzyzPn2wst+I6vl5Arv+XxxT8FeXTaijg3nFTeoCvZFffy4gV7/L3BXiiuwPI7y+s3IfLtsHXJ30Fdtfarl5or7BXN8ut5d6K/GmwUA7NyQoFH5c9faoVyZ9pwzkcAuvs5fZYVywr0IA5aAfAA8X1Xm/ETzBXcivtFe3y5gV71HLxXk+gQFcyK9Xl+Yr6+XUCvdFezBR3lzpZZeXjiuMlDUK4IM8qoSCrs+gPbBN7BeAMF9ggAcan/FeDy8CVzgr4JXSiveo7pK+7qOMOlBXfnbfvuXQkuVUPp8EAMzmr3vdhwDe3/h9DrIb2gCPIfpAI+G93DruH7keJ/0Nm+MQ1WpXLVXE3vHOYo6+gBs5z1HXf7IYEeze07wa5ztH67nPuIAec4eHDjrlAG2P1kEcZ4xW91Nrnzm2ePMAaE6/QRjgDDb3uANAueagCC5wXjRAghledvchc//IcXjqpgVOut6rU6wi5m8Lw72tOs/tR068Z+jFz0pkLP1Gdbp4HO9tLrgBdCXPpAcN4+DXazrGYc3P32dYt49YB5zrNvG6XNudacA4e92wDPnW7COu8f865y5z3jPLnSI43veYAHe9hwAkXXH3vRdZD4/4RsVzUQGDP3Yo8S6/EB797SQH4+OpAYA+x2weSOqrmNEB5dYz42B9rPjqThIPuv9iGV6cavVz2RGDXO5EZq6/kRpD7ZrnGuuV8dQjmh9mvjJ/hTR52pTlzmlHYpQyrkgwCRyF6UBm97cOwkb3QAKq6+dlA8CtDYkaRJxcfD2gJ97TKoKRYFi6mUTQcv5IVVXhAHlBALFxKbeH9m8AvxkW44dpe6E/mEJLrV+A30YUqYP9UjLuqunKHc+GAVdCAPPGrAj9TwTVeMdYHMsEHa5SQHDToA/Jb9l0wG+UNczpPVeKX008P/AdKXgOWV2u5S/Xax0pzdrByH/cc7tcKl1g96CXb0mj2vlS4de712sbYpo8JlMoS7b+29L1yLwIusJegi82A7Gr36XR3b/pdxuYpy+RL3OTwMve6NfGurV+DLj19kMuq5McS95y5bACqt455pADZECEDW/2lHnHZnv9vdmZvgdFkNYX7sdaqe5rYl573ZkogLwBD/salxYMhybaQAvkBF1cXRiAK1FTzbQOuB2mBYISO1RybNNR+CJhriymaTPJfdPJnfk0mWeEOME4jur1ODS6uD1dum0mBO0Ac9XduhuEBXq/24mOq29XylZ71ebardNqhAIcQrok8IBfXffNQlyEN1Ifipwv5Oqxa5Br/FrKMSF6wNQE3V/kz4qyxtjASt48Al3DrgEFA+6vf1drp1apzsVnKcDpOUvAvw+NsX1YFDXillSuIraF9/QvWEFACGvL1dOhOI11s6r9XDNcf1crq7dNsUkHUQ1GuDwLvq6y4oua9jnDGuxAAZy4GVdHN6ybG5lF1cKp3412H3VSnrBl2mCIEDqyxaImdd7xONzLPq8QIOVl2TXEmuNzINQEQIE1llTXtmPWDIgoDMUmJr1XD8mu2tgBha/jXkAcn7yMItfIcoin+lr5VoAZmv9ZbjniZYO5+dXg9q6nuM8aaIgGxuhi4cEAtfIOHnHPEmAUlLMd2zNeh0dMwOxj8c8paBqSgvezLgj9kPok3oHDYNo5D8JMx7FHCxHQ4tfJeysLQxcS8AYmuUICzRpi1bJNOOkbTtYVD0QESjEU7W2qnUuIQ25dWfQYEZbqXr54iVc9sY3y7xwyaTTQI6J3vLeNsSHwFC7Fkvz202knH/anlSQXGjwfizcgEyytrJ2jY6AvFppfvDUWFhAfLE/5qSICcKDweD8bC9dB8wZbi30WuGExhwF4SvBjhzPjT1kGl4O9hZXx/1fVQAA1y3eI0YrvmL10IwFzJ8046mDSucK7YqtD60nu6iyXk+tJBeb61LM43ccKQnaIdRhK8E2GAaY0qccri5maf6ze1+vrTvOTFnU5UsOY7Mw5T5szGqF9FhXcjCJuTJRrGEBbJq50TvYaBv0oD4zgoUsvVa9ndR2mHWDmQN502gZdtktvqyeadnbMeudggJkhmQV6CY9FjDanuCILTkfeVL6iA6+C49xk840YDhSqfBHaDqkFtU8kIenXzUu2sjG05h13wTlnXymOuJApwsWJlzr/VnIciGddA09eZ1eemjo3xWoCu/FY0jX85NeDIuu5Cti69upjgVkqtAprm41V1AC0iHIvANtBhmjS0i5rIAdnDZoeyDntS2uhBdZiaLvgwj3TTOG64rkoJkIseQqnts7m69c2zZt2bhkJBfs0Wape0mcW7THsxWCUK7Hr/SKSweWA3Ovqq14Vpw7T5JeDAKuuUQD6MSX/ruL7bOmtlcg106/1IIJxHC1kVpo9fhNUwTZpBpf+My7F9yw0p10snruZdOLRHddgNG0x2Y+3W0sfAw9fUDdj4G+p+B9rA2AtIsDZaJ2UqMgbutoC9fmPpruCNDxgba2d69frPuSLvchOO22wgl/7f7c1EFrRavQfcCf9Cd698Eupaz64QI6SbO2YOuGxCQIiCNqiddIT64yIGY5gUFcdtT6sTYFWaI26pbDSq1l9dy0ZJ+MqSPOAVPbjRAesE98JiF/I2NJtnbrLmzwcYJxbgQR6vyEiwWp+i7UCEPg+XwE9drqrykkHLn6gVdgACdwaV24EB8MHI2Blhi0HZ22La1LtEA7UuTs7oy7al+qQDBtcrk4Ks/UHEtW3TmYXQHx04DFRjWEIua9raO0BLVeDNoxIPKbSk9x0vSuFus924IyV8XXzJWVR16ZaR1/R6yC7MwveIAZFYggFrRFJeRsbCDePAHY5yQbwIowRXTqCDZX4JxeqhawiqrvxuCS73XkuAZQ15NG/jOAialJPYu6VTb2cwRBD1ccspIus2T4XnjAdZKcvLVK28Ztm0lvJeIerggIveph9nSq/8tq0ZAuykWmzS6sCc8emASLO+dhvbj2TXLOQK87pm7qDpB1342OyOV3ArklMhxSOvaHZkMLwHmQznagkDe5t+dh0yVaRxqQQIrZBvl9yk+cVVazD9g3oxsL1XcG6TbQaTvg3pB7NhP2/CEN7eQEQ3sSmnn3iG5VrZIbnjjShuX30yG6w7CrWuCAMUPf9irhxVfIob9MjB5bEPXpboxEwWRk57UnGNDfvscWmzobnxHbjXccCM4enOyEjgpd1oOdgK7LYztRYb3Y8mCgI4u4KXN/bDx+bbvc6Ck0OG6NNvzsSC+TBvlDU9roMq5JlmnVsRWrhcy4ZHq9ij6qcyN2bMwRG1ZYEyABerW4BbvgQqQJ5tt9Zkus5wdMZbqWPflZ5+t9Fkvm2cxztGZzAjvjHsSdRzUT8/5UW4wLS5Vpm8ZHhSEQqOp6ietbaqINcjUYOexhDCGCpBtmteGZf/ACvr543lghSDZiPgIMPg6jWD4/5u555FbUstabAE3U7h/jc/ZDIfE8TF43FdsNYN1EAhN6DEPYrOzA4vJ8SZ+yGjj4HogJvoTeWCAPp/IAcf8CJu93C/xqxNz+eUE3ydmouAFK9unYgroeiAEO09TZbYON1feo43ozOkptVjog1+3we43HaqW21Em5BN8gbN43Isxg2sEGCBN4cWH43zLX8TcQQEJN18b4k3yBsDRvWQExx1afV6gloHOTdVXdlN1CjiICoMRMTfim65N+ZAME3GeARTfS+mRnuqb0g2cJveye7mcRN/ZllE3U7gNYPom+iyGqb0N2izEMTfgm6Ex/SJrLiDA5To4VFv7q8XViIkwDXfKdJbAWNxvW62nDqrA5c0dDiKMFV281Z0vsQo11RnEuYOf5kGmc/WekkxB5zttFLh4PPUzv4PO6JwYziNH6PihYmF/eZQGCKycp+Sbu5495Va1yYZ4BxkjTcHLmpx7y90LnoA7jhx6t2S8ds5Ogv9IaAu1OetvpgqypzyoXHJuPJpX688nDyb7tOazROTdh/JZiF2bx0KzJALGCbCS6bbJAMU32XY74TAm9FKKf6geD8vBZ2BUdsHPAUVxmbmJ21KMbiEFF0XWts3qZjT9demgQZ7QmjdXa5uFjAtdhYuxALqjX+5vJkJl9ym58VgHc3Sg34Nenm/JQjBVhPnxbXn1cubMF3O7Kdc3ixvfs1Bm+g4jgV0M3PIuuO1sa9vN3TwLmQR3PD1DCC8XIGgOvaOfA5LhsnPvvN7QlrzB9QRJ2doGXPNyRr6YXgq3u54uG4JeJ4OnWQH5u1mDBm+/NzZqkSoFrOAlC/Ye7nsppzx42F2vufEW81kL9hly1sgvbWcV50ot4OeOi39rPXWcWaupQ6j0GzVv3JpgIcojFJ5P2igKY3GIuO0JcU4pncP9sv1QLWsU7oWkIvdGM3AbPoTKJm9ou7NcEajVwuQ2e92ZWqsUqBi7Vhj2Ac2Uy9Z92DtJnnCht9VeayXhAf2kkAElbJBeNm8WN6BYLrXI5PnOfIm8jN8UqSy3VmPNiepc+7nifli7BmbBU2fuc8a7G5zv0VUvTu57bE4T1/fkRVbUQuaYJoeUCtx/dFYXxbOR1dVm6O126aKs3llnwrec6ENqx0G1WATZug+sNuwMW4Gb5grWBufity65WK8eR7zKCEoVLe7igzFPozz+HZqqFcn/gCFU5at4q3sR2MzfMtcqt13lL5TGhs1Jd1m89a5rdsT2DDVqLCQ/KYc9TKgEd43P0XgpHe9dA1IWhestPsH1IW+5jdKyk9oVx5ZhQFW5pdvpPDiz/hBkA2QRpkBBTCJs3bQbSVvZ1wWsBGWqs3cZbExeLc7QNyxQXINj97sxdAsC2tz0Go63v2IJNRgGBOt4WWi63kwGZqqgWBat56AUlbn8gWcdtk6bNw9b5mnuzX81FVm/et5NIKx40cjvrfMtfPEE80YC3pc8GisCrYOxMgjowzKx2ox5KoGZNloz5eXGQv0R1LVZpDRnSbFMoT4FjCACW+JyNTvx79sWMIpRf2oFltV6BEwT3gSfQpZmp2CTuanikZOSBNaXyIHctRQca0XagRnOiDjFYOOHxgnEb9dEljXCwho5kAXEBwpAkNHi9nilc+SjAB1wtcFH+ADzbiMLruqdwsxheoXZxw883exgl8SwGCXKwm+qoypU4EYBMk9WHfPE2wyITW7ddaqY914Z6zOkkxBKLgsSU1txMbkE961O9bedTqo8AVgf2XQNbnd6G25OdokV5AoCuuNbUG27kAMc7JwyB5v/fIdWp3VQGbrMQXEgbJtoeVDl8Ab7EKKZ5gacAjEWNhub4+xrNuUQDydo8t25bzycYdu6bftm6mKWzb3pUbVv9fj6MSip2j8Ewcidv8ETJ29HF07AYQuEKAebPDRdUyI5ppeBLNvr9dsmWCvfeF9mgm9WEKusrkLt+FZoD4BduqdbhWY24b5r8c8lC3/ddM02Ru2j8A7T2dvyEi52+y4DuMJU1cKVJPhipEgowR2xnBe+X67ct25cs+rLlSORenfLPMuXLtx2bqO3kppaQAUx2q0I9QTSg4LhN7dM0G3t52mE6bY2K5ecOIChgorzyXRqCLzVnarxOE+FIS8A/0Jz7dSguPtzfb4HAHmxz7dTsLygHvb+aAB9vK4CX2+zKSfbxlgC/P8kdbqU/t7iblPJHxsmykZ5Nt24XAaa3CbPiTVU05K8E4Yyum7GBYYhkJ2HAOUVuB3wyRN9lIO8AQLDEY00wOB4ljZ5KnYbQPBJHJ+uK7fRlnQEGswDwiNdImby6UmUEBuMbvLJQAxZeoQHD/ZQQQNbE1Wh1drC64AJEVLmbiN3AhMG1QihOI5/vXxIIZ1eWU7nV1YYwmS3Dv/rgumVaaGmeeiA1JkWuzIVEIkp3r5NAJDFZNcAYBhWLI7u2uvb4t1HeWFMnU8wZlgnKBAMfUQLawaZOl1u01g4ug2RyBqEbcR3YfCQjowZeW2ECnCiDk9I37nB5ay3ACPbvIAY9vmXKRSWK8GcWqTD/AAmnV9cDP6xDgPXDLMcISBo/Cg5xMAdANgi3khGAE7riwRzhctmmAuYuwGBBDR7OmWtYauTSeIEGTq75Gam3npvgiPGmTgt2rJSDWjhRVDzVVdhq3TCPqSkJNqOYN27nt4Zbx+K5SuBrB0O7eJtTbn0uuoUpKdJU8LPEPpb23jetotYD3gjAgnZTzXQoD5eKv1YUIO3IPKn5PQUlzG27jPBBgMgBSjx1GFtO9TPMlTwqn22g4FZIGSZba071K5GsGguAf7nmdyHbmSnKVOE2C+6uczmh5JEQWs0cqejO+kp/lT/Z3fSUvApFTRVkNMBaX1fUWtndzO9ypxc78noBVP7wA+upqIL6uwc8NNBF1KP6v0tyvbpO3a9uflS1O4rtTs7zR3+zu1wB1ubdtYOeaCH5Tv3QrkFCrqJFIZR8Yk0H6C1AnX26Ll8F3izuPnePnlw4NExGF3tIUUXdPO5yMMhwsZ33PR9ndpU5KpxrVEc3i+gyTfHqDOd1O4Ml3jQh9nfOKy+Ys4rV3VbxN1SD44TCgNPrnwcd276XfbO5ed+07y53Szu0qc1EF3XWh5UUoKOqEfIe1FJd6878l3SzvEUpmAC4ddS74QuNMG8zxCu4Wd3s7pZ3Snw4mKyU2pdzhsArQ6rvZXdYu+1dzi7tZK74hqXfnxsUqsHF8O316uyHfY656eIyr853wru3nf7O72M9npiyA12ndQoFAIMSDa7mVHzNv6ber2/Id9lwVVHTPtTXciu5xd/Wq33VPruXE5+u4Fd887l13WrvI3e+AFOVmd7PDgxyV+krfO9pCniUc4AMZBKWgJu5JdxG7t13Szu03cgWwzd+7TLlKpytqXe5u7UkA9twt33BA5Xeuu4Vdzi7st374gBOAghRrd5FIGMg9LR/Xf1oZYnhX/RR34N2BpYkMQL80ue44mXqvhnfB29kdxM7okrUzvcNYxAKYHKbITV3uzuMehD6X4p0y6eV3zLulne2iReYiRwNZ3ZpvpPg/ZGJd4276d32LufXWHO+pdyc7+F3ALug3dAu5DdwnUUF3idVN3fNu+3dzi7qF36gUCXczW+gh6Fdo5wmR5z8DYhXrhJObs2Jr94ZzcH4G5AAlTl93ybuS3c4u8pdxlT6l3i5vFKobu6Zd/RACl3IDNxXcIe9kgPCb5nof7u/s3YQEg9yh7953vgBWXeMcHZd7c7gwrUeuorMpBLiPLQ0T54c+2P9yKy4xdwkR//iEGlEqfQe7FgPPbqrXfCaCtDuUC6Q5ar+pHozh1nBCWCoILCxXqXu3A7ZfF32l/QR7rd3qHvS3d4pXbd5m7gZKXbu83duKFfqA274IQZ7uzXepu/k9xW7n/AVbvyPc5u+7d5QAet3pl7pPevu9k9627nT3Hbv/ArKe7UkL27oQoTZuLJcYtDM9+x7t93vgBrnfEcBqqvc7wqKjzv8Pd0wbY96u7mD3nzvs3czW9+d4B7u+EIWogwAou/Aa86cGFA5wAUXcR0GM4r4xswAjIWs7ebm4dd5KaXUKjNzkXfNGkS9/cCzT3KbvcXd2BR44NS7ol3r6pI0wFe6C9zqAXZKyruDPczW7Vd6NBCr3AXuIXc6u95StZLdYTaHlDXePPEa97K7yr3LbvfAAWu8r0mh5a13P7CA3dpe4jtxl7kF3mPWjVKtNEI9+67uVKnrvvXc4rVwm/G76zt/bvA3f927FgIPbx93mPXx3d9e7c94OqmN3y3vqGw0xGbDMM7kRM6pBcndkoZvYbo5NfLMVvUTNxW/myLWb2aDGBvRddYFZwN/kQBaQ64Ga+5m2+wMg979EzI6u0bzje/td8G7+TtW3xE2f9uXgd4UUqwx2DvDACwxHi1mg74pUqXOhecIO5h911gWGILMcVwDp257t4KQYH3+3FI7cPu80SA/r8HIx4AEfd1m+/M6Ll38zZPuwxrNGnTvFu2dxS01v9ZfMe9MeOQ2FF31/4x3c06QmUDHV8n3+9m7rcdW9p966oENiMVu0xu5W5KQKtmotbfi6YKumW/tNOKQYeQCY3Z+vrMYXdV1Lsy3kFB/TMYIZAV3kDvMEyVuV1tNNjCidT70CwOZjAxcWQE2DPl5MlnW1uwonZ6ho28ut8XrysHuLX6++osClb1O3YY1ftcsWZ6t0772X3UqHOrd/a7Ys7sw6/GQ9FpMy0eXHN7ZbzqwOeQWY4s686sNby0/OFkuyff1wgsl6E7j336Vr+he8Waat7H7pP3EfPXxLR+8D9+1bzWwcfvtdJAa2a96Hbz6qnphSlChm4elJILmP3d8JJBfx+9+9+0nNgXcIQStQwO8kF5PFsMxFfvilSG+9Tt/XCdv3P3vwncFE5gd9pRh6UpMnBtet++MBIP7tTn1fvwnelmZgd6P7+yXgs3HtcnYhqqnfCNzQeVdQoDD++jLSyGbv3gpA71UwO/TLfC7qe3pDvQfeSmm2/V2NK212+3O3Wl1BbBRnuUnTWuhc4ArW4t93z7zWwGm2uNvC+/Xuw+Z5erKvuH/cEqdvKy80GiNDPEmxfFGzrN4/7+nnGf70LcnC+8ABTdugAo1gIb1Nm8cc6ZZ1K35Pu0xtv++z98eV+xDplmtasM8Q395kUBCjxiHTLNgYf94fjFYXLKa2yENvuvt95rYAGNO5gTerRMDhtSmq8er4Bqoo23QdJF+uoVbN/voh1Xjk/f95BDdA3UwPuVHfobkEVFGnuDo8Q+4NOMDA9zIy3arZrBYo3rSmxCnpxAc9HNVw6s7VecIGZ5SCgXTv+I0y6/e99lb3A3YZuj1RRk9PcJLV6cIFsIbLfokj0O744AvzTKNufu6QGJclhb9K3CxWGStZW8UK+PV3UKX5r3OZ8b3no6sDyb40wErvfq/bQNkgp0krXA3ySuosVbNveIIcNzC8xZdMunGYmxkem8DyEPxeWg2IADTeSumRTukA+eoYPEyNIkGATgntGCP6z51Q/NvGR31v5TPn9sUcTX5zIP1w7gh3s6qkiXkHzkzFVm0g8r62KD5qZhCdKurogsVB/1M9dZ2e4HUZ30OqWfF1Sr/WoPJpnlrNPUASC3bQNoP6qqRTNbTs78wr5mXzi/mcLVvW86s0v5xfzUsueg8KJBP6yb5qxJUweCCDfWd3oquJ9jdjWTuug3QCJ84nZs+urVoVEYNhgYwG79/8LAKhJSzAxaidWDQGbBMXBaf2TZwju+f5gutO2v3mDUmQf8ykHlcnyNx5fOK+fDTvyfPM9vBBMtp7lxY7ljaHBg+3gViSitcTJJuhjy90cCNoQyRqCd5nQINVuMBs1XjMRfnc6W/kzEwfol3wh8as7JIhescLkkurROcj7SU2jcojVRo5iKB4D+x3IOMAZ0vwCeRZuV92lbrMQGVunADYG9UD5976KTxf2D2wt9xr9+1T+WI5RlyRiVGXULuPiF3LKE6a8ET4GpvlBmIWEs6QtisAFCXROApJq3ga3yzdxODz94sb8PXLJR+Tyyk6EB4WW6SHoVP0Qi21C1NfW2xX3LkOB2McieR/qAYDcgBYuClDBa+5YtH5GQP79XMYKQVcKMg4H3IrhxZ1PxrgCVFRG4NwPIUNpmADapWxFkxoUCqoxcxfd4XmqEiZ/mLBg0NCaGRg/NwSHrWiZ0vAsf+h4sD5gbqkP1ge/iuVefIp7wIWbVuZU+KsXS5h1b+tu3B3KVeUf/QTwsiJepaN0Jke1U6QEV8306bALKY2sQAGeSoSMHTgzc07P5TKdiH3gGsZGB32gEVvjqfnSNKnbKwcsku5vT1h+4kB7EEt4+IehntoACDD/hbwLHigfKQ+MRtl1xwVl6rnGsitXPjTUuxsQfDbHCAcUMph9lIxbxf6CdAvbzUWERzDxXnei4UjupTJ1zHTzXbg9c24zFJqtr4Kyu5BbiaDlBgOaP8JG7qC+9rlhYJGiC3FaBZozR0Cm8LNlfs37Z2H7eGbjTO/0IUuEIkjyJCRIJca1Fg8rU+dIQSl+HzWwldmicrTsH/nb4xqPMtUuGoOJI9b7S+SCO7yaBjb1MB67/g+QEFO+Dr9OKumEV92BH0aXutQ9V7M3H8nvoQeeWIHu/oulMJXDxmq4jwXRZZFCnYgBzvbZYtyzYe6w/9HA//HDq5TS1EeusjqfhQjy8oInSpLNX3jGNoPGD2lFzHfKEwVDP9zpZHg8UWgr1Ir0TNDEn1kk5iM2YG2nwAWd1VZtwcXKQJ/nfkAd/sFAIpH3nHoRgq0uCkB71VgH0qyA0a5+C3B4WEsyHq/V4D2hjBxnuEXnthd7VvuXLo2hh4pD/LAXC3GkafzfGexWCtwNrsanBvV6uToA/q+aHluAyiCE/c7KHJ53whnbryFn4x095WkQ9WYTMbj2A0Dpks//DwBpQ5ognERDehkdXmIC749XePusuIE+/y+KWwEL2XHsK/6Z6/wtxuMM90tlxeRiWrl7VbZcLOibpv2aeFZH6Z9/V4sSGAe5ffMh7CJp1TgMjgEa0bMvlcU4sjb3dBmtlLCC21E7kDR7i78kzvTFXrxzpQeGHjqP4QTaJJbRY8IvWHmZoVIGGHI63fDXUkpVkRHuXBQB1ocNeMVHlqP/UfdoDhBIdD7CjcrOfUex1UDR5NSORJKw3HRlho84oFGj3FfPaP/lWtouqPgMQzuWnsTdQ0z8TROE/C4aILu8ybWolIRY60zuTVrnAxKgsM5hjQQD5d1TaL5gcx2Bwr0q1cxepq98oa7cFC+Qto/f7+EiW4k55DJonigAHIUVBCzVZMA7/tvgsfVoteA4fto9XCDWj+/JpgcOVxPA+HIxUda92ocNnZt/A9qOu32OWr16XhyMXu2eh7e7amAD7tkQdHbL9h+sj1+b2yPWUe8zfYW4Zj7GZpmPDkRHZc+Qcjx08AcYEFSnhkgUavccImHpiTvf7YtbyhoG66IAWNV2SE8K5e/cnDx2AdAMT4AIo9Ply+q4tH4E3ZT5bhDJtaccxjHh5jpBQeA9KB+/3LZV8GIyQncgBxrsn6C6AD6PoFgYA+8bYltjajTeAxKqNxBVXFM1bYHjdeU2El3R6x74Dy8wUHAOGxYbcpBKfAFWblsbdwsB+Dux/GIAlIbggIEgmACwxHAjKeHxfJLUmQyAUl1iD37VSTs9Yi8GrjMZ8O5CRkBBE0HrjcG4ZWdweec91uMBFPVkh8NF1nH1M5Xrv9IMViFrVRy9M61g7QaA+TR9Bj37H+83Pok65C1x4Vj+hDNgPhVlwDX5x/Tj9yFMlnxceyPfqB46tyZZ3jb801bhBl/lBwLyjcf3m/urY+PlfyMFtrrbXu+X4A86KdMs//q7yxo8faWlLUZEgHrHmFADEb65zfM3kD5rYKePX/vG3fYADtXuHHsv86seDBviADPD2TJZ73XkeD4/4y5rILPHwDX4MfDFNLx73dcfHsOPbEAz4/XRGk2ATrfg1jyO/JhEFoLj6b7y4bxcfKUqRMWAFkWvI8gb2Y5Teh6B3ADfyCCAIEgu7pGKkhN/DB7qPDIdzsCloHhAKWgePSi0e2si1u5jICzEKU3BWw0E/vnxe9tPEO4QImlyE+zxEjAwXF+m8kQnaE/M3gKUDlmMhPNcR7TSE9TITzFrvdw0wxEcAKVb3cEECMhPkUkrC1mhXMtwram6EAie0aehvSlkNeAakjLCfIteoBdQjBAn9tekUkiE/n1fKj1iJnftuMBgg+jiSl902Ng9bhceXvefm/Zj0tGn83NAeLRd24MiO4DgPJjBk2A8atTWMm6G/fGKw8NdO48Nxv0j2qkJNdKBrrVXWtlKG4ZGI3qbHu7WSVHyjxYAE2TivuqpZBqsoAC7Yb8ThQ9XxIgwCrN6rJ7eIuYqotXEi7RgOH+ibcBXwaHeR3irNz+HlZoJ3AaHfJ3gyTzi16FmhsHf4/yxDnj7s6lcPjuvzA9WR9T6EYn/IgoZvjg8XuaeWw1jsHNbOEsGMEG/dLlj+zZhjqjJeGLMUZgB2ZhnOMbBFcDKqLEEy4JzE27T5ipWrcXyj1PoWLXJzqvuKOf3V8+5gNKAw5STHxd8DejTYcOMAUceLNUYQfMgIpj0cYEYOXHQWEULINqkLPDiMPSLPLYijjw34bQCOKB3KAjprZ0Mm18pPjhRMABRx6FAucn9AAVDuooDXJ5cALcn/C3PolByCcEFkmINwQGw1ZAWs5nZ3gMB88XmIM7vwaimaUyPPAxaBmgB6f6I0u7IfNCnxc3YrIXDxjqcl4ZZAAFPu8F2bP6es2aFJ61YdbnDVY+HFixx3vplF3MI3tY/PhdWTv7Vk+72eiPByWQFuELEGfoAXTwqzc704TqL9IBzXWx4GHiXx8XyRyPbJPkQe47wZ1Wjj85e1AgPKeq7xvkaILb9AZPrQKd/5h8JEZg+CAZmDnFWYJoQwS1N2oeDWPuNjB76QUbFl+hHyw2bKex0AhR/u6wRdiKPIkBQtciyjUj5gHx7phCGd/PKIN4GBrBzZ7aSfUk+RB+uw2ZRmV3yodi3f9e+Wd3u7ljgZHv0mClThdTwd73d3qzuMPe+bUn8GK4WcLYaAjU9Op8/vPt7iz37nuc4/7u89T1CiJr3UHvAveup79TweeNZ3ZaHeQZ8bxJ4p8njCNJCeI/slwES4dAHhAP4WtcrKZp4eT57XVdU6lALk9IgCuTy4eG5PGw2yU8vhSkjR8Vj0MtDBrOZNm/Dg+WGN5j5iemnU244i5+vxoybfKEPRg7z2VbiY65Vu5DddwoCLR+ke98QXqtVl03uSABwwFiuOdPCDBjsrDO84AIub37kpJvrIAkMTWj3+V1ZOQ1rcYCap5jD2/DaBPd4FhC5oqU7u/QuYdwnBAsugdgDxKGLAFAAw56kFKWh/bXmunrD3tAAN09xrai4NuntRP7587UqE29I9QenhEKNydEbb2VoxbUylTUBzsolW1wldbqpen09P1HNz0+S5agT1/ALHHN6e70/K0jecAbHp9Piie914qm73cOP+D9PBJuv0+HFg383O7go3/6eLzW4wHFT+BHk/efLWYOErqdlel6WHaIsr0xZchJ7X9Xbg36AF/W/TehgYMTzhbxmPxieso9CuRM8Fp9fKPB4m8o+dbibTpN66inhLtZU+uOH2bbKpYE3Sqfj/wHWFVT+iTYqTLH9fGNaJ/Mqn7VcDDFFAduJ+Lr9qsDzYE3uKfgfX8WTVbXVwQJybIxvxMRCeiE4JnzWwsSf8YpQ7uiwLp5pDg+nmfUMClSYz8mYDFPr1x/QAbnpTqoFHldbXjXV1X+Z5t9ws6TG6ePdLxPIDoPEzZnsTP9G5RM8ziHEz3hWUqA4UgdDRveDRLmGt4SJXpZCk9nh45HhEJ95UnKfBU+D+WiT3kVE9PhxYz0+xFUyqBtry2Pg8fp48J1GWgwAHz/398fcGiWI2QD/kQJxz+8A9Y9nZsUx+HH2GIwF8qs+Lx942525ZrPamePmibx9AKN1n0eIvWeB4/9Z5qz89W2zPnH6MQAx2QBOBCKLygr5qg0/psTWENRnoNEC8fsA+8bYYwUyH6rPh8eH4+6R7mzy/H62Pe7qa4jMPjquD3HTdPrjpIKDrfN020xGya4GUZ7s+lRsez1I7/Da9WeeNszZ/002E7zf3gAeZ4/HZ+az1pt1+P4lWbs9XZ/IT5dnvpHqIHMrf6uSezzpt17PsOf3s+2qQGbBDnqLgexh349hQHGzy8wJY0ZOBUc/WQHRz6HHzHPbEBYYitNAzLnt4TbgeseFM+jxCJT4UZLTPt3xrM9Np349+DxY9PX8Ae1BSi4euFo0vGXTjnO5D5Z7i7nMRxKM3k5dwpZZ65T2DgXLPHKeik9Np0Kz1F9TggPZgvM8tO6Bz/9n/Jtsqke8qK59IEKBkcnne2fwneq56eOYDnz7PQoEnHP/6vVz7Ll9szXuXhEKTZ/3jwdnxrPwl6ac8wJsly79nzAPd8eH3yPx5UQ31nnbP32fDc9oJHJ5y3pi7SIex+CdqWoFLo4AMdVmfW0iuZkGzT7j+CRd6XAFc8NZ/2bYZGAt1Ueevs+HZ9IEDRG2jbAbuR6SOAFera9jz0yf56ijA1YCFLunnwsgZyeu/BVp5qxO8nsPP1bBFGRx5C4z8BfVmPVSeQzcCZ6GzzqUXrznfbKlNDeZs8G94DzP/yeI+DI2gTREwDJNq7ieBQCeJ/5KJuB8LPHYArM/hle3mDLn7V6UWek9UT58RoLK9RnPQOf7M+QU/r9e2dELtFsG+UJWugtgyVlb8C96xOr4u2oEyj2qyke/F9ohMH55Ez3hWOUAauAs4N8oV6klnBkrKX2XeOM6Z7twQwAKUtRQY8prAEBW2rc7xOPLOeeiC1M45zzViXzQ5Bvd9BeFwFY0m1Th54ZhDk8NuGOTyIoNPPQSqIC9kYCgLxVSTlSh4xcKCicFwoN9Wb0D0/1vQOLohgL69W/Wc3+vKk9ve7YKzSH9v+spWq89De7/SAd6xnH+JGblKzfuNKCkvboLVUAPeD3fvHrDbwOsD6xHnMDf4BMESMRgAgiOPZ9XOCnty/wX12SmCgcMQEyVIxMj26926ee8tTbJ9nfMCB5zA7OlGechgfNz/eV3m9xnqDto9UD/PKuZMJPo+fS1WH55mwLPnxpo+rQ4s+H5+yEfoX+fPRWee8r2Z+woFDupLEFdpDIPJoBUSMuQewv9UMoS2m9rGtaDCeIRQfMhKhITLOdfEIgPti5B/5pQZlyEQcMHvmyMJLyjqF6dbK3SQQvnl4y1W8zCCL2K4Hqg9PWLHKHAEgi12B2agHvB4f01QCxwL5jvieSwxQQpBO/Yg3U6fbaiVZM1X++l4g/zgIovdVbjk+z2bmfqnTCyAgE6o6oBh67D4SH6xW+FuCfV1eEwoJbAX6AszZQLAMbdtqPvACj11jpw+sB9f+AL9AWJUjyxIMCjF/zg8dXQfyM2BRi9WX0gwCfn0YvR4n41RIhrZ8qNDTVga9WeShogA1gNv3IEABeET+5HwHAk9MAD6SPeUkhBGOcEsPg1kYvdUDCQD7gAb/DGQYkAkxeS3xLRxwy1qB4v7jxenqDR2ycsiXAKuw3EwieOyoDuL5QAVbsDzXq3yUAF1Mp1W03tv0As3yuhZJD8X9otGX5lccMMYDmC08Xya4E3r9SLKbb+UxR613iHef0U9d58QL+hwSYvRV98IAi2BigHMX6YwlQ0li86Z8PLYjMb/qGvsqnZC8JnD7DQcP9pJeli9yBX+hNEJhtQkGBTkAQZ0Q4FyX/mjq6BsACi9RcL0OqyEvDsHfr2wceL+9gAJyyDWAK5CIl4ke7SXxDbGeaIS9Ql4UAWKX9R9EpeW/N48alL2gAaYwa5bM1V0B5+7ZCXxgP29PL09s55+pBhZ3zQ3OeBU+coEhLwHDIHPTTPu+2s87OKsLn5y9oue4s/Ol9cC1Ln7/PKGfguhoZ4nYo+n7EBulRErd+Z9AsK316SGKKfaWiy59xL+gnLIA+or0DeGJ7rz5zHl3yvHHKfegWG1z+44BO7EotSYQ11QVbf3nkZIs0hZSgSF7qq0+1HXSaPxf5wa45nXfgamCjzuexKuSQf6jQe+wyPCwkwC/eujbAx9nnjPbMeEy+zMFWK4de2+PaY2ao932Z7CzVHt8rp6uFMGpl+jz3C4SnPhxYAocuOjjHhQXksvoFg5bfigPJZN7gHFDA3XLwCMhc/kBR676SCfuyy+q4crLzmq6svDFa34+9l+dzyUnh1LIvvLRdXNcf4z2+rSDvpdUYsPSibL4NwhsvZBV08/Nl5kNVpMMGw1f2NLddW+81P9rz5TDSANEqRyFCgC+5kA0zkBdiiCs06p045qaIVCANEqrZpU27BR5d9J7lrENAV5h3ugb3ztDReww82R/4z4mXr6rbnDsit8bypz6qbqdwSmeUXfWh1ndxZV8EmG2vVU+HECUz7oN1QWJNlhU9e3k9Ng0Pd0vHw9rUH256qj/vZvM3lsf97N5T39j6InpQwH2eWK8XQh3iJRXosVNKelM+ecdKdgxXqIPYldmK9SVYlz++H1nB7FfPfe0+64r/z78HIyd4HBZ8V/BEOZYQSv8lfss+oEDAfkxqiaozUfcM8QQDqIARn0U3RGeIYIkZ/Irw3m8jPQobAM+bZ94E4qzKuGt3xInYrqb306qMLIOYuW5cvmXwKDv3dvjt538Q1tNlkOIH0nhF49SBUiBHECjW68sDbXXkf0s9AHN6TzFX14tI+1Q7Or2e9MweV7wQLpm5TNA2ZtM0QhvyPQRQm3124JFDXrnvyvmiRLr2jl5Z5/5HqOqVqefshoHVtT00l+1PZBW7pvx5/1z0vHt7wzehgQORl8BT5N1aFTZuVHAAc++Z9x11b10RgfPTLIauHgKcpFXPY5fv/fEwdqZBOXxVPKCeZy9TV4Tz1bnubPG+Ags+VV7ar7tn9nyyleKufTV/yMME63/P6FnOc8QDhTgDJ4SA3gq3QA8Btb2YNcQUawqaQ7S+W57hA9vAX4EEtWCO2QPE4eQX59F0j+rrYC0Svh7Zj1qlABMk+WID+Qer9NnxPPRZfADW+HoG6+HNuMvvGfqk8XR/GgMfdpsaWxW5y8O58er9lXs6vL2JLYBfkHmr5YIQ03S1fXc8oB4Gz0NnqzANwxWI0O2evqAKLQ6DvkbzL6e8xhr5YH/TgDItiYPGLv1L6YBN4A8Eef8D4arl5DVjUSAG1eps9u57Br5rnyePaNevRwHl8JZptGvKwD2fEc+vzvLQOzn46vwiHTq+Y4AogEan55UoclXPcUJ8hT/bVMFPAIxbNJTuDWz/U/b1PK7uWvc4u5TT7Gn0uPCTQta8dO51rxngcr3JrvDa/nu7dT/6n3ddwrAZPczW+ldwbXpN3SaeDvdwe/1SubXl2vu7BFzc21+dT3bXrT3Ph30PdO19Vr57X9Wv8KfoWZA57XW44wtRDgtfMA9x19oc1ZGgdbEfXMFCbcQJkv0ewqQzmB+qeaJ7StXTnlNa9Qxgo2ympvz+GV3wA/0J8cBycm2SU2nM/6PoBK4Ncnw8NPXXis+8uB50Si4EToJ29UdA7de46THUDYT4XqW4vyJe7b2ql79CxKXnxQIJeSfW9XS5KDGQCGnipeWA/Kl+qKTCXnR1oTAk5xFTVQBkiXj4veBIdtqFJ8S1TJVkSTNQNbXQqb1soLld6g3xBu8StgB/CZxAHoMEeG3v1sfGWcwEReG5yaygtbCIoANkEWbEXA6/B3R51OpAwftnl/389mny8mCKgjYgQSw2x9fnAKn15kR+fX06gt1fbVKb6fpS/3N/Avbc3uw9Eh6+T3TX8MPg4eVA/Dh85l/zLldVgIB/6+YkaoNyA3y6vZ9frq97AEgb2iXxxdcFeiEsl14BF14Hh5yzkfc+auR7NDwdV+Qsv1Agg8F17Wr8DwbEvcn4u8+RyG7YkpH+jPnmeu89GQHcsFf2qgP3GeU1qwV9TOUVj3no8Ee56/NZ4f19sWkCYX9fwncy17Qs/UzpBXKGn7S8ptd+GFZGuZ05KRLr3bl+4Y70X9Gv6ps1/W4wE/g9UZVgJ0GDSy8GN58j9lX4hDqfXFfdAIdkb2r70GNvBBjy/HZ5az/DXh8zBkeq4e5ALbA6430GvVueBNI8B9ijXA3+VOTswhS+ki9FL4vXsZ1esGpS+5CITsQeJ3IRNde69I0BsUb5v75lPvwwOCJ08/yMEDnwxvGIRNKvYalA0Du6mGMjIYKA+Th89g7fXh6NjRfuiA9h85j3A3/WPVgehw9Rh9Uq8zsI+vJqe5fd5N+qr9U4VbNeGJTe03QAju+VTTgdS+UaG8mh5F4Aw3v+r3tlhGflN4dVWbhepvgYfEG91N+Qb4QX9wrOVuNmfmyfC1m0CAkjfOX+q/g15VsK9X+tD231Po8BN+SQ5reLPPWtWB/KYKDIwJ6ZNHu4hf3tVwV+qOGoAesTeifq88YV74zzUn+vP030Hhgo16qj8LXvyNSlFrEMde9Qr9Xqr67xa2hs9L7QszxFn/Lzg5mbs8MJ9GpgataFvn6frICwt6Odww8Q03sLe+U+ot5QT8i3tTPmb7868hB7STwFpWNbe7g6iDot4aTfanwlvCLfiW8ZRlCD4wnthvL2kto8rR52j3Ihf6EciE8Kyz/d3CjRGm+BuKfry/BEzyB8FN2E8MtH9kkmR6opt26s6X0U4ly+WwHdbIa9pdrwR35IM4p+7daL7pSBbeu5hCmRHKDSqMUVv+FuLLCVQiTahw3uXPX/IcC9SF8mFDIX2loCqlSq8ZRu+z819TqvEZf+G+Ap5NAGOdeI3AChWq8PlbBr6O0EGvdZf5IM+rCGjT/FG9A+BrccCXRtkbw836fAi6I0e5lXrpcpYJv/rmRBbe5E3vqb7DXjsvCNfHqchySoL0+X3/BlNs6k/oSeYgO43pGNqMWty+/e40j/2X779xSf3G/YUf09ZJCPojzl6k28+N+QlKm3y8vF7nRa+JCcAvf4391vdKGdI/ba6/PsW3+SDIkAPNUmR+fNET2qKsbrfCa/u5+CvT3ADHUJ4ZyeeU+/0b4GButv7be6UPeN67h+MxA66cWrmdhvMahr/6b5BvmFf3m+Jl9EgJm3o8vP9fy9XymXlDXuXm4PrbfAI3FRt3b/wa57Dxzfp30Ix89O0htixDt8EOECIV6NwYxe0Jvbv3fm9hQFbLzXn9dvnjenABdl46wN83p3reJHNI8bt+bb1O3/SPGiG528t3hub7oh+VOf7f2m8Ad9/T6sJderT8fA4Oe8H3L9u38WvTbfL4PX+sSS6EXgBvEFecA94bYsQ0jamSkk9vQL6Xt6Y25j1lo3/mklAfbRoH8lB3y5OwTfAW8ve7JQW+34xTcjfKk9ft80bz+30hjsaVdW9cN7tz0eqcKvGvRVkCZBUZ53XHpjvjVwYs+wiEbTsYXwaolUIcC8F58cAM8n15P89Na08fJ42G1NhXHP5KRZENeA/eIDVGUpvidfh5B5t7cb8e3vSP55f4ZeVt7zkgA3phdgZfb+clN4WdC71/TPbZfa894W83b2C3kZvk9X6G+UNgmb6SUKhGMuebW+7wSlsnvifxgwjfWgDUB79qsSAUovOzB/fRAZ6rzzG39svrnfOy9R1RTWsV6hxTlCHB1sIespMP+35e2NjeXzMoWdlr6o30SQCtfy49EFrMb7aLoIE2XfvI/G54p5xlX5RvUDmTq8hnrA9WGNxd1FBfnG+385n3odezavzrerc96N5r99rnsg1Yevv6+Yd4fM32Xo2rA5f6o9fhuM9T1zvCvkCeTS+/5+GbQAX7HUuafidbCN73po/OyqPnvujq+Fd+n8BuH873wlAmQM/p8JNht3gqX2X7ey8gWZPK91ThGD7N73TOKkckvTuYHObkbfrSOkwiHLxwgW7vU3e4Xthm57L2e3mSDxtmy88jd+f98N3gCzZNJFo9rMBtD3aHwO0C3x3CjGILRyJ1H4hPpGeffXjrGI9adAIPm9tt5AC4XzfD1SeEq1H3mfLWrAECAE064CBx63v8ERCbAShJnyIWIZXYjPY6zuGiDlJLPLthSVVw818Y9eHz/Xt4foTIve5pvFRpHSrO9q97U6CbaTUVapmE8sdQKto5ApvIRR+qraOQ2e+4V5B79LEM7X+rQyK9ZVbXizIsLhAiUe7nIE+6lk/bVSU08DlFe+j58m9xQ7+WAKnfh6IzgE8d0dPTJPa2dDmuAR7/NV80CHgRvfoNf7W+uCZvbIte4fureWeakSK61JKHVPxPRqe426zQ1PbwH7xNuoUvDOlBJ0GzumXLTZjpIquFTOclnqlD+5a+HXoTWD9/77xF03FPiuKaAFXWtLca6txXFuAA5xsthEaaH73JGuibzPZv1R+7Lh6nT5clwB1ebQN6GryENGTumOZGVfdNyxQcZghR2SgAOh4n3OT9kUrjtB/7JWTYHYb5ANLXJFhjmQHAEctwEZNcACbci5ZOJaXd4eHoVamJXDphsu2Y4nAMg3ypZvGHfSAFghne7nO3KIBMNeksS6EEgnB/OIrtinf7mpcoODJK+rjzAbs+YrUpb+ZXssYo/f7rhnFo1g3VVQR3eIyrZTQVa3ACeTzycejDf0C+fGKVGxhSJM9PvfarxR4Ht8C70cXysvJcs5Nv0K84V53XygeiC+3mrUd2lZMMPyzemSu0h4Tj8LrnTgNmqgB9rt7eb9+3rJoCceo8vwG/i8hqn2LvA3qqxpj94oEF/yTXGgMnZXLtTuy0p7+knL8hRbgCZtf9agVXllT03uzm/I9tOUnxVsgf2TewoDDrUZ57BHiGLrfljUf4/Gqbw58WpvnZfdm8fY6l0zCJiQvnnfTQ/ed6BcAlyKGLJvVOZulMIJD9zr5+dXNap2/2B9fEvIP593N6fRDY3wNENrXSUQfQoGpOQnNXut8y13qgBDtUpqRAj4Hy4+gQfyhrt/JuR8Yb31+bHSKNh2tiZtedFymtHNrZzeLJeDVDLZlYPrmwNg++q92D5M8MbL/zSXAATLdq8z2AXq5vJ7ng/HXAw46L87En9eIqPXrB9PY/HcgLV2WrY1ewzE8+XDhDmYmKHuJm9fStxnrGgwydwf9aHSmEJWoL85nX+eSa/vQoBSyaW4Dswf1q02anhgk9snPIOdZn3GiNch/Ah4Jku/UGUnANApZNQ0jIH00P3CQfkAbST39+MBLn7/KMCxU74ROD55YiANeuEVfv9Rj9D+KVCZboYfVjR64TT+56u2uj8YfI/u8jyqXdn95+X5ur4cIl/cvBQWH4UP1ywcHffmOm+z8g2RPYIfCsd0DUfG/5N9i8egfr2deq8HN+DW+HlhwfxulyB/Gpzc12n71YwSOIbtfAvDwtbD5VlyF67PERK8FqwO0P6jQETrUDefWuBwGsIPANJg/V6vj66Us4KQF9KwA+CC//95Wb2oH5Kr/BcZrfnxtQH5tnw4ANmvxzxPLfCdzraWsz48mvcs9S+gZnuwYG2SFBgTTnxqxl2itON3i+R/KcwlcXRxSP6e38sA8A2RKDTz5PVsp3Ccf+ddBy9Aj2gPk41sI/4G/NF+JD2wNXavO5feBCi1+A18Dq9517Duoyd0YdukCDtefXwNO/bONTBd2lFbhF4BRP/Wr9++3E0DTvANMUejar4a+R5zR0JDVRMvt2eSSGJRzd7++KXveyUcDeqPZ041DlHd2Ys4CBwB2APIAZDExdvMYCnkGiEA6P/R3/IA+aik/mUYT+j7aAC2RkMQ/6Fk0KLwUinwzMXe/Y25Jl4yEXdnJKOibcWj8PZ0dWi2wx7ObR8ClpxAQ/nG9mHKP3zrYk/rfeIl8ctxKWetAtgkwgT4AAHe/sXKGhe669UBqWi/oe0kFRcFaEAR0ZxKNO2DsvVCwAKW1xNoDJQYMBxYN5Ody1nqj+J3b56jUe6k+epzzH0Cuxfe5a0xpWrKm37sKJ74UvI+qj6SH1OT/1qyo+NejYj8397OP167zRdj2d842luFRjcOEkUllTV3HTvYVxWysfYGVSa1RKEzi5ylopLBDpFAiBdVOD4ROIntPm0pZMuRozZ5wtpoq/9GOddQMddKeWT2iJfKDXx8tw1F4NRoKkDoHOgU7gc6Qj+mPiq6Tkoa6DHs6+2k02FKAPydZ6C+npgb86JGstxTk9ucRO/IAOgG8CfsHOXqD+gFqaEsjAwbyJA1QY14CWcCdSNeRRrB8JBJINtoO7OX7N/6dM9CVXSIhEwZeIRnoBCfXasV4e4muM2gJ1ezjNCgZxqMdnocs4eW6GMXru6H/0esKJ1WOErVhmO7sweZ7fVg5ZYh+Ud97Q3pzqwxiQ+e8qST6niXY3hBDb6ql1uaeQEn0H1nWS7E+hQOejc4teghlxvTMIVJ/XDcXH+ctXINbv2Dfe5BoTO0T2jeAUsm06jhpd11/k25TyjhXRa8cT4fzYlJ5I7UkDotsOT4Fq3u6g0x/rVZs4b639aoWq/JPxk/vw/5J+BTxtT6OR/rUje9mT7jrjInPqXOsw6+C4y980GdLmM9DeqNkEQkC1H5hVOA3G9R4vKtt9PL21AeldM3GLTzuBtdlzL91GK2pP8Nqi1rpagjFWeL6zuu7cZ28RMAN69eOcRRde80O4N7/du7kuymlueY+bULgDxP2B3gbsofdYO/R96PETZ4zlvep+YO8QdwNPl5geDuG6TXuh7y0w78P900+SgDsO/aAMOrznQ4MAae8AO5euy/nTGAQjv7LAmSAe1+3zYDQNPe77epgBp70IGrK4IjvXKdiO6nieDASOSOdq0PLCFzRHxtw3kfDTeWCuRh9Wb0X+1XDWYg/6ahqo1H7tXt0SyI+JbRnFtv762IdXgmJtWxBjiK3UiwIf1qdQu3wtx/pxinOgC4y+kfblCZByuVaV2hGfIvvqnDO0VKQMg3O4s5l77AAZ5Hs0HoGQTCzWBSg4HDDxoDinH7I5W1/aP5V0PMhNFP2jptBdw50z6SKItpcBVg/kNFtF19LSn+ZL19jPfp6C/ZopvOTP0GIB4nWe9HGR+yE2nPSPRdeV+K0z+YZTL+WpOBP7A8ift7gH1x3rJoazfPzvlaR+U1+tiJP0k/QLDJ17/dauq25vBeXlq9uh/ecP3UPTQfBVqLAPD9jg5pB02fH/uqq/lRzbMLScefb8qPUKdjEzh8ZOYOrg9dsziAuLkyAa5AZCnC+2rGH4bmdnxnpkOSPcGF9CiCBrh9iS80Dxi6xFA7cXJwBVz4nVndliKsUF82zh/eVdB0xvS04SfAacLDAZBgQEAnRTjs4uGxNBmm7L9FwagFAQF1eYxEn3gU/94+8++Ps/61X8z37OhUc+fn9an+zuufGRBPnX+tRbGyk0WhcP2QUWswgF5zxgpGhcarJQYg3MoR4n3Pv7v89m+nR9z7hN/TPq+QMlvx5+Qm9NoFCQYq+7AO+3gf2agswZa6uf79nVWSQWa/s6ZaycfPeV/zVPm1rpLzjkp3qrJgzVnZP6T6lX5kQJFe5Yuv4HmnwH68G7dbBAUL1T+q4dmIYGnzICWYhgThFqVRGpqX4OQYRvjSH1mKbwDx72U5uZeXzrNbzV3zRINuBHFKbytjSjT78HIW9mjin2UHHH0yH+4XZ93PzPmerSss+eSFCuEgbGLmOnmIL5rhwKPoBSpw7GebczXp9VKP+A7AoIbtlEXhwfwKJHBRQIT33bt86fUr3zRoxZdkYCG6+uzl/MkvfrTbna9P4mDQQCPec8je+lfAnbzwe3kYWLXv6hCL5g1+Rwi69z1pTe+m2Sg1z1gP6B4Ugf8AKN+Od1S5Lkfm2fwUsiT85HrP3t/vhPvjU5zqo6MhxTq5tOGiKRiBO6ILY2Au+NfCRyyp4wH7KLpAMnekGf2WssFGS77a25wo9ra804/O9pDQ9PxrtTvF1F88AqSj1r30N34k+9F8CJAJPLs2wxfhG2GedevtMX1pTixfiGnrF/QZVsX3SPhxf86Q7W3iEhcX9yFMSgWtFmR8XV4OxFdX8AP4J7RgL4R7WhwnH6Jf2mnixKgwqINwQ3sBvRDengCU3fLMty+U/1j8q0PLZaBOjfxVdAf7oBwpAjE9FywujwVtR6hTNeQaFM16TaOcXsY3u04bsTYgFWaSCAjYu0taxjbb7yHIxpf1fftS/hSHCKLScUzX+eQVVJzvjJj52FKHdSq1J3w3QGi51X9YE3ipvvZ5hJv+MgS3xqvdCeaW9RB9cHTkngpQfS/3Y4DL9OWEMv0/0jXl9NOdL6NbRx+FZfWy+h5jzj9Rr9935CjCcfDALjMHpaIPwP2LalnmWtO4D9MpsvlygZMexsafL7l9793s7vhnrvl/+tVhX993onosifQYix1bh0j/34cA3nvHPx9RYen6wvsMfW7O3e+Rj5cr3fvPGBuaHPYS/An3Zy7l9J0Vo/aqpJj9pRzjJVZAGIBkTKLNuqcgYv/RI19Q4IQVm28X0r33xfO3vTm/G6Q4p9SZUuym6PDx/KlsZR1mP3EnisByx+poZ1SyS7710llefjVuMErptwcLp4dLD25oyZ5GsKQbOTPvjHmh11pHTH7wltFLTKPsx+01qJzWeoKofBb3H9UjSIqi2HF7wfLTY1S2Fj5Qr8aWnVPPOEeAAE+s3EiTFw10QMwNEZSo/wgKxT/N08DUIWBA6hoe2RH00CgmQzfsZ0HcQMAeHpbEVOoqARr8s2HqoeA88cOSHCNzZqDT+tp3ah/Gu/5aXpLBJ8oVl758QxV82Bqzi13fFhv+LfeU/hB7Jb1XeLW2eSkaxpf6AyjP9CEiAGUZoBzHxQDzg7qHmfzPfNQBCz4idXflUIQziHv9x4Bhm9LqP1+vXNH3R4c7F2H0B379vYEbLO98sSSOB9nk1fWcAZy29+m6n+mMaYC9KPkK22BuP1/D98Na2SXXnbGAmXX6agSjAiQbOHRAzCabC2gPcfgphV1WQBtXX9Ulg8sZCW65Vzr6R0O4GiHQ6Y+6pRRRiHUMez3oor4l6kuQT6vgCGiQMRjMXTg3gT5fi2XQRof0HPkTZpsL67/8P6CkNXPkTZE9FzX1K941hRkBtZLQr6lQ2PZs8zED44N9WPeNYRpb1o8pzsd7gyJefd2Oqzi3pqBuLcb9Njn6Qa9+onMbaEs7oaNVD2xcLjKQSeLXBr+NQ2xp5wPjXxpgLHalsuE5jdLBb7qryggxva73TCW5rtI/BW3o6CbdIYlrp7hqO8+/So5PBEnONX61Abex+fJcyE+Rzt6n6TuqOfDj8kJorPojf3gASN9v9MBX+svm9A8Qj8OChge666qKAp13aelQ05UY3izYn9pjuncW15TB24/CJGZFBus3cYA0xtijcPAXC+NEmnN9pWvhZsofdxE6xQZw1Q0BNSK93zGgVwh0W8o7omwAbquHdqIPvJ8H2vCn1i1kB42xGzgv+b6uEIFv0XxyLfQt9FgFOUnDuyum5c+t1U5Wpi32Ivri7RBatE/NxrLX518HJPcwpZReOuDVcPYgGbAB4xxLtJ6oqwuDJSCnWhfvxPsO39avZn72bV4GMH7+zb5Qn+zIeccfMfkBBXhTeiOHh7VCheCq10D8m76le7sYwYkVfOO9rnmjdAKGAOQ8UW7ErhDRy65cuSa+DZtVP1VdUPkX8EYuyIjOQvQmbQtkXtUvKAXnO+gD4+9+3/RAnpgF9IPGLtKL6FHmVIbjBQmBiD69LF+atifpnfro3qloUH5aWzCqHA+dABcD4RryOzYri70+Z5pAL8oPUhtg3tRxemidhyG7XcYup/PlBrfQoaj9ob/jroQfn9WLQ8zPdzbz631DvR7fTy81r5Fo5Zz8R34U/cd888+xEuKHsXns6uYqclrUxp8ZT4ZIkWVvw8E7+tDnu+wHv5eriuI1t/Qk3httSDp7hYYu9vpRi6Zd/NvIHr9K2wD7hr4rPhLkQDe8K1Mb6YAMoP1Q8qg+j58uUBij08tpj1VVE2u+V4Fun6Nbh/NgK/weLIb9AsuyPjZ3P2QdN/Y5nTe8Cvvk3noBQV+klFRX3wn2BSVCfJChUW8bdao+IGfJJWVCfBXqiDuJgZOT4mA2CjLOFK+CGX++DFCGFuvw4AJp4oL1m7rCnrT600+tx6qw9xAJwmb59Dnea4tCMSlJQ+X/9uc06AO5hVARfZO35ff2N5PL0/H4+vqfXeYdAIZfSmnvhSfDinTdXaT/a7zJ62frEo/buChmakQx7v74w4jGE4+dupot2n0Ukfuw+NI+7Xevn8oLxF0dhXGLevc/Qu79hjJfIAfCG/UTciABDgPsMM1UNdc2T8uIKwv23fTAMfA/ILyd3wHIJ6fsbfEu/xt/4X79708vLvWrxMHRcKI9YldiKMI/eg2oKF1CuGDqS+Nu+cY/j7/xj+iqx3fDu/p9/877jb7twLhfY+/vA9H7/+4JSVqIOjUb6Sikx+qG13hPOCGjrsJeIsQDkKdYicAvhkZ98Jd45j0l3/TWaiVaurx77R36GQDSpNMMKC9HN3cYALVxAf1uvrNsC8JONTS5A/fN+/KY8BB4/374H7jzsZZLQ53N7+U5UlqDEj7fID/Md4X30o31jvhpyru/dd6dz8dnxZAGHfSrKS1/KjT4Orw2FHv9wBx65sSCovqbVKRXoRfqJ80L1t8FNVUYG304JNAvZluq+9OWeV+bWCH6zylj3nDKN4ndE9ApZDIJ72BHV60DAB5NSfnLBZJ9pPlCfkZR2Sdoop60HbctAD4WPrO9QMlnTmifMc/ly0yPvPN7uLnXf6u/KzKhlu3Vfofhx3PQAnHcfXANH673nG3kY+E1VYRXNH5TLkRttK/Ag30r4vOm+exCtr4lb2fmCg0AW2BSx3zejKAA2O7WYLmP8+0k7qz1/pj4vuj6VZ3QRLxINGO7m19DyUQ5vCdQr198v0AS2P6uuVxpb5ayMxDUFJQ6eEoiHP7OCpty0AA2PxmGTY/Aegtj8ZgG2P90uy0v5GIb0VrH9abRFeWPxAJ8eXSA7Dzh164KR/oj89+mVtyaHtyCgpAOcI7YExC5GmX9HbP4QMe5vdLVOmPoXQF/p9tCgT+tWruP0DnDRdfp+Vc5PX6hPtnoTOhO/Ruy4ejRJvt5LMv0Ja1qb+51+4vx+fjpsuNalY/qT2tv+nVXO/2k/A8Ge33IPy0tS5X9byEVaqMuOZP/fLneAD/xt9n+3ht8GLyzY0baiBihi+DESAqUu+TY+h6Thi4uF2u4nvBbpedQfYH4Gb+jmr5AzkLiEiK6mLv4LoKg/NmhqD9VZNqP88320/u9casEGlw1BgWy+/v73et5kod5cnoeizU+IhDxB7anx3nHyem0/5q2UpKtlIoJQNbv/lfGPMO9LVWw7nmUY6vdp+n27rkIdPlRaPJ+hA00m69feyfqhGyN32Hdjq4A99FPvsg1vJMV+ik4X3A7O4UKfavRNY19xL99APgb1Uwmzi1XlFZtaB3ouvqAaGo85vjBx98vi4/H56ry+aQdUsLeXwAnJKn7zW6hSb1/gICw/2euvk8PSjayFqf5sj97PnfVsOXlnwLvn83NY05T/l69j4A6fzKPdTfnT9M65o6H+pQGmDBXDyCen9eb96fgTPvp/EB8tQ91tIGf0qPTp+h8Khn5FADsQTw0kZ/ryDRn447wrPn0/BmeEz+F69+0MmftU/wZ+0z/6kFdP01a7M/r5Bcz8YG847wWfmuqcp+XT+cj6ILYenk41Rg+mj3gj7ob0jv9yP3tlVs9ttVAQuiPw8fCVqEF+Z29gP3TJPdV74Vvt8IN5aL4s3/w7r4loZ8cqrHP5v7pc/sElOdWNC45VUxO/23GMvgDcZL9+n0rvuDWv2HxHyq7/LL1pziHnKNPrRsaFbvhGpbqeJn9g01uqwH9AHJZt/tOnPhzrguDnVfjv7CnThjFQzS0YakNYlPP9v0/ZJ9077bR6mUUNg1v6W1KVKSOAObxo1gFJPfsNgDCUt1YY/lAvMhO1IhheMBLef53dQVl0jD20V56OWJBOPbWRuXegveo9+EE04/nIVLNfSV7jvJXTY+Kly//p+vp9pd9ZAEi/l8bJ4A6q8SINmpZRhFiBQscpPvEQN1OeGcNS9Tldc9wSVTkplqyg04ZQB8X8nBDrxID4zF+LeIQGEPRykzcJSQEgY9u5VAfkEviddym/35r28cc2eIkpqP7lAE02icNk0vykpnS/si+ayY+J+44+gH9lAiRuta2IeowAcoAZEyXYUxXW+qZjAgnZUOjG8exl+Rpj/928wGy/Up+jMkGewkN74n6R133XmaPVGS4p6LlwDcgVPYbWl2oY4A85EK/chvYbXg2vI4JsLXVfoYGuKcPOUhgIFT9JDwVOvd+HltObaGB2uAgYuhHWJX/vjXa3/CNKV+5DdEurLw14FCvDVeG6MR3sL0v+FMVJTJV+7cEiuo4v8ou8QUPl+TL8jtUAv11zkmwdFqzCmDVrVbdVfy3DKta+kqnKyZbaLl0DP+i6TjPYto81ZBqpq/hC7qd+a2C8n3WbkPtrc/+K/s8K57hZf8a/w1+Sqcbhx71jNf0Uo4G+rG+k+e/M279/ezK6f1Tbq77zb6pXtKyGlfTr+diAwHyAH4D3dF/UTaKG9AsE4Pv1wrV/qKPk79xHw7Zl4rEq14q/22aBcPg5qU/1E6Px3ZX7UgMq4NrfHw/8trAX1xtYLNsC42W/+teSyYF8kobwWbZgAA3Q984FxiEld1w2RvhWNYtqoXSZCMXAAWkxr9ZscE4zXWkyEjYA1r/1X4E41i28V3wdIQGqE34GvyS2kVjW1/Je453n+bVXnj4/DZ+4z9QH54iPCHl9rSZqIm8tSajA+sQaFjF7NXHIlF4Qj9ea1YgZeoEQgOOH/148juIq0CfTS+RSAW7xMAcg38jvBN9GtuejBTf6haYra8kP09+ebxzf/M/XN+a6rlZnBOBcH/uZDm9ZXLvX8+faYBW9vBpkB0DdIzNn/tX/Jt42+tq/fZ61q4ENXojj2OUkP9G5cj72fiwfqO+tc/O360b/83o3BHBEgW9nDGObZOHzDVSsuvd8mx4Gd7fX65I0O/w12x38VAPx4LpQQTu8e+ki5rX0/XA8TXPnFK/PJYFe21HvKNTPe0QAU3gGvg+HzfW8Myq2ttN+eX9BnoNQhaRZVJ8lDlKOK6tS1IBeb6rTNqCZP61TpvtWfjBZ9WoFL/xhrDhgRuk7RdUAnqiCN0kNpykHGv1yo1w5LlkOELkA35Vc9zecg562ieYzaVqcKHI2XTjpAX9QRge4h9G4sBJND/1qQfW+sL406F877v5l72I2wSsrOI/29FV8UPLNPI9/dOHZpwAd4sQQDvZd/cb+OnvnwkqfiS+nF/JL/pv7oulWtWOAvSykW/HmBfftaHQrlHF8sdGcX3DCbG/jlaSY0iuv4wCbvkFc8qkXICYj/ul4An2NVec+uy7Fx9uNzYv2gograndpc91Sv3bgz/AyV+RW2U3/LtW3f0Uoe7njL/UUbUz+cT4kXWPrz99z78v30MgkzwutWgy9lrWuu9NjJMMBNWbvDa35VrUQ/lyALvWPusH35Kc7vWYPPBZ3iRdCP/h697FSw/lg6bl1fDtdm/oO1PdCS/ESu9eN4f0eW3daXkfZH/JPwHQ1COuwdrZftCjgP+SX4aAIWE1t+8F2jX5Ifzrfol1hMbiY0hMUav+ygAh/W4XqY1ZIeVAIBTyOgrcQ+ucYygcqKSzl03+pEZH+dX7P57nhxR04T3DW3135ov0xhYy1DF/NKdSZ41X7MASaL1psJctJtWbvxQ/68/OD/Nb9hP6ld45v5mA3I/GL9FX4Zv0S6mx/LQBHb85++eHwoNzuPpaqCLuYP7lSolWZF8Vvv2H+qT98Y2Y39B/A6ASu9evqzG5s9slnNa/LD/VR/O76VZOqPrRADT/Dl87b+T9oy/7kuJj3aD+osF9fgG/8nOZHV/X72g3WZ167wN+sr/VGQubc+Guh/UaGGH9fH6YfxVv1tIoXe+D8Rd+Eb4VAZSyFpqYu9Khq6f1t36BzU7AmF0Z97fdTrvkbfXr7M9+zl8cJKDd3L6lJhfGNAJ6afyYum43VT/aQA2a6bfbjANp/Hz+a1++MY7ADmq9lf6iQ4XDvfGv71MU3zvSG3D1z3db2i2c/grvFz+1FdKT65G/bVIi7ebPkT82Oi5t1l9YlBY6+GEMXt4Z3x1TnnfHVOhy8Dd8sPwS/w8/MvvMcITYB1328/tB/hovRvIZeQX1xMASJQDT+X89b74Tj4DeYHoNlnzz44m/wTwg13UevCeEH+srimir8v9AAAr/HPj8VXYP4124J/UGeOWsPSm5f5OrnPnhWp+X9Ge7r0Cufr5fRL/0xt/gTwmsx7IRPy1+dK/xtsJH5K/6/8kT+dX13sLrvwq/o9QOnQcTe8v9Vf8D0SV/YIeSbLiJ/1fyzzEsAmr+jO+4hqX35LKO7i3NqTw8U3g5RDz30+1Va/KrWvOpd67VatbmB2cvSiPiUno1AHwz3Knvd3D7ra9fe2fy+Ncr+7F+RJDvyhOrw+nKr+i9Rqv8Tf3e7Sw/SK/tX+jd4RX3Wb4t/Wkf9PUFKFdf8lrlnmH7R/p+6MGLv4gBW5/W30mpe3h53iqz30NboQgOo8c1FKG0sgf6bBuN8A8WTYk8GZgf8EGBuwe9mioh7zsYWd8pQ3Ye/ogm2f6NfEt47lgtryWD8q/KuZFdvtv2vT8X7+479s/uP4fQ/V0A2ecmDcVXwTVcylCNWnv4DkB+hh51ca7z380lVB721H95waMfuaJIjXHf/e/jEIj7+ieCDyTgSKdZMJfUUbHZZDN7rLAZInvOUM+xg83+U+XcZI4D/1w6uTN0rhnQDj37lRVarfGMwh6cgKqRgt8aWUoQ/iy5ENRidWD/ZC6hm9quDN5poaJIuOFQVj7FBbJAAJdnnW3aQBb/tOs/1n2AX2x528K69KQCkPg7QbhSMLHnI4O0Fq7mwv1fAlhBbQ+Tv+kTFD3oziMPfBo93xRfSkV5fzt7Bcrg9C+ZOdTiGKqrgvfHg+Sf4F73u4Gm8g+9A/MQf7YPVr1txgNfnlP+amYKD9SOjT/dQfBYilB/l1Tp/k0zVQfyebRBcM/0rq+0LPxoYfNmf6N1QxOroPcdBrP8EED6D00HlfdevAeEAzIOBXlETpfz8N+GrPjB7A/x5Ihz/2NKUQ90rlmD3IHRxTFq7vP9fWdX8yXuTfzoX/BZvPrv01d/sPB3IPQn1XyCmLuMt4fn2Wdf5ELBgSlI8LJhhk+Q/cFLaVX2/fdjpxKJzdS9/f+rTRF+/86yPTe1pPtOpT/T5qwOSdX/xoBlYTVjgfG79VmCadENNpssPw8P/F03BxycCpobgSDrBuWfIA+b9WTao8HHuwgxPLBV2o/9WASxzlNfmKo9w4y/zN7nP52X6Jvm7/hv+LFaabzlbpyyJnooF9eR+6/3LJsgq1ofOP/g9/orDzKSP8+V90q/cLrJwFS/nAH3xvXMtKm551C0v/WfoFgMm9stGxf9O2YR/IWe9bLrv+FYOs/5zvnN/N281jVNv4c9JSBhHeDTKw6rev1Q/y9jT3+nb8rV4ly67fyg/NzQaI1+ia9v/uCVdKCO+zB/jN5EH8Mvo7NY6/+u+EH8FPryPvOkb3gDZ8I/6AD/D/81vYNePb++DxR/0VIdPNpjeOX8WN9FT16+rRPiglnw/I982N7XX4Xt+Br+KNBtUdcJAv6fAFP76a9scUZbyrUMw2vjtVs34GsvAAXq44e22fen/7fv3gK7aTLHOP+hR+VlYrLxjv7Kfqe/TI0Tb/dM6mN75fT5fxq/iGpJfzq/uE/eZ/Yz/YV/OHo4u+n/5T+Y6W+xdMf1bJxh9L1+Sn+Nh6Cd8i21b/pv/t39D6RfSt3g/r/Aj/Qd+eqtjv/5f37rnA7/uupPbAiU2+9AADseY5/h39u+M5ZWCKFtwTMCZ36addH/lNa23J0WNbqSsAEbAVvdHH+5wDpGkKMm2vsu/LPfK78jT27f7tAXt/sWupEOuYZS/xfr97PTB/nCu21BjHodTEX/Rwgus6d8aG/+7/xh/3HeFv2sohtiAHbUF+wABwA6tGEHv0wIUvze3c+bC8Ve/1TQpcBjJ7QAlrq43e1b1HDsAl0armox/8iTzkPLmGyN2JQ8SLs131uM9jTySEh7/tiYhb/5Jq8Ke/ft/y+4FtT+8qIhPyLfVNYrR9BiCS3s5fjmciW/79+xb3OYUAvjgAG/8S5fAUsv4ZLPizaXLQcoYx9YVv+aNmLeiLemaM4ZueTG8/+l0aMBeb/+19QL6UU6WuCCTaca/+ZZu+126VG//+paqD/+upuu7+RYumwk0404ABfuekABT5WFBeRKA0+edekTMMCAB4N27ckZEwqdsJMQOzeuABjbu3moMko3sWxSo41uhgAk1uJjwHGqXr6FagRHuO3ElemRC++xmjQArQASWIE9UShQNMQI4+u6+s1uE1u/hASrwnDy1AB5l86oEj+qGaoeQ+3De7feti+WCQ6ra3GqN2cXpGRLQ04EtYgzsA2GOIn2GjwpU4Qi4MWkSxgiUY0+UXAUjX2qCmggUEx+UFGG4gv0AMc+eiqtf+sjUMJuJJuhFe6m0Gp+diCR7uoMQ5jetqeIcWTVeEH+SouMv4LEIwr+NsQNWO5u+zkA8D+QQBKmc2b43BoM2+d/+Zzq3gBVd4/hqkEANb+hxgVhaUI02bogQBFCefvUHCeUlWaOQ0kIxrQer+yXsCWuDmQyrgZIGYQBT4WcWOM2AWQB2LAaOQB4m8TY2QilQB8ZA1QBCJI9QBpQ2XuIFt+0ieZBGpQBvgAet6fe2BOAB9+Qlmkjm2lqOne/vWx8GfA07u+n3+5O+u12q3Yi4gSQBOkAhQBt5AkpYsN6qwAkb+Uus8N+HaeHNI51+vpWBlE29qhLWM+sB4mhLWNN4MZWYb+5x40PC6Os7ScrzqxuuoJkZc+2uuaqAx4AtiU1jqx9m1wBcYAl4ALHc9wB68+LlAm8+lAAMFmpzsD0o/OubwBuQAHwB0Fm70iRMElQAbGiGCEPeAzQBaOQ0ww+QBhxgcwBUsgMwBjYOXpQvJYqyAvz+RCEXTwTLATb6ETwTguvP+8TAKgBTfWSSepgEKSecQBXt4ouUoFgRvei5+OSeJIBQU+Yi+2yASEOdKeGdAZhg3d+uXelPOMjqz3+yY22TAqcejT+W++ivuAL+houvp+SrcGmeaVqrP+RdeH9cB4mE5onP+Fj2XXeFP+Vuez1+MP+bt+lP+Rue0OQgxwc1efEaBFeeGeU7gNMIHOUgP+xCgaeIowBsoBpP+u9OA5+GVUQ5+j0+uP+wd+0lA/iwNykJcAmCgeDwBMkQ5ELJQOGwbVqu9eLzA04exWerOe83eWjSPOevseOUYhoBESAxoBlhsiL+KjeyL+SBq6Je9QAxpqH3+s/WmO6PcYjIB1XefReeG29Aerww66gmzwSGeP+e7Oe5peEwAlpevOerwwGTs2z+UigK+q8ouK3EtmUit+7oBNWInoBGByzDcrPg/rUL3+ceQlYByY2+ZYB4mqBAPEAuU0O3IhJeVroOlI0lW8gC9nAvW+RTwLF6Ome/z+oUegL+ice34EgI0B/+V4mt5M6jEUC0V+et6wNZIbwQvy2zTwAt+p740JeLxea/qxf2vfISc4Y4BTs0KTeEj29L+1v+ICesNA2ce7qeIEUFEA3YBdQ0BgsMI04Weh/+64B3uQIMAe5UG+eNZINPeyaAxpqqD+O4Bmcee4BDteucemaqvTeQ6qC4BKpe7kYZt6bsGdrCWQAhU0PB+4SeUhqZD0FhekN+FlgSz6QKW08G+AMUJ8fKERF4CJ8h4wg/6U0IXNgANe88kbYBChqToBYC+r++0HwdUAp4cTUavECVbOQKWSwwFdoKWYFQMfKEUVYFQMJWUi6IlAMBe0S1YJ20NkA880o/ClJe1AA1Je+B+lsAgBAEd2DAA4f6VQMJgAPcAyUi7+edTqxew/wAsy2BPMJ20sy2/NGELewcGv0ahr+EIgQRggYu7z+Rcer4BJteDaqH4Ba0m34BC9eS4BgWOv4BweQrsGzOwSc4VQM5Zk/EBuAAa5aBLoWlkW3WE8UUsi6WgdvuuoBpAeAWevomtkBpS+EYB02MWTm59gjkBHD+Ode0+As36ht+Zv+SXeypWVee+mWgP+JUAXEAzgo64G7Bc5P+pb67ue8nAoUB10eRkAl80NUA8hek4e6AAFkmjPOkR26hemoBdZuAce5CeWqw+8APfMy2eIy+T4B7T+lw2Ed21B6RrStCyd4E7b4s8CKFYmNeWQAy6IEd2tUspgEgUBFBeGUBPeUWUBxo2nyIFEAN6I48ILRYh5AFUBTa2Sv+24BRUBE0GJUBP3aI/ksMwy5Ar3uD7+Tf+ezAda+ggUP80EABIBottQ7H+9f+IBo77+ewAB4wN9oILesO+ftUCrakgBi0BXG21c+RaeOAB+0BLzQ1XQV0uXr6ikBFT+ykBMaeqkBqgB22gjIWC0BJ7QqownT+4cIjAB58e6b2skuDf+70BEgBr/+J0BfHaR9WiJG85YF/W5kG8IAe/A3mo5O+zIetIwQ0aMoB5yWzLWMMB7R6j9M3vu92i+1+k8eLvuzDmaZqYFeicgRPQrf69zUDvuJTmqcel0BZLOwse19oHCAxceGqUWqUxceeLuSKUenuwnAZKCjv+rQujtmBMBDL+V0BXz+GnqWvATMBz4BGD+r4BYCe7+I8N+jueg3CpYUEME70Bmseplm2IBp2e32eVuM6Xkdv+Ex6HMBQ0BXMBiFQPMByRwi5Ai96oQAjyeFaesX4KnepeeGw2sgUPVA+VIysBsIAYMBnu+g0BHz+vcepceqEG9gBN3+qrEd7qp5+KhM6mcwoUnB+F+GmlOD8GlVg7684Ws5MkkrqylWnLe8red8AQmsDPENHedKG3sB2AAvsB97K2AAtu0XsB6rePsBxaeIcBWSQx2k4cB3LexaeIx0ccB3bqvsBTNI3bq/LeCKyzSMQrek9GPoG0Ba54BBD24ue2WekZWBcBXKeIMAWkAiV8tfMSfIJzMrUBK1+DnQS9kT8eklWH1oZ4efQUmlgUHc71gX5GQv+TgAa0BTwAFdeeckIZGBEA5gUoqwGd+H9sATq8yeW3U7SsWbM4eQPjqjvaMDsZcB2YGk8BqTUF7MM8BtdeFdeVB8HpeKLoxgsHx+p2+xBezeQwsuutQrO+T5GLsQrka8hWCl6KmqLoBKmqKkeTACK1OHKGlKekrqqG2eGIxU6WnS4UgDTG1eq/sBl8GgcBlXcRkAr2qWtWXLeycBScA0cBd8BEpGBmWsJ4r8BD5m78BdqIRs6aeaYbwC3+TRev2+l++leUxcBLpe7P+DcBVpekueMZWCcewJuOJu4/4woU3muJ2u+pusJuO/eZx+ha09x+nlu0L+zD+sMBBu+PBUlh+71uuAe8oWNU48To4hIp6QFxmcrQmLg1COqVyWtEhTQnv+roBJ6cvJupw+noA8CeY1GQABLMQOJuUVOid8nFUl6eJLOtgAcCeMMSiCedLceNeBFk5b+J12pVk3iCVo2KdU7UBCzoGwBpPmje+up4iiBVMG3wBNr+DDut8+dr+4d4vGkaSgLQmKsGsoAvBe6hcUNAsQuK9oYp+M0+bJ+c0+BiBC0a2b+fPCgPuNykGIA+ssmWex/+msGThcgd+m/uqABPiBI5m1iBe7g0z2ZqeNpmLmQzfuT5a1qeRIBcLeMSB12GLmQIZ++pAkr+hCeN2ecxkoBegpusJutgAJtA7lA0EOHKIwEOWOO/x+IIMlkBwsi3Nul1k9iAnKUv24Vocct4pSBjyE8Xs7HA7tMqoAnQB9MkTfEameUOOR1gKieuPucfwgsBlggNuegdozRoMI2NMIMUUb3g09kwIGajobtAU8gdLcwIG8OkbWQcz+5VgKSBzgB+ns+iBwJuwIG8yBhGe1kAgyBhV+0P+mtgu129dQwPQ8iGaiBgPQFG27kBQfWxs+qlQ4YBX/W9a2Sk+5yBOe+4ZAk8ADkBdT+Ij+1jota2xyBJTm/oAir2LyBn3+fMMhxYTjmqyBVle6yBQoBeMBn3+UBCLf6VyBdZuoZexsBSkBiFQVMB/fOtMB4aGiK+7YQva+4iG05+a3+4eeCiBNWIiKBENepOAGWONnglh+Pd+vwwxw8Fw+0lAigWCKB9Fm4iGMlAL3+NCBAUAJa+RB+RdeHle/0IPleCJIAt+qxaoMI82+hOaqKwQxeIwBDyBn3+mzwwJuTLAmrAxS6zv6xpuayB3kU1yBTFqLMAbVc55+tzEuMBdkB3KBEKBLMBVgAisBZqqvTWVs+TkBFyBysGoN2KqBHkBktEJ3AFvAvpeD6e7zgvyBJ/+YsBQfWx+CDKmPE+89umbWaMuRCeTPuExkmCMwWeYQulE0XSgwJoSqelleJ/+JDEHxM1rOQqB+/erqBPiB7qBNCkOO0tF+zD4PqBzD4fqBvkcwJoGT+waB1leI+Ujxk1wAoWusk0dZuTnulVgyZ4BfuIdeKkBleGZteMgIyaBiaeRte0ae7qeazuuXUWaBc3uoruxVO8Hu0LMhaBMnuHABYruu66EgU++kfteGteKTAtaB5nurteG0G5KcFtea7u/teb6eGiwjaBateM1ui5ug/U83+GCBlhAhqBPiBGyBFsBey++CBN/+ImWQ0uApUASBdRA8zsN9+LiBNlmum+zP+29qd/+nOqtqeZy+F2cm6BYs+QmeVuUlIeXcBzikRcB80Bx0BT0Bht4k0BQSmq0B00BewAcxqj0BGcsB0Bsv+wHel8GSmUe0Bp6Bp0B1UQ9Mc2/+cjGJ7QkB+C6BRiBnOgPwBWu+HgBTL+JoUl6ezABvxufCBMMSRCeQiBwPQIiBOu+5iBGW+pV29lgOCBYyUGzwOCBs6gnmuetQsrubl+HbAGGBN6ADh4QpcGSB1ps4GBc/kUGY4Ugs7gmxssE84+uIK+IuA+muSuuDl+6WsAzuWFQXmu9fenVUhGBkpuWSBdLcuSBB1ggyIWOOOu+PJQTSBrK4FaM2WkW0iPoA4UgtSBH7uX+wouWImBJ3YZSBqZystMh+I6j0E98YUm3122IBms+1FgTg+xOu0d+wC+JP+F3+4FUYkadmu7KeVr+9i+15Gg3Qw5AMY8LAALwArb2SjCsru+cWUASvtExi6ZT+csBN0AlT+jVsxNMmNcAC+MSBcd4/k8m6BucBXr6VGeGEet3M3zipLeHowDQ8m6BftknmBW6kcSBAFUmIG3R0e+esNoBus/F8aUALSBEkY0ZeV7ACfALfqldI+aW7RgTbuateHABHnuRU04Gkc6QKj+BggbFO2WBkaeeWBHksnnuQQI5aB5nueWBN0Bazu7ve2GBcZ4pWBjRgOWBkdeFWBNzuAeW7tejLuFaBVzu9WBGHuvGsUIyywQY6+R1+1c+PFehM8skBZMIVc+PPuGleYX4VcBIieRr+Ale8CkuuWWT+pgEoWuSFAyteJ4IBmBY6AKIBYsBuxucqBPcer4BWD+3IB/YBvIBBmefiBpqeMMGeVeFqe+PwtVeQGBpLeUWBtpmgden94PqeUaeb4BpteHLu1Jk3WBC+QtWBfWBeaBGHubUA32BlBQ7WB+zug3ufnczpaGVUjlkbqgNWBuWBoOBkAUlekgOBCaeRaBxte9WBnqeqxa+PQ/7uaN4MOBIOBO7u/WBu66bUAuCB3IU+3etLQYyBQwA2SBiRmtLQkSgb3+VmCYKBK62XT+cK+tUel3eZL+QlunJuKyBXqBJ/+p5+RLgRyBXKBzkB3iYKTMGz+WFefkBZO6G7+6o42mewUBePU64GEUBBueiw8hyMXA2zikaJcGCBtgIEd2yUBQaqpm+f+cY40uheGuBZ+eOYBbUBiGBi5e4uo6uWjPODUBouBSxu8WesWeRcBxheOuB28+2UBnyI/kaM2MXkeK9moC+0lA6iW3BA8Y6CuB1oetgIS2kY/ifUBefWY507uB3Se9agB2BxUBjPOpUBKSiPuB1Zq/uB2JuUfWY40aWenZmwkSQBADbkxXgzGevjGrGeEd2LwAxpqieBBsglsBO9EH90ZuB0neWuBCWe28Qj3MCpecFedf6j62+jqSVgz62Yvu2h0aJceu6PhONoAq5kduCVaqmeB3SBG9E8PAdf6ZmeBP6BrCfNeA7eLrecPMUuBplm4z+Fue5HefHaY4AONewdAqSBAKBMq0CO+BeB9G4jACqaGfueuG2OykL5eht4EjUgeecLghTUplmQqmGj+Q3eveBgTeVm232eQqmkSBkoBkUBAtev1+fXeZoB4P6rqCttQR+BcSeP6g+R4oBQZf4X0gCd0K+BGIQlpIEuMy+BPA+UsmxYenDY+6BV6B2acmuBHL0Z+ey/kD5ehUab3glIeDf+B6BJzqQBB4meugmMBBsWenSqn+BGeekJwSBBkeA6ye0A+56BszAB6B8BB+eBOBBXAAP80JmASBB3rooYafueAyc6BBneqSJOmzOeIaWaec9mXc2Cdw3IAlPuuNqTke+ee5kAheelaeLye5J+qneyxMI8+3bE2SeVdQUyBXXwOmBp+BVue7V+X3eJb+ybeIC+2m2NEaM6+h4BOfgmuEMFkkP+eC6lZ0Rze2r+C0W1XQIx0YBehreNQQoLqlOBGWMKv+y2Ooo+6O+otMjaq6oE4lWzqwiqwvZeh0ByK+8CkGTED6BE6+GE8ahBq3QYsBQ5eYS++Bq1pG5cgIC+yl6nr+nvuDOBRv+g5eAz+r86FVgSBBineMbYxeeQLgWsBP9e3bEbDkCe+Ks+av+VZegOep7eJb+oteP5G9hBQQIFneEHeKvOfjeX5eSMBNy6qZQ2yQIBopeglCQu7qPkBHv+XZeoZ0kheWyeRreOhBLjojVgxrav0+Fb+j6BI3eVhB2r++lWzGq6CBh3+c4Aw6BzD4nOBWlkwO+zhBhKBame+qkmuBI0iluBfOUf+Bc7+d8U6l88l6I0er7++RgKEOBTqJserv+dZ+8ZeHf+nCBt3w2ikzNe7qqy3W/jAKXcnZUQfMJLW58CjH+bskot+MAWzD+n2ATb+QoEpd+W2cr1Ild+CNkJf++juPLu5f+5D+8QI8Mywr2pXeDP+Nv+oqBiiGzsBFL+TXe0B2f3Wt3wCu+PxASNurGBEMEfKBV6edzkgqBRCeNsB5NYBTqzW+ETkeeBXAAiV8luBWPw5m+agabTGDm8ttGdJ87D+Zxe0J4LluQQspw4/q+jSg/xeyJezkAMbMGW+yJeEI2zpAW96R7ex08bjALKBZzql+sSn+zVuWQe/OqOQe55WLJB+Qe3w6hQeLv8AX+iY6LNk3vWEX+ve6WPmJn+Fn+B4UpxerJBDQeln+LQeXE6AX+HQe2rCWnSAX+Tn+KPm1p49fcI4wAJe/ZAUmWZX+g5Ahhwz5+794JU63Mca/8ohYYOuO3+ubeW5WJneWO+07el8Gs7ek8O7zAZAUy+EfpoMs+SbIz2eapBA9eG9eJIAOhW7pBIiGgpOMWqnpB49eeWOuiAs6QxJBM4AGpBq3Yt0C49eYJes9eEos89eKoOKgWM4MyJe13c/hqZEklAel4AyfWc3Q+UeJv+SUEhcAo6Y/BO95KqIgmQAJ4UM5+/I++FuGTsPpBbv+mBBL0+G3+aget3E0CBNTeCzey3+WkBEBO5ZBz0+mVuVZBtIeTlkROUyTkY6+eKB0lAq60hKBm+sGjeD74h1eSL+DXe4ia/6spZc662b+BhCBp8CvM+ec8nb+eTG8JB+s6OYB9meBTq9fqUZc1u8W/GyUCNcaEd273sqOqhocDTWoMI0WAUMA9DUzJBEpBwpB2QemkK6n+nJBbB6Wn+FVmQpBJQeu6GHUYBn+15BlQe3vWaQeHOqAX+lfW/UkMpB+6qL5Bun+8pBz6Gi26Kv84eqGcBf5BJpmfQeGwe13+wJuPyB7OBPiBMJB+FcdZuVYBAv+7D+L3+qa2/gWqgU1f64We0kB/M+spqk2Be5gQ1qn4BrTG+7q7YBJsGE0+OFBqLE5FBZMe6OU6Wq8XATkB+DeWS+Pe+F9etAAd1edXAEQmdesjOeFuW29eqNcpFBezezXgKlWWxWUzeYSeh/+6ZBsBBYX446AxheQwUjM8ts8UXUs4BkGgtlAdFB4NuXVg2S+TFBd1eGiBZB646+XHe5eqoHe5neQGulneBv+wcwO6qTKBk+6H1oO9eHYBRKBUkmlFB4t6RmqjmBJsB10BB4Bvwe5QQELe2hemFgImeyJB2uBEN+Esmt4013W9fqz7a7kcUzqkzqQ84+WIt3wo5EUpmFoWMpmarg9E46qqeVmnB6LUWzyBF16yKgLZI6P8OowXoA2EIfaemwwQVG0oYfKEYOAEoY2+ejeBTacUpadJBnvmqUmeIYOj+L68YFB5n+F5BBOqHJBZ5BN5B3JB2n+5VBCiQ+n+gpBn5Bb5B06GcW2DVB9Qe2uqP5B95BmpmAFBdn+0LGNVBmpmypBQFBXE68m6seOHVB3AAo/WJuqx08FHgRm6dgUJm6Aeq5m6+m6NhqUQWYVBVgW8sclgWn26/0IkFBppBB1+6lB1Ue2lB33eNpBOHecnIMhqjpB0UmhFBTOAMZB3pBHWOSBOsTeX5kvP0NAayEIq5k/voqZBCJBPaqmZBUC+RZBsCBP7eK3+yxBA4e1IeHBWTlk7QAHlOuKBTIBNZAHmw3X+Hmwg5BMzQTEIdXe0ouo5BwPe45B+4AeqBGGe3BAXRBUXAPRBl4e6fAIEBzikgBBiJBjOeHlBhRSljUq5BD/6GD8qnmm5B9BaJUBjIWx085kkY+sx5BaQebw6E1Bqn+amIP7OAX+t5Bj5B7VBg1Bun+/JBZQe02cLVBIpB75BUkSAtBhvm0pBDE6PVB/5BP5B/VBEtB4FBDx4uvmY/Wo1BXW60qB9FObB6U1BT1Aee+oQ8SG2qm6Kg0s1BjuqYMsLuqbuqy1BeDu3uq81Bdoki1BvHAFm6K1BIZmaJgAHuU+CtT+aTIKMBWr+NoAD74fsQ4NB3ISaeoT0+i3+Ao+ZZB/1BHcBqDeAA+UYeTlk+gcF2BcvuFKBYJEbtBKTKFB+umBhOacp+xE+lAAqre78BY6qLb+7XsSze8I+YA+7f8nv26m22KeEcBQcBxaeDzkScBkcBQ0a0cB9PagCB3DKPA+kWqYCBUcBECBFpqM3WB8Brb638BldBvf6pl+BdBudBTdBxdBD0u15qWnS5dBGE8jdB00aoPkWcBtcGpXw31B9ZBCNeX8aFXkd8ASdB05Bbf+FZBrZBaDezTeVBeoFcLdBS6W0MB7PkS9BwcBeQOTb6tdBlG63dBP8BhdB00a+dB2dB8cBbdBeQOJdB7uWmYeuiBKpGkiMozeY0Awg+KO+ntBMCBI9Bl++Y9BgFcyXsxXgohsQM+BK+xMudsWxK+eg+wycKrMFoYSl0MGGi20Bd+gJO3vecY+1Mus9AiY+FNu9MuQMwHEaT5sKcKwuKe5qk5BfHawncbbwo+eKQSohsEGyT4oRkEcCQUwOyR2Wl6nUMBa+V1anKWDtcMSgYCu1cuKtAD9G+RAgCOoF0Fsur8W7oA538LMAQeBE0GA7sEWQxXqpSBcTEwOANtgWR+rsAWJOuR+uFWtVU/oCRSWZEmNQan6+EE+NS0joU5KWO4wa6cVpabH09b69vkpR++4+xpaXKOgdU6cWiV+wU8Daof5qrMgcR+zMAHMgKZEt9EOVGJ6+iV+1cUujBN7ONgafDBDP2IsYEoiwv2t+ITTY0fg36+kSAocauGudjBXLUZDBGiusEkXDBhMGuEgu5OfmoFsutz4HX0I/qDVA0PaA2a5qBbKCLtWgdAvmgKcKmeegq+3XA6xAnUMfz+YcgV4mLSAAyYspoijBPDBvRQJDB/6AQ5alSkMj4fbwU3mGFWwhgqoM4kA+EgrIgn2odN49gAFy8BTBEiEkTBPQAFy8lC4PKWk5cE14LjMuYcuyAKVkENc5DBmiuT5sPjB3+ofjB+p0OfgUPgEg+GTszkA3+QBxQgscRDBnKO66+HX0O/qW6+yFaKjB+TGo9aTPaS2SmJMHKIE+s3XQkfm6OgG0UijBgR+rNw2NiiboT6+TjUSjgTTY8fgDjBPl08hqysWTMWt7qxf4BuAMF+p7AAWQ+E+g6cqoMF4ALBU4LqRzBz2as6gPJQpsIBsgOGAPfOeyk6Y+wgQmTBwKuBlkHTBHjBw+aBgAO02GSgdjkPecioGhx8qdACKwPzBjgsvWgCLBdTkwEgPcA9Kkt3QZdASGw2Jwj+qkDwX5qQzBB/aowQBMkgowozBRsgRYwhdQma+V9MLXOoB+mDBV2SvLu1UAm6O5MkcyWs56erOuJAeLBmPWVUa/mkUckxLBbtqzMA4Iw4zBdPwhq+x+u9lwGgijc2ZBY9Tqt3Q+zBjLBe4+t3QhpaBCAHUATTYavwkFOl1B7TqSMWuKAQYUQhQzKOg8WKCWB5sVxs+K+WNuhK+Lh+O7OB0k8NkknYHh+B7Ol8a3h+VKO0DBLTYlr+QSWeFaL2+lpB8g+6RBtpB3qqG1uIuA7b4SOImCaB4wm0gQWmdk4FvAvJO314KracRIFwAmjA/rBUNkMUeUOOoJ+GBuCzCfLBN6+iCW4/qoBQ4u+uEgku+6/eSZGZjBclw64+bWQmJ+0u+dFkGOavfoYuklUaRfmT5sFOA0me7CkROuPDB1Dyt6+uFW+R+5KcT5sQlo8N+2s+20aXEAlu6AdIfVe0YBioBumBY7uYsGZaqTbB8iE73w3juL9e1Zsb9eNzqlFY3LE9EAWs0gE+hq+iBES28VZaq4+yx+WygYRw/4+RjByo8tZcVUAwLBFCeXTBoQgzZaLiwi9AMrB9b6tVUwRwY9Y7xBnMBFXe4v27sQa5o2x+Ofeex+pU+kx8ZiW+P0dLUf7iKUC3uWbqAh6OHX0g4+/suqEYMOgOx+xU+RHOVB4km+AIaNe8YT4ec4lP02GWcm+z7BIeeb7BcqWSZcPa+pKBMnA8ccTh+4Y+39BhrBz4UVK+PLWNK+8Y+kDB1o+VrBDMuulaw9BS3+CNef1Bm8BadBZ2+zeQVqOdMk+7B2zBdP23a+g6+dRcTaAqh4KcK2jAmhSMzQiTOmMAvLu1LBK82AboeHOj/ggE+FKWfBwx7OQjBc7BWjo0Ee4JeSmq7DuS4eKEOClBNBujFBEDel9eIdBUqG6x+klaLwaTb6X8uHjBG7BfTOvjBkNaJZ0XY+dcqRqOotaAfsHyWYHB/WMRrBr7BvsuJfeKm+8du1L+bHBk5SvLuH9BerBX9BW8Wxo+UY+VqMtV8u1aKHBIT26HBYT2mHBAfe2HBhYIjQMz6+eDB8XsMc+aZkdjkyzBUjgG+seiWRpoFNkOjB9lw+/qma+orBR/8zJo/WaZ6+aL+HDBciEftg6TBRa+ATBJCWN6AF4Uq5u36Gnq+UNaMQ+vq+iD8CDQioURhcSRciyAfHcbmALvaaPeZXBcmcHjY0IUJqMLoAVXBDjq1XBIBq8n4uqWLU2P4g3TOIck6NsZ5QchcyNkHU2myAECCKxcxtsagWC/MOP8j8QDAAAlcH4ixOOnjBC6+8KB6KBMHBCde72qNlBhouiIARmiOV8EbEPOYPOYGDSGJopQEmSWl7B3Y+Em+oHBNYmZHOaTupnB9iWAcug54IVu8HB+rBEY+O7Obh+pK+/9BvTofHgprB1K+2MIbsWCY+nnBF8WUT2vpkVzorJ2X7wqfCxIAGkmCQuDqc1ps9eBu8i+Aa926FV2YPByBsEPBs7AsS+GKWWjqUW+hxBWeUMk+sW+fOUPeUWPeaPBpIBwU+BTqeLeRy+Za+Vj8ZW+VGkNa+qnmgs+npea4+maq7i2ZgAXpGIxgZocnjEjK2BjAsjQNzqLYO/AActg9cO2Fc5SaaEClFIbhAm68dx0DcMvq+V3gPucra+L3uFN45jENHQNN4Uju0aArlILBUGKBP4gnUEVHBr9BA7BPpsQ7BmCCMgI9OBev+lneitwuiGQGude+3e+FS+4AezFBeikr7eNfuDbBZKBOvBevBbzAfFUPdsNDmnZQeREaikFHB2R+F/oZdAoE+19URSWJzBDZaSNaOlEAlaRKCnvEN7Ui7BpNafAS5zBoUkS7BRb+JKBdvBDFm5w+Ns+Wjes9IfxB9z+AJBjVwQJBlYAOdq/oBmS+SlBUnBN1el9e9JO5Zah3B2nB+x+ZiWfYMRx+Oo+yvBGC+PxcavBNYo05B2MezkW1DeOEBT4QGw4fgeD++JMevx+VjiBWkXi+SDBalkLlAb8kEJ+3FOui+p0eqh4cfwS56MqepbBz+cxb64zMNPeMVseFBb8aTzqhEUyWe82B1FgawBLk4Kt8PtgU/B7PCAt+02+AWkceq6vmOQ8Ba4uF8BpivTqG+sS1Gz0YXLAqpcE/B8/Bmtgi/BNDegusZ/Bq/BpyAeYiZvMfk+gus8Kaafs7nkVg8TwAz+85YWLQc548j/BTts5/BXcmNcBjwCb/BueAZ3g/Jc4+cYu8rzMwAhFxMHJcXOsS2u7JcApcitsGiMQfMVjqBiE/uoDtAOiMF7MM/BuU8i4gCUA6/BC1goMIqMAtBcvvm8FIG+sNf+nLu+pAWbBGu4urBcgUzh+93BDnBJK+znB0kepMeb3BqHBH3Bp8W4oadK+WHBLYIl62iRUqB+ecEfM8QoAxcgnDY9CWifemaqywA7qqxpqtHBKbBB4U+8+x8+KrBcASmdBk88PQAgdANyktCW4XBwhEvqMZ6+K56bWQTR+9QQw1eYJAqQA3Ou5KcE3UeDU9MklyYdBeXuUlYG+XcvQWHleaxGGv6+PgXQBcsIxP6aC8PfBq2an0+t0uZZ4tquMZ6qReF9ArBAFxGFOUiD+99BdZBeHBl++hHB63+c9BqzeFbe6MAjzklG6RhcJP6KrBv6298BRM6jfAlzBRYAKpG7sBUq+E5a2gh3uuaFk+ghOghRw8GnBB9SefB3T2x3BT1O8m+GXmim+EIaQ4+5nBrTQibBmTQGJ+kbBt3BdnBoKWDnBj3BAicB8WrnB5KO7nB7AhPh+nAhJ6k5Yii+OY/6KmA5cAAQ8OXBsNAKuAvtBnx+guB8befng/QhsuBgwhlJWW5BQgh+rOUCWfuOlr2mzOsqks0eKsBkbBwQB8QhgKkaY+8CWEq+oFc0XBFZ+4RcUghu6k9wYzbo/k8vq+tBW+pAeQhAQhcZeCJ+JS8xkQDCBaCWWnBxQh17BvT2Db+1DEohsWC+W3AlRMafBXEgtQhPgA9QhZwhpGB1l42DGyJW3gAsyB+C4w6BWCBU9Bwje+X2s7qbu+Ez+/1+zCGdZmAZU5+BOI+qIhUsG8z+zM2FlURYBqYBHoBNL+rL+8IhKZByfWrP+v2au1Bk8e5z+J1etEcDYYa/ECteCceyYBSt+nVwnOeFpeplmPOeRSe8FB8nA+b0krCabe7VAl0kfnswjeb1BOo0qFeR52t0Uwjed/CjaqFukx36yMovckL5Gb78fzWAYB9Xe8ter3C7RBjgB3Ju8/eVfBScwgkYrlIrAS8zsFrQjygHvArASTmBGxcFdss3uvWBSzuEmBtrUreBilMxlqv7uqxA/7uvvuTT+Fohv2BSzukTENRA7tMinuevowJojS+MTQZohoCC5WB+zuHohXohnbuvoh/y+UzSCoAZqBW++R/u6fGHteOaBXf80LuB3+EMEcLudHuhcOMdKYbuAk4yOBvgAIYhP+A3ohRoufohDpUdHuCWCGYhu3uNOkr2BHABuYhGQUBYhEYhaVIoJBlggvZuiKOEgANnB1AhCHB9nBb9wjnBTaUT3B0keADBzAhbnBEDBHnBHAhXnBi6+r0BTYhV5sgE+kzB/h+VZaTvB+78S6+Y4hX0kSP2+Eayx+vq+u8AF6+FR86Y+sbBmY+A4+GQh0R++zBxpatgapP2x7OtjBKcWnvBZzB/6+w54cE+3OghHOyjB/nBugA+UIC4hmjB35wZ6+Gmc5kwHP+2FaiPBYpaavw33W+DBmEi+q+ifeArB+zet0gJCkwOOsSoKXBjjcW7YwEhJsuoEhMmBnDBaXBfLBL6+cbBdcq8P2gdUI/q11axohVaqwABkneqdBYQhAdBOVux+CNyWDpaZ6+CDwGU+joACBuLBQote9weTJMOp+x2ejLCWzqQ+BasWko+ftmPwOUg+XNaUp4HQmLem6QhmrBrKOTOg0H0+Ea8P2Sx+0AwJzBk7WRT4r4gzCGfmoKqkLwg6PU8Eh66+1jB9vkP/gZ6gK2Bmme6ABdKBttGjOewvBLa+nZQ+f+W2c9DUld+VbWNvB8vBzeUZrMA6+pfBQ6+pQA6vBoB+pB+WvBGRBg5ALZenEhFCWZYAL8WCx+0twgmMD4Y3nBe7BgQaVD6TTY2jBoHODDaEGkO4hsnBh3C/Uux2utFEkG+WjBmx+OfB3DA9DByM0FDa7d4CSiGpA1XwBwUs3BpOOkCg3FOtWEXHwl80fzBm4hpEIo1Ajm+bIwUIcuXUBG+HFuLgexG+5AAPFuahqBUCbtOyo2iMAEUyfHMkw4MLW/Z4rvEax+oUhHd+2Aa6SIfkhXEhDkh4rBvfoEkU6Y+vIQlbBTKOypazg0cU+PQAxiCdY++EhSYQs5a37BOnBhfBQIaO7QEv0as4O7Qyv04qWJ3BBCAbFuJnBVQhbK0OMuI0hLR+yBsLYhm7OTQh/j2DZWe7OMY+nh+Or6FrBET2w4hmXB1SW/nB/lMylkX50sR+lcWH4hQQa8R+/nBcEAZ1qdqBWEhJ2+RHB28BWCCi/qw70pjwe4+39gOIAYEhcPi5bB66+lh+Bk+aN4xEhlgAyA+jbkGv+u2uqmce7q1Ehr2+ZCkOHECVq9EhHueUo+Up+LEh114bEhMImHEhM4hBNaTkoGLBd3mwMhMEhJOOToSbNs5bBAcWiEhVbBJCWhSWUvSkVoPFu+tOtESbjAX4+AYiQi4bDGS2GP4+21OIjai7BFkhf2eoUha7BHg4hsibDGW7B8HObTYsx+WcWm6g+zB+7BavwJ6+YNAWygAw0v0+Bk+IUhoG+d9GGx+YjGC6+bwh4m+Hwhf7BX5kQf0IHBpQhBnB/FM5ZeA4+60h77BHNUbGB5kAxGBfGBfEhcS+XS+5iBq6qECaZraByBZ9k/hA8iGLshwQgByBUmBct4omBsmBOHARtE8bq6d4ldQbD+XxB9vWX3+AoBjaqNa++qkuCCymkZTMy0BU0BExBbww+xkO8EybWyp4qt650eis+r12BTqIuBJRBqxB8JWRdeuMUqsB5ae/vu7BBmsBanePBBV5Qe7iZzqiQkwcat0Ul7a5qqYtGJxu1PMr/eW3u7/euggZJ+1aeFJ+kQeLU+kjAv1u91kQNulwUishaSeizgt/kyLeoIgxi6KSO71uWgE/hAxGB/hMAshmRQoteUykDv+PeBjRBAFmox6Z0BKHe8RBr2+2O+tZelb+8kG2HeWiGfhQbYG+HevG2NdBfymkW0hB+aFkqFer86+chmz+3HedMBQmewEaaMB3VuPvuQI+rc2Y6+1CBzIyeIYlaiB4wSXiGBuxGBnC2HxkznavUE+IhyGe16ePpe5PQ+qBU5BLf+7YmbbBXle19Q/k87peYyk1G2bD+l6gp5AmvuNOB9qBaqBgeBjPOxdMpmq4chXo2r4kmuB3aq2uBH6Yr4ejOevjGzm+ZChsBB5KcjfMRBaNChBNBZTMpPewN+T1MSoawN+1kscd2AEB0wAGABONBzlBFCh5Kcvqc4EBnlBljUGR6QKWTmefQUyC8ZmABnm13WUUafx+mvY2geTHQ2whE/QPfBo1e8tWHfB7kcZOAlQcw/BVycz+cMJQczojusczoRPMyd+BChJuBYwBvOBn8gtCh9G4gSeeR4B4m1ihfAAtihbEAHFBOHg1ChgoBiJBTihGUA9KBvMOTChPaqnihakh7Fk6s+aVG28gbChOcaKKkoShHChRx4l1k4whOs2Ct+boBhIh/+eqt+ukAu7QTIhsGepWe1HMWNBe8BBt+AuB68haxBRde/k8keBbeBs5gEMhceBQByUyk5S4PSMOL+xgMka2fZmZ/OpZi2YErjk4aG/KevOefChi5B++ecdsSeBU+ebJeSeqHShWeBU+ewihoFg9me4ih9fqkihOWA0ihvD8a3CGIGO5BZ1qeFkIpAvShfIAoyes6ymaqVJeRmkgOAnChMSh9Vu5mA1eB19e34m97eIShUSh7Ch9lkEShNukFcQ8yhMnse7g9ihYuWJ3AjQBFi+zIhxYBQLgi3e7j2M6+uoU0xcc4A4j4nC2ydBHoYdZ6W4CBwwETOqeqtvcoTA3TOS+M+ZuJT+Vv2ascbjAooAOxAEuwoZA14s/YAbjAlN2fV69UQUZWAuADnQfyhoZAFKUoZAZp6jtASiAOxAl4AIMAqKh22g1H+lxmmVO8Kh24Azu+C/kYrgmZ+0LMDc+oKhkKhTx6S4BKKkdKhuS+1S+2EAyKh2KhDKhO7QBKhtAAGMoOxAa4A5FABKh8NMoZAfSqoZA2x6PMAcNqoZAAOcOKhtvctrUBKhUMEOxAgNMmKh2SEbp+2KhoZA6b4oZAWJ6Kqhi2aN0AOxARyCoZAth4IvaMqhUqhkJ6AKm9YhRIA0EO5r+06BlKOOBQXS+HiB5tCEKkyH4cd4oM8WH4OjwHd+kpQczafSgKr4tMaYKB4lmSjm70i0SGnLkeEerd+U4AGRue30DvuPqhJlq4IgpTsiXMEzkY0i5DqPNuidAc/cnV8iyA8rohDUApkHowojscdIF+U1cBi2BLPAc2BarSxxIcl8I2sJNgtDAFF8WEm5FUC2BckBRZgoZMezgnQciDQpgkRj8i8hXr+bAahhB+DWO3E/r+lzqvNq5a++wBob+0tq4b+TfWtVqczAMWAb8efwBRggn9mnwBklmBI+PLE9vwYTuI6hAIB2lqwIBOwA7f8VYUyN+alBIF2S0iyLmnFeV1+NwB2S0UnInpWuleZ1+9e+UxaLY2iVGvPumPBtPuG6hZc+n4e1nMU2BqleCCUfQCTYGwEGCXmDb+d2BXCee/+coWmJcJrBSb84IkyFBUchhPBYQefRO5Le1a+YuBeJc3HabwA8DUIGh7JexYheLaWw+/ACsFBUPIi56nPu3XAEY2NcQ6a8LtS1UhaK+xqEnQBSNBlGB4xAs6hY6hgIB4IgC6ht5Ayb+uMAzC+w5+hVEzTuFVgXT+eGhK8+klmuzCBSggOYvJWoBao9u0gg05B8veYF2mi+7chwmGnY28264vCOzUxJ+c/e2i+jU+nBBevetDumb+eaqPOsBaqSRc6XChzW8TY+zWWahn1anrkTPMnrk3PMgWSktqEgASuKsr09zQftkfnQS7on3oIQkfPIGXg5OA+UBQYk4gonuAXbcGnkokaG9kpmh6qknuAlh+bJuh/BIU+L8+8zQhvUAU+zTAQDeZmhKsecXkXdu+5+CfulpBEWwUvejjQfWkKNEHNuZfIotufNuXgUAtuoYWG/IItuOS6W4W4tu0YWcra5EGkaYH8IKWheycX7Wytuh2Os1wztuGtudtu0l+cve2suCve3JWXzWmPWRlu88koQhjTe4QhuBuutu3I6R52rqkpRWEzAZ2O2PWBieXtBmreYwsXBk6WW/wAaWuLiUL1iJGWHhqVV8R1y54iKBCpd64Ba4zWj1i32WpF8xDubU6qk2WbW2NO9w2D22uMUhq2Q1qH6Y24uAoOM4ak2gmh26o6y22s7ioWQ4HqXwu758Tik3aOOw+18wFCaKFO1jCiqOCsyRJgvOkYmQnLWw06K2hGE26L6V96l2hLh4ic0QrAds6YHis92O2hCegrVGBvWEOAWOARmq92h79Oiz277iFbW4k2GI6NP0OFCGqmNTmIJ62ZER1yNGWKBCUcaIE0vMeXoaNDanp6iJmzJkXBCk7WrOaGRqikW+qmhXqtNUJXqsJmacafGWs6UnmMDfGGwhx8B//sgd6mcaP1AWcCYa+4DgaycYK42WAqZQL4WEwAJj41eCjwgxYg6um3Q6HD2xYgaz4ec47wASG8q0cxYgY0Y6oMwYAAuhpH2CkkdVaVc4xYgrugAuhNbQqW4rW4y84M8wbc4DsuRKoUxaVgSNmkz5+YlqqVwm4cnpq82h+h25rOqyOeoYQTauRkiO0kPy/cwargk2uqoAI4QkfWn8gQqe0W2YOAtmYCTapJQVrozuhMTakXa7uhNs2pJQauAXuh0FOpJQvUkfuhe1B6nGbU29pq/vQQ9eKUUR3mJMehuWaauewWoO059BGAuTRWD/GF7mjOutwhAmU2ghNyko28b0aMFq8j+Tc+Hj4iGWM64S066Qeqe6Z7suwkMuBG0AwZUD4Q1UMtFkcyMxHmfTUWfGAcM00eq/a6aGrUAPsMikuYrg70A0cMknYXbAgo8IMAJgAbA+E8G8fmRU0Oy+5EAR/2GQgG3CQ7ONduk+h6AgOTax0ImTaY9kAggs+hmpEhFo7n0reYTnazWOcdI2QWfla1++9u+DfB73a6B+zOMsoW5NYfOUBIe7iAMEg4/Y+AebkmnnAHkAXEIrXcDCMWZQC1Iv/kV/qmHmoz6zmWUK4YkgOV8Gy6/SaDcaLwufmWKwSv4S2R2ey2HZ+KbafCQvLa53C/IUZdOqoEZckf16lBAQf+LDkwCgjNOC8aXNOXbGTuWxbalEWnImaHa3cwcdqy52oIOuDkRscd+hhRQPCA2pqZqiomscMAMYeAoeq6O5eQlyInvgn8cjHQvbUCloNBhTZO6AAw7a7rW+xaqA2sBhiMakwawVajBO9LWLwSU9SNJmoGWRPQGFkHxaD8AxW2MCObsSm+KKW4XLW67aFBhGzwpTYsuotqkwhaq2hV96kviqqAfBhnjSJa4siq1XI59OQ0YmmSn2hzTatd2Y0YRhuSPYeUOeg62ZqadqSKefVqguWtGqSz+tOOj3B916qWB636YL+NRgcV813WanqQHaVO6tgW4549SALza2bs+8c/kgDKmy+huggZ2h/s+2Cc6hhBAS1XAKqO/i+/lWgLI956GaAR3AzuwKjYAUUQBGscc/hhEygeT2QRhwQgIRhYk8YRhe4SR+SOgSyBsegSURhAs2ZsksRhq3WFQwPEQqHQcYYmbWmRhFA+Aq+x362RhG08uRhasS+RhRhaVgSU0YVq+fyAjruHZwkEhPg+cqOi+252hg8q4Rh5gSkRhRRgxCgGSc4jwJUmVmA81o3Swul0ekADuMDuhDnq+UY7rqON+1LacLa4P6qxhsL6Q1gU2ERs0nmAYewldwqSG04QXNk/R6xN+WLaQnGGxhpxhaxhtLaU2EpTY3uQexhldwgPIAVOK+wjN+WLaJVOmowOi6yvULxhMLaNN+XZALvM3uQq0g+xhUwQDoQagA+xhs+2X5AMxhZ3AObBB/aqEAZIsTnalWUIT+Cr+z0YpmEa9+Zl+xAE6BhPPkz+Uoz+Crqj8UkrqTb64MIt/aBV+TxhnrkaV+mSGL76nxhuSG8ranHCQBA8Jh8r+9i++Sk+uBfjwS20/4wxVc6GuMnQmra0huaJhEUwBb0zQAbwQWEAs8G6X+fyAT2OYOAtRhOi+HZwzTwBMkRTwjRhy+2zAS5gSxZq7RhR8YgIA5dqj+qVroIphBfmFycBMkOxAUphiqOMphp2oZHypu41C0L0MpEg0rgEBweVIzPuauAeGI3LaCYWBfmxEwyoAVEI+raNJhGb+QFA0zsJraP2BpAgzx4FraA9eX9+1raAXwYD+uhQILARC2YAO3BhvqOfhOeRh6e6ahhoZhS9SPbiwZOQZhBjOIZhLRhee6Rmq3eadvO4hhKwS49Qa82SfGmVchA0nvgEBhg5utLSNNIw06MZhJVucZhJsSrRhkRhs429qAt1WhYYh5a876ixayZhKhhqZhsphMuGE463BhXcu9ZhwxhuphRhaD32RRaBCQWe6rASWOquA2IhhwZhOphz2oBRh5kARRh5ZhATAMhBKm8ZLB+daV0aMiScTBRzKH3OB6OnIUygcfuuJtOPIOad6zuhIyyf2g8HoCjqEfQmkKeCCUDaKF2kTKjQUR/2aPwPJqa1aN0AFdokjAKiQ8SAAs8tncR/2AWgr+IY+hM1wG3COeAcxGoRkknYR/2oME0KEhxY9pW+aOpwgTpBLmAfuhgyOUxanJhB846WuquGHBhoaq1BElqcMEgGSqvmkulmsiqKDAhC21BEC5Ao36nvCgOAId6J3Cq4UASEjxSIdagq6XB2pbWLoScWihf2zZhk92j926oSQ64Qu6SFhiZhMc6+8azGgi844xg5L2xFh6hh88wVRudsAhvU/86uIaFjkWlOlCaTveFVgAEWp+hVVkUEgWs4TsY2gEPWQwJmVxGZBhdFhwDap8a1Z8YK4e52CM6bAavFhT8aShgKkAiBAy3ej9IIbEczoyaAo1gliB//sNI41uIQHM5nskaqtOh9Hk9OhZxod7CTOhpMIl0ipEal/iiR+LVk1Vk1UQbmAc7mIAASrszlh6s40y8MDsHlhc7mXlhblhvlhLlhs7mTAAMy88y8toEH4kGBIn4kCMUnCANI8kAk7pMcsW+h8D42CZsJoAZIQoWavxsNNUomEdfAMTQPJITsAOmCTYYSFhpOqeh8aGwWGq0IM6Am09+kIQ7NQIXwzXcNLMOmCJwmNFQCVhxVhFx2Wy0aVh73kGVhlVh2VhNVhiYghVhDVhP4gn4kYTcqVhvQc0B4FVhhziHVhuVhuMOWv8f+KbwgcmGsAKOv87sArkARmCElhkQAUlhX8aSi2GQ2hN8w+O/N29G4Ki2VSa8aWm1hfAAY+OJRoe3Be1hFDYND4NCS03Soqmae2fkA7Gu3CAWOq08wKQYT0uz02wC4duhkCY+5hU6GBuhvjgWxOwTapmOIZqV3y1zMw+uF7AOWUQjmdZq+WIMA6bxUurOj5hf7aEmEJNeNpISKgjMMWFYpdu0GEq4UVdu1iUGUAcEAsACFkkpHeZHQU3uffBrRuwmh3chf7YlJ+jTuxUkAbuWNhH/elA+xukKfQfReHw0GIAOxAhZA0x4/1A2lkDqIJWSK8AoOg+yAVro1xAHNQfReqcGtpAhZweNhQg4hNhkSQSmEXeaD/OmZOSZh2QuvBheRhOJgD9KZFhBZhFFhKZh6hhX0S80AheORRa3Bhv+hEthLRhith508HFhE7OUkSS3AzKAxOixESdcOvNkwYE+2hAmuwd6FiABUYLbagI+7FkwVahdaZqisEIRzK7tGy5hpBMVOhJp2wVazuhjHaTiMDpw30EbHa4A44zCg5hsZhOviwvi9vitQI5cOOpq7/y1+OabAzTwRTwFa4TOAw8cTacOY0btk0ci0dhQEA3escdhcnI3TGWiWUxgUdKuKSqV2wVaFxkwLW9/2YLW+5asnaFvQlFOOeANi4edhodap947+h9MA2uhSI680c9th68Qv12758VOhZna7XOcveFdha3uE6qoo43RhtnE7mgKbOpwArxMxjKl+s1m4/cwFhErY+dLGFoBKROuZq5b85v01SqLLyUjC7BC8h6vhCQ7WcJm+qmfS0vRQ9GWDY0nRwKAcScaytCWREyyqpRORDamAQxM4myqycanGWJXqbGWUYaVd68SA4oAhmWPOyPTOSJurW4U2opwERmWppm+qqJ0cxGQj6qDlQlT60zO5yqcau+ZW0reRUuXsm7SmizOZZWys+3suX52UEu4Cm2audr2uau8Eu/rm7DaDO2P92ZMesZ8zO2q+GX0uHjGQOWeKq/f2fN+YD2OeW9au8Iujau4NGTEucD2yIumauaIup4CODh0UWjsBEMuZDhMu2XausMuYPqD6Wqu2D9hC8SSYuSJuBq2XzadcYZEEr5AGaqE2uHZwoc25KclIuLhM79hU0Yi2YFw239htlwC2utnE7RIOdUojh5ecU0YK2u2SelT6nPqnCgFYwu8gJgAHW+wNGmx8q5kGpoyfWkXatGqO1Komq24ArIUbdMViaYth3HaUMEnBqlK2D/2PhQELMKL21MGvfI9K6xFh79haUimmSp32PyIkfOBs63+h4thsrW7jhyeK/0i2d2wValBA+mWIQOmwwpthN4AXYAKeGXrW77qUuA7gUFOaaRaYThHYOqnGkiOxYkMThotGVkaCThL5IYqQ/K2ZJmSWE7wgTQ2bjkdcSGqm1i80Xq1GWHWWKBC54ip4iiOhzGW+qmQy0nokRjUud6GRqLWsCyqXyOpd659hgNUBOh8cadFCCTkE6w22WUYasJmki8Vd6JYGBRuVhWcOA/58HZw7FAGUYqQ+ISahcOFGQlV2FbgyC+gmwrtkh36hv2A/AgKAAZeGIA2KBI9+/ukpHqqMYFvA4LEOkAQaqEIgyhhH9O9fqwEgniyR+mm+24M2hrQb2huhhgmo+hh1zhhhheL6lhhwBhDnqJxhO3EGSGWKU2WkXshbphLBgHph7F4XphSJWRWBSS+3phF6EEna9jhkfCwzGU5Gwe2iRAMlUQe26FmIMA+ZqbLWxzS29mb/CKAwTEkw06ZzheBOj92nSyYw6DbGSG+kLhayOsNIHPqq2q2hO3xakKyWd2pxuJM2WCKoe2W22wXBPOsivO9S+uZhOxSaLIwia332Km8AlkoNkDeaSam2pkWPw+ca8fmch+e3kkKmDgmWnmA6q+VadE6rABTQUqKOgckiAB4nAl6wNKe3+2cvwKBq2calO6QcY4seZAgJj2uXCJFOAz2qwUJ/uU6gDbqQOChZuTQqq22VnepABrFkyrheIyncOsrhDSEKKEZj2rC+EOOt0gEV6c0ABc42+2HFOphWH8K1/uqUhOiaf8geFA/XC8defygmpqXzGhrhpQaNkgprh0TWkbhZtiFyyAV2Mg67rhRrhZ/u0bhKMqxZuUDQmXulMITSWW+2RrhEbh9ZKCaWYbhrHu8v49ZKJZqMZi2GCJ7uwQgBaW9T21nk53CgOAElOWWBrWBW7CDT2ZVOpiAN3U7OhvvcuXaFRqnRwnokD60bbhZ9hxO0uxC2UUJ0WhZGgKWdrhdqO7R+a1a/pWr6UrKQtqMNcatkk/Lh1YuDeAm2e9mGsK6G+hycAXC+fm+GD8MLozJ84rhIDwc7hdqOzhhQbhMWMM4aD6QAAcii0HYm6rhhu2TUmXlOjrhFvsDDBeK68JqUIAP627YUXAan8Bcn0pL2S0QjMYxcge7mgAcYBh15GZ86hxhXzh6zad7hQCID7hWs8dQcwS+HK+cV8230WAmCWOJHaZHaHdYalQ6bGnYIMFkDXmfA89phGt+0GeJeQasGJgkONqYrqfik5AEaHhRmBMLhBjCMNqKaB+VO3L4olONbhlGWbWBmju5Hh8lO7WhnKhOGUb7hYmQjVOHYmrosdE6/VO7KQyfWNwwSOIjygFjh9QwSFAmThstG25mKa6OTh52wYBhRouxuhVyOYqQKouPY2292UO6XD4xL2qSelT6G4whEScIQAjEqoYlaSD32TLho+sCDwcUqS0Uvxidqo7dhpLhPhQTEIk4+/5qXv4SzhnbgKzhB4UFnhWsa1nhqV2uLhSg2GUAKR2cMAP3OOLhIo68gApu2Nu2uJ899uHjhruSb/2hA2GWSXZh7nhRW2y02MCOQXhUgShuQ232UsaRmqjnhpT6MCOaZy/tsgBhGdqpnhbS2tDktMOWR2fCOhS2cgUijhmXhqV2lBAUrhhVa3+2RCQnYq8XsCz6zgOcXhr32Vh2GWSaZhj32XLhIJBB9hpmmyP0K9hq1Ga9hp4idXiXmSrxC4VGeuiOdkvGW1lKsBwvcatrQYSarW4jCaL9hkOomc4NoAtNQ4wEoF0TsAs4+/9h7ZIgDhBr2QOWIDhSau4DhJkWkDh6ausOWRUul1Gv52ZUuwymeauaWGdDsKDhxauVDeaEuTjGAD2IIuQD2rCgNauOHC5QWRDhgMuJDhITGZDhYUWj3hf7W13h7auDUGnauS/23au65WrDhUxamv282hFbgKYuajhprOXzaexOk3h8PAOO0LMAeUIHZwcYYNbGm+sxuQs4+O7hxjaKJGszqNCAuOSMmSwPysiq+oY+FhpHqlBAgq6C1qXcwRy+2L6gWOCnhMuS2mSC1qoOoAh68o2TlG9Uggxk74upLAES6pDqUze+PheLhH82jdwDwqkCgMPy8C2PoMNUeCEoVbWKBq0COWdiHPhNwqcdAPPh9HmKvOvra8jqq2arPhueO2pql+OLqWknYpwS4+OedasvhkWe4Th3J41N8n1CuRqGqmKfc+y2l4WwYMLXhUzW0aa4VGa2WXS0x4iLrC9Rqnp66caqUui3hT52yauL52K3hoEuJO2awhZO25fw2zOtr2VO2cEuhdG1jGxXCGOWJ3haDh6EuqCmt7WXf2WDhBOWnKAN3hfkWJEuH7WY5WzauU5WoMuAHWjEubOWi5WTDhBIujCmBUQW5hrA2AWgLRWRJ+gLIfuUB6SJsMHna9U0fs48oaavhVXho22erBZusRkSWbCE/Ov5cJM2vYS69gcUavROs421Y6tvE9ROuvhHhqTsaLLWIJ6pYkbTmPWWo6WxDaPsaPJIUkWXLyvaUiOh2XqqpWuOhqRqyRqI2hJXqrP093k1DadU2IzhXbhEia19h0iaN8mVXi6Ya8h6WYaUJm3bhw/h9GWTs2bcAbfIl0YcRq0yqQh8gEiLJCkcaJtCadO960br2F/8D52+r29vhizOjvhiauzvhqaurvhsRB7vhUD2NZW8Dh+3hiDhp7WftYx3hL0uIbmHf2mDhRWGaUGXYAkfhvh69iAI5WD3hMDhTauz3hKbm23hmWaXxqkARH3hR3aX3h1ZWy/2JkcylYqu2bNs6qqDy2uuhIt6kIA+6CR5hIK2J1O4Juus2S5YcrhWPwNEm1AR0FOaKOLSAQ1q9ARPYuIY+dyg1LevWwD3e8fmm8WzQhJMA1GIz4IEKWLuWRyYXQh9jAtVUXJwNKOfh+36gMT2hpqv0ADqqk/aPA+HbOdVwUuAUuANZeJOGgqO5c2Pn4PEAb6WL7OqZmaN4gluuZqX50Gmcvq+5qOgB4XAAOqOthoI1gt3QRQhEvqPT2jsIJqOAZkDSOncORTw5zhhA2FVy2Qigp4Pn20eOl06k1eUPUq2azgRUHarZhV/Og1ylVyBVyl6Att2PZhTsOUPU0ZA52y7rARmq/gRueOrnhuAudW6wQR7gRIuOo9gcQRX/2Z2G2th8MaijhMKwDpqywm9ZGNMEGUAj4uV96bgRJeyfsqyXhz9A/m29sEHLkjWOtK2EQRAy2eQRKo68QRyZhZi2oTicw6I+OwniyxmYsqhJSMfM02cERO9Dqwwe0k2+uinn+vcu4UiXhOLwAEPBnjETPiCS2Uo6LQRIw6zhOzA6HhO0daSeY9BScdaohhKXKzQmBWwMR4UwRchaMwR3jOEBaq2h8vhzWSyxmg8KLi2BwRJj6oXhE5ar8ubtQUVy3h4mgRUGWb2MS/ODQRXgRTNM7wOgp47cazQRMc6Xcue92+IorzhSQRb9W4GsNFhIAARThGQRclhkwErX+v+0E8EWEATJum0q1LggwR9ESyxmAMy/z4wtgAWk02a3RAEOc2MAZusoqS+zgLguQvaZ7oWs6csIqGkJp28QR7aaYhh9JurSa+Vu4Aao32PUkeeCe2Wd2W7bh5aIvP8tAQ61GJMA0QCD/hMreAEuIEujrmwEuTvhxO27/hJ3e0DhyARsDhCWGIUGf/hPvhjZW7YAtTU/vhwARTO2oARn0u4ARHjGfOAUARnr6MARw/2ZEu8ARpDhyfhE5WUMu6NGkTGp4CyoR6ARcR6DDhi/2WARP3hK/26Swv3GXr2n/6Pr23/6TSupEcLSuYPGbSuiH6HSuWHW4JUOHWFFe6H6EBGyPG2H6AyufTG+zmH8mLTkWPGoyuyb2lHWZH6NHWMyuJPGU308yuzHW9zmVPGbHWxBGnHWayurzmHH6vHWzPG/HW1b23zmeyuXPG/zmRyu/PGvDk0nWCaARXain6Xb2inWNyuMb2eIafb2qfE6nWTyuxYkI72ryuY72unW6Lm+nWnyuU723yusuoJnWYRW5nWgKuy72gLBeNkpLmtnWgF05vGVLm272UKutLm/n69LmcKunnWCKuLvGMogKKu572QXW6Kua/EmKu/Yc6X6D72TEc+KuIrmhKuEDk772pKun72Mrmi30lKuywkGXW54WtKuQH22QGIH26rmzKumrmOfGdxwkkgxYRnKuUQ++rmYNg1XW13MtXWJrmp4MhRGQquFrmoqurXWaTGxYw8eyyRyfz4h4wgKW3ARRo+JMA9Uua36Bg+qrMepM6rMmwwb+e7QAggRfMurAhfveZgato+IQaRFAADIS7oNI8fQCMDUxXBmiMUfcErMfQC4RqBVGq5kh5acuOVbGioAgbhDuo3XBtdUgJcyC8JuQ4jstesL7mJrgZFMrWsmk4P9s2SED9gwJcZMeTERgck8z0Y5M7ER6us0se/chryhfygXU2RJ4FVm4OAb6WO6GmPImQgzTU/zQPOs3ERkxcdOATkgVFM7IeF2uMNaaAhiP2j4h8HoG0GbBefEcyKWrsAArBiiIUO65vCcsIps2DSA5s2VkRD8WJCWrJIhpq+c2ZG+PmqqAgMA6+gRc54NdkZPMKzBYXBBQhiNCGIo5l8dW+BPMYOA+H+ZzMWx8n/BP3gk4goZMSkg2HckXaLgAYewa3MUURPTq62wtRc2ps5O0eO8+UIOVqSqheO8bwAGUR62w4i4IiC6nId064Dg4OATGiCZswQIq64njuH80DgsDtANc0VURFz8mKmCEU7ga/CW6P2sAY+2gwSWFjB6Ogo0oBzB9xUNMWPkhYDcnYG8la6OgIKofLqO/q/KhMAm10al2YbcAnZ4q9AFZaWWs9SWxXEo9aLSW6rgZ5cW2a2XBkU2XzAy2at3QbkhmXmrMgMyWvSWOFAiyW9uUxAA0fgx08GZAnDBvjcCwkUyWQHw2yWyyWPhm7HBNzhR0RD0ojLBWtK6VA7b4p0RJQictgslA9jknkRoXBsky2zECwkQrBgOa3URez+UyW1n0/nCCOgmOa3yW/khMyWz2ao8WYm+91OHwhU8WEbITAixYMTgOK0hjquVBB5tuSm+F3BVUm/yW/OWa9aVz2MmOiZOuzWzw23MaIK2PagWQyMK2Q54orAPPMmbBkniFgAbMEuEgDrOFAR2pudARHs2Ok2oigqOmFjQ05myVIueiugAZSEPCAiqqC1Iw3qnjEnSk0CAD3GBOaPCApbQ65AYHG8jqfae9mMQ/QvV6+6mBDcqVBKBqmj2pgEo0Efaeq+e3lqN4BcoAvUke5UzheA6qmKOmc2flOgH2COwVxIxr4DMR7I81tsAsQ49YL/skGgDlWJxG0De5zB3aWIW2MaUdMcrsQ5BkkwIB2+qsR2pkhkYUf6XOaUO6MqQAuaxfoKiQdj0i8GhsRxFOBpklhse98C36rk24JC6wmXPanIU0kgmikmik7zAOFQ6RBaoRbbemLC02aUqeFCae5giBAUVYoERLiWRK+YKWrQhE1kvYh44cYDBVMupNuNMu5Nuw4hNrBqT+0GewKAg0ExzcdK8iuAyWeC4mxzCtign5WvhkOQRM6adWyy6m4CuJ3E/06U+IUCm3FY48RJ7eaUamxkulc7iB5sAhWILP2Rq+qjoNukUmAx6g5FaHUh0q+pP2u4Uzq+giMfwMGrYMF2ZR+H0WE/A+Ou30WqZibDGSweiJkx067GOeDiZ8RH+ox068zELMhLtivkwSyAxVWI7CaiW7wwYDcQHwGlc3gm1Z89bCxjuuWmPoM2nI5bMsXEr5AYcWhaW2gClhOZ8cuXUtAUYaEj4CV2STPBRow0CRZYQIskcCRqh4U3hVJchUgIgUMCRpdQsU2FTQu4ciCRpTQh1hczkErQRc41kgnMRxCRRQ+mCRSCRu6CXX2d4Et0Ys+gNCRhxY5QwYCRhlkJCRPZalCRBCR2NU7Kq4LqfkODPB/gB+CR3vA2ZQYsRg1ghxYdCRzb4wlqUjgjCR7CRAiRUsR+YAdCRMiRlW+HAgs9AioGBBmRBmGC4OkA42mwumXOmuOmFhmVBmZVwNBmzpwdBmdvSsFwxYgvtgH/4xBAimIXLkvPq0bYGkg7RgpzwC+cLc26zesNAFYwSwBzbCKZcUxaRX4ZSAC+4lsR9vw7cg8SWn9enKA6MYy5Of8kZCR3MQpCRRCRp8gSXivkwATGLiRILAv4+dk0K729uIceOVrCc4Az7g5T4V46SAEYUAd6knAAu02ZDGA3qFLcLUhANAQ+BpwA6n4qSRiVURrAGrAQq47TA2SR9KkH8hPi8ME+/kkEmkzcRqbevMhSZq/4+f5E/kkK8R6LUTOgHT2om+mpOHMWCMRaMRhjCn/hmMRlQhlshzC6w9u/1OoUelhsVwIeHMAXkoSgFsRIRm7I8qlANsRu66L8RvPB7oRvCce4kXaWclaTOaOFQ49uO7QFrUFoYYWE6WMrIiHDQUpWYj+mTmrwR9vstkB8eOViapIR1UAZ2GdjhUna5Zk9QRBS6rwRMU21R2AIRgeO1ey8jGs42uAAkwa8wRJ9Or5AGSgFLQH/4F3OE46gKRPBh5/MrwRxeyLey2d2LwRA8R7wOLeyNxqwGO47grnGMc6TiuGX28GOImOnBmVX2BD4OgBdX2Yn2nC45PQ3C4mnCc5ArX2Cc6CKR52yy6myKRwsRbP4UW4ESuK8uVKR6QyNKR4rSKKRkx+1iRjV2kKRgQRhA2MKRHvScKRCfOzKRPhYrKR3gANEsBhA4i4aDu5xalwRUHamKRXZAmX2vMR7iuToSrCuwDiImOUEgwUA4qRSY8nSkPGOBKRon27n2ZgBpKR+GO4QRbyRiKRnL2LeyYqRghgSY87a2Rw2RmqQqR8GAIqRg30FogFqRhQQSpsekO9yRUKR7ragERXhiAqR3ZhxqR1KRSKR4rS9BOUGYNuG72qbqRPKRVh2fKR1/SLey6CAnqR2QiteyRqRVpq7yR7wOMSwdWyzGErmqqBeQJ8sR6f3EaPcFhs0qRQOhVh2ZQRyVyIrStt29yROG6+AR4uOrNqxf+OxS9Phzth3fGHoY4UgYOqJYA5EU35gSiAe98TBhzMR/ZAxxkHNq8CkhwRbPhpQRueycFyOBOs42Bx60UmkKRwZhEaR7uykk62d2kKRXB2w06o6RBB2qA2oaR5IRedatqRbwRASOG/SnwRYIRAQRYhhvwRUwo/wRV96w8RKWoU8aIIRJIR9Fh8lhDOq+qqiqquIRB6R3ZACxgPjQt9EddaS1YGIRC002MAfcRIskJqRcr2T6R2UAGpAUvSG6RXKRQ22D1qj/Oqw6HC2dPi1eOaWQFwRTkYyhhs6R3wRS6RlKRvqRLKR7wOUvS0EkQw2i6RYXhO6RxhmrTa+6RrwcqDGR6RoIR6KRSx2KJoLBumagnCRrSw4Lqu9y6kYWGR9Zmt6Rc/ogeoS2ID6RiMADnwmIRmCkJhh/cRfqRnL2n6RSqAGbOSGR9IuPaRB02M6RC6RIthEKR0GRYXhPqRCaR76R9wOpRo+q4v6RC7GQmRE5aaGRB928Eo3xaB6RwIRuGR0mR4IRlvqkIR122xHGISRRc416RXEk9FgYSRkmR96R/86j6RDGRz6RTGRUDQomRrGRH6RpmRX6RD2c2mRPdaJ6RhFhAGRmZOKGRVFay6RcGRwqR7wOtH2zpgfF4eCam6RZSaks6N7qjmqiqq3mRfMRIiRiRWnX2vMRc2adGR7GRL6RzGRb6RVmR9wOsWR3mkDCREMEsZOqmR3mWfGRB22rmRfp2K6RbmWQiRzLSk8+DmReGRnVGZ6RhocwWRmagYiR4sRaWREWRzMABWR0WRxmR9GROgAjGRr+hLGR8GRbGRNmRHGRVWRwiRaWR3GRuaRLe2zmRgmRVwRuWRHmRdqR7wO8iR/i2JWRAWRZWRQWRF6RmagE2Rzd8qkU30AKBm94cE4g1AAHIcryRlmR7WRcr24CuC2R+CadPAqAgE2RXG6JmRzWRZmRrWRCWR22RSWRnWRGpAe2RjmR3mWYaRU8246Rzey4rS8KRo2Rq6Rcr2Leyk6gDIgWWUuwObqRsqRKBmDdgoWRiqRxtiyqRnDiImOMVQcvALkc3H2jQALQARXEWqRgn2OqR6fARKRHn2BqR3n2qV2eWR/qRl3M8XEWKC1qROuGb2R9qRX2RnIgLqRchOPGRdZhXPWMaR+cqWAAU6RiL2lzOJAODQR21qi+oZhut3Oucu2SazsAMgwrgyVdQRhaE1q/mR/k2lzOXFqZiR/A6SwO9ORydqYaoi5g5CAEPhN7qDcOwZqUo+NhqPIOFpqbqRii2F+OJwR2Ti6q6pvmAlub8uBtKzwR+OR7wOXgARrsb8+h3EQ0W/bW8OA1520omFfanf8gmW6sRSeM8ZWMehH/h5QhBlhq1OzkEJ20UxaCFucE2CtOxMR+5OA3SeO0mtOU7g2tOSxOXLwIciZ8RYbOfZOKtOuzWDuhSRaTVOEIgVxOy4AdxOcyAfHh/VO9fqGMoOy+9Qwq2qVxOEJaseRgrUg9qxjaTEIFdo+OAt00fKE5aIt00JWUUEB9ARLVOH72Vv68WRJRoKhA4UAMKwnC2EHIsT4vyRQBgPPAfx0wp+DQRh1OQNOF1OBMIfx0PT6b+h79hy6mNeRknivuRbL6DQR88SICRSaRRtOiB28oa9yRqAg4Th7DhxmW+zAovU5joVz8E94apsoSa9mWSFA+2AldhmbaK1kedaCuRKx2Zw8rk2sVY0WEFZAPsRdmORmkx6ge8kxjatrUFdox1AXDg8EBItuQ84LYgQpaHDQJ20eQA8dhD8Rg2OsehReGeE0qt6GaGds+xHYd4+uzWWuAr+Rr6RjQRqVyQ+RNRuODq4+RYhOpBeEcRp+RluRCpWUO60AUFdo3+AaNhfKEyRAaNhJWUDuksBRo7hqoosXOQKWDekFdoy6INRAKiQczsxBRJWUVhesBRpeRRpspORBdajyRRdh1K2CJ6jmWFeRrwR5MRd+cHyRVfWV96T2RVRizgyeE6QU2tzO2WRIo6JiuqA2K6RrBRT1ApwOb92HMR4SRSvAzpAEmRXMRIG6SSuPGREWWKSucMAN2AiSaBMkzpARX4eKRdIAiORbn2TSwKORUn2LX28aRbWRPhYohR/1Ay6mDKRd2RxpqczoDSGD92m2RGXhq+oWXhUB2FmR9hRSXhKnh8gOwuRSDqeXhUThWggRuCesaLORjVa3yRyuymQyUQyL4unBRMaRkzgkQyT1ArgySXhl6OooAaMAf540WEhkGJ+RVBRKQcb/6x6gRuCgSRpQ+24AmxOshR5CRB4UuRR4sgToae164WYYeG+DhObq9uRbsBRT+26AgRRMeO9KkRghG1OpG+jsIO7QUME8RR8Ds0WEy5ARcReVG4ERJsAQ5wlcRsY+1cRvveZNu/veP3BkgR6KWxu0wSW9qm6pAzMhRMRtESB/qtPB4zExGRYoOSGuU9iK/SX5qu7q7Mh/LeGAAXMh/Ju40eRpoepaPHBoUY3sWGKWhSWPUR87BIyA3vBE9QvvBrg+aNagAahlugAa2NamAauNaGJO1fY/UhO/suGuylaa8R9khG8RxR+wL2lXOIBR4Cua8iYsh6nBsjB1gR8MRiTuryWt7BNP0+nBp3BIRu53BG0h+AYnRRyA63RRdUuntkUc2bqA6gap0hDIcFKOfJavQhh/w9ToW2aLPgNpalekhMWyGY7FaxwhtuWgDG5wAINO2voNcWUqOeqOmiaJVcYJslhAscWssQwCAL1wdW0zQUznUQ28L4gcQA/bCSdI19oyiWw7C6yRPG+hocyUh9j458RQLADtAt8RBBmGBmnnO09MdPirMkREA/ygPBAxTkgdg2QiaxmmlATvi/9GYpR/0U+RMEuM1ERx0cAGc1kmS2CR24kgUmI2fE8CaOEbEO1gUiAiyAaM+g2CemCBmQR+oT/8iaWF0YhyCr8wdbhZo6MCRYeo1JkQvcFbgB3WHpRyHC3pR2waoJRl7mnMWo4iklQk8WgyRsfCcJRlshk+RIth8vhnjOL/OCfOgKRciEM+R/hAkTAyZRodaqZR8XsKIggUqMCORRySoKaX26JujbqHhq9qAGIAhy2bVG1AAwYs/mRjYC2ZRhuQpXOVnhjwuG1WvAgZZRXo0weR/EWLZRK+ROhOgEynoAEw29IMuaRpgE2ZRBARYnami24tAJ5ixQRvBaTrWecufqO3hi2oKYX4gWo6OREBRSDqqmo/IeHiBCpe9yRQ5RnSWI5RKbiXmBF5KGUA22o652WSaARRbNss5R/RypBmF+ai5RijhzRaq5RrsgNZhG5RCPmw5R7ZRHhqG+RRrU45R7qq0AUCEokYk0N4fgRWZRD5RW5Rb5RrQAGMoT5RpNsaRRRrU/hRMr4J5R5QKFQRl5RtMOrwRF1Oo32510K+OP5RlLhiNO0AyeOSsAyVgEm8OJuQBSgpSOC+ApJQ/D+ihRVZobXOup8IFcaRRXo07+RlhwTfM7+R/mqPRaSQerhQkRRXE6uIa14ASiAZcGMxRmJ4TBhulEbAayZ4VeRUhstMRRqi9MRiyRzZRe9GkDGA3SVFRbFRg6h3uRmR4uIasB8G3hEEuzUko2OqEGBpWxrQjIuwPeAYQCp6FTmLdyrSq0OhmwmDp6CPC8OhoXaqRqtTha2WMyqU1g5RqMkWSyqoXa0yqfp6Vd6BJ+7ge+tqdnSIMAthU/5qyb+I7hRcaLOhWJGM4avlBZnmt5hGwIkyhILGV7hcc2vYu8aqFNwTWBxYkXdhUGYSuCq0hIFc09kWtk+kUAZkcwW5vOUDQLgRVaOAFWVuqUZOGOK2A66VRtOKmZiIdgkbqFda1eGVQuSPY2hO7mRgsalzO2jOVgAKFRVh2WVRpOKjmqRRaC6mt06PHuiRm9RaWjOxpCqUoJ4WwYki5AHhqsh6CPCiOhi3c6ma5Rq4caveYSh67bhfS092W5lR/Xhqu2M2hr/EKzQFPMGmh+mOknh0LhqeUSLWckuHaht+UdOAPWu7LQ/PMR9qPnSMPhtnEcP8CPhKO0wU+G0YQjhadU4XAm9aJ4eczMucEo6GowQX2uvmc02cCMAQbOZLWSRcHUAnCgu0It1RQWccISnPqqlkJYuXs2YM085wQ1q9PC3lOQVRU6MFNwf7heMatDkTeBGnqyj29ChjIWvfIYHhdMGIS+kHhYNA0HhkIAr3Wdyg6zwC9Y5eQiHhZkUfy8zN64nhDph8S+Nraj4apCubF42nwfphWEi4MAWHhD7MOHhyi6eHhvRGBHhDshLy+PphxNR/TCwLhhj+S6QKNEXoc5WBtHhhRWWVOIJ6RTwFYhPNRBWwcVRTlkb7M7FkClkOrhrARcucPBUGZAave4aQ+XwvP6OveImhAthXC+kSe230R4mNPk2zM/k8Jih778pEgtb00mU50Y/ciMaWfE8QNQzjsN6ALLhMx0bLaquYE2IprCBlE0aWioGBe02SEFtRHaYbwQNtRLpR6NsDtRwXEC/O8cWUaWzYh2dau1httRvIwK4yhkGT92DgwHjAn1Q3SM50YbtsioGy5Q8aWQyChtR+D4ZqWAdRLpRaEyWRAodRtQwZVOSOIxw4V70xyRqlkUtRN7h18AoNRM+2g/6+oAstRPyoVdukV+gS+BIR5i+4f+lF4aLAanEgVAJ1wLC+0VRXqq9IQLnu7WB8YwEEAolO8g0jxmWggDLurphHdRNcQ3dRR84Cb4t+QCmqcthnBRTGyhYw2pq+ai6we0cieSkPNON4uvUEzUiQRS4DyLlSlqSrSqAp6mwmp06Ip61hqBvhFYk+lRL3c2UUdNWyOhMyq3Th1vhK/hyyqa/hX1aEluzGua6cFiqyRq54ihOh+qmi/hnGWki8I2hdXq8h6RRqNvh7i8mMeTkGgEuSzO3smWUuKaurrmtuRm3hQoRlDhr0mooRk+G+zOjr2R2AMiaRu0WdOqAglVRN9OwZyHJyVNO0GO4FRzsA6DRU22RRayDRXHa4rIEkONUYWe6HIycT4hVRFTQTmRyVacnhbqqvB2Nbyk22Q14qh2Svy8P4wh2VjMYh2CfO+DR02REIRQ+253yah2L2hGh2H2hXG6922+h2c8mRh2n1w2QRdqqzT6ThiZDROxkkSuHDR/jh0VaqNhZZ2KJyRZRzKABJywRyRJyCegojRIBubLhRcqs42EIgw6sMjRbYOQc4NSOXbm3B+QhqWGuSlkYoAEnE8vGquOSXm+cOZ3A+k2bMRBs2x6gBTq8fm65BvjslNBO/GQhq6KEnqqzYuX1OL+U9JkEyOQ1qcjR1RkAFu/ZA2JgTM2Wg6g/A5tCVieQmuRmucxkrjROjq7jRFNBK88W5B8oatDwzsEDrhgVR5j2yzmqcc5Dg6lks8U3LEMh6OpsQ82eTR2gAFdwYX8y/kaHs+TR0zwewwiVRITRZyAU1OdjGqDhIARQIuYAR31GHh6kSAKoRhQasARgTGmoRT3h2oRSIuE/2r3hSD2MoqifhJOWmAR3/h2ARq/2DFa8L2OcW+VcUcka2gQBWyFh2Za04EO4AZiM/IASme79ECQ2pZACaWD2gfk0KzRbeW/RMW2Q2oMWzRvoq/4AOzRa+2UB8XO8/9kazWKk2XzaPE24M2FouGUYhXhhYWGTRpGuBpkB+s2U4BJqJO+ojuMVOvlYQvO09Qj72cOOIU28oaHDRZORJPhNDRX9OvHSK5yO+OgaOgOAWDRyL454yYtOpDq/i6TKMaUAq2a4LR8jRB2qaDRV5yw30lORrLOSC2vk2ITRdthtJgqZQUckwyQeIRXpuyh0/zubskONO1ygT7u/kgAHCFLRc7iCb4Po2FDRD2hoM2iLRGS4YNiWR2XyRhxybhyRZRGHaOmqyYu4jRrIUuXhDhRejRZXhNIRdpGM4aWsR90c7hw6+eBFAPs6W+e38E7Zq8iazDAScahqmRjhA6qFuRV5QT9EJ8MfnuExgaN4auAn58Qhq25hJYuOfhSU0fOUgLInqBxuhfWu9LR6jECQGjlOkDwm4+mDujVwV1R3O0ojQfwwQbOVNO3nWL1RHZwMJh3TwnPqqjhTzR6bO1TRcNO1d6A6qVxO0NBYXOzl4M4aMEB5rMc8GDx81C0Q84x+RufCbHhpJQF+R0HUasRNeqwfhy0A3rRGFwdfBGIhgOA9CkZwWNHgFdoRF4ZgAKiQLYg1bRBsRObRmTRpj22TRAzAQjh96YaNRKikFO+VVOAse+Wcf0CEIM4OsLpG2rhOXC+dRFdWFiAKuAJikGkeBrRnDYBrRHsMUPuNIANkAdiqwyQHmALCMwyQO6qSFAfOAE7RelIU7RelIQf8oZm87RMfG3xgxQ8+7Ro+gJke9JkTEI9j08cRqgaqj2hwUVxwnvgSOI3jRkcRw5+fY+7+c5pktLRaPch/upWhj8UEygNX0fzWGb6l7Rcrh6PkblwreYIU2kSgqcRQF+2D4QluciEE/gjrRGMUrbRLkAqcRfPOGEAJlOgh6giMWqkN2A66OyoANAGcSgnvgEpaop+kHR7NAl8CoZmkCw3rRu66frRjEk+3+eGIBrRTAMeEBImAIdqpVRKR2Jq2ijR+POMLRKNO8jO9py54y5pyu2hSCO3NezfheDRodaBuGtcQavAFS6eHRj7wvHRw46RTw/AomZOITR4nRSdIC1g1TR5TRmSEKEOVu8u/ONN84fk2MA0nRGdIOdqplRYDyQ9a5GybcAXAQg2ht4Mf3ha9aBTUUzhtnE7FAjwgai2ISaCWCeOCczMazhtnE2Ck4fo8oaWkAKDRVzEWOKYsAtt2znRAQRFSa8OaHSa/bi36s7eiYdhBpi5xuCRcS/OnnRZSaZNyJ5QM5Ao6apDAU+ge68MXRsMAezyu/BUpRgpB+eUk8CQv8J5QoJ4aRA9scKs6WXsrpue1i5Tmx2669RoBWhvhYkW8caJ1Ct6O2Ya8MCE2hbr2qh6Cr6Z0meO2ADRL/h1EuqzOIDR752YDRclREDRzXRqIuUDRFjG/52B3hxdGOr2QARtu+6Dh8oReOWYfhmG80R6OWaz7WXB+f0uhDhrdGGoRwoRCARgzR9WGwzR/TRf7Wk3RM/2EzRJoRNCmkDRMMuafhaR6rDhVNAFhwGuhDzRL+YoV47eaxvMKF2IRO9nA+F2jCaoOqLt8WrhLnRcAuxjacR2Q14c9yzmuKq4C8hE/OlR6JM2qASIdgAROmy41i2TOYawRdtiari3KoUvhrxkWLIJ3Rmu2thUqASOrOl3R7mU13RFckVF+IPh7UYZxoy2hE9RFzhzDO/iggmkF9ybG6X3RWdiP3RUIKBAwbjAWySQPRqwRsnicdaYPRLjO26qn1Ci+iZThpaO+9RAVGvWWvhCHWWkkW21iPlSRYu8iab4oV/hMhEbmSy6iVvhpDaTThWJGGpWM7W5XqKP05RqIzhfGWtR8jsuWfhXQgVrRrombqq57hNIBtEaSs+KTaqEoavRIMEUKEVMQd4E/5hsp6gFhXBk7iIM22ETMKzR7jUyPhEyRcBR18ESOqQKWUcAFdoP1erxOsKgQ84IFOFvRJYu3LEg7h1LRsmWxcRBrBdAhv9BSER/YhNcRGHBQ4hIxREJOXTkT/Q71qLZ6JHe1w+xdO8vI5Nhx367YiXyCJhWC9IwDQvzBPCWhwh76+UmURoe0twzJI1aEzboHR+9UovEhVqhdnUn6+p6+oHOQNUgAauihczospGfLBpCWO2acHgJ6+U7B2TB5WkRjBm6gsOgAjB3cWvlIlFOVna5MkNA48vkVpasMRfSRush4JRN7BpFA0m+fJILP0y0hxshMJRCm+MZRkHBxi6LARQNRzYuQyRRNIhk4O6IThu2IeNNEHYmV7RIvCNbGx9G/iCDiau/RhyBZiRB/RzmAVro6eQM92B/RNCAE1qGAao3YCxajnhP+hj2hH9O+Bu422PDRC1qZD0RfhF5WcEoi96NHSNCAqh25GSkPyzsAv/RsmSyPyGSguQyTe+NHSQh2fXyvEqmjRNKGEAxwHyQiA5/QZ/RviCeegOxkU5RrORbhkWDRGOUpVaaee6KoT4u5EcCo2y3EjMAQFRVVajlRE8EEKMLicPxgkPaQUhv1kEHaTHQ04AyiUhES4Bqd/R2LR1h2dnyRSin2h892GGRpDqtAxnAA9AxZuhq7aMo2hESq2alXhGwRVFaKh2/B2GsS2320o2ikQhESzfus4+QgxodaGUYGvhDfWCMB2VaBAAr6q8gxyVRU82vMKVDRADaeAxtPhpc4qT4M5hlXhigxTfsKm8ZbOpt8Z0a/6RVDRa2hj7aVuquQyNzh532T96i32OpuPiBSbaY30ZkYLA4NuBCzo2rEY/gak21qBsYhVWumBQByBS28iGBO9+TBhhpuVvEjKcHAEjwADjCG3CHgxO6I8Hs4GRwgxyh2QO2PDRYtEXjhAvcNZ25JgjZ26rW2thegxqHGBgx2BhNVQ2v216iyc49sSOBhGh4BgxqAxjVa5Ec1Qxs8Am0cz96qoECaO9u22bajWOLdhz7RCOMaPWQjRhgen/ePyc+X6MZBPbqjMA8QxBMA9hutJgWjRLbaYt+FLh0fOU92rAx8COMk63AxmaMUgxVEQuRkGgxW6RwmRYgxrAxEgxdXhSwxMkQuRkMrRGooTZwaskoyGAR43xa9hCux4HRuP0ccRO3+QSzRiGu3HqjtqkU0plRGqmF4s/Wh9ZAQXqF4WjtAWqmZYkGpWh4iPVRxlR1ThfGWnWcB52h7oPs+js+gxhDGyZVuNAK7lGAlIfYmlzkBpR5zCIbhbdR6jCFbhXpRzLC5Mk+bhP5YybhOAKkIxUhAZPCf2q1fBccmiRUeMeaB+xMeycm6LEwegr9Ou9aStR+NhomhLU+S7o71RG0qlmAA/A9IxYAhgV0Ma2+D4etc/Nqro0/NqGM+rzkkTskCAWQ0fqcYgsadkCCULJcZh4+O8TsARG6glQj8aEgAetcRPMLHcUiAPJcoq4Bm0G4cSq09y4ioxd5i/zwjBuFa46oxuryaUAJ8CpweMoxM/B8oxS5WZE8gdR2lchN8ok23tRG4w7D2siqjTCcdROdqxS+3B+ZbONmkkTKUt62SRbWu3eE/4IZ5QaPR2xuedRC/R+aOsp6EluCbhpQavaWmIx3ZSWXi5wqtuqo9RncOAgAvaR3xaQsSfAKRaRLgx7j4yg6E+mtzh9eR4bh6XQYYxfAKkYx3WCM0uBlEZEgIiC5swpDAGSC2daC08+YxNRURYxNCAJYx5zgjwg8Ji508WEefPY0j2d4UGBuTU+vchVJ+98kz5coKMIBhazAX5hd/qElRsFBMf4Hhqzuh6IxoYxCYxkIxxE2cEoj8qWdiETRYOhhGW0aayWWHhqulRmjc+lRn4iXtCpvhfPRSOh6uBfS054irGWplRsRqwvRXGWfGWtlRe/26Yxp8gthULqyhfhm5+sEkyKOeckqmWpJQf4iA2+Bkk22kZRRXLCS0Y2Qmd6cEi6SrcZMYXzBbPk1JG5OAslRK3ehDhHDkrqkCKCVeQq2AIbE4/MuEMibeXIeQHhcmWggmDoCiKMpk2bvQfD2eAsPq6sSCr4Wz4Ozlk0cMDDkPT6Vy6ZjhIQOjM+w3gE2geWwae0eUcQu6dckSI08MaI1qzuhJfWBW6lExIaepHqFVRcYxkLRrYh7iAYQKGz6KXOsEq4QKeIyURa4A4naRiUUSwiGqm/IuHxmthqSi8+aOeEAvF2wJmTPRR9RnBCnlSrikjYkh6kdUkJpkZkkpcaomk7qkT/QCl+D3wWNsBYBpOA0FkCSCksCpWg1xRgJAkSwfYUZlAD7efTRXkU9c8RowgGkWUGMKkzokWCw8xAi3c/ZkEM+yle2jAVDQ8HwkBkVOsLSwX8ArekO6c2f62nIN4kIWkPekQXAN7ohGG1FkEF+5WkJfwn+whKUn1MxHAMM446ksf4YUxKX6SVUNfwWEg44UlDB88cmdcrIg2wABYcg1W1gAl4AUqAZ2aBEgIG4WAA3S8PkxXIgJuIGiAuTczJ4FUx1gAUiQkwA6SRaUxrEg44UllAwuwnucp0KGUkboAlF08QAzgAbUxJkAL1AahheVgKVkTSWGK+cbAQfeZigYv+VGk7YktjAdlkKDAC7o9WsR2WjNYsMk6MYnPCEPC3PCcwgvPCCqOea0kkY+88NUkMjkBPEcCQuGuRwAPqwzQAsUxJqUHakJaydLcKKA6EA5EgdKoPUxzUxmUkr64qic2UxGEguUxFC4+UxnKkKXEIG4ZQAFy8a8iDfwJUxkCEuwcxrAZogDW8lnAu52dTB+JAhEgGEgt0xjryD0xx0Am7AWtcriCWkxPogQEcCN6TY2IGkCR80bU7H+Mxa4Z8cV6tUxIsgfZUHkxI+IihI4VmK/IFdqxMx4lqYPMANRgggFqcwBQ6uBDkINMM1MxhUuZE84HCgk8Z8gXZkNEk/7wmmaUTaTq8pCAEckTw6jPAAmkIUUg1WlN4WSg+uaN+kFgAFYgmf2aJkYpkzNsLOkimc2va1w8cVW3oMX+hHFk9rhTbRJFOwekHfaNBkaEAe9Es1We9EHmAsf2G+hyAW2XCjSEC/RQCkn4iAuYIL20lAbPQTYkgsxBMAY68sJASOkvxk5+kG0kNsxgh69sxHsxNuRysxWykeikcYWfJkN3U15mU/4FYg1FkBykJhsmRk69uQfgt9RLeo3+4hLAUyOwrIYwsAwc8cxFjRmyAtARaju8cx65kbps7SYSN6IJ6mcxTPC+IAcY231QyfOBBgOvOn70r6oj3uW5mLAAv/On1A5cx1hAlcxTYQUyKNcxWjAUTa9cxAPunOgS9OLzAZcxrcx2fOzxs2vO+fOdcxPt209Ool2dcxPKAFQIWi4/ZAvO4FOarSg5qU7aUi4xpNsFHMBnReZCgXa7XhfGWU2hIF2RfhpnRTaG9xgxPMzoxYTajcxyF2wyhs+gJvufQUQhqrzRt4x8fmG0gvEKrwyMsiok2IyAxQufQ4pQubooRvidsA3PqdfuYjR+kKsmSv+2Sw23+2HskvDmg2u9iR7cWj3RnLRt96zKAmSaaLhbFARxSrgy7GQTEkjSaiq2ibaxLku3G1S4dQxQ+W18x0kKt96CEovUmvjsBts+zRB4E/ZuBmQUl2uZRu2goCqRpW9GWNB49x6b9aQvhVA6n+sjwgu1hNfmz+OnzKZISnQR3HMqQ2COyoqmg5AzGAPuIF6ueCxzIK4j4QrOBNGOuASTma9aU1RZ4xt9EMaY++qUrC/3RiVGe6G7mUUsawCx2cuRZhpYKjh4XjhiyAWdiS5uko6vk2gOhM6asR2Sixnh4kgSo+as42xKm+m8nhQ+C01QcNwxfk0+CxUXA4j4D4aQYMki8Lp6dXqiOhK00y2W2EivP8VW2Hbh+XRe/hugQPOapjRCHeTNsXSOXza+8xYSa9nht3RqPR4dk9xgkLM9w2/PCPPMBP4DqOtvcBVaqpGu/2i4oKNgyvI0gcyAaq5knVoNARqoohQaRsRbART02+qk6bIt44TPsHFOucRLFOXu+k8ODs+Axh+G45BuJfw4Cxti+6LhUCx4Awuj6+oav/WVBBbb6snEcV6XFOEmGthWiIxJLu3NRQ9R+T4f5E7dRNHhqV4TLGfNRzWBgru8YhQlOndRmQA3dRZbhpAggtRIyxgL2SM61zRgZkuUkzvRl8xcIKsiqHNgYCxaCxOTsv+2ZAUd8+bcWZEe8ixtBRrQAW+iYTREKeytOGcwS/OWixYdacMARlIjSaJgAWdiSOI3LRbwKQu6ByxxXhlCxtCauBaRvA6o6V96AYKMthhIoaimXyxxpq9iA9HR3xaAKxodhJBAQASyXREdaOdh9VmPk2u/OHsAjyguCxH+wvCxBBgUXhdaE9ZYh2W1gQJ2WzoaPmSvuOLfiyFY9QwV2or9hv9h4M283hnEMdvhmUujXRxZWfIRxkW6zOnMu7iWFO2nvhuzO4oRdkWSDhJsAVCkijaLTRcoRbTRCoRHTRaUGUmA3TRYa6vTRsMmcfhk/2XxqwqxRoRAqq23RubmXXRxUuwPqzDhnEuYgAk1Rp3RobRbraHY268m9xgiPEyQ6p3qL0IGPRW921ck1ckJBcES6EKxuyxJeyM9wyf4UkKEqSxK4xSOKixRyxv9gS9RCqcRkGCdCA4uTox98IsVG/hAd2gfVqvj2NT29Jc6zmq56k+qvj2OfAimQw56oFeFTgBccJcCW7YZWhuCkJcC7GuoFelix1kAhCxYUq/Sw8axuCx3oW2QAO9+cxktYR3B+fqxGYok0ggaxQ/+PB6IaxmAALC44axpygoSwUaxeegMaxDxRBxAuCxiax6KxnoAUXhB/R7GumaxWQ+rHckVRb3WYHaH6YdExADafToGsAjC2I6oOZRqaxyTY/vogh4IMA/vo6qqnrk+mWU6xL6qIBoKTws6xRXsAsQNF2mfgiGcD4avzw/vo/CxVlAgsgAZ4xfow6xqKxXD4TaxtGQl+C0TkTXhy9hpXRRpWxKxHoaKgQXoazDAPPR41RpER4oA/xaKOoHrQVWE1S4af2xc4f9hGO2C3her2nIRukW3IRxr2QDRADREDhTKxgxqHvhu3hOau7KxDZWCEu7YAEmkMoRw3RQfhH0uY3RioRBOW73hff2gHWGcmeYWAMulkxu3RAzR6D2xCmq3Ri3Ruymg5a4zRREukzRIzRyR6+3RPauHTCGrOz40tsicxOUSxoPhmu2VF2FxW6eURfhL5Op3qUF667+1uIAN66z2njwaQmePhIM2t96RPh7zAEgUItG+L6f7GFT6KVR5KcP3aYo2dM2JdRei6UgSUsm07k+OUHFhpKQqvhodabvk5jWEQSqYOq+s/PhSBqXpAs36SOIZixgBWiGuSaxGt2noAQ0W7okgNU56xhvhgXa/wxP2WRnRbU6XryWv27uGX02XzaiTRrzR6TRYHaXAAfaxw06sYxeaRU82bYKkqScwxV9aRmqgWxzAxIWxAmKrbW4A4Yt+ooeyGq4N2rghmPRhA20WxzbW8fqLfh4OhuKxdmxiXql6xRKxtNU7XhgNUXoaXixgl81XR+MUz6xMX2cOG7uGh24s24aO243hr6xlQE5KxbralKxp9s1KxXIR9Kx2UuwGxgGxazO5r25ZWgoRVZW3/hOzOYoR8EGMGxnKxcGxQ3ROMeI3R/KxKGxgqxHjG6GxOwG03RdDhBDh2Gx93huGxCqxY/2iAR8D262xKARp4C82xBEumGx2bmcqxOIurEuNEuSqx1Gx65WMkanh29Gxv2IndO9ba8zMy24PPMgLIAaBVyxfWuRfhBeUtnESSAKSA5vRi3aAeW1vRFxkyaAPj2/GxKPAViaZfhJRoC1IrkALd46cRTJM1Cucso2qRwn2hKRWi2ZKRlAAMn2H9OEP21EikP4a1qimx51oymxyNh5oBZQxBQxbYkVVaN18mmxNExlzOJ5izHBTmKfLIfthhmxrDhJmx11hR6x4wK7yh86xIn2xtCPoQGqmZyxnwxJKuIJ6dckAOxkp6MkxZDafOKsJmo1R7bhyYwMcxLB+h6uVxk/feY++bPkE++Qwhp++GaiWcAIWx1qxykKyVyVqxyFhjqxnLWHmOqlkrBkTARd9aIfeRUCdzRNgA7JW1DUxSOziQH6YOLuo/O6tAxHAvgUnQA3+woTEOG0V14k1wAR4sWQITWcaAWRGDMxigBRBQWgeAbuaMu/PCNqBzgc4uc7nMkRqGqm8aQWqmomsF0anfheEA9YsjEWomsTdMVoGomscacHhqL1AB10+p6vAgi5AB10n+AcqmomsZGAnVRxx6B10eyUpNsGJ6wKAMYkhn6rMk+HAHhquRudNMHhqIXq8wYHxmoms48sHhquQAeEA/AYWqmrMk22oHhqHx6wBAUqm2H2wpGomsi5A4h6PexJmgxN4FGWIJ6jhqZHAHhqeZGdewevhIFcPfedewI+xmwmQwAcSgXx6IJ6Yp68OA0+xIJ6/1YGhYqexahYrMkNkAPBug+xOtaPNAuexLTmoms1WmHhqoou7fGjWWGBkWqU/nqomsuo4tsaMycqWWIFc9J6jnQ5imHs6omshR2HhqMyQCekQqUMh6oms5/m49aCYkb+xIJ6iLonl4U9aIFcv+k/Estsaoms9lMPEWMBxwBxmwmj1AGZWtJ6vAgup6mRA2+x3xEomstTWHhqzx6Esa6J6c94y+xmwmnSqMYsz5RomscEA++xmcu+LE5J64kxtTm5J6a6YnEWmJs6lRlBxBCAmx60aA2nRzeMomsdmiHhqAPQmJshBx0qmmZk0aAN+xIFcr3QvYAGZhIJ6WXQ9ZAuWWg+xiJ6/YATBxZthCaAXHRqWIHhq/2hVoAF8amwmuJ6VoAMeqIFcD9QpLAbwxIJ6GrAJj4chxLKCeo8knYCBx0qmbqIu8kA+xzBxNQAgpQu8kSvG8hxLz6omshgAlmmmwm6ImRqEnfhomsFBxDhxNQATew9t4UJ6g+xNAg9t4hWWEBxomsW7QHhqT8RaVAtWWoRx4BxIJ6OTg07AKBxx0krMknisX+x07AQhxIJ6VIA07A5p60qmFJQ3qqJex4Xq3qqpGW0qmmT23KhpaOomsZc6rx6ZRxLEWmwmAXqjUAHhq8sAvbAq9RLKCwEGoMA6+xmwmOZwvbAu9RIJ6vIGWhypNs+bQ19AOx6MOhomsLEAHhqFRwy1Gahx0qmu5QsEaLhxExxsEaT+xIJ6v0AsEa54eLKChJ6troRhqWggNSwBYkmexN3cpp6nRxiBxBYk3fhmwmplcbTmLXhV6xBWxq2W2UUnPRQy0u/hwuKlXRCRqSkWfXhH8R4oAzWC+Jwwm4s/GrSaFzCP6xZfgbWxAGxHWxgDRYDhwDRoGx3MeHXRA2xlGxQyucDhXvhCDhEoRsGxF4AgbmRausoR0ymGEusyml3h3f2XkWC2xUIuS2xs3RK2x83RDaua3RVOWBGxWymRGxeGxf7WqJx+2xSfh+JxIHWuoRuMm3OW5oROARSbIbR6+UgqQ+h7kawyWv8ZJiCOs/z4DcqhZGO+hxbRRcAe+hVJWAcgKGoZ/EPb21eAEpkdzq1hwf8khb0WtRQfCjDIHvcvmC7U+SRcgkIHZwBnkV/qlwssUYg6aGRAM00BP4tD+uj2iUYQ1qXmWZSa5/q2gWn2m9sSHAxAw6HjQYBg9IADnE3M0DzhXVGw6avnR2rAsiqTtR1L6mQgTAsH9ONUuhBOA6afmohOaE/OQYUA4Q9K64A4Ozmykac02CF8QyaKO6BMAi6ahh2KpG7Oh0zifjq7ziidAc6a80YfNBhmyaQeoZxPLuKM23GCzJiyT86pm6ZxYbETSa7W69ZAU2chmyKH+yIyE8CGoI6XRmPmhehaOuqZxoyaaQeRY88MQuZx+uqNZxvIAOZxY1B/z4I5MgKAs0agq6KW4BpBWc8iJ4jwgMbM2d2epxM6awZxmv8ZZxS6aeQAfbinnh8dAHzG8dAP+A7EACuh8Zx2i27Fkg5xeACEc6oMI5FAUMArJIdXKEGu6kYqrSRmqy5xXjWeAhxdAEbIkgAxdArJINVM6vs/yIZdAVSUS5xQZx3R23CaeQAcdgYoQqEAYJi26a26afnR7d0r5xaKgtDARGirnm75x8UAH5xUEwuz4e5xt5xEJ295xfFyoUoRGijqalKa75xSdc0sUWNi+qaxqa75xfGaddA8FxxqaiFxd3iDqaEqacFx0ZcUeiEqaMFxddAKmRgCI7ZxOmW3mWXZx8uqfZxaz4CfO+5xgyaI5xCZx95xE5xvWg05xs5x85xaXR80YwFxPcagya95xjyacdgBAAtKatKa75x/FxvFxB9SRwS8/S/FxwZO1FxwZxXFx4liQlx/FxGFxglxfFxIlxwlxU1hN5xMo60IWdzYNQo3Q6J5xiumikkwz4mlxwz4cdg4lxMc6Z/86lxCs6kz4Wlx7wALoMrwA+lxZlx+lxA6ghlxqlxEr2Jlxqts1z45lxllx55xzlxckktlxhFx28QofQa/qepxDcaHaa5Fxd58A5xIFxlA6D8Co5x9FxEkAk5xTFxc5x7v8pZxbFxKlx6A2alxLwANQo9Sa5lxlFx7lxaVxXlx7FxSVxjlxKVxdIAlFx5lx9SamVxdlxl5xplx3lxnPqxFxwQInZxYVxL1mCs6/ZxVFxoVxFY6FZxdFxDOgDFxU5xvWgzFxcVxRKRwv8OVx4XReOCfcao6avSae689SaC0qtumiVx/VxGOCg1x5Vx+EAI1xpVxY1x9lxUHaEXR01xjwgkz4E1GlFxC1xRi2gCIYOAVVx/lx7aaFSaQVxDVxE46Elx3R2tFx1bakVx7EA0VxnVxsVxjv8Wi2vVxE1xQ5xd5xDOgtKaU5x7cAIoWPOYHzG8gAtDAUEwcUA71xZxwUEwLoMfVx9rWeVxqVxZlxqVxblx1lxnlxdIAQugi1xU46yVxNQoLDAckkNQoN32mVxllxkgAwz4Sz4W1xr6o25cHZxpFxvpO1VxUHanFxDOgJKa3NCVKa3NCP+AFyaMrUkFxSqa0FxVAS8UAUFxdVAqEAFGa9ZiOFxOFxivKDNx8gAW+i+gQuisrNxtNxF7i5KaMbMUEwzNx1NxuFxzGa9Nxfya0ZcrW8I5xIyaOUkh1xvLAsNxj1xoFxxNxwmaeogYh6BAAu6awgQjVi8AQb5xC/Sfbi9Nx+gQ3FxrwgmtxGtxOtx7NxBtxUtxI8ClZxoL2aZxgpBfZx8txQNxvz2eGwGSg+haXXu3xgF9apxuoBUZJmets/z4oBU+j4s1wHiU3GBOgALMQ8sgAQWpoWezs02cOrYG+syfYedaJ1xEJ2Z1xEr295xr+i0TkfFxL6aSUASYAn+iNgQ8JikOY+H8tBis6IqnMbDAhtxW6gVGaDnMwWiqtxaaaZdxdaawmaUeiC2wh5UGhiMKau6adaaAKa3jEjDA1dxuGau6aeAQw+i3AQb+ixqaEXMX/gjVixAQjViRdxUeiCAQ1z4c6aUWiuXRmaq+5xXZxoBUbBQqkiUEgrtxo+gHsikocRRasdxtVxMkAd1xr8wDOgGdxX+IeGa4AQSUAJIsgqinnhgtxqnMvLAaKgktx3AAn+i9qo7/ElMiQgQ8Qih+iB9xvLA5Bx0ZcK9Y1eQMbM+gQD9xdVAR9xjNxJ9xn9x4tx4J6W+iQAQaFxEma6dxpuiv9x0ZcSYA3jE4bIX9x5BxkOYeoglIiyAA2dxOFCzwgT6aEXMVLgndxtdxe9x9QA8hiBAQjViygQUqa0GamViXXgGDxr5xanM8AQqnMPAQr9x8dA0DxEIgjoi5DxETgkFxDDAJDxjDxilxsQSHok4s4C2wdDAP1xMbMxKaXvEpqa4txrAQDnMVYkrsYdnMjViGgQLDA9QAzdxCyaHyaJug5BxrDxp6aWcinAQVgAXAQd3iXvETDAgGajVi2AQADxnAQ8AASNyQgQ+dx1BKn+iSHgddAzwgaKajniwjxbgQqnMYjxHzGMbMsjxlMikKaHDxVgAkKaEgQFGaJKa8dgW+ijoi/dxETgX9xCDxJ9x+yaL6a4txNgQ5DxBiEtBiIKaCjxhtxDJIrW8c6aMtxSj+Ri2X4EONxJFxB02ZFxttxoqiIVxHFxklxxNx4qamtxkDxwgQFNxDnMVNxvNxeFxdNxBTxTNxeISItxbNxtoqHNxXNx2AQZTxfNx2rA0Zc4txQtxpTxBTxYtx9TxktxCtx3MCT1xwEgtDAelK0GawWiJtxWtxmtxVdxetx6zEMgQAzx26a/TxNXyKnirwgMgQANsDtxASCl8CDOg2DxrKazdxS6wIDxh+ivrqrfEr9x1LgcqaM3ctKaOFx3Tx0ZcdqadjxdaacDxS6wojx9qor9x9D8UeiA9a1jxU1ggNxDfWu+gauAu1xYHaGUA/mxqA2q9xCzxwEg4GaEqarGaUqaJug8UAmaA3BiS6wmaAnvEdGW/ya8UA0ZcogAJuga+ijyaCAQpn8VNcRGaCGaRGau1i5Zx69xVtx/CQ1ZxPIW6ZxdZxLZxczxs6aCPIXKczmCRegh6Rdy4uAAhLxfEQrmCS6aTlM6zEIlC6RKe1Sl6aKfwMqaaViwgQrcAWDxnWieIS8AAr+i3tgnqahjxDDAkTxaXR0Tx7Tx8zxlcCXTxNLxMqaoLxVYkRzxF6atBiMTkWzxWAQBKaDLxtLx0LxLLxt5MW+ijLxi/iE+ifuocui8/Sn+iBAQjyar+i7DAgKYXvEODxarxSrxzLx7DAKfeEkA7uQHya3jEuRq19xGgQeTxnqaqtxsQSdVATlMzrx4s4rAQ0yazwg4tca+iILxL6a8hibDxrjxLrxlrxNumOdxnyaaViuuiWzxbDAks42+imVK3LxEaa3rxrcAeQADGan+iKNC8liV6aEtchjxbAQDqaijgnqa2Q2tLxXLxIlCCbxQBiqLxMPqUVmNtxIpB9yU2LxKQ2XW6Ri2/Kifv8/yKt1xZZxBSgZb0flxLzxWPO7zxTVxIrxD5x3jEMAQCyatD8//gXrxHQQPTxerAKPiCAQTyaxAQEqaRcirAQPOYS1ia6a3jEBdxVKaKNCTyaaKaZ+ieUos7xoRKPTxPyOpbxKZx1txmLxgpByXR5GCvIAOLxtbxD1xHTxEJ2zo8ZLxHtqFLxoBQk1qK+gV7xPA6oSCt7xVLxcGa+aaK9YyDxp6aJKaIlCWGakOYLwgZqSPTx1AQkyaFD8nyaHyatVM3Vxu7xGLxqQhZ7xwrxYFxLwgb7xmVivWggFiwjxkBI9NxGH0h9oa+ip6aaVirAQyKa3vEMrUILxbrx8+iPdxVNi4Pi/v0wjxUU0frxQaU19xgaU2aahHx+Hxfbi7uQw+ixqaHyaxM4dDxjyaW+i31i9Nx/7xsqacUAZyaWViWGaoHxPDxPLACyaGdx16abpiCLxnvEVgQxdxXHxoHxIbxcJianM16aEXMxfE6RKlIi9Nx7dcQHxkoowjx1AQt5MX/gwHxr9x1AQcnx4bIJ9x47xW6gfV8qHxsrxOnxGnxoHxO7x6Lxi6aWLxuGCx7xNbxeZxDfW/KirAQEGuzfcC5x91x7QMbbxw46rzxA/WUp2BNxAya6TxXTxBKagFi/zx26aOaaMgQh5UAKaDDA1eQEtxYKa8nxn7x6zExkMIHxfyaeiSByalFx0tx5bx+7xlbxh7xM64tZxjnx+uqeLxwZxl7x5LxT7xJLx97xpXxLmCz7x3CaZyaJVipTwWtx0Ng9NxpViQHxYmaRcimHxgqiWGaRViWGa6zEdVA/LxpZxgrxRXxnTxeQAvWg8nxMqayRifuownMCGaqtxJAQqnMxIiDLxxkMcHx//gLXxnngvHxrP01kMXvEnngDHxMgQEqaFyavWgqnMODxKKaFjxi3xy3xLDAsnx4qa2/gqDxEqaXNxijg9Nx3lKPTxeAQZKafU02nxbXxDqafU0cnxz4i+3x+gQ6RK+gQwjx7DA4zxbXxj3xbAQsnx5jxMTkwjxV5C19xyQy19x3oQz6a/zxZ+iIlCTlMEXMCLxPXx1rxlMijDAZKaHaS19xrfEXyaDmMMPxPKaPXx1nxgrxiZxYWyjZxaIAJ7xTnxKm8/Ki7qMn+sVYkTbxCVx5rMzzxNVxjI2/XxWXxOUkx1xXbx95xI3xMIkeqaNAQCDxaLSPLA4s4DgQ8Ga1UCzwgU1gQvxAvxaGaiDxOnx1AQEtclMiX3xomaGFoHrxnAQUeiS6wqXx2+irKaXtgyRinyahDxtKacdgMbMVgQcyaIvxBiE6ViwvxX+IwvxGgQMvxpvx4s4MDCBvxYjxanMd6a3z4WtxkaaubxWtxGtxY3x7DAIHxkhSl6agYQqnMc5Cr9xoKSwjxGhCxGaP3xX6abDAVKaHHxMbM2AQWtxDuwu6aS3xcHxxAQs3xygQ1dxXgQjH8ugQsvxmViIXE+H84zx+H8MXxlTiSrx9CSf7xXXguFx2bxbpihrxcuiM7xuhikfxMziXgQuFxofxJViO9x0jxEqafGaX3xmTxfFyWAQjH8tKaC7xeHxC7xhrxC7x80476aNgQBvxzOgfyaDnMLHxHyabfxN9xp6afFyMvxK/C6HxDDAnqaWciyKaSKaxkMd58n7x11ivbx16agjx4s4XgQgKaX8ywnMxkMeogt0KW/xedxsvxd6aQz4wXM7gQ/dxLHxWHxHdxQgQBiEcHxVYkUeiNgQ4bxX8yoBi/zxB6aaDx4bI8/x9DAarxQAQ+txf7xv/xIzxiFxKfx8jx3AQIAJ/Pxa+inyaanM4AJrDANvxjDAyRiVvxcAJQ/x5BxJHxMrUQHxKgQVgAiHx/dxcGaTDAxjxiIkDXxHfxqjxurxsrxqnaB3xb9x3FxAxKxtxw+ieAQPTxW/g9lKqbxcgQRtxB6aKDxDnMijguFxxdxJAQCqaX8y2/ghjxvLAxjxpTw804r+i/v0mVKjDAb1xHrxMyaJfEZKajDA+pUaViXUisaap1i5GaVAJ804aViUgJ6Px2/gJViD3xfGaVNxn/xX6aPSabgQzwgilx0ZcH6aSKa1fxR+i2+iVNcpgJcgQVNcNXyHyaQjxr+ikrxjHxPKaDnM/bxb9xd/xndxrKaSNyaPxFfxGdx4AQ7fxzwgs6Ij/xm6a59Cl6aGnxyRiQfx8jx9qorKaW+iv6apTw8/SXNxcGanng5EqoAJmnxcAJSQJ6/xSYADrxEgQ5kmXvE8fxLKa3AQRzx+pUufxNNxjDA7XxNdxw9xzOgZKaqfx8AQl9x1Ga7gJXvETjx0Ng1zx8dA4J6eiSgHxsQSrDALEs+H8xM4r9xnZCuAJ4oouAJhfxcDxVLgl6a//g9QAAxKaGa3fxrcAlBAQaUjVinAQMaaM3ctQJ9DA8qa9fxdvxSGaQwJSKaUQJMAQjViexCI/xnAJjdygjxr9x3/xyRigGaslxOwJW/x4oopwJE+iCya2dxtAQMvxc6UndxTHxMbMeKayYM0Ga0ZcifxAKaxM44GSUeirAQGtxJVidGa3z48Gan+ipSwM3ctrxMAQvgJtAJW/xUQJbDxE+i4QJugQAvxvbx7gQVvxBrxe3x0IJH7xvgJQ/xW/xC2wAvxbAQ4s4CvxWciRbxDdxTXxPAQMbxmAQBQJyDxkGaLwgskWwAJqnMswJVIJAKa8dgtViwTx9CSsQSP3xEXM1dxp6az1i26aqna1UCWHxDDAsvx8jxx2WENysPxzwgPdxqPxiaab9xygJHcA4s4LDCTVi+pUhvxlzxj5xuhiA/xHgJtQJ2H0lDxJAQfvxmwJMgJLdx03xv1xu6a+AQJ/xHrxhtxabxUoJcLxQgQ/6agGajfxEfxagJ8+iBAJZDxFGaF/xUQJTDAnHxozxvyaQjxDyaZzxAbx5qs9NxbDAXLx7DAOIJlAJ3/xDHxIAig9x4oowXMQugWAJRvx9XxbpimViazEcLxMDCb+ic7xB/xCdg5EqTbE8wJgjxWfxIlCqnaNgQL6aGhihtx9DAXLxOvxkhSvwJXNxlQJBAQTGaGGaSIJ8XxnngLDAlBACQJ//x8/xC+ir9xf3xULxw+iaGa7gQoRKw+iO9xkKaIf0FAJL1x3jEgFimciwgQXNxmViVYkggJ/YJDAJDvxagSyIJIXEeGaH6auvx+gQ9ZiEgQx6aNWiiyay4Jsrx75x3jEGFon7x2TxcwJL1iljxC2wVZKQjxlTi1fxomafoJMzi9qojAJR/xkGaZAJPvxhnxqtxCgJjXxJfx1IJKNC6PxXAQAfxPoQkgJfya94Jwvx4bIkAJ1AQWGa3rxFvxyfxlTi9jxTDA4J6SwJ8/SOaaSHgDHxTwgHokkYJY3xoYJMfx8/Sbpi7DxvRQVZKeHxCjxzgJ9ROYgJFGaBGa8AJvDxwvxSQJA7xw/xrDA+txxfEjH85QJHgJMvxEQJ+3xfdxbQJn7xigJEjx+qakgQDnMWK42QJC7xW/gtjxh/x4qaGFoPDxxM4Wfx8dgAEJ3/xUeioIJqtxXQJcfxEtxJdxMYJH6ahgJ2rxrgJ9CUiIJg/xmIJ+EJ/4JR/xsoJB4i4vxwvxhzEjH8tAQwnMBrxDEJmYJlBABbc4s4+AQrcAuTxC2wRzxZgQFEJP6aWciUIJc6U3QJWkJMAQHlKvgJuIJubxPWiJEJX7x7YJQOYcIJdnMUoJyjxiPx7cAyAJ8AJGvxHokSHxOwJhvxe/xvya2AQkUJojxvAJmciVMiV6aCwJSNyMXxoqiADxIlCH7xtViRcivWgWwJGEJiHxmfxqEJZlKzDAJkJE4JmIJAxKfjxMrU6kJoGainxyKap1itdxh/xdnMszx0Hx+Lx6TQlXxxLxd7xpJMrUJlLxHPxFGaXQJJnxc5CVgAhGoW/xovx7+ie/xEbxsoJ4bIygJ6FxCjx3jEX/gsQSbpirGas0J8nxJfx11iPAJXIJWkAbDAVfxptxAoQjH84AQwoJA6gDHx+gQkBid6aY3x0aaOIJozxcHxxkMevxY3x9DAF3xtVir9xR+i9NxC2wtKa8/moPx56aGjxoIJtD8dYJDgJqnMLDClDxl0JJugFIJETg4vxlTipTwO0Jm4JETggGaCLxpDxHyaenxkKa6oJ9lKRvx+gQ/YJu0JR+iZNxHokWAJAoQhjxd58r9xbjxnQJbHxeTxeMJl6afoMbEJ3tgMfxE3xFD8MgJgQQOkJtD8XXgW/xJnxFjxyDx2QJwvxRfyIYJdUJj/xcdg+tx8AQRVK3AJpDxrKagIJfoJFyamAQmVKpTwsoJ//g0YJRvxtfCJdxw/xzRiL6a60J2AQlMikfxfnRW/xIf0UAJEVMAvxtyaxIiwnM4tcjH89DAwXM2/gdQJMvxj9sUoJM3xTdxt0JPAQBiE1UCcDx5EJXti8jxe9xZEJt0J4tclsJpuixdxE1iHrx+sJT0JljxLIJ6ViAEJETg14J4ookAJDuwdQJsoJUIJQMJdnM0/x4QJQjxgqi4QJrAQe/xw/xmYJHrxajxRbx5+iyxKPvxB4J1UJnHxd58K9YZ0JNNxCAQFQJMGaX6amIJM0JtQJbAQEtc3vEyjxS1iCvxSKaQsJuhiCvxurxa7xRvxvgiX+iiaaoSSygQljxVMJ0zxw/xOoQ7fxRvxPYJO0J14JnngxGiWVif7xgzxGFx3rxP4JCli8nxhEJbAQXvE0UJgGaAxKZDxc8JyRiVgJaLS8sJs6ItD8XNxZzxAKae3xtBilyaMbMFjxUvxS3x/fxyKaSGaOnxmoQJkJI3xv/xomaHcAdjxAEJYRqWkA3Ri7kJilxX+iW/xVLgyAJ11i8dgQHxHngCliUoJhUJRvxGGoGjxtMJGGafQJMzijDAIoWwoJmFxpTwz5xiQSEVMowSuYJKfxXvxC8JijgOzxC8JEQJe8JRvxHokSKaU1g7DxegJGhCtYJL4JFD8MKaVvx2YJusJIGaMgJmAQJkJkcJ3kJJjxwvx1YJwnMQ0J/IJ6kJ2IJ9Ga7DxYUoWIJBzETgJRvx06U6HxIf03vEHMJ6zEq+iIXEIPxNLxSgJVAJJEJu0JZ8JvDxJAJ6CJqfxnQQ4JicAJa5iBKa8iJ2UJSsJNrx26adgJtKaHcATwgnAQ4XxETgm4JPoQLTxHCJDqaBbcVgA9qogAJ8nxCHxUEJKsJE0ie8JWci8/SHgJdiJXtijyaoHx8XxJ1CDKaOdxkEJWciajxxQJQ0JMKanQJ8jxEQQfvxFjxtBi4tccbx8fxBrx0NgE+iw/xkKaDDAbsJEbxiEJ0zxJVi+CJ1Gad6a18Ji+iwnMs6Ip1i+sJAZCFD8RvxXP0FEJZvx4tcJMJKCJ38JYvxK/x/cJDuw7jxJsJigJNHxwLx7EJwjxgiJu/xdgJ0bxu6a+yazdxX+IRSJiMJasJRtxRvx2lCjH87cJ5jgsoJpViivxSUAzQJUAJIoJXgQ8dAogAZlKSNyQwJqxKJAQjoJRrxUroRYJSjxD3xdvxzgJHdxeRmuDxJNxZfxBrxX0JiQQMwJ+iJIfxrKazrxJDxmwJAxKozxtBi+vxcuiUjxE/x90Jaya//gFyap4Juhi4iJwUoiQSrcA6txRtxzgJq5iIlxOsJl9xrDAB0JkKazvg7DxacJEma14JGYQjQJYJiS9CkDxjfxVgQ0KJYtxm4JhrxTwgbgQ7uQ7oJMqa11iBiEC7xcvxzdx+yaCHxSoJ6fx3AQW/xDrx/oQUoJuvxLDCk3xgIJjDA60JXdxYUohTxwmaZwJ6fx18JTDAqbxF/xSsJtkJ8jx6+ieGIT/xBaaniJRtx3KJ05ivKJcLxA4JysJBYJJkJegJy5CP0JVgQeTxYKJ0maFYJHvxgfxWUJfyarfxOjxDnMDuw3vEMgQfSJ5oJr3c4Jif7xmwJcGaKfwW0J2dx59C4tx+MJXv0wwJ9DAYtxevx1EJ4ooDHx4oosoJsoQJkJv/xV6af8JkAJPLAZvxKCJfjxucJgqiEsJCdgUoJ4/xtDAJEJoMJpuiVvxToJQaJC/xjyahqJVgQfSJ+sJsKJAvxkcJI9xJMJHMJddxDHxW9hJoJd6anyOhoJ0aJMSJA7xMgJJvx8sJkaJu6aFDxu6aAEJU1glBAvgiHrxFkJAvxLHxX+iUSJb4Jd58N3xX8ymqJ7cJMQQqnxD6au6adoJJjxQkJpEJ4qalCJl0JBRCxvxwnMCHx/iJ3AQWkAPoQAxK4YJ75xunMnCJvAJKsJgQQoUohDxrKarKJzDAjaJr5xOaaMQJ6D0q6J4bIFqJ2ciecJv1xQ0J14JswJI6JAxKldxC/SkBi0sJuoJEfxYoJ7+iogAPIJDqacgQXvxwCJjwJKdxW6g4yJQAQyAJsQSZzx4+iKNCVKJhDxj5xi6JF4Jv7irYJrYJPyJTVi+sJ9qokwJRtxIoJuiJNww3tgA6glBA2AQYoJfQi5Bx8/majxDjxjH8Drx+gQEcJoDxlaJUQJ9DxGvxF6aeGJW0J0aJ6iJSGaXXg+Ga6FxVdxeTxXNx9DAtYJbaJU5xCfx5BxVAJ+dxuIJs6IfyJwWinYJzKJtKJ20JI/xUQJHcAJiJcHxMTkGhiDyaD/xrOyGFoRkJ5QJdjxgUJeQA7jxJqaoDxyaJZYJMAQ8jxCAQ6fx8fxWcirwg4QJF4JIlCkAJBwi6VijH8OnxLoQvyJunMKYJNLxmCJMgJHwJW6gbaJSIJfyJV8JtrxgcJHokGGaWcJ0Ga8hivjxgUJq3xfsJ4AQkFxXMJ6zEy8JdKJLAJ11iEVMV6aJVi8AQyRiCHxq+iQzmdQJzlM6ViuSJygQdvxwaJTQJt5MkhSqnxTDADHxSumamJYoJgaUM3cpIJnAQiSJrcAX5xiQSbEJyx6KqJ+DxnngkhSWSJ7oJ+sJ36aLAJgWJ71idvxeiSh0JuRqjHxO1sFD8gFixrxpmJr+iGFod6aQOY70JccJtQJ3lK8CJsQSHWJFDxc7xw/xvRQA8KNCJJUJkAJQuga/x7KJESJT/xGIJomaDMJx2WEfxBkJ4AQT9x6ViNUJVYkHKaWIJ7HxAcJOaa40JFIJzOgWkAmAQ9iJT8JcQQwoJEWJS6w/iJxM45BxGwJ8/xe1SyaJq+itAQ6CJ7YJRDxwKJtQJ//gI6JgQQjHxC6Jo8JEMJ3tgzWJxM4XLxTwg/v0amJyDxRciaGJnCJgaJNEJvrxpDxUSJjXx0zxKSJhnx6ViDCJdqJQkJVgQaKgFD8IyJD5xGGa3AQuFx1qJVvxdGaaSJMfx86JCGJvAJ8vxkyJbWJXQJB6aIf0xjxGGJl6aL9xygJ/gJSGa+nxysJM8JxsJSGaScJYRqX8ynCJa/xlaJFGaPqJV6aIoJKQQV6ahtxGFoB/xHoJC/xhYJBbceGajdcEGag9x9IJCAQNkJJnxSumyvxtyavLAlwJLWJndxOGaC7xQgQ98Jv6aouJwGJrDALKaQAQyqJqyJs6IVgAhDCumJUMJPyOFD8NkJmmJumJmVi5gQumJlSJfcJUfxhEJn2J6eCWIJeiSHqJdGacoKOIJkaar6afHxojxMSJ0ZcOOJuhiRbxGdxvUJjHxpcJDnM47xHya19x+YJDqaNXqXyaLGJlBAMrU14JeSJXtiUoJxfEDHxK9YUSJeHxFIJkkJXgQ0gJ9CSZKaCmJdmimViyuJ77xyuJZjxFIJPqJohi4J68/myEJPIJ7cAUEwGOJCaJdqJvCJ3vEnEJ8WJb4JqPx1QJ4QJW6gWkAkaaA9xZjxddxfV8IyJTlMZlKZDxfUJygQ0GJoGJE+JOSJumJLeJaGJWoJTQJSfWlMiaiJS2JOeJn2JjuJlMic0J6kJDiJJwJr3c9CSg9x08JeAJGGacfxM0JDAJsgQa+iI4J7KatyaGgQcHxtAQeIJRci9DAqPxIIJ76akKapgQZGJAvxWfxVLgncJauJRsJJdxZdx5aJUMJAOJJ9x4GaIlCPSJRIJ+EJE7WWsJjgJDMJ96x7DxiaJ3/CfuJvjxCfx6CJIf04vxYoJlD8O0J5Dx1+JwgQ7eJfV8q2JLGJIkJVLgDuqjAQmVKlBJo+JLfEk3xMEJMvxMfwVvxyfxJdxx0JBIQg7MUAJdqJJCJ/wJ37x+OJT+JE2JQOJDmJz04dQJdMJ/YJLKJaLSx6aTkJggQY+JpDAOaJXNxauJijg3vEZYJ8oQyRi7Hx4+iIlCX6aoWJTkJW/gcHxHwJXMJmciN0JFEJ7HxiMJbgQ8FxaEJX6aslxtaSYjxL8J8JikhSIAJIvxDBJv6a9v0Q0JkmJMYJf+JmAQHSJOSJi+JOSJjUJFPxqTizJIn+s1AQtPxi5xbMkDPxeNxzVxaLxhPx1bxmZx7W6JPx6UgvKA9ZxxT4bPxaTxp1xltxrVxZK8UVxjFx11xLFx8VxwRJuNxgXxQ3xCyab1xvwJ5AJ56a7yJEnx9XxxrxnGJmciS6w8/SfgJYJi5RJCyaxrxVwJdCSaum7d0dRJWQJhuJ7d0LKa0Ng5qaX2J7d0dIJuisEnxA9x2QJVRJoSSrAJTBJZRJIxJ5si/oQzGabRJhhibRJ//gkwJz6ar3cXRJxrxcmak9x7PxGTxlKaJNxvRJloJaz4dbxHnxJ5QqTiZbm7ziuXxgU89qyvLABSgFZAoRJiTxa9xPZxubAFFxqTxhNxw5xqRJ51xbVxGRJHVxM5xN1xhxJQrxoe0GSgo6aN32e68N324ROJAsEGujwgllx5AAo6absAWNxShkNxJDcaSTxlbxjxJjVxyRJcdxrxJCdx7xJl1xmRJXxJ2RJPVxwe6TUJQXxD5x2Q26D0oLxWK4bWJ7d0bWJDHxJtCbRJVJJxUJ8/St3xv6J7d0kwJZJJ6Hx+0JjHxdJJbJJ3MJtKatJJ1eQ6KaZJJFJJHJJApJVJJ71islxSxJfJJ+H8lJJaaaHJJ9JJtKaUpJ4aJcmaKm8gCIx1AcJJVuqCJJdVxSJJSRJzxJKRJ4VxaRJ45xHxJMVxOJJG9xQrxy1xazsQ1xa1xI1xkz4C0qdlxMJJRF4ypJeAsdxJK+s6pJw06Hzx3ZxhpJY5x7Vx+pJ4Hxzbx0Hxxlx+VxVSaSNxM1xJVxUNxq1xQrxPpJqVxhVx4NxOlxCs6pVx6Nx5VxczxoZJCs64ZJdIAiNxVlxUZJQZJ9z4MJJLYgNxJitxcbWDOgdXx7gJl1xSuJxfEpbxDpJwVx4bQkkI8TxAXx8JJ9pJ/QRKTxyJJmpJqJJ2pJbxJ6RJmJJnxJXVxQRJnnxeRJ2ZJnzxw3xwmanDx8KavPxYYJ7JJ3kKH5xI5J8UA4G426aiQSXJJr5xJIsv1xr5x5kmH5x6xJnZJ57xOZJXTxCyadDA132QrxRNxXTxPdxA6gX5x7yJr5xGFxdaaZxw132P5xOtxx6Jx5JrsYFVxKWYtpJu6C1ZJm0qtZJGpJ+RJEJ2Z94D7xZqqZXxYyagdgADxEgQmMJCjxl6aygQ1UC7jxDDAkFxGgQ6vx2QJ32JfDxpzxTsJlIi9QAygJdiJS1ibAQIWiMLxlzxZzxo+JnAQoFJIFJB9xMTkOWJAKaJAQ5uJisJuDxgcJj+JyvxTCJaFJjUJGxJKJJK5JCPxgqixjxh+iyFJTiJMLxKmRu+gUVYN5JqpJ5xJvZxwVxdZJT5JdxJrpJF1xV1x2JJnpJdPxS5JB5xTlxgJJNQoXtgkZJ7wAuz4ZVxqtsylx5FJuVxkXRvpJJug/pJMlJElJMNx0lJ4lJcZJ8Nxium+H8ylJ3AQElJJKayZJMZJdYxIZJWlJ2dazwgylJSdx+lJaNxwz4GlJTUJ3o8xlxSgWVSaxJJgKY23BrAJCqaKniylxCpJnbeFZJe1xdpJ4RJ9xJ9Vx8txnFJXZJ3bxu1iwsJugQ9iAs6Im5JBJJEbxyEJCBSX1xnvErDAkFxMfwRVK+FJVdx80JNNxMfwJIsiVJbDAyVJlfxwoJ3mJ20J80JnAJMfwP+AEbxnngeVJJVJaVJRVJBVJt3x2AQzVqnQJLOixVJqVJhVJcVJjBJxVJZFJQlJW5J3AApzx3FxOFxkFJwjx9D8SjxMSJ7GJuDxzBJTKJotxZqadXxCya01J0VJnTxVFJmzxhZJQLx6kJVgQw1JwvxTDAUMJKEiJkJtAQk1JyqJi1JC/xQFxDzxIkAJ20LFJd5J7FJR1xTpJXbx8dxm9xzZJfFJbZJPxJg3xStxXTxezxl1xfrxXoJX6adJJygJ6txutxGFxsFx2OJOjxf1JDcsdiJLDxLAJ6KaEqa9ZiwNJ+Fx/1JMbx26a76ac1JT1JPbxNAJpJJXvE5JJXvEFVxWuAWZJy5J/lJJZJgqiH5JhJJObxugQJIsSNyxfEeQAeZJMoQX1xxNJ9zxAAIgBAmNJMHxW9x5NJ5z4RPxDxJKTxZZJrWktNJNFxyTxuNJY5xvVJxjxkXxX1xkFJeQAKzxWKaCXxqEAdVAWOJB1JeGaSgQotJpNJCXxvNJS6wcGJm8JVNimcieKahDWENyugQatJtQJrfEH5GC/xcwJF6awmaB1J21JzgJWPxxNJdDACtJh5Uais4Fx8/mS6wXDxWdxWeJqjxK1JYuJDtJOJSa+iHKaTgJ5EqkXx9tJqPxjtJ1jx+xJrOYypWp1J2NJNZJXNJj5JIVJ95x0Lx8pi3KaMrUP+Am4J+TxDNxBiJNNxjNxgIJNgQNTxoxJBTx8gASdJL5xcdJ7NxkkJdVAEDxvTxKdJ8dJf9x8NJDCaFXx17x75JY5xS1J3QJvLAVgA4bI32Jpn8BrxDiJegiNiJkqJS6w0KJfIJe8JsUJjNx9mJLDA0dJMLxNqJM7x2dxW4Jdvx8/xFKaOeCVvx9yJ4AJ08J+CJ93cVZK8dARSJ4NJYFJP+AENJiQSGjx32JdKJp4JkAJA9xsQStQJs6JrKJbgQYoJegi6dxPjxEmatrx+sJIAie8JljxFKardJ49JfIJwnMO9xp4JncJX+I2tJrfEPhJrNJyRA7NJwZxL5JnUJ1XxytxuFx9iA//gwWiBrxO3x1FJNXy8hiynxPoQdUA4Fx4FxVdxdiJUzxBbcfmmNjxBPxLPxSj+AAImxAtNJrFJZbxC6aFbxapJtZJURJCRJlBC9nxaIAzZx6pmK9xmxJXTxwma0ZcBdJQzxcyaCdJk1JsxJvXx+NJeZJCDJYtJ0LxSgQctJkwJ6cJ1UJD5xVtJ3Fx7EAP+A2YJLDJZNJrDJugQyqJhGog9xJNJ3Tx1KJqzxAjJeQAPDJwwYCXxoTxYjJXDJ4rxP+AvVJsjJXtJ7DJDqamzxVcJh1JrNJrVAAdJ3ZxONJlFxIdJWNJLpJEVxGJJd1J3xJrFxuRJCTxwNxClJyNxFlJqlJuv8RlJVNJQlJ8ZJvOh/yIoNxTjJaZJ0JJ3pJplJolJCs6yZJ7lx4lJ0lJrDAFVxy6IH9JWpJODJXNJXFxSFJwjJnDxlNJvPxmfxnYJmtJ6tJJtJGtJCVJVgAetJGtJhtJOTJJtJUEwlNJ6jJkXxktJaTJKtxMLxvRJSgQ6PxEjJTniMLx2VJu7qu+gczsBjJh1xxjJl1JFFJ/lJPFJFjJWJJ91J1jJHZJtjJPicU1xJpJM1xE1Go1xdIAVpJfjJINxM1xRVxUlJmVxNlxCs613xxdJ3ZJyLx4qaHyJY3xnGJwNJ5DxkFxDGahqa1DJrsYXRJFVxX4I3nx9ZJZ1JzNJMTJz1xstJPDJS9JXtJPDx8MU3Ga2xJwoJ8kJuFxotJqPxHKa+tJK6a6EJJDxtDJ0Zc6dJzzJlkJm6JUzxI9JCdJDTxg1JVgQgtJcTJJtJ7UsLtJXyalIiD5x/VJMLx132CXxSYAfFy9TJIkAhkGkTJCNJ4FxUjJE3x4qaozxinxCgJFUJ+tx6qJOdJTlMsCJUtJGcJQqJXtJ0zxtdxg0JLAJDEJi6UyvxkaJ1FJfGa0UJuLJmFx0UJ9ZijtJcrx4aJdNxRaJ5oJmzx4qafvxFqJBtxj0JugQ4G4+H8gTxgqiZLJWtx1TxqxKpOJdAyYtxInxVwJZqsNLJ9LJsLxDNxozxyFx0ZcMgQiFJU7xtTx2dxBtx1dx6tJHLJHLJZjxPLJBrJA4JnLJRVKloJy7xTLJVNcncJ7BJMqaJKJqTJ7cASYAAjJxZJQdJ9txftJy5ATTJnNJQVJJjJdNJwEgGLJW2iS6w60J4+ixTJ1DJeaaOtJFLJYbJsxJlNJ4J6YVJqxKkXxIbJxrJP1JEbJi6UUbJKFJMbJOtJ4J6QDJVBJ8Jif7x4rJxTJTLJDtJdOJEkARTJm8JzNx6bxA9aGjJGdJGjJKzxVgJCzJoVJ+bJ7gJeZJSTJxTJoqiotxlNJHbJIDJyvxQMJ8vx1zxgTx0Zce8JNUJ0TkNLJZKacgQt0JJGaeiSzLJkBiwvxFqU4txesJcqJALJbEJxTJIzx8dAUmJlLJ8jJSgQrbJwLxRViuFxQTxWzJ8/xwbwtzJxBMljxO/xygQ7CJABJB9JMvxQ+CY7JETgcuJMbxMrUUMJSQJEmJyvxpEJvdxNyJJAQE7J5qsGjJq7JjFJ1kGPlJIo6GDJONJvrJrTJRzJ7TJ5jJt1JXTJVjJORJvTJAXxodJ4ya26aMgJasJtRJO9x1IJxqa+GaXJJjya+H8+0Jg5J/RJFoJH5xjHxjyaljxaGakgJxqaJkJjDA45JtkJtuJCyaj0J4XxrYJCTJKPxvWgEqaG7J6Hxzvxp7JWFxZHJLzJ2rA6Pxofx7KaZzxCLxyHJiQSf+J6MJAfx0TkIkJhfxh9o6D0yAAcDxcvxsvx+rxYrJNkJLLx33x+vxdaJgFi2LJeHJXMJvyaCGaAfxhrxADxm6JUPxwgQ6txB/xCLxxnJsxJTVirKaAfxuFJOsJ26a9KJ/dxdJJuhi+iJbQJnHJfV8rcA8pJBSggCIWRe7NJ9lJalxPxJyZxNnxKM2jlJXtg4liwlxA/xSPxu7q0ZxEGuvWgBSgXRe3rJiJJD5JoHJXFJ3ZJQtJRrxrfEkFxA9a/bJa9J2rAZNJZqavVJwLJPNxWViWzJQgQzRJfDx01JVTJogJNLJLAJrjJfTJ/rJ4tJmzxQtJaXJA/xTbJYtx2XJDaMSFJkFJaXJD6JRXJsxJ01JBNJb1xo7JlXJf7J/YAUfYiyuzjxWVicFJhUJzlMznUB/x0bxrGagaU7Msxqa47x1gJemJMAJ//gZVJi1sQKa9fxOtxJAQTVi2rA1LgTNxPAQvPxiqayEJGGafYJPOYC3JO1sj+J8livyadaaucJG3JfYJZxwLDALrJmAQCsJxGi47xi3J3LJMgJWcJ4+iQgQDaaw3x2UJskW1rx11ifQJkOYAAJSGaFjxv/xQAQcyaRKJwCJYPJ1UCkPJEPJ8dAmAAkPJaDxyuJ8PJXHJ0PJVGasPJ9FKh9oVNcQAQpya+yaeUo5+ifmmPLAvPx8hiD3x11iKUJ5IJYoQP+A+AQsKaNsJcya/PxFPJh5U5IJLrJ+gQPjxZPJfMJ9tJ8KaYoQ8KannhH/xCliZfxXLJBrxaGatD8kPJ8qaM7x53x5qstBiDwJCAQdUAJnx5k0RrxCvJ75xbMUgKYGGaLDACuh9bxCAQEGuvkooG625cy6aFDxbgQ9QA36aEFxQwJ1AJfbiv7xkOYPdJVLgULxhGJOtxeAQJIsMTkvPxOOJiLxDGaxqaXgQnnh8AQdqahTxVLgHaM6D0BzEzrJQFJpvJa9JlvJb6au4sJgQdKaE3x46JrsYn7xIHx5GaVwJb6akya+6a1eQ5GaSqa/biLdxfdx2oJ3vJeaaxyJsfJ1eQsmaF9xyKaC2wotJMaaowSZxw4li7/E4liZVJm2JVgJ7/EALxp6azrJwgQPjxYKaFfJk/x/NJkwJCqaPJJxGikQJVASRGadVAuOAv1AXPxXtgzlMs6JoPxzvgxJJiqJxqaOHJkjJb6aznUqaawXEQqaznU8dApyaImai/iGKaagJuisaKapjxEkAkOYwPJDaMC3J8/SI/JU7xSgJCliN3xJuggaaHcANDJN1xmvJrJIxBS6AsmzCAHJbTJIrxhVMUcJwgJ4bIdvxgvJ/DJjeJrJJ+vxmcipgJcQQjvxd58F4JixJX+i4qa6UJt6ab9x10JidJe+J+0J1RJ/0JrGatsJGYJH6aGHxa+id6aPoQ4qalEJ8gJ5+icUAZVJdvxJSJRFJ2dxIaJSFKs3xGEJw/xW/gKSJpEJTVihsJScJX+IOBJbAQIDxcQQx9JGgQEXMrCJrYJvyaxApygJPSJQKaveJjYJBaJtsJxM4uTxJAQWQJKEioBiXgQFtxcXJuNJrNJYigevJeQAUBIgKYcUA+3JCliKni13Jj6a93Jb3JPdJCAQ7uQR3J6aaBzEJ3JD3JD3JLrJJPJv7x13JKqaX+ID3JZ3JD3JelsStJ+6aIvxfvJndxOPJ2PJQAQSPJCqa/YJ8/SaPJlgpV3JEmaWXJbvJJ3JZ3JZ3JYfJF6aHngxKaRciI+JiKa6RKTKJoQpvWgmAAqxKE1J2UJsQpCqaPKaLlKF/xe3xe3x0QpCIJyQp/6a8dAhVM/bxJugP1xDcshRJYtxnya7cA/DJMAQeiswXJZjxhRJHzGeQpZQpRwShRJX1x1LgpQpzRJ/bihQpGvJYXiPwit/JsbIGLU0gpyhJjyadVAULxQWJezxzLxBqaRHxygJxjxr5xHwJm2J6fJs6JSaaxyJo9JnWiC7x1eQF4JrKaQ+iBiEuqaEMJ1UCegJM1J9Txovx7IJSya7YJVNcWaay4JDWK+H8ks48qanNxI4J0nJ8/m2rAQAQlMi8UAFeJ9FKxwppTwXvEZqs9MJB9S7HxefJM0JPyasya3QpddAu4sWyabMUxKa0mJsDxkGaygJrsYwTxYwU4dJoIp42KkIpS3x4dJ42KUIpsIpqqJ4XxcUApya0fxVLgAIp+KaQIpGrx+pUiIpUQpIIpS3xiIpcIpCIpSIpWIpUIp+IpyIp1LxAgJm2J2YJC6JoIpWIptIp//guIpoqaZIp0Ip4zxIwpzIpRIpLIpy/JQwJQAQ6IpNIp0fxeIpYIpjIp2IpxIpZIp8jJTiJxIpHIpZIpNbQHaYw3JeRJVZJgdJ95JwdJCXJIVJ11JeNJ7pJWRJAlJNjJcHJpjJYdJPzxkVJ41xclJiXJjbJxJJaKg7LJPJJf5xRHJrcABTJDcsTiJilxlopCVJIWi5opGFxTiJotJDbJ95xCLx5qsVNcZxwWTJQwJivxtuJ+iJfop5op5qaPOYbopxNxCLxc9JdJJ/mJETgFnJjwJhtxADJ1JJDQJNLxXJJjwJiNxj1JK5JD5xOvxLeJVXJ2opNXJSLxsGJuzJSxJlopFVxlqGlqcw3xfdxl1x1LgfqaKNJKni4nx+KacQpJIsBAQels7jxdqa3BidTxdgJKqaTLx6yakqJSUARvJC2w+KajDAzdxKKJlKafFyb6a+qaI4pHdx4aJuKaiVJ6D0FKayHJlTi8KapKaFGarsYJVim7Jy4panM/DJGFofmmLzJNSJYQpEQpGQppyaXPxIgJRNJigpNAJfrx6vxGQpfKaP+AvWgQQp1YpWvm0QpWvmvWg6QJtPJeaacDxu4pcQpiKaX1x5wJptJXYJ+0JGvxyEJ04pMyaqfJ6yacGaVwJ5qaEtcX+Ia3J9dxr4pNYpYQpfKafKa4aarqJoUoMKaeaa2/ggKaFvJwXE45JofiwXEzlJL1JzlJQXJXtgks4xJJwXEpyakPJVgpW6gks4wXElEpXtgmEpB9S2EpQXJuEp+EpHlJhEpBEpXtgLQp02cKGo7QpBSgNOYW7OwEgskWxJJVvJPoQSYAPIp2fJniJWIpwop9IpcUAaKgg7xgLxniJUPJrIpvrxZIpJIstAQqjJ38J2YJ6tJQIpYopwop42KTNxJ4pakpzbJa+icIpZIpn4pU5xytCTvJADx+kpH6JSIp42KOJSJ/J5kpAqawIpBkpiIp6QJ8AQxkpLYpskpTniDkplkpoIpQtxigpMkpsIJ4dJ4kpiIpbEpo+sjQi2vJd/JySIvEpfdxv7iKkp6Ip6kpkIpAUpLIpOkpZkpskpAUphkpSIpOJS2AQbkp6kp8IpEoJpIp8gpoIpPjxekpYkpEkpoIpwUpiJ4oUpnEpgKgiyuHnCN9xC3JI7JLDCIKaxfE3yahGoryaMbxbjxbUpnAQHUp7IJuyJ8fJ18J8oQDKauyJ2IpuyJHKaZlKnUpo0pbvJuyJp6a40pefJfgJVgJowJ0rxZ+iB4JgYQyRiV3x0ZcwUoBGi2HJU0pm0p6D0k0pXUpM0p8oQ6KafUpXQJR0pI0p20po0prKa50pO0pfgJzRJJ0pIoWtyaCqa90pZuJHUpk/Jm0pnwpXtgF0pr0pJ0pOsJDaaU7C6HAPEpD5x/bx//g132X/gyAAHEJ4FJnya22J3FxhfJiLJJfJXyaMgQk/x8nxh5UhfJ1kM/DJ7cAHQJkBIDWKVwpkMp2rA+AQzDuStJVKa8Mpl6aGMpdEJ/bx+fJwma5jgwMpMaaYMpd3iEMpiMpifJX/gUEwgQplvJqPxCMpKHxy/xhfJqMp7uQ1Mpeaaa5JiMp1kMkyaeMpvPx1Mp2MpJMpkyapya5Mpl1xAPJ3MpifJIsphfJjMpVgpYMpEPx5CJ7MpKMpIMpcMpLdxPMpRMpysppMpgspSdcwspdMpospX/g0opySIXVJBJJgbJGjJZNJUDJGqaCXxMtJbDJfFy8gAMYJxfEiFJVzxPNJ+FxSzx/DJ0ZcbrJiopHrJVGAWVwsop1XJW5JMLJ2xJQbJ3FxcjJGLJOFxeZJ3DJGjJfFy5kJugQzspH6JSFJ4bJ4VJdDANPJDVxctxvtJAAIiHApYpMhJMmaTvJ18J7Up5mJRtxP6at3J47xvWgLDA7QATHxeKabjxoUoMma21MgKY6fxOLJ84J35JbvJ0maLDAmAAZcpqvJG7JHcpZcpu4shoQb+iEqaKfw0yazLxSvxlvJCHxA9xq+iMTkn7xOnx+9J4lizNxqKaevxwnxwoJxdxU1KeqazDANNxtoQQHxY6UDKamCJezxSdxEVMhjxtLxqtx6MJi0p4YJ3vEcvx2DxkkJgNUAoQ3BiAAJlTiqAJLEJc6U1gp4tcfMJDyao/xqbxSvxIUJaEJowSRAJPdxcuib3JP8p42KvTxd3iEbxVUJS1i1cJIMJ5GahgJNqa2fxaMpeUJI/g66JkDxpvJUUpegJP3JdKaDGawUozDupPJ9PJTPJYoQuCpPLA6dJMaaHPJd3iBiEOCp/PxPLABTJfdJv7x8qagHxC0JBGavRQbKJoUoOyJILxSzxNDJvbxoIJ5jgo3xILxkGa08pVfcMAQvcp0mardJmgp11i9XxO/JDGanvE/tCZxwM1JzRJauJE0ixJJ96ajfxUipmeSmAAoYJGvxfZimeSkipPjxMipoMJqipRgJ4bxeipGvJLSaorAr12T5gW7OpspQ3xMqalDJzTx4bJ0sUotx5TxNXyDDJOOJfFyVDJKbJNipVip9DJcbJMqaTipbipldxripWdJ7ip67J06JYrJptJqna3oJILJUQJMqaRaJkwJqnaXwJVgQXsp51JGcpu+gpYpfdxXoJF+JWwJ14JWcJd58A6gT3JuWJCdgDVJMgQuKaE+i3Ka26axqanopZfJVNcS/J3AAtrJRNJTvJhyaXwp/5x2ApMaaesJ3GaOIJALxcUArPJhUpUAJN9x9Sp8UAOJSHzGFNxRNJX1xbSptDAUkpEDxOJSRzxdaaE5J1OJr5xZUpzgKMZxyIycVcVUpcopG2aHbxB22zpJUTxyDJeNJHngfAJcUsanMGKaanMw+iXMpUaazUpAaabWJpGa/bxvQprAJMIpOuiiyaq8piyajjxdTxzUpKNJzLxuzJX4JUaacHxFfJazEUPx8AA0sJM5JlMiOjxtD8z6arLx1AQjqanIJtD86RKC3JiDxOypDaaxLJ+gJq+i7cAMFJYKafGaANxfypLJJWciKPx76aMbxIoJn7xRci3QJ5jxWwJ6HxOcJs/xRVKLSpkEJ19xwDJCQplMixtMPdxSGa1eQgwpfdxHng6yaIMpFGaAqaxwpXYpxwpRci0VM1yaBrxwgJPKpBrx6Hx8nJyIpDbJmXxWDJ1Zx6ypIqpOUkkVxHcAlQp132LDAyKpvkp8fJggJALxIIprIJAma1zx/5xX6a6dx2Ap8dA6QJ24p2YJgyJc/JkGabcp/5xdyaYwpbnJNN8BpiSzwARJCypJspAcpLxJ4VxkRJttxHngnpJhPxYdJ47xI5oIWiK3JMAJ9ipSLx3Txy5CJqajQpdNx7gQTniGfJ5YpgappDAVrxvvJ5Ep4YJ5QJkgQtKpzDu132gFicUJmeSdKayap4oo45J8/SCIJfQJ7gQP+Ag8p2aa3GafyaIHxh5U1UCEtciaa/6aeaalsJrcALrJ4AQmipqfJqdaPOYEKavrSSQp38p9apOkpOjxAoQfVKGap/gJ75xdvELPKsGJNJidKar3JiHJhGJ0sUz0JA6gWDxyYJZNC7Ms/gJHngx6Jrgp4NJQQQWNiQ6pilx6qJtDA6xJb2SUXJiypCTxjYCvnxW/WCl2nbxjPxxW+86QIDE63BkaAOqSkocwqpYZx2DJbFJJzJQVJeDJLZxsRJxDJMRJfrJgcpBlJ1OJeZJvdJQ1JDqJNIpomaKsJ1AQYKJ1OJP6pA6gTzJk7xSTJYBiXtiWfxWAQhYJYnJgGp3zJIGpFRKKjxkGpqEJEGpWBJgGpIDxYRqx9JYBiSGpp7J2Gp8vxfXxwyaGypaYpizJ+zx0ZcB9xkGpHyJkGpojx1OJSsJgGplGpA6glzJd8JNGpNGp1GpOGap7JedJlIi5GpAGpM8JFhJC/S8vxbcJu5JP6pqYpjV2+5xHIAKS4C02+5xZ94+DEztx+q6tt2aypaXR49xbpJGRJYuSXtgXVxu/O05hqca/splZJyypbzxqypgHJJdJR6pvZxfEiZ6pSDJ4qpHj46cppbx+Xx0RJDZx2Zx8RJ96pz6pxXxBLxZdJVXx5XxHUJjmpbUJY5xbWJO1Ju1iHspgtxgGpHGpUGpVGpd3ifGptGp9Gp7mJjGpXGpPyJvGp8vxbGpVgQfmptGpINJraJXGpX1xM8JyZJYqpl6poyahGpoVJ03JL1xCXxH6pS6wlJJcUpgGpXtit0JFGpgGpwGpxAQoGpqfxf6pcWpfbJMGpqna5Wp8Gp+tJiGp4GptGpfGpaGp1apBApG/xf6pOGpLGpuGpKmRQlJImpfp24mpdy4kmpE1W0mpqV2smppZx8mpvFJXtglQpKmpvdaampot4D/JXHaO6pqg2j5J8oph6p+DEs9xp6pLoAxmpaWpstxPrJLTJ+6pYHJ3bx/YJy7xlNxO1sBeJwFJUUpvDxAapcVJOpwr7JLeJBeJXuKN2pD2pPyJc7xWzJy5CvdJ/5JV2pH2poapdKJc7x7IJN2pedJ32p72pr2p75xAOpqnxX/geGpEHxaJqGWp95xgIJzDAeGa4tckkpBeJSUAP2pYOpGFxoOp72p1jx7gQ6OpoOpSsJWOpvDx65JqHxLNxL2p+OpgWpEOp2OpJOpaOphOpfqp4OpN2pkOpkmJZ+iIYQVdJn9xl2ptOpf2pC/SAOpD2pOOp4bIeOpL2pBOpZOpN2pZ9xeTxNOpQupdOpFOpDOpVOp7Op4upnOpd2pC3xROpr9J0HxA2ppiOQ2pK+gI2ptOqYOx42pXbxY9xlqiaopimps2psVxqmprNJHAgS2pTnhKypYAOvlJt5JXxa6upx6phmpO2pwVJOopW9xMeJolx56aKOpoup/OpEup6VJsupj2peTxnupcupjOpr7JxOpMupfqp5Op/2pROpjOpXDxnMU/upt2pD2pjOpYgpFZxDqp4gpPspZipCNJCOprupyOpR9x0epHOpsepOepvOpMepb2psupwepfupOephepOpwkep1OpBep9Op4qJ72pCepERJGypTNJgVJGcpQlJwxMo2pSj4iZ+DeA7txuupbgAMmpOupDmpj7xTmp7UJr5JRLxXUJZzJbDJPDJ1jx9qoHXJcVJqCp7NxuGaw8JR9x9qoNwwBRC0+pjQJs6pnHxiOpC+pVvx0NgXDx37xq+pw8Jx6Jv7xWViG+pSUAIupS+p2+p+5JY3Ja+pBgJQ8JG+p/9JGFojUJGWpJXxrmplLxX9JL+pP9JwEgjspnPJkXxk+p7cA++pV+pc+pnAJQgQi+pLeJOGal+pqCpB+phepEBpWVi6OJBRCu+psdJ0Bps+pRTxx+pB+pZ+py+JYBp/+pSBp3upt/xd+pOGaYHxTbxA3x+JJQ3xX+p7DJSWpt4sP9xuWJt4soqiSGJddAZBp39xoqilBpXdJgqiyAJkFJyFJVDxP9xH9xdBpFCpj9xt5Mfyav9xoqinBpAhpP9xJBJ0UJkFJv+pX9xu+p7cAIupvXxlrx6zEf+pJViU1gObxihpNXyChpShpNtJHyJC2wDiJmhpEWpCjx+3xu5Jf9xlSphmJChpIBpNtJaBpPtJDGJrCJAhpYBpEhpF+p0hpMDx0xJ0NgSTJ0NgsoJGWyENyYoJ2hpujxPtJ8FxR7JChph+pShp6Px+hp59xehpWhp+hpYBpPtJ9+pVopBhpJ6a6EJ8BpO1sDTxPXxu5J59xR+pe+pvhpShph+pARpARp+9xhzxOdxXLJujxeISmtJhYJC2w1DxGRpvhpZhpXzJchpNtJQUJaaaQhp1hpDTx1hpSRpF+px9J0NgLKaeHxujxbhp14JRfJ4tx3hpihpqRpZjxChpiHJunM1DxujxHRpu5JeBpphp2+p8gpbTxBBpDepM9xJ6pygAUEgSRmteuD2AS9xoYporxpDxDwJerAWeppOpoepAupmOpROpPOpqOpVepkupOxpy5CIup2epPupZepCupy5CUep2xp12pXupXOpUupiupu2pVZx+2pyepvtJzgOwmpDvwg2p+xuw2pwZx+hapH2pDJj/J3epK2402pSmpfDJRup82prNJSNAtpJK2pHw2CXJ62pEmpdupc9xDupF6pLxppmpB2pTxJRopsTJLspcLJJKalIi5mpDnxlmpxT41mpLCxp7xhop8HJXTxmTxm+J7gQcRpNLJQYJb5x+3xqfxTDAtLJaTJB1JUCJBtxThpuhifQJ6TJPJpB1J9iAh+iPopKjxi6UuTJlNJjJpdDAedJerATRpDcJ8SJxtJOtJYpp2bJnwJ52p6OJAppOIJDJplNJKTJjJpRtJhNJFbJytJXJpWppTrJGTJdJpmfxQppsIJnYJ+ppYppjTxabxg9J0ppLJptpp8ppfWp1XJKupYmpPxptup3R2/xpvepQJpcmpeupCmpmJJYJpc2pmvhrNJGu4MJpFupqAOmmpflJG2pSJp22p56pltxSep0TJIHJR2pWJpDOgPNJUvxEVJeJpsSpsRJZPxVmphDJcRJpJpTnx5JpTupwEgr+iVMirOpyppNgQ9JpDPJkbJhDWmppGtJ7JpMgQnJpZppGtJatJ+pp/JpZZpxpp+tJWPxDZpJtJYppDVJyOpUpp21JdppXZpJtJcbJVJpvNJNgQpZpYUJetJYppGppvJprfEzDuOGaMCJ5siKtJ3JpEtJM5pEVJRpp2TJoppnZpcppJtJiLJJdx24p+UJZppYppmpp9ppJp2nxpq4A3xpPcaiJpbppY2pgJpx2pwJp+upvpphupcmaAZpftJX8AZup26pIZpMoOVupXZxV5pDxJ9up0Zp9qpDepZmpjupNXJPNJvVJJIskFJBJppPxBXxxJp2Zpj6phXxRBpCNJXdxv7iDqayOpvdJkppqppFZprfEh5pq5poBpAppuppKTJjZpq5p65JVTxfuobZpOTJhFpg5pbJpjrJfZpOFp25pBtJsbJQcpv4JRrxNJp6Fp1dJmFpqbJTJpMpprJps5pdJpBFpzJpTZpRFpOtJ8LJxkGgpp7ZppppqtJVFpi6UreJ+FpqpphtJR5pUlpugQSup+Zp6Zg55pqupLpp+mpEJ27pp2upnppk2p3ppoJpT5puXRsTxa5G75pWmpfnxmZO35pempm2pcxpRmpfnJsZp16pTepmJpFJpAMpEtJ4FpaZpN32d6pWZxcFpNmpZJpqep6YpJnxxZp3RJWqpbup5ZpnFp7jx3FpTrJNww+Fpi5peppQlp+1JWtJpFpYlpFFpAlpilpfZJfFpclpdFpwppilpTOpSNyjcpeTxPdJUQJvEJHFpU5pVZpxFpUVpZZp/Fpy5pdLJuFpIlprJJcoKJpp/iJVVp/kpOtJMlpFVpGVppVpDFp9FpL9JDppOYpTppt5p4XRvxp15pwL4Hppd5pXppPepPppHvJhlpxupftJMkAplpQ+I2mplupumpNupmlpW2p8xpKJpMZpQFpGJpIFpL6pLCpblpAtJYFptTJ7lpUFpGZx+DJx1p8FpSWQcOpYYphAJ6RKv7irVpsMpB5pHVpsppT1pugQqcpQaUoVpJVpEVpNZplXJ9ZpklpK5pf1pWtJSdJutJZ5JBtJW5pz1pdDAylp/WpXxp6lpl5pg1pWlpN5pMdxfepelp41pBlpympEJpL5pAAIwVGwZpC1poZpllpy1p1lp/5pzxpe7xrxpcZph2pOmpj/J2JpCcp9D8/NJLtJMgpcTJSzx1Np+JpGZpMFpBDJR7xRDJPlpeZpflpizJyviX3xurxp9xJKJjSpbZpH1pNUJ8VphNJgNpP1pTVpqTJktpLZpQNpDVpIppnVprfEu5pb1p1pp8lpqVpJ5pQmpevWUNpzppMNprppcNpw1pOlpo1pSNpIJpnTJfppaNp9Iuu+g7XWsXJiepm1pbxpTlpBZpD5xK5pmJJYrJllxnlpMRJJJpLD4vlptqpQ3xyXJwypkFpD6p7NpCFpKlpL6pGdJ5NJ+bJztp2ZpmZpsFprNpOZp7tpHNpntpCNJRZp1rJbup45p71p6ppj1pSnxlNJtZpXHJyTJv1p1VpOtJTZpLZpzWJG5pINpOdpzVpi6UQkp+VptFpzJpx5p2Vpw5pdnM1JpMrUydpxVpJtJ05p/1p2ppeIS4tp+ppcVpa5pApp5Fpm5pJdpwtphNJlnJldpEVp1dpB1Jylpu+gK1Gltp9epJmpcSpN6ppNpi1p5Npv9JTwg9D8XDxdzxx1pEdpLNpeXxTZx/tpF1piFp/lpwmaO5pQtJZ1pO9pxj4e9pXNprLJlapJtJ69pzNpx9puZpAdpnNp3bxQVpI7xt4sfFpMVpoNp6dpedplNJnNxCSJSVpfdpTVpA9p6BpslpD1pI9poppJtJuTxNJpKdplZp3Fp+ppCppNJpkdJsqpr9p2dpx8prdpUtpFbJvdpxdpyDpYNprVp5LJuIJadpA9pLJpUhpQ9pTdpB1JmVpPFpxfE49prn4GmpuNphjJQdJ89pONpV1JaJJN1JupJLZJHpJ7ZJeJJKlpxpJUXRozJsXRdIAUlJC0qmNxZ9p3bxP6a+9x8UAWNi23BSFxXRJJ5J5Spilx5SpHzGqxpAMp3QJ7yJ0jp+FxlSJ8jp0apIjpr3J4jpRwSuzJYPx7xp7nJquA4igpYpEyai1sVdcNcpPdxj5xLcpkNy5mJfKabvJpcpdjpnXxTeJBzECAQ7QABRCNcpxjpy/JXdx6vxPoQIKa+AQ6GaxKalwpC7xT8p87JDrx7IJadxMbIhUp8qa6ZKNwp9CpTHxqbx/yaOjxvjpiQQdqauqaCHxn8JgCpslxwgQxspRjprcpULxFjpNcppjpljpUQpkma9jpNjpNjpHaMjjpiKa5cprjpljpoUo+PJUjxaIpespNwpUQJ9MppMp/DJtPJcMpDPJtMpkGa0MpT/xPjx8wpUQJ/Mp7MpX1xUya8wp5MpxGakyaAspRKKWTphzJ5up2NpX5pMc6P5psNpq1ptlpqJpRNp6JpNtpTNpRJpm9pMkARY851ph6RCNpi9pXTx4NJddAmMJsjJddAANJMoQE9xkNpalpWtpS1xsNpUmpetp/VpIVJ95pE1pM2pqNpz5pZtp28QbswpYpkqJg2JI7JxM4RvJaDxs6Jz+JFkJ76aW0pLdxI3x2IJYLpTyauGaZqacKp6vxlTigFi76aCyayLps4J54pycJXMJ33JowJOaaO9x2goOjxegJZyJOCJ8Jin+Js4JL0psfxfGaNCJ0Cp+Yp8LpM4pniJ7uQ0LpYLpQaa2bxjLp33Jc0pvzpr5xeqJSHxjLp3LpqjxTLpfIpR8pMypGCUD507QpHtxAbi21h1AyZsgPtxapx5p4BSgbB+pYpPS0VrxWgpowS3gpO3JagpHzGXXgh3Jygpd3J5gpagpbTpjSpSrpegpd3JegpCAQzVqyEpnwpm6JRrpagpFgpjAQD5xvjpAPJZxwJViRGalvJsDx8/mtMJ1LgznU7EALrJVLga3JmgpxgpO/JKrppgparpjAQmrpngp2rpagpZ3JnnhGrpSrp5gpYbpSgJsqpD3JerpBip0rpr12SSpmcJP6aMziOuJ2HJm4JyYJ5vJN9xVgJmAAXeJDEJzFpgIJoMJMgJnAQULxFeJJMppn86vxdiJVcJwjpYoQ6dx31Jldx2dxQAQMvxUU0WK4qKa98Jx6agkJVASBApmwJZqaznU1eQcvJKbJlOJz5xh3JYaJlGp5Sp1bpBwJhfx6iJoFJpoQNfxOrxTgJloJNoQNFJ9XxZbpdDACEpG3x+pU4vJzlMAbxcPJtkJuisX8yRZp0maB9ptD8yLxkBiu6J4SpxGa9Zix7px7pPfJJ9xTrprXJL4Jwtxd7p2Hxd3iJnxNJij7pv1xf8p8XxytCgrpG6pEUpMgpfYpfFxarxRvJd6JJugxtMifxSqa1wpp/xnWi7yp64pCAQxtM2MJF7iKHpZ3JzDuIMpSgpjqa2MJ4bpCAQkbpMKaiqaXgpbqajfxcbpLrJOaaMApC4pp6aGdxHuMGrx2/gVgQu4saumjKp3rp2go6dx9Ka+oJsQJggJu4sb3JQAQprpwzpYuSQzmecpKNJ0QpcEpcQpCVJHVxXXga3JKIpFsJF2pj4pjAQIoW4qaYGa3DxZKa7XxiXxoqaLKagLxEkAowJvjpj+JDaMaXxI7JUqa6np6npa7xynpGnp7EAEjxTniPAQcUsFSpJcpxHxhHp/rpHYpZgpCAQ7cpOHp53Jvgpt3JLnphrpd58xrpcbpgrpUBIYUpHQp/ncTxkJQghuxmiaYUSgP2Syp81p5lpdmpQ3xvAJXgQ/DJW6gBgpSUAV4plFxc6aCnyP5iv5KjYSajpESpSUAxtMPzx3NpODxvAJcaaqumSqaMHpw3xMHp16JJ8JOAJJgJbpisKJO0pqvJO0pyXp4J6sXpaMp23JHcA5cJcqaYwJ35JJ4JkmaRQpj9xWOJyEJaMp1jpMya9RO9Xpm6a6Rq9Xp5mJfmmOVpA3puTpOrxtD8YZCo3pUUJDQJ1jpk3pogp/XpqvJ21McQJF6a1jpz3JVpC2XpnWiqvJ8XpmOJK3pW6gm3pTgJ3Jpa6az3JGnM5AJyEJ2XpR3pTXp2XpuXpoUoA8KZ/JvAJb/JLKiLcpO0piXpdepiYoaXpuHKmXpjepqts8jp/nR36sqMpnrpRKKxQpuv8qXp3ditfKYESwPpU1cRKKfQpwmaz+J0aa7eiYoQp9JsDJwma3tghJJWPp1M42SJQQQ/bxCPpGQJyLxCPp5jg7eikPpcbJCPpo044maNAQaPpI/gE+iRHxEsp5Pp36scbJZPp36sULxbPpf4pkfxRKKwwY5RJmYpEsprPJ7EArPpuPpHPpB9pq6a/PpYoQFya6fJbPp5jggvpwvpkyaePp7YJHAJCvpxaaAuJKvpIPp5jgYPp8vpiPpnZCTgJ7gJnPpbWJKnJbPppPpfDJRKKlPpEspSPpwwYHyad7JIPpE4p4YJIPp3tgT3JQvp1nxf3pkPKs9p0NxsNx62p7cC8aqfnJrvpGXpu3i7vpFlxttp2eq/xJ0NxDVxe68nspvvmW0quv8NCxkgQvxJOcAeAhYfphVxCs6caalFx4ROcfpYJJcfpczxfxJifpjwgcMJckkKfpeiSfQRm0qGfpsfpslJQlJOfp5vaqvw4fpSfpxfpvZxpfptSaWfpchOosqJxJgcibDAQ0EmxkVIGvxkMaQQ+UQXphcxIXpJPMYXpf/UEXpsJpye2ZNpx2pHPxMHpR3piXpyXpnpJfvpOnycPpl1p+vJG3p06J+Xpn3pRXpzvxzXpZXpO0pFXptiJVXpa5JNXppcp2QpA3pjXp2/pXgQZqsVsJ7Xpz3prYJXXpx/pDXpfXp1jp5/pQ3pS1ivUJa6aY3pFzxJ3padxa3pj/pg3pa6ab/JvRQx8pb/pS3pN3pqvJU3pcbJa6a5mJZ3pfBK4zxl3pcuiMrU+3ppOJW6g93p63pkAZO+JQAQd/pV3pW9h9XpiAZSXp5mJD3pK/pPzxL3pCqa4NJomaUroB3pXgQ33pLvpMPp57Kl0igfpvjJgdpBJJDvppvpsvpEPpis6Tbx8/pb5Kp2A8PpFvpIPpKPpH/pCPpaDxZVidPp2PpTAZuTp7jx/AZKtxSdJ4zxJvpzPp3tg5vp7eiuTpH1J4nxFDJ8qasyJMgZoPpLPpAMpIvpPPphuYdvxCLxbPpDKpriU6vpLAZcgZWgZCgZOgZJKaQugEvpQnxKqJ+vpAvpmgZOgZ5jgULxSvpRvpKtxu6aB3xxvpEspWvpZgZOvpayaWRC6vpFKazRp6vpJvp3gZGvpePpCPpayaxfEmPpYoQDya9vpVPp4Pp5jgP3p4+g1AZ6XpC/pAPp5Fx9AZEXp1upIZxPvpI5xHAZAzigfpllxfrJlfpUJJNfpqtsDVx6fpMfpjfp5fp1XJJQZvDpkDxBfpefpRfpUfpDfpND4TfpKlpdQZefpSLJZzqTQZFQZ/QRrQZT+O7QZFfpCfpVfp+fpPQZm6aafp/QZVQZbQZNQZOYpnQZ/qJZQZkfplQZYQ2gwZswZ+5xnQZkfpI1xTkJkwZJfp0wZqwZuGRvhJCGyrfpvqi7fphipeMiXfp28QUOwWNpUXpyopdtpyGJezx8VJtrxhnJwQp8XxNzJyvJgqirwZbgQqEATwZxGiLwZTYJMGaKiJHwZ/wZM5xrrpiFJNzJfwZgIZ8MUv3xbgQIDxXXgYIZMGaEIZzopHwZ0IZTQJhNpkHx6zpJNpQrxrepmup6f85ggi487txq1h9GwXtxwLMPtxeGwftx0j4Gi2gyIwdx/IW9yU+XOvvm9LUQXi+tpiZpwEg9wZSfxn9xPwZ8IZnwZrVJwIZwIZ3wZZIJnIZPIZkIZCIZHwZlzJcIZfwZiIZdKJLwZKIZsIZpdxQIZEoZC/SUoZLwZ0Op/nJ2XxVtpM9pgPpLNJKo6U9xELBZYENlpuIZjc8KxpTIZzlpCqKPdx3gJ5ypTGaJoZ67J6gicip05iNoZCGasQZrrxpGaLIRuAJdVAowJiLpw2JzOgt5MM0J2bxy9p8dAWnplXJowpkz4qzp6IZgfpuDJ4dpN9pftpd9pu9pxlpeD4c1po/pe6p4/ptxJeNpkZpa1py9xtwZNXJrIZx4J7IZ/IZ4oZQIZ7wZ4IZHwZfIZDAQAoZ8oZdHpcoZIoZoIZuYZbwZgWpioZHwZMoZJYZeYZSIZUIZSoZaIZtnxGJpczx2IZ+ha6f8Nhc1o6zo680ABIZVA6ntxhoc3tx9t4ZIZesgFIZc8+VIZ0DMNIZ3mAUMA3mAxxJkXJqDOr82zpJHPxlwJP5J8AQHopRtxnAJwgQ7cAVoZ50JHlJwwJMgQupJi0pSoJlTiA/x7EAqrxpn818pY3J/oZEya6KJmQp9JJcFJgqiRvJa4ZEbx4AQPZJeqa0Yph4Z4aJF9x1CJxJJ9QASdcDyaMgQTlMarxiOparx4jx94ZoBi7gQrYZV6pAVJdtxGXx4YZWzpt9pMdpCFpczx09xuoZhmp3YZjAAns41WghoZTzpdtprDJ0apooZgbkB/xISJpEZ3GpKnivNJ4tcRYZwgQ/Iuk5JWzxISJ9ip9EZrDAelsZIJdEZw5J5EZMbJPdx6gJadxrrp7EZZEZ9EZNXyhEZyEJyoZhBpp5pGtpNzp+EZrUWGup2lpUkZzUJb6qU2pxtpU1pkJpftJBu41wZu6pM32C9pUHaizpOtpyzpDupckZMVJYrJbIZCVJdvxlVJLVJN+p/+JLVJ2VJuApZkZzVJgupKVJxVJOApKfwTVJBVJ5kZ9kZ0UJxVJDVJzkZtkZrkZ9Op7VJBVJSQZKoZxNpDlp8EZVzpjppmtpUkZv5pDzpWupBkZ3R2LzpKNp4JpHzpRi2hpx9ZAjFazPxM9paGkVDpoda8YZmkZy4ZZDJtsppTJFNJOtJMEZqoZIUZLlKCEZUdpG9pyEZp1pTaau+gk94mNJOUZ0NpE/puZJstJwyphZJYdpgFp6oZGQZXNJLtpWZpUdpezpE9xu+gZzGaLJ6Yp4rxCVJJUZwUZcEZ4qa19pSEZkYZKEZu9pAAINAgZupzlpY0ZjNJwYZbYZiJJqbxFUZW9p0Fps0ZbtpNUZftJ3p4U9pcEZa1x6YZHNJjZJ6JJkHJrZJ0HJuJJ8jpFipnnhwPp7gJKOpwPpcFJD0ZMJJ2qQc1p2QZGQZwfp50ZLVxTZJzDpljJBpJXpJDAZQ3xSPxc+J8jpPdx8gpfV8wPp4zxUMZUVJS/pCjp5Cp0MZCMZQXJSMZ8MZDfWgCI9fGI0Z3ZJxGpp1i9dx/cpHrxM7xB6av3xF6akDx16aygJMGaIMJQkJu3p/gJVfxjdJdHJQzmVZKazEozxGdxZCpe+JtrJUAJ14JYUoHlp7YZftJty22MZ3bxuMZrMURzxpDIhMZi8p0eJWAZZMZIiJMxJVMZs3xwKpeuiXwJSLxX+i3QJefxQhJbzJrMZXMZZ/JGsZ+dxJugz3xTgJDwZ7DAlbJyspEfxhRJOmJvNpXvx5MZWbpojx4GadvEwXM8MJUAJwMJxjxueJWtxWfxOeCmVKChJEqJ7sZO7JKqJoYZEgpftJ+QmAsZq4ZESpYbxRzxzaJ9EZqwJVHpdQJhPpE+i4Piw7xZUJl9xcaJMAJGdx4GanhYxjx+ZCmUJKYpfvxtdx/3sr3xMkJthJw3xmfxKdxVYk+MZX/gP4Jj5xgIJCgJ3Ip1bpyHxZ/JdaJjspMqaWzx1AJcHx4YJgWJhYJgNUZ2JcrxO/xlD8WjJV9x+2JvsZPspu+gkomN5JgVxnNJdDp8zphzptNp9D8+vxo0pgkJ5dpi6UpTwogAvVJ+vxXLxgYQNyJlIiXQJY0J+Ipa+iJAQGiJEAJ4oo16JLwJlNp7dcpsZpiJ2npMLxaKa2DxxfEDwJU8ZuAZawZ+UZaZpR8ZNRJ6QJQcJW/gwPpl8ZxyJ58ZadxcDxzjxBopD9pYdJ78Z4VJHXic8Z+AQC2wb8ZOtJ+ZJrPJyMZgjpFNplIiNAJ9D8ZHpL8ZYCZi6U7gJS8ZCCZ7dccz4CMZS8Z+gZ4CZT3JniJugQ8jpl8Z6dp78ZuCZfoMh1JIMZSFp5MpOCZUvxYBiwPpS8ZQHxyCZJCZNCZCMZKZpaTJxCZ1CZ+CZMYZFW2x0ZRjJE0ZGIZOzphJpp1pc0ZgiZ0XpDZJf0Zl0ZAMZUHJQMZglJcdp6YpYMZZxwYjp3IZXopVDxAjpKlp7jJoJJ5lxKNx+lx1lJdIASHJJlJEzJKlJnjJOiZ3jJ0lJuiZmlJ+iZITJ5lxQTJNlJzjJwz4vbxv8Z1XJ7jJFiZXjJKZJBiZRlJcPx9iZOYp7jJATJ4JJElJgJJWiZUCZqiZplJTiZCs6ENx0NxNiZISZASZbjJ/jJylJITJ7lxfiZYSZkSZDiZplJhlJYlJuv87lxhlJ1iZiSZniZplJaVxqSZ+lJszJMlJWSZ+5xaiZaNxeSZLiZ6iZmSZ6MZgSZ5iZzjJZSZwTJ4SZhSZ6MZXlJPH4y0ZdtphPpqjJPMZnUZe2pfCZAVJXnMPTJ7Dp9bxRZx7MSaN4bqIvfpTKIew+836AB6eFArPc4go4XpW6pKpJLY++tyvCCfKynRwRuiGgAocy3mAAoQI8ORBhG1pXUZB7xbDpP0ZBJJKnJfDJu4ZxyZRvJfMJMgp4nx5yZmMJajpltJ9QAvzpMoQ5yZ2xJejp5qp02cVD68zik6hs4mF0WwXpUxaUyZW8xFs6syZw/p8yZ4Zp60ZKM2qWpaJpH+OYqyUrC17SVD6nbSkAE/8ymyZnmAyHa21pRyZ0gZbLxa0ZB7xczxnDp/DpkKZF8i1dkFwAZIAGa4yvJWPppk0dbxBpi7yZ7zik6hu4m3yZ/fpvyZdy40yZNpIxykcyZOYpXZxCtyyyZcSKw8gsKZzCA8KZbggiKZ2yZI1pzIZlyZMoQlzJ/xipyZVyZ+vxYtJZyZKnJ20Z09p3SZ7vpfSZMHJeJJ7Hq5KZQyZHHik6h+0wNKZqzWdKZK+gDKZ3eETKZQKZYZpX0ZuyZcqZ0xp6oZbKZX+OHKZ0JAXKZ6yZ68yfKZyKZIiZ6YpVyp6KZuv8uIWKMZltJMbM9yZyFxtDATyZnYproZHdxC9JLyZHnMbyZqqZAsSk6h+0m6kZq2p6YZOkZK1pNlp+kZBzpzUZXTxZNJSzx8cp9FJVzxZjxA1JkFJOapCXxKaZdFJsxJIhSfJplNJOaZrspv1JycpWaZSgQRaZicpNYZkLJvtpoKZpUZcEZYYZlUZEYZ+0ZuLxWoZEkZompkUZ9zpbepMUZ8aZRop8UZSkZ7zpRlpR1JLEIWUZPnxn5pIWWQlJ0aZ+NpyJpaYZnmW+UZMqaSzxz8Z9D8owJwma5qsnqa+TJR1pdlp1tpmIZmzpgiZzaZp7xczxfVpPaZ602naZmupAJpR6ZpjJfaZkHJJtpSUZQ6ZGe2EaZcJpCZpCyZyYZBmp06ZAqZK0ZGjJe1pLtJrEZjNptaZk0ZwHJMqZuiCJ1p96pe6ZTnxB6ZEUZ56Z0kZfxp8Nps6ZulpCkZ+lp/aZiUZg6ZC2pd0wDUZY6Z8DqZDJTlMrlpSFJl8ZcCZa7JyXJyZpK5pSzxtXJhrJh1pkFJz9JRZJm6ZeyZGzpvUZkdpO0Z0dpB0ZrNJFRwrSZjUZtzpZSaGDJMOpsEZ/6ZM0Zu6Z3lpUYZ+zpMGZCaZZbJUMp1Fp35xB1paaZSIZKnxZGZhaZYmZGbJVdxrBpYhptDAQmZ4KpS6w36ZsSpu/OAAIzh296ZY/pWkZbGZVlpKYZKzpxqZEKZGoZPUZiEZPGZ/UZJ9pb6ZdwZGjJLCp+zxOXJbXJMLxD5xSaZK5pgbJrXJOJp9D8xGZH8ZVzx3tpSzxYUZvVp4GZAmZA1pOtp0UZZ6ZAWZzzpY1pRtpV6ZykZ6Npu+gDEEqGZczpxy62oZ4HJ9lp9aZJmZjaZe0ZvGZ80Z/GZxC2K4ZcL4mMJGGaegi7YMjHxfZiM7xyaA7d03BiDDATQidgJSmJkDI/RJxgJGmMNz49tJrP0eFxUz4yDxMgQXappXSRWpzjxVKagkJSzwDrx8dgvgQJnJ5nJjQM+oJMhMa2MqxJNApFLU5WZRhi/RJtD8CuJ720Q2ZNHJOnxfumSZsqDxCuJH5xCHxw0Qt+Ig1JG1JXJJVWZR4WPiqw8p0NgNnJqxKPLAknxavwz6aZcpRHJU2ZTQit3xX+ISnxCbxzJp1AQ3ewqNJEEiCdgbP09CSa2ZF2ZCuJMAQNP0Xtia8piQA/RJCdpTHJGv0QnJF/xpWZX2ZbWZGf0yDx3mS/RJrhJZVi5FA2bplgJL2Z1WZj50nYJIf0u2ZaOZZgi2YJbjxaEJYnx3mSHZ4qjxNwJRiJBlCDtA12ZbVJd2ZzJIh2Zsfx0OZxfEDWZUgJ4xJS2Zk2WiAiOLpEIiXopLEJu04qumAfshjxM6pWFxeOZxfEP2Z0QJNAQ4aJMpIkIJyYMmVKr2ZYUobP0iVJZgQ7gJzKJ+AQk+ieVkyDxAKO6RKp2ZdmJMpIlApsfxyvi4oot/x82ZdwiH8pyGJtDA0Ng6uZE2ZnIJqtxwTk4ooLJIWbpyPJoHxnZC52ZvNp/2ZpDAe/pIFJPiq9uZOOJcDxO2ZHH4NOZpsZEuZv2Za5iOOJqf0BuZCQJK0grMZ+1JrqJjP0uvxgNUf/pf2ZMTI4Gaq2MhrxNEgEMJcgQGAiyu2RVKFOZvuZ3BCPzxVuZidAiOZkPJJ2ZMuZbPKEeZk+iVhI7uZROZJeZX+InuZxBM6dp0uZVgQ3P0XuZl6agQQWAQDtANHxeuZ/bxarx2iJW2ZI3xhDW1fxruZDVAa4pPBiMXxZOZPiqhKalgJRHJPeZB2ZoLxMYaZHJY+ZznUF0J1fxrEgg+ZVHxFWZ8/S9KAjOZTHJKeZQKac1Ckf0XyaPWZ5SpEbxR2ZfsGMrxrxC8jJf6pC4cZOZCwpqjx2txfsGcuZgHxZeZW2Zq2ZozxOeZidAYYJa2Zn7pc2ZfrxquZ6vxNuZEgQPiqD2JMOZfOZzJIs/x1WZ4uZKOZC4p9OZjyaSYA66JEnxygQtKapWZVOZTeZ0Lxf6pISJe2ZZgiGfEF+ZiOpcBZfsGs2ZOLJ1eZGgipGa5ya8+pXuZfsGbeZoNEqeZ+OZ0fJUAJuGa4PifuZveZZ+Zi+ZRhiV+ZKTJgHxgBZ+2ZzBZyYJzeZnAQjQM7BZR+ZEOZ5FArBZZHJGvx+BZT+ZeeZNeZXRJggJ5R8T+ZcBZdJJTwJctyavwgNJ9CSNeZxuZJOZH5xteJtOZcBZyOZLBZ/+Z/RJOBZ52ZZOZ5OZZBZguZnZCNkJleZABZ5wJz6JVVi7d00+Zj+Zn1JGuZ8BZcOZ9kJWOAxJJcuizJp3P0xVJm8JAmJgOYVv8lgZ2HxAGpO+JeAQX201yJk+iISJNgQqgZrnx6zEUgJwCYkyaY0J6hJv2ZzDAB3k1Rpb/JgYQmAi44JxWZEqacEAv1AelKRZpNoQbH4KNCc8JhrxpWZg+ZmhZr+Z4eZS1icYiRHJ9+ZxYMyLpjLxg9xl2ZLJIOuiwCYSwpNhZqOZEuZlzxHuZnjpHokTBZY+ZyBZZHJa7xpRZLWZl2Z/RJxBZADI5RZjJJ9oJpfE6eZ/2Zo4pkeZWWwsFxKQJgf0d+ZH2ZozxfBZVhIahZPBZifsdBZaaaz+ZjP0GrxiBZbcZNRZtwpyDxxAQPdxQOZ7gQTeZ7OZ+Qir5xM0J70pOjIh9of7xKfwXYJNhZVhIZ+ZRRZ2lCB+ZC2Zx+ZXP0C/m22ZROZ9CpTHJjlSLuZ0eZloJJuZPiqt+Z3WZCdgSzwVBZGeZ3Bk6RZK6a8gJ1205wJLGJkPJpWZOeZveZwxZ2OZ7eZFeZFOZxOZ++ZmhZj+Z1aUbyJofx/+ZluZO+Z1RZc2ZAhZ2uZXopXRZfRZn2ZwhZGgiv+Z92ZGBZauJgQQhuZWhZ8hZWvJMya7aUmwJQaaXeZvLUWBZRHJkKaDAQcgQHH4LKaJ1Ci2Z2hZGJZMOZkxZReZihZR2ZAOZ7+Z+eZcpZIhZpWZrsGz+JJOZHiJGYQ5eZi/JxrxuRqjJJhOZGpZJKaLeZ6hZKBZBhZ35JGBZfBZeqaYBZmBZrWZaKaPxZw0QC4cIJZVeJ3AQXAiEJZ/2Z/fJgX2aoQnYJwYURci5gJTUpoAik+i6jxMhMIVK5v0Y8pyfJSKa5FA/GaL/xUDgxbxrLUv5JkdyunMlpZhrxnwpGpZWgprEgZ+i52ZNPp26arpZoUo7YJQgQ1aUJVixqaszWqPxbz4amJrZwqaaeISfsGyMJXRJjsp5ZZeIS5JJarxz2ZrEg0sUvyaDv0TZZ6PpGhi/LUGhiddATZZLuZLZZUDgTwgKNC1ZZiTpyMJB2ZjspK1gh9odZZ3Bkg6ZW8wzr2WQZ7GZQUZHj4vnJNGZ2zpgGZA0ZjepS4Z48Zx2pqoprzp10ZUiZWopxSZ0SZhiZ7wAViZYSZQZJgmp1SZ9jJRiZB5ZxVxkNxoTJmQZSSZ+iZ3iZoJJqNxaZJ9zxzSZV52x0ZHGZoqp/SZ3GZwGZGWZwiZZ0ZdqpYiZTDp6op/FJByZZiZ55ZHjJliZxiZRlJp5ZUSZ+iZKSZAZJWiZPjJeiZ4FZpSZISZ+lJGSZaFZMJJ/FU75Zc5ZmopEr2i5Z1UZtmp/5ZUTJaLxOpJwFZ3TJiqZyFZ/xJDjJB5ZR5ZriZtiZVFZh5xOXRl5Zkz49SZSFZYFZ1FZSZJulJoSZ9FZmFZGMZ5CA1fS4YukqeYZizKZ1DpzTJvCZeFZGXRpmZP5Z5mZfGZhyZJFZiYoZFZepJGopoFZ4zJ4FZ3iZmiZx5ZJiZ8fpfwAufp0ZJXFZUfpllxNCxo1xUJJ3lxloBglZffpWqZbuCOZiolZS1pNDpm0qQYZhmZazpklZ35ZXlpslZmWZ8lZoiZpFZ/0Z5FZN0ZhpJHFZTFZEFZdSZ1iZQZJtlJHQZIwZo6a+lZHjJ4RORlZtSaJlZHvpWNxmehFlZ4yZwlZNlZBqZYlZo8ZElZByZO6ZMlZdGZK5ZDqZ4HJSlZLDpKlZD1JalZnFZQVZCFZ3DpN5ZjFZTlxelJLFZUFZkNx2fpEVZVVZe68llxMVZKwZOUiwZJsMAplZiVZ43c05ZMiZ3ZJ8yJhqa9WJMaaJViZ4p3KaELxDnME1ZkqJ8fJM3xT6aOKJWvxyKaI4JUPJM0J5fJrXpm8pi8Z6tJ1wp4XxXdx4opMma42KXMpkTpPMpgEZSNy1kMTPpUzxbwpgIJ+gJM0J16JyvidKahDxdTxvIJOtx6eCvPxPrxO3xXqZnmpn1ZVDxAQQd7iLlKxCp804Z+J6Pp8KaQAJEMJ4EpPKasqaXCpzUpauJS/JMgpESJzgpPdJADJx4pQspTTp+gJ7MpkyaaKgGgpHTpPMp19x3Tp1kMfmmXXgaKgjwpVIpIwpv7xGGaMkp3CpoqaE4pANJgIJILxgIJOqaIaa3KpOnxB7pr5xlTi6KaCwZ4nxdNZJ2ZKuZ1zx6D0DyagKpvNZXvEQMZhBpQaZo+spdC/npXEpz6kgcZuZJ1LgPOYX/g16JnAQ+KafEp3SaroQKNJytZSHpytZjwpSwpCtZSwpMtZFuYZ3JpvpjuZg3pn6J+tZgKY7KabKar4p7NZmeSomaRvJFPJiGaomaeGIA4pUjxu0JWHJjtZJqaqbx7LxELpKfww+iNtZ/YJddAQmJVKpzKp//gM8J42KbIpS1iTHxcaaPQpQmJMFJDAJ/bx2KazwpSNy91Z+Ka4ZZDGaHCpsLxMdZfvJ11i9yZkaaL1xX/ga3Jc5xw3xRNZstZ8KpjHpxyJgqJ80p11idKa1tZhKaQsJ6eCowJhtZRdZvYpgIJRdZcmam6phqZQHJ/pSgqiKKZClZHTJV0ZrDppVZ5CZ6Ypv8pgFxMbMKzJ/dxdopEkAOypzepA1ZoVJS7p39xxGi2MJaHpwNJ4aJfIZU9ZOYpL6pHMZy9JqzJ49ZYuSvyaj0ZdOJo9ZaHpcmZE9ZkDxDQpilxknJhDpkkpfgJgDJ1QpVdx4PiP3sBHJYJifYpOAJT9Z3IZ6sJNHJXvEDHx2hJbRJHokXJJGGa5qJqnxEnJ07xNHJqbx5BJC9ZtTxtRJYQQBHJIXEHyJ7aUGjx2Up3upQwJwoJyqJyDpHok3lxd3c9PR7VRC1gZx6IJ6znq1qS0xk2ri4cM5vECT2SrOFdsMFqwXqIMky5q47O/nqPUkCVmpNsp06mJSPEWyP4F7AjsKDMKMOARCx4xxg+xJx6LzOwxaPSqGBk6LOohsWWWfDZRJa3cKk0cjTmGBkPLODnEXJ6Mycv2GMrO3nqBvhboaK8xJuRZTkfS0szWnp68JmyyqI2hfp6eAQ9GWj9Rk2JIvRPJI6Fo7kcn4iEgQL5IVvhVXqnbh9GWdXqRGWpXIRRqa/h6YaVd6Cd687uVxIKBqWOAVaq39gBMIQhq94x58UmZAztBdZm+UYOaA9FE8JqumWZOxF5KOYhwq2mi2aBumfBewAlfRkhQ3LRBWg0GOFxW0pG34mlpO9C23WCeQxWyOK5Rj32GTZgWoM9hrNIr2g3Cx3CA3DZIx2Xkw/feLjZbjZzMAHjZMnUXjZle2P1hkhW+C4/jZjf8kwa9iAwTZ4ThiTZUOqyTZT5avVaIyAKCxTVaDuKMDqwFR7uuUTZTwAmzog6hEVa2YgxfwdM2zfmWyOT5asz6/pxyFh0zZAYwjOkyvANwwh6xPzOmzQfzOMXQ91h2KOQhqmbRZOMZTZlO6aJRF5qzTZgLWITZNMEvgA/exh5R3223V+uEg55RhhaC1qAzZIJ6UqGIyO3XOKJOcyOOdqbTZqm0yTZBK2VhA2thfyg9K2tXEu62IE2WyODK2cvWawaWDwqzZ/DZcvWWKxgKWsBh5TZYGUqga1TZQ1qxzZxpqemWjrWBxQR5RMr4e/KsbW7I2gnsyEecvKgzZhvB7VAczokTOtBg6oe1EWn2hwSae5Q+YOnL2Ue2/pxmJSkAAsIA5gAFX27nm5pAGZAh6xmJSQYM62OQIxOKGsLZBzZlTZMAMyfWcyAx5YYXOPmxXjZPjZVsw5Vg/jZ1mWTTZfHRpzZYvi75ReLZ8aSD96Xj+5pQ1JulzZm52z4unORxZqC1q6TZGy2mEOq5gLjOe5QDOR+rZXpguTZjRI4Wk5ixB4EEiBedQp0cu6upTZA6qrjZfLZO/aC7UJ8xMh+duAuSOW/kEhWN34krZkauFwwMrZLTZd/2ETZrLWjNRTcRoTOVE2RLZQ/kOcxJ5iFho1/uKqkYUS7rqrQAKfcvgAzhx6rZ05R/u+K2CkZiTO4emx7TZ3Qa0rOGrqjhRM52frhRKC8bZRrZhiaoq4qwaN/M21qFiaKguU8aRbZpweJbZGTZ5bZxiapbZSDq1bZkhAZrZUpA9Ox6OOMrOQYMVsW2zZDrZcLZ/LZLrZdE6+ca7rZamWb56uxuNHRQTZ0wxgGRk/OXzimQ22Q2krp4GRyLZ782NwRXn+tCABpSzCxHBBWda6ASCS2e5Q5q6pDZzpqKo6K7ZUQ2sfOJwRfbiGqKCS2W/O3i21C2FJq6gRof+oyaWjOojI9OxJDZz6W6C2z1BMLZBIOg7ZzrZAFAhjhRj2srZ4ThYzZB5RDzZP9WWFOqeGoyOMyOEq2BSa3LRi/CtzZV+UOrZdM2LbZMwa15RWTZAy215RKcACkg9OxcyOrJhe5shNqw469iA8WZdqmJ7ZqNhOmx4P6+HAMGOcqR8GOQORkWmHiuGemT4uhacjgAP+AzpgNFhDQYUeYzHZRmqxHZcrZ4P6f04FHZAORE4g5Suc5w0OQwAA2SuuSu+Su2thCnhSi4iD6U8aKOEQDWHHZ2UZXHZITqohqziuDWmDdg3WRMkY4IgoORUbhkzZ1fe4iRNFhOnZzq6P32xXEqzZEjZgUcOuAIc2+MRL2xd0a5GEm5+v1kbzGvLZhoE/7ZAbZYCx6LZVzZfhOL0KKwmZzZ3KAxPBrExigx4zECy4NZivsKpE2adqmi22+RhIolcAGIaSAAi7gNnZzIAYLZh5ah6xk6gUXZmExbDZqaxQYMTIR4TgJvhGXawTcPmSr2WNGWYr6iOhX2WNRq22ifXaf6xGUu7Wxr/hPIROUuCqxeUufWxRjGW3hRJxB7WkGxv/hI2xqWGkKqNUAuRe4Jadew+s4bbhJRqWuAZrR3owPrAkl2jLWeMR02h6qxu7AUSxbzG1xY49Ojfqg3Zhu++fOvmBfmx8SxLWsMnU3MsdE6yb+gLwhjh+6iG/+npk+y2YHZcThGHZSLZodaWkAFgApiOyLZjYCnuaQCBswoQKhBVw/OGCfOJ7ZnuaI6xdaOd/2T3OElOu3Z/JuV3ZB7EQnhdBc5w4m2Gct2vgA1WmcnZw4693Z9ZRKyOyzhTZR+mxjSaBCQnAujMBV8xWYKIwKv+2Y6OVyxFpqrsgRZQlOGL3ZsThZw+mK2kfOgxkG/+SSQa5+GQBxXgTAMeHZ3mW2W6j92HEx2Eq2Ng2d2J7Zsc6406RRaqsat06ePZA5hQCII1qeGI4ThLqyTEk14xdwgVdwHPZUjuTQ2NSOmb6PUIP3aYRwUVYiuAs7OmsWC76U3ZQrCnIuE8xMh+keROaqS1YS2qYsu0/WGD85DwWm81ca8oa4UgZsxWTRerhgYxJHaRsxJlaRecaNRouAeFGo9Rcf+E+EMyyFdw/+AwvZpSWeowf7s1zOd6EbRodcgWi0tvZXNIiVRJ7Z6wmD1hz1Gk2xSGx+WGofhqGxTuakIueDhM3RtaulAeYqxn7Wm2xFDh22xVDhIScZGxr4xxoRy3Ro9GlJxdCm7EuyqxA2GX58zkEpGIqKxSwwHmqC1gBwgqaxhMkHvAufZj3Z6qq+fZy6xBBAwBAzOxldw93Ze2qIBo5fZBBANF2JfZ6qqNF2PqQYY693Z9LO26xxRi93Z7fZGRAErOr1oBSggBAdsaqiaIexNBx/NReEAcN+pNsed4v0A9hxLKCmT2VSs1exB10HZRXH0wKAAxx/xmPUkv+xIFcuRu4RQHhqvIGCi+gBxNJQ2OOLTmdCkVhx3hxxxedCk8+x0qmK0Af54HDZ1hxNgAomsHzuVoGyP40xxg+xbk6cTE4RxcSgwRxMOhkkxWhx3OxO4meRxIJ68Yky1YXhxLKCarizVqOBxCYkvJ6IFcnSqa4AHEWlGWomsd9urx6thqPcAIxxthqpWWODZthqbOQpNsTsaaMA/hx1/ZQp66MAy/Z0qmp06eisS4xnBx7/Z6hxmJsUhx1/Zo4oyAArRx5hxrRAKA5mwms+xYhxZGWuhxWexJj4axxqBxJj40A56RxomsIPQGx6fhQw/ZmwmPxm/juS4xu8khRxg+xmrAmJ6tWWmJ65ThIFcF+xv86UjZvCAwJ6mwmh+xsWcw4xomsltAmHa3qquxx0qmXHRelhdexeEAD4B0kxLEIFA5x/ZKhx5AAR/ZLKCZgAyAaWrGnDZtBgfBxg+xdsaQgaHextBgNg51/ZJhx5FSpNsPnqiy2fOx1hA2DZmwmNqArwAW9R0qm7Botroehxmwm6exCXql5C/tC5vhp9Rg1kGNKNSUGGgEcgiAAC+IuyACQ5dfAVmBtmBhIwvtESyAVVk7tQGQ5oSWzigWQ515ATTkQf23YAdgAjAAyPaof241kAvG+cWeUcZUcRPukDAo6C6D4zo+Hw0tQ5pUcZ2Q5V6OBAmUIaxMXA2bQ5Lt2HQ5WSceJQD2A7d2dmA82aqyAGScfQ5+Uc5UcmraG2hJpQju47CoBQ5ZAgUw5aueMw5VUce0g7yga8WJP2SZQw0gtcuAsGtLR+cW2CuBfm3P69aGl6UOtotcuTWhLaGPZaBSgdOAyxRx9izd8Z9c8SArJI9SADVALfY6XAw/YfYE+C8hdgDtAX5ABwA5MBxdc+qq0KBNMBnyUVo6/1ADmUHj4txubmBmexxy2thQqO2txudIA5Gi4pRKkBViRoMQQj4pceL0CJ5QPMBpzkhSaFSB9KUMd20LuFyUgch/gUqqU9yUuYhTfAHsABFODIcnbWhzupDgbaWCTQ+WBGk0pqANzh/NMZvobiCoT4qwA3tei6IQtRNzhVaB3CA3r4CTQJHuAnAZHuUV4OAw2YwL3ENXuXDq3CAujM/3weruonAU8AR+oqwA8oi/NM34ElUwpwANzhg3u3CAP/QCTQHruTHA12m3CA/AwX0QWo581Beo5ImQCTQbbuGbuIIU3CAP1IMZAIwEqwA/HA8oiGbuuru7XuGo5K3wUSmu+CqwAZo5AnAXgUWbulo56r+I+67o5VnuMKUenumNcvUkLUeib+mFQIvWqOBpcexYwP2Qkt8EY5/2BRF40yxk/qNzhXo5xHAgY5+nu3CAGJA4Y5iYhn7u3CAyAECTQVYhXo5AyUejkagwoyxdSBnoheYhFo5KsGNo5FtQHksUysQY5pysjd8Q64WY5fUsyKUxNMjQAgQANWmlbuwY56uQWwqGFQG2QCTQISGxXu7uoWeiNzhhC+jQAexm1Lav24daCQsSUW4/I5bQAHHAhQAoisn24X+wjzELI5tIygp4om2/9kH8kMBIQFh40cxHAXgU/w5mZ44TEUYWu4WRHAf+22zAEgATqG90c/fOWKUg/Opm6HQAleG8455D4vvOZXKR3KoT4N45LumQ/ORtEI/O8TE3HAgo5T45hD4oHKpt2jLWzisbY5AnAkTE0TE7qsz4577KsV2aZhy1GBoAJDQmTiOzAY6A1S6rIoNusDtAHS6mlACyU6eusNKcVc3lqBwAybq2B2jD4yMIldaMbZlbge9k3CAxNKVdgcIsZgAveA+IAhdIjsAvUkD50+OAOxAiE5XEi5rMnV6bMk2l29ckD50C54cPiwL43HgDbCjwAMWmUv4cPigIMaAiBjAxtiPbsGumgIGjbCqEAok5lMhkCg4k5F34i/CAk5sk5wk5p/COjAyGmKJO8B4SkAPG4IuhR2So9g1zZL1Auk5+k5iMAWDOT5smFcXPB81SvHOxk5z5svHOSeYctgdk5L5sCUgt0YboAzk5vPBMfMegAyT8lk5pbQ8MGLpgPk5GFcAU5shazk5ceqMX2XvA6tOMk5DIGwk5ltAIX43K42oM/z4x1AIRMxtipVucxmkk5m5ufUWqU5bCu4nO6U5x9ixtOmIxbNs/z4RF4BC+XAB445xC+1okJm6n247HAuAApMa6ocsrulgBiJBh4w4wRonAgOYxuR4wRUVYXRsi6I8+i+s4anMgTwrU5gBAzuhs+yrWkoigoBQ+U5XEgcJOl2ke34o05HGmJRo0059e2CYkGuCQLO3NGd7Z42aP7OJwx3j+yBs/dmZV8T5aNY+r5aSJ4M1aOZmHx4vAw6zZxJaRp4MjZ2Jm1p4kLZPvKZ76mxAYtZrVADDAbOEXde5FAczs4wR2FAgNUt+IhkGRVhP4gzuhZuK2Dy5kGO6AWRAH3MRYMcoAWRe4AsXReytCK94l2o4UgqSW4Ug7PBUcA9aRKdS4UgvPBJi6fk5Ji6AU5zb6sQAy3ELUo0AMCDW2WmBuoYW4B+4LaC5/qUgpyU5qZi9yUcPixtOsbItdwgV0Uu4vw5vuq1vOQj4CX+CemkG6lggjsA8G6iG6JT8vrG07ALFIcT6nE5sORB54Ni2VgE5xhP/m/z4NOYD506HAndZUsgFLUiHABE5qW6NN4zl8ptB/uqZm6FtBRtBDtAWm6BtBem6HuqeyU7dA2Kh54EhogbGiZVeu0yzd8LFIiKAaAA26WWv8xFyLQU41psqAiAA7RAzJxulm36AegATAAUlJHCuGhAE1h10K3pprs5/IAe0gWdwulmdDAlqi7Ginmg5DWuPQDs5Hs541pX8APDYFs5hxi99gGkgoQA7RAFs5HAgHKaN32KGWz9Aulmk1hGkgwlwgVAOkAsjWCc5egAMeQGc5506M1h4c5LPACqwQhgWv8wWi1rkrPAGkg3yALD4OqSPAQukqGkgRX4kgATG48zkulmJmcXXgUlJCki8sA5s5ulm84sfnEDZi0wofDQlAAeqAWv8/s5bgA3tg0woltAy8ADRAbc52/xbJxcr4rT0Cc5/s58XRfzg0gUKbQPc5uJKNWi2GREwA6/A3NwCc5LQUMc5O0c32AjnmetidqaEgQskks1xtgA7s50WiZdcWugG85L2irQUt85WMQQRAtc5yhi7xiT850MQX6REf+rc5nNihUo4pRQxiTGiWv8vFxwC5pVxAC5K0+ac5Q9YE85XrcWugBgwgCAV/qulmsuQuzE7cA/85Ge4qh4dkQ5c5ugAb85T85rACGeA35iWv8YRqesK2C56X4Ds5LQUCDx7hOGe41RAaKoWv8JOZgNgT85r1wGC5L2iT85fBAtAccha1Gi5k0YJiTC5kOI4C5UEgpeKLCgpeKTC5I4wG85CuJSisKC5Wugp0iIrkPx4ulmWxih1Kh1KT85CsA5RArEAhxkEC5bGi1z4Qxipc51X2UEgtoidfi3Q6Qm2EzA2m4JC5fP8Oi5BlS9Gwb2YnjWz2iG5wyNp8SYki5uJKwUoti5C1IzAAXVgG85COsKfw41pHhmE7EldwCC505izOgKiA7TgOkA9s5UWirOiQPmSSCeC5Ui5T5K3i50cAqWQT+ACc53tg41pllAQtQSh4KPkp8599gh85CgA0bY/i5Vs5peKK24n853CaqGizs5UC52S5GAAgtuWv8e4ADVyuv8gC5ulmB4ituYN8282Q7s5dqoZS5nOgl6WOESulmdfAbgAWxiN2ouyAx2gSN4oc5lqiMfpMMQ+i5qGiC2wugAN32jFitgA9C5ulmMeQ8Ji8JiqNO6S2Wv88dAmC5+gQkz4SrAgGqUWi4850kkZkA7BgFs5iHiBAQF85gcALkQgvAulm/gy/gy36AgIsvAwzIgQ2QAeuJC5ls5lFxgcA1kAIS5UEggFiYCwUC5j7A7XQ4SQfTg+85RAAonqoq4G85XEgcgSllxVmiV64cGZtuY1LggIsoq4e6Wtc5QOyN85/wwqIgBS5385jRgOgCFhwDs5/WQdfAkz4VmiF/4e68etiGJi3Q6qK53C5KfwmrAKfwIK5qIgmiOCc5gpi1RmUK5igAzC5sX4Cc5DZiHC5ZK5TgAXC5NS5Ui5w1kxGipH2VmiJi5G85gQQdGiLK5oq44i5CUg1i557J6OZBK55K53gAhUAG85mC51Ni7/sVmijS5CK5Ky5QOyIK55/Mz2i485uv8Z6Wdy5g7x+pKKK5vIAtc536AxFy/gy6Q2Z2QjYAJC5MS5K24XqI39G5c5f+K6daC22R5A/hsXqIJYSulm2eJJS55q5vc6985Ov8+c5ot4vc6lC5+hanNidmi9mi3Q6Lc64VAcJMHtqmi5u04SisDq5lwxROmKq5AHwc1CIa5IUAPK5G859JK22yJ5QLc6zHm7lAdy5MS5wC5Ua5lMskQACi5aYEsy5OlsEVMF85Lc66i5fIoOS5d7ie3p6dabEA5EgqIgTi5iNiQQQZa5M4A4TQQp4Ds5TNixy5Q0EYDg2EZiYoqGimQklpK6daltAr8ALCxHa5cy5lFx5lA8YE7u6+YACc5yIAu+C5lA6K5D85qs62UADnwFs5ZVwiBSllxOC57a5lS5UC5y65J2g8Ggtq5+zErPA3Q6N6WhJOqGidmia65wG4Yy5qGiQapqs61dQHq5e4ArfillxGCA4e4z6RsK5Wv8mrApRmmkAi2R4e4OK5vC5Cdgr65+CAWa5Si5OqSHAgT65X65ha5J65SisEQQ3Q6GCA1fAdzkIQAyT8Ha535QlFxBr480A4VAbgAY65zJApVxpZAY9a4y5SisJAQK24RK5JC5CDxAHwzd8mWQxS5e4AdfiKWoJ2sSqAoq5iHiWy5zd8kQAzBoFS5Ov8wK56fAX8AgNg4zANG5Aa5xfEzOi81x+JgqGijC5YuqcC4Fwytc5fC5Vs5r2hQRAUeAZi5skWfnE1z4fBAUG6egANc5GC5nMU3Q6FK5rC57ZiFAQ/hMFggb2Ysm5Ds5Cxi5jgxlmiNA3C5SSUrQUbAQOm5x2YhtpiBSGXRloMZMAQC5UBJaacqxAvjMC0q16yStJCDx/hMhgApi5hc5HK5mrA4pRMa5Zi5f+p9ZiLq5PK55S59y5tuY+K5OjA95A7y5za5Sa5UUAKa5Hs5/s5Ss6SOQQi5BAQ1rkN32aIQxS5CW5MKado6sOiEC5lS5WWCPZGetirQU35QyZJCUkhYACc5qYaUlJ8i5LAAii57a5HngQOyTAAuv8ha5j65pRmSSURxJ8rkBD4Fqi9miegA3Q66S5SWiMfMnIqmxMFZxLW5pWipWickk8K5Aboly5xFyzjJQ25dy5LOiMeQGRmmRCjzSi9hw9awYk71MKRxf54WxxIFcvIGNQau/ZMNYc/ZEtATA50qmbk6o9a3Bx9ukV/Zx/ZJx6b0hpZR5J6G2ApNsVg5vYASYk4hxdbAaRxhxxpLAFg5Wgg3J6/lM+Bxt0AMg5IJ6T8Rz3wz5RWx6fg50qmk+xVtIUg5bTmLp6rPRJDap4i8h6zGWnsaQy0i2WA007mSRDaI5oBXq152YvRz9R0yq+yqQzmZTkki8RGWtXqBlRL5IRRq21i6YaiJmWYaDDAe2W1Rq0IkPaUh/hRGWbr2CR6HIRpXZPxx5XZQGx/xxIGx63hYGxur6oJxP/hEJx0GxLXZ5r6wm0PKxAfhrTR/92IfhyJx43RM0U+xqU3R6Jxg9Gr7WpIeED2OJxxGx+Gx8/2NOWhJxkfZMNGtIAou5m3R5GxR2xifZK5WVGx+MmKqx9OOTjZdygBK+Ss+tAhEERO8W7qAs8UVcRbSc2JRfiW5gaIfRgV+ZMhVzoZ0R8NQepaJkR51aSPBwQaidA0ucRyc60kJO0YQUj50MPU2feW8RACWMz23LQ43sUGmj1AfaAm0gRbkT/q5CWf1aM/q0MRpP2RxRX5A1MWNKWgnBIyAv24Tbm445NOBmAaLwaRkRRMhtfRCSRzYgu3EtMgezADo6beRT5sOFgPgA4yBVE4XTZTsAGE+NNcYf4vjBLfRtyWfYRhe5rGQxe5ewApe5VeRtpqTrA7W0DjuJpQgLZIkh9e5W7BH/gW2a7URoiWPJQrf6x0AhFcRkRAr0rxReIaxyWn6+UfGB3BVsuCouI/qWUhDP2WYQjMu1SW2fR2rB54kVgmQHwKcKpkQZhgdkYdfAqdMJcWfCazQUiNxy/kQNsCrkvo0yYkHZkjjgiJggIAh+5w30jXkwrqjHQ8uB8XkMHey9AGMgK+54yWPWgEOgO4+9u5czosEh3DBzxRLkhtMhgSWGKWADIwSWzl8nIiBRslScPu51nkfu5y6wq9AcjB8+5yFau/qlcWZ0AgG4wga4e5dfABwU09AyGmagh6gQYiWUMRlcWL8Ww70pganCUbZaxSWP6+pXIZusrQAGe5RUsWe5MNAOe54B5MkhDtcre5g0gDBuBw6Ze51ZsM8cVe5AiQNe5g+5AN+je5COgrvBXB5cKURe59Hka/qc46beRTZculIqBkEHIA+5de5Yh5PTBt3QQ0ReIa96+M/qFwh3DARU+cMRoZRCMRunBs0hX/CJT40JRUVRGMRM/RH1OpJQfbZGia4q02/ac2uWkwIS8o5A4kCi/CxqoToShusMCaaXBms4vfB0zhVHaNZIO9+/HhyJOvHODna3PBHiCtIRfVq0hUQEgoR51Q+4R5qsAjPmmcaCscQMhs5g+JqbLQxLZyGqlOhBek5rMhMuYzqyJRF4ALJaIEMbJa8gsQJOPven3BviWHsWwfRMDBge510hXYAafeRDAFw8u0R1B5MQcgpR7qGNCkPymKzZ0v+/8WclwC8RWJUOh5cAaYMAIB5FMhxtio68hpqtE+TkRtxkB/qleGkWee6q1OqgbqXJqBROJ0euNh/5quHOouWwJuQR5s0azQ6mg+GRCs2CkwaqAgV4mCtWNmqcxM6lIR0IFiqtCWE/6uJAyAaUOaMSwzzATE+8teG4CQeupjE9NAw6+mx4XuWCe5XTkyzEFtQVaq080+xRhwhnxRse5Ax5jMAQx5eDiZOOED42UmdcWFLcne5DkALhMfbw4yBaOKYzcCJaFsu0z49n6wv2KyWpxRWjoxwazsRclaCnByJsrjBH/AUJ5UWW3KWcJ5RdwCJ53TgSJ5/fRd1ORh5Q/RYucI/RmP0JugFh56MRNOaOgadOatiWxpOZnBXOauR5nA6+R5AvEVSO+P6LCkJR5Fu5SZqVu5lR5EgRZ7OSpaTMuFZhvp8X50p7omPBCdQ/sICHqnDBoMhzxRNMhyCokJ5fB5Xe53pAsJ5QwA8J5Od0iJ55Y+SCWAJ5zganLBp0o6pOnT2A/RYJRS5aUZRcChyHBr1OoyRkHB9ckfVqXJxsux9++e+hLJOMQRd+0u/ArR5CVhZXaHR5Xx5cd2Kq85Lmve2W3kABRRqiKZOG/S8oajygJMsTseSmu9rZbExRu5iHBK36R7s+IxBVW5u5/RRlu5IgROJRl0hyMkWyhtfBG3Yfg8cHcbp5KDGbJOwjB7u5x2w9R52SYka6FcWxgRzMA0AwmCM/R5zgaCyWpNaZ7oJyW4QoAvBZp5lJ5zNRlp5k/Rlh5bvhIyRdiWOMRaWMhNA3LZt3B8Z57YhPRROHCqZ5mJR3iWGZ51u5to+Me5EiWzgaS+k1yc1zWswYhuASq0GlcjXa/tWVGccWM/WIch5BS6G02402W02YLBcgACsan1MTB5Hksm2mSKURNMfKU6qUUTEfHAM9MpQE+nsF2kEgcaE6SJ5IZRnZ5fwaVp5Vh5EHBNh5Ur6nJ5X3E3J5GWBCiUk55ZrB6Z5A4hvFhIp5Nu51R5ru54xRRSWpU4uf4q+gXdYPxoW2awik5Z5UMglZ5RFawQa64+mAaMNIpQaFyWkAaTsA/fOyoM1n0oWYdx0k7qTR5GrBXxRBWwhNq4luSbcO0kIJRXcWSPBLZ5dB5CNaZ4h2yRDKW9vkZNa68R1F5SPYUOuqyZSJ5Im+6kgMv2H55XMWkJRW6gDJ5S/R4DR0qWrJ5lHOl3BpJQD3a/bZcZ5gF59UuIF5sExENQ5R5Z8WkF5c55wCW3F50K8u+58HedXCyrg9Y+RIAR+53qMu7ABWgNu+2/kwGAT554lBYsAorA+EWC+afsAp+5aCQXLBXc2Vpa755P7BOpO3Z5jJ5wyR1h57J5NREHvZz++WxWzp5GB+dC8TYYd0aMw5EbEOVwvFcbDkO8cy8M6qeGpe4/M5XmdIASrsecg3QE75gJ7hYlc9XWWAUJuEW8Uklcfzc4vMi/cYbMRRMClcLM+bhgv9c7Ps9kIC4wKcKYoAsEU5hkrY+OdqicRw55hu5yl5w2k6MkssMbOUAp5aZ5Qp5M55Wl5yY+du5oIAkMYoB5XWghWIk4hOl5VF5nSkbKONR5nKOzMuCck3XA4uw8B5MucExs8kYDOYbjAMhMqv0xeQTpcI981XANyknu53Ii3u5q15DRsuSR+5aO15AokVgRjR5j0hpNBWfa5NBj5MHTGW5BkpYto2DZcOHOoccbPB6S4FrsTB2c3QoGUVvQYw+n15wO00z2kpEFvA7WMjjZCm+5g4uq4k0gGlczD0xxucEk1O83Xgtc2hWqbFAQN5N4Ub3C1cklSWepanB5CSRbjBv464CumUxDicNDB2i4SJ5HgaMnaLaACDBoyWlpqY0WLXgwYk8s6gQmX0RZh4XkRoq4PkRrfRs0RVZ55l8vcW+0RNZah0R3khOcRujBh8Rp1w3AUtNQouWg+qjcWOY+1LUWpaZ7olG07kUvSWfjBk0hhh5Il5kZR3l5kl53kUZshfZ5bJ5cl5dbOxJWKB+u+h6B+fJxCuxhhsFbMDY+cWM9YewV04/MPJRj6g8H89V5QJ5ySWnjBOdqovZzV5erBo55vAR455SZ5oPaSs+U55j0WvV5tMuVR5gfe2Z5uOOQM6cUhBY+Hg4NsRDRct7OjOAaF559o35wu0R6UCzxRFbBkB5fLqAOaAoCh6+YtcTwamF5vx5TkonURXFap4+gKY7Fa9SWDcWrN5VzU9Z5E5a5kw5cWtUhZSEvcWPkRBh55p5VJ5XZ5T7BU/RUDh0l5FHOym+qt5+s4/559t5Y1OKjwJ6gql5yER6l5bAh+SWdcRnt57zBh/w0kAhjwepaOR+i8ReIa5HB9qhBxQ+OOGpAkbikkmWKWc2kqdMKcK8iQBBAuvRMq+ApUPUR1Z5l6+zxRArBQcWydooUo9cWgAaQt5tNavvAHko7Fa+7B4t5FcWwiWbF5IUkSlaNZa2Za3ZaOe5h95aQaxSQpaoBp5C55BWwz95i9APSRQl5Mt5nl5EJRtJ5RfBEqWT7RE55tp5/Z59HgaWMWuAfVqIsoxtR6j68fmdF5MmkvsGGPgU2Cj8uqpRkAkaCpnWiEqaTtq3CAyjxA+Z3GywnxF0prKauPhV8WzFgijgyzxgEZ+ZZdiJvDJdXp3TxqGODu5wyWQmguYBTgA5v2HpkDUYlt5cM5AiC4a+5v2j/WieswJ5vPB3UkspWZWOqYcet5bggI1Qh4ctR+rFcOdqtBeil5m7OLd5pMuZcRHV5fsQXV5rt5/XagxRtcRwxRop5MDBQB5t1Qo15AEhG6og2UFqBPuxPZaYbuBJqca+5v24IxUk5bkcue5qKWWJUXFa0AUhWIDVAE1Aod5mpaKcWFF5CjBwJ5YpRXSWJ7Ot9EO/a8lazZ5LSWXSW/2aNgaI95TKWuj5Thcg1eeT21R+ZT2ALRJj5ka+Zj5qZi7KW0twcx+c+5yyWIkBwQaMTIDj5VpaTj5R0Ryd5zMA8fgbj5ToSoMRnj5cOA3j5pjBZ7oJxRgiWPLBAT52+5sAY6B5o155FA6T5TOgldAP025l8REI5iISHknMY8joyiMAgBRQ+jURnDYj8W9P2PEhvfoKN53R5mJO9P23H0yFay1AUe5rH0qDAu0Rb7w5iIY8g3IAF6+jIYrUkEAYOHgXT5n+yq9AXDo/x5b95k15wm+Hl5HsuX55vZ5fl5jd5Qf6yJO/4UWAUulkmzwZz5Y/MrBQS55z+cnyqrf+xl5mME6rksGAN+5J4xLk43jYqeekS+Rj55iCO0A255fIiSLCDTBOdceGchR+uYcJfkXd4pQENkmmLCH6A0jur0EqdMYL5jQgm/+ZTSs257nq5GyZ3cC1gtPBIg5dewj/Z1/ZPxmFVaZ4WwO5XWWKg8mFk1joLXCKlA2wcv0gdyBogwK64nZAt1kGoAylAfyCPCgWzQisWBhgz0YVWxIL+/hAKcKij+wDQAJsHlk1m4zABnL52ZqA8QuzCDYkGowe15YicSB5m4ko4Jupwc7Ri15Xu50gYEr5bjA9+C4Qo2CkYr5iB5h15A9a0r5qr5y15h15P8Z/diI0kVEUOqYsr5+158r5h15fQisfwMr5moihycxr5bYECr5j50xAQgmYi0xsJmyyqWO5J9h7bhbz5eNuirMs56PI6LME79ejf8/P6h+qzO+vFGuwaHehySWqoC7pc6fmOdovgxGi+LPBMBw4cWvaGgb5vBuZYAcM52oYaXwqoEtCAyb5EAs7PBrk5NJUascySAHu2J3C7k2sC48C4qiAio8boUdzkrdkDgA9ZsYCapb5q/2ixRG5A97oNGRv2ITY8rPBHHIbrBwWw6a8ji4xWog/6Xg0nb5LsQHvCKiw+DWEe4iywNy6b6hfJ5bik8MaZGhm4k4Ui1TkL3ZcyxBbhhHulBAsHuYdecUayHuFaBi75uaBjtecUatmYHCxAPE7GhWXklpa92O6hsV62k2cTFW/oYGfaOjqDq+zT+l759ZI9MU40x0Lh0QxqgEJrAE+hSOBa75Szuio5DHAIICXBkdOA4y+akE3j8OkAG3CWHoax0uLEXsu75809ktWwxyAWs8H6YMgwruhGrukyxMlO675tvcdEsH751Jk/dRwOBmjuCH5VaBK75EyxPWBtWBCH5aaBGHuTmMPlkIfBOTBzABMF+b0x/jcMbcJecKgA4e4RAA2Qiq4A2yAWDgcWMA+Qi1WMLA8ZW5kAxb5TRApb5wSw5b5SEgfFoJFgf18kDkTPx5cKjQxa8qqzRbJA40uzb5tHudb5x1u1GRXCRTb5Pr5rPB4oA7u2mpckn5Mv438EUMWd4EhGWDDAh1y390FvErns2tAUUA+B5ED45DZ0xguB5NtgRn5IqcDBxpRAgG4Ye53f4ln5tBx1n5cQAeB5dn5FH4dDZnuuq+AK1cqEUrg5x/ZjoaOqmnsavhCI/hW4xlvhw/hiUu9TkQca3p6LoQRDa7dcdTkY00toA+jZ7jkdTk+yqwzhdIREzq+EWtz5h5slFWRVkBHW3pQOocJFcA2UxvGbUeRt55jGgG4cPgkdIP1AX8RdgGxHQ4IA8YUu/ECGIVcc6zmN3UB+5PQApl5RxMrz5RhWBeW/Ywz7gVaxZPwUL5X+5BRafIi3KWvKW/Tcj9G1YclvMUPET2aEZA1dRFCa0L5SsQHZkqdMq+q3b4iewdgR1OhTTRdqUaUMOV5VTseFAdF5CvZMkcuAEfAMGOwqnCrrCFV582kEF8BlIMK68jklhARCC64gxRgm8EXJRVb5JX5hC28d6sZ5bjRrV5lyq7Qhy+cpR5TTRKj5FR5Ht56j51rBXTkfx0ZJW4eCxcg0kINZIRkRKp5pEINpapU4bxswZAlT5fL80shsxELi8KUAIn4hWITw5kz5ZQArURNZ52T5PURpyWMP5nRklyWvcWVpaW0RWz5wt5A0RGrYOshFp5n558t5qv+2h5Fsh9p56ia+u5OKGL35JcRiZ5Nj2735bqAzuhSj50Kq335ml5v35UF5Xt5f3BiJ2vAh0HwcHc6MM4CM+d5ic0hZwFXuMV5K3EkSAWjCFN527Bgugez5efensuQD5F1WRz5A55pJQPixHQxzjZeGWr35Caqlskn35AxRGl5EF5fP5fWaWoxhUeY9WH3wIxQlj5fx5TjUlG0WKWji61QcJrUBs2pkSoUYf+5qT5BxRGP5GpsgQa1KWLF55oEf6+7F5YKAJt5/ZAkIE//A2k0J5QZP5Xq+6eWKUAoF+i0R9mcYIYepa6+5Yz5+NazJIdKOI+5WP5MyWMshWd5O0RNZ5j95/1aosxnOhjn5zTii8AFTgCWqXJQT22BP5wV0hh2zMA7dAAv2yv5xh5Cv2E/R1d5PZ5vl5P55/l57vReTuuv5eYWzuhxu5jt541OH35gp5WJR7t5vd5f35ad5JfRJt5v1khWIpf5EoUWpa20UdM0ibovfoUumFf50Bea4+hJRJ4hddccQAkKM+R+9UoEMRWWsucWAUk6kRgG4KaQaCWtB5Wf5xR+5F5BP5lF5jgaD8u720mlaze5a/sBlkRwA+n5p5iH+0LV4k/5J1IDhMEn5yK0v1kuZanwalKezNcbnAq/5xpaEP5o95JP5R95j2qdX0Wj29X5F7kWzhVZ8DcAWoM5ygEUhigQjN5fLqEv5j/qufBFP5ld5VP5Lf5Pl5td5aAFdP5v55G/RiJRKb4+v5bd5oPanP5oF5PV54F5Pd5aj5/P5xP5RSW0gcJF59kU/zcvqcQrBCM2qEANWu515a95fcWj0hiyWV0RNZaYt5C+kjZ5l6+Z7oPaUgxWfSCxHa+dq2ZQK1cgSCO/ucCWO/5ST51/52z5eck+n5ImgQkoRP5ZB5ul5WT2Xq+WAFst5CbegPaNP5yt5sl5mv52NxJAFvf5CZ5Ju5Tt5irMhv5Q/5055NAFmZ5fd5ZP2YNAhR+ec8RIEIKwNpaTAFtB5NX51kUdj5HAF0/W+p5kyWvAFG95rMgWyWggFhP5yQmPj5iyWj0RHMg4d+WT5GUYip5+T5Ycg8fgeCcqT5o10PG+uiW5f5IxQLemnwaka6pcILj5o/gyQFQpRptE+P5IMRYcgyjZJPMaViIf5pQFaJ5JxR87UOdW18iaosXF5E151LUX8RzeQf+ccoAx08CQFdD5yAF5aaDf51J5qv5ZQhUl5BAFMl5Dd5pgF3lq5gFZAFt8UtgF3V5w/5DgFs55ASWsd5TMuy3mbKOgEhrRk0MRvaGvtc3dQA/k3QFeDiue5vR5ie5+78JOax/5uxQiagDsRnFOSlkwz5LxRjF0l7gTm49jo6ag1PWLeAi0WewFzxRvR5r95wt58kY+q8aCWKq8FKUf45+oGdbB015/9ITHUeh5eSYWgFLQF8e5xCYKJ5+7BJxRKe5UE+V95KsW7cMl6+1LUVKkvwF3+w/wFglEAZ5555me52sh7Z5ufejf5tJ5dLUM8WBz5bf5hAF/l5q8Wtt5Pf5UwFN3uMwFXP5KERQxRaERiwF4pkObaNpa270KUAqQFfgFhkaDCWBQhqAFmXmwQFLN5tf5JPMMNAIqGstR+7kV/5nF5wQat+IIgFOcaiyWTAoaCWO6gu0RT/Q0K8pbCvuoeHoHd0DjwGhhiYouJ8uwFy0W0qg6KgPuo6Gi4vEyoFfuoGIAaoF7o42q43oM9tA7d0C04vuoJ5QEvE/ygKoFJoFPYq6oFoa4eoFNoFSoFiGMRoFqoFToFZoFywEroFBoF+f5M/qqCWn95/QFVd5hgFy2OxgFYwFYD5Aehz35STRVIFu8WzDsNIFVAFcwFAfRvP5o/59AFebBp8C3DB9uRkZ4TIIGoFdIAWoFlt5oMhVwFXgQJ90+qkLh5pUAjoFqa4uYFLoFMUA3uoEAh62R+y8NVkIAAFYFpoFuYFvoFtYFGig4P5ALBj/5pus6e5zbm0R+PIFI0i5YFlYF6oFosx3lhA0AVoFOGAGig0BaN2AvRh9q+gR5C8A1z43oAnOhVMkeMWOBM28RZeAIgmyTB0f52vCmF5xwFW/5pwFVWYXp5eCW6P6Ud5yf5E+5dwFO/seMgaTICQU5g5LwFw95dv56AF+FaGAQD/5gj5pusqIFv+wfR+e/5SwF+Nat+ILUAeFEigQgv22h55B5UqOUv2r4FpgaJ/YQiWWjopXIbSRpNayIFz5kH4F6IFpdAGMgmIFzB5SEFgugX95ux+QqWAwFotaf7iyv2xIF+AFtP5owF2MRUYFrfC6qmmDZnfegA5WggGUYaFad25S4xU4AbhqzcsHxmt1a3qq7Bx8KQ/Ox/fhv1CgX5J9R24xcpWgy0llRpXIyyq8Jm1lR/Oa59hS9C+jZxO5iX5NTkPyOGcail5zP53vRVgFyU068IEJIQDBv4MCERH+eiYFal5wp5Zv5/V5JVoOgR5DiBlIlBMny2v1knrRMUwh7kfy2D1RiPgjc+GgRGRA+ZE02aJfAwpaEMEf4MnCgnYIImA4M0LNgOyQwSW3YFb4FmN5/R6EWWGp5ih5Z2SlsgqkgkgAvZqdDBQMw4R5MY0rUWp/qkzgJ+4WykZ4Fdv5xwh8MasgRpmqfKOkRatWAStmBhmKtm+LA0iOztaWUFpda0sIKT2OKAAuqfG0vK2QASiiAUtmXb5lBMVhajlm9xaKFquUFmlE2Zm2xe/WEJ+4CR5sxAaR+6c0u0RkUFw50Ud5FjBKf58P5maqczojkR5X5eX5KvaPcgFgR9QAnQFYMAlBAw157Hq0n5chaZ2SuYc7QAUy2mmR80cqn5HPadxaTUFwSC81SRk54R5xd5BOajpWAIF855pP5FB5//5EFQfUWsUFvWEPUFSf5iUFJCWMXBl6cNvWY0FD3GrjgVpaM0RaAFO4hVpa34FGB5v4FmaqVgAjkRd8Uvea+kFCZiBsIRUFSIAJUFjlmxkFeQSPkRfTBAuYybOFB5LpR1mgbpR9i5SIxZWBKIxcKwPaoaSgI2EfsWj8WLu5W+5+oApv0s0a60R12wKTBAl0u0R1GG6qO3BwDUFKHOotmCMIzxRS6wt0FV1afPARr54r5h15ugQqB5zgYDAFj8WlG0UqOm/5yIAtn5Ee5hB5hR+x0IszkBB5FH4cxRc4eAMFKd6C+4JgE8kh6bOdJRZUoZJRyFaQTBdqqjkROG680FLD4i0F8qA9S2jZ2lc2Cn5QLAVMFE9QW0FNCANk5z8AvPq2FcxZmh0Fq9APIF4AFaQaEIFzgYBfR0UFkQa8UFe/qGXBMF5bdAt+ImeR5So6gAJ2wo+5nO67EWl2+z2afzM/sWoAFt3QeSWpgaSZsUEFIAa93kjfRIusSIFk2gXKUTbmlHAGWmrY5N55EE5955E5Gm56/vB9H6yp5Ra+KJ5kAaMOg/d5FiAlPWNRA/oAJvGWe5WcFRQ+yp5oz5Kq8LbGfkFGg20J5mp52UAQh5UgA2y2dS+IyABigaXmf16dcFc624UABOmFQAWiMfUWFFgsiRiv5VagIE+pDB+J5SaqVpqCh57bwzcFare7SW+3BSYQ1sFTjUBmU5MFlT2D0oPfRYo0MOgmP50XBB4h6Mgo8ccHgq8F6oBeJ5dZcfe4VDBqIEtXEl2aqR+6Mg0v2P95Hsu3MWt+ISZsBmUMrUEl5b6hGwsI987f5qt5zBCPyOGqmQ1ggjZwBAaMASexdqkwyI0XqAA5jexg5ABexEBxSsQT25vAgIkWCPCrWWyXqvWW7PR0kWAXae2WQkFMpWfp69xxKma+jZ4kFGkWVoR9xsoH6toRwXWv/6joRizmzoRqzmroR6zmoBGnoRWzmUb2kBGFYRuzmLvqH5ygYRNAAb3kSBGoYR4yuqb2EYRiquJo8cyupquO4cub2LHWRBGKyuxb2yYR3HWZb2k8Amyuu3AVb2XzmgnWrAG+yu3PGeYRknWBYRtZIjCFJYRVyu0LmEvGdyuTkCDyuMgGGnWzyuen6o72dha472owQHyuWLm2gGuLmKhGfyuSZq+vGPYRlnWfYRJvGyTcuhG3gKI4RVvGY4Ru72MKu+72FhGT0xM4RJ72fnWTYcAXWXLmRCF/gGK4R2Ku636PhGm4Rz72ormO4RXOxjP5kfGpX60fGh4RcfGx4R/72p4RP9W54RXNguXW6fGu6UGrmRXWEH2JXWJMAqiFj4Rbg+hfGL4Rhrm8H2M4UiH25fG34RqH2ZEU6H26QQm3AeIxO458/QPoUDBeCHgvQWLbUtghDYGeRMP+klxocOOmwhZkwSghlUWo8kGf6KrBLV+31a0MWdUQ4yF8MW1gkUyF8XmRxGduA3ghvrgnDwrPWhTAvLhRb6UMMx08X0WeDiEpRd+SPh2HGOqZiZjA4qEJdwiiAxOqUimphOglQbqq0x5PNks0aTUsrzGn7qZyFa4mjDItGqpi+57qUEMBeqi6ktCWDyFLRofaOaKkIEcbqgayRhCcGV8kih7OhgKWG8Wr35QKmH6hC1kfvRJNuPP5pv5aYF2l5iYI25cjp8XyFXRMI0FeocjMMmyFhYFToSzfu7AFi5GQvmEY2Fead95esFchaLs+E+cjb5GsFO4S5kwcVx+OazFaj2qi8s93W2FaD7eS/ABY+d4EBQhXDoWah/IF6AFeOaZSEUjupp5vSRHZ5v95BgFpHOTJ50kuIwF9d5JEFczAaWMwN5Xf5Bu5NsW4KFvAm0KFZR53d5jgFY/5isF10hKBq8xRy9sdKRFKFIHiaxRBQhhN5356fAFRSWqMYPohWfRg0Fs+gZ1qIIF4liWd5zN5CouCjBsyWrMgmCMxAAHMgA3ATkFNsFVwaUoFt/aLZ5XSWkt5IJRegFgqFjuWwqF+pOSt5Gv5pEFRYwpY6O0W5WhsSo+Ugd4FcPiNuA1NW6eOob2x3MR0W8aF2x58W+2GxAtWzkE2v5/f86aF/kWi/aREWtgIBVwsaFECRb/S6ZUcbae9EEQM5aFqsxbp40hWmKFxaFnGOymOosxVgAV8RFM5ymOt8RxyFcpR1i2aRkMsWgpRwoFNMImiW9S0qpWGqm9NAUg5GxAH25D25sMA9A50qmIXqLwAECFn25BYkpA50qmQC0okWPmS4kWiCFW2WPmSzGW/WW86iXWWNxxi2WqDB3cBYkFe2WakWmpW4vRx9hkiwima2O5SjGsTkKYaz8pLix9Xq62WAuxvD0p/hR0m1GUf9R9XRwDh9O5nWxjO53WxrXR+UutXZnXRJ2xXOWvWGQ2xMDRFUuA3RpXWE2xNfBZ3h70uPvZQu5fvZM0ULwwIqxWJx/jGMu59XZ/O28fZL3huJxtEuSlQSGFMqx8TGt3qsD2jDh33hKfZ65Wwm0mMe9Su0zmhCFS4R8zmgb21CgZCFlpkFCFYb2f/EPSu3oROzmkGg9/hCb2CBGmJYSb2r+cYYR+PGUyu6b2tH6vCF/quvUcsYRiyu8YRBb2iYRqyubqAlpWaYRlb22yuNb2PzmwnW9b2XAGzBGEnWLb2UnWtZI9/hlyuCnW1yuQpxs3wN7MOiFIhGuaxHGs9YRMSF0qmRn6ovUpiFM72yhGn80ViFDIcNiFjn6vYRPYFDiFNTcTiFlgGBhGo4RPn60KuE4RsKuB7204RrgGiKup7284RThGF723Lm9oRy4RvvGYXWDEGYSFUXWWnW24RF52FmFMqFsQGUfGX72iSFDmF758J4R6QGWXWWQGGSFl4R+XWUAm4H2PyAbKuNrgurmT4R3KupSFvKub4R/KuVSFY36wquLXW5RGlsA/VO1LeP3aTJOCbWBIETtq9pOpfB9ZmFFRlz+wR5PB65wFAKFoqG2/2JPm6EmSbUxaxjiR+NWlZUXw8ax23om1NWockLykK55Qg0rskCgRSTCtA+3VWS9481Wpyke6qSTC3NWaPazkE5nZHROFKmmICKwF6hIpuA7SFZjwnSFgAmfnsPSF7PCJ8kXD51Z67YGtquCyF9/IbtYyyFIX8S4BvjhO4wSMurxkPGxMWqsj5DUuMmsBK+m+WbK0LJQjtOYccwhQ3WFhxgNGwtNuOqqcVoxvkfUe0Qgcsg6pA2Wg3VUJJ6Y5YvV0ZbwLF6CceTrAptEM7ukSgY502OFXAaWmMEOAUUardIHmw7WF0j4jVRKW4FFRyCBEOFwZqdvkMOFKXgzmq0OFz9eGAutngEE0bOFh/6yNoHcI5OFC8QlOFyQhnWFnaFdPi9OF4lRjOFR1gNGwrOFTOF7OFm8wqroC7us+24igruk7zWgXAu7AbDG7PujLRcRkT0kYuFH4+wn+TsR54hqsWPfczL+Idu2m+GOFIlR3b4Opkcp+azAlJRJuFA3SGcx+l5uSxfaeCqYCkF/f5fLWl3CdgFbt58wFfV5v3BYxR35Ut7Oc2kyOFU8gqOFaJMb+WDDwEOFeTwHv5oakguoBmmzik1uFZrAtuFFuFRwUITAGhgqT5CP51aojF5X5A2F5sIFV8AA8WLQF8x091wEOFSJ50t5Fd5+gFNJ5Um+I4MRshuAFCt5wD5PsuxEFG0hzZ+UxRsOuoKFOjqzuFff5KJRZMuDAhsERlK+ohIHuFyj5Jv5tAFDIFPuFhYIbOuDZO7uRF9UX4gxPMWCqjMUVcM7MhHoxecEXoxGjwMtGWxRG/S4j4kiwX7wzeq48hXlgRZOpkF9LIU8AVyRY+gdYgm1kxOmHV+X5+4ju8dOzfu6AF/VWCeFS2FGfcDuFzeFMWqreFlgFjt5DAWEXW+zhCaAzuFtIFXd5qER4JO0F5ipsAR+ExRB0xeCgWYAuihSFcs3QCX0VJR4lRL8WebBOMk0MRNFOvcAcvAVwF0d5W4hhMWGxJx1gYMeZOgZQAEOgPSO/IFzq+qJYYMIXgaLtgUse1vYXq+OzhK6C+vQPOya/qqVa08F79himOcJOLBuIUAVQOgIw2FRvmkmQgm3Ehp8YeF4uF/zw/zwvMeC4wqAgspGqT56+5U7BMNaaJ52eFrF51fWUf5+FE/qFd8FYl5lU+BEF83aw9+dd5WMR9eFvRWgxYF3CQhWUL++CIIhuUBFUhFKv5chFwJxYqFShFYyRP3ubDG0hW6X5OrBcHBUO6j+FY557YAA5kEkU7uFswFDUG50hJ7OTgFUzBPsWfnBAeF9oBweF9GwpcWoMgLmIm+uh0xp8o0JAOuFo+FRqidMkXFapnhVPBetI1ao4E+WzBwRF3b4HyhF4UTZ5gG+jdEcRFkwAjZOhMhIcFJ95bvBn6+gkhKx+h/WTTYGjBOLYWAFH9+xHOBx+PLAL8FnrUZshFQhoD5kqF9GsLSRDIcEiFTZa4khzjQ6PU6HguGuga85/SPIE4IE32ibTcJUxn+6qRF8pRRqis5cKHsF2YzFU6xstPYUeFpXYgEx/MuaQuy/keOFf8sM7uIhuW/kZbw6CwcxFQwA+OFhfuLFkkJWDSYC9YD6WRF43eINUAZvoV2x5F8WD8NkmFx0OcC5VcRsUGPsyM+9IoqNkrN4GHAFYGZsR9rcXKERiMahIuUgyAAcURgIAfk87SATgkHty9EUOXc+IkxwQCFQOu+tDUO8cPgsq3MSh8/IhPUerxGq1oHzGhm+Deqe5cwZWBERTOc6ZWNJG+MUhCBQPEmN+GPs2TwjxF9aQ4MIJPWMFABkRXSFsJGp0A3BeaEWjfIfk8SesemhkvE9RwhQacJFgck/h2fqc4kcZvMCbMNVg4mMXbARxGXghb2F3YGvgh6SIAkULiQxgsdJFnAGGUYC5+r7a3DQcd43UI3DQzmcDGGEGcH7ae5cVmAX3E6+Ae/BbjsaEwyB8T0C4Ia32FYTh6Banv6C9BVSIafZe7qYQmrGMBe0kAWegm7sMxMqHXeHjA7SAtVkHtyV4g2EAXbAx1Qz2eJPWA4wRJFgAmMcCf3MIpFiyFhuAmAmKyFSsExsg2KOoEiuju1dQHo+mJ41mByocDU5a2QZjuQc+C8QoUIoiwc05A3SPYIOjumX4mdAaq8IZFRju+akROm1dQLpsmQgNwwNRAciE405G/SZOMOX5YuKFHASZFwZFhju4x+QGObP4EZFV7mUZFfyglGOQe4FsEA/8L4+A3SeROgJks74XycUpkDFwaNEIF2cPiYMsO20sPREjgzHsDOFbzG4rIcrhL2ATBko5F6c2zbRBdRMbUPU2FNwlhFrV5Lle0X8kQI9hFn+F2kF8KFjIF+qkUvSR5OmSc7ZFpgI+V5y+k9+Fomq8qFg2MJrBq5FSYF9gFKYFcKFdAFCKFUB5sF5t7OiiRV8A+n5fJRGdIGhgD1aRBcFF5xwhmbcJFcf0h7UgmF59MUaQFeBFMNa3URohFq0EEAaL+w2ZoOhF+IF5eF+P06gWehFoFk78FpIFqt5l3kiAAus+2/5rNwDVA/4INU43/RZhFe+5nIU2OBNHhHjQYX2sfCxTaYna71IFwZR8Y7h0GeFgV0qP5r4kT4+olRzZF8RFdPiigWJpQqkgY+sGxR/n4oxgExACbW++FEY8y+Fb/S3MhFp4lKWCcWY+5bJEUIFVZaIFF/v5sTk9yWjSo1FF7H4aZF3tQokqK1OMZFMjuBZFSa0adsMocgZF80AZZFoZFn944ZFokqNZF6v6oWkKlF+ZFb/Sz2BtNhgx+qPwm/uWx6ox+TsA8Fh0D809+yMuClFuXEGZF80A9uROZFeZFcZFhrkVdUE5wiZFejuKZF5ZF9U5lZFJjumZFVb57nYHlFqlFZlF4aeFlFgg+Qx+mAeNlFm0sTsANCAtCqjlFCGWp7BkSAijgr0FIYFIqWtJ5Pvsxv0qMR1P54YFoaFtRFC+keSR6HhCr+15Gmikn0A2Wk7phJNRlra4LhwrQAx+sVFVlF8VF6k43aq2UAgsc93CQi8/6wK+hqeh+4A0xRuuFSA47NAUOBeRMVVFlskH+5NCkBFFQlONwwOLuenuwAUXY51bulHhHbAQOBhHuM1FvgAc1FdY5+nuSCko9RMWaxtC2A5a9RlTmFvE5exJn58AAQQ5tg5t8gZ251hAx+xG+x/Oxh9RWXZIRq2pWIYafS0KkWaOhMTkA6UH2WikWMpWMcaMr6Oyqbp64vRiJmki8u/hv32eCF+ccBCFCHWvr2xEcxCFxqo//6rSuwb2LoRUPGnSu2HWVCFt4WXoR+HWANChHWf/U/MkczOLCFwYRbCFfGFHCF4YRgmFlzmmb2ImFtzm4mFwEgkmFyyuRb2rH6smF6yu8mFWyuGYRMiFuyuciFOYRhyu6mFzb2JyuVmBhYRBCAHd6umFvBGSnW/BGWiFTKgxmFpBQQ72dYRLyuyWF1/ZVmFqgGLYRZiFWvGPyunYRahG3YRzmFdiFrmFa72pvGQ4R4KuLiFTSkPmF44R9gGk4RAWF3iFQWFs4RUX6UKAASFaKukWFAQG/LmsWFuKuG4RCWFsXWgQx8XWe4RcQGCSFFX6SSFf721KuqSFFUe6SFt0gmSFoH2RWFLKuWrmd4RyDhZQGXKulXW9vMr4R9vM74RXoGn4RyH21SFzXWlrmhzCmD6dXRzSmdO5VXZq3hAJxzO5QJxNeFgGF0MuXrmrKxw2x5h6UJxY2xF4Ah9kCGxXvZ53hgu5FauQD2XTRYu5gfZGJxwfZfpWq2x4qx4fZiu5QGF3XRJGxmoI8NG6u58fZxGFZoRpGFK/2BlYQHeQLAuX4evADx5g4Wvn4T+AOc5Mp4ygOGp46gGhQkqh4Mh4dD40R4R8GvVmL7q7scxSO3ZAInqSJ42aF9mGIbEOqqMZoa9+3a0bS6jEMy4AEXqh+WyU0upMcERakF7f0PN5f5q7dQJcCOyF+jMm2FPAxm38+2FD5w1sU+2FUsmI5kHb4S4eg/6uv2t5qlk+qYATmq4WseJhcDGdE69VBjiCddguo6z5BYiCI0cbVBYNImV6Z/aN1mKTgwV6efaxvmMPmg/61PMT6GLQ+EXgpgksJ4K/s/dBu64NuYnURF6Gj4mfIA6IQBCk1WcRPam7ohRwOiMbNe3JxukmY9aYI8UsmuYg8vUH9FmxERkoYNAeFYwV6gkeegmUsmF7wlN4p5BcPmRscryQdeuHJBtaG9dQIGWnraC1+4zMBCkn+sW6qBCksf8g/6fkRWCQwV6okeQWASFGg/6QbOlP6wV6u0ImUITqUgGGQ26I1Bm3ExjFevmQC27W6kLUpU6oJM01BZuqqm0qm6qvW7rqDuq3+wOlMaW64P6JtBvuqZtBys5ms5IeqVtBX3Q+YBv5BjX+D5mnGU+YBsl6VBeP8RR+6k1Wwi8H9FYbOQTF1IAwV6FYwldwuFA2ghH9FDuh2ghUsmnYIhGGufCi8ZdE6lm4g/6SkkVqRUsm0dh7VwhHRJPa8bO5KQUsmHw0qYkQEgepBBxQEfRTfMtTF0hAyCa9lqYcWeckUA507QhA0mJhUA5kLc0aqJkBCNUN8QLd4AWOOdUgzeeTASMaf4MYBG73QATFY0mI/6V/6YOqMdFgmkX5YkzFzTOb+u5FWpp+CNsL+FbikQukIOOZABACgx+gueAmaG2uENkg2zFNbBCehpecsLofKGZW64a6XD5cOOKmqqI0Kmq44eswGG+hiXme5hvf6bzk4Pap8BEHoVFW8eht5qm1kcTFJbwrIifzFQaxNP5mkG8YemJGwZCIj0ATFIx0fzF+F6C36WMCGmRIDFwBqrE0ATFsrg83+9zFHzwdh5bDCThcXBhHw8P3aK3EDcEfUkZWECb5CPGRTeHQaiz5ktEPymH6YFTe7EBt3Mnh2nr5Tp5t++2TqjfBe+hwLaYxeea8ZdQ7oYuMUN868zMfn+s7A8TwDz6okkzmAVF2ozgIoEEI28fmTqOvkc57+ta+z/c2UYPVhmQgWEATccXdAD3AwBIP0a8vaMsutcYJ/W+jA/0EimxODaBWkrPc1iUbn+BYeH9FthU7n+uDaxX+C0qquRViSOrF3vaHsklpmMX+jWSKsx9Q21rFaoAm4gyNkzaqH9FCWC1G6aDFwmAoDE+UeuYeMvmiJBfrFKSRFdqDK8SFECrEekA+pFb9aiMuWvaW8we28HKBlJ5PQ0opelUmmIQXFBGdcPFBKY2reC/de7F47pBbv2rpBWbF49eLKc/pBPv5XpBGnBKJO8bFlE6UPU5c+pwAyiBNWI1KFOb4nM2s8QSc+uzMRIAk7AbP0/PBCW4Fd89W8/MG9W85+67oYQKgJgYDD56O6RYwnCgHDwS/ACMAO1xnEag7FVronCgzTw8mGnKBJcCNCAPbFImA/0IcMF/0I6bOIMAvUkGIAq++yaF+cGiQ+VeBVRUM0U9gWfKESmULace5cKlgGpsRV8JNweeRXJ8azoV7F2IcB2+pGwn5usQKNGwSkmddeh5aUxe34Eh5aq7FOt+RsAkdkmBQQY8GXez1h1Sm/gW1/Rn8gZNezTiWf+wzaVLQWu6wrAPkabPUKbFxsG49EPRIa1Bn26fG0m1BzOQGMoSgWRU0oMIHmwUMA+9k9xQQGqugC9W86OqMXQnbFU9FogOZ6gCbFu0af7BViUHRkWPuTx5FfBjf8VYe1ehs4FXbB+2kZaqZSAEUIg1Wc3UL9FJjwBTqkauTTqOMUPHFXZBBwwAlkva6kwIU3gn8WdkYjE+GFmgD8o8ANmOggUGLGsD41MILSAhPWZTQzBeBEAZPW6v6xJFUGEyDQa/BAmqpgEuCA1vQKmqhZwrwwr7Ii+IATF8IAJH+xQYRxGLkRnpF9PgMAmtvCFE5WhCa6WzQGG3YjCg7+WtIRPMobDGzABTomYfCnwAtO+zL2y223nFHshokkQbC9eRb/SzABQHF9e2PFAx0IryAAXF+ehOVkdtm2xRnoASHRf2qOuIy22gOuqDGuX+OnQyXFawmAseZrFsXFGXFWNOoWQyseuVkR2FtaRaYi5Dk5zkLZwVQW9WusBWuQCpmAL3k8zOGgMycM3AhMGA2M+6rabkAL+Ueus07QdZYt00mjsGhc35oM4a8sRiUIOkmbmOnECGGEJ4QsaIOB0qBAM+gxBmVRktgsPUAGZA5kgpTYuWG3s28fmFsG+nofs28cMPW+8cMJWU1UkkKhMi0v/kK/EgJ8SmE70AgJ87cq9UA+EBX7wgTADi8Nhq/dA0kg7zAuU+jI6uVeMvSEEcGZ2V2Bwsi6WgRCGGguC3yuX+m9+h+qv3FajFjDFP9F+mku12YSGITBUkQkFqpVk5xm54w8k+tFqAzF6RBGUYQCGgnFjvuqEAa9sQfW2w4Q5YYHqyfBzIAwtGTJM4Zm6rI1tBExgg/6S7o2PF+gu+XFjDFLkasrprzq5YR/rwdCihhwWzsQtGnDYS0iQ3cLY2YHRECO8jGBIaHPFh7kCHRS6CYO28dOMXFv7k8XFOdqW+hUtasYms1wUuAkaFcaxDSO6TArNq1ck0vF/mk5ouHax2TQXNamCgsaxSvFeFaUxkGosRxFflaUuAb9aRTqR0WF4IHX0efUiPFWZkaUang6RPQHzwfpF3LZ/EYB++MuxDLF/4gJ++Gw4zu+KcC1++2t5cxgoZ61MIlsIqnFXHkJPWI8wLpFgwWJ75V1g8NFmHW93AMUUyFBfOAVOF/bOxOqI08NuCA6qxYWsTafrBlYY+DG0NkHNs68CWjuNnUjQUOWAfOAZvFAeWIbqmCaY3+YDFifFvBAFbF2fuVbFLPIODG6pw3BcuDGn14qfFSxFuUgUL8m6Q8yF/URsP6H2Fm8CDSUz8mIexBxx0qmT8RNkAWRxg+xzx6x1gD+xvCANA5g+xjEF2lROg5Bg5DTm2hxyAa6A5IFcJx6UCAW/Zy1GMRxyg5/OxJxxg/hw1RJRqz1Fiyqnp6ih6Nxx8/hUX56AZ59h8JmV9hxlRxOh5jZ92WdXqGDWQ/QtkGFdo6YasJmWYaS2KiDR6Xah/hf3xQHUj1FZTk5/hHyOQ6USeWcyq2NxHGWPaUhKxP9RD1G3xxDXRv6FTXR7dFh1GDKxvWxgExzKxNr2jXZHO5zXZRdG3O5XJUUGFBIxpauGDhAqxOEuHh6T0kyGFcmW2JxxDh2GF0D2Uu2Cu5mu5+7WOGFtIAeAl+GFc/2pAl7OWqfhOu5NGx3Bkcq+jbueqWrU2XVGlk43tseo5Iqcsiq9iAw15TsAnfwoe+fbCH4gA7C/Ei0a+fWoPG4onoeM5jaCquoh+4raCNfwyNsPiZfEgjJcSglPnRYOAY6aMEpvWg0qgzo8SMFC64B4E4FiCuybsAeglTgK3CARgl/NyhJpko57W6xglS64vKAlgl+uqty4KxADFA9vAzNA5QAzglkG40qETeiUW4OGApUAnp8BUQ25JelKcUsp5Jb2p6D0S9JQQlBOp8UAEDxYQlmOpPSpLoM3glmFcvrA3glC4Cuy4+cGXnEU7xKap9bpdlxcQlSQlvIA3gluy4KVxXnEbwgKCAKUAefp0qgNVMpgloz4KCA0AwW0q7wAcQl4i4cQlIB4C7sOuA5aI4OEqu2xBBBe2F5u8mODf+zABfChxEGrrZdiMVqRYyCyZBrIUubRRAofaetvRD60GcgqVB2igcoAkFOczoW/RqooQYwH4OBIaXvurvuHCSkcgmoAnsFcwlkyRw5+N50w2wFNwTkgZdR6AgQRgOMIVqRogGEBaJ9+hw2rW4FvAuwOFxkpvaxAO2m47pcrokKwl6MBVg6mMBCyGO7Qm/cXYuWwlGsxurhUcRAYxHbAUmAZVO2QM5qFOSx9JsrnQPAgNphcvcs4Qty+BNIFlg8joxl6BL4MQBz949qe4xWXCAP75Wtk6xsf3ujDmORBTh49GhQH5FjgczRCaAU1FMlO9iAKOBeaBcaeilUAnhsH5OH5uWBpIlG75qaeFIlq8RcCQMIlthWgTRYPExx04JCE8G3wlKRRcZ45wli6mqcq084pEOUOqdwlVxa2m4Vkaqwwm/UreYd5gcPsWIliMBqwlVg6AHu9JkXTsNAM5rM0RkfncAAMB4m+xFtdeXNwnlehs51WOjuBEuWUVe0dmQoE1WO/OGiVRcnImgxVzEUcq1Mqlq2pxu+aiioGu66FtR+DW8zQioGevoTolOyKrN4zWS4bAKt2eEByQ6amRuy6H9OvnZYBorsqqcqmMqyZQ5Qw12RC0qtNQN2a0wEznAkQAWzcHGAzNA3M0E8EIMAS6EVLRGXmc98alhWNImJsiC4YmQqL27zhl1cYLhILhhLAFQsai6vl+NFGui6CLaXUBBNRXS+RJhCLacraJHAZJhdC6JJhWKUqoAgIlVCafolMqRyhRE8EMOuJ7QYyCJq2QYlYYxhw2mMqs45YCxezgXCC65hWhRyGkhTFNCAmG2bhA2hR8OxlQR3n5560vYlpkw5NY+ca9uqJBadIlnABuxmxC+vABSWIbJcpralGolA8n8cnuxf+QgZUIbZiJhOHayOR+qRBhR5KRn42VqRRmqFolM7ZhxuIYlLFmecqNOyEw2EolnYlxpqXjqUoGLCObS2WDqaHZIqmBbZaHGQEl9K2IElguRggO4ElbOGkEl3hRnr6EOa/IlLFmIuhIqmz84MNS17OPoI55mcolLwlcj+H4O9hu8Yxb4lucqixST4OcB6BuG+fCirw5E6I1qf4luhuIIGgElS5RMwaTQRT4us0auQRYBRbhRSwOMElSDqjElGHaMqQ9JuhElNolxEleQRau6VgAEsaNIRDp54JMdz+GZAdEmPmOUO6bjAp3kQgmPmAw6eb9a3M+YvBIyIoh+QU8oJkkvBvNkVakwZIB4mvD82olNpW0MADQ8RveZ1ZZzqiDS6mh9y4rAQ8xA3ZFzvW7+YM2CFi+K1OdsAE4gGFOvH63U4EPsY5AEcAAvGsPGXCABBm6uxyTkdCkHrsqZQr+Q9tUK1ODU5PaqGAYhEWoahfogpj5siAZikHYmhfqlwlkku02GisAH4OQWer8hP5eHCSWIGCUafDGUmAxWwfpGaUlIBoLDmEoADym3dme3ZEeW5z6HCmI4gAol/K2z4u7GQkRuLIGPwWsi6mZGHkuqi6iHqnexZKmASGst8Q1a8ZG6beTzeZHqLfaireAQ5Khu8XG4nG2OG5oub7GpO6U7qnYmlFcf26oda1ElZRuF5K6LGjolxhhidq/pacaknZ2sHGQElEXZIBoaFwyVae1qsvOdVhEmmuEO3IOTORIHGesa3L2xeBEm23Q8wFeJ7QvG6Cl5LO+nx5/Ul10lmjhW0lJ7Qil6Pimh2q3mon+4/z4w3ZbDCOj2wNGejqjF68OURjqaYA3H4cJGiDciPgUDMJBBi/BdmAylWi/BFyUqvC1jqoTw1jqewCZwkCyeZbmbjslsMyh8XSIXMpWXMItoMgIX5AZx8qMA1Lw9H+LwQ5TUaEwxK4c4g7wI3s2uHIKaqpTYavmDtAF7MmYODtAohqVakTVO9fq/0IbUC0YAkKh1bc9Ml1hAc7cTMlADB38ETV56yFhuBQKWsklA6eZe8ob8CbUAwldueR0B1XQzaeY4AZx8xuuIfFQtsDzkvQ+/9qtAACseAkmOMUWncSZIqWBrABkklUIcf5ETuFNieT9cW7hDO8GcIIjW37EQ4MwWAFGAm6wsER9uUbOqi6k1vR9fqUcAdTk9vR77ajvRJWUQURATsZO0QTswQkLuAkzg3EwpkglsMek5ZEwO0IQclewwpUAHYwNc0dck0/0pFANt5EGqw7e0IlfTu6WsxReUVY6IlCdki/RVmkvT2QCIqlMiBATuR1CFOORy6B7KQ36GY086IxEbh44xmXizy4uYxCaWxqW2nhFQ0MlJkrpTn0S2ohboOORTP+hslTBqV15pmqG/Gt15+48915eFQATs3Xi+/G4FAYoAZK+KmsFDFmF2i6ksSxWWuNieH9cofmbqOwTscyk3H4Da+izqPGxyklvM+XEIGklaIARd4HNqxi6PEAF4svKOTdK9ihazQNww14B02c4oWEx4AQ52l26KRFwlVUligu5eoxYg0X2MXZ5rMZ76ED5bzAyclMVRCdkxReRIaWN0iuAE5FnvAZcl6Yx2+2Y4xEIx1clhAK8XS4+W/D5ulCMklGD8QMlg6e1caDmeOdURW+a6BCbMZW+zTAi6kOkl/0Iekl+Khos016hi/BOmeyfQWsleFOzeIJkaB0uus2ncl/kknGx0ZBa6MVkRfKEFs2JWU3UIEZsXWsrRoDmAsKgH1Q6WA0Ni3IAOKgzae/UEe0a4OA/0IwvIIDBwUgAW0bwQVIMwclONQYwkXtgHmAS6MPBUK0UM2Acilv2AQfMHXcS6MHp65qUaTiIexq/FtA5yMIYQ52RxzexjEWzexK25IJ6v+kYXeYCFPNAcjZGxAZ/Zg+xT8RqZBfA5WFQiA5pNsh+x+X2gCFk34b25WjAFThK6Froa7WWYO5me2XoaL1FvaU7/F3p6u/FCRqPp659hNdx42WOXaJRq+yq92WgNFqyqwNFJXZ8auz52dKxX6Ff6FNXZNP5LKxiAlbKxyAl1jGqHQwx6bQsWJhZLqZ35gi+ysoeI+m5qargCjq3yh9b6RA+/Ghs++D8hRbkfCAmoCDBIZv6ad6WhClkkhtczdI4B8RnIIzG5taZrMClUXTs/B6GxBeRM1JGbP62dFqZGezFX4xmvoCPmkA+MP6Zp81Sl0Skxi6vgAIolQMiyzFbAypHeE8UUzFflWuNhLO5656Zu6ZLFNmCWDe44eW7aOd6ep8jDs1joMkA/sAvxAZP6o9+Y2IXVAv6kRlQFylJ4cr/8yWkMoMeLQCVQcYe9WqOQmbBkz30dT2MdIpP6PChA/ATsMgKQhcAaxk9uq6XQonFnPqNI+gO+UOq8YBB7kRz6yeM3SlxBA8KlSv457qzpa0oFGn0Xqq4zFnIU3ukB2xl8adz+9fqIrhnpsqvZSh+EIovJg8zG2sk9ylBAw0IYMO65Z6FKl16iL5ceu569Gt6Y3RecouKylUJQ0qcMNBcV8CKlAC+4BAYPMs4F6eO9sM2laVGGAqlSv4GBkGnstGqsUm4EawzG1KlF163SllIOZqqsHFX9WgV5jO2CJx+bR7TROAlaUGNDhhEusfZUfhofZsfhrdF5AlbEuozRyGAMfZQfZcfZ5JxSTGJGF52xK/2Ex5aiG/V60PCTN8cak0UmczoGLG6ylKyltmqNVWmmBiylQ6qwYkfzFvkUMzFDkQzX+9mqe4e9Oqw4ZZu6ck25IFv0lZEUCKlJ4cc5acqlsqlWjSNCgYaAJ8kMohebWWtWlYUBe4Aj59MYs2qgZU8EmJSA2ewiR5buCUKlqm0MKlvjIRCklCoXlEWQWHmO0alQIANCAYHF5yg8ql23e0K8tSFzQGLHFNHR4qlA0mkqlGGkUNh2uW4iGLqxykGb9amdMoYGtSlUwhWz+AGFgbaxFyjaqRpeqsRMc+52kzkENvFkal1alF16oh86wkIzQadUSbFVFBqTqITsspxD7FHsewv+/cGh6cwgef9WogeqVwTTkO6ltDg/Ae03+kIAQge+WeI8GcXclE0EPAZL2KBqBHAjaqbHSgKgy48ZvMLq+O4wPq6jaq6osu8kF9FGDQ2XF/qlO5aBXFLWEGDeRLAs7Fbf67Y+oyMOZ5TKgEjkJcA07keY2V2FVuC4TUyYw1xe+H4aIAst+wBuZmA+2ALSAkylHvA0ylNeMCghfWqmJGs/2wva0FGBpk1LFk4kDAMoFkyrgFGAhdeu0Gzba+Z6o8lWmeG+qjGlvyowQBK4G7aljaq9kaf+ezTicBq23ex3CHWArz8CKlXI4TX8fCaIwEH5k7FkEIgTG6bfBnf8ltMk6ln1E2RWQ55FXF7d5ymg0YhdalJVAmyl1He5zeNA+Y9YpA+VNeNWI0TBx36itWumlWtqaX5RJGFmsQZ8RGlQMGY2Od0laPqEkUWxe2QGXY0SP+ePUG2Fe7FuMerSB3+g+GlUuuIoAN56HcB23WTNe0Tg8ke5wsi6l7FAy6ldOA+Tgm3EnUR7mlvR89C0qEkkigvAe56lLzAAge02A16lv8et6lNpGQ3FA6q/AAc4egCMhzQ7UFDO0s+gTO0tA8PChQwllBAeQA115HOU3mkTO04kcjgUovUXZAiUgIjcD7FqJuaIGAkmeNgOxSp/kIkmD7FsMQEHIskg2HSmYBpmeTHMnaloWltalPCGCalDallIOeMkGosP0lcDCU3gHaxMmFY8UeTkU0koV4CA8HjQkWBaalU0iBPMA003PM1PMymhW6qsimLiG4vm76lxH+KG0ObMKBqozwRUCa/Mx78AW0wB45cAlLMkCAQOsiCwS0QRgGxuRkD5FmlSrwC9Bs/6VeFP4YFgmal5NO6MKlvPQlooz0kYGl3QmQSqDuRKKlWBA0oFgOl2Kl0xFLeQYOlx7cMReSlQlz+BcRHrsygMKTmLcuSKl4sw7c4oylNdgXU+Jpsiclib5LBxKS8Bt8emW/Z6YZ+2/2hclx2FGY5mMwioYs6geDAQ1qczorGeZ6l1/+e6lggeB6lN6lKVwfOeeQm+EWpOlBGlfmlkwhuShjfqLAhvRBcgU8YBUEeeuckeIJNk8Il87kSyxfng0ul/B66OsCqAWYADYYCPEqYAl/RQwA5zgUrCtWQCulWB+M4WsOl29geOlzkEGnO8SmfDo1uQI2l8alNbFE2lCalDPEm7FKSk4BqS5YgXBPNAkxkthqMBcSPelkk5R+wOEy4FI6mZrA3lgNRelkAgE6R8AXpAgO+0pqfzFp6Q+mmrJ2HMuncR7owRkAKE0c+qAWC2f6iOloKckGkeLGK4GlzFJalbSoy+qvGlSoB/OBGmlLkRf7qHHFACgselJ8ooKlseQrPg+aeBmlF6M0+AF+UrGlNWIWtWBelrIiPXQDt+wAe6XQczAhDFuelFEIMHF23eNOkyelPlWoc8PsxA/p4WslgCBck8+qUelEmOuelPMaNelW+qSaqsUmPGlWu6Dj5bz8CqlMbAE1AvMC8Ck/elUxa90ay+cNWOI+lsfZ9SOoel8GlDzkEel0+lA0myylDpeDZq1mlW4CXVWYpGtOqbukqOOYMAaJOtcGSBqypWaXFU3guzmqrWVuUNEaN+kZL2g9hrQQy48c3woV4NEaRrF3f682k39FTiUm54yRACjq7MukN60WOuDeekkzdIcGkO+lRWuqm0E6lLDkXQxQGl1bAvQxmaRzO0l+lOQmWf6LkIiel0pGJaljt+DkaNWIG0AHekDD5RbaitW5tei+lMVAyqoCelk+lKVAitWq+l+ul0pqG+l36gw+lvRWo+lUOqyBlB7kXGlw6qATFTektkMATFT6eBBlAA24BqXqlkt+Y2lMB6pQG5BlzbaTlW1BlotA0hl9Bl0mOl1O9uk8ZWK/sax5JP6itWg26Cek1uR/0GOOloOlHqlFvm5lmV5CjRxg6WqL5phqSg50qmAQ5oqUf8FtTqCg5NmYS25nohLil5Uml1Fl4AjRxWggPnqCrAdil3mIjPRokAnRCN1F1hAAg5S6Ft1FVThUXau6FHoaSDWMyqBdxvcl8iazThZpWfp64UiPGW/76cca6yq+pWuCFQH6lGF8HWFBAiHWkNFyHW0NFoPGpCFcNF5CFCNFboRMYc3Su1CFkb2beedCF99k3MIAYR+YirCF9n4JzmBNFAmFeoIQmFfCF9HWOBGZNFAiFcYR+b2VNFzzmJb29yk5BGkiFDbaimFWYRLNFInWamF4nWHNFkgApyu3NFwpG4Lm3FO/NFdPFkvG9yu8LmuiFpmF7+c5mFU/ZLp4xiFk7289FrYRihGs72itFC72PyAS72qtFb4FbmF5Lmw4RW72riFutF7iFfmFniFjLmRtFzvGviF9hG/iFqKu4WFQSFwPGISF4XWOKu64RoQGkSFiWF7Ecu4Rw55ZKurtFsfGmWFhJs2WFO25RNIdKuOXWBWFTKuAdFN4RxXWwdFJsAhSFMH2PKucH2fKuxrm8zFiEc8dFVfGv4RTWFdJx2+hGt5jDFTfB1MeB+hwvavgAgM4Wva+iIZXaxjhRUmRlhiWl/UerGyA2lp8kVJl4a6Rxe+caKvQUO+HJlf7+O0kwZClfRfNhBUWOf+7zgc7+BUkwqEB4mhwBZcBaklhdsQh+8pFMplb6cuF8MZWEh+4tqLsCjeI40mPqcIh+Ah+8YGwh+/B+2VqlG08plWPe38EHJxBRu9QWSplZiEI+0jxU8tsHUckfcOW+lplOuI7RsawkigkwpcX8EIKFecO1OATy2/HgqnFhkYTpFS6iWnFN2FiJcKsly5Jwd4/ZIo4AiReTNkrfFBXWKMkPpFulao6C5AE4Zl5Sl9AWY75eoC2xu+kkSD8UOCjuMAUMYwknQcH2s65BOmMS8MOZlUC89bc/pWTERJZlWZliQkDP5jKlEjkYzgQa2OeiKaUGHch9oPTqOZlTT8gOA3oA7cAPTqTZlg+87OMVj8/SMGKabvMwTUc5gNjAarwzaeOdohnmJ4IHzQFYukiwFYuFdU+qMXW06uAi4gfeknJGYX4+F8y+A7/cY8gvXMIto1JkewCZDspxFcv6m5len85QwfichOUQmBCwQ0kgq60A2M6MIx5lU18o6AmwC0kgCdUl5lO7QqrM38Eu9FmMeKQWJ+hWMEAoawWldLRVjwbsk6sCLt4f2QEaMg5YqaQxP89L84tEPw2Ft+EC8wm8348S38ATsYm8348b8wEm8Ov0MUCljq9CGPZ4cxgzT+cEkx3F4Iam1gg5aF/kaFlZbAcxgikwi00uBkOFlheUMklltk9TwwJILToGPak2czPUJkCC68VY8gAc/M2k7cjoCQp8FY8olc+ERiDQ676/ICY4AD/BTFlsvc8keX1a+ulSyoEecoJYb/BdwWCMA4CqDpGD+F74ofFlxH+kllO7QL+UMlly2anYgA2sI8BJ/ctg80WEzV8mEm94Iwp82GqAD80+ABowIllGV6G8gC9YyH8J18YeWOYW+AWlnCf16xs274oOllmiMillkzCdllr5OqCgeRIAiEAOcq7hW8EDf02EiR7hNieHslqVBGEIJWUqBAGEI3H4Psl5DcE8g5TGQAhUVlEd4AAIsVlhkGObMCVlAUINRUWRAD/BmiMcd4Ws0NRUiVlJ2l2Vl8oAva6tjyFN4U5lZEg8s5/f+n0RFN4maAZVldjkNN4lVlQlFeRIVmW5TG5KcJVlTVlVTGLVlDTG38Enf5vixz02o6AZVlff+ISUtVlKaUA1l2UYuJFPLovQW9TYgfF+UQ4ihwrhZMIzme4yhLmelHcQAhOOEOA8lllu6kMgI2ERJ2lXERs88J2lndkkbwUkcUZlUAmvJFjeIaYiVI8T7mflaiIsO7FMh+wrhNie3qGih+MMCCOqom8COqQ4MrVoWeU9KBlZ6Wpl3XiL1lUoY5SAPqcOuIPYhd7RTwCyh87mA5OAntgarRTPmeYiZUg5UUVYeJuQxussmYEjwi6lGzwxdAswhMf8j5MTw00GcXqAE0ACjsE0AM8WZmAz+Ut28QTs9C8OFA0ihdC8rQW40Uqt0d9hxA8Nb8PwUEgADMIGUYED4oFlcz8uN8VNl0+Ud9htNlAZsCjsrNlKZsRIFx4M8ZW9bcA5UWZlSlg9OMOTUqAAuZlpwcF98f1g9QsLPEOZl5Zl4tl/9syz8gyM9OM+OU9PEItlp2s/XMcW+0qlGzwQp4nws/llFdo+0aKiQKXAQ84qBALWAMJA5FAzQMxtlphIp7hSrRmQMqrR3lqXDQz0qbbiJq4M50sfM04QJq46igHmwg9qBe0D5AwAAHmw+OAwkUFhw7w52D4MTIxk87tyrhw99Sqzk4bAsAC/f0WVQcVBY75UEB/kWUkm66lzP6FdoXgMKiQrwMQ84x1ACdl7cGQ0+RV82mUualsUA6LEKQW5ikZwWO20FdoLYgNkAKiQonAZdl9UMrwWVl4dtlmQg9QA6H8SeYt/CijotygKWYXUAFkAnEmudlpSAVQMuWGUVY66llQM6OUk7A7oW9qkZwWEJaFdoJ20ggMfKEWuAggMJWUnEBOeWUkmFkAQA8rWkP+AKiQ3+Ay9lVdlhahaXMtdlzswuwiPqQZAiDEGyRAObMMqQbSsFdomxAUEwdUAIAAUMErVABe0Lx8SYAWVQoe6vbUi2si20ttloZW/fg9FiGxAqpFOPBIpB8IctUB94UUR4D50dO+NQi6e69tA4dljMMvwGOdUNRAKaqDekzeki20jgi3F85R8f4Ea1a8RRthe0wwDheKDlJWUqAY4DlkDly1Yx60JgA94AcDlHNcbYga1acd4nMlH8Ei20zmc4tAWOAKiQlDlMkmEwFmYW75U7mljwkzv+c9l4kmfKEs1lW7hBnmNEmH6YEDlpaqQfMHhBjMlZ6Mk8lSY6tD+8fmI3FPEeSsR43FRYwAPAtxELZIX1RbqqTG6nH6tzYaroQplEt4kl2VTGSVMGdAMxBmyAAkmB8wzEI/sgNWM4Yw5VOKiQQc2ii0ATsnVkMgOEIosMwxNh63uKBquAAnzGnbBpCkKiQ5UkhcAFycVilXVl1fSUylh2CNKCMh+qRAOsWzUkSmU76G8O6cz8Idgfd8NCAQaCPimlOC1Oc9Fk66lqo8FlgKlYJ2wvUkLwwTEI2+4dhFCxaXDlez+KPe4h+Ko8dZ5N4mNyk+OANQMKiQheRusRATst004UC5rMs0a8jlRRgzt00+AZvoyjlqRQqjlLwAV3svPCmjlb8mR9llk4WJ80J8Q84UJ83H4UJ85jlVNETnFHplaAUyQm8fmbjAtNUhjqCCl5YCpjq+nctFkRnctFk7NltFkAG8HJlNJlcDkxgs51l7ICF/GrymCW+yvZCh+fP0xKlqTllnIKaqQ2MkC040m9y4WplgjlPfW5vRIjlNie7WI0jsiUg7mOzGMqVBiUg46eMfmbSA40mN4gWplHYw40m8hhcABuF0SaqxEmY1gfyAKfCiMAshBjuo/IAogOx/RfjwPGx3Dl+UYbTw5Y0Zzl2NxM4aHMlv1OOsRBe4+sRR3Fb9aULlSOIMERCfe9kQ7OaM4aQcRXOaEJ8fKEFZAEJ8JWU2bRaTlrTGB4wsLl1P4OUQ+AMSYWGD8VbRNbRf5QQ84REB5LlzwAlLlEkwcLlxuRM4a6wmFdoUVYFkAKiQi6I/Ll9UM1TOObMZ7Ru20xReObMRU0trUWfZ0N4J2lYrlu66ErlJ2lUrle20HmqLN6Lf6OjWkGlLk495atjqyh8bGkeeyyh8gBADwC1LlSY6s36cH8xrlFlg3+Az9lFPeuAAIAA0AUmgAIAApKqnl4HUcW9l9rl0AUNrlpKq916m6wAAi+TsOME9lGywCGYADlBWQAWBR5KcULlyiMVLlOLlupWM4aBBRBpWyNAJBRsbl5BRkLlKaqO1lADBUh+NLlYV4a1aSOAFdoy5Al4AKiQWRAOblJWUWRe6LlKaqt18nLlXReM4aAuAlSCExeAO8VblzC8K5e+zl/uW0WA4bl0h+UgpM4abwcppcamAj/cUu4Yigz/cIrlK1lSWI4tAvvYCMIZPenUc8RRfKegJkJH8J2l/blQ3Jtdwsrl8AWZIAo7lx1cN3WSP80aUGalwnCFSmNdWYfCtYM39lMUGZVleQkU5lfVlW6ktVlzOMwelss+POkfCh3ARlm+mJBWQc2JBsG8BNl8Fl916ObMFcky1lI8Bzj8L9sJ2lRgcRQWc7liK8Sc2k68bwwbRRBalTNqDmlHx5eckxEmYS+1JlyfWV86mIccWevqcSAh4h+U36Ym0yb+VgA8qqNjwv0FCJqI+0lEmGcG3EUOeeSaqSzldWAS7oLUAJmYBuBNgcL3mBTBXjlOO0ATl8vCZ4QTSeO4wVjidWAWvA7a2VdQTgC1HlPjlevEkiwkSAF0GeuATkA8iY4vma1amoA7slX00nsltzlp7h9zlmQMjzlM7hbzlewBWeUOHM40mNc0Pqc38EYvFFXFMIUYTBpuCTRcDDIZjFCtBm3EzIOjHluWC49RtHli2OKIC0d2NHl41WS7okSARowY4ALwwNCkrAB8fm4zq9/ovC8smqNjqATsd5h/sleRIR+UB4mSXUWplDesB4mVT83zlbMkPSuU9WXMlW7l15G+7lZEUdKmk88o+l/zaZ7lOVGF7lA6UQm817lbM8aQ0dm+aQ0Q4Mus2H6Yh/+Myerm+PtU4N8yh8K/+Emem2s2BG0skwScquAROCYklDeaTAWQrhiM211l2zl5Tkd1lFx29TkznlZfAZEgQveQ0E1N4pnadjkfM+n0RNN4cbO02c1Q0EGuWK42SEkG6FN47K8fFobm+c/GFYgqMlyB8Gos7/FGqmLAAPfFg+x6ImBHA/WhqJ6ACFl3c6g59250qmnex8sekexxwwf25g+x2AAy1GDilIFcdsaVVwHhqwwmmslE+xM6A2g5g+xPfelThJDaGxlSUlmHc44MeOcmnmujC9Js0uxmt5x++oV5AQ83To9LFxIxd++n3ljUaShsY4MgXlp0U2DUOGA4IwKq8bS8GUkf0xTjAdTB4Im2rA+IgavwJf4SgAFy8Qe+7wAKPlgPaocgbewfEkAGkuIxvLqIg8nb83b8XZ8Q4McTApURJPlnG8JPlkjsJPlQQO3oeQb5KAgWDk+PlU7c/DQpZ8ATsoTcXZ8Cjsr/sFQskjsE3A2GWU9E1bcDoC/48SmWiW8Nbc3H4rPlNbcQ4MXsCjPlpURr/sNbcnG8E3Ab2MNbcXPlHcONbc1Pl2VchOldPlKg0DPlj88J/cWvlEZsOvlWw4OvlCMUOvlaZsOvlb2MOvls1kp2MCsQEaCDscxcgYZMB7cX/cYZMjbcw8qYZM00AuzGxvlrPluzG00AYZMCMUYvl6s40vlK/E5vlcvlkvlpvl3PliKCvvlFTCKmAzvlQflYflWw4B7mYflkjsYUCYfldvl0GWkfluzG4mAYZMWw4wvlcfl6Tshvlv488FkDvlkvlecgKfl/vl0flc1k9vlEvluzGwflSjsMvlWflsflYZMPjsu8qtvlkvl+vl748xflRflNvlovlK/Elfl8qMZflSjsuzGOfl0GWHvlYfl9flyfluflQTskflmfl6flpflEflgflYSkAfl4fllflo1kDfliW8fflJfltfl5fleflr/suzGhflgflqflQ/l3L8OWAASGPflSflnvly/lCflk/lCvlWflO75tYmm6wBt82vlxfleewCZsAUMVflr/sT/l8qMIflT/lqZ8nvlxflJPlhvlnflc1kgflr/l//lHcOT/lIvlY/l9/lL/lf/lFPl6s4u8qD/l5vlCflFQsv/lHcOsAV0AVUvlSjsT/lhmM7/lu8qnPlKAVGAVwAVf/lFQscAVHcO38EQix6bex7c6AVQAVhflf/lD/lX/lvflrPlgAVD/liAVMflEAVEZsD/lpvlAYCyAVT/lIjcGjwuIae5l/F8ZAVr48iW84/ldAV7vlAAVgflzkEwF6DeaLSFKmY7WwY9WMIx7Xs0GWFa0oh8JR5/Uk1nMiBAYzh3B+PAV4h8fAVwAVIflZPlYflaZsP/lYflb/l7flYP5oOMs5laFcyqkNal/ZAcXchPCK35ZB6yxlf3w7OhpAF/JsX5hqv0oNOIdy7gVNieO7MA/m3gVBWxKG08Yu1ku0qAYoAvnc5oYW7lUGY0qF1YmBCAFJGVvCmlh8ZWhwkO7QiagbMIEfloHcplgnvlFx2plg+vlfVhU7cEjs6s4n4kkjscHc3oCB7ct8E3oCjbc8jsuQVLAVaYAxvlWQVqQV5QV3vlaYAmQVVfl3js5QV8vlOQV3oCPjsIMl5QVRQVyQVWkmrQV1QV9QVzQVkA4Y/lKQVvQVFQV3QVGflHQV3oC+QVj/lwwVwAVfQV3QV8qM/QVbQVgwVVQV7IcTQV3oCLvlxQVn4kaZsNQVSwVzWApvlMwVafleQVgwV5vlBwV5QV2GWcBG/pk42OhZGd3hIExX/cOuIY4MSmWbjAz3lEKlePlHPlEvl38EXLZtPlQQVNMUCQVChQJ7hhQVgwVhflpwVJQVgwVaQVqwV3QV3H4iwVwIVWQVzWAhvlMwVYIVpQVNvl6QVmwVpURlQVnQV2QVQwVZ7cBQVcwVhwV0QcIwVXQVDQVhp2EwVOIVAwVzWAJwV4IV+wVWIVaAVyIV0wVQTsGQVtQVc1kxIVvfl2IV0GWrPEFwVrJu8ZWPGAqN6iBAGLFavlezmvoUA2FcaGa0COYMEvlFQsnG8vP0kR5F7mfHCm4mhX8Il8fngms8Il8ySIQ+gMr8jIV7FlfkMcG8yKCUVhfkMnG8RwVQp8PPlKoVplgjFlo1kIgmNIVGoVMfl/QVQp8CwVpURWwVjIVTG8A/lOQVeoVtoV5wVt8UAHlXwVOeAnKA+nCygclald/FT2W3qgBbc2Xa16F72WDW2PaUBXZ/ilRF4WCFh4w3XZYRwonA53kZTkieWcXaPEQdz8GRlcHWjSuuRl/r2+RlqHW9GFRRljGFJRllCF5RlKNFNCFVRlPoRUBGfoR0DkdRlIyueNFz0k/GF5zmRNFtHWeAGpNFmb2CyuFNFvRlTzmtPGoiFpb2qYR5b2HzmjNFOyutb2KmFByukxlgLm+YRsn6tZIyeMU588nWSxlBmF4sCVYR2DgNYRHp4EtF2xlL14uxlNmFXyuRxlliFv72npcytFRgGzn66tFjiFG72ziFNxlOtFxhG9xl+tF/mFXiFVhGLLmJtFZ72YWFi4RltFPxlNtF/xlT72P0ASxxlMAb72ktFOv5dygYJl6WFbtFkJl0a8KSFOWFpsR2XWwH2armhWFbtYxWFDgA+SFJsAY4VRKqYdFsH2TYRPMM0dFBRGcdF9WFP4Rzalf4ReAA6WBhR5GzFy/Bk4gdCiZMIz/8328vkghk8q2aaPcg+spgE7EUcxlbAYNMI8mCn9U+NOMmlRRgY7+fUCTckmVQ8n6W7ciBA78lPF68oWraeyslN0IeTGciEFTlKpqXVc8quiK8JqC/jAGIAs381zRVrgviQUaAqeka58iBAxul5dCmIk+ClAAhyQm/9ezi6xIAy3lwnCEGlx/RFL5iKYciGOkVmBYdqUPymuQicBhtLwrs2mmBbKGvjlZYA7yBgHFxfOGea0kB66lIeCXu+1xYN9eh6ILDkcUInpATpQNqltsx6Ghr2cZ+Q+jEC00VOx7xgyB6rWkj/GVpBr/u5p+k05Jwe67hhtGYrh5YCK2BUklgAhNWaNieenmOBcsihLme3H4HzQIQcu4MQNl3m+TLQJQMyh8QwleGIULliNkHOUHU00h+1vR8fm4wlVW+DvRwVlzQGOD07uQ4CkpyQSXU4CkPu0yKwrUVPglK6eTrlTtWUpl3DF8/QpQGkJU2zMW6qVeQNwGKyefFuE0+skV/kVNJMQMcjM2wUV6exiBAmxAWhCILlsjWmrln4QLF8b/c1VhBgM5wcK1l00ljXcX7l9LUObMgqiaU8niEiBArVAwRsx1azZe08ICW4xHF7WQpbF9W87LFea8IgOzAwbMWygOWMwlzkj4AtlWGHlmiQ8xs4xgkB+nPAwOc+HFcbFFzgiT+v0VnCin0VSbFj0R4OctJM4goGgouBeSbF1n0UMVXBwe28PbFea8HbFi4kMP6e283Fq5q+7RF2LCB2a7bwt6kZmC3qxnYAsKA5fcnn6xKi+V8+VAOAAZJAUwAUf4M8cKVkL9qy6IvXk3WaV0VdGgN0Vwzgd0VbLFUmgRcQoykj0VZHFhh5DkGp8kRAar0VZ6gzZWg886MA1uR5iUBg5EsVrMkPpWF7mfAVUXUrMkHRRF7meKgvPkQpYGZWHmOYigBt8ZO6wzlXgV2/GfP0UYCZe8zp2SJFK7cUuAvTqTBkVhI8I2psVAUkkfsEe8zkEWReCjqmsV1mk2sVQpOusV5YChjqD1lzp2+MU2ACnbkYX4en8bqgVsVg6hXReeIx7sUreGQ4msD5cCl6PWkslflRV8W0WAVx2IC8Ezk5Gqvx86hMtVam5W4klJNkjsVVakeTGOsV0jc9ieQ6eoMlY6euncLUAKH5a1aMMAH8RzP8r9cfTC03cj9sX+gw+i9DAIDw6EIPiMYtaDYMmW4A/psj8WEAqjwIAAsSIvLYIAAbKg8gA2js20VGZlC8IPXMmEo04QfcVwQWPcVA8VV2sbcQPXMh2u1YA6D8Z3kezgSyAkC0wkeaoxCU8NdlL9lao8PQC68VFPe6weGZEQAhebMX7l2XB7SM/uoHVQSu89lITjqJXBprMul6X3E+B8HVQJDsziwNZQVrlbbidYgGZEe78lKYb8VQFh2jhJgsbcVxEAncVw8Endk80CndkHUAvfIj2A6n5bYmp5Fx6kU8ocLlaoig7c40m6+kc7cP1lkLCYsuiUVl3kM4andkMXlRVGNm+CXld7lDm+q5keGIACQjaqKBUrkAQ7MuF8UjA+UYEDsINlPiqcLl23I57+AmUr4ei8lAmURsA3uAHEeGaFUxeL7a0GEvEeysROmeeGIh/+jWlyjsQ84ZhsREUTb6PCVV4mGEIvEeAiVjDs7HcMxQqqwf8AHdlilWIiQjrws4GOzwnkmiOqc7cQnlqVBT8V2ZFX5O/IChtl6PF4mAwAAJgA6PFecgBiVp7hieCfCVknYJzgkr87ZqnVkaflSrRek5NvlqrRgI828Vbbi1tlSrRe8VAPA7IcSrRAJ8U5AZ7cqrRAJ827l/VOIiVIhqt5hgVB5s2olclIaGeaF4BISVjClqiVBll3zwsJ0qSc7QA+QMlYw7QApUAEolyd05OIW8lmiVXyMn7a2+w2kmgAcUiVmBYJo4eO04kmRpGBwclsAnsF5OGnzGA8QFiAzj+GIA5fMo6CBrmZ4QAzWVA8htOrQl19QTlRiMVXcYNs6tjlSOuB0u5DwsMVxBBEMVYcVF75NieKXcdiew6ejieOWAPDcZmACNa/W4EDsUoYGVFRwoQ7MpOAZIGUuA6nIHl8kcgayVBkIuXUcxliJwozoP0a25la1ab5OX+gRkmDClSsRPSVnAG8/kSKWukVmz2KB0gIAj0Ic2AHfWbAaj7W3I4CzYL6Go267W61l2cJM9KkLEVxTIlBB5smZ4Q3I4fbWmJso0mbd5eUALwwvaevjGKCVvmBbjRl7l/38g8l8XlcMUBNl01kyXlyCVRslvkclzA0gCC5MfwCfJ4CdU5rlQ/Q1ckniI2Eik6WY4M2gViTcw7lwI8Sjs0SAJ38/9kkaAUcAT0kAHILj8thU/0IwoVr6cjOexGUJ38D609KVGNpxyVNieYOAltlm+e0cVpDlEcYPyIWkm2URPtUFsGGflntlLsC1M5vpWuMAMKV5XlmM20JmVXlsK8JtGtXlNTCQ4MOEAWKVsf+cLM2llfJ4kKMEblBowPeqcrsOYMwnMYZMnG83/BpUREoVyeFB7YJR5lLliBAUu4vpWcmWkuK1gk60CSmWiKMD1lCfl0cx+KMw3lPtU43lmXM3M5CJcutQvmlxTk1ckEMAb7CS7o4aV7UAYqGA/AVEEcUakzM4tqAh+F+UYh+1PMkh+w8liXlqKVJNllcV/F8LbMQl8BJ43+Ex1aLMV6kgbMV9W89Fq90VXMV6FEvXMEAhRs07SMAHIe28T0VFd5U18jdwmYOWwAwTUOQMvXM3AAUuse28GrlZ6graVVs8r/c7/c9bcvlBq5l4NAXYAkihytl0LlmTgvUENOYjZ6ldWpTs0KVGKVIyVexGNieQ6eK889ieX1aQ8lBcVwwU0JA/jRJMQhb5LUABUY9SYRYGMyl9SA1ckFWEYqGwWATikfHQzMVD6CrMV7vmBACZaVcvWFaVemgpHFoLl1xQEDYmOCLoYhm8vaVHzQXBGXTYRfgLUA1ck9jwKl64CVwZCY++FMeb++b3aycmew4CvEoaVW6kCvFMaV9MC3oAiGVsB8cSeVaAOH8OWAwBc9/opACgdknE8JGw5+lNQAQGV9Dg2cBUsgndc66CB++kGVIv50GVUQcsGVLLFxaVXDWMOQT6VnmoL6VcmQdGgjaVb0VUkUpt52CwzI8XAmXIerf+JRkRaU+KMexhlU+bqgpyANMIrDg2ik3c2fE8vGVv2lnd5/TApACCSCfpcM68vaVWUwimVlYUHN8glWvRk4aG42A8Q8LRWKYkaKk/80Gu+f/mAMCSNlNDliHAjp5pJlIV52t5VplNnMFplM4kGusWPe9GVd6VJaVD6VTGVea85aVnMVr6VH4eDZW1fWbjAl/g1fWLy4PiqdEU39sB0kfRkCW4HGVw6g6g2qfwfmVdm0M66AWVTwAQWVp8Mo9AYKVdz+V1lggmgp8aqVzQGUvFL4AScVaFktUcQ9e5VOUaA8aVMUU38ENpAFimK2xGWVRKld1lCjq548hzZH8Ekfs+xcXvlBE0FqVPnctKV+mVflQwQVj3lCZshgVYSkBgVHPlvP0n3EYv+XaxKAM6hMRow1ck8mC38EAsg7WqBpl2SUhPMaplc2VZ3kcFlj1l+48Ng8L5gO98XB8rvMUC87SM17a7uQrzMUGwyDgeKwMIM2mVMkae5lVDaIDUG2Vql88SAah822Vg5lPmVNFQUH8t2VwNlMMADEAYuAPTqA5lz2Vh/W+wCx78T2V6igL2VqSAP2VH2Vf2VSP8C0cGnsU4QfG2NQAJX0qmeuweSfm4jctXlS2V4m827hY4A7oRS3ZeYWV5htnljC89nlZnczZlXB8F/kAUM7pMccVU8VUC8HVQ7vMGIeSK8U4QgPIN5ldAMMfm27lVh8g6VzXcEgUFOIA5lZtkEN8UC8yYyb8Uszq72VCCUMDsbOVir8b+FH8Eiikn3A7vMiCAjjqAkAah8IuV0LMguVir8EuVP3EbSAUC8EuVIOVSNA9hc61lLV8oiB7mU3TqtURiaVoq4PTquF88ll8cVqJsOWAt50F8xLeFG7h37ENJ837EJWUXTonZYn4Q7deB1R9bc4rFk6Vkiho6VH2s8sRk6V+VGqpGizgjuVeF8rzMXaVvAVJ2lmwohOVY6V6hM4tl9bckihbfcZ1R39ssj8kC0HWs15Y6uA9bc7uVPcVvXM9bcCMAIeVlbcBkIdbcaeV4wlbuV3880cxfYAkeVrB8HWsI70owQCOsZxw8MAzkElAhulC/F8fzuS/ckPkvaept56TAhsUKyYe9GJ7lwzMys84UYL4APblzfU47kPmUy2B9ZAbYm76hpMAOcBIQC0uEW58vjGXdqWva52FTkIvQWeUAKZE5PWjYe2P27PClNlzxh1Nla3WfFookCoOsLskAZs0f08ZstkCJT8JP84tEGgC5cAqI0G+V8Zs2+VLZs9eCra8pI8m+VKZsoMl8Zs4UCoKcJ+Vg5shP8DZsRIFSYg+b8jrqEgA3Ew6+VV+Vp+Vz+VAZsKUCnJF+1lbtYh1lH/81WUMwYYGEE26xCwF5qFphyfWDvcYPMCf+lAeZ3ZK4MIzUBFBU4AyfW44uGo8bRBu9EYNlQohRBa4+VsfUKgWygCAKVp1AOH8VelP5l0yVVpwWVQQd4K+wQ+w/nwSM09NlcKCZ62mOwis82Dckr8a2swSMJDcpTls4MSlgCjsSlg2Nloe84kcg4wDSFCrMSiM/iUUXlSTRGJBsXlnTGMggI/+wi6aeV2/gPYAMNgJHcsEUOZl9X8bQc6D84tln4kKhVOTU9bchk2gDsu/cyyMQAVsEUk6VihVrH5XUAIC04EQ9EepCASWMvkc1hVbYUFEAfuVg8VJ2iqD8aeVt5MpcVKVhuzhwUg5hV7SAfV8NtWC8IWLlHwlEZko4mSd6Yfw7+VNBVfWA+OC2LQE26jhIKVQYFlZ62R0xxH5UUxsRVDNlLKgs8cctc7zgx7A4iQuXmGxsvUErMUg9aZhljfSrSqMemRg5x4AX/ZmwmF/ZugAA/F1/ZAQ5a6sgCFN3lQRqXTmzPRCW0q1GgX5HEa7/BsRqsJmGCFeOhYRll1CRTs76FqdF4AlvxxkAl7Xqb/hoDR/WxWzOg2xBdFYGF/XRqAlkkgLSF5dF0GFU2xAu5pMew4a3f2VwIyGFP2xhAlcARsu5tKqiIuK3RBqlp2xO4a6xVNAlFGxxAlKTGU9G5TY6s6DuFmX5wZCN5sHQ+5DYFl5RDqg7aWJsYQ4ztO/IUotsYllMH+w7hOjqtWabeFBR5pu5t98CbMe1aDhFnuFV5FA+FP+FAv5V8WQJ+GE8ec8zSOA2qkbB2bc3oGvzcQV4fgFm7sukAqzFSkGacVjpsndUzQGCWxW+lnCAdpRNMIGWMt1BAFaLuFKJReg+2EUHJaIJVfeFyqFCwFDK+pga/E0bb5g15zxhnDBEU5DrkdMF3kFfIiUNcZJOoK4BqA44ULDGpGckbB0R+Wh5WUwp90XLBoOUkgh1Gga8ITJV1ZqvAAoUAtNQs35v8kcUatFFSeg5OgIyImF5A2CEmVNFQLd4+Y2rDWi9FRY2qT5mRFtJEWkR+wa/v5C7B5cksoFbTYUFFOEFYl5+EFgKkqEYyHRG2EVFFx0FR95kpVnfBjGgOXUwBu3uuxw8uQh3uu6OafKF395JeFAaFgwFJshJIFdeFYyRpplPwWJllpHqYMWenlJpsEd6FIFxf2vxVT+F7eFHbkd+8WLlwJVa5FI/5N5F/V5v/EP1AzYg+juptAmVhty8JpQiewFcklt5aXB8bCWphzugQnOrIi1ZVkZ46c4yOxPTBpygrUFbl6KNgREIHpkmtWlBw4FhabQVwFyf5ap5zhRYBo1curc0y0Fn+AhpQC8FmBF8JQ4ZgS2CkglDecZbU6bCGGCs5V/hMm4gqkBChcWyeF3WGH4WmC7Co05VG5V7x2p7gK5653WYGCaglIxMGfUC5VECcW5V/oA8XRE5w9xWu5Vy/G6Wg8XRApkxQcjlhc7mSkApZkL5VpZk44FGgA5iAL5VBy8nAUa1aSOIsEWi8lZmAy8lN3U9WCYGC6465WC9pRlWC+I2rxxD2s7qFgYFQO05s4mgF1pV6wWuSAct5VeFRgFxVFosWldcJmmFEF47ipNsEIgLh4UexVRx0qm//ZleG53lwKA11FmwmT8Rz+el1FZBA3xmj54nSqXhlpNsXAUdckdhlLFVPh2XHROGwFilHGeo6FPhlHFV3mIWtq4A5IJ6GUYNmYu8kC/ZYaAhzA3EBPg5xS8W3l5VMmL5a3lg+xBR2sEaZRV06FHw8AXqNRAYg51/ZE9ayUBjDZGhYQRlg+xEIgrSsmJ6uilhlVDiAnexW1UoA51hAdoa5RVLtgsJ6/qGw4xQEAVM5QvkpaOLtgE9aP0GnOxsEeI/FTksjlVTksCekVRVx/ZczodRAWx6rjlgVV4JgPnq7csDFV7csCYk2L5YVV5/m07A3ex1/ZxXE7mqS5AO3lOL5lxm//ZAyUHhqbk665sjWWnvAMhxqEAZ1F1/ZcnIhVVdqkmkVrgucNqiJ6xxxeWxf1Fp4i/il9Th0yqjoxPMeb9axEmNsGtvcEHlLoBDDlZdAFJUqNs1OMe5ctBgwaVpBQVeVz7lLQ8vKkaFB0cGLAM2kVk1VcbFwxEeRMNI83M87dsMxmSu8jLCeFYbvM2YgCJIWgsTokSWY1JFGH83AoSWYpvAnQcPM8mk4zs8CcVb+WqKwNkBh4AG4c9X8QgcC78EPAdzqEGup1cB/lxrqEjkBG4mxuhIQSyA81VmOsR1VPF86igK1V1/c61VKmYaUARMUhaQGXgGH8hFgJ6YEreFt+hx87dsYu8LK4GxuuDA0VQFEeW0gMDsIvwi3cmaAqQsPYq6NV6gAsECKTU4G4/RJausF98W5k+jsyKwEN88EC18iwTUmNVKTURiEhMAd1V02c7aqh/B8xA7r58Dk/KiAh+CjF8pFYQm9CeRsA75U4/BFR8MzYfAVfqcbycbtsWmeBTFM2A4sAb3gRPM6AmwZC/NVAacXpA6Ns+WkkuePqcwNQK7lEYaxpWQzhh6a5jZXgQV6FS5Cj1iRRqNGW6YaQBimYa4Oo9ShzIAIU6c4medkdCMjZsnGMv48iW8+3cq88fsB1RUZ7crPlmJ6rulWEUhWqRLFrZCh56eKOlN6dXAJylHckh/wKRBmlBDhBxaezaeBTqRlV34mqVwCaVg/kxtV3ZlhNqeVGyOAGkcS/UgzwyjgWcA0dVQYM0+g21GA6AzBllzkPrsNcaLOhS/UJqCmaxd+YAwh92UIjc6hMMQCVeQethA1ui+s3uBHuBE/ALYAr86esanVlUkuRR5lwe87qp3qOcVEyVyExUyVm6VWqVq5ks9836G35kBLMrLa8ECPtUdwCyB8bWVAMFsNAOJcfkGFVQZckk2F3bm/285nsY7AS/U+WkWGeCvI30a4oAVORTsAhQQ+u6EoAu9VgEmdGgZQM7SVcV8TlRNdVAeBwoGbLQ0ahsake5ck8VSPgEzkqpciHY+QkZHg3t83Wg78A7MVoxQT/QVORda8TkmRAaUO83CAq82da8gEm79VPhg5DwNCAO9VzsAB9V4ugM68wv89W8UCAf9V5swkDVEDVPgAsRsda8qdVd6gCI5SRs7UC6qkeIwCjq4Hi7JhLvkrPkyrgNI8nPM0ns648znYQ/IA2UxM8IJhx4BccgycAFRMdw0BKVS92ioGdu2RjMWI5hKxcUuv1Oz2WYRwCXac7WBb0DTkM8GrulpTsY++mTqjvFqLE18quTq5CUQV5dQ0fTUsuxaZsycmaZs+TqUjVsI8sIksuxb2Mycmb2MRr4SjViRUdDAycms1kwYE4ihGUYkR2mClAnqnWOGD8N5hmOV95h8SA0BBjwQNuSizgBkUcf6VFWfOAd+8ru8EgUrIiQFGccg1WOLhBIIMUShfreTPat8k4LFkU2TG6L2A2sATjVKU0ROkGngPy6iEeaZkUt+O0AMt+/jg/+u2U2fal9AW8D8dP60Ix9RwiXCREUZ8gssC+0E/FgvrFwQh4UAXcQ+564lluUgqkmHw8hMk4QmFPBplOwPBCdhH6YF7M0QmvMw7AWFTV/0I71adTVtdeQhqpvaEY2h5BZzq72eJXlkalB/qkR2AuMIdq+tGSK8uFkRp2BE0XgmNDl1klCPeznBLDsc6Ay5gF1VqvWkSkWQcmFcDN0x+el/gOGA/F8f4eamep6iNMI+MCREU6fEOzAOD89ygBPMc6G/VVNnUMvRxl6Fgk9YAxK4DbUE7oQrZSkRiPg/NGDmA7g0BEAEDsOE4+S0I5kYX4FzwJEAVzVDYANzV34AXzUK00O/gh70aMl+IYO/gXuw2NVFdoi3ALloUzeXAAM+loMIJpFCMABpi6EIG+s6Oa/kl6yqqcOhhk6XadmlfIVW3WYkuJT+GmWxSONOBjvuFV6MfBF9kCzVWqB1yuWChcn0AWeGqBwI0Ij+Tb6Jgi4c2L4A88UmmaDp8NO5iSlDvhySl6dFoxVbXR4xVX/hbO5oGFvrm//h+aukkgOcMvO58Jxf92iJxF3h1dF3f2FGA+Al0fhvO2oJxwUWdAlBJxBxVwGF+oRSlQ8rVJxVGu5DAlXwGTAlhcR+5a7tVMYmKZW10Ie9EuEmiBABOlUZVIOl3kgOnQPzFACgUQGjuR+EWa+lncmDb6tXg3OleSlbrV+smCkV5smVmk0YeEbeUckRrWd/aCOACOAk8RHHq8leplBabF5L+Jpskj5PB6hQYiBAJz5cbVOCe4SlGqm5VVmwmDsms9au6FboajRVlkGJDaW6Fv6+VxxC9azr5kRlfp66O5J/F6tVv1FwSlaO5eDWcYaaTizDab2W6/h/ilBO5ed6O/hqyqz6FN/Ffbhuqmmma1O5nr2+CF3r24NFdoRaYVczmJCFQb2ABG7SuuYVzGF6Wu2ouhYVe3g0b2NRlYaAmn0TCF9RluNFjRlYyuweQqBGkyurRlxNF9YV0YR7RldH6RQ+eb2QiF1NFLzmYiFnYVEiF3YVBb2AnWzNFnPGExlYnWQ4VSiFI4VkGgi7VaiFemFGiFtyuvb2cLm/b2c4VYhGIfGDYRRiF8EVJiFstFtmFFiF9mFG4V/yuW4VQKuatFA4R672mtFm72XmFtxlx4VJlkHiF9vGHnWzxll4VrxlyKu7xlC4R7YcNGF94Va4RQrmESFz4VUSFSWFi4VIRGLtF34VEJlYHVSZq0JlyrmeWFvtFCJl2SF14RuSFJWFkEV7YAz7VRSFMo+JSF0EcZSF2JlCH2dXWsdFgquKEVNSFP56p4oJsA9/hKdF/4uadFUAloDhYOWv6FgJxD0mhEFGSlpUuUGx2SlkoRF4A0hUCxVGAlMGFZauaqln1GmwGaARGGxPx+KPhzdFYfZmGFSAR6GFJ+GP6YJqlDdFZql8u59AllqljAlF2xuAResxFoFlX4i4B+uu5x4HzwY2FcZ4fxOvh6m7OoOFsEMf7qA2qULMCPmp0ub+wjcAA56JgC20abz8DS6JCCikmRV8cxkqp+zlg9B+McumJW91wDoBmEBZlBDVUnue1XecOF5CeKrQBoAzgmPb4fPuxBlAN+ht4tKlsEM8hlS0BFXVKsgYOeuNg2BQybWKXVdUhJ4IhsGFbgZlBMzkrieYOOJ8exOeIkmy+6pFAOKSrnQRreqoa0fk10Qq8eEvY3mANfc3XVabF70BP8eZ4eH7QzARwNGZUUfG8lIeO6eHveXr54Dk3ml9uu5Olfh5ZnRAv6w6l68hzG69bkO9+zUewJuU5et/Oh3e10Wg2M/CmaZeC8AF1V/2OgYkEdB9jlIEhvgIB0uU0i2uevjs8OeCgCem28Fug/k0hBV3glIeHxkFl6B0ubhh1uIUIcD3VMYBG+BKXlOjqSOIdTk88lrqOcykJWU+fQATsq8lQ4MXLwu6lTgAaWlIgexZ47CAUJFCTMRnBymgoHcvJhoP54mAruQejwxcgbwQ8wQgA8fqgjBBnF+JcAXox9uRoSAgZUTSlTWO6/RfnA/XeygRLd4lEhPBqEteCOe5UaCaIQFoduOwzuqoBI3w5PODoec38cM+2Noiv+RMgnPs61OPPVX3Vb2eqkhf3Vich3+4j6Yh/wZyo+yVtGx7Nw2dl+wwdXV1FgrXVa3iabFv20Jbwl80wva9iAbEBzkA/JeQ8wWvV8iVPAh9Ee0ihGcIUkm96GxdA32sptVO7sVDQoqQWchUH4lGAWEANa8Y409mezvRxf26VBMWMEoYWVB0oY9UMgKC7gBl++qMAgkmtLSkose9eF7MRkmQfMuSVXwOvSBpzwBIaF2eaOeoFg+vV3xgZf4TOqgblnYAza+7ZQvcGhkh5M8+XVhheuCC2vmNcQKrQHKVCN+t4034EOsRizgAc2tpAc7cfC8JJI5puCXVqMA3LW4xV7Wl1h4lwUIkm9MYOvVQABexg2fVo+gZf4mzwYLEF6llGApfVVfV5fVvCAlfVR/4hhejlRtfVDeoCsQ1vVn1G7IcHmwa/VWEuZ7c+/0wZqqfVA/VeOet2emtgI/VZlBwi87FkPEATG6W/asOwOoAgmqDpBV9e87q8YBd/VzmAvUk3TQxvUjZsxXEOaRi8IrGeGBuZf4mPVR6l2PVrwYLDlAEGZnZLmeG6laAMTiAMWlXA2H/VYrghQa3/VcRQv/V7Ol6WlnOlMgYUkmqAM74oxXEDwwTikqMAnLUhBY8xQBKeC1ek6BYvVEKFg+VdNW0hBU0iL2e8vViOeYX5CoBe+mw00GfV+OejVw/3V/ml7/8avVVGcgixWxACdVmACPYQ6XARcVrSFAkAvQWJo4E1lceQqAg3BeN9gV5guPgkA1vh62lUn5GW/VOv2eEV8kBXFW7fVaIG0fVPfVoMIYlQIkmN9g27o4kmsg14t6ZLQQA1skmBlYq2qYXewShq2qIohsA136GP/VF6l+6lg8Gh6l0VAogeCiAqcaHjlW3VIoAktwm8ADC8R9gFulZXVigaVul5NeigaU3A7KYtqutEqdnFfrAfghbqAHPVKgRh5euXUtB+WEBEYeUteyvIu1+LiAlQwGN2tPVJPa53AHmUjXVvPVXbEsPF/XUK1ONeIYSaZlBLK8xKcNrVqRk9vgJ/VabF6psVCQ3xexKcuQ1HKebXVabFHCAC0WZQ1Zf4AcgQGCOXV7bBKVevkVEEAOrQQyePb4wPepaexNKXcIBgAbuGJwEy3eIFaUkUtGqh/+gp8ng8Ip8hb5wSBp3hBpc7yVJjFi2kXPqEOAQGeyWkHaYsZc3BgTa0GusKaeSTEXKUBmqn24tXuwzuDDQU3VZf4RA1OgabN+SaqS9Jnmqk/Qcw1kK+Bgsiw15jF1eh3AWgmq+4+4kmq4UCv+V8QtGq3Nwjaqdw1sACugst4xvgAqYerehg6eSKMcFlyKCHNgms2C4WGD8G0GPlRrfVgv+LOlxAAf/Vdg12PVIZAlQsg8APgcmo8zUeJw1H8eabFLW4F3VJqCVNWLZBJiw5zepOAyuWeYQLZwYxBRDEaxSp8eCXVxJcBRMgMU04iCFBW8eRV8O8e/75Aqk0MUkGgTgkqEyPehFaUQvVhxYRCe5w1rledFep1QX+gFtiD+BUbVI5I6+BeXecx4h+BaxSyvAFigUvVSd69DcSU+0XVaPV/mlfUIA95VlQJTZGBuAw1ROeEceo8QheeZ4eBkIfmC/cY5IYQUI7Ucuo1hOena2n8eo8Q+WqSdV7t6K7qrmGm1k2uenxQZt+6XVboM3FBZf4VdUdqq5MG11Bw9euGWeYWiygVEms9sn+4xfVPXADOeS/VsSeqTe1wxEo1Zf49hQgz2Yzet9BHke1VoW+BaxSALlEQ1fncoOeQ/Vu1wqchqEAGQ1lA15UasvVyXVmQ19QQTQ1IkmCKM+Ue4NQ2l89YBWxknSqGOeNo1Bo1E0+VCEmwwOKSJgALDGqoaFA1MOe5UauuIkA1Ov09oBno1qbFiHFFgW23eD74pg1yfWigWTg1Wp++3Q2TQ9+BimO8Y1IR4WKxlg1nseTjA3seNegvseHMAdCirJecgUGC0dOYyce+UIcyAnDyS0BC4ANnUYOAE6GDGlvg1fHaVroMZ6VXVhAenf8xg13/UIdq8YBRbRq2qHNeLXOWrMD5AxLYoimoPVlLBUbRUu5TEIdTkBeR0J8L00JWUx+RrN0t00OLcuF8e8kgQAzx8vx2uF8x1A86eGF672qOJaKaqPEAQfMwY1CgCdFk+yEzH+UkmdekabRSeYx3o0h+RF4iE1BusCQ1nYIZE1gbIb7wxY1dB+pY1TelG1RitwWR5vrk1ckJIe8fm1E1MQ1jEaiOe1OqObBHt6dekjZF4Ic1+B7zgQqmGY1Ld4z3FAwxPiBdVweY1BY13Y1uf8bE1ZlBHE1fj8V1w8ZAdQ149ESQeVY1JzqEQmUMA9TVwBkU3VuDuLY1SvhOxS7Y1Q3VL9qXY1sQ15Uau66M/Viv8CWY6k14ZW1bRfKEmk1SeqdbRycA1Y17DFpzsVoAU7ulAA28et2cDaetrVi0I7jggdE0SGYhllxmtVqcO++A1uNeP2Q4/4Qo1IEM3RkwOe1sesNlgWBMU1EsB5PB0hB7FBHo1joBZlB8zMAPVLSAFigKoIpuc2ueWeAg8hUxesI1OjeQMeN8BrmGkGg4i+Jbw17oKnoMUaMMALdqLF6rn4bBkJBcCU1Lree7qqU1mXVUbVPjwOmeZvVRmkBWkxU1sI8qI8xgsgyMfU1gnc3H4xuQf7EkJAHvVwyQXvVgxAkkVfr89meQwlxf2moAdvRAnlptVQnl8vgfsgoR8rxOm01Mkm61A6khRfVk/Vy5Iro02ueZfVjjQUplR01ZoBJ01EJAjOeC6WoihiulFU1SYBSg1l++tU1qg12dwkA1nQ1YbQkdIz7uNU1bwwWo6uDuJxgfVOjU1s35ro1rU1A41aU1UbVJdw2dlEM1NvVKAmc9hy3VSWlM4AyI1t6lDaedz+qtES6Vy7eLsVKqVgMliClI4kHPEHQVyh8gjs9IVyh8VF2/0IOO0IMANEmKE1kmWu/lywCSmWAiEnLltD+xf28sROuI4ke5uV43FJaeKMe8M1GPViA1WPVlX2WlhQHhqM1TBqG4lFXldTkdgmJMeNg8S2VD1lMIVwZonnAfqVWbMHPEaMlzOMKEm6zl0zFVl8U8QGtR1vmKaqWvEDoCnnASmWMERnLluchoyVJDlh5kzgUkmqW5BWvh2I1HM1KWlV6lXM1//VPM18Pe13u5x+Fa0GdlrERjjkbzG/M1dYCgWOsS41TkjMCm/G8XlrLaBsVRM1OgerIcYTcQj8CxU2dlBMM1zMgNkqs1ZgmAvm9bl100krFRs0CPVPqAFoYcLlFpqFM13Is9f0cLlwzuPWlJpQfWlH3ivOeyM1MJFUDQMKV6M1SvZmM1YrhW4F2OkNQV+M1GMl/QVAc16s1kesCKCbTwqMA5UVablUPVs8lzqO8c1i8lOuIt5M40m3uQcnlxw1HM1XseiluGBykU1mlUunC7H+DEaiM1yA1i6kL1auEGh+wr0e1ehRaU2OUOmevgAwlBkkwAc8NZItUCWw1cY5RHAew1/gUsoiyKUXDq/MUmo8swk53uRzhF6l2sexA1ZO6xVUESefiUvmBbs1xTq/2FrTGMX5mJB9m+JWUnJGHVQt7lyh8ewCGIecE1XnMKw1ULljMC5YCc20Lc1SY6C01OjqS012Ei5iV1sAa01eRIaKgrzljCVbM17a8vGeT7FKXgDEaq3V0pqUxeCmWgZWFZ8N+kSgWUBl1/lr48p7cpQVBT8hpFO0mppFPWAzUeCkmBsg6C1BI1vh6ENk3qlCTQKC1cXVaC1CXVnd8zUe3ulSMOJY1CgCYvVC7AipGBueB0uEKk73VQE00Oepk1zEaI0i0hBVI14YeR/8Figt0U+VQIdVbskUxee48+MUgfCQf8UdVn5ltb6odk7oA/UAHhBqxFwfkWR5/jVEjk0rkDOM4wIJqM2/qZYCnMOhb8df6uF8MFkOs8er8+dluKCtkC+HsO/wJeMOi1YnFsvcj2qHTV/o1GDafxxZncUkmUskndlWXcEfV/c+l++2SEMfVOxSAS10M1X5x701lQs7Icw/Yic1YwkIjcEOsHMmk8xgM1yeG7PVaS1/C1IOe+8h7E133VgIwSNuHC1CnotC1ow1rf+8a8xbkK1OFjgfnsdw1QLFtYmM0eWR5xqO5EADFUU7hK3WsMwMQ+KEmxrVJSkWgg3+RLehvck9WOxn6roC2QVjoCezgNTGg2VLPVkwIO7sbWQMUagxkTckU7uj+BRV8Qo1KZlh2+foW01lF1lM4aXDuf2lUpso8Qj4GwPAxzR+pAUy1LlkoTKzUeLWlUiFBI1V81zzshJeo28npM+4CUgFbAaFJUhTgC9YhEIZPFDcQSs8a9s13UYrhg/VM4AQC8ry1TjAeIcmahTD8/GVZMukgF/Mx0WOyTAQIAeXm46wSo1tEMnPs6mAo8Q1bch5krZk02ARZ8uiQsMQc7c8K1SxMeIcOuIv48HBEZ7clAmahYBuMuwe1bcaFkc7c2OUg9BEy16pA+y1eGV8c+2Ge4267bwXWePXVHBOpy1RrBGA+APV3dBesl1xWCA89A1R/V34UOk1psGzXULDGAqoC+VpyAAq1SxMAqocw1J/+exgYUlB0u/k8nK1Eq1GZBBTqq81V4mgihtTVY40R6BI2w6AIzU10oBmACjmAWBAIbA8g1Y7azUeXEgWOezWkJS1gohNVcxI11RkitWAskeYiYq14k1VWePK1LzAogmMq1Xd6h/VqxOoi18k1uf8AdVTXVdck+F2581yWlpwkKq1Y40R4my/VFlg678sGWSskKEmvsGmR502AcYWVsMM4akS1sLEZoEUa1kIAuAFni1Q6qyGhroWVbWHy1fyBXK1wk1fLsLq1ep+unq9q1vwwHPVea1Tq1A8eRa1FM6HY1KEO5Y1ZFBSxMXEpn3V0k1bEQBAB13Ut0Atve7a8uy1txe8y1F3VcOCoslGUA5Umz2qvmBfa1FUm91BI4kOHcJCMkE1KB8Wvco1kPDcyh8nJGXzctiUnjcuU8lkIEzCo1kWaVyB8ywUtD+ac1awkc201CVqa1RUCJa1f+q52eroWdNBUYGisRnNV91IJsCz6ee68401VrGnvVcH4o81Y75CI1CA1Ng1HOlogedwsOVGN81ETkMw1ZrMLlRPxVpuV5cVFuVOUVSPY3EByA6kKmQ84p/k75OEGcYpFOtRZfmHw8tVqTeI+HQKQWDQ8OLlDfeTDg1aAxXEuw1QY5Bw1h81BrMkU2Q56NI1to1CgCWux1/VAkV3kgWS121eTs1sI8LRGT16AcgtBkg1WVaFiJkfskdCipyki/BbYlkVoQqmtI1CgC6g+1mkVEIO7FPUk7G1BG1abF5GEjA4HjmpfGxXE6PVJtm1s1KI164anqMHECRXcoUaQS8uyI9lO1o1SWqjcA4q8c8U4kmTSMUkm3CMYcG70idowfKGqooZrgPChvMkpMxpw1E2e/Ukg7QRUMxsM1KMOb8kSAk/+XbAvG1RV8pNkVEI9G1KsxiJkHBkS0iYNAi/B/G1OI1+o1kceSneXIhM2V0hBx8k5q1gka5I1N4I2B+Sm16PVQ81PseZYBueBWUBdlOC80arwamYirg8A1RV8U81ogec76RICVOMrIiro1cU1bikGG1Ocee812G1tXuuEVi/BKF2DY1dOghG1M4AM3VHbwZ4eVYeq2aCq1oG1BjqNY8lyhiWeTCq/EULZwT0EsN4/Eagm1MUaxJcQ0URdVlgYZjYN2UZaUHJlh/+SlgNSAeDc4CqrW1iW1n/UVmh7+F4Cqo0UCwWOGQkI2XchKGcsxBYUAsPeHmO4m1HM1km1L61SA1x6lY08Ukaq2aDC13Gls0eOQF6xl8sMx6Mndlj68BPCEts5pl/FBJrgF8CA/Au21iI1GW12PVfZU4kmcf+sjAXzcXTq6kl5KMc7cmAhut0NUBJ0AlG1JSAuU8MtI9UAUkmpgmE2M7mlKa+Vw1q0g/ymaoVwzeYxwPHFDG1jwA9mEb21eo1jY1Zf4F0k3gmpaUxsM1t6fngjM8/21hxBne8QO1MAWe1cNchj+s8xAb21IEgYs2DTl6jlOQAzTlg1V56gfYelXlWM1Fc1HQVengZjqlc1oLVQQsTgkkLVGjwb21zTlttQc7+xb8IoBkc1ja+IDwqSAreclmAYKg6d03PMVs2Fde8G1cbUec4z5lqblSY6pUmqu15EViHkGu1jtAjsl0h+zvRuu1YoAtcIBu1mjsVCVBKVsjleckBCVYoA9toFu1coAoC1Flg3s2pu1YOspBU9UQhu1Vu1EblTVObu1+Hgju13u1N4m/uQKmA0cljZs0wlYilfg8pjwObM6xANiV9SMy7cWEmOl6J2lgqVxoCKaUObMQCVolcw8BullzwAqLlSlQkwlEe1W88rsQ5PVRiVM0aWYWK1l6xAOsRl3kZvMie1X7lIfVMwlKe1iahI8BndkxjlfQUZvMjrIYP5a3A4mA+e1Je1QAhwt+/ICXFlCe1rwA/ICDe1l8V6hMOe1a8VX7lwiw7e10wlv2Axe1eIw0e1w7liDQltlte1vXhVe1fMlzFlw+1nUc3B8Ge18e1ZIANWYYP5O7QQ2MOaGz5lPm1HcBuc15RSvOeGrOyU0hg0P3lUGV6B+FJl6Kq9UMwCandln0GS7wq2evSVyzlJJFCdlHS1QH6HO18h+XqG4rhh+hfAAOVlGllUpFRkh4pFMVl4pFy2EGVlO+1H2lrVlF2omiMwB1We1eVlIBcNN8jXlvgSVzMQB16B15VlTfAVVlANkNVlFYuv1onrkjXlfXioB1WUVGVlKuKCB19TwUjA40m9nQUnlzSFn1lNSMUnl+fVtD+Nww7+1nww+jhCbAIEwWwA/IC1vRGUAoqUHEGn00gWOCMAdTkWFYRjlYfVR9VEoY3H4acGznlYM0n1lS3mdB1H9uDB1fyATB1NUABNq778yh850k0s1apFDrgOFAgJVK20qAMR6gkK1fQATQlq5kF/VaD+VeQv8l+oA9O19TljTlGjlh0elAgAkmgJVBFAPa6IA1zqVF7572lLrVPB6heEN4QClRKa1RUY9/GQEWUBghIQewhSWsCWW0XaGqm/HARg59aqokxWFQcxx5RV/Ox8CFnTmEyqNTky9CZ9ReDWVxxpMJsRqozmvp6kSliYVR3hCSlQDhy3hKSlwxV3XqZr2YEu2dF8AlEGxynVTXZRdFHKxAARJMAwPkmnVV7WgIuyxVunVWEumwGpCAGxVirVI/2OxVeJxdnVarVIMuSlQnR1OrVvdFpoRUzRNJxHJGF9FVUUv4g0GFBpcsuxOLcWYAGw4UzlWJqLMIIoBUxeYoBKrBdgsDPcNpI5eUDUY9Ha6RBlBAoUeAHIP0UVRGNJcUnQlvs3eETKg2mAGGEjKgZ9khVQa1a8cgzHu6Lo382xtWW8Yz7gGhaW8YJoAOtWYGEHx1gVow1AZKgRYw1lIsDgyu0gIAeiVDPE0wlPoAxe1NXow5cwEGOvY+cG02oXvQAJ1oVl0owe4UgIAy3FzZUtygYOAiuAVroQoYFyQ6Kgv7Aude0oYgJ89QwFsGgJ8+8Ak4BKwwKmAHPIZg8lEI2IcWJ1Ra+QvgbwApVYKygk3FF7g4zwOGoQt6hgBo6GM/BZeEmtRSkCfjIvJ16HRLVVt0uOw+g1W2FU+2FKw1tE60yBe5+8MaOTFTRcbPEpHeJHlPmlMP6nHuSak15ASJ+HNRdtU+TmCjqs6MsaIycy2QAEtss4kv20WCq+FcX4k6f6ePEnGgPwQeGWGAY3lYXx1ZM09TwiZ4i4kwPB9HaVwIk8RFM6KTFsp1QHaT9FBsx3oMHsM79FEw1l1AjlkM9s6gVkQVfLq9G1r+Q07kbm1tDQeeMPHFvVWkp1gZ1iSBp2g341cp1qqm5P0U1gTwxaVVx/Z3J6W96l1F3KUBil8OAsVVLKCT8R9FVl25/lVHhqAXqABxJn573so6FkVVpNsRxxLWW9eGXsaPilIr6TGWrXhxKxQy06OhLyOOR1j2WpDakYav1FOpW0SlkRlcYaFbV1/FbbVRRqsJm6Ya/ilXTQfBaTsAF6cNg6KM2uehNkF6oMjiCwRmIpBq51otBouhP5Bs8h+ySE/GWmCTc4y/Gmc43DWLx1PYWC3EL6GM8wATFT8l6SOUsF9i4xmCLTFdTFnxxJsARz6/2W/6xgxVxR13LV0nVZR1Lvh/LVSnV4JxWSltR1o2x9R1JsAo2YErViGxldFKxV6wGs2xBOW44addFOKlku5sJeJnVeqlZnVW2xUAl9OWSlQ0F1au52qlBGFCb6fdF4x1A9FtJxKCA/6lO8U9CVOQ8LP6pVBZmAraGeehljqHACe6GRiMYiCFY0CDF48hT6GziMRDFnF4NJcspFUpxsKgkT8nPqM/BzkFHZwnYIs6g14Bwa26IQ3lqnCgFycs6gVC00l6PYWBe4nCgeEBjYYlx8YNA76G5rMnCggTAImANrMLgFQhlFZAnCgbrqImA3gMALaNfZx1AnCgNYEImANHgRF47DQlLRLYgkuqd51YJQREB/nVyOA/4atOqUHeqRgU62NPQtGqNHAkXEqc14DFog+4L2d+sZzqSqhjMiEGuVl8mk80NBgfmXSAqDmoCId5BA18gpBAfmYpBW8lMPmeC2sJ4auUSFGRU0TQeGbAyjFN2O4FA898IBl5mRq81CZ13p1aPcg1WI0c79F/9FGV1X9F9u+jCghQkpzFFhEvqlMqhwBu9oGKZ1cx4ldwW9eu7RxN4upBxSO7941d0YOup1lPB6iIsiFE8E5ykG5vaFq6Vf6UX+MbsBplTSaZF6TcYw11bzk4Gue68LM5emEm9aRa6xvMbzkWPejeQoqlvpWFOq+GqOrFwgFq1oh4spaqJrFCvZhQaLVMna6A6qiH+qHRtpAZUI8oaVgAqka60abp4pdQ+qqWqkrvmXaqLweJ1cQwRux4SaWoH+GrFAsuHNKIX+9rF+bo3vaSwejrFlrFbvEAN1axAnvmYI8ro0ugmitV+BBvvmqPeLJu8pF58BikezdheTVivmWf2bokgoV0JFecMeTGZ8I3a6vmBcyAh119pWx11OaqWqk7FBymhtXBuJMfPmw11RYwDrFGmq9G6TZ6eOQDwIqEAQTQ8X+r66zj+ikew+erIUMKVy+ejpG/KVYM0jjlPN1+3FPN13H4vUkUqVaLlnf8zlBLNkfFEL5Ixj6QKWMqQdTkkN0M2AhLlIy4DtAx+RnTcJLlit1ShkITAR/Ci61DtA9CkzQAmt1wc1DtAhdlc0Bl0aKpkMp4gs552QbMg2N6kDQw25g11/KwIs5M3ACwkD6cWu1SiA2J8wBA0N4faeu66vAIcDQkmqeQAJsCNnUREBuN1wMRtlwKBqJ11YOMZ11mBQBpi4G4WfOPOsn+syKwaPc/NGn0AU8QM2AzLeh4mMUArLerPg8keZuRi8IBeqFlgw9li8I2H+HxM49l8pFU9lTJFNmAuAAP9syclKS895MItoxRexqgJ041d1DsYCZM1d1SrqVZR94hvckJ20gIApGIRPMkRoPoApGIcjFXu+VgAXi1z3KlekBpiX5Re1cEd1EGut+slhwfSwhxAawOkSWBJcJQ8Zzqzz4uYIM91RcyK3YjYAPqcdO10hWN+11GVWt5TfBFbazNw+caWN1fy6nMYhQa8AA/pu49RId1maqcyAGSwcd21qSTylDk4GQFevArMkg7a5XFpiqjYxnXmXrVr6ODihBUezNwCA8e1162ltABQ1ql11j/a60ae11dJgefavmCSN1mQFF21dIhZVBs0efhQhhwlm4xGkYOuzcRomklal0lRX0aTHUj9F911TJMSgW66lcxMU9ezxeGbFNxeebFxcuObFmbFCsg7pBik1JFBw41Dg6vnlbAa111WD1f6Gxe+eD1esGcxM8HFMQ1q1BpXVwsoI41Wu6SHFUgWjJmWf+g7FumGgj1E7FLB60mul+1oPajD1UZgDTWOD1/lJAuqFqZ18goGWCDGzJO2rF1vUKmx+rFVNwtbFspmW60lKGRIAwJ+IPFTiUvVwGZmxV1TbFfb5VvsjCgH3MVwWf6lwFanYU2919fBu91rp5OdYerm2VQVp1eYWemBzUkWVQLBs8SgknC3GF0nCq7VukAlGlmkxo3EkyAbb6WBGN3qdGsohke0AJYULPsQqc6kCDpE/64oogrrek/sR+QEfFDO0ifkat227YT5+K2G27Ydp1MJ1VDwgSMBpAs2UJl66SIDkIofF0PGn1W/iUMQ+HDQ84wAnVvA1iuwSEwsEwDJkRwIuhMJT1bWay5s/kltFlkKFKaUTkg45FA6qnnhkXEBJVDGsioGBv+04EfKWkhwpjwytu2Q1pPFZjwfBWwV6t4+0ylW8B6DeYfexSl/Wq41e2iA5W07kMW4EfKWizCjWMOMBSIUrz+Saqbl11GsSaqJfFwQkaBlb+u8DEkVoyb+lBA9V1aM+L+QSaqUp1xW0UV6HB1WOABVaVtsXl6A8Ak+q8OlAl+jBkpz1PJG5MkPmkD5qwJFn58VK1SFEvoMyL5Eh6825C1gL4mmg5jnQl1F5kmW25hVVf8F6eBBilBL5HTm2bVyR1ubVFQFH1FvaUiRlWR1JbVLh2iO5ZpWc/hVbVuR15jZ8YazQMUXaeDWRRqvDVmmaydF2NFL51n6FPLVFXZXWxvxx8nVi1OlR1kxVmSlhdF4cmIrVh3h65w6AlzR1mAlo3R3ZWwu5AowAfZsF1MIuTdFWxVa2xKF1FjaEqxyrVXxqtdFGF1pqlsqxox1O3RSu5e3RjnVg9FWNezrVU0UXR8XIwP9scXMM9sr5l4vVBg+EG1XpEDVux75SbIIYeLxOoXl60gqdVolUo3ABLMmaMZSeyU+q2qeUmSwQr+As0akGG6WgQDVUUFwv8UUFcDVwb16kgylA3AobKlUneCzA2mOtcYYPEFTUMxwEWMcb1OpMUmlEt+SwQIlelu0vYm1joTr1v26SaloSkFncOXUQLlucQypgnKBF9kE1VFgVD8AJb1ldQucAMPgKSkHYuzREabYWBVTdV9/85meSPYMKV4ihSZVNieWUVPlRBnmnEE7QsE0AE61arg1002UVyh8HUAMZcGH8o6Vh88TLk1hioMADh8KhQLvMg/kzUAuF8b50hgAOEWzUAn00ZeAeIslsAkFOqAgtDM9EmTv5a0mD4mmk8+3+ijlbXWmQMj+qIS0U41156O3V++q4ph88ktac/mlP801Nhs0a/JlDe6rIUpvaIS2j4mcsmd0cHmOb6cOmeGUAYO+gxBJjVgS6GOkmNuFDRNvWY3QEjkb11kusrnMOlWpMAFwkMJQiQkDKl0zVj61fChD81f9sTZBBkIUkFzP8lslJWUHygATsFOIyKCvb1sR8uF8XSIqSAlMguF8Ou1sc1d8Ua4Qge1ablAfVbt6GD8oh1G+e4h1IeEUF5YpAnFhMB1PyInTgWXM3uQ0LMaaQiAmNWAF18SO8QDV6pVZvMwOUeFYvXMvH12nIbKgntlgn19aV0DVPhgG+1K7cXH1Fwwkn13H1P3EMn1WXMbKg8n1hm8cDVon1J2l4n1PH16n1/H1BkAvXM2n1t1+zXgRyM0+AcMF3Tqndk6bOgzqndkvUkmn0zOA+3gnLUFng3sRSPYYt1y20TEIx6gUt1xf2Mt1AcR9y4Ct1yh8x+Rt5Mqt1yh8e8k3uQEJ8A719CkbKgEJ8+t1hhk3AWl0a/V1rMQt4cPSwaIAwGgD5ApyusPGbLQt4cnaA2AAaoAWX1VmBjwCOdg9Ik+X1R4AUCAagA2X1pYRaX1wGgR4AgEmVX1xX1r6opX1aaQmX1hX1jX1nklNX19Ik9X1FX1A4A1X1VX6t4cPX1aoAfX1TX1kLmt4cZDQgEm7X11X1YTC/z80HlTt1jnQWZ4BE1FxYh4wgWOHt15ZJPt1fKEKWYPt19bRZ21kRcL86RU0BpiHmwn+sDfMpekUMAOtavUEvIVPvqQ2MRiISiVUbBG2+CpFnn134mrF0spF8pFbvRT819FYdTkVrotekEFOkr8O+eFsG3H4wt1F+eKw11w12tkPaonsFbu13ncK20aEw1u1E8G/zQ34mekYBPMtJ+0zM3LEfn1OjqAX1bMkCt19ckqt1Shk0X1U7cevox1A8X1U7ctrU5ikk4B/801r8NHgnhkt+eU7cOe1KksNRE7zAmb6+x5saqQCM2YFju4/EA5ikV7FZP1OU8eHMlI0WR5Ckk/jAnhkhTlZP1rr8y31PP1P+R2lkzX4JP11bcV7F6ig3P12YFGv4awwTOAc7chTl6igW181rYBIsBPMi6INww3PMf76fqcotogTwSP1nXMDW1UB0rmAZd1EJaWuAItoJ042fZMbUhrlnV8DaqwAAEJaprlnV8mwYwAArQAQP+5ehLkA9rlKT5NrlNvAU2Y2nUzZU3P8MB10AUHrlJ20PcAIAAn+AJ1VTwAqkBU9lYf1Ef1RaQitetyqche7H+Pxq7HFC0w/EAonAgH+sPk8QiN86+G0zmAmxAefFmFaItZiJ4lekn+sX5RupWZIAS1YtHRNvW3f82CEgIATqYAJw6f1L86oou+fVdUB87qvyUQaq0XmcvZ28QYDlFTQoWU7f16H+PxqrqgL+R9OspahZIAlekI/kgTwJxFJ2ldxOspGauCnLY8MazlBau0FFA4hqSRRGH1SOAdTk2blublXWhQ84WReObl3H4XReObl4vlkGAWOARgi0xev0AMUAcd4CDWsfmD5A+8Am9VE/GI0YG0c9uRBBCl/1pP1fAVFlgVP1geVWOsjrg0WE78A+QWY75Ugp3MlPW+Eg8nsAkrg676/48VeV8H8YfwcDVD9l8Nkl2ok4BfMlIMCl/1aIA1bcr/1GLUCb8lMI+24I0YFiBK1OT/12/cDdecTAz5sFdo4oAY0YD/12ANH8WBxe1cGjPlBAN28QuAAaA8LP1zX4lAA1bc+aV5IAqHR2YF3gObewv48TANRaM28QmgAtANDklDec7ANc7cTANjrgXHUDkl8v1jPE748QgNSo8pJkDANBmAeANKANuF8DANGu0FANH/1wl8uu8hwsk6c/FkaEIn9A5rlwBkKw1du1bwcTEISY6Usgq/Ev488gNa2U7484AN49VZJetGqdu12pehgN/bIegNA6hMpePiqSY6bbxtFWmmBrzxyfWt8ki2kPLZaHlS/1NwwUxedtOvgNyHlBu0lzAcZ6gixTP5QpOraQpyA7IcBIsM2A4tAMQNo1kBIs2Qio8Y9SYLFIBpi/F8qkBn+s/F8mwYnvmMQNdk1WvAmllSgW9J6U+CGha/dk1Qwx+ax0AFo1e61m4kPM+0tmA2UV9V/OA0P1YGhbIsm2c5UUBjsNPMbqWfKE0nsQgcZ/1Z8ls6qnQNJ/coZMpNeLPMgP8UbkmJYvVVq2ALU4gus8IAS910DAK91qcyNFQLDFswN091oQAs91w8gmJYPDFvv+D2IXr1aZkrf8ZtmBpiEwN0d1G+s0wN9N5Rmqu31N2sq2kHaQp21a0mS1YGf1ux4aPc2f17FkqAg8ml+6kzkEEalI0GirMjYeJp+mJV/MW8ChAbF+TVU6CUE05I2JNQq62LL8KIgLcEdDk4HqWf26fmus2RyAnAGXfVhs6KIgIIa4DkxB1Da+oB1XkI5B1C7MCB1nPq0XmI/GmQMeINTAAzmcvuOOrMDYY14BOxqWdwTeI+nohxkTeIpBUS/FcN0xEA2+wAboDINw0AnHSINBf41xf22eR3JhKiQQE1ReRBoAlINEgsMqQlOU7/0wBk6P8bwQQoNbwQIoN9INxMMEoNmfgTIN6P8v2AQoNv2A7/0bING9U8mVqRkq3YVjAhIW731evowcRQHMfKEx1AQHMj+1XTkQIMbPkCIMlS1NUARF4ZvM/AAnQcWOsJEgeAMvXMUEwA4QZgAtoNrQ8Ztkzt0vXMBe0ziwyj8asUoWYq2ANkACOOLeV+tqdG4uv1u6629aKIge5cev1eUA6AMSrwIYNM2AeAMev1S7orN0sYNEYN2Qizt0ev168xjKlupxfymXklbqquHlHCAopeKBqIQNhnllBA8qq6Hl0Tl2Z6yvOYTCMWeO3cilU/SOHTqLJunvmwt+qJkZMk0GYpFAus2jP1KAB8eFRRggPIvr1wC+dG4ND+VaAj3FCwkI4wODink+f08LJu7nJDxFsYYoV6NYNcYYlf16Ox00YBEmpOAjXmN3gfYNOheKIgxgcInuyaWgCI0+UkFIL86gI+nr1iEeOLwdDkLBuyGlux4DYNWlyThau31J4NkUgAeWfPIMFgNQNP3OzwNN/VXYNp4NQi87nM3nVnwNcTBQLljUIY71nw5AtqC1VyUBTT8N8kQUmJjwz00K1Vbm+7CU3AAq7147Bs/2o4i341UklM817316xAdTkPzV0js915kPqOjsWt1X1RN4ga61uF8GNhRPaqCm3K+AINQeebHFK4Gdw+x36OLlBXFEGkwl1vu1sc1mrMtgWJs04I81u1/VOxf2GMoFdol+eBTlfyA4cRb71jC1JzqhQ85iA8M41XIC2+MLGuyI5C00aAmk8ZeAqSAsHScdIE8GO71rw1RRgeAMTzYbMkj+q2QWl71YZ+TpkmPWjokBMkeGIAPVeAMI6oYS+GUA/JlsmlfENpgEevoJzq/vonhewkNfva/voAfaut1Ws0j4m0kNek5q5GZ0kgjVUMMVv55eRRc1UIcX/c57qzaFPaeSABUu5qENG5BOBc915T+8ATs9pMQ4MewC5SAwNl/81EFMqn1DtALfYKb8O/6RXmj4mFpM9c1S5BZUVOFQVs2xf2KeVhaVFtgwTwkmq0wlx3Qea8bUgvhWULlHTgbZMsUN0aAjwQzTUoAqCW4oxQ5UNGs1wLVEC0yh8W0g580Rwo9UNdGgTkmTUNBwkYlBW0g8UNyh8dUN+HFPhgvUNl/cekaO/g0N8Q0NnUN+HFIn1Y0Ng0SNUNoroM0Ne28MDV80NY8hyNVOYMXUN6kgen1a0NBWAPvmw0NmMVo0NsG1FUN60N+0Ny0N/pQKgW8xACnl6N11RGUu5dw1tgm731Ng8ggmXO1wqVKYgQDVf8g5MMBDU6AmWcgqJOGsAyceFb1HiCGsAXI0Vb1H0NDWUBDURyMxsF1xQnwAEyey3kegQwkxilV1/Z2/Za/ZqA5NJQabV2iltl4yhxdqkc6F4Q5cSgY/F1/ZMhxAG6FilltMW252MN0qms+xePeb25MaqW3lLVMCg5nmuFexmJs46F63l9ZARilRBx2Yk5+xdbAoVVOJ6rRAB3l8xxJj4cR10qmbhqGSwSA5t0A+A5g+xXHR3AARVVx/ZNFViVVPn5vbAZhxDg5y1GaMNB+xsEaPMNmwmM9aelRoRllRq4cU+KxrZ1UYVnp6f1FQkF8RqpbVeDWykWOpWpL12yq0SlP1FxyqsTkC2W0Uu6/hC2wqcO9L1YAlzL1H51oOWBkWLL1MAl5R1CnVwwFArVZxVQrVfXR/L1EGF4AgQr1qEuSxV0rVVdFbjGlaunTRkr1RnVUu5OGxLdFSF1EfZ8r1UfZYzR3dFmF1tAlhGFC/2mr1ycN1JxeF1sMwwDBzrVMECkS8UECkAApcNZcNpcNiSwwlhkPsyy8PSwkPsUECIrCmKlVOlnvFhXVC91It+/QeObasjFxwNEx4W6qINQwB0OrFK6Of/EnCiS2qwB0lqkAINGaqUOql91C78EjkUmAitgzNwE8NhN1tJwqPeZjwKxue5cZjw3PMbMIwvaczoJkNnml+plYh+F+URplaplM2a4zM+EmPOs15VQfa+2lZcBSHAMWUcoxGXl46Ak80MWU4zMppgE3lNnUeaG8Il35oOOAzslZ2IAeszXURPMCR8agAJEAdpWOox+4+LMAdG2ishbV1QkozG2D6G54gQ75Noeuq049RSyln+sXa+9SAH8NL4NP+UoYGyMor4Mer1efFEPgn00F+MhLMusGgil5qgCJIl8NpcBkue/ocKBqsUmg7aSH1hXR2NBLtqohlQel4Xl4vaKelS1uuGknH6iy1lOklZcjxkyFBICkRbkvk2imqRFBvqlghlbqlZWExQ1xGl48eImGWOk4acuJ88LFmCa68e0K1n0klE0ZTeitwgmqTelFCNc9e5+uy/aIyI/5+MLWJketDlVOlseMPYUnr6qAgASgpaqZf6UGIvOlyp1g56/mlAZeadQ9Do2NovSuGPqJ9wm3VWp+/OlDuovKq/4AHP+3PMxxwymh8bVGjwYMVvkcDkG35oP6E38N21Awtur3+0oA8UF8uMxOAY8NQd1qm0iH+iyA/ZY9DcUmA6xA88NaVGWmAWvgXiNWvg4zM6d1ZeUOngh009SAdpWN8hICNBHaXLwjTFu+q/1ezGG0CNtH5sCNTO0euY8pFzvRW8N94h7RuQb1OPCYgGsRsgb1vxAmzwIt+aEwc/RB71ll2Ex4moAUMAX71aiNqUFWrFvvmN0AHaq5wNLd1oaqYDFpvaPYAr/8Z7C/Tlx2Fd2gnoGeUAgSNW6k/iNYIUZrVywe3vaH+V+BqO66D8gokNdrFTyQNLscG6dHAiG6hyNhO8M/BItQAfaMxmBiEwO1NN8M2+Sa6jrqZgA3jEeN+ZcBf5qw11LyN3jEQnGD8gnheCCUD9VTMA/yNuU8yAhfvaj1VX4NpR6iS8BweGv4hGVEIAbKWAocPl6coaMzYxYRN+kBpitt82iIIXRjPmW3sogAO3sHdM+3sh3sx3sFtMZ3sF3sV3scEASAcvgQ/3stCA452RIAk52B845aI7zAuvF0HCfrYxnstJI8q8dqUX059DkrKN4UQtD8j88EJ8jXs86lPUe/+AvQwzU2scx+qWUVqvHCBIsYkR66cY08ozgdzsmUUffAOiuJcWMmkcxsNO6Az1+wANuY4js+vAShkLzFVcNUPstoEJSqMKN5XmhweR1Q6FGCBlyRgrk8WZ4zulOjCIL0OqNTRewcA0S82Ck9cNhqN0KNZ0cCaAfOAGz8zeRhhkc6VyzmcgV56g3uCqXmh46GXAJQEVakkimgIsiEE9sBoIeynO/78T1VHbAoaNaqMBjCL4xpqlj9I6KNv2A84UwXkPChiVG/4WiqgCqYzKorVQMuBmv6QaNh5kKms8/kSMYB0C8vspnm+KwqaQxB8hjw5+UzTqOaNRaNSVgqZO9EesAccQAeO1DaN/Lq4Y1o40u2s8yAtecmRQGzCo0UGiwDaN/gmSVgZoENnmG4wU40bXcPpRvzww6Gqkljzo5SAuCUF16AF5p48WyA/XcYvEt0AlW0dpFCwW3bYQ0U4CkTAAQvUo4Gm3ADaNOjwcEwrLaksQknchjwJ48WVwKSCoUgFSMt4gsiqmo2XPE86NU40e7ICM+f4BoWYnKAOFQOaN3i03fw+KAqgUZoEGuAwJFr6NukBePGOjA5PaO6qznRiKNGv4vSk/kw9K6BZyJD1Lym0zFoEWRRgEoYhsc2zofEk6fmBCWSZ8aSkwZCDqlXSQWGNI0ARfgKGNsM417cduuB8+0lRisQe820hWWGk4ExSKkATATAckvZioUFXmLLVj8N5jUKequEYhsM2lUnexwslmQmNtUHGNKeqUex0hWuQiAWh0u+82eEOVXTSDU+oiNsjCecEKHsxsVJQWJwW2wWxjaQi8i+WG2OoPa+aeCNhSzFp+l5eejDF4elkOq6hlzPuthUfzF+j51w+qwhr3W+z1z1h2iA83W9Rhqal9uWHzwlOlbRGlRlezhjpAeFABiNE0ekfRE6q+oAFiNzg1Kp1/r5R/aAPVt8kQR5HEV6zexaG3GGLbBJw5XmlZOloaVFw5LTY9LenZQrN1GAY8f20Cl4j+jSNMFh/Ki6VlBPMjGhEGuPcN7Kc/NBvNGvk+/VVLuluHWj2qL71SZINCeQfM9mVIt+qpl59qsbI15GkUaaW1CgCH21Mm1v4aJrgd21kzUUGIj217mlF8Cv7CzJlz618vAr61n21X0VqLEVrgN+kd+sEFOTYAJsCW5c4O1KdgkGaKaUtWN+G1Nm2nG1IQhW4kwTm/EU/+AA/As2NIceZm1LzA+O1dV5WhVPAs/MUjyNIyIo2NW5B8xAibVe2GeFAnGNd2gF2NLRkx52x8U4CNp0oPmN2PWNH5ke4NSN2P6SOgGrlm567dQpi109cBpl+hVe5lf1gF8CpEU9plv2N4h8/2NpF8uhhK0VH2N3gx5rQ2PE2VqspIMONJVqdTkpWN8s8FWNYBl0hW2KlA8QLUkdqq28Nlz5mk8tENOUQqhlfVq6ONx0kjHQkwayWNWDk1D8nGN4P6sgAmyUoN4Z0VJSmzyVTKNa/qczoAH1R9kRONu44bqqC/a6ZerIU28NNtWzkEjMV9ONLSxbRGj2qLON8DkbONlpGHONzi6XONZONLLCF5qyiN30+zkEczsOQWoslHcIUaG7JlyUA3sk3D+M66AMY+GqVMCiYBOHcgcg3UU1JQUt6JgkZSAMYMHFiqWwOF6n91TDlwQIiUV4Cqp8xZwWNnlDnl9Cl9nlmOU8zq8Ng5Dcm8N0yNzPEZaUq2acyAjse3uNy3E1zRq4UGPUorcJMCrPgRusjyCQEIkXIQgkQMNjaAQjspgm3i0DOlPAA+GqndkiYBlQ115mdYw72l4oAbMVTsAGrldVafMVri4DTWEGliRR+EW4wwXVWyygcZWDsVB++RIxt+1xMe9+1/3AQPAkGA5F8PZ6utQrGN1ONQEg72N1Q+UrCcVB7FAZiAZn8Gnh76VGRg4tkWG8jYAz88QEUDp24CIErM5IAQEU60VH88u2S6sVV2x8bVTJFnuNxWNWeCznUqTU1ONAOSwIYMIMUMMfrVQfgamkBpiFONKeqAOSm8CeRMqBlZSNUWNo8cVSNz2NnH+zJSWcAneNz1h8DUlNOBeNWe57dQ2skHTgbeNmyU5x2mXMP9slON3+NC18G0VmQgmTgv+N/GNhDli+Nz0kJihK+NTSNTNYHTgR+Nm+N0cgZICUGIe+NY7AD8gn+scBNeDlsbIBzO8oW5+Nd2N5SNnCgzaG0WN1+NdIac4ACQ2HeNr0VkONCLQz+Ng+Nr+N3gxTokIBN1ONE+NW78YQUP+Nn+NjBNZOsAOA7fcf2NJoA9BNnexQcVZWWk5hqSNV5QL860ZanmMGrFZ9F2iAyIatvEjJIGqmuVVJn5sZAFilP+UelVASg5Z1HEF/n53ilQ/hi2WlxxLThWXq5L1ISlJsNPRVqkWAkFUYaf1FsSlTccdXqxkGZTkutVycupRq4Slj6Fi6UsTkVZlyH1pyl/zaEguplq3oArR8kwsSwCgoozXB3BgGuApCV7TM3HavhNHWsCUAgnMeowhBwFxk3Bgadkys8gRNShgfhNQNUkckOnkSIUkRN/nQUC8MRNuahwRNIyA17StoxC/OggluJ8gaA2eSPKZe5QJwmERNcsINWSo8S3bGk5Rq0qOd6RkaHmOc6W1scdRNBoAc2cK2+Bv1t0cjcNbScdRNGYgcmsdRNfV1ecOP6oIY0HlWdRNcb5HRkAacuOxDFwl31bjl44enDh+h28F2LEe5kk7H+Xc+VIALSh8bOxBBcMFBF26bObch+rMjeaAKWmw51ikFBerpkbpk4WNBGlD5ARw52NaLK1FgclWqv11CPRpJFC11IN1OVGG2ITTqtGq8SNi8Nq2acuNVjoqzIw/Ip0ATa+q2qe/aiyA34EMN1auAs/O0zMzNEEGcZvogJNv6AasYfNgp8BQO+wQI/JlPLg0+AFZAdUwwplR0eUtQg0e4wY9SAeuWIDwsuOsMw220Eb2FYx24NBGG/qhxqWaC6gi13Re50YPLFiO+EECMiAJ7mViavgAM1QsIeH11+JNHNKxoAyDUHmgffmXLFFtRG1eZJN/JmW45620Ur6r41aVqQ0ZRuwfSwxog7tRgusqlW4QoDhVhPZtrMKwY//0p0AAacwBAC+YP0a06+JgiAacFYgSb4uuI8sl/+AHU4LUAypNN9VOrRD2IN91xIQESVEIgtl4v41PymxkN94hRbRP/01ZclsAonAObMgQA2b0uux1mhB/qfo1z3KKpNwWcw6RLXobqqsJNzkA7pNSox3XQMwNC+AaSVzmAW31K1l8M4evoLSALpNX4B/SNRb4fpNd5i531+fVmd1PUIiEeiGAIQk56G+PmTM5Po1MJNlpNp7g3F4MLGdUAuU8gQAJzGKaUCHqumq7M5cKU+7ETrYAfa4ZNwIwdfGDxFI7w1Gkxja5ZkFdoWuA0B0coAgBAbB0rWkeGIBQElLQ3+A3ZNz9mdgATrleGI6Mcr7mw5NxpgIlB9G4gbFIZAs363VAviQ6ACuf1yYAAAimOIPZNEDQY5NLPAul0Dek/ZNoFmsDQa5NXJe+3APfeNUArVAE5N6aq6mgRqNOTMYmIrzFK3gDjqcgiIpYkxwPhV9dATOAP/Efqcs/Jzv1G8mKkVxrMK1lMqQ0LAOuAvwGBv1MUACIUZW1AAhXkkQ/8Qgc3ZNe6GBkiHl1TxNso10/OsiqKWCSha4ROsiqMqQTolNCxsiqbolcdRzolBD4siqdxOTol9olsiq0AUOFNtbSZeANrMCM2eYhzgubjAHmw/BFtGGcOaNxNjWSCbMeGi7LgJ1mptksJ4Qxc+ySjgsJZxhKiDCx4GiU0yEUS6Q2LwAMFNuJ88RRFtRRmqEjUnAG/jAYFNXJNQX+s7AKw1dJNKeFUZNqUFMeqZzqFoBV0NLAlxfUnXBdZFKJovkAeGIP3ihCROt8eGIzW48VUWlNBxQV011tElIqaIqYL4440nwA41pFphwYxBbhwYlEjiplN9oecdILI5hogjsA7uo9v6yGgs0aBvaD5AspNaU2peyrlNGo5XWAUAKID+n584lNPxoOpqV+O3DY7QRlTy/d0zXl0/OKuRrNBwKIOgANn2XPhaRc4vhx1hMNwLOyxBqOR4mwkbyy/ZAePc4haCZxOMSij1uECphwp3KCK5uA6troFjAnFNUdK/804Pekoch1csPu3NAyU23DytdaK4yCQ2JT8gVNh1cNiRs6FUlSQbWI5hRJgsrpp/E6aMu7A/gwMYFXRRLP5VgFcj5Z5QiqFX35/eFKqF6YFgIFPtU1/VzEWk6lEFFSv5p7oBe2miQxK8yp5j4FH0F7h035wq2qO11FwFuDaRkRuMFkMRul5Zq+ZO6qzaZzaIboeTG1XYEsu+31E1B+/WZyAGrF5fM91uYwegsuoiqVE+nf8Z91Vuqsiqu5NMmksaWHaYCM2hpN2iqrAB1SYZ1qrzWQcMLpR0dRWyxVoxfqFuIFCTuoYFQaFhEFEYFEqFosWGeanAA+AUTmstQGNnahxNliNxxNhlupxN/ml1eVjxNOaqk/QnlNT5GxxNuBVD2Ie/aIboodVEUAnIanf0+GqANNHjAINNNvWwGCdxNyaqrTGRow538BPMoVeJihoVNb6c0D5qoELyx6FNQtNq8NioGB4wQlNHfanf8R1NrNNUGYeGInAAYMw7X5aZGnF+qAg0dA7KAzDqevENYlLy+xXEBvBYTOp1AGtN1Jk1ckwLlatNzV+FvICbAHvA0xWdWAutNTcR+tNINuylBRtNVtNxaMwLlcyAo9aWtNHiqJoADtNZS+DFBhLZp1A7tNiUY45oQ/k4wwNtN3tN6fBGpAQzZ8cIcEAHeA2S8eMaOfq4ramSGI7UhHhpJQVvZk38wLlhxhCdNSBkhEcOfqsRuehMApUKdNir+1nZxswtueMsw8CaoUFiCaNngadNg3OkFU8dNiHq6zavKgudN5YljUEafQZt+UL6/z62T6tLan7RrdNyk+GT60L6AL6/rqCFBhdNWb+An4JVAFngiHh3dNwNqQ5YfdNHdNsLatLaul4pScC5IcWg1WgziQlKkNMQBBo5egwIwOuACYEKecwC2dTk6ZYC4wny87iAnU4Dfwk3sascblcurCf552KOW5NnjolLQ+oAN9NvjZSPAo8lfngANNVE0QYNz6CvsGAGkJYQO8cOTIItNa8qN9uNGO8CkANNR2wD9NuLQ/FUZiAidAoDNVMw1YAbpMnqNOLVKWFmfg5LQt2et+U99NSDNvbukEAFGAP4C8/Qr9NtkxSaNvIiLrc8JEvOM+7ss9AW18DrgNua/fmFlgK56ZoEr68LERb4RioFDq2Jwmk/+wXkO6qwDNRikaiUzuAaYA0MelJWUDNFLQEDQD/B/uMnDN4t6tIAPDNyDNfv2IjNAK+ZvMIjNd9NNUCQ3UiBAM2lCDNUjNr9QqDNBQE6DNiDNgTafsRwGNMmkLh5ooA1Vkc4kGs4GigtDNMlg2mw7CUNE01DNgKqZ5NlcNGi1r8FI58b56saWMcUhZ8rIchZ8+tcl3QBb5/EEVF6rxM3GNlI55VFdJhzNRxWBKOlIvZTiW/m4TDeSxsY/gO3gziNA56hNNpWhxNN0i18/a/OYlyqANNFou11NSIhftWCKWjYxGeaVPW7cWC6Vnf8u71gfgwkw+C+bNWXu+GUYcyNZmqbqllmqfzFgal7bCMiNuKAsTN6I6kLCxi6RTNQ6qCT2vql2gedCQGylmPWctW88kFx5i1OqZG64Ng826eahFVZK64uADSVNfuWj+r86gZIhoKQBkuEeU5ur94F3OREe9FwANNwPedmNxYkn+A/+A3+AbZAStNW7QPWQql4u7A+AU2RIu7AKtNREAGAC8Qi9TupPxmb+K1FFaBK5gmS4I7M5zNtWBGH4xlqjsAS1Y3LENzNuWBiY5olOCIU0VF1HhUyxNcQRCGuQNzzNHdRmo52fZmkEFHRFMF7EVmEVOHCfzNNHh3zN8MGLeN/92Nalh+q/YwnpsuihltQQJQMeeJ+culOycSPq44YljW1AV+L2AoVRRNIGzNU2QRuwsMAqYAtu0nAAhLNSFARJILk2ucwMXoYBhJpsPrV4zhWlOSLNbBsKLNnFWJSx2lO2AA6LNOviWLNyE1AV+bLNwgFbLNTLNI1gcP+jLNcBFo5VFIwAD+h+2FGQ6LN2PhvGgffOenut45uTEw/Oj45A1c3FObLNaLNfygyn5TNOsrNj548rNn45945P45YE5yrN7aYBzMkrNOlOGrNMrNvfOJcehrNEE5lYs/SUZwwwGkIrNJbBrBsQrNRs+wbF9iQuihYrNEL+q6OPym9poBJhNdRmDUYlNu7AhLNREAxIlZHhULNjsAvzNL75tzNALNzkEs36nmNrp+2yAvtuKK2uSxriQaUCeluKlNpAg9MG8KmH7RgO0Xv4nLNC4SBOo3FOlLNN2h8CkazNe8AoDNpJQ5iIPu4rJYp5AzduRdurF+HtQnCAyRA0SWsrudbNrdulhsptNewhi9ucz8eTAyc+rohLzNujM1zNUbNLzN/SxhRW7zNobNbzudzNSOQDzNDohBPQ06uL8wS4+KNgNphVEI9ZV+AKFxBEwAlq2ibNaMFk7IR+uDSUugQGqmrSsZilhgAplV1/Zed4g+swkW07AqlVg+xy4xyP0d1FJhlSh6kRlz1FOpWLmSWWJsRqqDWfQUYwoI85rJI6ZR+c6wPQA86HCx+BgIJ43ZAOG+slk1MGb2IAYihx4LekJX4SJ4RzwEHNwHNex4wHNpR4BtmSJ4VjVcHNGIcCHN1MGIZ1Ukuh+10WMtJFmDl6vEx2UuF8RoWuF8bOs6H1eYW7hVOuIzM8Ly4uF8fM8ezgCgNvCAJplOBVoslcmWozlkcVXU02JBUyVxQcuCVRaUCjsVnc0QcJooB++IjVv3l2Tq0VhEjVNUeRCAB++MjVojVWNln3lCjVEKY8NgjMM+0auEVIwW3EAynNcsIDYBanN5YY9PImnNqKhlQ0ndk34EkC00yQsKgOnNrsw08oIBNE8suMlW81JcaPtlgEmhDwgEm23ZAW03r0880zx8OaM8M4QfMRU0i20tIsGLUdnNGvFLTYEtwSd0bAirnNTTgLnNnnNV70i6kS/FYfQ6ph88kzXgTnNF7MRU0SXU8M4HnN3YwXnNooNYfQvnNCZ0EFMiXNjtAAXNSXNKPAYXN9zhlShrMQWfQUa2mhQMfCrLaHYAuU8DH+QXN7nN1kMJnNODlepMo3k5aIMZcUZIQ7gJnNSJFWOsD5Av/0Neopi1h5apqQ5XNlXNuF8WK4bnNIXNyXN+XNgKgwOA/+Ah5aojk/XNBiEVXNCXNgXNoXNrLk74o/F8zOAXXNLwULtgk3NLtg1MIZtk8M4cXN66N7QAuU8iYG3w5o3NS3N43NH2gh5aTxAmXNgXN5SAB3NBiER3N9XNXnNCeO7plVOlY++NeNO91JIx7++o5mdGgbNcAseksWABCGFIadewxeJcCYDFfzl8nAcO1ndlXw1zDlhJe15hsmq5nCZuVt2Mj0Afg8S7oQp4zM8TAMfM8Fa0S7oabAqPNbPkfM8Y2MyPNKMAIe1OPN5PVrzkmPNBPNJPVRPNJUMlJFGngACeH2qRaGLN+iUYVaGA6qxEm7rqE8shZM4P6E8szKZ9BcRsl4hqZzlZ6M+eUT35YBG5G17uetyVSIanmAMxQAtk6oi7ONO4w7gNXY07mliSUn1CWWJGqmgM4nOxoYBRg5t0GMR1HlMf8FpSsKhNmRAi6Fg+xv+kHqqF7NYV4N25OlR9ZAElVTRsg5A5vN4NkrRAJ7Nx/ZnSqxFyvhlPlV4LW9t4LMN0qmed4nTAw4xyAa/hl/g5y1GwlVmwm8qm+4i8Rqd3lqZG39kpbFB/Rwfq9bF0PCgIx5SmofNoKBgt5mYNGXmamNPomlf6TcYNToNPlmQmSfNHSxhUgA1V0gFM1VZllMaN5smSfNX3k8PWsTmMK6XU+rGEZu6B/RIzq0gFcVBgPQNkVasm0hWgxWVmV0nNC4FTfBfRNl1VYl6LWU3xgkcgChUPUwn3WQF6BTmtfNXxVflaTfNsx1wv5Dj1D+1PkAix1B+hY3YemNXfN1Zg72ocR5bMVFBNp5AHGVK/NCIAD+N0axCIA9Fq6/Nt11Js+qfN6iBoseiBAkZVExNo/NWnVQP5wnNFJWU/NcVQzLFSyo9lg/Me3fNS7wvfN89+bMVB/R/oAHGVb/NC8AGrln/NYfNB/N7mgEmk4d6BTmzl11xRNPQu0W6fW4ONYLlbZVXP6dax8/WjGVc116vFMAt7Ru3/NUAtt0g6XNIHF7RucVBCAtYAtsAtefNIAtwtw2At7RuNkVWAtUaFFeNEQVdlR9WVdPlX3Wjh5GmNis+THuyueDONmTmwAtaJO2++jhN/Y+3h1fVNqX+EfRdsQvf6isk/IUu9F4Glr/N+fNTb1zi8HymDMkYzAr+i6s5Om6htBWs5E0o2aAzjFcs5kcgkKVmO6b0graAHjFC1B3jFltBZ9kRAtj8a4AtcVBh4cH/NKHkcBGXV1mTmtfNscGDa2f/N7/NL+NF/Rx084gt22gis5945S1BWs51hwcAtqJOzFqNgt2YgEgtTuqGs5ltBFsW5lmWO5qbVvhl8sN1/ZJfCjp6eWxgaUL5I3TmZcpKOhTHJnp6M2W8kWnOammaCqYJL5xJsMquoR4JAA8qusquDSgfCFyquvS8aQtYT1xPG6quOQturWI/BuquMxQ+qu6uchquShgbOgxqumQt+Qt24cArCWacFqusCcXQ8v4QzL55ZQv5Ic/8JOg6CEHCAfqu+YcDOYGYWikV9TUKVB6pF70UALGd4U7pARaQMcA/6Y4IaaD1rmNtGqK6VkfeJYUHjANkh70UrnQfyWhWu8DkxQt+kk1RhHkkQthYaAJAVbRG9cgqH6SiA+TgT1kuXEvGFfjAnQ5utEYsQXM0TSxvqNBzUI462NkRDkO4V0HV8hAPagiHSFIA1+0MJxnK4gnwDKeT0xzYAZrsKqAweARRgrPcxb6mqkzvC74WOukZUIaCgLKCAsIgauxWusBg3CFOZyUqwCzsYzsyzs9/eJYU6BqWBGmzs6+mpRAC/snscoYi7PZQYiruxwlNZNB/IUD4GU/kxzCUqupL5kyAvSgGQteQtSItEOVguWvQtBQtfVwGqu0vVWquecAzF+equ0sWQvGFQtvlERquEygLIt9Qt5quuFAzQt2JWrQttqu8xQDqu1eFNj2xWunH6MbUZO6WpF3Tk3qumb2vqutQtjIt2wY7Z4qGkwauoaE4ZV4au+KOEIaClOfd+nIUdr1MLNo0knOA3cAD4kjywyZ5qEuh++l/NqLEzvFQ4azu+uTByLCjTB7XEguSYkgmxuzfNDotdC82t58cF5552xmSLaNiEPmxUauuUkCveE7uaAW35gN8hLwaR2wUaUCxawzln3EVwIarE35oeNOGH1Epl7KNX0kVotntkGvEsx1DvFvotcuxLvFWZQUnhLrkVv46IAoYtZIeJImkYtMd6FxR4shNMxAQF/9kVwI3B57e54ucQpZ3vNUL15hlFvEstMS25mgAM/FIlVrGkl3l1/ZhzAE2YcL1bz1OvNlHAFilUv+elVw76ZilH5GW25otMRvNEJGLil24Gvhlfre0kx6L1A/hNGW4O5C9aKjZ/EFyRlbr2Sc8UYUKYV1GFltFI7VWYVY7V5T1iNF7oRyNFEGqiPGtCFxYV9CFiMIp8kjL1plEFwt8D5zRlNYVW7VdYVPCFu7VomF+7VjPGSyurYVSYRtNFKYRNAGXYVfHWl7VmYRsiFN7VqmFd7VTb2xyuMxlXNFtZIVvlL7Vk4VynWH7VqnWaxlJmF84VBiFf7VelGy4VQHVq4VdmFNn6VHVjmFAKuKtFLwtNnWMHVSKAWtFh4VwhgbiFSHVDxlKHVzgGR724X6GHVc4RWHVN4VOHVd4V0WFt72vxlcWFeKu9tF+Nsb4VpHVelwX4VB4RP4VpEtWWF/4VMJlvrWPtFWX0IEViJlYEVgdFt4RmngKEtHHV1Q+lWF3HV1WFUdFtWFeuO9QGTXWBJlaEVhzCEzmL4tnLVz/h751IxV/IRYxVY6lExVgrVUxVwrVxdFgF17YAjR1cJxoF1sGFmEukcNQD2wx1hnVJOWgWO8cNpnV5ql+xVgx1uTa1nVEu59DhGr18qxOcN2r1+rVTnVMZebO1+qk2ylb56ZV6R9FmaxxHmM0UAdV0kGyRMkuWQ5enIwVwIrp1UOGfhB+UtKiGY3eBbes7exf2gEazYYUdBSpG73euZquEYn70BUtyeGRUt+x1G4UpUt/RG4HeFUtVbeo401UexUtea1YHerIe7B6wbBldshGVPIezwWjOk2p1F7mkCwCp8WHN93loFcobeFR1VmsVjQQ5eKhFNy1Vh5Rv+oTCzkEJ/NEf2c3FGkR0RBiFGtV6kkR3sN5Atfae/pWEaUDr1Y8Ul61/rVfLhxnVtwVN75r0Nkc05eVHmOvUt5vF0Q1qQAfT+528UOqzLV82eQ3UYLmjUtBf1+BgARBnU1vF6ldsfA1IfWJPWBZ6Qg1cPMgq1jP6tV675UL3e9Rw4EIC4iyheNUtpN6wCA5NW0IU4MIZt60nYPHcVTqmOw/Hca9WkEAXIVSRkSE8tqu++kdnFzI8sZlkKqSZl6bez0tOcQ+p+2v+L5Wkl1BbeovUTMtz0azu+Rp+F3e99mPT+68hk6+Uu5ea1ADeOdqrAtJrVy6qKUt9S1xylVx+kmNmsmS3kx0W1uRZbeiQCq0tNhWBAciBAnwVcDCdsB5QWoOUveN5V6K3ENqMuCUmaAwdIdOUzmUslcewky21hFgLM+CHgduNtUImQM0UVOeWXS0amkFUcKKkOst5NW+st+aNwacw2q0JAY3Bfzuq11Est+hlZG1SstSyNhZGWP6x7ljCNjpsFJU7jVQmA4Wsv+BXl6SmUYctMM1O8U00ke/mkjVKBqAkV4gsl5QNCkUItEKhjZBeYWRow+WOYeOZBGD6h6hc7nMSiaSvNAVVTRxl2kCRxClwxww8/F/YtbYgCMNssNg8ARhxWggAQ5VvNsrBqhNLPRLRV7oaS6iwX5UAi1vhnMUHRVRsNFROSRqeeCK/hb2IgG48qlJy5uvqtTQsvAPhYFqqnHMo8tCICXfC48tnD4gAA5GCAAAiYIAAJxggAAjGCAAAUYIAAFJggAAlGCJzS7yLCnhzy0j8KK0yLy1vqqAACIIIAAFIggAA3CCAADMIIAAAwggAAAiCAACCIIAAFwggAAHCBPqxzy23wBsCI+bxi7oeVg6QAAAAH38t4woh/Cx/C58tdIAgAAMID/7ZssZNqq4ihv8Kf7CQK1cPgdEBOADhjzadrjCj/8JjizIK2AACpwIAAN3AeCtgAA7cCAAC9wIAAJ3AgAAXcCAAA1wKArbiKIRyrslMgrcg+BggAAAI+BPgYK20K0oCL/y2M+rNACnAAQ3hNQA0K3gTxbSDCcDIK2AACCYEvLRvLYAAMxggAAM2CHy3w05sK3gTwIJRCcDIK09qCXGz8K2+GB0CI2IRQSUzPhr8AAADnzzA7nm8CtiYorAi9CtmithacXpQ0MQqit+JwuAiI68Yu6gAAR6CAACLoIAABeggAAm6CAABXoDIrcfLeMKCIIr9uMgrYAAJyQgAA/JCAAAUkIAALKQgAAZJCAAACkBYrdi5P+TcjpiYrT6wEc5IGNnIrXRaioIoqImLutBQIWQCqgFNgLsgKsQF+4IkrenkGM4IUAMgrRIeIigNaoBYrYYIsYIsgrYAAKemgAANOaAAB5URYrRYIo4Io1bMgrdloF1sPloBFkLkrQ4Ik4IsgrYAAFkgD8tgAA7CAPy2AADZIJAAIAAEIggAAaiA3y1jK31K2eCIaK1i7qAAA6q4AALa1gAALaP1K0BCKzK2M+r3gCRABMAAAAB3FitYQiTKUyCtk6gXsA+hAgAAzoB7K2xCLmbxi7ow1yI3iAACGgCesQYrXC+NkInkAA59qkrZEAPDQMHug8re/AEDUCDuMgrcBePRsFbAEYANwAAAAKe1zpAGC4igVCK8pS/K2pAD8WLNjwWK0fUDFCK/K2wSQcYDoAATCBIq0WK0tCJ3KzIK2cN5bTA+gyfK3dCLeK0mK2AABUUIAAA5QgAAOFCAAB8UIAADRQgAAAlAWK0BwCz7DWK2M+o2jz0bDLOC5K2rCJN0zIK3gsR0CAsAAAABXzgAldMrQqRIAowAWMBeKtYzgzuqnKtMIA3KtfKtFitOwidgUyCtWOg3AAAAAR+gAIAAMCAMqtkC0ehmJitgAABCCAADCIC/Le/LR/LYAAJwgFitjwi7QAimmJit+h4U7g6AAgAAsID74Amq1QTCdABKK0uRD0bA5K2fK2aOCBfRmABKK0W0AuRA3K22q1kwAWK3QiLeBTNK0AAA/Wug2itHytYKtiYoSIipVMyCtgAAxCBvy1Py0Py2AADqIIAALwgL8tgAAMiBvy0Py0WK34iJjLrIK2AAAB3oAAMrygAAtHKAADhpjmrWioLSIsgrYAAIJ+gAAK1llq0WK0YiJYiLNK2IACAAD9eCdSCQ0IAAON4AXGkatcL4KQihcgJitgAAdJCAAAMkIAAHyQgAABJARK0Ck5qxyuBwBHUdZWKmw8uIA6Q7SWFQCag14UbRlWQPxTRpxAB5Ax2dRMbS+RyHgR0ORy0DIaChaF+TheOpi24njmS27wgAZRhGLB/fa9q1YQBi7p0OSLbIO94LzqfK2yKrYjaeGHPFqM+qAABUBA+rcluJH7ioADD4moAIAADQE7it40em3AoIWrYgCZVsSFca1ZAFhhMveF3P5c1NdJV8KWUPgK3CqqWORg00WP3ilwou8io26yqW2N8Ex2IaWaGtNzQyW4DDcgmwTd+HvgK+A8a+0ygfZVLPges4N0FdAwX0Fpga64+1bBFXqOcanJM96N/Lqmb5aAiReFVfYn5FJCWghFjSoMNaWB56J5s9AZTk/4+32gKxQx7A8qABWgj6t3vKg0x1uO7Gta8a+wamx+Q/QxvQBug2dwbj+rdIRWemOMlV0KFVOVF5eF1209+VhVF355SFF4wFZAtLKCF/ZQst2TCxrmjXWL1QkfEyrgyRktzC++qlXc+5g8aoXJ4c7VY4csJqVwVUAGg2ogG4DD5FGtSH+pEa5pRSBhJ023bGw2Fn1WZjuIGNQB2GDkWcAn6tSc4loxbc4wGtDEGndO/4WbTBONQnTIeBN6hMk/QnCgnKQiLCtgAjTBdWkrbS7YAurcCFhKzYT0eiT1fQA4NVgz2sSw7wABwAzJMascTtRrCyrn40B4hhVgPaiQkkFOc0AP3aqMYhOMKstCDNs0aoYkvfMUDQFjhN+k0lA/EwIfuv1QLUQkU0EjCFEFkdAnvN/yIyMN/vN/Ox56FfVRT6FU8x8MCLJkiYkPf8nUizlCFEFT1MXVRl2kQlRYtI8OA9g51/ZzTApzaLwx0aA9BxIFciQk325AJ6HEFQfNBoAsV+L+mbI1EY64V+eyUwEgPzAKS4gjqiNqTz4IUAhziimOjsAgjqviaDdq0T6WqU7wAS91I1hwooeoA/2ttdqwjqMYkoOtP2tdfAuv8mT6A9Nv8FFj4phgteIrxxSOtndNIOtAqtYRm1T4wrqdIAZ6C1z4mLqBOtpWCkz4gAUVyUJOtFCCpVxdsmxHAdIAySqhvqMOtlOtjgAuv88x6tY5Sj4NEqYL4dIAopQX68+BmP8ajsAIAUpomskAim81i8gutkgA5m81H4outrW8wI5opQNiEujCt2k2bGGVObT4bD4+T4VLac9NIOtVT4gfOqutws5jT4rxxqut4ruSutmMAVD4Q1+AnA+utqq8mT48MGxutk1+OT4Pps+T41j+MD+dIAlj4dW4YTATKU5D4l0AYL4vl+TMA3T6822bqhCLhDegKr4TD4K45tOtKCtPD4wKASBkqD4VgEidNWKUqD4KzMgo2ZV+945leGpE5NCAEtA9utqT46zaO92zJAYL4ZC6SYAFC6autdIAwcO620WetOetws59qgBi67hM+YFYL4DC6nEIxYgYTAetpSi8DegTD4qoYjE5ZqqEbNvhgjsAUI5KW4Aut508wyI6eQrlN2N8DzNq3EmemvPqjsABi8guhq2msB6EtAyL4jsAIOtoT4Iutjc4FN4M516H4F6cEutCuhmyUrpQCoMss60oMRf5NlJjsArj43Q6Pz4N32hT4lFxXj4llxfj4UlJ5j4yZJNj4VpJ7z28ka3skqutVC6Kgt7ACWut2i6xqot+tCut+qUD+tbskeutXHRTVVEf2/QmOfNJSmuNq7jmABt5IatvE0IkbxmtvNLKC9DZ7hl3LCS5AVctmwmIXqsL1N3cZVVWvNbEFmo8+EA+1FLKCnxmIAU1DZU5A7A5kOszEEFilo+eZilACQnOxge6cL1kgAeMNx/ZvSqWilu3lt2t0yqKBCHbVkyqFbVCfN+UKNp5YfC2Os+98ms8MrM7U0TXBl48uB8MY6SB8Z+8uB8PBtt9Vln8uB8Y8EP+tnQt/12PkCNY8jc1K1hLtVpK+jYems8mBENeVifAzOM9tUFycFxU/K8r5WZkU7SA0RNoDsQQIoMUys8csoPxF+hVhhtphtEDsnDYMI0WhtZhtZ78hEAE4qJht43gO585htThtXXwNvZwOAUeClZ6WRRRuMFxUUC8y5ImW0thtyes/SMywUza8zhtNZBJvUvhtDhtXG8qRNBht0T8/SM/ht/SM/9sOoU1W8BfN1Zl8oWr1VkQc+oCrXMm9lG8VZhsV/l6EmA2Uo/lOU8PtULfl9i1xAVW91PotteNf3lNmVbNc2W1nYUDPlFQseg8ToCqqV27hA/A0joYp8Mb80MCdg8/EUteQ1uIlmBNNVWBVU6BNCN/Ghr7mJkgZXMYkadsBygM091nKUx4An24O3we7upyslekBMMGP0m/c2JF9N6kEUICqn+13gmtM8bZMexhXbQrKgsUa+MCg8kHVY2vCLlk/TkUd6sUam1lxRMNYC0wALWNGqEEgVRE6fjlJPVMB1j/cEQ8LV+ne1MVlEr8gAcLV+JUMLxtgi8NZIPxt26tSVl/xtQUMucxfTVAYCJPlvyM/ymQ7clx2IKCU7cx7ckURgA887c5gV9YAaJYY2MHJUdgVIsl8oWyd6lie1MI3yl7z2S5Bj81Jtkcyh9kI4iNDAAukIL6MPLYfMeLvqkqqlJtQ8MgFefmqWkNyM0q2ATKM5aG6JMyjg6ZeFJtS7w75h2V62++kGtfC6P6kDYYNI8z5s+98Incjp2mIUEURS8MNTGLsx1MtKmlCNk9l6aylTBNGnlQxN/lW4ZAqgtc1BnjFSs5geqltBVw+E6qf91L6GT3VUEhaptcgtzrqcs5P/I4jsOoAOTwawFhRwBShBptoQ+ZskxptIaungt+tBUgtPjFDHAgtWcsMg/6VEUBHaFsISptR586tWnpklPWRZgY/6tOUJaAcQo2mwOUMuq1uAAzTwwtlS14LKBRfgoN4FmtP+1MnUbB1cfwNNFjmNmAEb9a+BVEQ8KaUKQW9qMU5lCpYBSARRMgrFVSANSAZnmoPk20GlBVAFlR0QnZYwJFEgUDBV8z8nZYSE4ndkPCwRkmyfV6XA7kAjnl+NlargnZtvHNKFlX5ALLg+yEshtoKCdg8qEAYaMHba4n0b8wPIs/rC06AVyARfg0PCZr1K+WUkUqiAZhsvAgvNli8VShVtXQc1kGHck6V2/g6xAmhV5SMOhVaeV+5tkURe5tr885SMETmk6V5nUhIlH8EoBE4EW5WqIOVwgtb5lkTmBmAodcjzGWJVHoYT51aZthy8RNWmIC2SQfpMEtssB8Er8zC8AW8yKCzYwUL89UaXRtF+V9eU8+iKItDwwUuAYzAmQgEI0BWkEFtji1F+VWiAWsVaO8FVcXDNgPg180DlgF3mZY8F3mHFlLyMVY8JFtHFUCohlpFK217YabRNfIV1O5z8+/CiVstKFcmAE1O566CoUa5TkFptDpIEI0jeVpNkDaIFgkAroaYAeuVzQcPusKesEe8mXMW+02sk9HcS7RDN6nsQ0wcCRN51kDhsrTC5Z6i4g+JSO/g8X0d6hTAmDlggBUGIVnYu6igiQk4xNwstD76BmAHcqBe1BxeHcqjSqaN1GXmwptUZ2LoNCOsoIQEew2zEXxFg+C/koFEFsgRl1F3YtjTm3KiV25FDg+Z1ZgASsNwQtRXsMhxFWlWWWqZy//ZHOxpNs9iAZyxQCFwJmcNqV25vKUCg5C3lpNsjygBHAGZWqBtYaAGZALVMthqksNLKC0+RuRuyAAtct2VtDEFfhQqVtbqAgsNtp6RBx3KA0PCZ91PEWjNNmbsjMNg+xQ5E6Im2aq5Z14suWx67Ytg+x0pgVM5Uxw3nq+c8WPAfn5bctLZ1qXqgX5WhNhU2pER0pWYvRpbVOpWMcap6FKO5pXI0SlMPUF6F3yOu3kEia9hNt/FeU296FHbVKiaFbV1RqfZ1b/FdsNJ/hvDVymaDbV4XaQQQJAQbr2E58z51tO5r51HsN36FsnV7L1WdFR0tOdFIJxfsNDktAcNTktorVJMAPOkTR1ocN3vZnktqxV4r12WavktREusbmsr1CcNQUt5DhbdFedFf7WANtmIuW3RkUtx2xkNtq5WEx1ncGO8OhbGFz2VuUcJVlYx30R4+cUi1zx5ZkhPpAKF2Vc2fM24ihGpoMc+8gRhyOYqO5albUAamhMA6ZB1SRaIoBQMFOKAta+Y2awQ6pfhcNqQvm8MavGquXUb2aLd40LMItGAU+aLW21RaMSvvmIaZj74eycaUFMGKCdUZUFzTiACVoMFp3oeGiF/ZCvRha0GbNfSgalNC+oAEOMXAvFQIT11eAUykMcF7iAlTBBgULx5WTQdTBCQAaxAcwg9gAiOQNQAFy8Dclv0sP0RqIgxttYQAgAg5TBGJcLH8D/BVakyYw7SskSEbtswtlBWAq8NNnMfyxe0cNxB0tmhrw74mDl668kkxkpLoXk+EGuVVGhvAbtslVUhds6NsbC8ZzMT6Wm05gdtXb56V1Bi2Mb+BXF+YQh2FY1NSJRE1NruFjRkf9ByNkM1Nxv5tJV3uFoxRngaAMhTxkMpV/b+eYu1TVju5ZjkbU8LBcSvMRmhlt5vjcb7VFYRU9kx0xguhNBc0qgF8A6Ux8QA+Gh9gAurc6SqascwJ5qSWAtccpV0uoC7ss3hGFcyb5pY2REIwJ5cM5G4wQ1570Ry/M6V1Rw+39FLo1KZm5DiqGEx0xi6ORrAZta9pquYcC926kgMUkX/5Y9trD5H0Rk9tMpVM9t9YUyeF8farNq3Ntea1uQ+n2aw2a/KOk6he/qzcRod5b0FuuAu0RrNk/+AA6cuEgY5AWb5hxEVmBKWAmfxBIKzQFhp57951xVh6OyowGlcXKEzsV41NZJVF4Au+ESaUJdtDS4X+F00wTjU4gR6YFTqA0hgDKOc+5YzA/khCHgK7B8hAg357otF8F1Yc40WI8FS/qjNWyoAuaw49ttueQQ+Yk+6vcUT5dC2vjuNAY0XBhwheDtgV0B/qIf5/MFosFLoAOgWcvA0Jk7gFYsFnf8vlt8JFh0aRw+H2+uJAeycKKFedIf6oRgRDZQfBwhOwubBWAF7LgHwhdgRKNNbAtWFV/yWk2sfpcrwhiNN2EFyNNIH5+hFREF4qF8JR10NPWtZwWPARrd54ZR7SEXeFEBQfRRWZVXuFOkFQ+F9dkrVWPY6230SRa6Yuh36Mc1IGuJeQ62lD/q61RddtRoApnaRiMhNtgeINEmJNt4zETt2rNqiQk2rEkG1MA6YpFSRa8FV7/qKBqKUFPbGvGq+x8D9tjPhb9tMIAkMFotAxxkJkaeTwOmtXl5GFVRVFH8F4wFjKNUGt9jtcYFRCBbjtF5FoJVsKF4JVuJRNZVV0Fpwe3iYqP5DMFmJOeaMod5Wh5m1NigkSUFq1oioaeNB40Fujgv5F5P5wYFo15aeF3v50YwWMFYxeHKWSgF28R2SxQ6qQz5/KWk8Ap/Ceyl+wFvDtY0k72apveAttMiCzYSwttEGuoN4tGqwTt7sBnE+Sf5V914Jg7q+CgRcyhWvF+iWr4FfIi5LmHotTm4OIF/KFeIFAwF8FF6v5tTtpEFzBCpMJGqmy4lNdgBYknvNG4tEHCCYuGy1TwWBT8F4xsLtWC6VwWR08GQNCll7wWCMAfm+3BNbwW8mNHwW7j1GJ0G+s2YWVHguYWiYtfx2lllillrbl7nM0fN6vq7CNI4eXcqhFkq48hLtLUAxLtSTRK+1ZLt6LtBAWFtG6GVZtk3oxxvUYZBvtgZmAU5lFDaSs1pEaylgySMQzliM29kIIUQGkYSn0b7wWSkeXm3Q8NI4qQBCHqmuN5LASrcWK4d8O4NktLtb566zlChF3jtNPQNPEyM8oBcUhNbgQGqmkAUu2t8OAfltx/ZC5tg4tx/Zt3cY6imGoS1Cx2WW/FzRVWm0LwwbmsBDGl3k8ZMpNs9QWtP2kSQk6VRYMfpoqRtPexb9aaqNASmbWouJ8eaUhsafF5v14qgaV6YVuqquZf3sIf0DcsnAcLgA1Acj3scKA9Acr3s73sn3s2VM23sUqUu3s+KNR3svuqRKNIFsJKN13sjsABBMOfsEcKBRVhUKrSqUDMHhqCxxknYXVRomsYVtBJ6p+xbVt1/ZgJ6vYAwCFIFcIQ58AAnMN1EFp+x+/ZIJ6HAg/OxIO5OsNqXqHWWO/F2yqQy097NNxxiJmIzmkRlyRq0Rl+jZLxmZTkSX5rK0mmajCFS+qLOkdaQ2mw4js99sR+8h7tQi8sa0IgtH8ERRtXZ8i/lCb8jXqdb6DPlMJtc7807c4X8F4AydFe7cEflTPllAVT7tI6gl/GmllJPlxQOPW8puOZAVhb8d/lJsCu+8Z7t+wWRltbqV+C68B0Zltn7tKCAs0tbR60/l7Ic2vlvwWW7OL9WPO5/3EhC1KmAzWsJ/c1nMq7hjTRPB62SVMhtQUM1tk7sIYHt6Zl5PebbiAvlzPlY7cOEm3cA51t4PETqkl48Iimms8uJtr48iExdtV07cXU0TER7vMAJOt5tojsir82s1Ac8W/l3L8QhUq8mz7BPHQW7OkqkU2lkmAUhtq0hEntcak+9AtjyGZRLtM6bAhoATQcGP1IWcWsUjN8YMkQWEGHt0pMnvw16Cml2ux4tXUfjU+IAGulsBqB48DhQH1AwsolntMTV6pByJef5FMp4rQqQ1wiB8XZkpfF5LoiD4wxAYdOrYgUsoEngant4FuWPN1JhzntotAQQs9OkbmABiEChyyTY2PQafVTntdLcgAwEck2CMBZlL88antB2VBBcyeOIRU1OVYfCy0CtKA5rMy9BLF6QEAM9OV4QzmUFZAwoezZYpZAadUP/kZXtBZB448vJNTMIubih6gHU4woe/R6ST4Gzw+ZQxvU5ag5XtNXtzt0GxhLXtIL09bca3Mhk2hhkuFALYgKBegeQZt6EsUwMW7GkVk8hD1RAIgskE0k0YNN30fq0DmQEURCGVKG0Z5twaYKG0ZiA3rxMZc0RNCCUChywmgxigE3lWL8vRGM3tUqkDSAleWeXtTV6Y9excurYNvdl5AEGeATvAR20COlsMQ+s45ZkU9lspWleks36up1coCo0klPEd9cYEICjKM3t+vA6XcMZBY+sD3txRikLMkie4TRsMAhXt+QQJrgYbQ6XcsrkiZ6SE1N04e6NMNg3x1Kds8nAc3t1881ckMtIK3t+oAuPtz8Qp78G3tY6A/ks23tBZl7U0DzehoAKWYPJtA88Alk61AieW1M8ol1CloxJQnl86CA1mApUA9QAzp1geYo1gFyUYOAqPtSWe3NkxogFtkEJsBgMsHYZvMfV88OAtahNh88oAbPtg9qhEUeg8gT6xr8bhkgZkHnEj3t3+ACvtoUaOsksUanLUFyUzbNVOA/D+n+A018YdksUaiVYCesGIAKRuz8CXY8CI8CGAIyEUqkJoC8oChdgcCUq/gFaMbqUkvEWuAO9kBkIxTqjnQS8ME94l5QuQNgBAUuAWfGOcQU54E4qgOAcRe7sQCIUwkBdxO4kBnl4/EAX3tOYS+T1rPgX3ty/EaXty3c16CdygtvtQQI7+IckmBwwgKAvFA28QEftzXQXvter5QEGTDgE0kmxAtvtT0kOIWPqQYOMmuA25c0WA3f8WzGFaMqoALUAb3tsNoFxYbP1/vt3lJAftynFGxA2nInGMBusLUAlekCIUOGAnft3R0l5Q7zN4kB5ZJPYAUVY/1wE0kV2kaJWo8Q/fmFdoyRAovNgT6TRtDcQK/tXKqk78DcQc0hz8Q0WEmxAuFArVAXICsI06oCUvGFigzaYGIAB/gSow1vtdygUmAjOGZIA0kggKAjOGPfM28QO/g/w07+IZOMaY8m58yC6TbIpKMrvtpEUDe8BwwE58jOGItogQAHF858UZkBPJQjlozwMxgQaft9vMo7Qr7E178pUQTvtqVkhG03Ya2PEd/t1O4dToK9lPvtlsIduC/78rOAqO8gKAZdlfKEG31xfsX/U/NSsTkqjwUaAEmaxGol5QL/tVakTAdNbh1xOuUk7oAjOGnd8Ma8KVEZB6rVkj/ckJt3L8zPEm/t4PtAzKgFQqoAzaYGZUmpQcgiwRewLlV5sqO8UmAUMEiR6DvtO7lH6+YHAX8U2iUgSqagA0gdYrgE58UMEOTUEAdQi861A2gdM0CUcQh/5kZk2TQpgdZUg1O88dgIAAX/tySIUMEVgd2HJtgd28QgKADgdNMIX/t6SIJgiasczekuQizEGAds3f8/9kpICuntTvEQhgFtyqi4pASiYAvHMjqioL8KYMoZaYOEW+AYnAtg0G7lXMl2XtLH8M3crgsrAQ+hVyahyRhE7Vx3My76B4UH0C1chq8wC2+BbFZD1kEAPoKN4koB87yktJwOWYWeO2AdBW8E7omMtwGNag4vL8FuaD4Qg0MoP6T0kQm8udwhC8VCyBIa0cwXQw5a8O7Q6JcDehR7FrbF8N8UG85AE7Dk6bQgEgaHcnHMuDuEC8G817Z8348QPtGU800AHGUawdX++pv0IgdwsAVj1PqAUPtyt4sPtHYQ8Pt4pMOWAoEmn0cLme5uVWeObcMP3tpUQ0VgWeOsq8Ma8fKM1uV70ApVgvsGHCWT0kIOso8QLgcz+ocRhpJUXwdDq1cCkOtWm58dR5AoUo8Qvyo6GUPglRkA8hBe6NnKQOtWW14SLoEWuE0+lwUDntrwdsM46wdnUAy3AbIc6LEvHMOwdZBkic2e/t9MCkD0GCkRwddvMiJ40PCX38hwUvgc93t+G4eAtf/EdC8YxkuNhOwde/m7oWo161mkI54NUAYr6B1tBXZthNhhkv2sh4wpxFNREXXMxuRx482qkSwCi6I88JVpC+s4d58vLAfuYgTwrQAHsMgBA1d1mu8s36yodfGaT+lflafFy2cieFAzyJdtUFwkk4g3AoSXtaPAjwkBodNnM2Oso6AMbMkptW3tKNCxod0ZcpodBj8Ot0gqiVodFH88piuEYDodrsACBSzod8Lx8piC05rpSjNy096rRAd8AFgAwxsZVt4XmOmMgYd2AAU/4IYdyg62/gstlp5tp78EYdRgg6AAUYdGhAoYdPwWF9s+0URod2/g598ImMxF8ofabGsFgANNA2VAF258kaSXtiYdU/4RYdKAAMYdUOYfNlqtlBYdyYdYlAlYdJYdgi+GYdQTUwtl7YdU0QUOYP9s5oCjuM+YdQYd2asGhAthCbR6SXt4YdSuAkYdYlAwxsQ4dbAa2YdstlAeMiYdFgAKYd5LobR6GYd1D87YdWYdXYduYdAeMfYdVSEVVwE0+w4da4d7Yd5YdE4dFogqhumQmM4dfNlw209YdKYde4d8kaGYdX/gI4dB4dnYdOYdOmMU0AfmM24dSYdsNQWdwuIa2/gOcMIAAntMdJoY4dah4YlAn4dyQG8cAUsMf4dgaVgEdC4dwEdJYS+dqO/gCOAof1A4AcRN84dMq2yg6aJUadU+2An20vuYRvZRrUbGsU/4aWSMYdnIwR5xUOY8BZ2Edj4k/Yd+EdUYgaEdnIwluYREdxodYnMmEdeVkOmMILxyB8FYgBiEjEdwXEL4dEsUE3lUEdq5QBgC1YdMsAM4d/pW5Ed44d8ZA/EdPAV/9slqk3mAmTgKEdFYd4kdt4dYnM/9sgkdJEdGxu06VntgFYgykdz4dPYdmTg/MU74dFgA1euuIa9rlB4dUd4ZYdgEdU/4Bkd04dSkA9rlUkdHgVSkArQAjl8RvZmBcskdYlAFkdLYdDEdrWspZlBTkNWJ6FozEddv1ZdAeQ6ISMI6UMtlKS8bERgUdZiEDaqXrMekddLQ91wVYduIa6EdtEdNPQxdAJEd3YMzEdEsUIAAFGAdRsqUd5UZoZMCIUR4dV9QLJQsUdty1NEdUFeiUdc7ROVhILxOmMoZMGUdtDAzEdeISOUdNKMzkd+Ud+V8zYd5sm8UdJUdwtwl3QGYdyUdTR8OEdVUd7u02EdMPxwBiDrlrEdHEdPUdMilfUdPJIA0dJnxerAoZMpKqOVqnS8/YdjhE71I34dAAicYdeUdS0d/ZAjOGV4dLkdIIBoEdipMikd2/gE1AAmalUdrEdD58E1AgUd01giyemmaA0VF1t5ktwDRJR1ejGnsNX51tktvsNvR1JUuv51vL1tkWAF171tJsANwGLZWMUGvKxKqlyGxYr1CGFBqEMcNfktxnVINtgUt/R1OoRIUtOkYYUtkpOHauurVDnVsUtur1P9li0qzXcfsidUKK0q48iJOiuoetAEZ3ijsA3f1zNO4o+5pW/alqm0fx+X3WkZA2whXVWuwh6blaXFiuxl/ucbZenAUxG0QhADky7wMekbmNUb51MdUgheLG8QhKptuNhU9tWqwCQUs0FleNePl7YMeew38EWRAk6W318LEMjXs9sVyJOuAt87FPLAGusuIWoN44M5rqoSjQIqNmeox0cHAlBUAWKc3AlFH4siquwFosiT9+GSqwgln4gr5FRwA4glhqA+0gNHSejk+A6nwEX5UFpx/hg/6cr0SClA6gl36A0oAbsdusiQe0cvWDgl/1AGY5NtgdQq3qi4zgXc02BSnucOAic80JAs4tyNOYrmorug3G424gUgle+4G24s4gcglo9gCEg7pqLh4ZqW46avfJ9z4iQljy4OglFS5XXg0qgRXApNJkPJjQiPrp5rpJXJOgpTVi3npBgpvkpWgplrp53JFgpAPJ0bppcpPgpQbpGrpWHphnxsbpjnp6vJWOJsMZxHxLEJ7WJNDJKbxamJJCpwnxkNyauJFAQnZZc8d0maPgJM8d+iJPgJi8dCcZk8djZZjZZu4skPJUBIGUp2qpQBiHbpfFyBKJn2Jn/xcgJjdcFQJBGaZ+ijBJSKaF8dbWJyjxZnpKFpbMUWK4w+JBKJz8dBnp+Gaz/xZ8dl8d0UJ18dhfJ2fxpqaWDxNqaLeJCAQNbQWQlCQlcB4DQlyoiWsdHXBoqN7AlbmoEZABsdD5s+YFaJ8FZVKdSZsdyCqFsdogl1sd0lyaglOcdIhSODxV8ZpQlScdql6KcdTaCRj8I9gJ+4icdOzA6W4xYwWf8R0Qp1IRURNQCjmCsuoZXxwCAdy4TCdaPALCd5glbNp3HMZOsFdyA64chs2XRbsABcdR64ZcdCrplcdmNZBrp7npdcducJJrpQz4mipxgpzcdOrpO1sbcdfrpvgpsbp6HpwbpPcdAmancdcbpZ3J4AZQ8d1rxOuiQwJkOY0maS8dk8dnZZ7cpa8d88dU8dnZZHuME8dtidq8dE8dG8dK8dkmJ28d2AQu8dfmm3jpznUh8dfyax8deQJ58dH8dF8dxVJASd63x/8J98dzfxXtgT8dWYJfBp0Sdp8dBGaP8dC4pV8d78doSdd8dACdCViQCdLDAANs9Cdccd7cCPC5XXgmdKi6eXKcESCojg0qgKSiEYwXgAMgAZIAe+JASJtaSYUoASJrqJG+JTLx8/mwBiMiAwid9KAZcdxjpuTpDKJlya+Tp84JZzxljpecpbWJaTJJnxKumpTp3cpTnpZcp5Tpp1i8QpTjpVTpVcp6tJNTpmSdbrxiVJcvx2YJV5COqaCOpxqaRNZ47xQQQkyagIJaaaqipifx/7i96aOKa2dy+wJCwZqgQv1Zs0ppaa2QJreZyviyfxz+Jc/x66Jurx8rxhydTOpjJZ0rxDAJIYQsKamyd2DoMeJ804QQQ1kM+ydAma4iprcJxydCgi9yZEMJ8MJiwpmUp6pKfgJsLx76aPgJYhK8GaM1JLKakoJ4KdbfxbydWSdfs4DU2GoIeSdP60Kqyry4mPKxyC2QAY/i5SdBKZxtlAOJAap27pSnxpDARZpCGaHCp9qoq0grSd4CdNtgOGAjQlPHI/eVRywVRQ3mkB6laTQH84guMrFNXRsqvWr9VpaVvMV1BNXwawsVWnli5Atgl96pWnlKkgdglxT4MuWUOCKp1rG8Zu69W8aMVDHlMqd1AUcqdDHlCqd96pWKV92ko+lyqdIKcda8QMVzWakaW1SC+ECHCCyDFxeh3xk5Cx5smVsRiuUin6ZmAhqdvyoDzksCCS1uqQ1t2NVl1J8o/b5Mz16HUjMcxCc8z1okCyZguVNEYADHlIiCtqdmJMTjsJPai2huBNmc8xJqGPK2A8wV6JQ+U0QOGCYpB2xUlVBekY5KCHNg1qdLt8kjw3w6DzI1F1RURtqdWOqb9N4nwAUQDbkySCSO85aVr2IEI2Zm0MFhh6GBTgKihPf6/MdB/ap6G88kJMdPvKSHQN2AgPIXC4cBFHCk04ua9R+8CTv8BadulmzQAdDAk6dk6d6q0l7xEQg7KVJ7FMtVbWNK1lOplN9VZF8K1lPYAh0VioWR15bycyURqpsKQhaax1vU3AosuofZUnIxdyNkGc/OsBiE56dP7Ugn5k60i/Bx2ke6d0JAHUNyFUT6cN9V9d8w1GwHlyGquK6Kq8+j4uA43BAEmtOIAXjhqvWp2EWsWK/WSlkpyVMelvQaUCaDTu+RArXAEHuKMFrWBlbhYUeSScOu05oh6aWUmCowA6da2Gt9Ugqjk7R2lqeKckNSC9p+ZNNAs1JadNOYZadijinwFFAWxvMJPMw11WjQOrFRcNeqNTqN+P4LqN2EiikeCBam4gDxNSaqId1NJUJVqQ5EzmU5UWHvaE11VGdaxAmzw/NqY11jD4Q11wmddvab6cQay+boXVw4i4Go5vrGLZwd4wfgsfGdIiQH4wEadzo8JcWiUgEQseeVHYwY5M2eOickNadVoAm1krASO+2wXgB6cNg1/KdWFwGqEUgpFUkeqEK2lrAYpUk/8hLB2JCwUbB/IUlqGASGWYgiCko3ks6V535/6kcBgrM2WjVuZ5LfNTLF6B+8xMsf834UQ+u2ZpgJ4BoM3gRowBYpB+8Y0mUIpBSYgjoW41BCDFxIAYMVfaGZSywYEBQCRQCaLxAY6fBUYpBgPphWdCWdG51BJUL1mKn8xk+gtBzo8vcu0ad6klbt8gM8bYd2WdNxc3VBxjFV6GyZx5GdmkKL842f8j38OBkHsAt6Vt1Qea8YqdEWVL+NkqdhHFpycUkRJKCY6djQefd8DsdAhhF2g0yM3w62NataGueNr0V4fNmx0Zv8pchLfYhrQe28HbFea8QMVQD1s+gn5GjkVtu0jiCej1M2dln+c2dxVNtJmS2drs2K2d3w6u2dea8PbFi4kQyY48FJ8FZ34HQI/6dKV4gGdKzRvgIyMaqWVM/k7mdIIt68m3d5Uc+uWkIqdw2dbmVJHFqWeBptRI1J4mrhUnec341FBt6ZOZe1rYNWmwzzstcCwEgXjhjTC2rAFs43bGesiqrCSdcDhZBOdROduRNascVDkTpxsUa0qg+OdJwmlOd3bGZtkuOdJOddOd5CuxRNAglVOdhOdxI2qoEndkNOdVOduOdDOdqrCDhZSdcAud/KAwudxRNQwUvOdYudDTCgudVAS5OdfE8uOdOmCwBk4LUijoEKkN0V+/ig0VMmcXiNqqdoyIVqkda8kWVGd+A6qnoh+Um731qMAs1tvlRfKE8SAMzqAVB3H4wWAgyMQ4MJEAgyMCjsCzqnG8HgMQTWiOIHcO75U76Gg3+8MaKOdEh8rQ89y4+WMIXaPudV4m/F85n1vaIIsmWOdgX2xsdAkBXOdDpIMkNqrCtOduJ8V4BrOduJ8bKg99uBig5cNmedZcNogAVOdD6N3bGsPscud7bCeedJwmBeduedUC0sedmQgn3A6edNQAWedmediedascbSAKLhVOdQNQ1edtedmedOed3bGfUwzed7OdnedKedascy5QhedqoEaKgTed3bGLedTsAGedbedZcN9edfE8HYwI+dJwmpTYredk+dpcNHedJwmmwwFed9FY/KA3bGa+dVOd8Swg+dDpIs+dfedfE8Be0i+dS+d0+d7bC9y4c+duJ88edoqgS+dy+dVOd0tNVOd2I2e+dmQgD+d3bGT+d9+dMedj+dLkNSudS/kKud5y1u080587OUec4eHgec4a4Qec42U0348yOCc0ipACQzwP6VUqdnlWJACSrwYh+9plGud76cnecKp1klQMBdSO8+2dCW4PbF65YUBd3lqk2NowQ66lboWJ38v20xrFHyV9S8KICHmwD5AAcgOxAzo8Kul4NAABdNBd9wkxy8ETllmwLBdgYcpgtwMgqh1melg7FvUkMl1MJQ8l1nelg7F5aIyl1C7F6qdal12FWrJass+KBqbhlj7OTck+3gnhVPoWd9lkB60AN74mGH1ndkoAalwdJs86UV/b1M7hfSgeOCHI4SOINwGo0Vy1GaUZWRRZF1Yfm3IWjDp7wgSP8dyBqB66hdByVgWOndktNUcPVz+Yic1IDwIFV6XAcykqPVbC0CjsXkIncqJGwhnoP8kMWdQ64HwlTBdi4Ca4B4OsO7Q/u1O7QWU0ec45u1coAphdLd4IboIbq7cCXWdGRA1hdh062iA5SVWQA9H1cdVtNUTH1p7hOVBt6w0oY3H4auAEoYQ4MCTlpUR+OAEoYCzl21AaWdgSCCDFzmA5aIWWdYiCag4oRdUdpgJ4OFAmP1qt11FBu01IRdEiCfWCjplDHlV1BNfMH415MkXKCq9e/yIkxdy9Ed8QnLU8JNShkvmMCaOI+6GgM3wM4/M/51trUSYWFn1AdwVTlNUAO20CEBoSk/B6zt0twAX2WBF6X0dO20M4adTqmOAOudYPM7mCciG8MAMyl+ca9+gJ2dsTebzkzOCocGKRdAHqrHlwEathdRhliHkWBdda8D0VCW45aVdxd+FwsH4/6l2FlnzqUUax6hXCgnBk0GYBrhFds2lqLNgyRNzrhl/EGN27bwy8+W8+kahss1pHeNs6FTlAsd2mlg1W8WNDDt88A02uenAF6+fE+hnUhOqyJNtSoe9Eszo9Ee5GV0Ds2sdA3C5zC4qNM2aUqNECCUoY6yNjwskiwOdYQ76RUmTb6KA6HVVSE4KBqMKV4C15OqVzlK01EVBX5OX003H4OM05DcooxFQ0tGqzm+D1RoZMUxuPeWMxuhUAcxuHAAGc83BgSN8+ctAOS0HU6NsqpdApN7HgAJ8fXCqc+sxuDTg+pd6lhEN8RpdeIWid13KgMc1zm+40muCAlpdsruga22pd6c+TIAdpdS1gQvMPqcLuArpdAAB0A4GpdVpdWpdac+upd7vM+ctN14LRYMgU7OUVvUXttuv1mpdJQAPpd0Zd/pdpyAhpd5lgxpdQCNiOdqIgnpdyoc3pdUZdtpd+ct2Zd3BgW+Nr+g1SCkPZKyZDpdZMIdZdMpgqd4/8yqZdaAA6ZdpZdZMILZd2tAJZdfpd+ctY0ckigxohdY+VeQzFRHYi4+qQ3gS6ImzCUaAEDAuUkkRwFiCx5qd5WY7Om056EMbZG5nhyJd5wBZMIrASKrQFN4P3OgWhEJANN415Y9h1oplGIQCJkCAOmbWBJd5h1RmlqalJJdx3VjJtexIDSeFAU5QwAuw19AXKdUleuBeBEAOOARowwvBq5dIj213WlBAUklRownDl0PVNieZs2zuNuSV6XAwmMSsR+OU5DcLV6yfWBBCdOVQltHjq2Ei5F8RFxtplFYW2UNHUccOElWgJTZ/msvvMyB8TJ4+9m4ZdXpd1pdOpdGc+kPqg5M6zqAtqYd4GleBFdRZdRFdvpdHAAlqdBGd/oe/8y0VQnZdbZd8xuLFdEZdaZd3ZdHAAfZdZ5dv4hOmeFxk/JlX+CJ71WQA/g4rJdQbhattLpumQM971fPYQ3BXU2NtlBn1Saqzm+RiImaqOYhaVqB8wrqgRTwbts7QAhZdn94xZdNpdfpdHVQ+jsTT+2lqXD8TkY6NsOldrFd3Fd7vMRldGusrASpld1DyvBd1Bhx8NLohBEmuF8g9qRTw58NUGdIfaBSy8ZdmRQWld6klnldaplr6o+58wx+1u1q6CRtsdRcHz+AmUZmdYh+MVd5ohkh+rldr6dZmdS6d75YHYmUklWs0qP1MWqMqQtNUAAMpURxLl568OxAo8Sro0OLlOuAx1AAVdhxBO/gDpNiCAuldKc+kZdBldepdyKw8M4xNVhhkQVdVWNO/g9dllMgtVdTiBbFdjVdbAiqU8MjAaZiUHSuAiPiqn9eQ7OmEOyggO/gGZA/NqJQMKeq1FdeldtFdGZdzc1PyIMAWs1d1ON81ddVdXFdDVdNldws0fqchsMS4GdGI3Vd+ldxFdhldu1dcoxEeMc1dR1di1dtpdMgIQ9kKyZ2U0y/kj6dv0aO/gaKgIuVItoVld21d3r0x+sMMAO/gQNQ5H171dnFdrZd1ldbAi31dTkYjust+sDjqbZghaQd1dlqZV0a2hhoVdmRQgGU0h+1+aMXQokkr1aRkAZIGRikzkATFddoYr1agwNkkmzZebQN5FtfldZ7Smww9Fij1dkVd2psHz+xc0lFdNwBG1dPVdwNdxldvQa2lqJzM9ldplqg5MtNdTwB9Ndx1ddFdf9ydldX5dn+mJldplqSVd58CQtdIj2LohJVqYtdEgU1+mJ2mSWmeBmD+mAWmIBmL+m8GO7+mQxmUBm0WmsWmPRm8tdaWmwBm/BmKtdEBmH+mX+mMBmtlc5wApWmstdG2miBmfWmrBmKnZE4gOKRspRdRmltduBm3mm+Bm8GOqiRq5AOjxpBmmiRrhm2iRlBmc2meiRl+AtBmCGOxiR7WmQemnmmJm622moBm8GOHBm9td5td3Bmy45V2m+7ut2mIddf+mCO4eHAT2mohmRtE4hmn2m1dI0hmstMf2mgNMChms4swOmKhmKXuahmGhmMOm2hmCOmmqthCRaOmUNuWU5wDiZhmPtdt5A1zojOm1hmLOmm0g5OmDhmfHZmnZZtijddURmzddHhmd8AXhmKGOUP0hmOfhmZBmARmTddZdW0eghMKVicAumfmQYYxfddM2mnU6kum3hm822KpscumyRmMr4qRmeRm6Rm6umpbAWumORmyum+RmZdAhRmuisxRmZum//gFumFRmgFiVRmtumtRmsdd9RmjRmvem/em6tA+BmPumnRm0+J3Q6dRmIemlHAHmm3ddgxmyGOwxm2emoxmCemExmeX2BX2pKFWemOemp3sAeq+em0LxqxmrH2mpRmxm5emY451em+xmdemDemxxmzemP4+dRmn+woKU2embQAjVssoi5MBMKURtEfyUv24+7ukK8SnweDMmNcfHAFkA1/oUOqs3Wf+czmAnhkwC6fYs/FdOiCHCC4y5hGixGivc0eURgJccCUmc8njuXQuKPeVKe6AYV1d9VdJ1dHAAP3ESTeeFdVFdkjdW1d0jdndkNs6oNN3Nd11d8xuNs6ppNf+cijdQNd21dFmdcdBEzaqA4ChtJZtJ0kYsAVlAzmVQ2dDUNO7qAiCVqdJNdsMVYjd35m4h+nNdp1FrSCUkROBAexKaj8B+ipk0SrclodrhNOahHNI+ECnjukosqBdF6dxxcvE0EyCyNs0VQ/jdlah5YYXDd46dhGcdRs+rAeui7Wi+gMZGCM64wTdHLlEGcw0VMeBmyCLjuZqdjxdANgpACuXUk3Yp8+8NQgpFA6qMKV9M1OjqWEAyYaHCVdj8EjlNvwATsiFAyKCkPqn3A5Fd8jdNwBX1RbSA6URFFdVKezmcQh8f1d661DacdkomQM1UADh8+zGitVhmdT5alaW17SOU0y/ko8SnLlMNdPK539s/0IARe6fApikuTds5d+fV34E9eVJOA4mVHmwvnc4uAM68I2d7GVY2dQsVhHFqMVwHFz2d6qdHmVz6VXmVECARTdKfCF5QoQAZTd4WOESVv5dS6VnsFnINNieueRPINIE1KbREE1Xx8L00Q4M5ik6AMkQYOVqLjdcd4nhkrN0o1gkLd/TdNREKngSM4wzdYN1I7M0qk9dlHoNBiEbQ8R/C2HltPN126kreQYGzMAvJlji6gld94hiVYzmANEB3cGVIxG21h5dKJNO0eEJaRjI04QDpNDoNWLdpGI8YNZ3t3FYOLd+zGpGIaYNa4UbgBAdsyzdMgUu66Cjew5dmvYqwhSMF06MhLdyctJLdXuNLsQDaq0+AWuAcIxYqNAEOspWETwXJd8ldjv1X7lZpdBc2bwM2rdzCcqYWypWgSNmrgchccEAsZcr+aLPMMilMf1BsFNUFETw6Nsprd1rdFrdNUd4f1DrdXpQNJQ9jdRaQBplumeWPeIkAsy2ocyLrdPxo/rdWre1plU2NMWU7LdxuR9plMWUvLdbrdizdBKVOuAyRAqNhvQacf1z4Y7rdt/CPiqN10ayGnl4NJQ6TAY52UHSCcRPrdCNdZ7S1CVNUAwblnzdpgEqkBeBRxf2DektNUdUB4Ld661xBRCjsvwGsLddbd568ObdKyZjgiPiq/BFsy2KdWEQguwinrdvbdkh+rsgYkBa6dONdtAEPF81UFLPMz8QY7d5rdMb+390lNdqpsdxOZAifbdtrdh8NETwBPMy7dIjiQHCBbdsMVEblv/Nz1hS8068yZj1kkmRNdquOKbd6wmqd1E5dVqC1adWyCykmnLYezd/05EE0eh4Znt6SRjtmbaQVk+NGhOJd6HRZzlYS+VgAnMs00mN4mIx0T5sS0+2Og9m2jtmju02KhaTARzdy/kgHdT7dIHddZmu/An50BeY72dYKAv6dX2d4hQl8FQGdmO68xA02VKFcFx1EixlZ0sCC0vamSgy/8ScCa9wrFcQSCG667oo3xdDXk1zkjFaiyChWCx6CZCCpWCjE6N5tfLqsCCg7apupJylMkeBN6lTdS6V1TdTmOdTdZ61fEe7qO0GE3H4LTdQ4MkPqQzdkzd4ZWOFQK2qUEwKzqkbds71ZGlnJlame3s24UgwH1AldXuNbwAJ/R6VdUIcvfIbENOjqGModTkXEN1+ePENwc2PEN3H45aIWcGQ4MZvo1xYzJlYu1Yplg0e/5c0nQATA3r0wzdVkNrndX1RN04nLU+zGdkNbAixTkHPE7nd40mgZMvndG91sMwyZYM/cZzl1lthhkZjdgAGkYVbNcIFe0+AMYVi6CvjCbAlGLgUuAxvClekYOxFUIYFVemCppRxclxwwYCRYeo1Rwh4wBx6g2dpcCdGgWMVKq8wIGua4ntKRmEaRVL0xw9t+Ego5VuY+Lgt7MVkWVFzdqqCL8ApACQkBv7RcZgeFkMylGUYuOADIUvdlLF1wIAbFNkKgXEAFd1qXBZ5VzGCldyYs6yiAuJ85Ld3u+6Gd9mCKqy83dioG5LdUqkOXd0FVy2CxFKGZxp51+uqW3dK3dDx2U7S4wEUHStu2BCk6+dC98W3B5RNJwmtrU6+d8SwVOdKLhQDuuQiSGdOftM68OBddGgeBdlsAud14UgFTlXXZyXd4ldr6C6XdK5VY/G9GwQTcU1+rsgx3d6eQri4oBU20gffmK4GOuA5yRfIwrAlalN0CgGXdqS4OcA/eAMA0F/wBCkETw0PdLegY1hiaQ23dP6Cc51iud+PdM3d+mCly5xBAFPdUFVP6CzxxKzRj8N36sK0mume0Pd7x2C3dW22coxzPdD2srsgSGdmwYOuAgBAHL08uoqPdMCdaXdNFQoPdIfpCpWtndSJNm21IZBg0eSiA2fZlVASkAHvAeheB4m8bdyvdM+etdevrdlPdhPd9FGrVhEomJPdcGCF6c8Qi6VhBvd0PdnWCdlFs1h+bd0PdDPduJ8vd1o481vdlPd7PdioGnd1sNsjvddPdcGC63doz4x1JhXdnywuUdviASiAPXdlsAmxAQvdUZoQPdSWC4vd8gAmXd9LcxewzwYhvdGGCrepNlpcPdKzRQ3i+SOOuArVAmcBu6443dduC0PdXCd+3dqS47W6MopwOlC4m7YmfXdRnIg3ddGIE3dtf1Npgufdw2C63dsiq7aYCCklPdDmC9fduJ87aYFtslPdKSiZ3dKyZF3dBskV3dl3d59Szfi3bG93dO+dh+d7bCz3dt1q9fNNax72qrxdpaqO7F2EC0jFRBAVjQtaG0iCzfdhKd0tAIuh75J/FovvdcKwdgRBXdSGdTftr3dWCRDaqBTdune7oY8RR/QwAfdGhYGKNpLslsAhkGmfdetAbFNcZWbqd+AYi5A4Ygjfs4tAFfdx2kKPdqlNovdnNQIPdUfdTsAMfdhBwl4A/EA+BqtfdLGCrfdasc6d41kG8fdq3dkbyUA9fE8MA9sA90PdXfd9+253dWiql3dVOd13dZRNQ/dd3dY/dqoEj3d3bGE/d28Q4A9lPdKmC29V2GCOuAWReofdgTo0CdOsdW6CAA9mXdqWC8veczszTFCUkYcWwV6aMAjmm2FA5OFeJBwadjDFj0IZeNg3A4ad0+Av0A1wAZA9HvdymCoXie51s52YiCsadRPaXRe7A9hGhOHEq64SaduVNKadjDFRKIQJme0oEGA45YP/drZQaPdTA976CPvW+sdcA9c662OoZZxW8wsu+G5VFA9mRdTlWNg9YGCKWoryVpA9O/dQk4FlgDYg5vd4nwNzhtaGijong9a/d2Oo9g9vkA/g9Ug9e5Qzg9GBd+BqSGdBPq+/d27NpCA6AYda8dadlSYTeN1x2+2sb6c9/Jwpta6dLblFMdenl6MMkfNv20Yigg2MB4E7tKsiqUc+bQx45Y9ZV9lFfE8CMI8LCGWuODWgPd9A9bJdomCxg9tUgLBAXVhjWMabioFA+g9wvdv/dDA9TQ9kfdmXdyQOhkk5g9m5VZh4xYgoQ21oxww9zvd4w9rahbPdtWx4Od4pVmBdbg9pCASY6QRest03vAVdgDEG6HAtA9/PFJLuqXd//d/Q9ZBWdGgRRgApesw94WgdlFtu2WqkPBUUc+Qsd9u5JsdNtgt1kww9tHMjsADIUJw9lPdtvdKpcRN1jg9uXdB51ioGNoc0SAcPwowNmcgrAMcs+XpQd7FDhgpUQAI9oI9ju+H2if0cEI9fA0owNlJW9q4a3Yrw9oQ9J3dYCyvOm68ypvRgI9gYcz+dnp+oI9JWUNWSWRNJwmgmw6+dDnQce+HJGXQ9YfdDQ9Qbh6PdEvdMfdmJYSGdkpeqA4ww9aA9ij1MgUvfd5tR2A9A/dFiKmRQw/dBA9DpIRA9JwmJA90N4Sw9SwNF1ELOokyIvqGeLdevEP6dn2dGRVP2dV2af2dOdex4M7+YZHST/dSNA2w9KXdRg9Bw9t5J+Q4iKg9lgSyR5A9dfdDx4UOoSedWqkho9qI9jCdiA9RedSo8Fo9S2CrI9WRNmA9ffdXI9ffdg/dgpAfI9D3d/I9mQgwo9ymdtkl6mguqNNoETGdDv2Lm4TGNs1pOW+f0KHDQwVGUS2kmdVi+ImdFpl4mdzT4MY93vaomd48CrwAOKGLskYGduDa2GdPimEx2K1G0Y9QmdsY9dvag/G0m5zsArq6SY9xvMbegyqWSW620FUMNI+6j4EXUA3lg0clkYM3lgrtEcyQmo94fdjA9Oo9C62CkgOrFgh4GeAxC0z+oMyQww9hPdioG4iQ28QQ490Pdc51siq3lgCTsWqkE49zfd7NKli6qldvGgJBac49Xw9O3d6FSpo9W227JNcdRBjpjw93g9HA02ade49qA9aYy4rQXk5x49Ro9Rhoq0cnIqr2KGTclAAGV5YTA649P6CPrKikksTlT49cGCcK4ZMACK4Jy40IWq66s2AK3wodK3WC7I8SGdMyQpoAR/dZB4nywL1AvUESNA9mdRqEdRkkwIjWgdyGdqULg9W35p4kvrAcUA4g6VeQFo9EBkNyGk/wSE9XRGV+10ERgeQubFlD149eWdlKpeRBd5E9sLEOrt+/+GH1IrhwqE361WWU/pB4Skw78h7F1O82Nlwusx2OeMAvqdTHuwcWiadxCcWmlgfe69aFjtLIiVTsWcAQYMWJlD7MzOM3+1n2CIVQv/k9WOIyGQRFEvszFl4IOjMC7wA9GmGpsMncu9E+6ksAkiZIXO+VbQR+mKiQ7wAwG80oaPl6+i4p+hjcCASA3vd/9kmikqrMWwGVHdJoYb8eJE9GpBH9F9nQaGlbpB49elk+jCgqCoFD1GpBreCux4X6aMZc9WdbAWoZa+mkHD16U1EVkPD1RPaeUASYALdqkU9UUA4xWhvC3rFbR6Tkx5P6zUYDpUY/6xKc8U9eDwPGlAhlZhdrIUK+A9wawXtH9F3oAsU9O0GvP42U9iU9NpIaadKU9m+4uU95U9Wf2g/6Y4A0GqUzSwV6UZaEOAwXthhw7joDk9LU9QzGu6qxU9WDFyYAcU9ok5wXtVU93eEUNItU9yvO7jovU9RPQml2vk9DntPk98GNfk9jqigU9qsdb5BV46/2oTqiOjAMHdhgSDVAGzR24gJYSvHM2U97DIHU9okdIEdik1JWoeWe7U1ufVwA8j51L+GeRIk78u/lgNlpRtrr8LsCqDwkGAvXMNVkFcGfU42w4xgA6fE2y8ks46s4Ky8Oy8XDKqf0ZoAwQVgM9xqoGLooZM6iged4qDWprts3lSVVPUkiM9x/Zbk6vgU+BxkQ5oO5Q/hLp6fS01xxLmSOpW2XqfTmpbVsgS59hHbVhOhgVGUYavIdORqHp6EiagSl6/hlL196FmtVdhNuXaUo8buCirNruqYIEOGiNzhMdM8FsYIENhAF6cqwARUs4rsMPd0G6LcWiagQWEcdI1RqsJmu1toX5J/hL1Fmma7HVR4t1oR/3GA7VXxlw7VGYVdGFSrWDGFW7FSNF+YVt4tqNF94t7GFBmVWNFf4uONFRzmlYV74t67VEyuab227VP4tNH6e7VTYVgEthb2/Rl7YVgxlGyuF7VXTwV7VfYV8iFuYR7NFCEtsxl2mFCxlpYR+mF6EtOH6RmFWEtotFeiF4tFuEt74VMDaBEtU72BnWREtIHVJEtXYRi72FnWlEtoKuHmFDnW8HVR4VhqiJ4VxHQZhG7nWLEtPiFbLmbxl0X6Hxlt4VQ7VvLmvEtWKu/EtttFAJlRHVQJl4rmIJlsSF4kt6JRKXWR4RHtFISUNKuaSFKfG8JliktjHVSJlzHVEEVqJlJMo5WFxSFz4R2ktkk9uktOJlSEVgnVDQGCdFhJlGH2zWFyeR1/V29MdE6TE52xNRHq+g+Io1aWBY++SBMsuxkmM9eN2TqkmMpXw1SCdeWsNdr9UsaozfibUAlU1fd8njuYzggCMm3U2ikh499OcEQgj89el68c+YB1hjdrxMtjtrBtSPeZ/Nwr1hyMQnNVRtInN1/NEjVwPAX8A9G4FyCOGUQQCjp8qf0XR868FladoiqtqdrxM9Tt34NzhNss+Y++KjVLfN05sRMe/3ALG8tqd3DdUEgiBS9Ziwa5qO+dSCluFb2+l2dB4E5+K6D5F+Kq+K+H8kocxLh52dHjd3eiDgQkeS6XUM4pzJI3WiRvgnFhT2+7jdSSykf0eWZF+KDtA3Wi4IwWO4GaQ361Mxmb5NATdV6gPLhAqNCPexb6/MBhUabRUMzdj0RUHS/oeJPuDqWAvu4yCaIAIiC0VQsi9sTdHNIEjk62NiI1+21vWNh212PVY0itWNmG1+w1B81tXuWPa2ue+stVURRxMcf6LdVr+FKi12+q/k8ro1MOOT2O7AWJk17q10io6tWEskj/1ingGlUoWMQPWVLdE9QfW1CXVALG66tEW1ECoHBlsfZTYWbaQCA0cadiHOI+BCdQqadEUIlW1C2NUeY38edW1i+Sl6tfEaLI1CgCT2tfse4sBlP+eS91W1BS9twgs3Vi+SgW+zi9KngES9ilUl0gsRUapNcY4gOA0QCrOszYYfqlN3VvI0pSFPS9T7OuF8A+oL24AGB2zdNj1KFco6d3DdSSyF/C6GaqTdt+I3WioIQYL4NMMnL8M4MfEadi9+81no5pW1Ri9ZMIldhymlJz2rM6lG+Fz2N3wE7dYbOozM8bOBF2cMFBc+Nhk+3gD5AbJqL8+LJQb8+yVNcrEY0eoJGlsAlndAM+qqebMknCgpphtj0XRhenEtLQhhknCgV+4gn6h4w5MFzIgJsmR20nCgeQAqoASwwJ20p1BLoedBAv1ks36HUktLQWOqQ3cKc5JgA3+AxEGrps4CCXU2SqQhkUY/iKG0fJs5tsPqQ/Ld+FRgwNKSo1bNUdgXOsfYAmxAtNh4tqC4AKS8q/NTMdiphYZij6o7faBIscEAuQNb8qJVVstt+OqafEAuYN2doGWpcGzNt3w6Zow4q91kFD7ZvUc64GsswAq997ZxUFUK4JuQN4cAkAp0iLPIBMiagAI5AwcAAvGiq9q05eehWukAcoE1d8kRRwoUMETftDYC1SCzgo52d+q9BQe1q9CPI86dZq9/ftFK9P89SlQxq9VdQnjuzTU5q9vkAlq9BGdDYC68yZDWKkVga9ci9nbeAGEqsmVFQyZls5MVSCBGdRC9BadMv+UC95yCtcC1gcVKB2PsREUrGMDdUA6Nc7C7cgwKCe0N8iB2t8BkInnABu8v9sLZwX4AGM+ha9YDs4wckvEwS1wKC9ZlQQIWKC5T8+KM0t2T7lbu+cM88Okrq9/9kjOGcyAqsmPiq5F8wa9xi9z5sXa9EEBoZMg69t010YG35mYewI69xNBJwtva9eq1LPABlMwa1w69wa1Y69tPuE69wa1nl4Xtls69DnQa4AG695W1k69J/a6fdEWC3TNWgg2Vk5q9C1gnzqfa9TmhKi27OosW+pve169+W+R1+HUklc+qlej69GleTE6y6IoJI7oAcgigO+rvsv6As0a/btRUCOK9y20H16aPWEAmZoBl+N5zs7KmzjQtA+/EAy6IFlgz6MyoAc5kna9myRbSRTC6XUBmikna9y20DIUPUYoFmcLgo1Af69iEe2G9njoqowgG9HmwCsWtquKG96eaqAgD41wmGD1INIhwiGCS9g9oxPCyS9eDNjrYbAdkNB1+kPwG5pW8Ma+YGmjQT6Y4ww0cwIG9Gq1Jze/h5h+qJmlDyVi1ubbRGG9Hmw9hezFlhG9e+B+zacm9rWeqAeK8edo1EEIuiUzJd62lKi9fHaL1a0hB7AWKm9K4102A/weMPaYG9YbunRhNDgcvVja1sd+WWtkcgov1LehhDBoCqZi9DuofwdfxxBEAZi9xfV1g1li93M1HoVjAC0a9p+c17SWi9XTdAW9XNdSeY9DgMXV7a9YTCUm9E947uAgVeSueoG9sP+S0GNUA5Dl7s2ZEVaTAA4QWRA4wwn2lwBq4OqDyVCpeKfMBpkMm9qIlj+qPpWVS9IhBB/al4AnpklpAYm9KDlKP+GNdL7m4VOsIA6G9PSA0m9/ICZ2w0+AAuAXReGJVBl5IUMp/t3P+9S18OO3jVD2IvjVbcQfwUl5Qjrlh8FXC1B8hdKGPLejSlX0dMY6GH1429YxA33ePLehGVwuNRUCiCAIf+OKAfwWvIh2NBpbdRJVzRVUO6hS4TTkCKVj5MSKVEUNj5MNslj5MCjs6ENAG89WOYrQLOqeONyF57zgNMNHBE7zgl4AS9AoZGqVMpjA3roeVMA5BGK9tdho+U908/+QGIAC29I8+z0a5p++EACLVs1x8MAohWYPqJsxqcV10tD2Ir4aBUkFoui75AUNjjRwzVA6U1TCJk2Js8nHNBcV3AE7rcaUNH29xdAL29GIQn29piAr29729329ZdAA18f297TgMu60FGkqg+noD06TEkLKB5iAZ/qyh8c0cZCVkC0kLVt0+Q/Ia/q2ucsaqJXwqnF+8eJPWWRezJ6c+V+Bg0JADYgw0wRxGD/udnFmtg8P6cW913e336jHQ0JASu9CV6pN6vm4mBlg3qbG9juWrPgvq9Ads9FGUHSL69XTdJu9wW9q6A/G9zZU9q9nNBCxeGT2t860SkvgNrSs5l2jjlW41EG2qR+SYYufu+sBFGAjOGe70skI5AEKG1haQlu9sI8XA2y1O0VetShvVALUocbMO69QFN1u9NC9g/k/UKGKGHYmkR2ckIUu4UO6ErwvS0kGAlzAAc8me9mll6HAWe9JjqOe9ZjqTgoADGfWC1aADYCDRRW2Chn8Q5Sfa95lg1qOxe9AjdYesoUBkTdFQ00VQNe9N0IDYC2pmNvAtrobAdVdgYuAWgNfe9wBkh+w5oC4jsZe4UcihsMYigzsMZiAkpeNi1RIAppgagNdm0Te9+i9gJcDnQ5e9Idule98no73IvgNx7N5EVVdg+DWwBkRJek+9lsM8+9cw8c+9VgN5E6LY2bu9gIsU9VtYwFyRDMm8/NiehHaQuu9n8g5NANxOeTdEzatyg6myx0Ar+9s5dQ2w7c+IS1EEACxNVpebMo1O41boHc+oMQgB9vOe7kAz+oSuV7pdTxAP1ldq4iPgZIBuQAgwM5kltLgUfYRmoFiUL1AOGASYAks4NiAGB9eB9OGAa4Ai/iH3AyQ9X7l0fYYRwSNAObM0fYOB993kGu4eH+ueQGKNQAhGfYRB9iFMXkwOKGzONIhqq7wrMAONQZkV3Vy/yIeWYmc8RK96i9FK9CDFYM0hqQpGd4N49u93G4IB9f+9E8+SRQE0AqbsyJw7mg7XW2aAPM9dPub5olmd8vA1mdkQdSrYv+9M8+A8+ct4q/NHr4HK9sh9P2QNMKUB9mvczgoCa9tkASa9FK9CaC0fYGfYMTICC9SwCx6gi+99xJQQaHe9madI25bgAJcdIh90J4VK9Xv4MC9Vh9ZyCNh9lmwOikawUrCgDh9t58DVAzh9+C8ilUbh9Bi9fh9mad4iQSR9M64AR9FGQFyC4R91h9QR9UgIcKCNWA5nQFrlDHlwKCL1AHsMuQAHmAdTkbh9xR9EDNDzqsA84R9+a9JR9kdx40dFK99R9BR94R9zo8VK95KCbZqMh9+h9xLeRWRhY+qbsEtAB4EyGgKh9p0Aah9w8cV3QNCAgAA1WSAADwf87AIgYaqBFpAGofVzTtE8CuJEd2QZqoQNBMfe8AIAALwbgAAJTtzH1X34B5JFexEGpx77IQhDH24nwasBgQK4nzeWBkKrTj3ruRibZfwB+yQuTjfOlmIC34g2JBlH1fbQ9+nOCixK4lxagT2OdCPEilL7fMwVyGTBH41Q8nQBTZ6gCAn2cEEjpqp0xDCKxhkUlDeYAG7iP4zFTaZ+BvpyFkyvh2T3gE6Con0JQA3E44oBj26cIDBH3QL22H3Yn1IgCeO5p4BJ5gtpGB9224zR70hr0Ur3nZ2NwKx71Ur3nZ0pH2eH1pH1OzCx70cIJMn33z0RCCkn0/ADFTYaFiFH20n3iH1zp3KCAUlBEWbFTYjpSRUD2/ZtH1SRGybScio0n3ifA/H2uzDVH0GyC84xKQBgn26bhs0yQn0uHjQn2zdjf73GZ3Gr3+2wXIJF+A3Azd/X9HpM/WZt0N6Q9qgG70Mn1SRHFVTLUCFRFxx3n4rI1Jk0CbzJuARRRofdHX3JRCFsbotxX+U4Rr3bz2rm3vdAhH0wL3Vr0d3wIRQxdX5r1HvwWOqNPb+Gw/ajIACwoINr1HvxJGSHiBa8Scb7hn1Jn1ZDQg5QJNDRn1GMCxn1gWWaHyARR3DTVwCRn3B4J6L3xn2hn3qHWZn2ph3Zn1xn04oL5n0cyTpn0pn0YoKJKQNREVn118BVn25n2NyQ08Q5IKpJ4Gn22H3TZ2FyGtr2fcRbR1zfWrp1eI3c3aBpXbxC6n3Xt3hH2ur3ppxPL3nAAvL0fz4zNA3k1cBqXAFqoA/z40gBVVWJfXX9VR92LuF425/lBU6RhY0OmS7mQYGXx9FQZjItKmOSvXbwM32zUKoAVuzKuCbox1aE0frqWQBDEVhTZnqGgCWqRyM3uQ2QTFSvV7MDfmVaFXGnXta7PDU2xaXuVSFVYJW3uVfWX+yW+b3w6QN70t73KRVyL0gYIuOjj9ozYyd70/kaPAAKDoVKFvfi7npOwxPAKkJUQLQ0c2ZcxTtE4n1BgCKQyBn29n1Km2eO5/WUcfiwX39r1IL0xL6oL1KVBmGQUX3YX00Ai4X2ikg881GZ3Xt26I2eM3DG2kFAQZXveXJOowZUByAi2gDNbKaRs6qkDVPb2mCRjPQU71hfneuipUyIMFU73DTTFz7v6EkEHIAD/QgUNqR7jleo+OAhFiSLB9eVf6Dgbgtm2hTw8RVywgkQCJ2CGX3lhjWwBKyWbr0BhjCH0Xz0rN2PAHwAAYt6/mYyFTN70kQBxcKWX3KZ3XxbOZTT7TIXQjDD9QCPYCxr1FRFKWD6ejS2Sik6l70JUE3iACQAaWFuYAFMn6fz1r36IJ1bQRX00QAJOzd72AmRP+Zm2T5TCGwz22gZX31/TNjDTqE1p0CY1aEI6z23nQ+yCWHBnz0xr3ut12X0OX26L1ltyNPbtr3KY1U6Xil0+Q0BHaKY26xUvQ3ITEdBUWOovmBBOybdTJv7mVjRt7JvUtr0bnWSjmtaJ8tQjX0AMj4Dw3OHQX24dAcfQyRoC2qB5gJQCNNissXXRXQ523RUgl10aDlpVmGQIJTNUZjyHAiypCz4QCGwwesGWwwkc2mmBEc2xt053xjZ0DBzZJWksysz1+n2nKWQX0aL0rJkvz1DbqCkCcb7ZH2kX3Zr1OKQtkAXwL1r04oK4XwNFz5r2uwbdAIln3AoKEhC/X0bFwZH2kX2dH0pT55X1RoA7X35RjukyUsxZXBq7wQ3yZg5BAhnCTYCGSVDHX3u8GlV0qZXCxUUjn/z2u1WnIIEn1hH3m17KA7zv5EXywwDo97obSIL2vz0TNow337X17X0i2gHX3o31C7UnX0obWSTHEbWyH6O4yEqW3WWOCb3WVNMarWgXaXqEzVcFyBQy1X+X0On2c/I3OGsL1JLJDFky32pLJIpk/cTkjGEoKF+aOBbUlbSqXayQBDytWSJkjwQ0k2Rub1WDVs6UHbVeb1+x5vNEuxVySW0FrY73pwz8WSljSZUSgs3eo045GQZ2QwHB1UBNU7jAwpWxNEY70SyUOJ70FpTJXapUjyWGmqVfWaVwqsxG7WYXY6zZ9p4w9USsULyWeF1I9UryVsLR+F1kfUUfWl7Bo94JQAba7VII0PYrJlBb32X3vAhp33PAGGwjvJXQj6sQ1QlDMbVZfT3p1TSR8p3AszMTRzW77JIdeRzt3QkAebAfSJOzSbDD4eBqtqPk1Kt2tTbio3bICebV7L03Qhychu2yyPwfV3KN0UOpBr2rw19xW932813931yL1YrENST4r2dTZcAQvNjrzLD30Zl0d31ywhz322l0L31Y0g3VpPV2ZBg0eB1Q3xIiI74/73F31WZ2l33Mg5MAFy0HKp3G2w130vBDe5D133mLBVhThb2JY1Ym3jDUDqo2ZhdyV9p7ZIQDpTHb33XkZpUopW4JUAKUoKUEt5zdCxb6boG95z5J6Ymy8kbX9U/31lr5/32C2008QAaGVr4QP3W95dRWCbEJoB1r5WDSE5RNpy/YA8FQQiACLRIcA9TBNpxvBARtSxtV3303FaCc18X1gL3JyZ5OqIaVmBHb6z8zZ123vMEg4SXZxL2QdnBLcCzqDejEGwUnzbxNDhO3jT1wJAev7YiRF/qapzofpW414b1uqq3FD/IZcjiO9oy/4XswA5zIb31JFIzq9QQ+no5bFhGUYvXXna/r6hGo7i2f8Vw4zIk7Zfn/60dsBKEy+Hr4qUVa7iDiuPBp2zA4Rz5BG34ORDIVbtTpmP17qpP/BtSTIGoYfVtaXszUoN6A0E4Fa195XYKsJbjQADzUC6XwD7OP0pxzESAe/7uP2qh7drXHYKuP27cBP/CcGTHdUS94eP1cd4YLVflybR6xY3nxSsx3MD5YOQpjbDO5hdW0nYBP3wORHNzM25X/oX8bwKGQWSjMAYiGtSQd+ztrGY+4P0GAg0YeTDO6taGpP2jDXkp4yaxRdUuDhgZSIQwORAhP1lO4KD5ES4gIFOAAhP0qZw3H5iIG0AC21CguqRdVYZ5Ze4mP0uDhQ6ob+oNP07lriFaJcRPCGFc1w1ZFryPCEanVdR52zXv5z+8QEwjUkb6P0B4D8eBGagNeayrwXhTGeyjPaLR5Js0V3BRP3DMzwFx5uz/wIV3CKNQyj1Id2h8LK4J7uTnP1HaS91E6EyXpgXP16WRXP1ekDTpguyShaRxVGLR5IxwXpzLd67p4yay8j5P/ACMSB0CxHpGcHttqAv3jMDAv1udgpJB791rP0N4Dor5HmrDO6Tf5TQH4jVaWHTtULCarA3kOCr3XGpzptQqrzIv1vv6XqUTBIGoB9uxPTEH+zm221/CFOCQABvBAuLYtVYsTWIzZjP1niC+wb0wIjVB+b4Mv0JrVgkVnDBxeRBCFnS4KU7hP0RapOMCrdUpxyED45UAkCatLFjh5o9pl958bwpP2DDW9VrdrXzmQM6yoO7oG5Av3T0wpgaVcS+RQVJ6FAKQv1t0xhpaK5RQNYav3Kv0gv2NVbcuRXrXwjnKnWCv1hoAKv1dO4Gv0b4igKQ9xAsx40dDKv3qpbOp3HdVwNbVoDkh6av0K0zav1v4GwT1BXjuv3Wv2b95D+RIcCJRSG5gh7E2u0wNogyRUVXSqY/GZJ9Zna1iWxnhZtiCu83Xs0J6SLhViIQNTgza1T9bmu0B66XdxM9HSAWCC0/yAEcWdd1hHkGC35v3183pd4R9ahHEFOY783581Uu0B455v2A9DIC35v3Fv2A9BKx0+Z6V82TVX1824+X2BV1v3+gANv2A9BNv2tv2e45hHkdv3p821v3LX0eIIDv0KYbtv3oUGTVVNv2aP2MC0p81pAYOp1CkZTVVpAZvPl6DSl8bgiV6Dxk1bLIBhwxSV4M1aH/C0wr2tWvaSvhWcvBTujzGoBgakBUMb3fMU4FZmaGIvkykj85oh7Giw1Di0gyTDu3VHF2qSFnUCRbTsBwG1WGUhGW3eVNFWDW0c9EXVL9OaoIVEvVRfluBCDy16w07KpE6FI7kY7nSQVLW3X8UKCKrW2hKVd2T6gVegXSOKTOCGnjo+J+gUnlCma3feTuaDT5ERY09Eas8T5bU8BTT5FrJwVP2dl4YkQo2AD2Ha72BCAe8DSv3e9gRdXk6WfCFbEUWa3h3ZyoX523t4X45wUAEccjN/SLbTqQWFTRrbQbbSLfXbbS7bQtiDs/n/XZwa10gWqPmD4UV20iyJuyQM21IgCup1GQUF+G7VH76qCgC6WGI8AgPCOySCr2i6oEgxqCQgL3QfA+3XRWHGf0ByDLJwhGAdj3Kt0um6e22sly1QLTt0/Ghgk00Czjt2ut3J21fUqp23Vmr2f1VpT7RpzGQdQDGRqUSJytE2J7db5lF3GOX1DCdWSC3XxwxDgz44CRICFTTs5qHloEXa4AyDA31yRaXWrdi6XUH+rBO3BBr2REjRoSCEyCFWETFgaDIUJJ7s6jjCExmiZb0qsEqCHcrYFCG7sHmACYXlVtEd8G10ioeXcK0JO0ojqs2oQswZmbcvQbYBhOGJt2AAxZXaA85XC6Fz472pUmabcQ2OTWnicV7/zShHyrn1PAGWMAfzRYQCfOpV9qmWqmH3gH0nh49z4gBzDz6+EHvt3jqHnHhHNw9H3mV59H2PmZbf3S+hzz6PEAyQYFE7DBowgCsP1l1pkTnhOXETk5f2MaC7rqSB5iV4WERAr17J6bf1Qr15Hjjq5vN2srp0whBtErNlhTHw6ToAWnF2EBqmO1ak5/O2Ga0ioUgQwsnnWO1jJHZoXsf1ApYOO2ky4E31qCxQsxpDj8f3asyCf1H2ULfVbbTAECYO3UAVglXzU3m/ng+QxO2/WQ+jib2TVNV/LZYWXDBa6f2KOJR3DOf2kSQcXWN3C1pQ/gibQWoc4SvApcBzGTqCXRbjy7SjJZ2/m1VQrJZx3lavkHXlL4gjOX+7l6o6AgUABo8wUh/nOfkCwVEhATM3Yd7SO39oWSdiKO3hfjKO1lxYFMXVnkgAUu8FFsVilri3mgUXQT5YnkcXlrU0oAVEOg/RorcL6k3x+aGd2/U5wA0355DzhV14BOyWd3IoIqeDK20voIR93GKGZd2j2AhyTQ92DVZjD1qcym7jDj1EJ3qLYrlU2fjDD3HlW5WH2nG4nxIU1U52Zsz++g292yD2IU0TxUB/1s90/D3/U2x/3QdQG1rK2YFQW84D7j1DeB+/28r3ZdoylFq11xab++iao6uOB7Ug1528CXj50l/0nCb/Qi5Ko151xYAO/De6g152lw3AHgu3wBx2qXrFPaKy41CUT53lw35SLrOAN/Ad/2Z50vbL4oBsTnnwrXAC9/3lw3KSLZ4ruID20S4ny2tRHACD/2UEBMbitLkWoAj/27BxL/1d/06AA9/31/19/2Lj0eSL4oCYTlP4DIaBL/2lw1j/1nmKT/1qxzT/27/1kfj/VBuwC+QBL/2GgC9/3gJ0u3x1/0N/1ziC1/0T53YX4GwV46qXq1V1SvAz1D27D3aj3O/2Y91ouzGlEblUjj2K531pGU91k9367jDD3vD18TympwmLrx/2vHGKgaZsxgAOWj0W93Qsz++hIZ1/xYgvQdf1+2AqeB45G+BSNqo7bR6+i3RR822ONAVWVfHQTAIC8yWMCdvSmICZQVM0zZQUCmYp/35QUFmZtJ6Gc6Mcia6w9O4BgXv+qRBgdRHZUWiXkEgU3PgVEV/A2ioVWO2GEX2nlPm0bOV5yQDNXx3Z5hZrXnVOxxRVGOoGxXQZj1eVh8KI2SzRrOb7GfwN1QbEnOb6skUHPz6bw0W2U0byhZ0W0L0EwsEvDTC2V9tbLpWE+oK44qAMBOw8Ny5WQ2h0uW1hv10nq8aCjiiSx79aEJsDp7HHDAYG1OANJ9Z2qRyqZw2pa2pcDn+812C3inqJv3X9kXGSZ0zJv1uAM4bD26SOVWz7Frl5+ANrl62Gpph1hAOu9a2GovhUKKYq0zknoFdHH9kloB4TkZv3gtbL9atEBPv3H9l24C8gbfv2D7H4+GktluAPwYDr8XXhZRdokz0MZYTIndZZZdq9pSENYGGoTIkd+HZv3GnrO831FVn0I6lYehojVGq7Yve5l/gBNonh6422+vk6/ZTxDrqF6fqcV7y7UJ326rW+E2RJ7H2YG/We2ALAOxE05DzzECSG1SQw8lDOJZbVRa9r+eXPvacV4fHiqV4SCYtvXQdRSANIKV5hbRYA5HVzWV6F1nb3ZRVPtyYsVrVqyAPZtzGTblgKtWioNzTOUmzxKSVWOJaSHteVCz7NMAWWC534kzWSKBkzXryW/AMqSU6SGaSURtQcUT3KAfE0QiDCKVX4CLOAhZRk8w26GdOCqJSSQHtGyhfxYuUf5YVN3QdQKsAG7HIKWroEEt4VX0Vr7M3jbZy0+5dpEsJWXOX/tDc+DwkYSOXiR6ZRXQYTuwLjhxaSHHOqgwi5RVzJ5TQ2h9qEtbjAOs8E80Y+T4THgz8EC0ZbExkM71LQeBAUQUHyyc7FJJ7fGZKxApv0AUi9sCRv1Jv3WEDFW3v4W/v0dkL9AO6E31OGpGregCmLwhBoKQDS32stSy33On0w2CP6FPhQE0Sp3jaL2q8IIt0fcjrqFJB3XcwQ8Dun2ua5UKhCab8Uh4gNcAAXAPCOU1N02J5iOUGUiWzYid2m1VIqDid3VgCYVxkwiXRihgM3Qie8xv2VqZoTgErkBrNAco3LgFFexAZ4PwBbOAsNwXOIJgNv1pmADJgMrxxTsJ/yGysWJgNZgPtpq6iaGtATHgZgM51SFgPO6CBjbvA0Gj7iW7AdrRYBOfW5Tw2UZDyHOXgVc0GIRJdT2HYaaEF5FKQAF7TUYZnMy4AzJSKBfRtGAzyL1yRUH3itSWXgjwEIwAjszHUBm8x9gCAAxWg0naWbDDcAOOgP2iYZvQOWiDpA+gAJZjPWigwhm8zNBYrNC8fziQ1wt19JDhCKvzxjhbgbir7VycilqLle6j6zC+3ed1HgOjWABQyB5VN5Ic5W7gM08S9gNLpwQa51yTua744Andi84A+gDztFbgPHQi6XgnaUvgOBwy4RiTOCPgNYSZvgPTMxtQCEYaGrj+PS9cyMQH+PSFmU7gMDyGI4Gj6wTI0b6xIt0Og3j1i/AzeswQQNh5LPgO/W7RgaXgMaiwHC1wMISOTPoH2iYJNBen2wo1J81gjy/YDHKQxlRlY1+pzvfB3zQYEYhFS6mX9VWra1nBYnm22J4IKVSyWnzC0p6ZAD0p7M0AjIjr+TBmo0V4rgOtDUSV5CaaGvCV1yyBLs7Gc7EIpTmu3xAPO81YVDpAM0GD9gDFAMsoJ2u0rjGaw3ivp1VWvs3X631X0ydRIQ2BQ3ZxUhQ39yX0FrIpV+ZLKAPLqog6WRqoydSP30R/prVohkDSNyCnybuHvzV830XoV2QPllAEFz1b3U4Hr80UsWPkaUbqSowJAJoP1wJBvBBTXq8mEmmxbAMAe237125EO31DRommyq+UGAOkFDDKXvaUoS2wo2E6xPgY2KbZoB59RIx4fPBLv1sybpxXV43EP2f77Hz2f77HuU+y3dj5yyWrdC/qQ51QAfXjRqqEGK8UtNiKR7bDg4VrOQRrv3uJYEbbd3b1LwPD4ByBW+Uzr7GkJw/Tba0za3lAPX9kB82DSJ3a2aBVfuWZ9oU/Urp3wELOQQ1v3Xn22FQ7AE8xr7AEmwy9qEiPZHeRGSU3r2+gB7QP5b6+m0EKUzANXAHiN3mIAIJQOCy8fxlLS78FmeWqV52X3PAGOc2EzzXQNPQM/VUedVCnjL7r4p6xxoh7FeAO8CC5G4zVA8VV681hAOiaxVSwUVWLxl1HHZ7EaQNsfqsaShAPH9noiZRGhG833NoNu10KTZAMsoKUAB0KTYG2HeV0KQly1aCCwnqKeqv9mVy3EDlxKBToWD7FXbmXup2KXIjZwvUqe0Inpa2pHbksoKH7Hb0weGoeAO/dbODmOdBza15ZYJ6Rgu28CBcdFCOp6VXFaBbeXQ3C34V1sBXs3X9mz7FMuhWVVMACZnUsoL/9meeHx7GcDkKDlNW0mfkvezsw0sQiT8WD7FmDmqw27bm0GA681R5geGruDlZW1aCAT1rMO5qDnLUbQIXoeCiawgv5/wVMbjL8WvADygPNSSiaxQgDNu1unhmwMWv2iaySoD5nXGKxA7kNnXSjSYvUPUVaw3+xodZZXHHjpY3HFEz1GE2kNqf/E9OFjW3+cKUi39FWSdVXW2uw2svU/oV3W2MrELS2s7nPW08vXTFWBw2zFUFIUhw0lq7adVYCUzbHqqWeRbgx1A22Qx2oYVECVvR0kCWZw1kCVwx0knEMS6w21g204XVs7nTNF1IBUVjcKiE4U0+AkryN0gLjBfXipWRxFCi4anUUYr54UCznZmvhxfgwHi6iIjWGCZA5WFv+Z+eAjwNxuSIJyZWFVWFAE1E93QcgrNFrMBlPjWqL0ayTwN8NDTwOK50W/hrwN1OWegDY9UhyTbwPVWFE91ASCo+UtDHtsLNDHdsb+IBXwOqgQSFx1a2xBXkUYp5C0ngtWG0o1ptBo8E6iLiy2CL6Cs3f7Css2iLFaTAOSX2DGIEDCC3N4x/wP7NoYfjg96BIJSSgWsJnwaVflSKSxP6uOBN0xw/5/wP9zCoINwEW6ODIroAIAYINOs26OD88LFIb6AP9j4IIPixxIIMus1AB5QIOTv4wINGU1wIMP0V/wMoIOus0kIMcqRYIM29o4IOMINoIMss1AB5781nIFmC2xGju9aMW3VxHSmrkk3bxS3W3zcXqFzZCD1AZFEwQBzuq5sTEiq56PYV4ExcDQe2S8TiT2bcGb50nCZC/A1fQOghUcBey1tTpcsW2FTkk0XwOMY6K85U50xOHkk0rjyIEAfA0lQMhy2400YYj2pTcVzBZ2zxUjfousLGxQPWBW1xLzW/cBDhrLzUp7xfyXpayfxyYYHKhx4s0cayJHAjJFzGAE5yVhSWAJdtRy5w+IOxjaOrbwOTdwR5/rvRTCGF3Q3ucwulyFQCRKCJHDRIOnLBfxqJCQQo2rQMC5xT7DUlAsG19AB21wSRgG15RDHc/ixDHrGxvKhkWVTGAuF1AmyJaAYZDslbTQgaGCxQN2IMzhS5i1adVZXl1PW4zzrG17IB5pRtQweIPoqqmCYp7yeMAbPBOKQMlDQO4POT6OQo+B4jClKRtZp616RKDnYBM9yxZAPvnMGFPvl+IPaPavdToWXkWUYfXjAjnegbwBN/o7jDj2ScGA/PDasT5P0yDCrIOxDEbIM2gbNMCv3XEsUF5bfe4w2U05WIRXDbz3cDN40m5CqBVIRyXNzwrWG7BYeYaRiaB2Wy1/z0GW0YSbMo7U6yjeToL2DcbolBEtUqqRbyApRk4ZRvupaT6XbZEtWBmbUuqMwCWXVBmYn0ZcQhyJbwoO+mZwIYslBy747MD4E2Mepvuo8eqm0CXPn3wb4oNger8p4EoOkoOHqA6VyxAjFI7BmYwta9NVJmr3KjGpaPdKYYTao3gkxsoMu3yKi6sv6jeSHL2lHp+wgOurVD70mz0xifsD5VGBkBQ+DN31dcGt30RupG5Crw0PnT3NXI2xe2C/uGDcHiRFcARaeWJH01LQkX3E30PZxBALKoNTY2LwiSH4xH0cfjU335p2lp2HuTYr1Mwhvpb4QKVpaiH0kgBz/2cipMwjYr0Opb+H0KxH8VyuXlDJZzcFpYy6tRzGmyKqw+waADdsbgCzr50hoO7cENwBQKVEXi9eT2WDU4FeIaWKEkgC1NQWmo6N5ekYqDSB1F8oM/lxHYFVP5JoN6Z6UepFdoJD4tg5F43Pn5YA19b2t9YKtrsoMpBIHsSfsB2BTUwGy0wNqqnMaBM1ZwC6OB7Dl400Ky6zZDh3jCb392HY1qBTAfn37Laoa3cEDTRZ3xznAADwNU3geM1qO6NpbMTbDoPh3ivEyGtWCL5JnYQQKh/YhPhVDlO1EhPiWM3zoO6ABWsZLoOEXk+PiFKpBwClDnuPhEITLBiboNFPjnZAogjdPp8j72o3MMyeqZVDmUUhOwDXWqroNFKrvuyXQBHoNZwId+ZFw2XoPWUbXoNO1EAPqPypWtV5IPkX4pi5NV4IDwtjb+TxkgExD48L6+m1ON2lMK/mbDY1zfTB7zQy1iUGEYZbSDDeXwYN+BxN3kfm2NjSzkGd04Ph47xTAYPcL77QNlWpHQNfz5dN1QYPnqEQ8AcgNa8RpQCbDXqWHZISIYOYyVUYMs8C2JTzECBY0ELaWxAez75EBez74a39oNwuDwDUhz52GAkza+SXN7FN259Lx32zvADdTidThzbY8X6DTgAAADMUAAAAawAABsxQAAABvAAAHzFAIAAB1AgAAAMAxQCAAAJoIAAAAQMUAgAA//iAAAANDFAIAADjfgAAf78xQCAAD2f4AAL9/MUAgAA///FiDqzggPq4nzvACAACJoDFAIAAP/ggAAuN8xQCAAC/v4AAA5/MUAgAAP3/OYNTsL4P2ZCZjnZe01RRVi9lsTGnS1kYO4RijY0BgI4L7tfl8Vo+8Eo1ooC2gC1RoW41r2fo1iSRTGwrobEAaxVlQNkmVLHWfeXosS7ebuDQyY6sRGr1wQ8x/8RJWV4xQ1e0EiV4MCldyJnqKbUpnpkIxOQR9tCnzW6lZV42zHVvc0T80N43lYNn74QqADjxTfTzPS1YPycL/8QNYMgqAL7VYSbEZT5MAxIxhwwLzUOuAFnyQDgxYCRaA9YP840N5p/zDEtxvCAgVTvLzZ4LoMiQQCS6h7YP7YN8DSHYMFOQjNV52RaD4v63PGHwRaGNIsJII2DixU400fqS4UVdb1GsHYOD8RiZrENuQuMzNtS8QDgICtE1ugY8HpYbHQLCfngN1FJUBN1HParelb4RZSYCQybBAiqcQcMQz8iacTQ4POQRKxXDnkyoOSgQAQ7qoPSo0JtQoEGKCE273cID1JK6/w6sXyZ28gDFjnQs3bg3cID/+CgyKqDERjrTZ0lxbbH2AAAAewqDHZtCANK2XNMJgyJK9tPybL/lQvjat+Z/apTYSmtkJGDodTs2ghnXhWDFIKy0NeRqPpqxg+lQMBkOA4NgHGhMp6QKJXmqgBzzEurWcvhzzGfZMPjkx+iOOUx+pRSokQCeekJVv4dYLg/k3hLgwt0OKerWFNEwohwhtMELg/L0HfGn/TBBCBrgCZoaBXG09kbg5zYe84PMQHwTTwenJhYRlW/5n35ulYWZBi63Pb9gijYxjY/KvDvZsJprFapVO67dDZNMXuRRjJPer+a3SAvftYlInrkRely1FZJjh2oXDXHg7q7Ze5j+FGvgi7Hiz1e0nqClQ2g03uMrPXZppbQBfpsnzWxoCnnvWhpBgDLXfdprfps7XQrXU/ptbXTlpqrXUA3erXd/pmbXXXg//pg3gzrXQI+ErXd3Xa3gwwrhp2dAZsVptG2J3g6HXVHQNgZkgZs3g6gZkYkayQDHXV3g5Pg1Vpk7XSlpi7XS4rm7XSQZhEZhQZs3XX7XQtpgYkUHXZV9j/XcwZnrXS4rtHXWrXT0ZudpvHXXwZknXXUZsIZs9ppnXTPTO9ptnXVIZtC+D9pvnXQDpooZsXXaDpqXXZDptDploZjJTDoZojpjErTXXYYZhjpvXXZw4kvXfTpi3XVYZt3uChjh3XfYZk9vLn/V7XZPXf3XfjppKIJ4ZszptLpiGFuAgFrplvg4EZtPXXzpnPXWEZkLpqYZlokagQyvXbEZmvXfkGpvXUqgCkZrkZirpgoSfvXVkZs7AEfXWkZowQ4bpvBoOfXabpqUZlfXeUZkwAJUZjbpjUZsnXQ7pl3pg0Zj3ps0Zq/XV7pno+B0Zn7pl/XT0Zr/Xf0ZvBjoA3UPg9LptA3aA3eMZox9vl9sx9lA3QsZrnpnA3csZgg3YfsEg3SXppM+Kg3aVOeg3bXpocZo3picZhxIUTTRJWiDuJ/sH4FD3zErEGClQM5DRds4kJgUPVKuDUP84Y52PfPmUwK7sY6lYDnY6bN97TOFPqdTG1PAlQjzLh3dB8H7VczxCjDG8jBadTnAG49W40Tadbk9dCdWX7Q6dTSDMjJLIlnb5ubxQWAUGlVl1imJK5fp2QPgvpGmCwYF4YKIMHRauCsu7AG0LSmIDJqNvqJsA65ndOatcrr5vjbLdhAmYVt5ZAiAFMoBH0YPdj+uqJJIZ6qYRdR/djWlqYdUsZ9IkbsSdsvFZIVkKYAPVqKYAN2UHTxPsuD8taYADy4nMQx90JCALo+k/Oqs/YdLUevSPfPpTdNgOjLVeWip0nNqqdXkSXh5jhOIjUVvV0aSpAN5smiC6NSNLsKPiEwtNlB3Kt2vL9eEEQx6GK9zeVA6ixOo6mVgzVHvkseMYL5oIujmIUFgPvP0Ab9nFUCJPVRVnPzXiqnzHiFpKr3F7sU8RAQTaPHCSHK1UQOlhA8kKDBxzIgnaM4EFXK0uTCbJTXNhAJ54J/gPTkI1bCaLJ29MgAPiQyaLBqwEjTM0AHIEGRbF9bOlbEeLKoKIG5FskOjLPHQIqlGRgAOoIEAK7qpoAARLH+2PUAP38GlLOIAB3TLLTE+qHMrNXMRmrD3AFzkHnGOzLGuybWLCp8PwAIqlIUvONTIRLEsWpIAMmgLqOK2mJgAHVQGAzKy8e+7IuQPOkPpPNGJHLybEAHMlq3APyLuMwBZABqrOBGLgADYQFWkFjgK0ACHTJVuOrdBOIMJ2XVQNGJMJwC3TGRgOvTMmgHFABHeHNLIRQMJwIHAAQALgAPZfYYAJEeOxAE0UGsJjSeGBMLjgIuQD/gFiUk8wPeAHHApgAPeAGcmuRIHQwHCgK3AKxyJFmKVTIYAE3TCEhnkABylEVLFXYIWEFEAFcZox4L0uHOcZIAAMlAkxDIAK9THhwBhPJieMAFFWJGAzOQAJeAD5mCwAK+MKpIFqycAAMy4M7qgOoEwuFfLIgAF/4CDuB2AHyoWQWAwAF67poABhoEl6R6JIJLFhXCwwOdWNwALKqa3AMVbJoAKkgLO4L0TK3AAamNRwJ+bOxAAv/ld7DkAOrsBZANgEOBGKSTMb6LjgHVQH2rKxADZAElAAw3XFAIbRAd7B2EPwAKzkO3AMmgNTIngrEahHFAOIkJwBdgKZ/cXgzK3AI5THBAHIELEkNDkB2AFclFGLMmgIuQIRLDGqoEsCpAOgAElAMQACSLFjoBCCJgAG4Zc7mGPRCkOJQ+J2LPCqWOLKjfrEAAfGIXGL9TCExCOLCt/HBLANIMeALOLGBOD/gMmgJd7JJKYDOEG4gMlFP1inKXFAJAFKXYAfEOQ4NLLHPrJ4rHMrOryRErElAAfLKe2AhusgADZmIV5JHTFLYhSlBnLJJTIYAGuADUsB7pteiXJTOIANJyQOoJgueLXPrCjOLI/THBAGYAPeAMRwGYAAOoCwAETGluQxSUAcIJrcC0AKpTPIAPj6pZTAviEHzLgAHkAHAuPdLH2LNXMa2zpoAGuAO3ALgAKhAJIAC8AEmAJIAKU8K0AFeLPwAKhAOxFp7TP3/jLOKZTLuSfOkD0/ft7M8rXKlB2YL9uFExKzdHFAP3sXVQC8KGGKBYrMeAKhAJoAOKLrQABtbPCqdgKUAFMJwB2SIVMQOoMeAA/UOQAK3AJEAPbyaGLO0AMeAJdca3APGQJeAKtOJwAJJTIgAB47j3AKCAHBAK0ABOLFUvOVTJIADXwFWqV8dK3uFZLEerGHvAZTGLbPUAMw7l/iEpAJeANwANlTKQwCzohfccmgKPWuAKGo6J/gExhLgAKzkJ/gDZAJMiXvsWuXm97O0AHVQJoAIuQEG4jFbLjgJoAH5psQAFjgMmgJw8WSQIvuIDTAKXKMCad+OpQClbDtuqhAO0LCwAM+rq+MJ7TP6hp/pvwrEndHxLAwAK68U9Q/uLK+QMeAPeAGRgBCqCIIDk4PUACerEBqeKLhzxG0gPm0GDLIs+P85OxANxASxLPwAMuLAoADNSLjgJeAOVTAMlGPMM8rRqAOOQK3AGVQ3gENIwNxbBXTJeAGdOIgAJ/gLLLElAFVLI8xHsrKf4GpQ+dTAmQx6qrU0LYSPCTKbYHvTFNYE3sFPTDUQEvyYEAClcfzTFGQ9JyemULQAKy8VdODfGnkrqLLOhoiwAP7Oa3AGuANGQJMCSp8EmAIuQEmAHBAC6yfIABUvA3mDPyJ0zs4cYhNr/OipAIlTNZzBqwOxAErQ+zTB2YEnpjpbMgAEmAL8tIYAH1LPxLPWYpoAB8xroALimhmmMQAAOoFfTBpRmqQ+QAMeABGQz9TPO6PwGGNOJ6AMdoM4rIHQO3TBSUHHYHBAHQwFJifeAFIfDUQErQ4EAJ/cSSrOKae3ALIAB3AOVJqbSWlusgABTTEmAGRgNeQwgED7EMiZDL8O/cF4ECwAAdxGYAPxLP38Gb9seAHVQCObqmpncIIbRGZABPTPoeNKQ1UQCjWG5Q3FAA/UHMrMAABExG49JgAOXKfzTMi2vJQ9eiQJoi9OC3THhLp5wPOKIEAC3ieNsCMkCTYGYAPAAFcZiXTH8UMgABZAFw6srvIo4PjLBAtDZAGorB97KyQ5/gLvQ6crMBmCXTG3YPtTMmgIiyXOIFIwJOINYrEmAHcrD/gCt/JoAO0AO3KTZANE5NlTAQAIYrLYSHhkO3APwAHVQHKkOOQFPIApMu6mFAOaNQ4qQ/EWIYAAKrImLIEAOUwBoKQQzB3ABnLOp2MdLGCIJeAKVTOoFA/TIjQB6LEZxEy6OYIDXeJQzAD0Op2K3ALa4PxwAqSCOQ0TEDpbMTLPXav0lB2ECfQ9wAP+EN+gJoAGVSQOoDpTHQwOllvIAN97DZABTQ2EKlUvFAgPwySuOLjgPp8AqHVIAC4AN2QwQAFjgKhAGQurJmsaUM6oCOQ2WsWlTKxLHDTLgADZAFCAGuAMvQ6xkOqLqFTNF4PfYDnTHgzHEIguIEpbNxbPeAMmgD3AAfGJZQBH/tyBB97KKQ/B+BCbDZAJDOMeAFjgCUztmLN+bHZTFGLE25iGwO0AFjgDZAMmgB6qvwAOUxO0AEuQ2VSQwwIEAJAuPvcSn8E+kklADUQKBQ8AAMeAMmLPjLAnYGRgPxwBVzQ/TPyUDxbElAFjgIWTDFUG+iFjgDGLBSlMQADqIL0TJ/gC3iboACuOBQrO97CMAFkNC4AE9TPqSsXxKkAOLXD/gH4QPbQwOoP2iFWkAirHVQAfLFEHllTEtQ6NQ84QO/TDpAPIAGlrhPTOlIK0ACwwPC0IVbKVov7OUpAABGTW8OI8cJwKCAIHTNuBo9yfo9W0qUzcUwwNnGnVQCwAHlQ4EAENYH6Q4KYr5rkWUIYADbLNxAfHQIrwAXTIjLnkAJIAHwyX8lEFUIDYHow5TLHzESlTBDOLJmoOcC6YHQwMHTPeAGEw7jgIEAJw8TTyQgEEbNMmHT3AEnQ7zQ63AMWrJMIixAHFAGuXnj3phXKhoCGLEf0HVQG5UOTQyUw5srUbIF4Iq9pnVQL8lC4ABDOBd7MeQODae0AH5xFroAFTPJQ+WQwNLGOLPyACwAIuQHylJkJFrkGYMFAgEmAG9QPHMKIAMeAL8tO3AAEoHc+lroMgAGRgIMlOFTB4AMr3W9uJIAMIEDkxIgAAOoK0AC8AP2iGiJFfQ4x2IWJLIAKQvl02rgAK3AIgAPvLDMkC4w6hAPUAAKXEXLFjgPcYtxbB2ABSsERwJiwJouMdONTYiUUFjgOrdPwAGuAK4rB54N4yH8jjuLNwACilGVcLoAMeAPUADkw3SMCEAPHQIEANEw6IuILSZZTBwIIOcLIyWYAA0xpvBIEAD3ACt/JCSQ4QyeQ7F+Hyw0xPC4AE4IlemEcuUpABUvHVQDUQFxbPTQBygBSsD4qAfUDIrM8fIkYEwAFjgDFUCn3oU5LjgJ/sLQAG3Ka3APXargAPm0HYAJ2LHCTPtCQOoGx2Zkw2YAFybCRQ1jgC8AC78C4ABZAK3AFExMwwEUvDkOEpANBQBOQAOoO+IMyQ8eAJgADqIO5cOUxDmqXBAPfWOdWAxwPPwgDZOZ+exAOQAFWJEc5DGqnBAP+SvIAFemLuUPyUIJLKzUMRwIDTMvQxIeDUQN6LnQwM3mB0ABZAC8ANQECecfwAElAHXpuxAA5Q7YeOvTPJTNGbScgLU6twAIOQ99sHwAX3oHHwESAJknbIAHPSXVQJGQ8CAByiF14MLQPoAEpAHyodAQBZAPt7CHTHQwE+Q2Z6UpACcUJIAEnYIPrIWTKhAKguOxAAToA+AXFALLQ6IAKiwwLaiwwM1TJ29DUQCwwNuvbgAEfuGBQ3swxnQ+BGFNIIXYP1kI0APrChjXHQwCww//4KUZi4AIrTLIAJXLOPiq0AK3AFjgCMiRvosFomdMRqrHZHRXnJIAN8GcBELorEBQ9qkJgEIgACOLFdOHY0PlWqTLJvQ/H3uJmFrkB7puqwDOOPaqElAFTrLetFTrBhoLorGYAAqwPwAIEAKPQy8AFaujGmoEAOxAOIkFM4IuQLYSC7Q5IAAOoNRwHew20rADZPIAOAzCWLBI8UlAHxLIYAG3KacgH+2ElADKnWuAAHACFTFjgL7qoqlLoALjgPHQF1ph7YJZgT9HOUGiZeC8ACwwO8evGQM0AHBAIBcMGLCZAEwAFqQ7jgMAAG4EN6w5gAHQwHZUD3AJwEKMCRTTLaJFGw/HQEqwPExMyQPClOarPwALWLOAKGIoBK0DMANzLIo4MBzsyYPHQNZAG6UEBQ9IfBCCElAFY7PrCuxAMmgJ/gC1YhbTNoAG3zJBOJ3GFjgP0w0pwwhFLClPeAHFQwD0NnGtVQ1NAGAkOngRksIgAGhWqFTFOnZ7YPfeMTOEFUDUQLjgHJ+DxfLgAHVQE+hHgELOLLoAPeALQzCcgIaQ7Oca+MG/2hSsMeAMpRNUvKA7IYAJVQ6BbDUQO3AFL/twrSwACUUK7qn2LC1YttqJF6l3uOugwCw26ULwzM98JDct9Q/nTBCCI3MWoMW5LKxkO3AOEUHYaq3AJgAGOqT3AEsw+0ADV8O5cErQwrTBVWvhwJXphZQybQHyKKhALwALQALaHjl6UXLFNYCZw0l6a8w9tQ3ew+5wwwzJMLGuLOug2cJJoAKTQ8jQ6hABakLnyGuAGxwM0ALHLJlWLjgJVuJeAAviEl6Ucw6hNtwAGuACboNJbO0AJBOCQEPeAC8nrtTK4w5IAHZTO0AADsR2MNVmLBHjxMNZAIuQDnTGhLP27W5QyecQ3LHkAKhADKnQQAKPWDZmM7qiksIVQ+3TMmgO0wM6YPuLElAI7LPTkFl0Mw7uQAGamnmLMFADHpvZTN7TDo8RVpahAPH+JoAOVQ4HmAA+AkxOgDEqQ4GQ7KqZgABhiQfUCjqegAHBAM+LNwAHBAKIAGaehE4ImLOgAA05c5wztbHBLE1oPeALjgOgAHMuR2EBUvC78MNIM+bEuQz3AIBLBJLKaYCbZlS4PMGG+3LYeIJlppTFOSvXamH+M0AKfqQ+AZIEBoQLBibQAKxwxNuEEEC1TKLLCNmG+LLvss0AAv/u9TK3AAwAIuQIxIDHpsgAFGLD0hFskAirHClPuLEuLLengcIM5wxdLPUAGVSbkAPXasgAKhAIK4AgEN8GUmAHkAFjgFEIlkqTkxGDQy8ACNYBTQ1Dw/IAPjw8gAC1LKgAMQEA4LNfiPWquRQxJQ5eAKrw9P4Ce0N3TI3AIXGGNyOxAK0AJeABx7Gmw/ClLWLJeAINLFmA/EWJJTKOqK3APRLP9EGEKveADliYZw6nLPcrIdTPeABSlOTQw+AftTCKQ5XLLgABzEPUANAzD3AIzXJ4rExuE5Q3VQP9TEqRqrwy0AE1TPWLJJbCNIGuAMalPHQHArHRSA/w6IABggK0AORQ3FQy7TElAB/NM0ALjgBwyIFCf7ABr6Hfbu3ALU1qywDwuMRov8wNbYKqQ5awy4AM1TK0AJNuZpLJ/gLywAQAAfEAQAE9poWEFgzHpYRfcd/OPIAMlLFPWO/OOY4BRQ63AHiUE7/Cn3v+SkskDUQKqfU9TFMifUALS2ssAD6mJ/gDtTPeAE7/JguSfQwJLELLJAI4ywHkAMkIoBcPxQ0BQ+SQ46iN6w5eAAm6n5pmdOOyQ3S0HvTMXQ4YALjgC1Qxqqh0AGII3Xw3BAEpAAilJ6MB5TNgKYuQOnQIywP7OTZAFnQwToFWQMmgNxYANXO/cGIwGVQzUQH7qIoACEwz/gEpALIw56MEskJCDDUGlMrPaqPuLMjhUmANjTOHuNVQxKw6HokndEYIGYADZADzw/9QCqlNloDmQ4uQNrEMZ6E0UNbQxmmH63vB+MCiDKnYAFKs+JeAJeAGAzG7QF7Q1bTAXwyVLAYMJCQFhLENw7uLKuUEJKYCFAjQ3BAIuQHQwEYrKPWrnyIuQOVQ2NyPWhCHqi8AOarDZAEzcS+JjywOnQJaiKLTCDuPmNfWqtVpkweXVQMwSBbTDKnXBADN5WEKgOoNVmABjh3IDPSvyLsCiKEfNd7HQwF24EpbFqyWCANnGk+qFfLC1TP+ULNOFEQPwAIuQG97O9REtPhZw85HFAzEdLIiyYtUEqwxKw2Mui4AGuAJDTHgzJJKWGrIfxPjLAXTKOcJZTFclEnTHioU8iFYMFMrH5LGuAIEAJYAAJLMUDAuQz0/elwxefJPUHhLldTPwAGDOJ+bASyGYUMezY+GteQ5VQ5/ppCw0nQyExElAEjprgALjgBbQE2LAviHUQEmAADQ0+QyV4AwANnrUuIIHaLoAIm2eG2LQACvWI8hDUQPZoouQAiI+3KRCCOSFGU+KcmiCAMiZJ40BXAHorK5yZaiDUQMzoFKw/IABII+3KS4AOeLB7w11pj0/aJxHlQ4BcHFAA05Wj3tMxLLLMBLIbLGVw87qiEI+JmP47oQrBqwCpLLQADciNFTMAAG7Tn0w8mgN+bHXwywwPeAFxwNnGvUAP6Q0L5B5IPJTFGQ9tTL60mRgJ5QxZAGU+HVQIfw6aZsBmIgAK3AK4UEpAHQwFtQ4LSeNsF2rHUhNExAew+lIHLYBQrNbYAW0O3ADUGksWroAK3AM5uQwwOgAL0I5qoGU+A9cO+IGXTMTTNxbMN8ecI6Pnr74NXSElTMGUMb6Prw5ZLO0AMxw/dLBpw6AI/IxJZAF/QyJwzYI9QOYuQBngGgIwhFI5IJGw+xAHfbseALM+MeALgALBiboAKc2iilN9ACAw2D4LII1WJE1LMC4JoAPAI6Holmwx+Rvx6ElTJoAFjgO0AFcZkqQ9/sCEw/dTOxAFHmAow5qLkZxAqSIEAMeABiw3raFU4p4aNbTAwAOCehr6PKw2II3YAKTLPpeCFAJ2kKIAHYAGuACAzEZeC4ANawxbQ4rOF4w65IF1sMDKV4AFC7uMYnFAPuLBWI14AO6I+xABLw/UAAaI2F3mcmvUAMmgHRqWA2Iiw/+SouQJZgeWgHUQGuAPxLNDLDreLJmr2I8yQI7Q5qLrjgNDYL3w32rL+8CHqtLTAkxOxAMVbJMiYrTG0I6bYFQw2ZbJ/sBAtLimq0AM8+MmgHRSAbRIuQDDWKzw7QAD7oKfwwQABZAJBLPYeAOoMtBYEANqqfqrG5Q+UQMeANAzMmgA2w8mgMpRLBbFjgLNIIuQDGmiJZrJmkOLHVQO8eiAzJ+bDbLFrkPsKOOLCo+M0ABMIO3AB+2KvgMeAAJI2wAAMukcxBQbbYUCIxLwYpMLElAD7TD/gFYw7lTDHkPeAAP4DZAOnQJMIzkOL+I8AAEuyMq7mD4FAgGluvY5LS2raLB6wy5Q3ZTHkAKJxK0ACbamuAFuiLcTg5YursPeAFNADUQPAALvQ6TQ4euKIuFw6gOoGerFYEFaQw+ID2IxeIxdLNGI5/gM1IyUw2W0KqQ8FABKI6LwywwAnw9DYHUXhZADwEMK4JgANsI1tQ6liDOAPeAGNQxVzViUidQ1WLLNEFxbJpTB3TIRJOf5oFLIywNXTOUFDfGsNZOoFOJQ2HLJdTBKSIe+PZ9moMbQAAzTFclPUADaJBTLJknV0wwykO0AC8AK7YI0ALslGRgM7mBdIIHugFTKhw+4ENXTFxwPaw4Lw9MeK9w2DTLUQO5qp/gGDOHQwOUFOIzE/gIV5AQzJ5Q5kIwKAGmwxr6OngTOQ7qBDUQOnQDuwwqlANXJIAGtTLWw9FTCqMH3pl67q2mLoAP9THhqkMufsKODabYAABuu8lNuIKFBTkrrjgDIrD/gFgALgAGCYgOoJQWIRLN6BNxAdVmO1LGLLCgAMPLLvwtrELrQ7ibsb7mgI2GrD/gLrw/eQ9eLB7poUdgI+EBw0skO0LBJbNEw9pbPwAPUAD0/WYAMmgPHQNuLPPLPoAImJHHwPZolBI8Ew5ieC78H3qExI2bwwQvGslNRIxIAGDELQANTOKNQ6nLPyvEqRijWASCO0AMPTPClBG4PnTGgrJJbI1LJEAM4rMiZF/4Co7mZ6fIAHylJ/w8eADNQ02zI5Q4rTPb9aeQ2tTBucF/QwI+C4AAZZmJQIlTIDTIVTFYI4vLF8KI8xCJQu0IybZm9QER4FGLDXeLJABK0L3wyqI4uQBhPaqQ6hANsepJbLqOBzXrzQ1/iAtTMmgBQ2NzjG+Qyxw4K4DE5GXTC4AK7avGQ0vQzUsEWI/+EJyw+6nGarD4OHc+jCmobRHMltjTC8AHQwIirKUZn3qLZAJ+AMxQbwSEtQywwNxAdnLF1bJRSOxFngzOBw45Q9YXCjQibZr8AKhACtQ/+rglIA+AQgw8eAMmQ8dLOdWFI4NgEB1ZG3I6d+KmppOw0z8AyIzZAJrcLQAFOcYaQzk4IpoJUqRFZOG2M5TKsw7IAMeAGDTN8wyAzEnYOrdIoIzkxH3I9GbYrTLIIk4IlfQ0SQylQ2+ULIIwfEGeI11pogAEvSZwSPnTEG4h2AAZZnQwPwADWI7nyLwI/wABIEHQwBOIPzLDtwxxosNZNdCklQ6UhAOoEWI3VQAYlSOQxoEM3TBnQ66GbvsvAAFTYm3YMV7tGwwdbGk0Pyw5CvD6wPIAHgrOZJsAACaQ9PTFKw42LAAkKd+IEABmI+xAAEoF3uOSFAOQ1jgPMOKDaseAIIxPt7CiAKsw8rTYFbDk4BLGqGkClQ0HIV3uPBIxpan+2ItbB9QK2zkbRK7qn+bGvw4Yo9EIH6Qy1YvZQ81TJMIv+Sh2AKFdLcAbgw88I9xQ/7Of85OgDBpavGQ1arJDOHZdC4AG4w8kOV+bNwAIqQ7BQ+gDDjIA2miwAAilEbNG4AHsw529OW4C/TB1ZD+I1FQ3BAJIADxI1HTLoALYeLpTLirBLGgpjubTA6wy8AIEAOpQ07/IuQNOLFvw4gAEsw1AzHuwMzoBrI9sxLxw3mLFAOZfEvAAP9EHxFj5MFh9EIEOzeCQEDTwGCANoAMUvPjTMm8cQAEuyHLyW9vYs+H0lElAOSMAOoGuAEOCWeI+PirIyXpIxQI3kAClce3KehAMmgDOQ7yvaNQ4kIwKAOi0ulIMeAIdSvjwwBugBuiwwCtsDZAFkqZmDlgAEmAMAAHQwI3auUo9peLYUHkAErQ/6wCDIzaJGYAKU8LTI7QzEdwyDuIWEKdQ3QIwfLGBUPZTLaLKmpuZJpOwx8np/w4QZsDsJgALZAG9cRZwHkANazMLI5JKQymvwAM1arUw4PI87OSBLB6JK+bDGkIkwxqABDptxQ5LAzvwy1Q6vYOgDIVQx2ANYwy9QDCmjZADrTOcIpOIEIEBzNFGLCwAGYUNqkK2mOqLuUGhwAAAkDOcabI6jfrM+IgAOIkKaZncIDVTFjI8CI0lAAnw4yQ4gALQEL0TJbI6hAETEAbIFgELLQyUUC0FDQo6hAIUAMb+NIfGFIIdSpoMKkI+5FF0w1+hkYAOvTDvwxdLDHTVC7nBAPqrIpKCPnK6Q55rtFI7nSS4eFxbOdpgwAMmQ3FANuLAdYFbw+/cEYIwtQ7vsk9EBDw1aKRTLAOoAdbDpABI8Y2w75YJvLCwANFTBxon5LGCAATeCVLMQADfGvZ1MlQ1wo3XwHD7lnki9OJ5Iy79d2nOPipmDt8w+3AKTLLBiR6JIAgJ/gMrQxtw3QIB97FOSvNKBcwIYAKVTP9EPO6Ke2LIAC3TCvoJfTIRLP2iGVudKI8UWF02lC8XkALjgOLXFaup/gJVuJpTARonc5P0o5vmjxMPrLAP4NZTPWLEpbOJTEFbBI8VyQx8yMXxH6YGA2AWBKbI3GIwRou6Q3e4mwwPwQ0YrB2AMwo1pQ5/gAcINXAMAABOLG5TO5FKVI314M8rSDI7+IwD0PNADYQCxDH5xJKw91w+gAM+LN8SC8AP+rhHw0QzItbKhAEHzP/4Mi2k5Ix3AC8w2+UB2QzwuB/wwirPoAPsKCNOAcIJjAPYww3alC8VIfDbYHGI3XLFTYuJmGgAKPoqhADNQ0ywPK0NHSfl9narJtOJpQ6hAIpIzNQ2aesaUPIAAdbFH3ULw3KkAaIz4I+QWoIw3RLIbEDimqpTDLQ+3ACzEPHQBG4K3ABZwFOoypfXXw/uw7sxLpTEywBEkDXwMlIsgAK0AI1Q27TuxbMZLFC7klAI5TK0AMmgKhANmTskxCtiPAo8gAIuQFkNNlQLe6I3AKerJ0wLIIu9TGdMdXMVjalg8Q/TAqI3VAO3ANGw48xHCTHZo/eAPeAIQrE8w7QAPC0GRgDJbKd7DQw3FQ9aw/S+t5TEilBjI0eLAQvO9RD+I6fLI5wLJTASyPhwM8I8mQ5CevwAHhLt5YLBUKzdCDOJ7QxBKTfyPWYq0AJyw4YAO3AGslLkiKPohNuLJIFMrBMwCXYNHw4IAKtONSw40YOUo1TYoYAO4EGcsR2OTkxAqI025llI/AAH5oF1psvQw24HMub0I++niDIzZAMfIyUvAQzCew7VTNTYlBQ5vBC4AKSTIpbKLw+8iSgAKhAM7OVUrHVQMDTiCACwAIRLENbDIKNZTG9QGUFPyLiDuEIwywI4QADimrjgD3AHUhNDEGOLHClJcwAaI+Oo+ug4XYCeQ/wAFQo15o+UFPuw2Ww+xAGr5hWI3HArjgD/gMkImFKFOw7VLM6hc7ORAtG/I9p9oHmBeGc3LA6ENxwDFQ2erKRwFMVAwADwo35TBTI5e6lvwxKwzzw2arWkrCNmM1LL+I4EAGaw01AGslMF9vpLOoZtaQywwIEANFUBG4D4ODHTQWTZjXE3TElTA0GHPQ4KYnp6LiI9U5p/gAow83LGcJEaRodTJLHhyiKxkDWw00UOxjoRLCcUMEAGbI+GyJ3IGTAPSI8lw2/3DxfFlw9nLNd9rjw/wAHOAOLXG0o5/pklADYI68ozfQ2YI/HQPwAJieOPLO6mFMrLetJtLPPTACDE0APm0NZzEEEH9OAkxDimhK/nhw2YABdLL9phFw0hPu97PeAJu8P3/ubsBwyHjeC8eGMunZABzNHylMpRL1oBezDZAHVQHerExIxG4JhXLtw8mgAPwxpw04IobLAqwNEw0xI7uALJAIQAN5iLjgHIrB5gBSsLBHjqmhVpXQI5/gJkI4kwx2ECMic6UHgrMlQ/UrF9+HgrHhqqclMxQT2LIJltsDG9mDywJ7YNxYLgAElAHuAJ3IKTowQEC4AAFw4s+MMrBUbkmAPY5KUZpqwJPI1UDB+Q2DLLkAE2LFjgGtTAQvHFAMmgA5LIkYCyQwgowwAA0GM7OVLQ6fLLgAMoo5dADGo2NOL9pmarNGQPlQ21wxHeNGIw1TILLIoFG5LNbQ3pOahACtTLFnLjgHHYJTkA+AfAAMmgH3po1I4EAAOoKzkEmAOpQ3kAEczoI1l/sME5KiUDmqboAANLM9o63APSrE4ANEwwxIywwJXQ+QACwYrQAPeANTOOEw/WqirQwuIEyw7aHgQAIZIx5TFL/jAEMy4JBOG0rObsKFTHXwM6he5cEDpjl6XOANTIsfI3hLiGLKDKaY+CecbSIjmqSmI/HQF7w23IwDZJZTFPTNsegMui7TAv/sdTHvTKUrCxAEHLGOVYPI1zwx0QKguBjI+xAKcrIRJEMlEQzJd7FbUIkEMNYGZLLdBnMuSHqiksBK/jkxF67tpw4h4rtAGLLH1IzpuhbI9pbGSQAfLKqw45IKmgG3TKclBeI23KRJQ4AYwhFFtQyDmnKlB2AGDTHwI6wYPHQKUrJUVTwYKaYP85CwkKUZgwzOLQ5HTLdLDtbOOcd1w1xwEUKSgzCfQ/eAO0wD4I/aqFLYlOcRggDGmvwAPjQ98UB/QzYUDtSgww/47oDTGdMWo6DFpv7qCwwAqHTK1NQOS+fGQY6pTLa4KLSS4AG+UPqrJJTPAXgUAJZTMYrO6nDkAPUAMquFMlpew6FTKp8BJLEQFBWubU1hLDQXTLSItwAFlIxA5fpo5/gLMlPRsGTTDUQG3YMPTJHTKGkOIwDWw5lWOtLOdWGVwyerC9Iz4qLiQ36Gi8AOIALPwhTalKIxSsOAzHUI0mACe0EmANFTMDLHkAPAAPYeBezPeACCAOaQ9qI5w8X6MBqwPIAGk0NEw/AIw+AX2Q8lIj1IwhLD/gPZTA2wziQFaKRDI7jgDqIJWI1WJKVI3lTGpwHFAIgAGlTMDI87qpkKcOLA9cCZAIEAOpoxXKdzcFGw5bI/BgD3AMkxAdbB3TNEw5kI/8wHVAC8ADGLBPTGYALtwz3AGOo4PrD6IxqAAUABZAE2QxSsDciOdpn7TH+I4OcNBQHBAAWw0Bw27TnZTNVmNsekz8Dyw7rTEvSQ3mLYSMNI3vsR7YOvTMAAF6LPkI6FTObQJ9TLyvW0rKmw7PUKxyH8wEFbNDEPcYnuwII1sy0k2Q2bI/4MugALuGUp4JJbEfuDtSh2AFTQ3uANDkFixC4AFPWL0uJCet+gHIw7nyBoQFEaIbTB+wzJbLIAAfo+pQJDOK0FLcTgoo6gAMoEMQrOm+D/gJQzEVLBpw2RgNJbGRgJdcVJwBbTAOoOzLMCACiAKzkGEw0pAJsrWVuTLw6MCfwAIfxAFw3SSHOILFw7a4NsDJ7YBqANYXKMOMdQ88I949JQ+NMxJUqQqHZIYGxwMeAPaQ1TYn6MD/gLjgP1TJLoxYrOKYywAI8hNqqRygEqRngrGQuh5ppnQAdbP1AP3/lNOPlqHY0M6Y2+UJ9wGYANdCl8o/eQxGwy4AIYAHXuLAPM+KPqSq8w5poz5Q/ZopgEDUQFGWJvQxygDQILauO0LKVI7gw4TQ/YeLJTB8yHOIHGnCQ8mHQzE5G/I8AADvw/+SvUAMAANnGjMbQxw//o/LAAxwCWIxZwAuw41LCwwOUQILSf1ANKQ+VJtnGtwzExuGwIyIxJwBa0ACCaMBEEVTJwMBIIyboMY6IGeKHot9Q9sxPjLHiI/Ww+KaVI4JTLOrccAAGAzOICLuGawAHwybFnPeAM6yTxbN8GaEw4tTBqwMmwxymvAAJ5w3sw2lrmNyDUQGRgMGUBXKXp6LOhUmAOVTEmADNSCp8AxI5Q+KCYzYQGBUM8AV4Ioe+LExOyQ0y6NF4LQAELBIDYCJw/bw2gcGSjQwAGorJpALY5UmAFtQ+bQPHQJvBHKkGXOmuAP1ALDowJIwSyOarClI55rnBwwww3p7nkABA8UAEIIwwkQAhLAm6vt7J/gPeAJeQyMw3rTEDOlP1j3AG3o0wAPqrBWIwaI5kzuOcYJ8Hp6PJQ/HQPeAMLQ3HAqhAHGLJDOA9cEJwK7qpQwywwF/RLWLOxAEWLLoMDxMPDTGhLAxwzJLNYrCvoGBrBbTEcznVQIpbIBbAVqAPoybQLcUIo4II1k7/NqI3fo/wAOlls8+KiUNGI9iwPnTMuIxhAC4AMfwleOKzI91TI2wy+UGBeKIrFExMhw/bwyTLNWLD+IyAY/HQJlWKe2GxANLTJBOJDcjUQPxuG9bPVQ3BALFw7aHh2Q/GBF1sNwAI2LD3AIVMYDYDtw9zQ28Y/ZQwf8rjgL9cV8ALYUKkIxHHmr5hfACkOOPinFo9uuYLST97OngdSSCwwKIQ3kACZI6LTG9IZaw18ePl9kiY1Q8aZwIBUVQ8dQOZrcIYAEHo0KmqA7KzzK04vJQzUQG3TCpAEpbMwwKCOQcIEtPuzeCEhmiZn6o/sKLaY0BQwovoAY0IGi6PEErHGIwPo0VLNsw6tOPzPYsrNqkL0uKnTHpbBeo1CrF8dOQ1ip8GDEJwSO8iS4eH6Q0erGb9pZQ25TEN3QaI20qRNmN/OP85L7IwQAMwvurTIHaBmY7LTFGLOZJuBYyLnL2I2LSUxI0bIIYAFdOElABnLDgzG97AfUB7cCwABaLGkrD4qCwAPHMNtI/PLCNTJ97K/6ArTE8iNpUJd7MLsJCvI6Q1OrNUiO0AAtYxaIE+klC8cp/OCIGuAGNOAoAJ0wHcYuwGJPo21Y5w8UwADZTB/w4vLGYAJIADUQHOw36YDHTG0o0EEJPIyxwy9OO3AC2Q6Pnm6UGncRAtDhYBhw3xoxjXNpLDOLCwAM6UIHANsDEyEC4AJGQxNmLgw7rTLM4jZeP+rqxLLwzDpAJLA9loPHQELwy6YPTo0FUGPMLZIzRY8ywxiY9rNVuoFgIyeLKA7CdEIpoGuACVTD6I00owtsPyAMpQzVLTfGm4w1AOVHQzQw88+Nso80Y3S0IeY3EIrjw+dLJqLrQAFmw88Ac8I3kw0HzMAAJeADBqFAgOjQwFQN4AL2BNJbM3mEPw4DQyo7jtUGBUHmLMvLCwwFGWFWkO9RFYMDzTIPwwGowSyGpQBcY9TIsJwAbIAXTDHkKaYBwUC+JgFI1EaGDLNTODOLLQo4o4MkOYPwywoAtTA9cLOhWoI4/TGnI0lAKxyMeAGRgK7KNIAJ2LHVAAOoBbIxfo1sYpeALIyWU+GD4HgrG9o8xwLgAKuUMi2lZAA8nkjwxLw0PI+7YMQAAskH8UMDLFbUKuY3VQO/TM8rTUQKhABZw8Po+NozRLChuciZIBLBZAKVIy+JqhAF49NwAIp6g05SrQ+xADSw1vw8Z6PMYx2OWWsTZAPWLKClPK0ARooEAG+Q8lw77I/wQ9loGew6IrFd7CaQ1tLH8jhzNCTY4gAPUACzWIfwwymrYAPCI8UTlKlIK4G5Q0bIBrY6erCpLOQAObTN9QxArGdOOsINXTDciHLyW5TFveqbSZQ+FEHopoLG0I+Gil7ursEDQ9nXHFAJDphLw7cUK3AIEABTTIyQyXTFKlOQAHFQxK0DNQyyQ3hkIWTM8opsrfAIxyuMYY9ww9gAPwANUrG6UMAABgI77I0+hJvBEmAEpAOvLHQwJd7H0Aguw2+iGfLAw3RZwFQIwPTPl9gHTFsYtrEJgAPwAJ29DuLIuQN6w3Sw4V5PxLATeMQLNd7PHQDOmEylPt7N8GTJLDIEO/o+UGgXTF7ZT5MFcZofY17YMC4EZeMK4N8qXOw/keOi0n6Y+LI3FAFnTKW0I1AHVQGH+pKgJSSrOcW9uNuIDpI9DkFTrII45MI95iFKlL0KaIAAPAitiIYAJXLCQ0G97NIAEywJeAHAuMAo+MYsEw+cIwiI5/AI445psnCYl8KGLvtsowiY0tPv6hlieljEISACmI9gEBCqKMAH5LOAKGW0MlAZw4NwxDreEZeN1TPfYMgALgAPR/lzkCwAG1EHHYAvYwSCOzwy78FfLLQzOHw5eQ5pAOpQAXw2U+Lioy4ABA8eQAIuQB+w7ClGhWvQwBggPgALmRcgAFVYxZAO3AHCqOZJh4TPIAE1ls4w2UQNBQ0ZeAtQ5IYI6I0WI1JierTEco8MrDBQ6sY0BwxeI7G0I1IyBI/yLuUzheGc6yQ6w5jY9RoyrTPTzL9cazzDtYx54OlllDpt/wwovsmQxQI/RLLJIKhNrUEELLD1I1UvKX6k0UJVuGFKIK4DxbPRsPnTJPUGamquYy1Y3OAAOoDwuA2YmOVYOxrmRTyoqIrLRUJCeiMo9MxJnQLEAJVQ68o9ExNFUPHQMmgKzkD+Q0pwyPnN9Q3rQFGQ6/6AWI0ywOyQ3mLKoyexAGlQIBcPwAKoydtTGxgG3uFilJy8bZAEqw1iekvQ0zw60FJvQ+RFsiNs+cT/gIDOImLB5o/3sW5Iy3w8b7ljgPUADZTH5xBQ4IBbLIIjGmvA4/ZTEIGh2AAnYPTw3XLD7oDl6em+Dpo3QwJ7w8go74mvhLJy8RjTHZUHmw3YAG4w8xY8DTsAAJ/gNm40wALwYp9wEOmJeAEEEN8wxmI9JI60APOeMCAF/sC1TGlQNo4wA4CeLCfQwFTDmYy8eARLP7OUxhEweZzTD4OPt7L+8PmNVI4B5o2A499sH6GebsLjgMBEGOID+IyCgAKUP5w9wzFVLFAimIwMAAOpQ1eOIAYzCmlzw0N3exAPeQ5CQPwAMFKM2LF/ABZAIdSsnTHQwOp2BQzDl6UuIAm6sCI+pQEwALCY0YqClTNeidsDOyaNwxGarKywPxuN8w8fY8eAI1LMwYUVbMF0E0oxUcK6QwqwOxovHQMuI5gub7I68jWngIkI5AGt4FAIxKfqV+bDOcYoFEXLJfw8wzAlo5PUP8wD+bLNICpfdtI6xjH8Y1emAdQxZI20ANHw/AEHAuHvTEqYxtw83mAjI+eLHlIz3QyJI6/OG7LIMlIuQPuQxyiGUo8yYPsKHM5NnXPwALgAD6Y+QWmpQOcACbZh2AJaiG6UHXwIzyv7AB2EIYAPzopJapRSKyorbo9nrd2+CFAGZLMmgCxDJ/AI7LFroJJKYB44Iw3RqX3YwKUKhAIRQFOSj3AB3AJIAF/w92o5yw00CZJbD20Om+CrTNyI4o4AKXIpI8NZIXGFpY2ngOgQCvWEuINPTFtLMIw6wwAPowOoApTElTPTY/B+C+4yPoxZwzxMG1Y+RFuJ4w1w99sM3mHco3NLEEY4MyFYI/Y5PEWMlw3DQL7qPwwz1TO9o8OrMoo+yQ+Oo02LGuAAOI80AMfEJMLLpTNeIwnw0dEVuQ2IwDiQKxyKhoC1Y5CQESDYEAG5I5Fw+CIEmUknOQOoNFAK3AOaQ/pZsNYNEwzBQ1SrLQAAZZguw+E4z+w2PMFC41veiqI+UznIrHnRHQwIvoLExELBK5Q9bQ/cmQkQGXTJNQfIAC+48TTNLTM8oywALKqbjwyKQ3PiFKwyNIAMlO6mA2YuYIDZANnGrjw+AzIpY5w4OwI6bI4FLGeIwfUNTjU2Q+7TLe6LkQEBLDTQNnXHRLFauluiCn8EwuC3iWno6s+NwEKH4DsxKkgJ/pjpIyEhuvLIHmAA4ORFkYIxLDYgAO8IxaIN92osYyxDKVoskxMlw/Zo2OVcwwJ3I35LHorOSQ8UDBd41dw1Uw4gAK5TNXoyFAC0FGPRHFAE3TA/UAPw5/gK7YHaI9/GOoeHwQITPGSjYuQFEaN14/b5GkrF/4CfY9o47IAGjqbXiDBSVjYj2w45Y/RsN+gAJIEp4GuySEhnCYu8I7IAJZgYUduKLnClL91mfdTGo5yw8swyNmA+ceICL91hHHkKmgOoH8wL2BBA8WdY8w4+vTFJwOug/jQ0DQ0Kmgw3fTYzUeAyIxZAGXOoRLFTrATeEswxymnZomBQ4lw3Ow67LJJI94I+TYx4TG3o9B+AOoKFTNhUOlIIuQJParG0Bso5IYJPo/Z9u5FLIw1zkADsTBqFgI7DpqAUHOAKfqYkI6aYLQo63AAWIxEAI/Q5CQJBOPJOdB+PmNQhY1GLO0ALuGZoAC246BbGxAIgUqOqIMyFoo314B6w4UudzcFYI9hw5OoJbQB2AHBABhsP/4AqHe8erjgHgrBygOngCdTKzzMUWJu8NloJbwMr3ZLAwQAGuADtQ1Rw/uQwpYqLw6CAKmgJzUHnsH2QzhsJbwCJZqWUFuLJpTGRgHVQCBbEujFl0FXQylIxUAG89awAPUADHTezNDHTL1I6guNZI0lADIKCXYObsHQwOEAAaIwFLKIAKtQ038HLYMYMOryRIEB7w0lAGOLJw8ZPo5/gMAAK8w6uY7vas5TH8jr+IxRwLoEHR49II6MCSDmoTPCwI8TLOjQ2H+EvyRkGpe6sgELtQ9xYJPo4pI+ZI2eI2YI01TM6oGeI2OICvWL2BBLDXhqlGQxqqu0AN6BE1AMZY7b4warN5iLyvTjINnXH7THqhONTHSMKVIXIZmuAAmQyxABUvH3pktONxwNJTJKgB2AF4EFHgO0AKHoj/gP3xa2zk4JBeGcAFLa4Bd40nplQ8ReiJwAGuQ/fWEn1smgFNwTZAAJLDZAHLw2dMZ0wIuILb4y5I8ilO9o9WLGno9FUKiUJbwKhoJErNsANBZkxI4vGW2LDJLMBQ5w8YgAI2LOncfx6Np9jxwCdTHhw3Lw5w4C8eHhOC4AFlI8TOGcJHMrCEAGngLylGesFjgJ6AFLY+rsLIAHQwA3AOEUCGwC4AIOcC8w9p9pYAJpoxDpudpmVQ02zMfo3wAa3ANPTFvw2oExZAGLkobTEwACfQ5RSN6wxRQ2uXnfQ7FnNB+OAUHlbTNSGuAIQrAMtOqwDyll02soqZaw1ilIdTBbIy4ADZAFsIxbTEqw7MlCHo+5w3RSLQwLYlODPDTTHuI3xTR6w1lI9ZIzbYDVTM1TIxLG6ULyvfvNUtPnYAOwYDtQ9PTNS4J44/7mDtTMZY7oAGXOhNmG5LMgue0rDUQEVbHamtmTm2LHRSOHw0d7KCo2dMbMlGOLFHgNkE/IAPMOHwEyJZgNXIIw554VM4EmAJiaJCvNUE/IAAP4DAECPY5DcvUAP3xYFmHPQ8rTK7asUThYwx5gPvLK3AOJTBFTLiIxQ4KTLP5w+QACzokLw8DTjlbBYrGNOAKwy78G8YxPTK4I66LDfo91TGFKOqwBzNIjQB2AFMcNxbN+bBVzXcuPwAF87lrxJs0GnWE0o4/Q8A4LQAMBLFlowzTN/sIIxK0AAaI4mLF4EEi0GuALNOObTEweaPonSSMoEClQ5kI2/3NlTKvgNYw/5Qy4AAyIwamG1wzzw8YY2IwPEWMvLFemAooz4I8iAJhXC6rHj3ltQ2xI/9Y6JxIR6CUvNF4EAFLGQ5zLNawz5MIiwxtbC46Qtwy4eCRwOQ1tFUC1LMPLF9cejcedLFsYrVLG6UDAEE9oz7TPeADfo7oANVpiUUF9cZTkEw41DTJBOFfQygzFgENmTu/cFhXLxw4LSVBw9TeLgALq40dEfp8FIadwAPcYjCmr9LPfWI8xEpwyWI8A4zLTIx4Alo0SE8iADmQ5vLLBQ3wAKBQzUQMwoy7QyWE0QAPBbMLQADQ67YNvTAcIwFw5IAIgUuUwMiNhJQOdps1Q1eKXeLNSw88ouErOxY3fo4QZr1oKliDDeEnQ6fLMEAMIEFYMIEEMBEAWTVS4KOqIbTOAzOZw7qlNG7GEw/EWGFIKCozbYM5Q+oZvBgLNo4gUuSFMUDDJLEf0HBAMxwHSMC8ACAYz5mLtTOjcRkGp3I5bTBBw2/3AdI1TQ/wwy8w48hLGQyTYAqI1lnGNyDwEOIkB2OZ0AOwzGuQ7Y5bFwwaI3QwDnsfUAGLScDsGXOhAtO0wHJ+FOoxmY5MCdHSWCeM+LNKQ5KE6fLDa4xngGLrctBXSw5IAMeANQEH+Q/1w9GbQpMmAzDdKOYYxcYwRI1dpgxLNso9xbOgQBxogIxPIAJu8CAYw5LC5o+RIKQvvOKBZ48141MIyUUJHuDAw9Rox2EJWw1NTFUQBPUMUWHz44gAK9pqXQ642fpoy3w9B4xpoxn4+3LOTQ2hLASCElAAhutBZlixFuoO5Q2c+PxLHgrBn4xcwDmw1TQ5OIG/2gFLO6nGoxLFbFmw8GUPpPJkKe+nncILJmgjw/IAFnQ2oE102kVQ3wE5QwwB8L7zL60gxLDRY6dmPCTLoAF1pjxwAmQ/QHPPLDQwwymrt4wOoB5mMquC0I+UzhkExqABGQ0HQCBI/WLBD6BpRj5wyJwz4I6kI0BqW+iNUvK0ALkQM8AXVTJBOKf4LaHgEoJIEHWLG1Y6KwzKrPwyfO6CvUB5o1tQ2+UPWwxFw5Jal8dBZgQTo9DYCx3MohMOo8wvhwrq/o3nRCTYC1QwGo3kw2jqccw8auHZANGJElADUGhQ4PUY0BQ4uINmwLb49C43BAOAwzEE2+LKCY66LNGJG6UByiLlTFjEHlqkbQ9GJJqwOpo3uLBDpilTIqlOpo/dSKJxEcgr9I2WsQrTEdwyJwz4w9EOJpAHpYZ/gBZwOJmJJbNG7Lgw98UCgzJXpoVANoYJbI1McNnrdZLB/w9DLBggG0qbsxNklElACfYys43VQHUXrc41vw2yE9UE7q49nrQ24MvQ9wxMFE8N8dqoH5Q2EKpdAAZTCJQJAI94/BZgT4ONqqRA5WoeB0QHIEoqQ9po1lnH5pt2w5FwzRLCe0LjwxnQ3UI4BUeWgGUQCi3DIKDzw0qQxZAAOoBjXB+w3ylNWI+G2GUo3VQC/Y4LELaHpjAFiUiDmnraIstlkqYN9Npw1/Q3raK3AJMEWNOJUVRErMBGbUw+QAL+I3ZAGBUKhw2RgCDIjeIHVQDZAH0qlS4BKw+JmGoI7Y5UIw9E5KVIZW42/eE+hJwEE4JI0TltLCEhuzNMlY9KI5cwG4ZfQ+KNTJCvFS4GOqTFwyJQjKozIrP3/qsXB6Q41LBmmORmDdKKOqGLIIpoObCqVI3kADUQIDQ8LI4SY49yawEBXTLM4i0FDLTKbSfHMEp8HQw0DQ+jo2H+uxFoYAFrkGS8QtoxgAMBLF67tXHMCiNtTDYXARLAqI0sWjRYwC44dSuSQzM8clLO3LHBADFUPsQONQ3pI5AIzfyLVTLNTKsrPBgB5gPiADliVIaYh4thUEaLIV5KwEIEAMYrLt49nXN7o0pALBHsVov3/vLox1UOnFj/oseAEOw2YABKI2ncaM8Fg8UiNZqIxAtIZw7+I+AzOnwy342+w+OcXjeMhI4gAE9w1tOKcI3z48cwyecSPnMmQ05MP47vEWFv4F5o0zLEAFPAAFvI6U2BCbPNKGYgP5w5FTG2w2fLI3ALQzLcEw2mhksNu4z3AJ1LDbLFgI+3AMdoPC4yMiYbLFJwMlAQCox9TAA4PlqIurnwE5ZQA5Q5CKC+fF24ELBGCAJ/gP3E2lulGABjQ6d6InY7L42BQxEE997BHQ1iIlsYsq7qzzNuLKHRnFIx/KAVI8Mzh7YK46D5MC8AJ5Q+J455wBsYwgY/HMPwAOOo3vsQMurcE0zLOrsF8dNtQ9CAFMcO/OGkrEjpsi2hdzPIAKaZl02sqrNoAJouBVWhmI33qAg8WNOFVcNZLHVALe6LWLMvANE5Oncarox+2O0LBQI+arDBQwQQDyw7lTDzw7kQGKlDEE09QzLOIQrNwAPzLIdfUuQ3bY5dcV8AJXprIk/a49xwFIAJwSBC47PwiboF/sPjTCMTq0APorHoAJJTOzNKxyNgAHpObQzJjAPTQLOcUm8fqlHFAKHRgqSGZbB+2NBQycgBfo0dEcwzNZzHhOJ6Y8Eo0ilItTEywFIAPW47hI3crJz0HxY5VLKwE1ZIBnQwfoxVWj4qIYAMZ48GLBeGWZusceHXY1/w9kE7QHK6Q5W47vQ+nFmhWg4o5JLGYI2XOuPiveQwHY4/49uBmOQ+ZEwHYxNuNpQ/SI5tLMiw99LLFw1DE4wwA6EPIABJQwBY4voJCKG0qbgw63AHhOAgo7aHpAXhPQ2WQxt49gKX2rIIE3orJMk5CKO6Q+FTPBgELw6TQ8fY4YAEl6XX4poANIuefw8CuGuAKfLDCY2BQ1VcLIANRI4Oxp54dDECMw1Dw/kE/3BRdLPCIyvoGVQ8rvPTQH8w20IzoI78tPOKG6AKqfVilKXYG/I+Uzgaw+4TJawx/KOQcZu8FOndZAIEsBZgXzEROLGkw+fwxyuGnWESE4vGezw86yRrY3uwDLTHvsX1LOdAHDTOQAAMurTI0Jo03TIZI9F4PmNelTM8opNubkADBQ3nTLylFEQAto/JOfZRsmQ1GAAwwFlTLNot2Q4dwz5mK1o5JYzIabFw7bQG2o0R4L7zORQwgEAG40klNjTLxw5YY/sxA7KUoowow25QwwzAJIzLQ1tQwmQ62zvXpgCo24414w0DstUiP/oysY/LHpWo7FbBx47QANII1jgIkI85Q0ylBII3Jo3HYL9pj7o2QWFaQ5/ccwwGxwOoZkZxCkONQk4JQ41AClTFqQ2uAGRgKFAEFbG3Kdsw51LGlTIEAF3agMlCdeAykIIxOQAEerFRw6Pw4Bo/kxEWpgB8FS4CwAMfo5sE+2LLG0JXQx/w8NIBksOExBMw3OQ3+2JCQEG4lH3eryYOcJIAL8wMeAEWI156Eg44mBlqQxjQx+wzaJNJTMmY/Z9quUKyozPTPUY/27VZLH3yVhLDGk4MyM6o1HmLQAEmAKsrHuLJJbP2o+Q1it/DnTPJOaiUCEI28Y+OcUSwziQJ5Q0Dsn3yVgALjgMbTAQALSGjx8bgAArTOVQ29OAxQ05TK6sAPw+xot2nHVQCOQ7APHQwNCrHYaitQ1YFLaHmFIISBOHQztw/lqI5Y7f4zIAOI8exjvaY7+8EcglHw/aqONQ1HgHmLE9wybZo4oYEAD+Q6PWHY41eKUYI0BqfBgGAnttTHNOMOrA1LEJwBfcV8AONLPII6OcLZeMxQTimr91hyuD9TAew+dTP+SbUwywAPWYoG5MBELaLHskFFAP6wGZABKwzW8IuQMMrFmA1JibYAKMCZVTJsE/hkyGLJCwz5mBvoiUzksWosrEi0HNOBezBg44yQ9IwNfTHcY0BiBvo718R4k4BbNBZirTHQIJ54Cuw+MYmbw0vQ3eIYSw8O4KaUOu2G2LKuADtw1OncvLMA419I1XYG+Q3fwoLEKTSZAuD2I9GbWLrdTExXw/kIxDOEbIMb7ipAJCSf+bKpINoAClcTfyDGkz4qG4AHKlD2w5kEDZAGKlHKw9CAMg+A8cLjgKywPWhMiNnmwytsCDmjZAONLHz40XLCBbCbo8to8wzI/TLM+HQI7/OnLybXiG0E4TPOUxJpQ4dw1U4r/Y/keDO0CqIzFUMJwBK/uJ9nExBmI1emDFTDpbLgAE+qOrye449gEF02nkABfAKMOG3zHq4+d7EnQ/gAIywNxwFw6hylIfwyrQ+0I/TY4BLOxYyrQ29mBCE6dY74mqpbFeKWZ6c5HO7TFMI/uwxakJTkOEUEX43PSW5TMmgEgAE9o4x2B5TM2LGOLDiUiiY2yE9ECG3Q3hw1d7I1Q1lI9YXF2rGFIKqHEEQDTwGuY/PLHS6B6w+RIO8I8wAF/Ey78BJbKaYM8wCNYL8lDpANB+PaqIsrKOMNIIxTIzx8a5IMq7tU4x6JHpI+rTCVTPGBK3TNuBm+3H3Y09EBW4zdo8swxqk6aY5BLMUDFsI+amnX4v6Q0dzZG4/uE+EABhAF1TPqwwoAABGcXxLYUEeEyilKd8e3AE0o9GIx2OcwSAKXFeLOwGLYUHVY/hwDx8eXKViUjSQ0i0IUdnWozhw0erOK7g7KZLHrcAUuyCZqM3LN846STPxLK4UCsY1lo3Fo3uwNEIA+AeUQIzXFnY73LOAEGiAJ9wDSeFdpsb6PZff6hsmHeZw4BE8guf/w4Ok1C8aZwGMuoXSHBoB7YAqlCUI7gAM1Qx1CWA2IHaL/4zBqMTOFtQycUEzwLLLBkY6UVYEAPRsFeLEQFAQzAD7BQzJoAHBAPJOZFI7/49RQ/9QE9ENwzCwAADuMewzoI+ck08iM2LD1E/NKFoo+0AA7gsA4MXTANXOwI/+UIHABCCClw4Oxrtwyx3GtTO84+XY/hwIJLAG45AyWCIM0o/0w9nLFKIzl6fMerxdm2o/bQ38wE1lkorIYo1UwxW42DLBjTDtSoQalHQ3BABxogm6vjozmcBVpVH3dwAKxkMywzFUMalNBQ2uyXVAJ4aDfQ2VSW+3O0wNVphnQ60rKPokylElAMeAPpeKZwA3AN97DEE99gN9Q8UTrTE50w23YAykLgw/SSigAJlkHUQBACEsYmcsZMItrEKrw9GJAhY6NTO3APOeIYACn8EBk6A7DciHPQ+RhEm8RUcDW8HFLGUo9+bBngG89WBrHFAIK4KxAMXTI0TsxY65TPoAMBzkpAGkw444CAw7EGPVQxkY4447ZAE2EFIfLJTEG4s5TO+7K8E0YI7Zw6TQ7aYxZAOrsLPwuRmJNQQpMvRLAu43arPS+niUH5Ex5o1U4lJwE5Q8GwCQ+dVkzx8TTxH8wM6yQPo2QuoTPPaY/ZQ2pQz/gEak7ylAviL1IwuIHbY/XOMO4C4APZQwKrAwwODPE7/MlLJ5w3BoPTQA/wwuICx3LhIwskOboyVTBFw5VuB2ORA5YBo6UrOVo+VJmnw/vLO4TC+41M5K1o/sKIDSnew1zkOSQxZAFOnfeAOEw73w7zQ7VTHBAAQEPoQALw1lTN2Q6tOJ0zquk4VQ2sJmlLMVbJCKN2Q9BQ3YaoYAGqQ+0AA1wzfyP47kL5PzLGUQMYIhBw2bI1eKXZUAQAHvTGVSUAEAyYzx8ZkzsyYF8I1bTE0rIeLHFADciOBSCdEPR/sTLGGKPpPI1Ix6Q3UKb8AOIMP+E/DaJqwIoE1FAILLO3LK5o9uSIdTM7mCRwHWLLuGVfLPxQ4M+oNLKIAGuAI3k8lAYIE3GLO3ACQ4xSsK34/fYHtY+ZY9ZTBfcTGLFlI6sw7PQ2KlH/E9nrYvoPoeIRJM98KUVZeALgw5OnTWCeYYzFpqIABgI+RmN/sOarEqwxeo1Yw6LIxPUM5TIkYGS8ZzUBD6EdoAuILVLBd7EU6XhkIgAHlTMmgOUQDRYwAkG9OL+I+TQx6Qz3SY5IAQECTLPuQ/Wqlmw20rI8hCDmkRoyaQ0cw8iAMUDNu4yAzBtbD7o19ca5Q8vQwwI44AHlTC8eEKmoWEOlw9Pk74rBCqBYAKuY+4UyH9Ad7HQIKRLPClDoo+3AF4FL5ky3LDwYMxwBkY4v485wxFw3+2NGJKvgLhYxkYwwwG7TjLYkpTHskCZeBx7JpVX5Y50wOwI05LGuyT+bITk2ewzMZmPRI1I79I3QwO6mIDYHmw6FTmhYyCgM6hTJEy5I6uY20E5ByDxfFNOJsuNtTJQw8F0NwzLBHteI7CYz3AK8o4lTF4E3xY12rDHTd97JhXEczogk8yQ7XiAJIxtIzwo45IL7qtDkG9QCwwMYYy1LCMAI0Tp/pv2Y04AOMwBDeF2XZtw7enq348hwxA5W3zNTOOoeNGw9II1ZHRC44N9PK0B/Q7ek53I2ew0BQ5pADFbMEAHKlAtsHlIxjXOgDBC4xgI244z7o0nQ+aU1lw4zXFfTM6hVAzEYI29bHRwLIIvdLDEIzsI0LLKpcNTYjOE+3LHeLL0uDyU2hY5w8XLw30ArIAIYo6eglnTIvLJMCToo6/6OTY3hwGnw3fQ38wP+bIUvLQAM79PpZpieGGKPZfeOQAhLMyw0XLFEQOIkDQw2b9qdY9gKTJE9OLIXIxkGiFAMOrN16AQAAEI6hoI4AMyQ8XQ1TYiNYFOw1aQ8FopXpg+AW9IfzLFdw6bSercfOeNwzHc+mH+sUDNE4w4eNeI9uIIx2Dx8TUQGeI4CDGQWEmAEuLMMziVk6pIKiUCGwAg8QA4MqU29owtTMguUorFPILVo1QI4VTDLQ6A7JVQ/oQORICdTI1I149A4eB54PzLJsTJpqs7mO+nrxdr8o9pI2BQ7CrCwAEFTAhFGj3tC4/wAPTkFTYj3AKLSRJLKJxMgAJVuJfY+IwHylJbIFDw3yI1gI88AXCgM+bHylHvsUwwElTC4eAwI4dSo3o3MlrenjKo2XE3CgLIALBiQarNsw+K7q+INd7OIkN2Q+XY8FomTAMQLFjgLywHZo5WqT6wN2QwyIwtsAyI3YAPZQ4qQ19Qx2ALv481QzVOUUKSerNUiE7/GLICpALGfRcY2Mge3LE0CTrTMnJDAEEeLMF0GIoO0LJjYy8AJ+bKbYN1Qz+bK3APwAEQzM5TGUow1AOBSJTY8m4/+w9qkKyoluoPqlKTSapo1GAGUQL3LDIKcIww/TELE3nTMVYzijfHQNMU+EkHfbhJQAMlKwwGardIALa4G5Q+UgL0Kebo668WU+E8wGYAKxLA1AFdOPzomOQ6MOD5Q/qw2iANK4z6mCIIDKoyNYLzoraLMb+JTYwBYxvortAKRLHPSbM4mdoC5I/ZRrUY0+qDPTDliUHo18I75k0yY9i5PzLGhE3BAEsw5mQ2WsThw9sI9BQJlWBeLLhwyQAP/+OKKJ8ow1AMbTLE+IXGEXiT+Q/Y5APAgw3QxwwfGJqlBRwKuYwoo1EQM0AL3LF1I3041lw9pbBZwIJlpfTMBELIw/OkEFbPsY3ZYyHTLEAGXTN/I1vE1S4CJw79cWlrhbQ3q42uXsxwE7rDHpkuyCxAB+2Km7R6Q2eI47Q9HQPH3nwQCQ0CCgPsKOHQ2r5k3sAZZoF48rQ4+Y3cIG3TO/cEl6W97FuLK0AIrE5NQayQ0EEEahKBQ88fIIAIJ8D7o0mLF9I84cZo+EVLNwzDmqcT45kI6UrEWoGgkNhI6dRYx2IRQDYQEFbDGo+nSUVbPHYG9IfhU3zEZiaIRLLVTHDTAmQ1jYkn1ouU1P5vdSLxdnkAEvSTEI8vQ3wo1npvWw+AKGnIyaQ1YI6iUFMcMUvPrCneLC8njxbCZeDGk6mI20I/Jo94FPgEFsI0uQ+/oylTII43j3ujQ7q4xQzMp/Fqo7IybxuM5Q3nRG3zD7ozuLNCqZSzM4cUVQ+OQCvWB1Qw3LJc44F46fqU9TGlQJ/cZvQywAMk48y4ERosPo2AzMUvF347ylETBIVMb/44mBuNZHXpvxAQriWerGBMD6mHPrGXEzSw9wAF8dG0qZMEWqo4YAB3k+4EJAGk1lrvQ7uGQPo4Pw9lTLJsIzXEy6ItbPAXhcQG4446I6tQwewy5LEnYGAkB5LB7w7OLOFTKaYMvLDE5IQZkyY8RciDOGurCUUIWUlP1nFAMAo7Qo5JTIZw2TAN14x3TCOQ75QCDIrUELVo3XLJylJUVZExFybLZAPhkxslAToPAI++nsmk5LE9rTD2oJqrN2A5WIwkY3RABtbNHQBNuJXph5IAZE5bTOxwMF0Onwx7w2DTMdYCN8JCQDciNmTh3SoeLNjU6bSezeGLvh6Qy6I6mQTaJHeo22w2dMQwzOVlomI7To+jLH5pm9mPhLNa5El49+4yCAM6Y2jTAhrE+UybaqY+Kqw1jgK7KFnQzqmiilPwycAFATeDGkOsIKTLHfQ2bQL91qko9TjfqlHwQM6o3vTKPWNrTNqfOUxMeAAKo4PIymMN9ABRoyeI+I8QJLHj3m9ced7FzkLIw9RKVUDIjpqEU+NTGYUDf3Iiw0pY2uYqVohXAJMibGQNGJJWLO+II44DNI5rcARLMDLJ7LC0U3YAP6k1S4JylHBoJZQ0p4GLbDx8arozWLG5LEf0DQoyVSjs+O5w1iIvR/iDI+0AHwyXRIAgwy7Q7wzIYAG0qYqQ1HgG4ZXPrNGw1zeMiKbQEBFw5JY5UwCEht8UD5MLzQ0p4MdoF24K04hg4zNQ6PwxIAKfwwoALVo4x4Op2OOoyboASyKerKMAMtU2A2BOQAY41P1rRUEmUu3KWgI2/3L64/qY1ilG+w/27TJbBSE3fbq2mBD6MY6D2w+oeBqrB28ATo3Sw68wzQo9BI0lVMxw7eY9pQxJbE7YKEfFBI4CDCUkwqlC+fJCvJ1wzFTNwY/AAGZbCwABbTBDeBguMFAC+fJ6AOP8GIoCMTn5LGYI14mn7k23YHwQLGfWCIPaY22w+FTHVTIZw2MumBblw6sFoltUwWw/3k7vQ1QowOoDNQ80ALXYwbky79ZMIusIMF0JeABnuRGQ/Y5GUo1jYvwAPNkw2E7QwPYhDWw4euMlw5WwwqSBeQ2uY52I1lTNPTC97NCrFNOKc2rG0JUvK3AE+Q7NEFvE3p6LIw0TGv/I8b+DAYy8AADsSllvMY2OINEOEOLDMZm+UA0U+5FD/oueLKaZklTELw/uQytI82se3TOC0yxLNwrdF4C/TOeLKnQLNoiBLHBLJbDP/o05Q6EfHZU9DYBHw+5k84cZ66bhY2arejQx+ILNoltONnrWuAA3auZJoFLF/sHhLkbY6hAIp6mYMFyQ80AGOqfkeJdk8xwE2EEDskBQ/TkHfo/xuGvwCdEAww6Y+Mew4ZIxfo1xY8RwO5w/PLJyk3dJEy6F8KDSeJVTGnw99Qze43c5BEAF+7J0o1d7NWI4DYEQzGb9kOk5tLHpo0m8fuQ6vYKVISmI1/Q7xw5FI/oAObTKUVU9w85uRTLD5w0UvDTTCOLFYMO5Q9bQ8dTHXw67k1jgFnQ3hw2XE2YI32gEV4+ngEVbBIrCmOH0lBzxBsYxa0167ox2PNAPKwzDTGvwwPTO8id92o4rE804WTPxEyxLH/LLlo6liO8lBpY3+I14w2LbMkImPLtYmH1TOE4+jcbkiIzym9o/7E7JALywGA2LiQ4SAEdoLCY7qlIdw9ZTE5I+rTH3oCZY0rQ9fTMmgG7QBQI6nQIpoIZw4pTJqLgJLIIAPhwPZQ7qQFtOLIAOUFO0AKc2jhwxfYzO0J/gElAJeSAtTEtPq6GQqHQRUx5LIlTBpRkxhDbYCJwxTLKclFqQ0qQy/Q5w4Ez8J/Q0X45pVZLE9xAYkU54aLFnC78Jaw7QHC4AEkw61I2IowympGQztQxUEy4I6tODwYMO4N2oxII3QwAtQ4CDBhPengKQE3xLIEACXTAyEx+w6bIxE4wQvMdoHLw1Q8fZRox4Im2faw24480YyvWFskBQrOJQztw8LI4EEM5Qz0/Qpjq1I2hY/c2i1LJEAHZo5CAE9yabYEuQzlo8lwyjWDFTKVI6QEwHTN/sIlw7yw8fIw1LHhw9E5GnWMC4AyIy1LIhI8w4wymtEI0jw3amh+LLNTL2I/fQ9tQ4DTHpo5HU8gANyoXBAHcY/TkP3/pOIHBoBtw67KMDsA5YhBLGLSUmAKaULjw2vwxkGkilBnLAxw3fo4UdmbI5G4+AEMH49ZzM7Ofww1VYy8eFbSLIySUvPlWkqgHWoyeQ1BueSQ0qw9XTEiNX/qQVI5CST7THWoz1I6gU29o/MevEWIYUxirAQQKuky78N2nPSSvRLKmppvQ35xN8qWQY3Po3lUx2MMxY1McDmqUJo2dMTRLPExGVcO9o2NOAA+OdpmdOHxo2csbyvQNTHwE8RwGDkOJQygzF24KaY1UvFIZqqw2dOBmmAykNsIzXo5ZQHOceUxB0AKguCwwC5Qw1LK3uMb+HIELwSMp/ILI5pACEI9XTGqQ0VALe6MCACmI8GLNd9imMIIE8eAK4I4SY7ZIzXNKAUL9uMiZGHLO9TJ2w32QyWI5rY+5TA8k1NYGgALUwxRo0YAPqrPm0FZHQlo4HmGwAD/okOwy34yRQ1LI95QzkrnskKqfbVTG9OAjrGuQyxAOYY+E4+QAB/Q29bDIKV67q5THnsG89fEYyyQ5Lw1AgPpU/t7FYEFCrKcAJSSiboKLTI6iGD4PlQ67aq7YNuIEtPrZI0VbJeALKqTDWFaKRgAPlWu3AB0AJtOKVokWI1c4/lWnArG8Y/po0BQ3/LOarLzosauDTTKHoKPWNsDKtiCXYBRQ5UvHorJpVap8No44zcVqQ6Twz7oyboHp7m9ODIKLvQ9CrM04JhXCTLORIJWqUFTHQwN9gKjfiBINu00ahO0wLGQO8ehVpVu0DFQ6lTJkIzHkOQ4GPMIl0AkQAbk0lTFM4AGE+UwI/LDuLHyw1PWNqkNPaCMAM1auM40lTBBwwuIMNLPcmSdQ+No0bybaHjBqBQzOGyL2w4RLG+w14YwJLAj47M+DOUCmI+/OFeOO/cGQE95TAhY/ZRtpYkxI1XyYVbFU4msJsoEAtw5MIhwrjrw/W4xbzG3iINLHdJMFKCC/q5E19gEOk4HuvuQ5/plylPwydjoEywKuk+97NSwxLGg2E5PajYI8J2YsY+eLJAFEjyTBQy8KIrQ3+bMjQ0qY6aUG2o9qICOLJBOJQWA6w1341MIxE433oEcgnuAK8E+ug/4FKTSUR4CUzl4E70UzUsEorCsY+n4zAY4hQ9m40mAOxABefMorVvejGqj+I0nYMYrMyw6UhEmUolTApMukOXRwFiIkaLKA7g5Q4vuLzjN/OBG4zESDKrNK431TNmTkLoGb9uPLG44ztTGngD3AD3SXXpjNQwOI/H+CvWJ0zhE41NYDQICNTFOo/yw30eHwAZLE0DsgtbMHw/R/sBECIIFuLEl6fCE9rELJAHe4mnw2tTOZwwQvHQwF1YOIkCEAD6wHGIz4AJJI2LSZpQ+ncYTk5Po1JiUcw9TYjJU0iNWCAKYkzuLII43X4kkZujcd97JSlE9o1d7ERwEnYA8w1KwzAECHU9tqKwE4dw6sYx8nnZY7p0BtbKqfSHTLlTJ3I8p/JgjiUkxI8cTLP+E8LQ/Q+K7qnT4+rsH14FjgG9oxOIH2QzrTIxIAkQGMFHPQ68o38lGakxtwytQ0AUza43raLhI09w1/ozyos4rIjpgqSBKSCewzpQ97YN9AD5w19cbtQ/2iFvExSw66GeNLGerPjw7popeAAdbPoU1xbAKALCY3zERPLHfQz5MCsY+ngH4w6XQyQ0C97E+Q9B+JOoA6EDmQ7dowIxJqLmH+luQ8PLF3pimMDCmkeQPqlB/KELLMxw/c2l0w3MlrqlInY+jcfaqOm+KzdA4LN5I8yQNGwx9QHylKQwEmABcY8tE9bQ9mrIgUhjQybQKs+MlY0gzJFQDkw9AzLUw444LS2ouQJ/pvgALuLBYk7pw9gAAXU6vYCboHlbbuUFfTExuO+nnek0nQwgowqSASCH3ybxU74mpzUNp9voQGDLNnXJ4U4JLPb9SzEFaQ5+bHQk3gEIGQ/cYiUUB0AFmA47LLJTGVw9tAIQZpRE25UHHoxwUAfGO9RGrQ2+UAlo7EeHKw/KIiqMDyU0tOO9TI5wNGI4dTBVWj1TIaQ2NyKwwAdQwRI+Oo1/w01TAJU14E98w29bCZeCksCdQ5e6hFTA/o29uEdEeAKA/TKJxJ5I5KgLL4y4ALxdrfACQ0KX6j2KYtTLdBquYwyI/wAJUuH5LLQo1Y07t4/WhDiQIio3FI7U1l/iGg2Jo+Lio1I4Ado0rQ5qwKdQ0KmvUYxLDQdbLhU6NU992os+JpoxwrgxI3Zo9yE8CI27QNho/yUAJozFUA3ALOuf9TIzcdII0z8PCTP4FI7Qz6I+G2C+UBmI60rFHQ167sDTLBiba4H0eNRo5G4xzxPHQLWw4VAK5o6LwwNLGMFJJbJqwAdxN+bApjtFAIB48LY37TAyI7OhdTjeSQ3qM7E+G9vVvw3vTGgI0l1DWw9ZLBOLNIwNDkLZw6uUKU2M0o0SrF1bBeQ4Zw4I1lZLH7k4h4gh03pYbClIUAKAUGoxNo4w3AFC42lrsEwzkrlOrFpw5Ww2MJOZE/+bIUAP/00MAJiU+DPM4cUaLMAACfQ3uI79pjuQ2oeOOcJtOO4UyTopvBMPowBY7b42/I9hw7S2vZosfo7No5xE09wxbTNVQ86oB/QwpjoXSJio+ZJq5Q1Oo5bIwhY8xwJZY1LU07YNbQ86Yx3k+ZIzhYEEQCfQ1pam49BG4yDmvMEzTwBNuNG7HLw9p028bN5TBcU0ywIB46MCVd7JpowRoq9QDN5cgzFNTHhqtLTFNYL91vorFJU5MCV0w5rJUjyRqAJDOK7qjYXAkQPdTJRSIUw20QBErPWhEzLP/AGp01q+IOxuck8ewyWiNK01qQwGo4x4F3uKW0GUQGBo2YAHxFpKgCV44MyD2wzfo7E+BfcdwYxwyOQ4H5Y+uk+LI0so5dAHX4mYI3wAcLIzQHHbY+8egymq7kywwCvoAZZtPk8zY79pvwwAkxBMIEwAauUKzkC5UxHeMXTPp8ORmG3zDE5CmOCwwM98GkrDUsKAoxCgOyQ7etEmADkE1Lk8wYcPw5BOK0rKs+FOcU0ABTcapQ4HmAqQztSmQWJkw5FTH5oIAFGRgO5k6Sk14IlaunFw6mQZZQ8i2lxwBt45W488+H5pl9+H6ky3LEp4E+Q+UGtbYPNKORIB54JOnYdTKliDOmNrTBTQ8Z430Am1Y13E5jk//o5qlJDOFJM/UYyVLPdLLuGWGkqFwzXNDXeD3Sa0rE0UCboBK/ulIOqwFIAOEE/zLC4eEyYywAKAIyro9sekVLJ54RPUHBAKsXKkoylTJbDIXGEdoH50/JE2cfJ/gMfo55w4lKugAHNLBG44eLBQzGgI2VM87Yx6JJjAC2QyJQHpo9AQI5Y19+CqMJnTPwQwDQwBY2dE5u8NHloBo4s+EqY2nWCdQ9RwOICF87ucYGurH0w4PLNZzO/cI7Q0eE7Y5cuI+VJn5oCDOPdTJXpjkOEp8LFbJzLKIAKLSVLk6qwzTQNGJHArH3YyZU5u6Wuyc98LTE/zonFIwKUEIw+BY2FKJUVR1ZP7AOZw5rJfZQ6vw09w8b7imMB1ZIY00WTZyw5pTHdw7XnIuQElAMohFL/m8Y6xyBE4F3arYANnU3Kw1Rw5yoz+Q4KUM1QwwAFybDlo7DUGr5luk4m2T20Eg4zN5asQBMwHYrLywyDIv6Q+6QyhFDxwB5mG9cdqIxygHSMG2owPTD0/XMuXFAKVk8qU5eQ6p8Onw7rTJQACsY2KlLboy+UAgEFuk8gAKGAdEw53IIkU1Q8WyE1yQ31LIiw8rQ9F4HcIMGQ8lAVXQw/IzIKY/Q/t7KjfsFKL5QImLHfQzaM5rY/OKA047ywMPTJQY2JbJHTHRINnrU4JBAzdKQ7eY9sDDDM1BIyhUCnKdUEw2mn00yFky4w22w+M42Bo+xFqcIw/oxwyAPoyeQ+rYx6Ezrwx2EBU7EBQ/jLBRwGaw2iANyoXxTdB+GqQ1pY8QrKTQ4gAMNYBtM5zzHmwylcZoABQ2ErQ7IU88owDQ8EE25Q14E7lo1ilBOLHamkAFD5w490/yUAd7MAFGTAM5w8+bENbOwGFnQygzI5wzQw8QLJ/gH6GfB+LQwLWLE0UPwABD6GngAFxPTw9eiSZTFKw4vuM1TMkxL1I4J42tOGhWnpYQIxGYo4GQxkGj6mONTNExJ3GL74NxAXS0ISAPgI8Y6G0o6Xioo4C5o8Z421w6RLBQzP7E1cZgD7MtBc7OUNk1GLGlQ9BE4uQDzw0skCFk1/RG9uH5pv+roZI4DmJlWMYY41LP2iCD0GYMFaKYBcBeQ6XYCDuCro8yw1TrMdTOrdEYIAow7CrFRw7uSeMwGOVdVkwdbJqlNo4zFbIvLM0Y+IMK0AHZUFeLElAKZrhK/j7EHp6ANTKQvt+8eaU/JQx2gO+IHAuODPAHTKWUOJQ+D0++7KIrDQw3qYzHQxhUwK00f4wIxIeuAjQ1/sBlI1PIJwAE0oy8nnJ+OK7o/TBlw8YY53Q2gcFtOEFTMp/KTSbc45UqeryVdTOQAJ5rhslGoMUqwylQ49QMalB1Q/tCQWw3+8rJmidEL5QP849bQ2bw6pcI0U6qQ8aUN/OLPQwSyKQo0YAPpo0lE/74+MwFQIze4xH/toYGhLMCACwAE0UPrwwASF8ox2OUTEB1ZEeLD2KamQ3ylLnyB+bPII4sU5qlCVLJsTF4Ywhul7wxtbI9yZbwEL5Lp07imqxww5YtaQ87qretKmk9u42JTCdQ0p4I/43S6DAEByiBHQ2BMHnTBbQGarRcY64rHuAKdmCUUB7wyZM/zLHSw3hkNIfDpbFrxAxI9wAOKafgIxQIxDpquY6+I/n04iyfpeAK03S6HiUBBLNnGrRUK+MMxw8fI/8432gFDTPTw9CJKvYFUQPH+EOLLzQyPnO+IJsraoKKLwy8nkBLNjU7wANGJK8w5bwBtw2EkyecS0AFHQ1ukyro67k2no7yrJbQA7KdYw8mDBwAOOo6erESAAXU6ZwKNMxExJf44kU9d9rNTN4yBLTOxAE3APHQBx4zZADqIHBADl6bFTE+QABGX6MNVkxfo6f4FlwwFQHSwxW49yE9hY1lI6zdDsxPTQIQasGwCro7oAIDSkpY1hXE1AIvw7mY8GUMdTBH/l87lkqfqSv7qEYI1PII2Q7JmvMekxuCEw/BE/ow8dTG1LLBHm5I3MudIANnramI1/w8oqXhkMYIuRhESE3iUKOqDyk8+KOtox8yHxY27UKWMxKkJ1YOX4C97K4rCDuFEQPqlK8jazSriI9VmHp7qwAIkI0SE4nMxwAEG4lpw6HI4rE38UI6IztTOI8bBw38UBPUM5HGAkE0CesIHHQxSE4J4w5Q3OQ0f42tOG+wylUBXKVylHhwGxwLwzEwwy9QMGUGLvs+cdZI9YmGoxDSIz/osmgGFQw1M0+knGI+p2PTzG5QyRwLQHEgs2Vw8Po5dcQXTKExGzTGZ6WDQ1/o+ncauAFqo4WTLuUI4rE9w/47mHLPGQHc5EUKXVbIvLGVwz6wBG4NBQ5nQK9w1eLAdxLFU3T4xKSLHLMuLEIGuAKK9powo/3kyiAKEI0nYIywJMI+0ABUbqsYwgw0nQw24C8KLslMfY3HwK4UKpo7GQ23Q3uLDtbHiI4pI5aqEX4zmqS1Ytck8k4wKrDhw774NOLIUAI4rEjpoRJDhLMsAP2UJuM/uw3GAIh4n7E7ylGJHdbYHT4zIKPoeHsw3EIqcgFqQ3amjtTIxIPfYHVAK8E1QIx5mEf0IUAGVM22w1u0H/LEFTJ6IUMuS6YBkY2o48iKTESIdQwyrLKY/rw1q+IFbF9+BjXEc5IOcHKlPR/uaQ6XikuINAzNGQHLE5DcnyoSpLE8s0lANMxLQHM7mM1TN4/AqHQHY1Dk1Dw5aiDYEM4Zg2w9XANwY/0lInM5BLCNIB3IJByF14BsY3CgP/AF/iO8lO5k3qI1+huTY6U2P6kw7gox2JIEBbQP1AD5mBfY3orII43xLESlGz4xE4yEANd7JMIkSEzs+HFAM6hS8noKYi0AGBo0cQCHTHlI/cmT5mPaw7imvKwzKrLf411bM5HMZLFLU4wozOOMi2lskCC/vuQxnLOMYmwAM3LFMI1GLL9uL18ay8YpY6xw/oeCT09rTACDDfQxwAFAOfA44HQMpRP9VJeQ1Yw3ZTMw4zygMrQwPAvwACzWOrsC/TNPTAlIDliQ24C9QEwAbrTH6Gfrk3FI5fErZw4l0JXQ3VAAD0J0wPJYqDarII1LY3NLGrTLrw1lo7JmlfQzOcRYrE+Q+/TIAU/wwNGI9B4/wGMdoNwzAirCNIC8w9TYhWIxC41vI81TAK01PIJbTPU47FswWI+zoGno1Uo7zjH6Y4KYmarVNOJoMFTQyEw6sw6gU8b+GuQ+4TKfqV14OnwymEG/I4/TNo44HQDuw9P4DCms6rPhk36YwsRVbTAyrLwSB+RqeQyWiC6IyEAKyohCRv/wxDONWI3vI4FCVGLD1ExYAAJI4x4HPrMrTIUsz2I2BONVk6TLKdmG3KXLEwQvDHTP5LM8rUBw7JIDXeBEkA8s4uIM4w6PWpd7Kpo4U42XTJw4CJQKcmr4mjFbM1LNG7H0lJPo/uw8w7lzkIzcXz4zZeGNyEOUlylEWLBzXlxwEdwyzEI1Q6mQZqwCSrABY9HSVfE3QwFHw5o4FT01g8b0TJvwx7psalNE5I4ALFbFTrD1E42w3AuPRLNU4+rdHCYkBE0rE8eALJIESDUNYJCwwY44urhjI+K7kczvkExTLPrCkvQ5HADdKBZwxg4w3AGOqTFbGRgElQ0zTF8I4Fw0BQ2Z6eXY2Z6VGQ0klPsEx2EO/TIRJOtTAiYwJ4xJQHBLOjQ/vcSJQsPTHPrGfdQ8w4dQ8mY6LLB6LKwYCQYwbIPWYjwo4KUGyo8TLCZM/XamSoyerJXPLZw7FnBpo6345/8V4IhQbUqwKyokoE5wBWIo5u6Qkk8DTsA4y0FNdCrExA2w/JOdpbGuyUNbB47kL5Ix4OIAEzTHQ/Hyw/WY+NQ5kwzreOnM6H4PoENzLGqo5bQ8Eo2bIypAHeU/fYEL5PBbClw1+bHKlG9o7xUyZY3k+P3k4fxClcd14+BSAymig47KqYK4DYQH8juCYl1pilw7VTPC444rF1TMK4PoU5eQ3C+Xj3mJbAnYPWLEndLwSEzcfCqYdShnw/H+OvTMw7lsYmPRB6LHPiPrQ5JalZHXc+tQOb1QxzNEFTBOIKcgPp8MiZDo8XZUzSw7No8oEOYORNLEHzA0GB2MIWEAPo55wCPoxLkJw4KPnhCbD8ACTYPwAPJTNu0/Nk6TQ9Xo2mw0Xo2lTHG0z/oht4wW6ULEy8ePSI7Zw3/LIpI5qwD5w9eI3raGqQ2oE2DTL0KcxwOUGjl6RZ46HRvsEz9Bs3OcTOLiblwEJ9wJv43nQPgAJExIlw7ibr7zOzw38Y3ZTGH+ht45CSZ2LERwHOAGRgEf0J7Q0ngP3k5MifClCl0yN8FJiYPI85udp07enuK7l3E3fo2gI+1LEPw4UAq+I0Lw/pPDZTKLTJQzCBLNUvGlLKmk3PrM7Y4bRM0ACWI9hI7PUMHwxRwDuLNExLdLGoxDwuAJoudTGfoxak3tY/xwHMuaSk/CEzZrslAbGQx97Aew4wo0TEOek760mxwOA4xKSEyYyywONLNHlqqfR3AGOIEOw2OQ1NAKUZg3amGrHSGppQ4zcbNo2uALO05+bJsaOzLB5mOLI/WLDtw20MzxfEDpkZU9+bFhXMdU4KUMYIlEaEcQBzQM1IyEhrjw8+bJ5Q8lLH5LLsxKuY3PQx6EwgBBPTIyQ14EExuMwvmmY3OQ1PTAhunOIHLE5IABkEwh07wzB7w8gzEHzHDU9E40BQ9EOHJTBmI0EEAhLIrTPMY8BmAQvLAUy+Jp1w6clBJM2wAG5TOdTI2w9lQ1jYs+cWZCdso5pVc8wBSw5qlEFU8wAL9TPEJQWw2Ik62zkahFuiOJ47qBH+Q0cgpHuPkIza4w0U1fTFZE6Sk3Kw5rZMBLI/47RsF3uOAw7GQBExIo48M06AUF02izoyvWJg3UcznVY9W46UZtnXKUhKmIzNSGNOBSlBfY8TGrExC4I0+U8dLI441o458EwQQM4cZCANu01ZHf2YycUC7bhTQ+SFB4rPyLhpasIw95U9zLCzWI5wzJAPLQ3NLEe01T408wPjQzzwxJLDyU0+UyEAKbYKuUBFw86Y/PTKNEzXwPuLNoYMdU+aU2hLLGfdMxCwIwqSGOQ2qQ6ro5hXBWLGPRBhoLc44OcB6wzzw19cenw08w23Iz4I6zI/VQ8i2l343XwO+nrrwxk5PAEE+Q+8emDODnsed7ESw7VZN5I8yYCFor0TPDaKCo9yE1SKomI+ZAIeuPGQGTAL/sJy8UBqdwxM/nrhY1/iEzwyLElPk6zdJMIzCc/uw6ywEbNOlljuw5nQPDaAJtNeI47Q8147Bibow7+8BIELRLJ0owRI8N8asY8Iw6FBUuyLJmsJ2YCDILEP2UK7apbIJ29NXSDGqsmHbKqaeQ/JYuXKR+2NjU2LM5AFI9yUvSSTYCNYE4ANjU4euNYmAB8MohCtiII1jAYzXcRHQ23YKvgIi04VTLww43kwns92A24xJCAOA40gkwPw00owhw/mQn1ox7psdoDFpse0w0UzTyXkw/hk27k82LFIfFFYwEoJfTI1bIBo030w0xkOk2nple0/2Y74U0mAABujWLDZmN6LjhsC5QyyQ/II6mpjpM3NOJ3TJ29FUDEL5CEANzjH7E3UIxVzYvGXXwN92sXQ0byb4mhhADUsNFI+oFEuLHZo8Z6PsI1LQ6UrBNoz4AFuw68jW3IxLw4LLNTIsO+kfsyZI3ZAHlU81Q7pTCH9FMibrTEpw67k9nU8kOezNPLAHJ4wOoLDIxG436Q5KrCCgBH/vrLGnw9e4Flo88IzbYGbQPsEyIcxQrLKqQjrO0wFxY+OozJQzDWFEAHPrNaw6e44eYzTsy0FDpTER4E3sEqwPb5DHQ7Kw1OncrQtd9leLDOmCEhv/0wxw2oU6rwyxM30w4+c7NOHp7jpACilNA4+EJqoyXjk/pLEiY4IxCzE9tIzliR5o38lFAzPdTL9LMwSGoE0lE+NTLDw5mQ642aFBQZTLr40p4JIELtQ/W4+5w/KImhE7Iwxwrn5LIM4w8w3No1fTIvuNnU0bY/wwBzEA1LB1Q1HmGU+OYYzIrA/w3j3oyQwSCDdKA8AIkIw8cC3LEsw0x2ZkI0JwMEwwhFHBoMwAKnTM6UJCSe8ic+KFbI2AzGluhRw7QzFxbNrTDfQ0klICs21EKQwDtULDULG0GslDCmr1I8WXKpo7oEFAOd9E3RqZgucoqW97JkzmgkGew6A7NnLMvLPow9vTOxwD6ul0w29uG3zO/THwAEbQxk06RwEi0O6mLNIAWww3mEMufqE0So7aLMUDF1LLIw2WQ03APNWm0U81TG9vajfqPnqkANlTHnRNaQ3zwgFQLhIyww+SFHew+KLhngO3KVJif+UAhLKhw03sLxw3lbY8hBZIwqSMvQyfY3HAkrTHwzNa5C0FFGQ0iUJYAK7an0eJmQzMAGuXlMcNgENtQxv4+jLsCiAv/pQw48xDDTK5Q2pQBKI4OxnuLPfU5po2H+FYEFgAEiUCvoCLMFCALXY5/w+SFK8jYlTF3M+97AqlMY6HXLOQ4B47pOw2r5uAw7XiM8I3TTGU+P+bIJlgfowkxILs7G0J0ALBic0Y4SAHLw6ClAiY1YMGurCzomnw8QrEskBr6JVTCqmD1E7v0x+2OW4LCY2A4/Kw7bo6dQ4MyE5Q6r0+Hwy5LA404nEwtQ7qlPwM+3LCp8OvLMuI8TGiMoxNuPQAF4E8wYfMY0cghqwIVVdi5PzTBt40nYHBAE24/fYLf49AzKxLHKkCZMwfUIrTOlILhU02zDmcKpTF/sONo6HI4BoyOLOxor7qJfTBezMxw2orGbI1McHUQAcw4I4x6qn04/EM+8I8K4GtQ5+7JJtRbzIM018dDO0DnsboANxYCExDXNDxI4fxGZAFLoz2Ka6GVHgCl7vvcVY032gNsAOBY8wAAB8PNKFTQ68Y96Lgjw3p6JWLMDiDEEz4qN4FF1TPHQIWEMceA1wzkxGfde4TADSsxFm/2rhYy5LP2YxSsK8EywwBZQ17QxzEPTkARI1TYkww4mBtqI0nYMCAIXI/NM+9oy6iBcYzEIw8cD7TPWYpu8AG4/6Qw/UMlLFRw+wGCDODx8bOcfsYycUGlrkahHnGAtTOmUGDTPaqH2gBhU2XOkUKQASFIZtoAIMlDvI3Y4x9QOCYvgAG9bLnSR2YN7YMlLFNAC/Q10w/JQ55ww2mkNVuRmIh4gOoCjWJExO6mGnWKbiEL6WAzJbzCo7k0o/hk4IxPrLCdTDBNYi04strII+wGOME1uk7GQGZ4xZ43raJFwyrQyx3IzXPgEFEQBcY/aY8CI3FLH5E7ooyHU/9o9B4+6mMMrEUvP7E5wSMlY7YABJQ+wYKExAOIxI8f6k+1LJyo00Cfzotnc55Q/RsIaQ8xFo0wx2YB97DtbFmA/5LOdprhI31TEbTCUzpEAOnw9KI9QQihULHEztQ14AGo41pY1clH3qF/iGb9ghYwhLCzoh3AHLwzbWSdEJ/wycWBv4wZ06wYBjXAPTJzEHIAI+Q/ZYnBoAKXMxw9ZI3EIu5cESDUKmiSrEuLAiY/orBBw2OqZSSrfYzCABlwwWwwqSCirTbYHz4/i6Ugk9p9g/o0Ow7uUGo4yDI5HuH5pg5YoVVaMCedOLdLLXiKLwwuw5e4/UY6Qo5fM4ZI1T00c5G8Y8VbG7ToXGIBE3ExMiNvOkC1TKkrGKlGZAAes07YIrTEWUGtTHraLPwvB+JfTJbwOnw+kAFvw+w8/yw2ko/2UE+kmno10w02LC6YDHTaSTOE/jEE3RSB5LGgrF44/1kMck4hNm0o20qWOQ9UE2c+GZ6WoE3tY+ncW+LJwEKTLAYMNeo9xbGxI4tU0bRKc2prJe9o4MlL9pnuIy4APc2luQ5twxOLAQQLOhezw8vQ+jc9lQFroIBcJ4rCBIz5MBcU2vw69QEnYLVo6hw9HQJJTGwEP/+BirKpo+5qs7oxCE3JTMQEKtQ3crOryWuY3WrIRLIUdgfEEaoyb04V5EJwN6wx5LD+I6sXNWUzVOUIGkJwHpoztQzmQ+I8SQAFIfKsQFzc5u8BVWrtAIMyL1Ix4w+NsJvLG+LJ5I1+huMwEuyGCICSLJUuDwzEoE7xU8QrMy4HhLk84//AEiNTLQ4CDCOLE3APt7E7/O5k13aq4cxhoIkU/XOF/iKpQwLaibZhqqulluW4FC4wFIwj467LOKI0ms2EKr843iI8bTJCKIIExggGpQEAFLMlAiIyJQkgzNGw0IGpd7AA4MZY5suL0uGAsJpqsmY5SSnSMBjQ0L6e6mNbYI5Y4jLvRsKmplNIBRQxMwJrJTpAMBI7iI3orO5kx6E8lqEB02CIFwI1AgG2LJrY7iQ/kxEeQJaY2DQ2Oo8rQ+pUwA4DYI+IMKmgKwYDSs/84xBs+pQI1APoeCDuByuJQzOMM8DTtwrdgKRgIw2E3GnCdQ21EFCAEeEzKuM+rv7Eyg41Ws/kI1Lo8mgF/4LXiPbwyBIAdYO/o8iZPkE/oEFkNCdQwuIN9sDLQ6zI3pI3q82Bo1uLJAGmFIPQHOnwzlo7NEGEKmg2P+bK+MESE4YAGewx4wxtIwBupu6V1pvXplq+IUANck9uLAASC2Y6pbKclLFbGKBBJQ62zi0AKd8fAo/zTAwI3fbuJ0MYYxvomNyF3IJ6ALZw1UDF3IG2w4/Q6EfIxIM7mNXTMto9rEMmo8gAOM404AKl4BezEcgsYIrKqT2I01loLw4pY2xI0uLHFAK9w1VY3YrCUKZMkzGmmS8QnYHuAMq7hak3YrGhY1YMHaI8MzqxLO8ekwk1tOPOeDfyF1pmew1T48RomOqfCE2NQxK/nY0EhiVPRZ0zklTLxuJVTDZrvuE9F4Hxo45wNnc/yULNomU+OjLEgzBksIe+DGLO5w4OQxC437k8tBWncRC49ssxd40OLJe45MIrwzIs+N/OPXOIV5IOQ4YU2tTFiUrwI5rJZvLARI1/iHeowDQ7r4+xjmBMKmgBp4+hAOncSFk0SE8IEOnFq9pqkIxHeJBOIBUViIj6mP7440TvoAGYUxZwGo45jY3ExO3AEf0AymmAkMtBe/OEiUPnTDLQ25Q7HLIpTKNU5/43xo6PniMo2nWE/gCerKvw5wAMqo/yUMe0wPTOQ1slLPDTLEAG2w1uoGEw65oyN8EN3b3LMXU0cw56MLnSRJM0UKZo4BEkB5o7FsxZI0cgrBswQvKm7S8eEG4uXKWqo0RwOhAAQQFfE2arZUvL7qFC8ZfTMfEPCTBZw0hPillp6Q2Q0g0xosrPPU0U4HBwy5I9wEPClCMwwrc+JQ20ExkGvtCckOahY4m2RiwxmI1uiKOqI2M9nrReiJnTJpLDpulq83fQzBqCQEE2EJ9wJd7Pb5HwQBbI+arAseFExBfkwG4xwrubCuD0zO0HS0FXYGncQ/owWI2esLLwMAY1bSGNk3LySaLF4IodIx1ZBPTGxwLZw8Iw7EGKDagSyEDpsAY9TOJFw9yI3PQ5MIKbI+HQwdQ9sDLnyC46UWI3hkAiY20oxBLOJTBhPBpzOllhpw1jYlNwbCY4YAPrLH6MG3iOic2Oc/CTPGQMBztnc43k99AEFTGRgArTOKY65yaPoDmw85U3EIoPw8vLPa472BIBo1arH3Y84QA5Qz1I6ZwMiKROIBBQBwUEBk+f5s5ueqwFiImS8b/49EwzygM5uUbNJwSFDo4zyrcUD6EB2APoQBp8363qqfdSSAA4MGQ4tbKsQOd7HVQLCrBGw66LM+KNklJqwEiUF/sIHTMCAOhovWhG6AIe+GnWIgUm1LJMI3BwyNmI4ADpuvQIK8s0OUnTTL3LGKBI9w/CTAkxFuw/Bozkrg0U8kIvxQ1PWCUk6CAD2KQZTDYEHHQ0Qc0NbJHTCJQjZKWkrMNIwZLMxYMwQhBIkYqi0lFdXKiQ/gIOiQ/rCpiQ/4MonQNVuXQw3iQ9hbKIzJ148SQ2pTBqwAZLJOnUndIxbFSQ4lbDSQ7sxFbw/NAIs+EyQyyQ2yQx+LCExFyQyhUJ+IB3TNnLE+qKFTEKQ/OrKKQ4dTLQEIRLJ9TKzkHKlLKQ5Paj6wz5Q5kIz2w29OORhHQIK3uPeQxZCRpY5sTO8iVWQBp80ndFmAzYENzTHT4xQrAr5vdSAZTCtI6rw2/eHwAbJTKyQ1BI6m7SwwDVTIpI6IrAm040U/QABOLCjWKGJG1YyRQzCY24EBt4+zwbLLGaU0rQzBSQJIBXKa04maw2xI/HMLU0CmMP4FCTYLxuOZE1uiOIMOOQNrEEFbC5o91w11pmM4/1kBErElEzpur5QNQOcQrAw86BbMkxN449a5FU4sN8WNyGmw/LANXTJWLPh06yorKY0HzAOoNAzAv/j5Q7OhR/NDVORGo7GQMy4DLOPj6gPoww0wiY3vsR0QDMZqXihhAFZ6WDLD6uh7pnJ+II45mQ7QzEyY3VliQED1STFUHRIPBbABQ1jTSjWJbTPW4//+B1UELLDK1CgAO4TI/QzYIyeQx4TDBQ2oMRqI7cTlNADXo22NrYUH0w7etD5mB2MBHeMZYyjQh5gObsJLHkSQ+5FPW471I82w6yQzLTKAI0AFOMY0gAMmgDGE774KVoh7YE8s1kNLrTA5Q53U6xAJwSE0UI7LDM82QukAFBslGz4yqrJJTI+Q+LrDxI9klBOLNoALaHk1AIzcTFbEM+Ju6eQAKm88QLGgrJvLKRLJhXBezB4rCZI+RFvRsJByDHTWz4wCo8JE/kExbI//w7EeMA4NhY40w444FbTMA47q4/C4x1RViIuW4NjTHPo6sw6mI3N41UvNzcPzovwCwRIy6I1JwMDI24ZWwEEYqHErXJTGzTEWLLLTOLXJTLHRwFPWPgI2PMGcfPUY3TTBksBII17YGiAKk07Wk+BGO0rDx8TlADpVGFQAh09K42doEnQ/WY45wDywLslHPQ2443DTB0QPxAQPwypLPcrD5w1gI6FTDfQ8MrOfw67qmoIwYMGqQ86YFT01rkGHYONLDhYO/TEmUjkxC0I3Iw1/o4MlC3LB3k38lN8Gefo6DanyrCNYN/GK8E8aUBx7G4AHwo5lTKAo+AEK8wwoAFBI8p/CbQDNSJsE1C8eVTJbDD/gKLw1/QwyI6/6NTYne881AA8nqA7kNYFmA0iY4Bo7NolaKaeqoUc4MyNqIJVQ1Uw7wzBHwxrIwwAEbIJqwABulqQ4DQ0ahKn4yWk2akxHQ7G0GTAEBQ41bDGE1vEyGLICDEndHArD6wMm8TMkKFs1VcKBQzqEJsuDaM4fxH2LMCI0pTJLA9HSZUqdwY6Pw74mk9LExI3ZUzaTP3xb9uJo4LQzC97J2w3gENsxHWLFPWHq4z+QzAgMurIHaKeQ4PI7p8/9VAQQB5gBCRifY95TM1TONLDO0J54GdOHClKi7DuAK3TPzTBKIzylgg8bS2l14OZYzvw+Ew/IKZkKforKlTAcI+bQBrI8UThTI3Zo8PLO6Q/TzBmIxArO4TDFpkEEI449+UMswx1UIkYHow+P8OmY5aSkaLCvWJbIJCKCqI5bILNENlQONLCjWGKlF86HBwxRo67arJIFzY9uICxAKlTPZTPSI1IAI4rDoBFU4opbP/o04IqcgBFTPcmVFAApM8alM1IlOwyWEy287enkNwzpTM5TD6wH+I9M06NUwrwBhoF1bBKIy580AFLEGKcmiMkElE8doDjIBeQ24Zb+YznTKA44oYz4YxDI5OIE1AETGvzoqYk+aU1IaRnLFcZr0KbEGJbIIVQw8AMK4OBGDXNMaU/38GlrvoUwpYvrw0co3poz3QzywNvTPDTBgI1KIwJoxhPfWhCNID5w5Pak7YI3k5suClcRirJ+ABZQ5yw9qIBwUAiTGNQwZZh7pmlQ/uQ5CM6RE6H4IUvJMk35oPLo83mLEeGPU7t47M+G0E/cmXZozKrMyYBA8XaI4kwyZqAPAhbUz4I0bRHZY/aYyoE/3E7BUGLSSiABlI9XSM4cYnM7hwLdBqOcGSjZMifqEwY0z7c566WVQyZqK9TMxwAuw9KQ4YU7OiGGU79uLZw/rLJs0DK1NKI1bSDbLGww/+bIxbILI3KkDESE5LLRUGR8zGo3lTMe09/sJbIL7zLZIzHTWHI4EsLQtt4/G7TpqrI/Q0LoJAyedTIQan9OKko/TzAew8FAJvI1HQ9aQ4HmPZ1CJM9nUycc6zdI6iNzjBW41jYpzcV87qcADM88vABRQ/0rBbI9yI6GAULoDs+OErARooYownw1c42EKne4lSAMiZLXiEIEEorG/I5kw2ak/SI+NZCxDP2Mwoo70I11w0bROIMLU6leLLcE6IrHQwE3TGoI1/AHVY7bo/GQNECISAKyQ0LLNwYyvWENQ/OkB6LP1APc2mqQ8hwyF83CYoRLA/I8Po8iiaHok+hF24K4c57TLCY7hwCi3LYlGxI+wwN7TMMzsEMwDsWcsWTAEi0BakC0FG5UFCs7YlKOcJs0TCYxOM1bTLfY/IKStiDMABqrFMcFNODKQwxw9bTKQwKQvlAzKmI1GAC/TKwwIeLImJEp8Nck3uLJJTLow85HKpcDTwC4AP+ruMYjTwJ5w+C00dEVmA8b6KxyIG5EOUpIEEpbOgQG4xGVcPTzOoZq4UPU4+ngeHQ3Bw2YI9Xo9jM9CrGlut5QzpTE/IwDsYvLOtTPkxErTOG2Jw8X7TAiI4EEAdbIeLBQrOqLlYMMc0zWI4R6AHTAI+BslOwwN8SFwU9jM11I1uLANLEqY6QE8y4G0APZo9ck23o3pI4EsI1I2XTOM41emHDMzJC74rN1xDeIPWhAHYwyI8kIsjQ1TYgirD2oLaHu3AMwYXgEEYIztM/WY0zcS8ntOLEw4wPAld7GA41Qk5Ow9WU/Nk8DsIhI24ZRIeJQw2cUzYs0AEEJwOnQEKwIUcy7QwrwGoC9qkKhyIl0FPTKiUJXpl4EM04J140Y4xPUCQAFmowilBd4wCDOzw+xjje41JwL2BNzQ0zLHExEIw1uiFZAD7TDDWC1MwKUEso7+U+HQ51w/+E3ms1XQ6bI/38HpI3foyZwwJ42lui8C/Zo4XYGo6KdQybat2nKpIBJQGF3pCKB87tpbMe07Fw814+kAMiKYhIx2MM5Q+UgCMTrEeEQw9qkBK0P6wBOQJyw4dw7APJtOH1o6CALaLHNLF1phyml2U/m0DYXBHHtGQFvE4B45cwFbuOxjgsE/JOXHwBksJMI5mQ7NEM+rm3zCIIL5k9G7N8ANxAV9cdnUySM62Y7aY20rESw77I/WLFFY197DPyPxwN5Q3UhHVY9TjegDDvw2U455IybUxoQB+II0wylluRwDtbN49APAv+bInY+P4xXnN/sABGbYSG1EOCeovLNd9g/ozIKH3qO9RC1Q6po07/ApM+qwO3U6nLPZ1EoYAG44jLsto5iwHwo4BUW1LFmA6+MFIIFkNAfUKUZjTyVkqf7mMDI+KKJjXFrxBNC0BiF1TGnceAUF8dKHI3EIqHoiAY6pbDk4/iAFC7p3k9AQPfQyQ4+E48EAEuQ5CQCIJZAGkzcdB+L5roDYNBQHlQ/GBL3LNnQ+5Q35puamh6Q2CE/iAMCiJMAJwEJOIECw1C7m1LCyQ6Vok9EFwENhI4mJEFTBJLBHHhnwxzXhv44p6i78MuEzsI6EfGoE56Y1EKXnTLcE018ydTBMIG7TpRSLMlHorL/YzWCezw+RQ9fU5fTH7TGBo+amm0o0VbKaYClcc2LGtTELw0yY9742RYlOk+dTDBNUqwKZrqVkysY4XSB8nuEADYEER4P80+dLDZeKsrFiIretNJydCAHvsWLkgYlbv08QEEmLAK00OLLUw/lox/Q4kE8guV9gFgk0uLDoIzESLWw83mDQIFjalbuLgw8kOT3SeukwzTKIuIEEPkI4SBJAyZOne+GVYEMLI0wAfxwP4FEQc898IPIw4eMTsx1ZJqLplWNwrV1sAtgB7poBYiFk5MEXPiIx4ORIONZHkgVwU+ZIw7gsLY9d9ozcXp6G89cRcrII+SQ4dSqRLAB8AD0E0CRFTL+I20gJEANo4y+UBDI9GJERog9gEBqa04gzIF/o5OIONLMmo1PmlHgDJAP9VP9EC/TP85G9OMalJwME25hnQ+vTJAuOWk2wEKwYD+Q1T01NII5w5XpvTQGluhpjF/E+4U+/o1HQ4rQ+3TJCSRqAPqw88otlTBtw/m0KgAOAzOf9DDWK/6EUvDoowXU5F6mYMLZI3UhK8oyUw9MU+MY1TrPGo6guNsYDyol/E4JINDYGmw2TTPTQDkOAYAJMIwMlE2ENGbS3LDimhCgDylvTo6m7RQI3UQIfxGH+pMI1nTInEy9QGnw7hwC4eEEEEgs3z4wUAGDQ6HI8TLE0UPSSrwSGaeqxkH6kwAGZMIt1s2CAMckx47uuk529HewyRwBefCmOLjoxPLLslENw3SSBqrJCSWzqV5o+3TMGUGg2My0niUO5cNao0NYJHuFC7iPowFI/wGKg413uOamqsQOxY3EIqEU3KlG5I3FAAamCNONIAPkeM5syCACjQi+UCe0KfLMLI79IzHkH9ajygEoE0bQy+4xvYy8w1Dw2slA4M/Kwy3M8e04DYIM07ywGgI0WUIVMQMuj2w14AM1Q8BmNbYLb444AAUAMewzkUOh0xXAFNIP84xWI2amhG4N8oxggJjY1XYM1ao8hMlAZ6AH+I5III2LDc098ABBQPxU/38E5I0ujP844IxACozxwNfs9VQ+lw+mUG/I41AP/AFiehaPHZUEco5cUMZNCuONwxH+I7hI5JbNmwABjiBLM1LHArCVTF3IGzoPUABlw9E5P8sxEEwpIrBifoeImBkMAPl02dE+EE5MCTHpnY0NQEGQWMm8YsUx8nlZHdyoWoMUcw2jKZWo8wzEzw0Sw3UKfawwDZDhw/WYrcE0+U8XQ2cU0dSuryf9TNgKV3491w5ZAJAoNJbPxE6BbFybPkE/W4/uwxnw9pbOUzuUzv9LGuAOZY3IZmDOHZozyll49OdWL2BEBiHX4sXQwToO+7O9ozuI09TBRQx6qrywK9pvsYxwrpWqUTGiUUDLTDwzM7OUpTHRqYLSEsw4OxhKSFmi7cAXCqNE48GQ/CYhEANPaGYI2FIG0qaj4m5LO5FHvTNExDhU86hQKrL4mvH3prphUvFWkMnI4xINoYO/cGA2DKnRFwxx44vw+7TH0qgA4DOUGslJMk6fwwPw2Hc23YCUkx5LE7rNeiWJHbqBGOqdwYyvoH8wJTo0fs4lw7OwBbI4fTshwyAY22w0ZIzYI7wSCOLLOwHfQ8dYBZQ0nQ8vDAdzcdQysQEIELvQ+wwNExJlWMNZJKE36YGiAMDQ7aJLNTLetH6YFbUC7Q8vQ2Kk9W46Is8PTHIEgsc1YI45TBRwKEI6cgLcE5eI9W498GRSsNIwH7E9wzGrQxPTDDM3Wo5TLB6JAhusZLP7C4S4wQZBcwFiImrQxBw++nmUQBUACSM5jY2lTNmwDrw9zQ+EUKd7OUzg5YsFKIDOLNTAMlLIIjuLFMrIN9BBQJbIFjan+2KxyJPE3vTM14+KU4SYx5mFBw6zzEaow/o15M9USBQIyRwFCrF4w6xAEm8XlU2VuTkrgHALe6HAuPfWMPLDFQ98ALsxPki6qHB8xkI065Y+ZANDEIfY5FQENYDWw9mqvIkz1c7CUwwI4EAFIAPCYgw3fc2pbQ+ngEd7JlTAW6W5E+bTHcY6cmoiw4VQ+h0y3LJQ+FvethI/GQ7/OltOCEE5LYxlw7io4ywCAzCg45/AIilM6owIUxJQ1hLNU40hPgj463uBQbW5i01LOJQ55i+ZE5MwL5i1aw4rwLY/lybFP5rTI6lTABjk9ELKY0CIx/wyNTE5snwyfsxP27XPQ8w7tu4zkOBTLIfY6zkIVLHKlEL6bcE5iaCp8JJY70I74mgjU2KlH/TIstoAUz1I7S2rq7nhw86YxqrFGWPlqBtwyDOFcZrNILLYz5mJpVWrQ5sEysY9zcDnTP3k7aY1bi5ylFmw5ylDaBRpYxucNloKHYxSs7dC+Vlm0IwfEEp8OpU7bo6Sk0PQ8c02dOOrTF97F/oydeLYUJ2LJPoz6Iz2LDJAFNAKuYz5MKZwJiaKzkBQ4CWiKtQ1q+Ejppg49gKcGQ23o0YqCZAEG4tZTPC0ALoyoE2+UGQQE4IvKEyJZmcozKo3pYeG2EZw4DYIBbOY4Ifw5aw9eLIVTIxcWVQ3q49Oi69pqOcEN49JbL7YA+AZzTFfE+atDdw3BLB8xtPaMvQ6iUMOLJzTEVTB3TH/qeE46LLDIrPCEwlIIwo7loygAK4rGaemcJGOLHjeLU00FTBKSGSjQxQyfY0qRhd41IAEcgjUGpO8ykOCsY4J4zHTA/w0JwB7M3nGIstgxw3Po5knU3AKzkFjYsohHp6FJLD7oOM43hqvNKEVLLOwJiUyGLIdwwWTb3LJ/47RsKVIUy6O8iS5I8XTJOw2gAOkAAY4+QcctBRNmMdOKguMA4B7YDWw4bTGMc9zcBdLMlInmw3/qQA+CEPAQvOcAOICHeIbQoxucH7k99Y+RIN108auK1I6ro8qUzoo/ClFZTPZQ4YowrTGYMJAoNXTNtqGzTC2mv+ULFUxnQ2DOFjoFqo/WqrNczM8wP4LMMwJLIpY0cxLOiAdxBpYwE86Xamtc2MJLvslaQ/qlBLkAZw3erFfLIUAh4kztTPIcxbTK3uFCANfs/5TEtOIFw6gs0tQ6ko7wzPwQ46iBgI50AI2w8uLEB03qY2krFhXDX5HLEwZw33Y23I/OLAFTBeLIQaiQ0Li4BSw1McASCNJbCJZlGFhKkMDTJAGivWKDOAG49vw0xI7CrEg44LszFw7CrJKgF/E6kI3NY09Q6NQ5fwxirESo09Q2arTc0zYI3hw89TB+LCwkDygKVLG2w6e4+P8FiUjHkCNTHVlq5ycNc3YanlTKU2PKw1P89W499AHBw13IP4FN97IrE5kKdXs5kEH6YJNQeLXMO+nZABaowuQ78lAjwzEE46iG9bEWTaAo1/E7U6jIEOIwFjYqwYwe8ydQwJI+5k0NUxQzA4LBOQNyI+rdAFw1roG4AC5UwBY4x2F8I88o0ndPMi6yoqywBW477zHUXncAuYOSFkI5Y+DptHltB+KwYFxQ1IfP2k+OczIKO5qrM+DFQ5Fw22wzzE4TPNMU5ExEYrGLbJkztpeKfLPCE0wwBmYzyli79RnQ1mo3sS102mPU5kJGn8wlo7vshUbpu8C/TAirP6hqQo9WzP+rssrH0AtWI7O01+bGUFCWiEcw2OQ+I8frwx6Q9aQ4o4CNTNPaF2bg/c1L/mr5ghY30qhAtPOLK349HlrwzORhKTQ0+QFaKU7rJExK6Q4dSvuE85TEz89sepdAMnJL+KTui5suNhw3MS88I7NTBCgLyw56Iczi+DppzUBKw2CYqpTLhI79prVo4Bo0sYlbuIIE7BHqOcMES+lw0bQ+ZI8+ccyQ51LBqAKEfFOrGUo3FLKwAG3o5UqVHw3Lw7RUNGbdU433Y95YFTYrUTg8w3z44IAKM433prDw+8I4rwEWoM1ABIrH14OgwfCE4o4JkY9qINd9iQ0N6wy7TBvoq5E+97H0wzxs85cxso7qlL+8OP8ILECMw7rTGLICWE8q7iVTN/sDv0+NowKACNTOoZn1Y/JYhK/hNLBZI4Ls/VQ/yw5AGqQExhoOOQJkzgqwLf4/mNYwo8AYzMZvlWhOINU4363g8AMy4IUdteI+bTGMFGlQGLID20KywGw44PI05Q4N9BH/pDTDPqmYAFaKVHmAck363k0ANExIpo3zo9wzI0YB/KPqrI+Q55w7oAN6w36MJpozYQBEkGUo3USxSsOIkBfk68w7TE63s0ndDEE+kkFtQyx3HskM6yYVVYpTOE4z6I98GaAUKxw0lE7DphyiG49I6C8guSirS8E4rk6vgPA4xygLKqbSIpOIFylIVTELLN2A5aYzuLC+fE9s67LEwwDlAJWw2jKebo/zohSsDXo3pI4nE791sF9nBoFnfZTYwykMFABo+GFKEQxGSQBSUKd8XlU+hi7t46kgCWI8YImorINLESE3nRHG0wQzIJ4w8nkjyY2LKzwNpbOwwK9piDuKbYNJyb9cUf48VY/IKacAP/wwVI+8lH2QymI5XQzpbHeLEn1twU80o2lQ89TH1Y+aQ6xLCJQPCE61o+hixmY/xLNE5Mmo9Hw1Ws01AKEU/SI8A4Fsc+6mMCAO9U4R6Fqo3Qwy0UzWLObCkoSLnSR4rJ0zpNuWVuT20PR/n6YwBuuHQwwwy4AKxyOOcEm8Tk4NqI3S0HXuERozYEKGLIEsNfopKwwEoPsxKPw6DOGzoCDIlJU9mrDkxLZAPExDJLCdeKr06BbCQ0DtSmlTAtbFixCUI4Pw/EWFrxHV0/Wqh7o14AOIMAviO0wFnTH0qjuwzjIF8IyWiGsJvClM8+NxM8DTnNY0e0xqqt8w/2Y3zEduSF3MzR0xbU5KgP/o6SU0oExwrmrQ2YgIgAL4TDZ9txYChUJfY/6k1ZADTQL4U5WLNt7JLA0Ww5ieDIC5DcrJsI0U8dQ/Lc2A41arJTLLaY5pql24OLI3wAAcI3ioVVcMLY68wzkxBMIAyo8m8QWw3+bGfLM6oHT47CrLpTHcY9XAC1TL74I/TMRcjEI6zwGFIBp81T0yZM1ukwxI7NODreA8k88AelTMdLILs0QFOZw91wyIU7kQIoFM8AX0Ak588AM0cgiUkwovqzzC7QwWI9XABkE3T49p9ibaigAPjo2DTB4TLzjIEELqAD9TOQ4LM+O1LMIEObTJpo1o40sWtLTJKgGbQHlI2fC2Io1veu5cL5QKHIxbTFP5iZI/kxNd7MwzDzw8H4za4+cjb74J6Y15oz4OJDcvqQ1UQJSzFDTBOQLVo3BLBymioYyUI98qWSQAqHYrOAFLKcmtRo5is3oAJtOHfQ0OkxPoytsFLYidQ+OQ8mQ7oMLPwsxw8wYbpwwfo0e0zKowrwMYrFEKV/w37E1aKSH9NsDF1w0NVtgY2LbHXw33qOh05JI6sQClw/QwETTEyY2slBHHoXGL5k3NOD4qEUvAOI7CY5nTAxw5TLFYMCN09EOJ3I5iaM5HGto9808YrCn3taJOZJkn1vbw2wI6Zrohc/CiwNTEVAErE41LA7Ke1k6yopIEEpTPPLLdLC5I2OLKyo7cTpKwxBQ4GeFpY2XTNeQ1zw4BUW+Q03AN2nE9kwDsdeo/wGFIfKTQ2jKYQwswADtbFOw3ZTELLPyANu4y2Q0Dsri4GKlOxFsHTNTOORQ8AAPfWLYACSM92k3iIxA4x9QPTY1T42nWBeiAWI11sMDTBakx6wwY4ww3SEhoJQwTeDpbFMIwQAE25rr49xwNE5PAo5fTISAMUDI2Q+rsM0Y0OkwxowPo5JY1EaG9uBhPcxY+5qgKAKro5guSDOG+UAWTdhI0eLPVQy/TIpoEiY0lQ5JbFPWK9w+xog1M0qRsgufXOCZY3/TD0/QVqK2mHS0JMI4dSrYlEdzW2o8BmI6iLNTCKQ0dw1vI+fwwviIeY9yIwfEFuQ9zLATeFpI0jw05TAMrJzEDWI9ZLFKlDreJMiXhwFKw1bUHe82A4zTwE25gOS8C4IpY7uSX3qF3agO4x4w2Bbm+UJeSEgzBso+3AMJ2X/E4d7Jf423YF5o68jVHmF5o1ixDkE9/GFWJAhLNIfFi47LwFAgHxFkNQ6EfC0AHqI1uoIDSoN81roGmw1ZLKH4LuGaclJJKY1LGMFKEc774Bymvx6E5TJOIGgI5mQ/lQ2esESww3AOWgNpQ6mgFM4JX4wxQ+Aw3lbBbzDBNSn3jqmkLLKTkwgENq/WurP/w2mw6mk96LhWI1Yy43LMTOKd+EOmDtw6LLCw03p7j/on8E+AUJoC4SY63TGoI8dODOOC8eLuGYFwxpw+RmJTkK+QB1ZDYXI8xKkI5IxAgEBjQ3cIBZAM5TJpQ9i5JOnZu8LslO0Yz0QJNQUqwLY5T1SQPTG4U23I2AS/crDOLCx3P+w8iNsy4LbTHArJPo4Joto4zfyKaYAiY0czuqwGAzMrvNsAPgALdLPClP/AO0YxkE7KqSmI4pbDrTL7zEzcWcfBFw4UdmarL2U7NEO6mLimnwAJPan5oBErEOw84cSZTCh40NQze4z+bD4qBVi89TBw8WDODTE0bNPHYOIMNeQ0TTEYAENVqHI6jfs7mF56GW0M8rdGJAUAIpoMVY6pQx+2J0oxIrOnFriU9HSX2QznwMXQ/C0FEHoo4O6Q2nWBCgAxQ+0YzY84yQ/1kAoo9u01bw5JLP0S58E+hE+5k3IEkz8G4AJ9wJLA9WIwGlBCbAP4F4w+TQybaqd+HJ+Dzw08s7iQ8iAGjs4rY7uLEeQM7WNwHCRQ9BQKHouck/kE5f49nQ0soxpRiwy9QOUB08lIlIZhjTP7qL8AK4wyRU0VQ5UuGbiS1LOOQDrTNxY6ZwJW45iaNTeL4rBC49hY4bTPUY7ZeONo43AOdM/U4wgw2BOJ4rOMY/sY6aZh5o6qQ8iZHOQ9tIx8nlNYMm4wPAqwAC6wyRUzaJNMxJIENTImlQ9azDKwyQ0DTTIsU8kxCQAGOc9KQzYw54aGCAHN45bILGfcvS29vX2gJnTK3TMc098w/1kMrQxC4+cIwdzW6iFWLKLTB3IPDswfoxJo0orBVWjGoxIePaQ2S8TGk/JOZCvLLwPww94FO+7E0AFaw7BQ23YDxs88AWEwylw36YO0CTFprwYj6I8ZLASyE0rIfY1q+DuY3sw09EIm2frwxOQMlwzfyF8o52Iylw+OQFUU8aULSIjwuNwU0NbMrvBLGn0eF1prf42BKZSSpas1iIg1My7QzTs2eI+FQNB466QxqwNC47wzHe4ogUmW0GyE/Z1GDLB4w+oZgrwN6LkuIO0LCyQwnYC1M3xTVgEAviP9TOAUAqHZaiLWw4IEzkw5ZQ4urudWCUzt+w4oFNrEP/+Ez8+KKIAgO9THX4vGQJ1w3KkHamg4eDRYzyUzdowVqAqI1PWJf49zQ7RUB97FpYww0xHYL5rox4P27ellpao3OcVVkzmQ4J8KsrKm7e97LJAFtOIa4zCmlPIHzEe8rPpLGQWOUzsceE7YMnQ2qQ0gzD6mL0KZsuKHIx/wzCY0cQP85JMIylln+C0rTEcMxH/ieQ4tbHeU/AIyzWLqlOeqqb0wYAD7EOnw67Q124El6eRINDMx/Q8rQ5+APGQ5UvHVY1EAFsowirMUWP/APww52kORIF1wyDuAbkyilI5w6aZqTSXlQwrTE3THQI+JmMxQV3ExC41xY6Ao8cw6Qy/xMzRYzZTIe+Fooy+Jl/RFOncY6AOI63TOCevGBOdTHarNDEHow0zLFDw8yw7IyZDTAbRH2gFXQyfY5Patqo4PI+5k41MpQ+N/sK+ky/TKBQ9jTHfo85uY6Q5LE7cTqLwxExG+3LvQ/OLOqLsHw7/4yp8DN5RSsBHQ7QzCDI/aqKZwLZw70Kf27WVQ12rAfGHzwnCTFfTDYI7bOejLPXporONDLEuLBygF/Q7VLIUdoLST4OCZM9HSfZ9l4EMvLNF4ERorwAGWw8DsL2BBeLAxozYQC79SfQ/6wF8oyBLM1Q/cYh4rHn8NoMz341skAJovjw2OVQ1TA3AM3mPoeKFI3iI58E7qw1buJTY8auJAI1oC5fYwxo73LAJo+JTGcQPfWHD7vWw2QE1P81GLIYyxpw6FdNqkMFopCSarKCky+dpmIwASUGA08q7tfiG9QDLc7rw4RJPdTHQICZwx3IEco1o44QamncUL5NVk8aUOvTM3TMfI9eQ1EHnlbQ9gLqOACo4eC4hNuQ1mxADYI0pTL8AFUU804NXTKExKyQ+P4+No2wwNCM6EIztTGg2LwAP+E1d7EWoNo45iS0kYxEkGOo9VmK7al56FTYpFo7OwP27QC47DUGdEyoE9nU4dwx+2Dxs4kwwOSzhsON0/xLDPyKTSY/LGLknG0x3k0x2Y+Q6H4HzEcEAOMY0zLGII4484cSP6wL3wwow/9VKVk11sCJQPtTGzTNWU4pY4dQ/tCd/GESE1jYpNXKIrLpTIbGfpLFaQ3YFFuw5yo12U4x4JCAJwMMQLBUvCwy8tBRakGDkGCYsEM5NQZy8cXTF2rGOVbGQMQLFSw1EHjyU2YU4F46c0/xuLwI+QWrvQ2cU4oo/0w5vBG/2sLYxNuGtTNko+6mAb49qI9ZbDXeIfY2QY26iMiZGCAPXOJdAJ/w/EkwVIzuAEEYxA44zcWew9zcB47o6s6PnqIrDrTFlo7qBDNQ3IZvwwBG43PScq7qXQ0gzN97MalKxw3qY6qo98GXZUCVLOxY0sw2LSfqlKtQzbc0JowJI4iw7sxIsttZAFjI3RwMtow8w+zND8AJzTL8lBnLKAIzwo26AJLQMUvEpw5qLkvSRcY28Y9gAGerPYeAFTLaY5tw/7qDOLDfyOgIzhYLqBJaw29uIBcILLKLw3FIzlU3QI+RmJZgWdoGDQ297Ijpqd8bC84F496BEf43xFgQvK3TCMTnzSzDM92rLtcyPnGarQiTM1TEeQCC/l4E0+QJbwEDpsoEA8AGr5mvwwwwxpRuRmBpY/0w4BYieo5TLJ3ICJZm6UMMzsg+NRI+VQ2WQx3TGbQJioyhUEbQy8ACFTBXKTlo+NwwtYyMTgSUIsY4/TC289bYH689/OGxLPRsGgcBwICUUCEwyzEMGQ1so8b7uGyOI8Vvk7U6sSU+ngJe6ldLPiAN+gJrY9+bI2LMO+urTFYS78tBQzNW4y8yyMo8JwNMxBIEAm6tmTsR89HQApMrYUNnU5ZLNwEN2c0B06Fs95YIRJB4wyExJW49K446iNEOKh08kxItTFeKaAo/PTI5wBoQEOLJBOA2E5TLBTTPQ+OUFBDM/uw/TQM6yQdQ1GQ05MNm06OqAviCZeJV8+ug/tTO4TKmQw24GLSSzE+hk8nQ0X4y2QzRY0lQ25Q31E/2Y+ngSGLMGQ31Yy4eBZ4zjCnCqPKInJo29o8IEPWw2OQ9K09B+LCrNWLF1IyfQyckxcwN/GJ6ABC486oNB46QEw24JDONJbOxouP42SjXhkFXc2FIA3amR6c8+MkOaFswxQ8LI5/cYe+KdQ2OIEczmwwARLOzeDzw82LH/LF9I/To3Mue9TF4Y+dWMPozQINKI2pwJFmDESF9gEHozOUHSMN1409w8r3fGQyksO8lPH3q7k4rwL7qnBoCck8NI/mXgPwwBGR87kyY/fYP844jpjvw6VI0x2Q05dtqLM+OhomKlNeQ9goxLGo1bJaY/MOPc2gw00Cw/CE9u07fc11bBEkAXUwBjkbIEqw2gAOXKSZMwiU66GfZoyKQ+YYwg8XVltK00AFOOo2D4OdptuBrvQ3Dw8LQOEE94/EilKgU+ErI+GnPo5ZTB3TC5o5qrCPo3SSCC/new9J8F7wyOLN6BANLCZw6CY/3/gcsK1I9fo2BrG9Ib60uX4LuLIuILnyEp8I9yQk0yMTpmQ4KUCzEG3Q5CAIwIpqLv+Ezkri8s6GLPt7JeI86hc5U99sDZmKhY297CJE+dM1Y09/GDXwHDw9fTLkQKdmMAaQVqHj3okI6Fy9GJIhI1l0AR88VY4jLslY40w167oXGEBqTFQyUzvyANQ4wjw7p0H0qqlTGP498CS1Y3LYOZAEe05/SxIeBVWoKUCo7uDPOPLNBZlGWIwwLEGPTw3lbXZHa7YKLI0NVnwAa9QOrdLlQ9U4w6EKxw3ew3wE0TED9BmpQ+RmHSM14Io4rJAoI5wC5LDGk2DOHZAMwwGdOF3ySTYGpwJZTDrw3uLJaqI7Q0lAKsXHxY/kE35LGwIzBqMBEA3o8AFF79B0APnTOdpqx2dECFvI2Z6cw7rIw0IGh6JDvyxIANxQ9PTP7mMxQTc0xBsyBIy4eBeo4I1sRwKPoJ66RcYx47i284UczGmrvalzw1M4JKExKI66GcEwx7pqRwNSFnVY8ZLPwQ62zp3Q4nY8MrHXpgiTK8jVw02tTIGeKClHwExTC6A7BeLPg42pQHVY5aiHClMMzp4rB5TBaIDxwDe4xExKxw0LLGpQCRU5saPx6J2I+3KSOQ6wANzw6d8VieleKQtgA5Q8QLMdlM1430eBLGvNk7etPuLEIk0eLKPWodSoBE7qc6bYGj3l2rLlo8IEGpQx/NH1LBpo3DTKQwAYlewI13E6pcPDTMaS3gEKywJVwzxfH+Q4vw5CSbXiJ2LNuBrFbOnM2eI7aHqro1eKXpU9i5PTw0uY+SQ++npAI2HLP/wywkMlIn5oA8AGZ43xFhqwCrTHuLCbQGOcy/Yy4AARLG2o7imkKmjpuhWI1TU29cZqLjAEHXuK5IJWo9d7H04zYEM6o+jce97Ohoo6QwQQPDo27LBExOIs9nXOhoiBI4kUzuw916FCs7GQ/ow3HwEIGtD8/+bLdCyQ4xTI2+LOFQF8ABfcbWLHHQ8k40d7MuI7/Yzput5I6VTDciHamu/TMLY0weccw3GI/GzE7YIxLGrQ6E47NTDJLAm6hIeIQK20M3HYI7LNZTAiTNIS6Pw0Ok8tBfU47dLHpOcnQ8OLOpQ8vLEtPp0o43AIkS0NQzxfOAzHZU78tAsk5nTNEUwww4rTPTY4IAPDaOTY8iKdTU3UXuOQDMkIM440w12rH0eMuLHClNEw6PngQECRwHVluMM2grOhExLGt2Aw/wwpMncY/rE2ew9+bKmI6/TMMzmxI41LITk6H4KwE2WQ51wx4wyUUNckz1E7No7QAGvw0ywwiTNqIGsJkiUFH3UwwNuBi6yQg8YlTPGBG89YnMwgEKxAHaI01oGqIyN8JvQ5qwNXo/SI9pQ1/4PZTB5mM6YEVbBbzCTLM4w0NYMdU6mQ/lMzmmKNU9Hw4V5MwwFOo84w2lk2LSU8wBIAFskF9+EtQx2OV2rBQ2JW45suKFAGarF/w0fuBXKThsFtQylw40YKfw9CrJoCy1E+cALaHt8wwLowiTCZAGMw9MxCdTEJwK/6Bpw7G0I5wGYEABGb+8E+kjZmMCI5mDjLw88+HGLHjeCWE5HAITK8ceMGwD9Br9TD2CyHTGesJJLOFQNvTEMAM2uLTIwfo5f4+oFIbRHWo1NTAIxNnU1lnI44xg42OQ3NLOzeFOnVLUzuiyEw7M4gZTKcgNjUwjw+rcQhFBNmKAo+UFLxw2AsE+khSsJ/AMfEB6qiUDF7YJiwC1TBHk6dY12rP005DTN4FGH+FnTM1amSjUujO+7E5LAdzZEALdTF14G+UFarLt4/QAEwuOYY0doDimpIYB1ZCUI0nQ30AjTTPvcTGk1JiRKI+VJmkrDK1Kro9pUFEc2BrJIYEgk81I0QFOilF+bGVM/WLG6ALxuJGQ9d9n/Ex2EBjTLqBPAo/tTDIEPH+N1TH6Y3Dw36ML2BEFTMrY2aw6BbJ9TN+gBfAGEKoeuOLI9JE4pYwlIHNLAKUAOS3EoypfSKiwC4+0LL+C3SMA6w67qkwwMwuHKlDOcY8IxzXovw0FUMXIwJIKBw156G6AMw40Cw2WQ43AEAS+oFDAgClTL8YwtgPuE9LTHGLG6iJkOkjM9l8/yANa5CUk4xIOuSd7TMw7ueLPoUyBI2SjSVTHUXglIFgI8fo5hXG6AD0QCrw4UdgdYzBSUso7dIw6w2OrNoiWXK7QzI1I38w0tOD1TMzoEHQIlw9uY7OwKkgMMrFMid8o1GoyvWFXc4eYxiw6c00kwzKnWorPXOIG01Lo2WQ5y8bFnNBZsHwxak2nWKukxgAB1ZH4QH5Y/gQGSQOYOar0z+I0ahEfNVWkGnWOErA+AV4IjUGj9BoK4NFAOIkJbIHRwP47juw+gAHmLFiIiUUPuw0Nw9wxB5TLci3YrDBqEmUqXYOwI3skIPwxBU3VQOWk0c41FYxkY6xw24wxOLDTEwvjLOhVso804DN5WnoxzEK8E1+hsxw8quCSMx+bOUwMVonarGJTBYrB+RosY3Ck6dQ09Q9P4MUvL9cRHeJ/cd8ABJ8Hkw+5FLYSIDOIDYNeiaQE9oM57Q7vIp29DWCd8SBTcSpAN7S/38HIZmvw+XKQZw+YY7tQwfEAASHVlpOw1NIFbTB8K9zLFUDFvk29bHeU5XPJtw5kANgKf7qF8AP6wPuE2arTl6YnYAQvDtShcUyvWHFLCDK9uvTlC1auiIcwjQ5hs1aw8Dw4+Q09Y3UQC4eF4Yy2Q5zLBBw9d7HLYEy6H4w0V481asrTOmY3MK2krLU1uX4Pb9WVQylll/RDo8fiC5N82BblpY1w6izExGQ1FY5FmBtIwhFGuXoBYp0wBKw2urAxw3hE2wwJwMENVqpcBJbKmI6DKdL6AVqLClP3k4jYr18aJxEnpm9mBdLExuNuBs8AbzQzHw29IfTYyIo0VTMIw5JKSDI2Ew7JLKM8HMlu7czFUDMq3woz0k3MuaHRpkI4ao/+wwewwJo2slBHeMwzLmY6pTK9TO5qiD0GQWOZI0+Ux6w/3/sCiFUvKbiHkw9sIw+AbIySRwGLknNONloCUvA9Q+X4AjwxpRkWpuvLLq41uiFDo9qI/ZTKY+PNk0gs7MlLhI/3E3Y0ADSgAkNhwwKUBMIK7Q2ew167jLOHamiT041bLExFlw/+EwcIG0rHioVu0HBLIXIwVwzDWCvWB8ucTGhK/rClMb+KQEzMAEtQ9ko+IAMdTLOiNSq9YsytIyTYGVQ760l97FjEL1I/f8zywLzjJMiTsIxVzXUQLa4Pbw+h0x5LIqQ7M4rOcfwQ9zwCek0OUpWK5kw+VQ3bYxkY/JQ8kxE3TJAoFAzIG5MlI7p0J5wIvLHZU7O05aS1EAC46XPQ7WwxD6LbOYDSh4w4BUe8IzZTOjLKfLMrYzbLE7/OJbNBQxucLvIvsE16o+eLEz87qAEBLJ29JGsixK7GQBqALTI102l67v5LKVIQD0PkxLIq63uEyw34QGcmmcJD1IxErHoqzTEzoY2fk+P8IBLMDLLNTJ0ANxAaDTJUVfb5HwAbhU9ZLLqBBtbNJbE3TJvBNE+vpPAnwxCE/H3lIwGMrDGLM5szuLCwkPcrEDOooADVU/QHMg+ELw67k62mOZI8mHUcQJW4+0LHZTCmOGOVS8s24AA/ow2Yn8UA4Kz6ELEePEY0BiI0U1bI2sJg7gguQ4nM33qOrsJZ09DLBtIxt43tY+aM8fEHToGfdfxwGLkojLnXY/PLEwU0Dsgw05x4P3xQwy7hY9v8ZAoACI4EEJo4JXLCVTNncxAtKpQ46I5dcRUcJkw9gKR2OeEUOxgFEKd16BJLH0eMPo/pPJw8UskMg87xuEQzAKrDVTBDOGk0Pdw8m4zKnTo8UgwPaY9wzNwU5nLORFiWQ//04VQ21Y77qCZQyg48Iw/xAeMY50ztck5rJZfM+5FBCqFpQ7+8M4QJieL+8ORhFHQ/oE8141Kw65yW3o8BLCVLNVk9pUGII2rTLiYCH7HnRDiQLDUAxIz1EzWLIp6sU41PE698CdQwdo3gzMMzmSQElQyEhqzI36o0TGp+bOKSyn3lBcz1SSHquhi8iw1C8VYEOFTFIwLuAG+LIxIIJojp01YEyZYymQ7RsEBk1SKs4QHcs4BbJhXOE46/6BZwEVQ7OLO0E2WQ0sYk2Q6ko2SQGOqfMONwY5ZQ9bTG44+cIzOUOhE5qLm+LO5wxE4ArTNYw3RU9tTJvBMxQZLHroMLnyLfcwuICGwDwYPMY3eo9sAJylLlo//o13MzxKyBIL2BHDw4QakgsxG4P+w7Qo+4U3UQBymtVk7M4pZgfJKxkY/Tox4q8BHYh4jnsQ4LNZLFM4Br6AarIVQybQBrI9jTPqShjXH040VTKfqfuQxx7Iz2JvBLtTPoAGerNjU7wzB/Q9YmN9QxzEK0FIrTPzTNIfNKI8xY34QHe8zXo1QK3HQ+TQxLkH8w+Zw1P1t8qTaJLO00klBzQLzjD7ELJTDkANTOGorD2I0L6e+nlGWGXTFKw7Y5e9o7GfY7Q6p8CT08w48EACpLB6JIUADZiyvoKc2mVub7I3UXplTH+bPXpuG2AQEKSTBVpRpo36YBZQ0bQ+4ADCY9CrJ+APCYkWizTTBpRnN41tOL3LBbQ5CAH1TEpw8quBOLPlQ2YI4KYmTPLlTI2LOzNGuXh9QB/41EaPaYyMQH3yfa4xa0xLGlg8X8Y2KBD5w9Sw9QEHXpm/ePDTLetBzQNAzGNyIBcKEesg+KEAL84x6LF3M4RQH1NNZwx7cNUEwkxFOcRH/llIxwULOcZaiDFUNwzCerCEhnaI1iIq5o8rvJAIx54Bak0aLCRwHwwELBNTjQDSvRS1gI4VbJQAMCIzNI1pI2rQ7UTlskJVQ0Io+uk4IAEw470UOvLNzLLYSFnQ50o+m+KZwJmDl2U0ao7y0w7KZw8V8KCpfUweYMAGDQyjQjKY1pYw5Q9bQ8auEZxJXPAxQ0Nwz1SZ1wwLal3M64rGZbPrCjMZhZwPOKOncZs0Askw3aruUBRqyDmm1w9YrPhLLhwHpYZeQ8guR9TAYAIzyi46QoACGw5/ACqmLExOzLBI8XDw0LoJUVSfivOLAA+KxwzBqJH8ywy0EY37qLbTKfqbtw6cmkf0NtAGhLC2Y/OLBHYNloEuLBZgULYnD7kahCQ4xpjE5Q/XOFv0xTLIWTHe4kSE3LySlQzAY57QzXo/oQGtjDliQTeAAkJpAOoZuUxGjsz7oGXOpiwAHAFo44iw7E+E9QyOQ2tOJzzLNOHj3pzzCvWJw8WIwEJwHpI0L5IIAP47nCqIhQwqwMMrGVQ1MrF/Q2c+PC0Bg0+4U6y8TbYNEI0UvDmw50zgyE6d7G0o3S0N4yFtOHZTFC48rQxOQLdBoQavkxBrI2j3h0QCX403sK0FAZw/MOJeQ8EozxbOEEyi3B8yDIKcuLMdlNrQGVuWfk17ZReI3UhJJY8dOKOLBQzK+QFiep9K5aqDNIwtYxzXm97Ii06m7cXTPUY7hwGLIOpo2fdemUOAUFCM5o+Ozw53I3LYB5mEPwzKo0SE2o6MalK8E82017w43Y/lqH+I4lTLU6hXTDs+K8Ezay9FIxLw+8I+RIDYXAJLKGLHUI/qlFuiK34+YUCxLAtw7+I7CrLibkVbFvI14CwKUBfozXNM5Q2MJEWoIdTP3EwJ40TGrCrLYeFC7gPozxwFbUP84zpuhfoyZTFilKc2vPwlvI+ekzgrDLQ1z9B2YAFQCck0MuR/Q4ko0e4/1AE0o2Vi6UVdxAUkkxHYFilAxI6DanHwAEoLSIvCTD4IywIzTyQCo+UQNU416E12rI2Q3nC2EKgGo+VTAbINlQLwIygzFauqDKcalPTYwmaEvyW1wyZAD1SZ5wOqLvQHN2A4OQ7zQ54U11sDe0xaIKmI67qpKgHVlnlI52kPZRgVqJKE4Jlr7qkN42e82VM6wEFZS2180YI1ylP3E34OP1w+ug1wS8yQNaJIrQ6jfsVTE/cWhLCircquHZUH988wi5DcgbIMdU69w50wI0U7b49uvd/GO8lHGLEqwHeU/ow1TcSxM1xbAfo/HQCuLBE48pRKwEEJKeoeF/iDGkM+LF4IpdK6mE6wwCecYgUqXYF49NK05pVRnLAwzDPyAskC3w4BLFtE+P8OpU63uCYo2o6OFTKLSSIIA8s0Sw/WY1hLOh0zFTANLKCY7q42+iDkOJXTHYagKo2UFDuw3MuWLw/uKzaJC78KQwMIwymw00AP7E9uSJfTHRqS5o+hopcwBSUDbLHClIoFEf4/pI9II0lEzb48CuMzYx+IAjw/wfO3LDM8x0k2pQzLYqH4LiIwbINWLH+I0EQNvTNVQ363g24AmQyFkKvYM9TClQ29vf742nIzEE2no8LQENVu6QwG4xLDQhwxjTKbYLTE0NVkuyB4k49w8fo+K7l/4LYUBaICksOEEwK0/jLE9w9FI4BE8rvPc2orK4uIP8wHKwy+43HAszY3KwzTxPSSiYswMiVC48wzMoqTpbGuYyUIwK0yBLE7rL5k+dTM/OZm03Kw3bk8lw/PwhefMsrCwoHcs9p08quG+wxPTL3wxArC4w8iKelw2sJsuI+449MU0xhLPUGCC4hQ4euNfiMdoOzLCJZsilKro0+hEOmCXYG1LLQHGfk9HSVvw5HALbo48xPBbDOcXlI4xIFNk1FY529LWw79TNDM2rTPoAI0AF3K8wvqd8av81Qo3PiKdY7S2n6Q2grG5K7PQ0cgkusCPnNpbDOANeLCOQ7EkNSSAfLI1Q1LU+co9GQIOxltQ0Bw5u6TkAJe6l/w5MLMYYxqiycUJMIpMCaqwzjo7nK/jw0c5D1I6MCcr3ReiPlqACoyWshCgAymh0EO3TKFdBCRvl41cShfk5tONnQ/TzNNS5po29cUNw8O4IkWdZzKX6oDYF9+GdoJnTNtIxbI9FTKCY3eLP3sZGQ+M4xd43cIHylC1TJqrJvIy2QztQ1/6UMAM1I+UzhhANoAEqwNfTPxQ8UM/ClD5mLbTM8rdAQO5qtXo/R/m9o8iZJ/w0ylHRwO0LNtQ5ExJAyXQIw3mFjENCAFLYo7Q+AzFOcfGQ7ZI2do1PIJf46pIEso784z7oKaZnAuP1ACWK07rLIyT4I//oxx7FPY1/ANmTlKI4BYnQwGluvkIxfo67k2DOOh07YSOxwKdRZNgDywDlozKrDYI3yw/Xpq+4+5w3KlCqI+nw0f0CEAOVTOnFlkNOWgKm7ctBazUDdKFlnO6QzGk4wo8iw6yo+P8IeuIDQwi0zXo9dKwtsHEIs3LPtCdu0ytI2uXq9pqA7Mw4xp89DM6dmDTTC8ePyLoLEH8wJ6Y5Vo4PIy7C+080+QGsi/7OSerFdanjeOOQFpQwKrHGIw5Q3z4/AEAcIJAyZdAIqQ6LSa+Q9S4K2ziUDCGC7yrNzjNmTkdk6aZlOcVIwD1SQ+AaJxBfk+OoxQbYwAM/qyi3Do8UeLPx6FwEO8Ld1xNfTK68RwEwoo4BUT4OFyS++82VQ2+iBmmA5LK7KP9QOUQOfw6fwxVWsp/BoEJvI+ug3raN49NFUOdWKGLPZ9vZ1JCQJjY+ck5LE2pwH0wxArAh08aUD3Q6kI8GQ3c5DylmGKJZ08DLBGswJIG0qeaQ5owNPk48hI6I19I7eY/WYxErJaiEcwzrw2CYtrQCSLA24EVbFaKaJIz7owfUOukxcU+bI6+I1Pzr8s8IEDtShLsNRwFceF08xmQwBjkOwyQ0IpoPgIwr5rrogaw0Gc/7E3VTHJ+G0U5RSDdoxYwxjI+BSEPw6KlNJbHqI18IxOQLY5Ul1P+E6mIztbHHY00rHzwhmY9m4yMTvlQ+MC2YUDTwFgAG4Zf47siANKQ44rM4rN6w7FbOrTKVI9IwAHY5IAAtQ8LY4J8KPWnEi7uACpfZyo+nQPNk41AKtOCzEEJox6Q0jptsC8GQ6U85aiNOLGVcBqKyeQzM85d7HhkP5TCcgEFQ9klCeI8mHdjTA24JDcv/w0mAPxwADZA5LGjs5aiHuI554FzkFilPbw3VTIMlNXSJDOBkE642YQrIrONyI1BI8xQV2U7lTHSw4SANB42erGAzLzjNnrbCYxr6JJLPLHjKnTXeOYw3EItEOH6GQ0GGH+BCbDO0H+Q/aY91xFwEEbIAA4P6wIZw4GeAFTJkOnJTBJLHcIG+3OK7mzoIDOIrE5o+AlIKerC+46ro7io5suJsuCSrOnw7YlB/Q0l1NBQ4BE1uiA/TErMy9QCCAKwYDFw2rQ4jQAewz/ot2oyZYxCqCerAK08fY1GWLz8+ma50o13477I8VbAfUFrkAuw94yD+QzGkOwwJJTDpbIqs5MEVpwxMy8IEwXK0uIG+iK8Y9F4BoQDLQy1YkAFEi0F1TLSFpfTOllt6LnskGdE0cc+NZMnJCZqNuIOMM3q424w4qY+QAIjyfJyyDmnz4zMAPZTIAY2CC1iwKbI5CKHIw9uBvoeGSQN2A5kENnU04In1oxhPKTLB6E5REz4qGoMXPQ9xYIsUy+41Dpr9TGOQw/I6wYEmUlICXnTI6Q+oZn2gJoMHsw9VuRDOH6kxIeBkEx/KP+w0usFZHTYszLw8r3RNuJy8XD7rCY9XANzcN2Q67qp3IKm7Xmw1ieqxw4vGVzwwdPWnWO6Q6WUDIKPGQBAtLQHPdLOZJuXKTCYzMALmLFVY88ox6E+5QwQvD0QH040+U4nE//0zFDWVM0vQzciBACPqrBdzA2YqM8Clw0zwEsw4BLGXTH7qLLkCMidtqPoeIQrGZ6cY02hY9HSYFw6e2PJQwKrAw0zmcDGmrCrHOIOKLpG49ECDIKMVbAZw+arDwY/GBIzo8OrFTrOvTF+bNjU1IABC4/GQGhE3J40xhMmS/pLKpTClw5WK3c+uOo+WgLDpppTKzUPMGCHU8b+IsYyksB8yJkAFT05FmGwAFjoCas2hE5ZQMM01iIjxIxngP74xpw1IfG6UI1bLr41bw3lU5aiBfo18GTSw+C05CeuEUBIEOIwJoMDennX4qqw+wGBtwyWLLeY2rC+rTAGy68jYLSDa41YI/fYIks7nyBSUNIwHV48BEBFTKd7NUiA2E9EOADQ2cfE4JABGQuQ6H0znTJWK6PIxPLN92uug8ceA2w//a1ilCyQ15oz3QcalEgk5RSNPaOEUO0E3qI23TBG4K4c7JmtYXPqSuhAFmAw7cyAa1S4Ad023o7ow9wY9GIwRooBcPrw8C4ANTB3IGOczOLB/NIDTEMuZ4rA1M/+E7eY4pY7RsNXSF3E+Fy/oQEqY1mA7p0HwQDOUHRqe8lHGI+P8Nm48f0xDI4WUv/w37k39OHcY9sADbYBhUwhum7kyPcWwwJPMxxov3kw5Q79pgykKExBDI4BYhGw7+I95YI4432gBhPUsw9+gAhFGbI7BY6m7aKwx7s2k0BtI9YXJfTG1Y+qLicUAkQHoqylliFkIuORdcwdQ38Y5kOr4mipAGGk4rTLxdrJsE9EOpQKaYI7LGFk9Ey4VQ2vw79I8h01mw7wYlMlqgs2amgW6bXY6mptwU9BZmj3uUzpzTBrI2Goy4w5pTAqI7io7BHh3iwA+DDc1P5luoKcIwh08GUPaqBK/pLA98w9OLP9QK2zjW8HbkwZw8mQyNOEsWtrTDZTL74IYUxefPXpqy8bdBpWqU3AF02kIEOEw6crAww0xhPOKHCqKtQ3tYzkq1hM8MrIDOOY4M+bPAIKqlEz86NU13E/t7LaHksWqcrLDwwrTNQOWwAO/o898Mq7qfLNKQ+sIPOKDxbKLLNWI41QyDI5GQzOcS1848hKMAOGyO/TIMlHsc7VLBpRvOkGzoExhI/40ilLCk8VogHSxqI/SI5ieAmQ0FUM+KAymiEAHQIylww5Qxns78AAg8c4QEzwLiIyDIzliUQFMb6BjI/6Q1T411bA3LInE8rTOHwwgo+Hw4GQzyolBI1NY3erIHa/Do7NOMbTCGw3FC7O4AcsFnTEB087WJMCft7GTAI5w4RQCrQ3q41uLPpeF2rG97Kqww0ZuY4DWLKUhIzXM5U8quHwQPWhB46zBSeIkOhoh4w+oFOaU2uydhUHRwwx6TRorNo0p4ASULbTNrQP47oqlMxFqp8BbTLEGIKYpzUNsesBmC/TCFkJjXDtSuVJlT04mE6WUL/Y2GrKqffGQ6clBE488+M1LKSTH9E79y/JoyMiT+I7zogfEGZbFuw2Uo02zE5QzxS49yZkCQpYnIrFNwTHTIWJFBI2sJqPWMx85mQ4BE4gUjOOMqrEl8wuIK4K/QHLJTHJ+GlQ9GQPHYNeQz0QIV5H/LMkImakxtbMUWLa4A5Ylzw98qbimuA499Q5Wy0B07boxTEwhYxnw+6Q73LLb4/b9YHmIP03tE78BRlwwG0zEEx0QI2w/wwwYledTO+7Nm45447zKzxwNHSTqICjWD7TCFAEBiOxohJQAg8RhPUndBg47LQxK/kYy+9o/Ci5wEM3THps8qoxp83VTGwAGDQwuw/GBBZ42QutwY6QvnhwDFw/sExbQBpRrOcQJLDVOXZU3XwIt6/hwDiQOdWNhLHcrKuUCV41qo9vTNBZldA/LHlEKZ7YCBc18KC6YLvamnw/xuIpI/hk23I+jcbqOGHLLiQ0e0x8ntCrFPTGkrDha9i5Pow3+QwhLF3IKm86wEx6Q/Lo59ca04nlqnWowooxFyzZeLuSQ6azxfKXGUAdeP8KpbKqfYeuOMYuUs/0lEMADFUONsMyYDOOCLCy24+YOfl4yDOI7Qx54OUQOHQ08wFarDIrJ2LDRok4E2PU8lLEHQBaC/dI+vTNjU6erKFsw0xjiUj+Q3p7u0Y3cY52LGEw7S4xBLAZZmFICYMwyy14Y9HSXT43kwxjTBKSGuLNeLMcs/+E1LYoLI2RwO8etZo6pQ27a0yEJJIxpq1NAPeQ6uk0YrC/Q5jXKaZhQ4ANXGBUKFdB3k6CAAA4LKY6y8QdI4do6VIQtgKkI7NIAto8F9nxY4YU45w7YULxdhKo898BcYy3w4ywE8w7Iq6XivDaCSrJ2I3nTAJa65yU3C+BGNTjc7mM6hd4AIe+MEi6eQyzEymODaJJw4Fs05ywxpYwxRjLYokU0YIAlo5bQPoU2tI+YOYBo2/I5UuLCrFzkLe6EaoyxAJ/ptd7MxY4zCxI8ZUuNhYzjIJJY8srCEhm4AIxLCmk6wy9Zy8gucmo33pvow4i08XQ29bCVLC78EOk1KI/Q+CUI5MLAlo6vw0LoI3AM5TLrTCpAMP09klIhNl7ZQrTNQk/OfQqlD3q8QECbav5o++nkwU8xw6hw4lTP5w3QZmQYxaIG2o1dpoAY6yo9o48to1dTD7cyYoyTLFWLKjPH/4wUcxNmPb5A90ynKcjc7tQ/3zgTeLslLEAJW4w8w8doA/TJ2ixCEy+UIJ8BIEMBLKko4Ta2w6/0w7U0OuSbQHHKkOdWIoAFTax7cNXADbLDIrB+2KmI+po8JwMDTruAFU4tO0xw8yBc4oABzxGB4566WrTHSMA6ELKqcTQzfE96BIAFOK01xbIqs3tY42Q32gE1SQNMURotAQPTYxqI+cAF8IwNLMdoGamrRUJExGcQE5MJaw6Pswe83xTbiI5AyQto618xZgac2hDI+Hw20APhLDKQ6s+CpAFtQy1YihUHRSJPEznsYIE8LQFuIAxwPpPNXMZwMCZI4I0wyI0us57Q7xU/OeCC/i3LA8AFNOKxw1GAIXc4IxHaI01AJqrHTTGH+iZqKRwKFBVUo4Uzv9TMi2mlQFarMJwHSwwYAFVcCtiG4w3ArEiSztSvZ9m9mNZI9wUzBYxIIzDWDpTG/eNky2VcH+oyoo0Jozlo25I4x2F87jZTDYszmmIVTPWqh7wzTE0doN2A5QWDVTH2Q4AgFemAHk9iy7aJM6hXZUxmI8rYy3LGrQ5TkD20EweRA5Sl7tfiLEeN9U/peAXUxPLPZ9nhw/GQBE4+oFBt44jY8lIthUL9Iw/UAow0iub91uDptOI62Y3skL1TOVlrWLDMZv/0668clY7KqfJQ/wwDKnZMk7U1hbQ1GrOoFF7ZRkY45TDFQ0mUuFY2bQGuXtyI1Hw3eo2arKMOBDpqmgDJLMoo2pQKd7H9ODwzLslFDpqLTK900doGeI9nrQpM5KgDfQ+oeIFLFDpj2KVmA/qrH2LH/41YMIAU0wuGAsJ/4+3Kbna3wAf5wwYMEWTWarXlbZKKyQ40Dpp/cfhk48xD5mIeQ4mI1Q8QFw86s4AFG/Y75QETGi1Y+kkNwrYRJNgAP6k5KEyJQNSw+tTD3ScO4LWLF49O8rILIw+AVclM7WGYMOK0ywI3N420o09Q5BLCdTHwwFRk0LE6iUI0YD1HJ3IKu41PWBACGF3h2EKd7MBEMwYfaqPdSMwSErTImIxRyUDOgLahfcT3Q04C42+NtIxCqNwEB8nmdMc5TImI3kk2OQ8jQy3TE7/H/4/wQ+BSJ6IfRsHNYw5LBrI8vQxg87etLnyFgI8UC+ek2407fYzFTDGkNrENfiIlw5/49pQ6vYKLTEwk3nTLkQGoxCBc6wC5hs/iC46i0p4MOE8iNsqrG3YOTQ8yYNXUiFkJbTNF4PfWG9uNBQL3c+n46hw+503owzqIF56H2gIwwL3LIs+OzeP4i5saAovpkKeAEDYXA1QzOcdko6bYNeIw0U+K06WUAEC7Iw1IaWOc9/GM8ojRoruLOQWuCIM0YwskKmk0JKXkw88+ORIFGLGA49lQBbzAuQzOLO/o91TC9QHtK6PWJbs/AXu5Q88o6aYwviFybM/i7pw2ZCZZ07GQ0XLBlw86UFC48SC0AEEqwHCqCrQwcI+4AGII1xwBQrMEMz0/SKQyWLGzTCpLH9OC1TGAsKf4CrQ8NIBDeMTLNFULYSJrcIZIxLw7mY1OStuIJ/sKS0/pPKU8NG7BDpv0w8gzFeKUrQwilABYw/oxVy4bGcRwFFAI2MzMkFceFDw+ZK7Iw3CEK346TLFQ8azkA8k3p6ONQ2S8a3uEWoDLwx/k7xuKdmAfLNpeLetN7TCD0O5w1P83owztUBCRliUm+iCiANa5NjM0JwHPk/EWBHQ4MyClQ+4SQLQwPo8O+oAgNDQy9OEgANfs/UY1c40eQFVcMzoMQrBlI0uyGVSUqwMuIzzw0DQ+LI4yQ+JmJMEWg2NLLI0w2amn6MKOcILSf4FHOcQYAMO4B+wyNIFhM6sQL9LIGeHOcUNw/eLAKo2RwGuLLMlHBoA1LNWU7ZeH2rCFTBbQ32LOSFMsrAr5uIwEcgtK07BUNwrVuCeDPIp6uQy8DsIlw+AzB6qgXTExI4pI+HQ81S304yIcz2oD8ANB487OYjyQ2YpkIytQ20M96Lm0qbvstG7ELoBLw9mqpf08ezQbRCSrKRLJPUOUxP38N8SErQ6hw1RQ41AP85BA8aLI+HQ1gENeI2csf+bOUFOaU3nI9jU9hI7ClEEYxqqoV5O8rGEw6pcIurnh8xFTLuUHFLDs+CFALyvbqQAdoy16cIExFTEWoJlo6ExMF0B+RpHTHcAu4U9oM15o6gU+rTDjINpw5wS3ew1EAEbRGj3jyU+0LFVY6NTCCawowM4cYDTC3w4LI5y8e4EFqQwew5PI9EM+ekxA8YLw2cJG0rAD7Pa44F49oAJ8E2Ww36Y4fxBfQ67k13484rNazIAY+J82vTBhsN3646Q8+KN5Q/si5Ww8MrO9o+Sq81S1GAOug2/3OqLhefHOcUuY7/498GaCo3+Ky8s/7OfqlOEJuAEDXwD4ODBQ1MrJ2LPpo20U5Lq9DYPPTNDEF1TFYMMyQDs+JrY0RovAazZTBqwOxFg7KcGI/yAJJLMlAVbTMN8fNk1+bGVQ8Y6II41u0H6IPoU74rBYrO5qrGQNTja7k8iNkn1hZa7cAfWYq1Mz97OLI1fQ1qQ98UBTcfhyxeQ64c+ngFNOEzcUdw6RwPDwwisy5U4HaPWw/3k5MCWsJqLSW7QOfo3uywow2UxETEH5M2/Iwnw+EABbzGvwwVw66GbkS4PI+JTKbSa0FBhPILSdYrDNSN+bADM8TGgRI8YIt4yMtBXPiJ3Q3dw/SIy7Qztw2/eM6Y1M68/nhtbFnQzo7HXuAviCRU98SA24BJQHArC/q3UXm4w/Pk5zUDN5dYmLSInsI5RSGg2DOOBKSN5TH2Q+lw4pTH/TF4Y6342VQ2cmjloxK/nQ6xNuPiCzEbASyHywzW8N8qcCYxCix8xgSUPJK6mk/dUyEht8SIpY1MtujoxmI+PE7orGCAB9TFnQwbRGP4z0QIMyEDpjkAESDfb5Pj6gW6Q4eCfY5knei0gdYGZ45GQx0QKhwxBLL8lJNQbt47oEGg2GareVJqdmLtTNpePwGDN5R5o784x47oJ4wIxMqhCUvHY43IZgeE9FIxWI6GAd9uHj3glIGII0orGbQOUo8ew/ExJ4U7iI3GnAykJWK86GyyUFdyZFw7uLAFLLZw4DSr/42BUIywDywKkgNoSzqIJCvM98BeiEnYFI4NIfD1SeAzOCIBPy/x6FsIyNYJJI6mgCRU/OKImI6crBE470KQqSFdOFOo3IEHHo/+E8uLDK1MLQHRqVPWF4Y4BE7U0OUxIhsgSUGqowCDJSzF3IOoFG3TGwALOwC8w1AOX1TPxQzKnVRw4tTJH+DoI2QY4voOWgOIwL7YFL/ucYDBqGq873w1dOLfADTTFV43LYDrTDFM+CehK/hKSMHw2S8cUTuE43eUxjI90Ky2Y2dE187qMCejLDpI8nI9P4NExNVQ5qlFLY/YmwmLPNkxEAEahNoAC+qknQ72BEiULbo08C5wEL5strQH+I5cwKkI5oq6Y+A8w8AYwwwMUDFPIJ97NE60BQ8Ym6eyz4ADa4+ICIB404ADx8ZWQ6Zw4pYu0I/94xbzEf40NYJAyRBw0pKe3KTs+J3IPwQ1NIFg8REE/qrIIE0Dssfo3/E88o5iU29w2+UPxQ7zjEsWjIKYjpiLC5wMNeo77qp66d6LvMGLfS+dTH3Y3fozZmK8Y96PLJq8H48yQIOS2arWpQy8ntE488+JOnX1TPZ1CrMxZ45AFDTQEz8L91hdILaHqkgB4AGDy+Xaw/I7YSCEAOIkBJQ/KIn8E8yQAqHcF0P2Y5kzm9QKHI6oy+JG4Lw6aZv/05vBDWLIwazylmmU3CgDiUlZHbic/IKZWLOVQ8wSFXYHlqkylGoMVy0wykEQzAVw/b9SAY2BbrNEP/3UwwwviEDa8lIjLYu4APuQ+kCVo423o4/LLEkAToAskHFLIBJokI1bI7LwOJYwBjtE5BFw/vcQow0EG4stjeIDXNJjY+I8TRovCE3uIyYo9senZTG6LA408A4PAapMImYI8zoG3TAzTOwI9aw7G0D7TFLYp3I1QI18oxWDn8Y1gI5x4NoAFZi0l6SDODejo5i45w62zpeQ/PTIkw4qQ/yALva5cUOyK5p85iUyT4y/Y0e0/WqgJ42ZAJWK+0LE4IsxFn2Q2oeGBQ/47gqlCDIgeeLgK7slBLsBaIBExLqlFLQ65K363o/LKLLIAgLt4xSw+zwUe0wDZOQcd9ACeLDreNky2LLGOo4M4+CIBygBG4BwAEaQ7LkIrOFGAH2LDx8cxw4nY5mDolTIi03GI01TJtw4EAG9uD3yutTNBIz1I0OmAPAvQID5Q7YlJMLMZQ9EOEbyYvoEso2F3mtw9mTlvw6e45dTImBghujpbC6PMoEImJAFQLWwwKACTYrZI1MiaVIWuySkODEE20oyZY5ZLF6E20I4dw8zY9FIwgoxBs77YCBIKBw+6w6m8+Eq+8egarB5IOK7v1q9zQ+Hw/oANwE0w41uw8M07PUHhkE5Q+dOMYIlQI/Jo5oMDoI3Wo/jTNB+HoAD2LFwQD1o+OK6U8LLkL9LDLYvwQy1y/+StCrC2Y8UTrpwzmw/JYvK0EWptTeGIkxoQHToFFa6NU20rH3oI/TAbG2xxMlQ47Q2/3IBUYM06guKBwzXeImLDOLJWo7uAK8w3/E6guMew2EgmGKOGyFI4EzTFFY1hM1iIpCKIgUqAowMlJjY4iwM14/lsyQ0LEkHZorSIqyo/JK0f0CfY2tLHXY4BbCSLN1xJ54VZILjwyWiJe6l/o58GxbQLZeF3498AIpY+OcOEw6Fi+NQ+EEylluOo4dSlx9rExMoqYnE14IitQ7UEAUvfMeosUw2YkX4/Ci5iwGew3YE61I1JU+VJmYI5kED+bHBoJtLCtiHPSZOoGjs3GnKMAIJ47cTlyY5KgFuoDo8cwvnD7uDmG3ozTxIdG64C0wATs+JBLGesKhoAovvWYqwE/iACJZpeQyOLIRLH3piWE+JmFvwzOQxKG025kZxPNk68Ey8nhak1cZiRwPPLA7gn2rNxbAgw14w1nwy/TDDa2lrg1AH0lAPo3HYJ3IF344YUzK1Bd47ZeFHw4gk0SQ30w3IAA407ZeK3TOxI0ylLdBhUozuLPdSK6I2o6Br6NBo1OcQtoyrQ4mLFver8tDWCSDuHExCBI0SwwiTPiALaJG1w3Rw8kOaFo+zNHxFnFIxzEP6wInYHXY9swwPw8lQ6AUMlIsXTGqEKUrH/E+rdEFTDeICksEA41bw5mDgtY79uOOoxmI9TjdQk0sw34w+W4KyoxMIDzowHADk4Gaw/uLPfWJAoKQvs4BEEED0/SUDBG4P6Q9ww/Za3LYGWQ3NY2k0NuLL7qkcazpALyw2pQwhFKtOHIZo/uQHAIdQ7dTFPICi3G3o4rQ6OIPhLENw5MiYcSNVuZJahlI67YFbUDOcQ3mAPAkn6+HQ3fo0DQ4tTFzw/U48TOIqQ49QBDI4LSFgAKQwGBOMdQyDmti5MPTGc+OQcQ8s/YeEZxMfEE9o1GQ8mQ7lTJzzAmQ/nTCZY//+NF4Eyw7dBg24JQzPTkHMrJf49zLAY4124FExM1LObC2eww8ABSw9uvUAENwzBeI/U4z3LKvE8F9sdQ7wM38w3J4ytsI0YCtI5lTFmw86herYwpQ3oqwdIw5YpZLC8KDZrv/LBtw204FbTG7kytQxFa0zLOAUGU+EBLNuBkcglLU2mw0xhMps02LIDSnJTBso0G4l/w8rY4sU/iCyQ4xnuXeU1sI7aY1Qc0uILDUIHQApju7THIZtoM7a4CrTPjo4ZyeR0+EAAG45KwwWIx+bI5Y0YrOlw9nQz6w7pTMm49PaDtSmCIKEU+SQ0TEFjat8w/eQ/AM31oxbSQg8WW0JiwCi3A1w3EIjNQzSeIqlOMYuJQ8VYzW8C3wxzEB6qugDHN43IEBJQ8ZLK6U2ea/cmfhwGzTAnLFfTJeQ2iAG7LGIIw0Zk5Q6dRRoEO6Q1HQ1mw+PEycgGxwPCYiww+lwxHeEWUHXptEI9fo2lTFLQxfk5IYEahHYrPpPJpTC5LPhwEvSSWLD7EFuE6hNtE5LlTG7k4AgPvLH5E9QEHJTLE+GCC8ZQ4VMexY4oAHylJylBhaIJLOMw/crFBw6GJENw9Hlu4AKyo+bTAQvBVpQ4LAbk4FmL4rHQIF4E81Q1VY0wuG7k5bQ/SI2JTC1YyGw+bS2845tw8wo9zLJ0wB6LExhEBqTwEKRwIOcJHAPzTP2iLIq0Bk5mDurYz9TOJQ1TQ9u0+vTGyK55ww0GK3TIzXLNIKKlG0U718YO0xpakOLCZTDTyezeHrTBrI4PI7+m/ww9E40vycto/YcEWTX/qezNPkxM7qkSQ6crJTkHVljIKAwwBmI6mIzTE/H+FZIIkYHuLNXo/2UIywIOcGIwAKUIe+BgI0eEy4w9GbfH3j+bFC8c4w2orK42cpRNnLJjY0tQ604m4418o7EM/JYuOcWkG4V5OUgC4I3ww7Ocezw9hUOoeOUwLyvbGffmNfwyTui7M4jMkA4LB3M0pw9HlkrQ/8wCHqq+I+Uo6FAA0Zu/cD9TEfuII44ty1fTGwAClTK4lJw4BJQ0Ok4Xc9Pk/5w7qQA24Fgk3SSNzcJ9wC245bQ0xI3lQ3GnMyQx97FKlI3o2wEGiAD3E5wSP4C7rTNlTOHQ3Dw6oyRcU0+hHNYz5mGs4xlI2Z4zfyHeUzXwAZTKvgESE8NI6bSSksCwI7NEGUQBG4IArciw7dC1so1NTDIKKVIbyw8swxiw3lQ7KY/kE/ZQ3+oyOLDSM/OkFP5hzTL0TAVI35Y3SSGUFFclOBYz7c9PaJFw0cQI3k1MlqFAF24KRLOCIHamikM+AKF+hmnWA408quPia8RckrG77qErE1LozvkxUcHN46nQLyrGaw3N441Qy4eFGWPGBMEw2A2J4U1Rk2LrXcYuVmz4AFRk7qOBx7OMY3SMIx2NazDYXPNk3Ow6STJAIyZw1Xo81SyqMFYI91w1xY0bY+XKZDcqOqLVo9S4KTQxyiIBoh7cLGQO/o5cm2QY/SIyZM2ZANvw/yLuxFkNQ/4Mn6o23YDFppAGjtSgBGekCeQWrLQ3bk/MGKU8Gnw4K4IAgP5w+4EDTQDmmMqrFuk9LTPbQyJQF87tmTkWoEsYg3ahdzPJE+heIAYw2YhGw6wEBbzPkEwiTHpoxbQAAkKM8DHps16wamDM89si0Lw4MyLVTORFi46/QS6dReZY0hm65yWby5uy+7c7/4w6SxRQ22w8iZKe4zLC8quAA4KzUEujIHa8J2WP49KQ4HmFMI9BQONsM+rknYOqLoQAD5w0WTQhY29QEd7AqI7IIluiFfE9FUPjLPpZllo1YFCZTEMuYAY4YW/rCm/2joU4Sowew7t4z4I8UTlOndnrQ9Q7QEC4eMewyHqrtQ5knaVonMS7Ka/RC1wEDGLG9uPC4+rdMVol6y8c03eU/R/hAyUQyUcm5ByDZeMzoN8GXGufqlNjU5ZgbibtsDGwwLxdpiU/CqSJQrwo4Uc3+Q1/w/ia760t5TNww7nyGjqZaYz2Kf/o3fbjFUEBw8dlC1M+mYzk4M1TCQENaJMyQwrcz8ADaJFY03eLHamiYo7r4yH9PyAHMljPQ24AHuAMZQ8rTBucDyww9cLU1jtTMoEI44F1E88otXSO4AGVw6NTK7LAJIF/w1McNmrKKw9bTChUKe45v47HLPXaorE5bQ45w11bIqlNPTGtLBTcVXcxZIxIeDUGtfTCGwMvQ6DKZfM++8+AKCWLC2W0LBHDE7KY9DkEWTcF0L6y2+3FFAPSI+K7i8m21EPC0LhwPwAGTAAuIFTrOwYJea2g2LwI5Wow5LI6s+5cPNk3LySCAM8eQ+cSecec425UN4yMaUGDLA2w8oELiQ3wwJUuJWqfxy0So4VMcdYH1Y7rw4xLPClG49Ix4J8EzxfP3/oWaxrI7TE42Mw+c4DONVQxaIB8yEJo6powdo3X4qWy1AzC34xEkBqwORmH8lFOcV8dJ2I2cJAPo/AEIfY3RwPC0OIwAtQ+R8+i0o9wy78Fc8w9QzZeGCYqvgN3SyWLHZAHiI20AGew68wybTCtLP5LLBU0wk83OfTkInM/WY1ZS/j6lCrK0ZoqQxG4ASCFwQJs0D9TA6w0OK6DOCLC/wyYOk+0Y1hLGBMIUdqMOA2mqyoyIxMkxHhw60rLYSGurOuk/eK4JlgRY2+QzHJbQU5ExM5HCBI1M4IJonuwBQIxbphjI5zLMq7j5mC+fLVZFL/h5o2QY4BUfiAJ/42+Q9tqIzcWXOges4ZI0VAOE4x/Q3N48Y0J0ADQoxCbGZbH14IdQ2yEyV45AuLJAHNY+8I77zH0lJx4JLHlsYttqBBs5zzIIExJM/OKLbo6d7M+cZLHozq0Rog3mBG4xh48gzE+Q40wxXTG9uJo4PKw2orKEI+wqxpRqcrBslEOkyOLA2wxOLOpUxzNEl6fWhBeQyNONqoGOQ/qSkAFACo9hI9yI134+cIx7YJHTIXSESo6UVURa/4FIeYzlAL7qFemB7w2rTF67vgI3cYoFbHD7kJwC79VLQ7orNFUDv029OE3sElQytI+No/7M3iIxBLDGk3hK5AoHHApLHsg+NEI/uw4GeJFw1EaNPkxJbJZI6vYLPwjW8Mg+KBw0So0bIHRIJdpo1Q0xI/gI3ga0Nw314A2Wxx44BJplWF8KGUSVfE5Z44LSWtE4QrLEkP6hkkeCboCHUyek2ZCUlkz5MN+ORU7J5Q+I8ZmDjylvzLL60inKbkiLzjJ29ESo1ZLIFLMZ41mw12rHAuC97BACKxIyWiKGJIxLJkANFTIIxGEi6FBXsw8gY2DkM1QzqIOwGOMY7JIJy8YnI5Jaqmk+6nEp4EMlJHAOYW3eo22W5SlMoqSIc2LLE8wDVTCD0NGQEmLF/4AOS9jTE2Q44rAyI95iJFQLhU+KLjRonVTBXc3SM92Q6EI9YmNVuXjGw/TJRSOmQ9hw0Ho6jfkTGnMc8rY5saBTI0l6fFi21LI97NPTJUVcdlNdCnZTJ6AGMFDQIB4TCksJ/AA0GBHw9+UO5k/OKPOS1Ow+XY3arBFazky5VQ3kw9eI5saAEoApM40w4/cdU5o/LCe0IVU4LEKs+G4EDTxBZw00UHfQzpTO4EOjo1buE+Q4mLA9Q1Uw8qo2+Q8ewxExDCY6bzFhXJkw/3/hLsP8wCJZiPE7No0goBsY2QWG0qxqqhEkIwowhFK7YLoMCn3tWLJrJcw4/7OSWE+4AOlTMfY1UowhLAhukUKTwEFFAFdpn0AmJbDtE2GrFWJG5UFIwAFw9W41gEPA49sI3WLNfs2WM+VluY4OnFjsI8y4JPI+qwPC0MAo4UAiUG6wEEA0x0y5/448xJsrTSw4rTKcrHJTMrvIeuIvLMdYPyLqNQx4TFExH1o+ncXcYtXSNoYFLQ2DQ9zQyEw/zLBKSDDk37k2F3hp4z5mKXYEB018AIIEwbIJwECaQ2b9tQOUndPuObfAAow9FAGkw5DOKsXHuwEIEK2Y6fLH2Q4iyZ/pv27exjuko6ywOI8RZwJJam+Q9mDkbY+Uo5MAPkE+4EEgk+QWitsL7qIkYLnSRpanLyQkQKnLAfEMyYGcozDeBQ2GurH0eJy8bEeAAK/9m5/po9QDuw/jwwovuICAiIyMANwzLyrM8wE0rIYo0JwPQbDO0IGeJvBOvTLe6Eww5PE5rNSN8Dl6d49AkQCjc0NbMoEH1Y1Ondnc2krJ4rKKw2AkHTTM+KJHAJF6rZI8sAB5TJTkDESKvqytIwBjlIabdTHlIwKAMQLPb5BbzMPQ+8rG3I+fw8dOFuiI682tC67KI6Q4V5PGQLVTG3iFuk84ceMMygAAFTM8fAMuufw9SSBFazreHuABiw6mQy365/Q/Lo8lIoVVVQ8RygHPawcI5ZLLhsONLGPUx/w9wY3MluD0+rcdHozESMmQyi4JJbE+Qz6wCwyXRSONLAdo/X82W0K+MEDslSS11sAtw1IZtwxHOIDRY9eI9BZr74KVIXtw+Hw16UHeLGZCRkGl3uP3xZwMH981+hkWLGwwMmo3JTEzcQW6fl9r9TJNQc+LMsAHcrKkK2uyQQvFemI44yH9KvgD2LLcAekCZHuDxMAMul8KDDTB54BIrAxwP9QBqALmm1sIw/UI7Q/keOPLFLYwWI9pUCgzPCI/ww/NyT3Q8CiOIwMH4/zoiqMOErIbLAB8DIABHw1ZLG5I1pw4BE+DacVTkZxGVQ/aY8ceAdQxeGc98NJyYAgAgwxbQ1sI6MK1rIwhLCH9B6LMdUx3k9CrGerGoxDnTGZ6VgENP4Np086Y5Mk0neIV5HXwNxbLNTKNTPl9iZqDMAOjLEwAXZTOdWEJo9ky0f66fLJCvI+Q6gU78lFQo5AyUTTIOQy1Q4zygwI3pOTCY+PfJHAPbQwg8UG4oN9B6E4bLNJbI2wzOUG5I5zLABS7C3epQ0lTF5o/ia6hww05ebTJu6aVojZmO3Ke/cCRU9S4EtOMLQ1emI8hApM025vg445Y+I8SllhlQEf420M1U4pmQyFk99gCwI3rTE+U0Sa4UAL1I2D4JPUA3UCWIwfUKCAP3kyqMOAzDpuknpl5oxPTJs0EzTHQI8ZQ+jo+aQ/Nk9fo/ww0aLH63lZIIrQ+448mHeaQ9nLLBUGLLIrOD9BrXY+i0kYU53wBtIylK6Lw2H+kgW0BiO0CUDskBiFNONpeKdY8NINaw4AY7kAEjydIwFyQ4jQHuQ7ZABqI0zq1ixKBQ/ZTBbTPEY5rY56YwskCmMOKKPnTNYXI2M9m4wNXL3w/CTBQ2GoxH1oyZY2YMPZRjt06A7PpPLu09yI1dw8J2RPQ0SDaaZl1phfcUFTELE5/a6uUPwGJ/psyw0IGgJolZS3oq8H49K07ZAKmpr3KY6I/EWBtww3LGYU+KY5yoxnQ+OcD9HLW5p9M64oxSwy1Y+6mMBmBKSIUcy+k++IH3Y4RQPWYhbQCxMxGQ8Z6MPS7bTHNOIHAKaY7EGHJ48ohFR8x7W4HAPC458EzJLNFI47LB4AEbQ+TQx+IAcUHbYwPo2WsTtw/H3nClA5a4h4pMI0nmY5Q0U4CEI3AuNo4yJw44G5bQDpwHdw1uw+hAJWqWZbFuLIFmOcYMPLOxYz3ZiTTKLw1lI+VTA0GCi3IBE0gALYSG4UwQw13ozyw/yAP7E2Io1pw7tQzHkP9EK42W3oxRY2cfNjTM1I31LsRbEBiNWLAq8xPQ5rcJJY1YMFjQxWI1AORG4xBLFYFLwSAskLY8zK1MmozpAAYlatQye0NQwwoAG5QxUbh7psrXNeI0awqcmv0lMZ6HT4wdYNmwIBLNGJFmw1/Q25IxGwxErLxuKIrB5mKQvvQ+O3LOQWtQOZJLK7kx/Q01TEyw5AGrE+PCqTTxKzkP3sWH+PsxNGbTN5WDI+RFjV0wlILgAIQah5s/JQw3mEf47lIyuOMkOadmD7c97K0Lw1AOTuAOAzA4a3vTBSlKQk0jpp6MKd7GOVQQk4C40eE46I2BQ5ZTNVmN+bEWUO7IwooyEc2uydpwzHkOkkOwYE+Uxg4y1YwO2zlbJrYwskwZTOdTPII2TE4HQGoxNIowm6pAGgrwCHUzrM5Fwwj472IxkGjOG2Wsd4FMQrB+2OUo3+Q0ZxJ1LAWTQOIzqms9TCtsPZQ1tLJ0zo5IF1porTFRw1/sGgkFIwM44OaUw/TJDOKl4L5k2ZACro21LC9G2j3pW8z9TAUAE+Q7KqX6YzuANklLY5WvW9/W8iw+zLOAzAP4O0rJZTCYq8LY6DKanTHJTCerFZHcdOKey+zLNfTIvoIAC56MJPat1xE0AK5wE1wyQzG1w9TS8Uk2VSWCC8lw9z0/dLO4UxIrAXUztTA+cV3psnJDSwwOIyPC+FQP6Q+TeDNSM8AXlbaUhLylAXUzaM69QMScz1THxTWZw9j87uGXArDTs8xFqNTDfQ54aFXQ1vw1VcJzo5eQ4BE63uPMY1SS2cJC1Q3cY9U5qm7fMGHRQ7Dw4FmMyw2VSRto+QWorQxpY71QwqlGwEMQEHp6Ke2KDOKe2KguLIq79cd9sHhLsYY8dOKLw3UQIIxKH4BIAEnQxSUDXwPXOGAzGoIwOI1uk/9iyUW4vuI3kz6wMg8zimpzLHtY8vQ4rOKmQc2o1Qo7imqwC71I57QyOQzLYlhMzZrhS07EeA3AMIw1ieiBc3ioeryT5Q8nIxjTCUk81TFbUFtLIFw6LLLslNGI5DTH+bAAxN/sKX6tZLGvw+dpvCTI3AH/TCEwwMlJUuIFY7jS+zM/lQ0HkM1U6rG3EI8y0uMwIFYyfQ/Nk/G8xEkMiACYo0i0O5w84I27LBSE1C7ozyiQABd43LE9eo8vLB/k23YCVTF1sK5ICJQEd7KOa3fbtjM99Q2kvGpQIwAG3Q6po02EAVw+XaxhPp9axDGyOQwWwxcIOUzlH3acIy5Qxj49UvG7LDTm0eE1IAK04m4o7XiCxDIsY57Q3DTJ5wxHwwK08y0szY2ncVeLJ+bESDcb+HSw+zeIko2YU6+MLyvawwF3IO0wHZTFYw41AIvw0tOFEHjFQ0so1P1p6MGoMSDuG/2lTrGfdT0QL7I1OrP9QKFi9II2+Q+zM5jYzkAOQWsUWCMTsauFpw0DeMN8dII+cI6M8OHQ5MifWqsxY65IDtbFH3ZOIOJbCH9BC4+446LI8m4/tCf3k8GWyFk4DYDHkP0w0lwxfAGqo8kIo9w2XTLe6Ih6+G2OQWhJbP7E0xhCck2qo3YausIFqo8DTnlU6HIzLYjGE04IrDUEdwxtbPMGCck/ToxFTOLIwamHRqTg44wo3eLLqBOgK2JQHX4ttAAfGH/46Qvg5LLQwM4cc7qoHAJ/sJExDijVbuMZ4xbQ1uw2OLG4xKsXBEW9nGuug6FdDTyc0Yz3Q/fQ1ybKguBwICNYHIALHLFDw88fNTeJbQz7TAoW57M/JQxfo2nWHcm6JxAw07qw1XQ8oqYrOCmMBRQ11sKlTMaUGXOqmk9HixDI/TYyUUMQrGVSbpw3/48VbCZw/EY7eY6909sIy4eEe0xd7Bx4zYI1L/vTXOUFAFQOUwBwIMjQ5kS/3/qc2mLSaFs/WLLio9mwGLkgdbKaIN5Q03sDFbKaUF/iFg8f7qN1S5RSCWI4Uc5W4xZgRErDMm/Bozuw7twxKayHTKpQ31TNRbLClIWTK8Y1NOIJ41NIBksDHTHTTILw+YIIk868E05m+h0+/OI4067LOE4y8KMyQNWLEf0C0AAGoxGwx/NOKLqfw+Ocb60h/KEYIFtOPsKDkOG5QzpIz+Q2oMap8Fo40e08mszE5H+Q4Sw4Fw3+o6zI0N3egDId7PH+GVw00AH4QFOnU+QO3LLsxPMY/OLNGJMHw11sAuS+UG3Iwyck41bOP42/3CHqiBc09wzeIPuE0ywCe0JsaHhOHwE+nK4WJP2UFExDIAMmYzFw+dOA3aki0AnwzHw98qXiU4UuWMJN8GRxohsY5kOgymrE+H98ywoBOLHgrO/TNso0DrZnm5JbGtLNWUzxMJ0wAkyahY3lm8rQw8w+RhAXLEd86EU0TEIIxJkEHeITtQ4VbIyc8+caBbHBw68o1wEOUgAkQKXikHQMkIiJZtJTE788GFPRQjUqpVrO788Z+Z78/P/d78wEzNiQwH85BbASQ0FbKH8zJTGSQBH8yLC5SQzH80MrHH85Nlon84yQ7tTCn81KlO+IOn89yQ1n8zPTDPTB8nsFAFMrAX84FLEX8xKQ6X8/a4zOcYvuJX80sWqPo7qQJmaxQyzOcYkU/OKPtCaPnoJok2Q4eU2jqRACPxEyD0H+swXTOUztm48CiMGwL/OnJ+KLTOMYxsY1ukzTxK/6FLYgxwzciGQQBCqKcAGYI+hi3NLPW4+MYqLM/oU9hYzba6Cozzw5vm8hw62mPLHp92/kq7NTJiU18AKcIyUzhymthw2EKjGkKkAGVwxZI/gAH1LIjLnOcclw7DpiSMxeo/Z1IBo6VI8zY7LQ61oyHTAjW66Q8rY2Lcz+I2CC0lQ0L6cm45AFN8AFkNHlbRt43fwucIw7KQcy+0I/mm+zM2CC4CO1O4/sKA8kyxM87Y2UWwFLIko94/LZAMjQydEOgDO1m44AIFCV4Y+jw+lTLr43QI1kNJmDrPwjFpmYgCn3sjQ7U6trEPxwNVufS+p4i5FI+yaMnIxyuMxYz1THZAEYrDs+M1S+ZAKmI8YY/lmwilHT4zoI2Ew0gs7cE1d7Jy8ZvCy8eP8wNvTN5iE+Q3UI7xw5+bBLsLKW7LkMLsGQYzFTDWIzpy69QGVcNVbBLGqXiqm8yn3mr5hOIF1pkbNAGStpeI/QxKkLwzDHwz4qJS64VMRkGklE95TE5TO/o15o+cI8BmCpfZJauTQ3Ow5AI1UQMohJ7Q8PTDPquEE46I/hwHhwFuw0yEMF0DBkz5Q4eYwpM1OnexI3lqjLQ7GIGLraOAE2zLNTNIIxUbq2A4HmIwwG/eOAwwQM4iwyNOPGBLWLLrTI1I3hw/H+OpQFpwyN8Ky8XExKqQwe8yNINjSgWTSzWOdTIqlArI2WsR+w8+rpDcuICBTQzM85/sNdCgww5NiSkOPdTETGj3MxK/ohQ2Vw3IACNYMkABfo1Hw2PU9wU65yeOQKmpj2k025tnrSdeODpk0AKoC2z4ywyzBqGNIzpAD2oMlIj0QG4EHxLNuBjBQ1cZnWLFOo+E445mXRSGOrFHmCNYKmk8DTmUFNu4yxDBjIyfQ9ZTDl6WBrBQ2LVo58E1ilFhM7Zw+sIN3SypAAJIzr4+ug0u8z2I99Ew0ZnXLE77fiAEjphDpt49Kjfhpw+UQKdQwEY2JQEFUE+hKbYItTJbDKqw7wSI3kzW8ERwPZ9nvTFOwzEvXp6E9s/B+E2zIRJEQa1bSO8lN6BD5Q1McNyI7WOz5mN5Q12U/ZfW+Q2sJg4eIRQNvw9EOOKLsxw0KmlJszCM2TTCBbCuy87YwNTCtI67apFwwymsUvIF4/47paSk5TKhoIDODkUPTzGaeswo9QEETGtC4z5mIBLFoO18APCqSZw/yw9LTEeEwxE3k6MYIjfyGbI26I27QJTLMUvByuIfw99LPSStpbCFAIl0NIAHcs6v61Ws+nW/sE6d8duIEm8T5QxZgQHTNEI3NOOnM2aeqAI6LowI+CHTB/k2F3tUE1cZotTFvE9FIxAs0TEDka7M+CPO3RLCY4wOoBJLGGrODPA965fM6LSVUDOOQKPoo7LOxIyBUx/Q5jXBoQMbTH+bC4I6wE/xwLXiHMlsw7pJI6bI2j3lBI5FTCzorII1EKQW6XxFungfCqdbYJAGoM4+zwwDStnczkUJ449E5HYrJMI4BUVVc/II3rTBCRohQ3+I+J48ilH4QPNKGkw9mqhRy8TTN9E46WWEw+gzOEE15o6qQzDeOmY2FIBBw1McIVbEzw17CxhUzOcbaHsIE9HSeaQ/U431o6Kw34QKro94yC6iAviDFTLyw8/nvsE58o1uoBBLOYi4UvM6o3XLH+qaPngfEN6LnTTF3aumYxwIBYrLOrFqs8UI69TB+bHHYFKI/dTLdC2CYhbzLJmvQIJyw9tqGPMLDplMcD9Bt16LCY9881YMMLY+duKuY5GQ9QqwhFIN9Fl0Nu4zqINHQMdYBBQBkE5tOMJ2U7rC8s9V079cciZExhPTwz20PASBBYmaepDUyJQsY6Ed7CX4+jcW1EAboxDpjsI9kZBJLFo4x/k5W4025qoKLibhdzNECG0UyWE7iowNXKX296Lg7KaZrki0EWpjoI6BbBUcDaJFBI7JIHIrN14yBc27kzMZpN86dY1OrJwBam8+OcJCw+ncU+Q/kxDputQORIAK9pop6gEoL3wwFTOfwzBqMGLLxcZRE604rDUPZouZE3c5BDeKTmzOQ1H/JaShOQELE6CY6ckxEE2yExd4/tONBI8vS8guSgAGgcHDO13W91TJvQ8g+E2LLZq7S2oBEyrK/WLEdoK+QMFokRwDxced7H+bAzTC1U2ncZJaiNILywwQQC5I/QHHfbgDo3Ow+7TGaw5mQ0zwJbINYw1HQ5UvBWI86UO6Q00rEbQ1C8dUiPcrH3qIOcKUZgrwH5xDUGpe6k1TBCE9ko85w2oxLps7fABxouoeFPk1w6l7YCMTpEAPTY9QEGBQ02EOMY1g8VJiapIOnw1P1mUaO0I+fwy78DsI56AC6C9HQPgAFbG04AFUo4e+M8wAgm/gEDKnVYFHco2KlA1S+K00Lw6cmm4xOwGGLa9BQGwAHSMzLYvCYvLHg3aWD4G1w7U1vHMIdo1NTCvWOUwLZI1US87mOP8H+Iy1Y+kADGEwirA9cEczr846xLF2rPhwMCI6yo+nQDnsYBbAjrK5gQNLFOw+rca42XEIuQ4P6hkgGW1TNko0x2dsi40AOnw4mLNHSY/LP5w4bRNJTIjLsbTNjU43o5YAFUrIFbPoQFnm6ZrpzUHN42MuqPopTLBHQ1t23Dc+ncW5LNxQ+K7jpIw+canLEuLFyQ1YEJZLNWLMQLI9q6wYGP4yyQ5SzEOkw9gAzhtzcKmI/iAMhw1p8VbuA5Q51LPyUKUVdyI4jLvZ9oVqy/Q/mm1bUMwM1CAAamFMlgFLBhU8uGzt01cZmhYtC24sU4DYHLw5hSx+2MAo4ko1IfGxAEsWnsw/5wxvM1arGH+OVTNuSDYXEpTOxa1AC1PIJpAI5wFeLHnsFOnbY5U1AMAo8lw9JW4SAGgkLBQ4vGTuAN6LuUQBhw95iC6iMguSMTnXw6hoH14F7ZTv04OQx+Ro2Q4SAAarAfo1uk1dOPcrNxQ16EzIEDTyWpm038J2w1roM8I89TGA2J6MNXwLkiOxjlYI39E5fM+sILiI1kM3Iw18AHMuWOLM6YxbzKso5gi20qa7KI8xOpU/Kw5y8ReiCeQy7TNp9nskGerGfk363hQ4LvskDQ0LoAQQHe8+mY1/E2S8Uhm9GbTXsyilNpeCMAAHAGslEDOkujNnrfpeHRIFHmPRQ/KwxjQ5wBXQa9d9qGAQFw1HQ0xhHSMLYADe45pTC5HQ7wLow4s+P7Ocqoz8ABpRmOo50ozESGPMJy8QWw3UQIko3xTdeLGPUzrw2CILwIzEE0AEFo42AzHfwp923KO3OIB1mxqI7mW3lba+I8mY8qo6pID20C5QzM84wANhIybTPY5ETTJzUATo3sw2uQ540FHfBhaLU1lZSzkrrtw4sYxhPNEIGdoI/Q1+htp0yKQ6ko2OqSuk3981vI2tOLhIziUqGAVPWOVJjjCt6w65IG3iAHY94ALwI18dK5o2fk+kCTtSnnsMPoyAzNeI+JmFTYuIAGVQx+RtlQM8rVS4JaSg8k9AzL3w26I6WUDWCSTYMlI8wwON8yWy5OwwqSN8o+oZmU+Mhw8TODESOJQybZsEc/oAHtY/vcWhY6ywNXMZ2I/5w6m86LM1L/lMI7/441Ix6E3KkM4QBvokahB3AF4Il8I9jU/2UG9ow3ACUDKHogfo/gEGuyXVltnLB6wz5Q61I1M4MBzonE4l0A0xoqlFlTKyohPQ+FG3uAAtYwiTO7TPpPCRQ7ywM8rU9EA2E9FAK9TLxU1WQFvw2/3DaPC97EvyRfk+97AC45zcfqSq7k1jI6sywuQ+AUKMAKOqOkkJMK49i+lTAA+OxI55rnJo1vepKwxFw32LKfw0Bk4QKzfQwpMhMIA8k6tQ08s8GUGWsSvWyhUI0wycUIjq9XAHG0zxW+qwMPTIAY1AzKpTCtsFjoBVQ2140JwJXPP/ANXoxucCTm8sAMlLFDgEoE/6kxpRjjYB6EwKo7NOOTY3nRHew3amnWm1pQ+7M3Iw97o9zLKoyeDLD7oK9pqEABg4xUAC1LOP4+XY3GLPD8fRkC2YwqSC3w5XPBaIH046UhAA4NrTHClMLY5kI4Ls1/4B7cBz8+ZI4+a/H+GS8cBEP2iDWCbywNPc5bQyaG+DPPdTJFTD/O7tTEeQKoi7a4F4FH+2IrQ2r5u6mL3w/NAKk8z6wzciIwo2rTCeLL7I3xozpukrE2DQymMHe4riQ+po0uyNm477qAOI8TTFiUvWqvXOOUGrqlMdU20U2BboHABjXGNyB3ACt/MxY9VmIsY6A7KVk0MlEb42Rmzb8xcwAtgKjw7QzJXpuPEwHABSsCSM5MwNhI/7mONsJtw0Wphx41Lo8O+n63nco2Pu+fwzNQzylqd7IUAuXYylUBiY2CC7LQyZY6kowKrAdYIp6nCYqliFbuLt45e4yuY5/wxPUKDOJXLL3o9fsxDeM8ov2UKOcMz2156KLM0L5D9TP/+HpI7orJwSNuIGLLClQ9RI6sXDaJLFU46s8ExIvoGaw/wwFvI74rDGqjdKDGLNp09CADIO/jY65o1Xc1vepHuPTo8OrNPk6crHhkFHgCNmH4QF02nZ07fAIIxMyYDnTP+E1DTGrTEujAhY5lWPQAEsYoB43ClA+AURY/nU2eI3Ho/3k7lTAtYyirYXM4dSnAuAg82wwJqlDnTLXk01LMNI+qiy6I1wQD4IxylCeIwdxFCAK6GYIxKi46MOH3psA4PfQ6PnjXeF1ppkEDxbH5Y/DaPnWSDuFdTGVQ68jS6YG96+AKG9OIUANu4y7TNzQ1Hw01TGOVeamkcgvQIIR6Ld23LyXD7jTU9BI4kI6iUHmkDESJ/ceIs7aHqNQ/zLL5rgvTJbTFeKedLP3/nge9/sL91s141Gw41I+bQCBIJjAPlQyWE9DkGtTB47pJbOcYOJ4ybTM46dxQ7+I41bD+05Fw6ko/jTBucBTQ7bTJHALylCrTEqww2w8XQ6pIBirFL/om2WcmiNTJLA72BOemyNTEVAJ5wBZ4540AVqGkLA2mvUi5aY4MlI62zHkPl9kU4PfWP85AnwzS6rhwC1izYI7YAJfE5UuI2Q46a+0Y0Xc7qw3HwPg49yodoM2zTGXOkWI0i0GOc2o46zdNHG24EJaYynKdtI4uIGZ4wrTIHmLetD1SaJK6Qvk2zObTJzTOcG4KUKQo25I5vI3UI4QrFIfKUZtVkxslDxwIeLGZ6RhPKIuIIE5wAFxbLpw7Qo00rJ4aLWLIOI6BbJZgRx7GVw3xLH7TB6w7G0KQwNeoyC/sTTKFBRwAOZI/5TJyo2ZAKFBUQFM1I4YU6AG52LIl0I5TK5Q0cQD4I1EKZ1w+ZEylTCdQ+G6yBbHkrqLM0MAEpTLaJNfo11sIRLMZY6qHGhLHp7sk60jpgwI8TGlskPCYsgGyZI3owx3G41I5jY50zngEF5y2LSaLw3yodP4NQk+UFAw0w1M8iZFWJEe49u4yExB1Q1T40Sw0tOP7OQ8w0YALLwI7LG3Q3PrK5TKdG3/E5fcwNY6k46340yEKcIxCyLvIssAGrplUDKH4JqrBgiYwk95QyiAGIwGNOLu0/jkw401Ti6wE1AgPoeDXwNEOHfo3aI1IAM6YBMK6ro/Kw94ANPTFarGTc/38OoZsRS8KOydQ025kAK3Yap5rgdYGMumS8XgEG3iAFwyBIFgk47OQ2mhcwJ5Q4JY9qoCyQ6zIzAY3TE8e0zpTCGLLTLJirOrLDkxO4ewcIKp8G4EH0Y2g2GXE33qCd42uQ5ZLGAM/rLJoMCeQyi3JF6h5i07/LTi8ezQKUJ7Q5lWPGQGaw2aevOKBgAKdmP7OanQBIELdTJpTI/44QrJ4rL8lDCY2oxPfQ8xwBTLAto/peIKUKTSYvuKc2ieccYMBdie9RNB+N6LpeI4TPPZ9k5TBeLNCANu4xeI8dYGsJuZAP47vPTMzwM0Y997PkE9nXPwye9RId8+CekFUC/Y/mMxQIwaI6Sk29uIJLIpoN+gP5TPp8KKw43o9LTL8lKpQ6hYwtw4Fw7gOyeLCQI7BQxjTIMlONQxjQ6STHe4q0rHJ+Mcw2gS6kozzw7WYxOQDHwxACC4PKGkJfYxWI4Ji3Rw3OIP0lCeLD7oDpumYMCYE0Roq5Q/B+JTk98SAeC1DpkVACdQza45XppZLHxo0VTB47oZI8J2fH3oLw/6Q0L6WA2JyUw6ECZc1fQ6zkOKLk25oAgBC48DsAK08cSzOmAQvCBI3HwBbI9UvNuBviAFXQ+No/tTGGKBirBACHBLINGyT4+EUH5Y0l6bEGARLI5Y2Ek/fQ3KkNloCDOP9VHt7JkEOmY0wUxymnArGc+BMwBMIEfIMyw1wEMkxHaIwsk+8Ix6Q3e83Y0NWLAes7+I57TBzQP+SkYIDJEyQ0D+y/Zo9xo+kkMGE+P4zgrDZTGOQzk00MlJx4ELLNsxL9uFmo5AI+jcZW4/cmdeo+Hw53GNXi6crLqBH3Y/xEwE05AoG/2g2YuEANwzPXalEHn6M3fQ5tU48xMZ6IrTJFI17YO428yud4FEWLDIw98o5MImfK+TQ26AFrkOdLCpAA2Yo8hOVQ6kI4p6jN5W/2pXLN9Ex1bFtOFvE8cwwKrEtLP2Y8RcmsJlYFL7qCJQjzM0z8N1wxPUANLKeQ8wYeN08sAJTYyuOHwwHZU1WJMkIlsYlkxlbSBvorJIJZQ6A7NeI7iQ025n1Y9Vk/keOrdHHy3XLIVbMH46Hm/Jo3RqYQAMPTHe89pbH3qAqIwzhgFw88o7RsGxm8alOOo4PrJzEJYAD7oN+UIXI7/sE6KypbEZm4bLFEQPuwwXm3tycqUwh46hY+8I597FXYLa2+AKPwyci2nZoz+q5gud+gIBE3hOMb6CUDKwAFC485QxkYwfo8zeJtw94/NE5BkY7dC4OcJmDrZI3yoaXisc07Pwq6Q/+w6XQ96LrvIkmLGjLIpTEEQC+fO5kxymtxQ5Ww8BLCPowOO0l6WLvjaM99LEy6H+IxOQELBJAFGuyclQ9D88XxNWI4R6JzccyQy5Q5zzCxLOdTBww65o1ZSz6EIh4tpQ20o4o4KrI1Pk6dQ1vE98o47LKbSco212e5XTPAXnXY1VGzPyPlM9VQyIIKY+AxwxQbcdU6mpm4w5kw6Xirp0xUvNHw/8E2PU0U4MrvEdEb/sD3I5TkM5TPJK0eE0R4EwuJeSND8+tLBSE6PWoJLFDpn2S0o465IM6hRGQ33ySNmB97BbzHGnFC7vcYt16IvGTPk6nU05MBVWtEw0OUk3TEDOvoU79LMBzicWHxo4YU3bY53GBKSJHszVOfaw20o/9EO3TJfYws84N9NXAEeQBA5X3ycnJGD4I+YgWw2krBsG7gw8mowjrIkYFierIq1eKfvcSUDMmY5TLHpo26AH/42RwAzs3ow6Du5kOisYxt45pqq4cysYyBbFwQFw6jiUvQi0ZxDZmBhU1wQOGMzHQ8wAOEw81Q+oePoU1hMyJS3Lw6UrOamjjIEuLAdo91TKs+AcC9LLOP45gEJnTGqowiYyIk3Yat4FLzom0E7qQDTE6HohdLK7k9kw6aY4xLMoEEqY2ZCR3ACS89QOe0wJrJc2LJAuFYw4FLMA40+U9XUF8AD329mIyT065TDkw6GkK6U5sE7rTK5yUzS0EEGhWsdfdd9kuE/LHljah+bPW4/dSKNU1dOF/w/b5GqQ0QYybavWYw0U2NQ9K0wLajYswxLNDkN5TG0qY8xFMtuxY+5s29QEJKT3Se/OEz8+nSQFLM5U529OkAEl1DmcFAzBjI6HI1bw7ZeLylAw23e88Bzj4Y/oAEBiJzcbaLLow9sel49C+JpIEL+Y8oqW9vY+GvK0JzcR6w1zw1AzGOqY0U39E0LBAtTLbORQ2HhOMtBZu6UVAHGIxHkyjWKxAMVY52I6MCQe82hLMkOXhwAtozoI0w48Bzl9gDyM8M09TeMfI4tTLSInpYVauhhAHlU/C40VTDPTEuY4SwzDePmm9gEFpy3SSLDUHdJHyocTOEWoHSSCMw5PE0R4Me0/gEERosFonylDKu/m0FpY7NTKeQyD0OgQCH9CNSxtw9aw85Q4DStTa6341Lo9loDGLDNSIXS8PozTxNVpjko4nYAVw6e2IqQ3hqgd7JUGLQzFzkCH9FC7n8Y1YEKLSZerCv29u02UFOEo5jXM12we8/DU+xFsYMOUo7dC0bQ3HYBcU4XI6AG7IyST46MANIfDyojfQ6X6vewzU6/aY6FTIiwyUUOOcZPUGH+AXU6UrF24EtS6OIz9HLQwLS2uPimg2HpOcrQ7TE5yo6iUHwQD6I0cW1Uw5q6+xwIR6CFk29bG9o8q7px4CUI7WwwskJAGi/TPTkOEc4x4EwU+KY/9i7cE6zkLsxLtACdeBZw+AUD1TIBbCUDMsK9Ew2TTIiww9gE1LOK84RQOoFPClE1oHfQ41bNFAPR/oUvGU+FWkJWI1PIFLQ1ixGpwJpy9mTuhomgrBVzX0w30wwfLIoOxygKsw/fQ7fAE0o18dJCSVC4w8YhwAJAFL9cV1ptZADtbOFTILLADSiZY+h00zwEmLK7araLKBQzQo9d7NUvIBcBCgGhE7ExOkCTnTCDOIZS2Gk27TlhXHVlkSQykOLeu7qQJDTCbZgyrF/4M+rjIAOxjovuAbw1mw7424yQyBLO5k+oFAHY4R6MBEMZ6NE4x+IIm2aSTFuQ6cIyEACyQ6s+N5iPCi6XipExLvQzmmEgwwKrLOcbxWx8yHiUDwYIpI/g4yUk1HgHlI67KOoeNaQ3BoJ29ENVp+bCLC+eLMXTPm0NfTMew7cUH3MzMZtGbWvyyDuMMrBefM7Y41QxrY+RmJHAHiuT4OBrI4bIzOcV8KISACNYIlw8wYTJa4R6CRQ4uU67KNww0dw2pi/TzCkS83TFzkKVs0Bw8LYx1ZOeLCvoEdw5BLD7o9mLBak9wECzE23iPDaC1YqAo//o6nQ8xYylw2AzPZTAjwxPq2BQyfQ+K06XYMEE+ZJgPAgjQxLkKXih1ZLEeA05a9pkN3Uww5o+O+niUUCzWI0AKTLCx62MJASUOpUwYMFbIwmawww/XpqukzFwy5I6KlBkGnqI/Zo9tQyjQlQI8O4KjI6Vonz21FALcExdzCg43/Eztw9eI6EU/nTBfk83TLFnMBLCZTCZ6yT0xd86+QHIrIoAOyaDLwzKrKCYwW6ftTIBYp+e0JuqclEjwwrc25Q0NbB8yLZ60L6SBI+h0wtbAps2+Q3iIwzhh1CbLLNxAR4AMdTNuveWgDUsM8fBKSHZUyeI9mU1ilJXLPoU+I8TESONQz20AfLNP4JXQ5+bGEk7enmcsZWoxfY2GKJ6IWuQ6dQ3PrB7w57QzciKnhjwxJDOAkQIGQ/rLDkE7YlC4I8qU6RwFIwPxAf7qNFI0xuNzjIFmKznvvceUxAFTJWqR9QBLGk3TEYACqoPTw4rONqkG/2jwuClQ9FAJzzFLY9p9k80y94xQI4VVZWw1c49pw0NVtBZquAEPQJkEM8I1fwxQ2KKw9WLLnyHAuHyC+xwEahEuY/C44kU0WLN140l1EBk4dQwBjjDeFWsyRwGoI6Fsz4AOryf6k1eLBCCBbI3YajdM7uAEdoOM41jYm9IRzNE+hLqQK5o9LLFEHgASJDy9EOPxuEao6fwx3TObsNpo/GqWDQ4WJEVLNqIygzGVQ5vBGdoGo6Pb5HSMNhUNUvJkOnUXh47i0AFNwT1TOQ4EPw/fQ1Mtnfbox4JQw/jLIUk8+LO/OCirdDLHNkwF2yGwzTxF1pg9cC7Q23zF9+HiUGr5juLDcY7b827k6aZrM4odTD7o5guZzzMdU/ExIDYNFAGD4Ljm8Eo1PTMVq2ZCQ+cVKS70I3JTHb27OLBPLCZM0XpuAzIlTCVLD6I7wYsooyZePxoyFkHHwFCs4OcOzww1APBbOtEylUAt+8wYd/GD7TDNQ1jaoBo6yo7HLERosm47SIkHzHPSVQI2BMJ/k1w6qAI3wQMpRF3E2lLNOLLPUEIEIfwyTScK41qQ1ZHdSM0uY5kzswzNso0bIAGo8H4zVi05TNNNqXiuVQ/R/uhE+ryREeHJ4zRLE+U0LBFZLKn42doBUbil7tsxBJ8Fdpk0rCZI40U5srUoE6AowaU4NLFT0/crEDpvXprmRRoQHJ42fday8fP8xo+J0zkRok4AF/w0cGyqI/rCq5o42Q6Dc2bIwxozygBJM7GQ9UvLGQ+eLD0/bmY2Lm2hLNd7GLbGBrGMo0N4/BGxgI4qrAwO6A7FNYDGLLCrLdTERuzmmLu05EAACDHlqsguXlbekkJXpi5Q6yox/KDYsyzEFfTA/w9sxGtLJ8E0ujCBbHGAC3w4M4IzcVCO3m4+y41va/pZm3KbFU3F89o40Bk09w6zwHZoq04oQK39E1pw7pe0m8WwI2BUNIfFY06BQ9WLN3S30qjMZlUDFRwypANG7KsXPH+AwzJw8c+cU+QNbO8AY7tQ/WhIe+HIEmr5n6GW3YOWY+5Q2CYoBExylHUhLVZMBmB+bO0rCgANRI93S1lI1gEMDK0sc0zwEKmjZmEBwyn8GUQLVo86UBZQ4aQzGkJeSLMlJiUxFi2YUMWW+NZOPij5ME3sGaw0BqenSd8AKU8PwyflqIFLJ8o9bQzoo50wAF+0LBB4rLylM1LBE47uLEIwyBbKfLHnTIqlHfo6nLM5TNfTMr3QJ49FUCjWMdlFP1vW43+owdo+4TLZwxVpb0KTk8cfo7G0PK0PJo9ZAAe85lTIdfdFAPAECFkLhUy79XFI7slC+499sKrW97YF+hl4EKBbLkQC97G9QFRKwiTMb86Pw6Zrj7oBDOEc5G/LNL41WQJaY4BJjmcHeoxjQ3WLBg04kI9mwBmczlANqINxYDimtxYO4AOP8GuXudQ50o+mUPpeGL864c9UOyOLB3AGNyG5LP5wx/QwK0/44xCRvc2lI4PxuFuoClluNQ3fOdO28AY30ql6E6Hou/o/q2xCqJMEcfEAqSJZQI0YLoEN9sG6UE0rORFhVc1WkPWY3zwvJq8LI+nSfrqxpRu3KSZM3IADa47vIq5m2LTO8lE2Q4HTOIs+rTNe4AA+Gfk2+QxBs3wwJaY2AzP/w4nMyZwxNLFukywI6Xu6wE1C8TW8Ko29kozNSBjTMdU4zXNso+UFBUvHxTY/42DENSw+RQ//w84cRggHZHeuSwI+E1oOIszHwyZY7orDZeFjoDNQ604qyQ/0lOd7Ie+IdQ6GkKOcAgo1fQ7842wEJguSH9JMLHIrAVFi5owKAIzyn6YEDQzmcIdSuQWhpaj6mHqY9tIwfLKyi0/gJkKWaw3ioUjw/hLP8wKYk6nLOKKMiw1ZIM0B95i98UC5o7fc4kYAykA9gFv4LvaoT2wwI/WYhdLHaI81TPKIqo20Ok73uFaQ7OcQ8w/WYyfYzk4NSwx7YPA48k86bSZ3837qBKe7bTDGk9eo/TkH+Q4XSGvwx4rCBm1SAPMKxO+9AOzGOw4012K8TTF7ZcxFhaIJQWJKw4Uc/rLBhPW0o2DQ6mI3pYRggBbTPbc1uiFmo/7q7YSHXY/2iD2wzgY7KizOW5DTP3myFAKXQ1/iHQIOuc4V5MiKa3Y24w/Ciw/TFGQ7TIy3TKko6dmOzw86hW/3EvyViIi79Qxo0ao9rQCwkIUu2esPOLOX4Gno6EI992gt8yn3gd09hUMIw3S6IsrM2a7Zw9pw4M04/45pTHewzxMNRI7nLMrY5OINZzPg43wQLQzIZTNmwOUFGIoHmw2YgNFTBQI6Y+KVTFtOFcZiaQzOUACEyT066U1/RFL/tZi9IwFtODIKHgrOOQAtYwXU+jo7xUwNTF7ySBIIstmXOmuLHiS/zTD4I2NQ7ExJBOL3w9P4Pjw7YSCroxpY4FCcPo37k+C09GQPEWJZAH8E+rTGwELlTHiUJHU/gY/OS7Iq8DLJ97G3I0n1tYrNZzM1ANxbBJQJds/C0PSSsw499gGorPAEGUc+4APTYy1Q3PSTbYGZ48wANvwxAtGBo514wlo7MlJVSxslFlo74rFNTG4ZRACJzcQarOqLj7EOKG6biAJo2qQzPTHHC167mamtQkwFLBJO2QQP+UH6Qww3Rp4wFLEzLApjsYYw/w0rTDOmBG46wEO4TA6EB2Q11puuk7xuJ4YnVY0ujOd7JMk3VlijWK2zm6iCWE5eK5zLHhOJw0wtTPsG9Z2RWI0uQ+ryVPkzS85saH7k+Ss+amovoMBznIZm1w1vE65yXTTGarQDscFKPZfQD81fLG9uMTLNGJAwzHzEdku+RwORwNuBjGk9BI3AuNBQOXU4doww3f4MibTG6UFvenp6BA8TAyy6HvK0NqI4kIxQI0OUtwrQUy1KlPExN6BG0I0rE0Ik4dSo+Qw3AJ1tuWkzEEzVORyiAB7L3w2CC8FKLu03+bAyrBg48sszdo+nSdfs3MuXSw0fuBNmDciMNS/oQNFkKnTBp496LghLPGBC28yJZvwS2Bk7vy3lqkDpsilH0qjtw4V47ExOngbNGzpTPwGDsxPMeuK07OiFUrFhQ8OrJTY6u4xFTAY452kPrw9PwLMlMBzokmzimpbwJ2w+fo2BOKs+AASDoozTwCD0JXPG2oyt/EuY13MxpRiBq41LPEWIrwGYMHYahymuQ1hYrL9cZSzE0CQow1jEOQ4P38E8w9/m197CUzr3u3gzCaQ+oZigzGluvK0D5Q5VuADQ51w3orDXNAviGesBp68ywyUDJGsoWJCOU9ExO0rPqrESAAqI5tw84rN+gF103MltyoZ6i9sw+J47IyToI3csw2msrYy46blo/G8+PLIUu7LQ5aiHQI07/KdRZtLBd7C0qyx3DTQHjeBhoCoE3Pw40YJUVRYAPJIkV42lQF87uRINGbR87i2Yw5apWqbh07VLEerA5U4LEIbmxJLCmI+bo+f5po4PWqm6iIIw7ow1jEKJxOyaJrizWCXIZpPo/rw7f48wSN147JsI5TMYYz+Ixx+3UI8ka4eLA6EKFAG0M2NyNrEOfuxqrCSc0+QIG5PWY6xAGlTGcU2lQ69TCQ4xMIAkQLwI9a00LwzaM1uLM6oAfULKqXzyW+Q36GUqa7JmhsY7Fw4qQ7bw1sIyHTOMwOnwwyml/RE5Qy3w4LSLWK8RwLCY2OVf2Y53I9VmAjQz+I6EUyilDFpmBQyFon7k42M4kIyrQ6N+3wyZAuLiQwdzUR4JPo2js+ak4FmGbQGAa8AFN9I82LJ2wyUUBc80YIBFY7CrIpYwWazSwxVWt9LPmNTXNF9+BwO8oW0SDSxM6Y+HfwhgAG3Q1ybPZ1EwefWqsw4xOQIiyS9QEJo7qQNhw9vTCpLJaw5qlPuw8BmCjWJWI+bsKHIwloy284d7LHLCDmk4ANFABGQ3IeFICbvQxfowoW9zjKYq6GAbuSbYSL+O6MCegQH2LNGI8UDF4ENuvS6YBUvI2M8EM0Ro4bGd5iA/UG1Y8kOY/LCPo3MlmAkHylPjw00UDfQz4I6cmnToF/RDHTCVTOWgEMm8mQ5mQ8025T0/xE78lJ2I7RUPbwww01gI9CrP3E8iKW97Cx3FBw//05kI9nc7XY7nSdjU1roM98KVIX/TI2M/B+OZE1AC1LoxFw3Lw4Tk86oN5YPaw9PTNd7B8njoS9vTEN3c8rTKnb842n+3vTE+qMTGrVLC97NUE98Gf9QAYMNExE+qK3TC+44dSvsKBQbRbQ/S+ozcZXQ3IZmOqT5MLoEM8I21LPhs3cYmkwx9QIi01K6BeQ0YrLibuRFqGLL2w4Tk3PSZiaJCQJ5s4mLM4wxzNC6YBslKqnN4yOqgF+C9m48O+rGO4TPF7w22myZTMdQx6Q2AkE809rQGuQ9F4M8reAe/2Y3y7rfY96LhUAFU4qQvqCYxfcaTSXSMwyI9DED5MHD7pFI05Q5PoyirRWI0RE4i0+5FLuACrQ+r0wfi3bY+ZAKVkx2SGOc9nU0Dsv1APoeCVLGZ6ahw3UhHzwk8s9dCvj6toAJu6VnQ4pY0L5J6MPVy/OLNJbDJLF4E1uQzimvSI4oFMsAE0o7Xu2CYiGwAXU9E44XGE7C9P654rLVo2PU4+GkcwzCmjFTHToGDEFDpglILlo4bLJsTBnwwfUFMiZjB99QwDw1tQxeGRBw/qrM7OVL/n/LEdw+p2IIwzp20vSaPw+wc2TAAilCmQ1DTEp4I1AMM0zpuhZwIvYwRU6LSabSddCu04zW8ABYxe4yGwPsKObQAdo3ZokdETygOE4/oI38E8RoqpTPkI/YeAhuskEMXTNWLC346ZrhyuHBC7LO1AgDc08149B4xqAPNkyD0Co7vW47uSazwBI8bwI9gEAd7OQ1qMOFP1ii4H6YNtTIBUcr+7sYK5IB6JLOiPzLOnFh2OU0rJpAGYMFJ820rA5Yptqw/TIdwzlC7PQ86yRTLC79Ystn8lPhLPWLPDTMy0hygBhPLuI1uU+Aw/yw2ZAIsrLRUH84DYI9klBVpTtSpKgPZojW8FYwxKI7O4LMlKnTOoFMzY4WEOh0+KLuamkx6xHHiFkNemzIAIiyb9c/HTJHTLbsaUrDxbMb6CV469TGlLJMiXmQ4N9OJmKU2CQABCbKaZkGS/C48CAAqIxE47a4IOQ7QzHzEZQ+KPnvEWCo7lmAxJQ5bIAhw5d7FVY9QORnw1HgN/OLhwGH+AaI1pw9ZTLJsMi0+UgAmQ1qGy1TB8yAcS70uKEfGBOOQWv+w18KHhqsto4l0AYAIpI8RothYy32+eLJKE5zEJ5wOMYmEw9mwCIc+f8zaJJ/AFFTCMwxucG9mIxIN8UIIAAaI+EUH5E/qSpiaOZE2MFBD6KliF14Pmm+CYvj6meIwykFMlnuwNfiPtCXsE1dpk+kkLw8xQfzY42s9GQIAY+qW3J4+bTEy6Hsu/Ikxq85UVe4AFhM08q3DTBErIurop6g5LNKI5yo1hw8b6B4rH/41kqWo4xJ8DLYullt/OPgm9vw4aB6xyIAgPoi0ujLtQ+0Y3XM3lqtEOGLbBeLLOwFHkxfo81LB2OYxIDeILwADjIMlAZ4YqLM1wEFuw6LTIFmC5I98o2A40wU2ew7JmsVbDGmn2gGoE0MuWLraExHgrH0lDK1Bdkw1M6Se+amlvB5YALNIL4mspo6PWpZQGYUEtOGoI2lQ7ow3yiz3SfaKztbPB+CZY1MrEsWjTs3+o6NTMdOPxS1P8+5kwJIyZw6ywADQz4I634/Xy7TE7Iw8dOPAIysY36YBhPPZ9pv471oA/o1HgIeuH2LATTMOLNtqOoeKuUKwABhAP9TGbw/lqCrQ+4ABbTNwU/bw7cE8fwoVMc341dOEjyayosBED4OPA470Kc8+OdM7+s8l62LSX/47Y5Szs4/LMwvn+I7SIlt4yCgDuLAbk5s0BCa2A2AEoJj+2BUL9TEBqT6mHOw1gEAMlG4ACwkMMrDUsNrTA7KeEw68w1/E+EE7/OlpY3wo+rY+dIzgixhsHX4tTIgRU3dW04ItsxNpUH/mzkw/9E6aYONo6XYGwAFAzN9LAtgHHQxcY29QCZM124KBw98SHhOOIs4Gk7OM/JOZHTC+fIHAIYU7p+22LARU/XOFMI/ywzZmMdU4+GkcggD7MLsMy0hkEywB0iUCBLO3kzHQ1ylMwzBgAHj3gQzOxY7fY4m41UrBwUHNY98SHQO8zBw8wzOmPsxLCrF8i7/sOjLAHTIEEMTGgzhnVlnxFt1THUoymK7YeG49Ee40jw50zhCgMgzNK0xhsL2rDDWAWw4VDDxwNnQ3mLIi0zBSZDTFMcJWK6tQwSUO/ow6EH0qiqI9o43MrCE83zEcgzJ/w12U7TB2ak2xW2XEzNQxEmyvoKIW9WUx+LAhw+vTDNSMxY1Y0+CeicgNRG0g4zTQOKLkjwwxQ1xY/9VDZeGZ6WKBAY45eOYJokGrN2Q6LLKoKFlo1uQ7PuypLBygCp8L2I68jewGF1I4A25Wk33yQ8W7fc8Y6B97JvLEIk2HLB2Q+xc244xwADFplZALDwxcwOIh88+JMkxwUBfcapo25Q1nu+EEynKRakLlo5eSJ2LBPLErE+fwxCCDLwzpAE9TEbyb86ynKW89c6YytIxJQ5CANd7FVY9EI1fLF4AJ2kJ0zp9TBso7LLIoABEo7qlMMK8e081SxbTIRmxfk8B6+P8JzEH+Q7r43SUz+bJcYy0FMmo68jQ3LOdTNklCOQyZeELw6BbGsJpZ07z8xJbHWhzNQ78tIIxFfLCqlMxwNXABpY+NTH14AtgNqqWoEwQvNhUDa3D4qMxFlRk4DQ6Y+KMOOlIPjowFQIK4GBMBD6G4w5AySQy3rTMmYyxAEWLJMibhU88oxhoBC43p6KzkGLbJCvASyC7Q62mIQrAhFMZEBH/rf462mP2iMb6BExB4QF1TFWkGgcAKAD7oL+Ow7gvO6BD6DWCZknR6qgWQ4xKz7EJKgNeQ8lY2cfElVLenmnw0VALWLFZHVQo8dLDkrlvenWoz6I40w6royGLMUTtXAA9gFw6vorEUKcquGxI3Jo8TGgzTKnLIywKNTOlaylloAY4bLMqrB4TFAC+C07ywGtTIsY0DQ3T48y4I+wyCgEBqezLC1Y+dWM1LOck3sG7GfZdTHxo/1OxrI1aw3Wox2MEOLCgAJSzP+So8xP/+JMI+Q1i/TAuQ554TtQ2JQAC4zpuhQI5mDs8+B5o8ezTOmDCmgqwCWRaFG8qUyn3ghugMK2UQJrcAow/kI9hY4UAk5TBA5SRmwNTMfoxQ2I/LE/gG7TjsxI2My/YxwyMezUV427Tn8Y+RIPWLB+w92nLn838wBt42zoMhkwjw3FI5Ke8q7iTgrylPEY/Low2Ykrq7TI8DsMfo1mwypfbxdnbk9FUGgcJMIibalaw2hY3ArDZmEL6fsxKXQ2fLIzyuwGDdCZQwwarObM1NIOMM0JB2Wwww00NQwg8WlrsfY7Cy2uQ1MrJ92xzXmtTGj3r7qtjM7ZI+G2Bku8b6DjCkvQzpujeIBZIwfo0V46rGyV452I9FACcgFLQ19cduLLQHF3++p28pE4Yoy5o/+UHj3rc42gcGAzJHuOFKx5w5o+F7M46swskyRo86oK6y9KK8N8WLIMsAK2Y1dTCVLFDpo5wBPTJkwwqwENVuDaVhXFB+7rw7hY+8I+8iSUI0Qc5kOmdONkgUJoy5Q7FnKkIwDUB54FjEPNk2MJIoFM1SxOQBsY1hXPJQw3LARU7oMCZMw6u60rFUy6nQNpQ2ZLAQzClcbuUxC46nQNyE4UvFGLGo4/oEFLQ7DRJKUH5LJpVdsIxQ2G/W4pTCUzqwAO5w5lTB2EHRSHyoVcZgviLGQP3k07/HClJXPBMIDFpldphbQza4zHkLJTMswyyQ1U4m9mRTI2TTIeuORmKfw80Y45TNoiVeOKFdBmmAhFHSwzIAEUY2tc9oM1dTADsdAQFlTNd+3mLL0uDZTILI0AFHYFFmww8nroEG1EDlACbZkskDtUNoAACi2AzGJQONw/aY1MI8MS+5cDUsGDTGOVfRsDFQ3/E97TAsk9tqEerNmrONo2wEFbI0FUBfAFw6npK5fTF6E5OIBRQwDZG7LG0qeP8Hxo3eU025vOSygADE5CMkDPO7KgKxLB/KNgEMjQ+X4Ex2Txs+rTDY+9G7I0WxwICcUIwwDxfKxyEnpl0w7yvWIo0qwFzw0HzCZTPAs3hkF/4GJQDNQ4DTAJLD6upCKObQBHw/A41LU4rwJPoxDePjTB7YGXOh2MN/wnRILOcUXG6xw5CKESownYIDYAew2A2BKI4vLEVY5knR87sCADDTE1lkyw4rOLJq/aw5+AAQzNi5MGwPkI05I8YMLO4FxwDloySLIhNlM5OnQHEIrYlFOSgD0BYACGLKGLH5xJguSww8+bLb4zEI7O03vseIAA5YgpM4kIyfY69QKX6uUwCdEPlWngrBZQwHY/7qILELOLIZI1C7jtUEoEwrcxzQBTLGpwLZI2NAH3oM6oFv4DlAO3TKUhFVcHExI9C2JbBG4B6JOdLAQM1fE1tOG+Q48xNBZjSeGw68vS7aJBZw+vTHGnPwwDE5LAPEVQ8LQH/W2bw668dUiwrc2aw/lQwPTIkYJXLMEozOLNB+IQrHPo0uQ8kIjE5AEoDr49mTpwEIVQ/Z9qIy95iDOcTrw6biDO0HMuSboHLExhPfAI77qLvspxO2GrJ66dpQ0z8+UwE3sH5puqK8QLOSQ6NU2Z43xY/7y17M9yoRSE27kwYAEn1hHHrhY//036Y36k7zos0Yw6EGIo3wARUcPF+wKAP6k0jw/B+BcU32LLyvUiULJmsIw35oCx0Ehk9as3xLGU+LxU/ClGbQFAC5XTNWLODaZ7YGPUyqME5eyi3ONsAlh+oFGUQMlwwto8foyH9BeLDygLZQ2+UMC2yeQ4d7M3LGzoKNU4TPB3k33oDFbCPo8I+Aoo6uUAy01hM5u8JWU8Gy5G41L/jMAJPamdMVU4mDQ8Hw5UvPHMHmw36Q+bQAm6o+QwC6Y7LGJTEG4qZwLmRU0UF8dIuUxKI35pgmwc6hUFTKc04OQ29IRhaPK0JsTPPwieI3YanZYz+QymI6ExL2w4DYDywEscxSUJw4H6Y88I3pYdi5IrEy8s5LQLE+PWYubQOBSEDw/fYB1TMMa13IK2Y8RwFP5o9QJ66Qls+PLObQLKYxPs2eIy+ULLQ4dox/KNxQ8i4/6ho+GhXo0vE3nGIHaBUnR87maw9klNyoa7K2lrrAPBDeA/wzkOOC0/pPCZqNUE4hQ+rcW44y2433yb0Kc5Q+Zw8DI/6m8aUAFTBdLFH3d9YlgEC4eNR6zCmmgAEJKUN3VMid8qa7QxWIzYsybQEsWiLCyIxCLI0WI4HC0wwDFplMthBw40YKie6PWOkAA8s4tbMvSxCbIsY/oeCboPjLKxwybyyksPtCYim8/W3xLBECTBSboMIi07aY5WK27LNSw/oU2LvhHHkDOl7w3Rkw+ARmI/3/kQFDSwwP88EAIpY/t7AXK3D7tU5g8kzeIG3I9ZTNlAKEUzfQ2LLO8ejmKyjQrQHD+bKe2PcG2H+DZTFDw3QIEvSXOw1GLCDI1S4CfQ5bQJ/cb84w8cBbzGhLMfY9FI1qQ7nSe6nOEExbzKKlOQyy9s86YBQ4DygB6Q39E6zdNnc0B085HIYo3qyw6LA/w0kw/xE75QPm0E9w6xLCGw0aLJQ+HorFlo5wSDWcyMkPHYN2nEwU5qlJGIweU2lTBksgHAM7WMEE4s+C1YlI4FUDGIIw8k9D85IEEe0898JFI7FnB97KvgKdQxkY3yw9TjfiAJkKSwI+n4xso2VQ/7OXlTKaUBqIwqSI5wEka3OAIPw/fYFrkCDmuVJjLOJPLVgAEQzPPLKf4PQ/DMAFExEB01nQ4x4H8w7u09pE1IfKClP1APey0l1OKLkYqKcmunM4IKekkMwAIxIIt+3xLPpo7xuJIYLiI4gUvjTPxwC5Q2qo+4AEXYBqANyoYnY/ch/hwPywwe89SSD2KZw4PNKGurHyOzLYrfAOaU1JwBf+hx42CAP2Y6A7FExCo7tU5k1TOY07M4lclC6yYLSSPnOdLHt7NVk7ibjjINoM7JsM8rYHQP3sUcYAv/i1K4kYC6uyWmyBK23TJnK6XQyGwCgzDciPZQ8Ao4nE+VQxksB5Kz/or4Czfo0LE81I3NOJ+0yjQlXYEpTEUvDylmnWDs+AdzVEAOuC1o4yUUHMh/HYBQ4BslFTQyIc4B4zGqmAzJDcp54edM3iUAem8jQyus1vh5bwMwoynKa1u4JS46iEz8+VQ2CYg2W4lwwpM7Ww9K0yxAH+QybTBslA3ACDIgWTR5TJGi8TE2fk5bDNVTAoR3D7pFTG9vRDeGCMyrQ9ks4si1CrLbTL/OgtQ+fo+sIPsY0HQB6w03sNjTB+w7JIP0lJ5wzTwOrdPwyUlTMwwDAYwdo5UuFGwz4IwGowdxCGLAJLEUvOJTNxYOgDOug+m+F/w74IDewH/LNrEEJKa4w24xCV40ndPZ1NtTNgADuLAJLOSFBOIOUI5hXNh9LdBurY0e09jTC/06qQ+ncavYK+K/m0718fCwOdOGP47wSCpc6mQ/LLOeLLnyHFQ+EE+NTIOcK7YE+QGwIy0FAtgKA7F3E597G1LHVTFwENci3MrD4qM6hXxLBqAELBJIYHco1O8/uLFTrFsIyRwNu0yRO5568b6KX6gDQwJ46GkCJQJ0AGYMzTs+bQAlIDXNK7Y4Tc4BcAWI78tIs+BDE8Mw7ym7c4xCqOaU+QzJ/cVMcECwxeI8NI+OcBZQ/rLJqrKPh1/ozJLHuLM4cU38KroxylAymvyw8oo/C0J5wFGG6AUNTjSRQxgI2Lksy4He8x6qp3Q52kJOoOD06yoraJENw7zovcmcc00wefwwK5TCn3mncXpI/Lo8nQ1fs2AzGfdVWswtw3lQ37k9ZLC/Y7FbHGAFu0G2o8xwJ/sJ6q5/cX0eCza48o8UWJx6wfLGEKqbSRzU1KI9E42r6+Q1m4AAD7Hp025I4LSRlwy8w4voNxQxcwOP8CSLIAR8PLLDw4XI7fc1bSD+I/t7Jio7SIk0rMYMBRcw9kwXU/7qJwMAWI+ngERo8QrC1Ymm7kIk1P1noACqMNS4EZG0klGoxNGIyfYx7w4ZI5Yy9RI3ew86yaTSVTYilUCfY8HTBak4LIzsxBXnAaw1ArCIc93S1DTM4cRNLDU6/YeMTGrSs44W4M0/ZfZZQyjQgpjmuu++ILmY68jauI1bI1d4wCozTY2hE2OQyWE4JM4kU3HAg8wx+LEVbOVTAXU0R4PceIhI9nrfOfduSF7w9VuVM4Jhy1P85XQ5tLM7WPkI3TTPKw5ZQ4LszXwKhNuQ1iXu4p6jXNH1LOErMto8uLNoAJW45SlLII6OcLC87UEP4FLZeEqRu9RFaKRggLwAG97OUwFMljkOAQi1u66D0/gELBJEzLMF9hO1rQozCmgXu55w/W47rK0LreFQMXQx3TGLkvWhFjai3wxG40co//+IxIPAXuAENnXO/TJByIoABwUAymh7cL7qsXTFExOdm8fo7G27b629mL1h5XPLuAJ6Y2qo+xFkVTCksC+fF8UzAEI1AKbIx54Gq+9lADKE/pZtU5vCI4qi8uLHae11pr4mgHANPaFZIIWTKXivwkxVWgskHVY3cY8fY5QAGOQ0uY8ilM8o4TPK1IzDM7VLDHpsgk13Ry1Qy3kyJw0Pw2doEmLMto9S4FFY/Z9p4rOZJjo8S1O9+UNjM3pbBAtM+rniIwbIBkY8Qmz5Q5/43lbUM+4KUO4U/iIwhY7X4wvBzfQz6EARU6Vk8vANazJEMnHwOcK8fwta5K7Q5/AL0UP8wGwI2VuSOQ1LY+8egCxzg84VQwtsMzY31LI4rFuiA2mqvwwxwEuILvagaa3gIx66EMAJpQyUw5zcb9TM1TPuw+GR2oI2j3t5Qx4rAAGVGw7jS62zlixC8w+h08Ew8m8Z+AFhy7Vo45Y604jOUMIEy+E12rEGY2QuiPo+mUPTzDmQ/3EwUADkrpjAO6mFtLJvI+UxCBzBo+59TDxs5bQFLUztwyirY7LPXplmA/7qAbk2no/uLElTEYI7DpsOLC2U6fLNyExqI4DSkSQ83mGOLINLE2Q5zzNZI04AGIwC5o2js7q+5QAHp6C+44nOwZwwKrIVbKHRv/093SwuICoEG5UEjCYB4zmQ/+UBhwwhLNsAPZRqY+3q4zeIEm8e5qslAexFouOYSBFBww3ABbQ9jTK2YxK0NZLNmrEUvPhwEd7CFABG4BaS0Dpi1QyvWPZ9oFW81LHcIN97JaSuMM5/cfEWISY5Mk3poxrY2uYzLOInYyBIIFbLtw0H0yvLD7EAb+1I4IBExQqyFU5AU8nJKmQzOOCZG+po79LCAw5aiPJYqywF+bB5gCZADUsHci7qlMilDBqOKKM04NGQPNALywwhusw7uzNI4C+PE4l0Fjavg4yFk+pQ0dw7iI3RLIjLsQLOngWgrDM8/aw5AuBEEy285lTFOrEL6dEOFrkL2i3N42Ma1EHsOa43kyIxG3IxG49zLK9w1tQ0gAN9LB3TENVmno8ho3VTFuiGZbKzUH4B+hi5poxgqx+LLio6oKMmQwFwyuOAP4CC/hPUKNQ14APia5GQw2E6aYG5TPB+MuI5qh13ExKwxOIHxTWS8YGQyeI+zM4zytlQGNQ3vsSRQw9cIAU3Ho5FTOHQyAw0TTLxW279Ofo2S8VoowiI7Zw+ekyBLGARyxDIQapExLmYyQECck7wACerMPozpI1VY2o42+3KUZm/2iy+k4JFXYJnQFgI5wBb+yy3iX6Y/CqQe82TTB4rOSFNwEFoM3bk/ia36MLPwkwuKl65Us7BO1/Q9ww7+8OJQ6guOOozKrCxAA7W84caQvr0UOm+BGQyxM0UKVSANRo5JI2OIFHmB6w5PUJu6SMM6t21ceMGUNbTBZI1oo/H+PWhESDXCqLgo7tQ2jKdMxMUI778zQIO446qG1WJPwQ7CUkJwKUrFXc6kI+AENbu6p8NbYJqlMA4wcIG0o4M45HTA+cY7LJ3GIlTG443hOMQm09w5IYGpQxIeNYmGoeLpwwRLHwARE4ME8+X4Lu02gI7SIhUALQS7MlEuqwmQwfUB8yM6oC0FN9E6m7bwzOrTCrTAPTFHw7VLNQk0VAOUzomI+HQ01oE0UB9QF1sKtQxrY8VbG1Y8zYxMwA3LMjO+0E8QrCZw65o30w/sxHioakANtqAFwy2Y9IfHG0/qKzwuBsM3nUzvwz1TNVwx54LJTA8nv9TL+8FzkKY+BwrnMi/sE0tQ5oMJ+bNuBtTONRC87mPExFwEIHa2CIIUvMDTG5UBeIxD6PUY5LA1U4jsI+UzoDTOzwTreJ0wL7YNsAGLkvtCTijS1TN8qfj6gw3RvkwGo8wwGngJ1w6CABLsCSMxqQx5gI3k5LHpCvGWQxCRsdLBbzOICJkzrOcfC6zM81iIg24GerEg442M+i0srQ6bYKoyVvx9ckxbQBKkORhPLoyzWCdx1TVLywCWiAdbBDponMyVTDPyAzhx1Q0skP9m98SJByBwIAW6TVTD4qPnTMbTKVI0oEyoE12rBrY4bLLNEIo8WEk61I/wwK4w6TSWjs3Rw8MrGUFIjyUFu18I6y8eSFACDKpIFMtuKaUz88+bP1kENbIoFOjozywMC/XjeGr5m2o7fXf/w13phfcXArJJLM2LKguOfowtgAwzADsaVor5kzlo544xAtIFw1uk1g8YOQ+DO5vI7cE0Dsp7YFUQG9vZvQzNI3nREOi4do1w6jlABCqAm40gzODaXRIDOAB2YN+gBBaZzcYrE0R4JsE4oKeZY9NE9oYFdphp46Ao3ToBxoungTKMa3uLzm41Q0TTMHw3j3l4Y+aUzmw1C44wO0x2UBqVZHUWI5ZgWoxNVpvJOcw47LQ4tbLExBewLuAMnQ5e6m9uJWLJMkw5amnwwTswNTDJAGorAiI27QGYUAWw5kOt4FFLx/vccvw9nQ+JQ29OOoa8Rov3/ltQxMAGRMxVzcM0xArEfa96LnJ49jM3IEmBOFI06yo9+bGmw1Dmww89G7CIxMBmO8ic3mKy8WVSbuAD2oAlIJLQHzEQVw2w6/zLFvI7q4x5LJo+Nm44oADN5WncWLUwuIMb81xYyJQKcI3QI25LMc0w8AKNQ0qQ7U0IfxPfYMiZMhw7Nouh0wr5p54Dlo7IpQtw1BCwDQ1l61Lo8NZBNLKjfo2M5FQC40yilKcgG7TgKUIXI99829o48O84w+cYCzWMkIsq7pbQJFU5d7G7QBbQx+INPk2co9JyY8hEaLNTjWBo4LSS8eFWLIeuAJ460FERo0N3TJEwIxIqSyGw8yYLRUCdTJMLJT2+PioG5BXTMg+BA8dTIo4rClceA43qC4FbELwzDeIsY4d7Na5GP41MI/AEDtUJUvM4cWH+CtsDAEM1TClwzIu6m87V6wBY5XQ/YcI8hD6EKmQcGwBpw4urq9w1+a1oo2tOM6YH1TBo+JzTF4FBpY/AIz9BtuIKj49DLB3OY9wzFponY1TQx1ZMceIs+AovsOrOMYlmw69w+eLLVZNZLOFTPoENoMy1MwKIGFiy5S1EHtBZpJY1ZHbywArwJQwwGo8kAOIs07YMb6H5oGslHfwpFq8lAc6Y3wa5qlFKIwm6sUI0YAIKYsF9rZR0HzIdTLMlDoIzMkP6c+AEDsc85U949Fqe/jw0WLMmHcVThTcT6I2Ekz7oxxovzTDeIBVpVEKTe4xNmBZ45HAA5Q0N3egQBZgUsWu3TP1kN8qfTYzEm5c40qQywoHbk1hLJzTJ4497TLeYxVWkPa+MwCn3sQLOdMxksJA25nTIJonkw+ck5c4+YOa5TBIABVs0coy9OJmQ+hZgK081ajCALAPC2Y68o1GAETGjN5UEwxEh/KwwDZISBCQ4/H3gA+ISBJf45BLH6QyNOFjS5guaZwHTTPgECAzPDaFpQ8UTp5I2hY1C8UR4LM4iZY+3LFybAjQ1MtuUQHBoIywBJM46s6xa0rQ+BSP9ENKhzGkzAgHN4ylcdVQ4jLo44B7YMIs20oxMIAd7NDYLp0BPQxlI/h43iI1VLBQbXZezJAKBbMYY9ZIx/kxVzdDLMPTEc5HRSPnTOmy0uLGrQ0doImI88ASNIJ1w9TIiHTGNyCUzoUdu3KTygLOcZMLKsY6xLOD6QOI7zjEe4x47qAI9/sKnQP9i6JxJw8V02tiQA1TD7EDbLN97NqqeaQ0fuJlTPO6EYIxksA05UvyQYle7TAilM4w718f6U0sox5TAASH0w6MCQviESw3CYiecU2EPu02o4xezPpy20E9lADylpFwxBs9G7Fgh18I22ow1AAaI4+GlWLDSw84wzciJe6shM/uQ5RE35Y/Zo7Vo6HorIw5mQ5QWB2EPJQxx4xhU4ko4JlsyQz1IwASMHwwFIwkQPfQ4FLDSeF1I6xAApMyqI4UABXKSzE//A3GAD+I12U1lo0eE5iwJB45/4zxfMFosqU62Y0YID5w9P4IyQ+arB2QyLLLPQ4C6I/Kx1k/b5PwGE1TCi4wAkM4cZs0L/40sWtBQNm417O5kKRQzIeLDimpieMkE03TIEEMLsCGwL4e55CzDTD00/TkD1E2mw5qrD5mAD7JMI68Y0FbOiMzijYpI3o+9FJ45w+kkN5TNtI7i4L4mmXm3JG39OBtdLhY0webZw3qY8BLNLLDAEIUAG4wwDm9yI4bTOncbwM2IoyX4+444DSmLrSdEDylv9QPYeP1APZosEE7LTJhKijQvkE/gAI5TPHMFXc8dlHArIIwwj45vBJ5wHRwxRSylw0Iw8gzB2OXRLPqlBfo2BQyzWG/3Hmww3asm8a1IyNmNbQ3ToAnXb/48FoqywO5w3swy4I0uY30gRTLJLJ+LI/JTF8KD2xy1YsBGcY06DalC8eUwLNEK2zlXk3GAHIEnHo6PS634+MY0p4Hhw8Rogv/ojQNhUClwyHu1McKmk83ORqqj1SUpbNCAMdlEjpnkw+xY7cAZVuKIk4SBAUAM6o/CqQ+cY7Q1Ondp036kz7TKMAC8eNBK40AO+nlhM18IydK1/Q/Ik6pQ+gDB+IOjcasY1P1jXy0erMi2jdKLO4IzXHhw6MOMn2vgEO0rPoEHXuBx47vsmMul3E64UAm6ttQxE4Nsw9Cw7KqcmHZWq3HQ3OIBdLLcUKvw0WLExuIbm1jEGaU7uLNlczTyTbLFQoz1I/27fGQyvWK7aswSDTE5FQPSStB469B8EEypfbzjF24PqSuzw+AUO3TIzcfOkApMuyaFDw0wU5IYAToLzQ/MY9eo/ww4DYAdYBH/tQkzJE4DQ038Jd7HvExkGnlU8SBxBLBmi4BYlceHZUISwxVI2/2mNWzyUxei+d8/fWDZrjzw7dC5MAO/ODBSfgEAoy2zR4LSaG+79I2CINnXOP40DpgKAG9vadRcJwASCHmLLrkZuQ2lLOoZkUY1OceFTEpTM5TEsw2dOIfY7uLHxLGwwGtx6hw7qOJ6ABYrOp2IAFAxLAamAwzJcOz/okbNI1QyLCzqmg6w7io6e2IKYuslKhNvSI6r02WQ2ngE1lqNQ6GAdsoxzXhbQEww7HLBxoj4AAK04FCZ1LBd+07/NeiamkzJLH6Q+KafOKHz6+AEMHTD8M8c26CAEFTKsXDvi6i2/pPJfMzde3lQ9Pk4pTB+B9UvPxi85s+SowcsKcmhVWgdo3/LM/nunwzfyBNLIiw87Y9tTFmw/kw+5wyMAEUY9/y84rGHLFSAFeOA2YsbTITk+TQ7sxIjpkfuOngHvseVloBcA8nmco7wSNPTKDOAAkBQ2AVqEweZCvPZQ2A44juBLkLZeCaQ00UIXYCfQ6ExGpwOXKVuw/jowxI4xLDLTJvBHxo9Ua02QzBqN9gHXuD/ommw30w1+bGbKylTM+rqyoxfY1fE/lQ/DKSBbJVCzMkCdTMUvFlw4mE31TOKY9fiHdJHpI/2UEcw+5k8ewwQQK68c7qiPo/9VI1QxE6/6wBZI5jXPR/jMAAh80e4774FvI5ZgTXNOWk1Q8X+o3Lw2no7HLAtbBtw2Ww/yLnRwzMALkQGLIBHYFEAD20JXQ3erOdLEzwK4rMVogw0y+4wNTD2Iy+uk3TFLQ6Vkx4rH/TCWLNK0ysY1pQxfo0l1ESJxoZunFm6iDhw+tTEMuXGAOxI69TOpQEL6Xi7kahKpcKnLJ+KbrTAhukCw0DI14Ism+9CrMm49pQ+1LFuw5VTL0h9II2ZAONTAwIyCu12UyNIJF6mMFPH48IExTLGBrHsw+5Q9bTPKwyi4EPw6VewY44wo0bQwm6oJLE2o1I4J8hPhLF+hmdMaQwHVljmQ8QLGDEBTQ0HQNzcEdEeuSfTQF6Y9fo3M2z3ZslY/dTDtw0808cgCX41FY4SYxfk87Y3uADmqT6Iw/x1CrLlq3DTENwzXNFPTK68UQc1EQErE7BUIvwywW88fGesC288LsF3uH7qNrTDx8QEoJAuCrTCQ0Hm86r029uAZTJLQPpLGYUyxALU0KPWlOw2cfDt0wzTOTOzGE/8wAirF2rESQ3c+q6Q7iboKu0TEGdqxlI8OrPCIy8w03AGjqQ1w0CR4LIzXNO4ml1MwPw3CgENw4x4Do+zAgE1TPTw6DOO4EHYM8v2yRQ73wwaI70TKX6tqYxH+xv40JwFRw9HSe9o3cs2nI4aQ5BOL7zILSZMIonE81I4XSETGi6I/3zsm409w+/TGOqQwG98AOZ0+ryQB8DOOIrE0vSc8rQMujxbFgy3Po29cU8087mPMI3ywzSu4rE7U1uzwfAXgToPiaxeq2hYwJLNBZiJo05THgrGGk2PU61I/wGHfwuJTEuyGb9kzcaAIyi3HOcf7qAB8Iws/Ci9kI8M0+MM7/41BO+oFDPTEMuT6IwhLFEKRxE/BTA+cV5ow1TPAozXM9oAOBI22o58+zyohDw7EE93S6wzIMlOn4804NII2/2g0ZuKaXlTF+bL2I5c45AFOZYzVOZdTHYFDQwxTQ1sI4DTHJ45wBQr5mAzJAGlRy7aHmQY12q2DEL7O1aCojpsC4Fawx8nnToNDLGgcOP45JYzHptqI4B4wya4nE5WI99sKRwOzwZ66ScWHhqvXOLvsu5Q9hI1P5pd7HgzGsJq2mK8jYhQ0UvHXLCRwNazIqxzLOHxo9a5CrQwd0zIKHBC5kw5G4/fYNQENoAOUzhsY9VQ9oAIeLCnM67k1GQ6aYziQGJTEusLUTkIw+wYJ5w+llm440pw1PIAsk5zTOlIA7KdC47pw92nA9gOFWzaM3pJ+f5hC43HAu0YwFLFh2/lQ57TDJLE+qK5o7OhaFdC5oyEwzHQ3CqILs+AEFbTOwGDDM5920czjaJLG0CjWGVMwpM8qU4zyuAw09o0Lx61o/crE+khIAHKw2Rq5CST8rFSAPK0FCS2aeqvw+Uzh4wz7oGslDVOSJa+IMDkrvHYP+bNWLEUKUqRsTLI9QPwyYsU+aUxr6Ejx03sERBIxcx2SHnTE9w/UB3Ly9lTNG7OQ4GamjreEqw+5c2EwySLL3E7dC4FmIJoiLnJMIkJG08w6zouekws60N4z9BtFIwD0KmY4AFP6hm4AK+idsxAfoxJq0uICfY40AIM04JoisYxYANIAEUvAilJbR/Z1JRSJRSP7mNGw/TY9DEGS8XlO+PLATeJsuAFw249Htw1Yw6jKRPTH5xFKe2Js1pbLUTvb5GdoCN8J9wIcSBeiHylPxEzxI68wxo+GFm52LONLEiUIeLMPLGtOBLGtPaFLo7oixmYzxs7fc7etNUiEWLKDKXVTCwkNmqZQ+JNQYr82W0CjWPdLLbo/yUxzxKzUKYeEBM6fwyxLCUk3po3PSRoQOlIFfTKJxNeLDygAfUAD0ObTDVOeb638ExOqw40ycUEZ+20rH8YyWLM+KMZ49TeIDTCRQwA4B9QEgk+NozA62AkCMiT3SbVa2OQ3XC0ri+0C2Bs6poyUk2nw3Qw32LLsxMpK2co/aw0N3YYo0V49VQ5tE5bTGVubU1tZTDIrK7YARSwarLPQ/TkBUvKnI88+P2Y2gI5bI7+U63Ry8w4RQOoeMtC80Y8ohBkAkBkxU8zXeCGa2no4R6DHTdU4/3R0bY/hLOlwxNmLU1v1kG7O13plLU86UE807IInUQMe0ztQ66Q3P095kugQPbQwnGxOk0zwyBbFk6w05T1w9GJGhY/4MihUKzUEHQDGk7Uw7SIpbQ+ICJ7QyFkzXGxhaFYMH+o9wxAYMKr0/rCrKqd4/G3I35LLLwLqlFZHWWsUtixSlNqG2AkIhQ85uegQOQ4PsE4RLJq21QBywIzAgJrY38UA8kxwIFfc8dQy/TJaqBggF67sohPaqI0TgovkBK+Q1kVAD9HOUxGjKUSDelIGuLCdEKGAfyUPqQ4BYjSeEbY9ECNRwP2iEIGjFTN4/PLHqs+EklAuCdBI3ZUN4yPWY75QL3w0WLJkYzqIC6I0QAA5LMEM3cpz1ScbTGlQIHaNa5HxFiZwxcU/BgNDM8F9pXPHJ+P3EzlAHD7nlTLiI8Vu4tbFLYlhaz9BqwEMTLKrw/Wk+xjtnXP+EIe+OM445c/qQ1lLJkKQGo9yI4g0woo11tgWI/2UC1M+3yV4IhwIJOnVgEJZgTLYruUHMuba4J54dtQz7c55w7EeEAENck7e6NSw4nMxLkPxQ0cQEww/wyb/Y1/4BKSArwCAzEp4Eww1GWP/APIKciNnkrp1w95iFUDHw20WIwjw4JLGZCRACDoo71oFZHT2w5aqOnSd1w2OLDAgKDOCx3H1LAjrJ40PwwyZY6gUwtw8doBJM2Yo40YBZI5c410B4mLFPc5sreUFJsaEsw+kCQSyIkk0vQ2DEIDYErUyNYHkrgToxW45u8DTwC78J4eJQ+O0I4OcK4rM7WFGw3ZY6dY+QcUcoxCRi2833prY5fVQwykMvACjTEaLLhU7QoxDI32rLE+Arczpm9tm1q+C8KHzEbRsGBuGLIFLo4RLM9TKQvp+bJbQMe0wXUzYI+QRx5LJrcL4rKEI8ZLGMuutp6r025I/GBP6kyT4zGoMVY1UZl8dB2Q+zNOIMIBJiEI+uST5w/nTK/My9QJFQNNM3e8zLOIWTGhYwtsIwC9aJFAORfE+5k9Ew6STLHB9S4GOLCoE7U0BmmI/LHXw1OrFKlDeIPpPGlunD7jxbPsxFlw35YwTeCDmh3k7rw4oAIJlo+Gr0uDOUOMY9/OGBbDsc4zynBLA2modw1Uo3bW29OP38GlQ1sJzsIxJLPH+NE5LXiBtbCcgCNIF8uB/k5vI8kZ7imkcQPoh20EzjIINLCp8MohPKIsg+ONTLRY81Q2bw2fdYHaOpQ3PSSwO784+8lER4BeGZQAI4445w0qQzW8OBGE/gChUC/PphXNE5BKCyFTFtLHZx8NYG0U0WLObTCMw3ExP589eM86UJ6Y0wk68Y8e0wAKz5mDyw0co7z8/Z9ihULrTJ/QyJZosY3pYWPU23YG6iKPnj1Sa1Ix+LAuwxefKerDa49EOGrTHeU1Kw9tI1UezxIzdk2rTIJM5bI2lQObTLwzIR6GCK9YrMiuzxMNcM7xdiilHN4yWiMfY2OLCAY07rGMFFaQ18dIeY5TLM04Nhh0gs3vTD5w5vQ5WrGBbniyxTQxqwAQvEc5EndLYeIBJtuvft7B1UMVLCuy3as7M+Gfk42Q99LBp8y6PPRq+QG88+BqwDkO02EFaKSxDDPTJTkMvQw94u4E+0YyH9LNo5PM4juFtLDeIF3m5F6h2EG+LHnTEHzJo4FT49UvKpIBnw0ilNfiPClM6yRPi2Z459285THZUOarNVpu+IAAkGYgLU1gTo/g4yZLLslDx8S0FHY0JJKeNQydK//o36GShUNfTHMlq4cxeo6ia81ake4zYI6ro1FY9nLC6iGjs7bOVfE7VZIGeCRUy/Q2jqUTGoJh6pQ02Q3tUy0U2no99LMJWywoIiySC/mfdW0Myj2+0wO766TSfuwxHQ566ZCSVsYsyadqIw4eB9QKBbNQdSxkEliTnsQPTC6yeKY2dMaFdL8Ez4AGerFQ8Vso+IMIdTAKo3RSHbky+UA+AVwQHQ236Q9f+z/izGo7tAGOc2MukVTFEQA3aopIx4xKbIw6Y9+q6tQ9HQLimshw8GwIB418dH0w5iaJMiVDTLwI5u8MqrHsh81IztUF1I4zcengOUQJ3GNoAL0TLQk5s0OaU0orBgAE2y8lIhhaJZLFKlOjQ2zTPfYHpI0+QMmo6HI+EULIqyDC/85KGJLtTBx4+ukx5TEvyXhOOyaAhY4rEz4OFiIsQLBbQxhPPMOEBqY443tYxIEKEmxwIOwYEzLAirCfQ+CeoEsERo9UiI4Y6GkG6m3cinpIxqAOC05bDMZ6G3Q3OcWF3hC4wPw7bOV67tOLBakMis6M6/uLF1TMPLOAKA/47VLF1I8UIzTQEAFMlIzc03040mu4UAomJLxW4MyDimuY4CksGCAOjLE7/FclJEG62Y6LSe6Qzui6XQ9JTD6IxDeNxE4Ha1ZS2VuRBLM+rq0FNwzLEeA402KBM2PJ4U3/E7BUFPWJ2LGWw6s8Qrc/kE5o4JknTyUz3ST1THkk36Y/x6EerOIwFExNd9hkY9VptloGgAK8jcLQ167iUw56i+3TDa450o1OSlemB+2PsE+cYJqrMA4Kqw3zwqp8Fuk5KE5eI1eLGhWj3SeBGCNOObCqkgDGE4hNi8eM1I1fQ0eLPAIz3QydK3xTbaJPuE8lLEg4yxwxCbLIyRlw0klDfo4ywJiwP7qPuE3wE3EInWZ3VTHaI5suN5Q9FTOzeHvsUeE+dWDVOS8eBCgH14GLkuRFoQrD9HBhoKhw7xG+RmC0AH7k7NEK9w8yYC6IzkUEeLApjnnsDFbBd4xHYJhM/5wysRzHw0sYqWm1I4C8nv6k0kw1lnNXo6rw5OoNFUJ5Q1q+GDE2Oo6UhIWEH+84Ai0LoAwzBFu4srI6Qw5TIo4HgzJbwODc2cJDUGilTPMYwjw1OcX4JxZgezNG7k6zdHss4BE8uLCKuSSCVPy6PWBmY/pZhjTG+w2qQ0fA7U0HskGhLEWLA2mnnRFLY5saGws/hLEakxrS5c4xgZ3982A4wdzdRwOZJu3LOEw2uY/iC8GwLqBMv+0cgnGnJbwH2LDlifWhGOqVDox1ZM5TOhokpY8p+0X40Qc53I8iw5fTGEKkZxL2K+oeJAI91w8EAFjYhAtJkEOpU64wylUA0GGg81ilKHRtyQ9wY9sIyk22VMzxJ5XPD5ME7rFTQ2nI+TQ21Y/Jo4lw+dTGrTPtCVNAFKJwhY97YH0qkp8KGkFbuCUW+h05Ow/yAOOcUywOUwNeLE1oHBw791ip8PjoxKkLFbGU+Gc+Eao1Hw6e2IRQAm6rslFp69YW+CIAarBI8eFTNIfMmY5pE2XE0WTSy+x+bMO4B+bAPTHUXjFbLM4j5Q6Zrl3eMcwx3IL0uKSk5GQ8+rttTAtQ2SjbM+BKkAwzBQEFo43skJxGy1Y8g+NxbJfM1Oo6PWhXnNfm2lLC28xcYyqI77qnKw4BE13MxLsMwYQSCLD6yFB7aY73wyo7o/TN4R6WUOmYxeo3UXoYU8m47u0+6nAHY+ck8dZ3xLCBIDfQ6ZhxjI9CrC/THhwydEMkIkUKfJozloywkLOcXF6/g44DON9mxF6/MOPzLGLIF56FNTDBQ2gI0gs4HQGurAASKGLDx8cA4LPUGew1kNOkmyyQwDTBbTFyQzciCXYGcQCBq4bTENYBXPOJQ398yKYxTQ6VTOB40WLG5TCwI7qOHZUCwyzQo8k4wSUKzzK42earG1Y363qwwPiCznggyG64rN2A7APHDTDgJwfo1zww/I9VmExI3IrN9APjTK6iV/o5AuG6UINLEEQDBNUzwPCI19I7orG3YI5Yw1LBfBxlI/AXpoCwm6oHa/owwamOZwzLQ50wOjcRGc68w/27UuY9CrIM03kO53IBp88vQw1AIp6gkQJG49EIPOKHuAD2LIpoP+SlzkMwo4Iw/DaPA4xx7GarBpOyMo4/TLOhbwIyew3/qTLw8dYEFbPgEGrTGSe5oMJWw6VTF4Iq2zoLLMb6NVk524HY44h4u7x0HQLJIMfwhE4y4uxyk1CE95m7TI6je9mrD8AGz47LLES+/3/lYa1veitiOE4zijejo08s6GkAuIDx8eIkHz46mw0QzPtTA6EOjQ8uLJZQzpW9azKwE1vExeGW3iHFhwRotzLIM4yBLIGeKJq6liE0CazdCXW/ifoQrO+w8Hw41bFuoEDsluw/85E8s88+Dph3LyeCYtxQ4I1kVc+lIJKE17YBUvGOLHVYxgI95TM1LIhI2doEXLBArKDODimuNTAPTJHADTwGYI+97Hc5H5xPIkwQEN7TILLGslP85LoMKs+P4FL+I3LHXorBLkIBbLylBZwJ/phucOsIGUQIsrMMzl4IlUQF/iPCIzHTaHI0Ro6MOHc+uIkId7NklIi03hZ1g8bZeFCs9wEE9ECKGyhY9C45mDsO4HPiGQuqUZ4ko83TIHa14EHco62o8gizIKYnY/gEHnTDZTAyI5YrFeLAdQ9U5lLQ90Jylcf7OR+2MCiJ3IyhR+oZv7EwkxPcYhZgTQo85syzEGkrN8qWlQ3lQ5yw/9TEEQNOnRpY0bIHnsBmY4pbJeSFPRQHTOZI8qc+Oo9B+HSGrDkYXKyOLEdKw1LB+bMVYw3LPpeH/qUVQ57I6ioxse4G5Afo0+kl+J+A4/ZfbS2pSzMgzLxWxOIBoEG49NfiPA4+LXBHeHnO6X6nwC2II1Ow/Ww/9VP1AOLLBIrLDpg/Ix54BhsDHTf3/un4y9OFenoHmN9E9GQCZTENbChUG9cV8oxCgJW414E1emIeLKuLIwR5UqWhY3XY5SzJylBJbH/80uW8ilJq2+fJ0YrC+JvB+LKYyxAKDOFUvPMY49w0B0zvw7RUCbaiBI7No5W4wQzK68RUbrNovWhM7WB/NKnLDkxIFCWlh08s54aCHUwyI9oAMQLIdo92Q7kAKBw0CwzkEwVI65s8YMGYUKsY5JYxcY0U4Fvw0zwwgEDOADQo68+4BLBQzB7wzlow0xlHgCxAPFO7oAJXLAfUBJQEndCumiyx65o3KkEzw5qLr3LJHAJSzLJADko554V1sHA+wG49tIwJIIok4BcKbiMtowpMgGoxLDbUw+5FLtQ11pup6x/k6HRsQEPdSCzWKf4KEfDkxF3ppLQBSsOcI48xKKlHlIzGLPMZ4kUxEkDE5C/TNQEI2rJDU7qm8kInMO1uk6kgDPTHIEkkwx3k5wEACozHkLRsG9QNII8Lk6qQ9E4/7ABCCywwxKkB1UEOw5nTEm8W9cXeLLDo4YU3cK9oM3iI6STILSCFACT442OxyiAB8EkSzWCYqQxXAK7o7+8KyozOcfpZlsYiBcwovmnWJWLEhPkjp6lm3xo+Zw5/cT6mADZCaQ3UXgxw8CiPaqFNwQjx7DpuLI1OnUIELOLNgY/MenfbkrE1Uh6Wp5W45x4LVZLFnI6PvII99E7+8Lfc5qwGfk8PTPZonwo+8lNEI0Lw7xdhBs4gUqEfJ1w0OmCV43/LBymlhLF3anW+P+UD6mGKlMEM0UKQVqKA7CJZphXA+cSZTAbkyExDwYI1bN+UI1Qzp48wwPNQ25TNtqPLC3ZoiS8zkw2jqcRYoIwxp8zzwyeLG7QBA5RwUMxwxEAKc2uC0wPox1ULfcxiw0/gLYAFlo2QY6Ue9PTIi04ra6NQ4FCU7qvtR3bk/GQ7fcwJo3ZO80oyhUL2I6biA8AKlm0vG+fw8TLLG0NwxMFAO9TFZS30Ajmqf2iM1QzSeGerJBLD+Q+aM6d8UL5BJTLjw84rCErHXLOPE2W+3N449kzMkFjYvxAXSw0zTNLLN+UBfY1348IYyN8Puw2TTGurLVZNYXHT4zTwJ/Q1NOADZDXo0iY4oFGdOGDEDqWkl6ZFmIHa7Y5VVLLDw1rI7Iq5KgAu49uSC+ILNouUzqKw0VQyNYzN5Qjwza419+NRwBeGbQo+BGILw/AXtp9uqwIrTIjQHP2wmQ4DTLGC8JJ0/61U4sfOd14xPTB5IAC47OiIJ45kw1jY1pYzmcFHw0508nw1HwwlWwcI+Oi0SQ7ClHhqvQwBZQ6nTHgrJAyVRk1Rk00ox4k+5kzMkFcw/lM5vBBPLG444hI1dwwv/rOG3mLLio/JQ7fc6zUDhYHXw9PS1YFG0UwRI16s75k2hSeRmOOawQM8zk9tQ9pQ3PrKmQYUJ3GZ8aUDnTLtQ/wwNtqAMlLmY7O002W1ZIBFTKe2PXOKOcKVIyC/pZQ4VTHaOec56pcHtu2HE29IXoAIUc2jqQgS77qkzZ3CqBygERo9fO4FLNXALSm1x6enM9TeAxQ7nR+xjqmk1l0B5TFUvCGLHuwI7Q70Z4iyXwQHExLLkF3INaw4BExBLGH+lue52kLVZJiox2YFkZxKSG49BMIKhw5JbE0rIOxt4AIa6wdxKzC0swyt/H7E949A8s+VQ1+S9DLA3ABPTPmAOJ42CYusICbZrLLK5Q+UQPY5EKmkN3RDO2Fh3amv3kzs+H1Y9BR7jY85uXX4kc5Jl5xwUCIcw05ddCrxdi3TGVM8hK6ClLi4CBbCKQ7xuG3o9p9kZeH8Yzoo7ic/C43p6BcYxBsx6Q67Q6GLGH+vBgJ6Ib0uGOVe8rEG4kn1sdTCFLBeLP6Q9qqbgI5saMGQy+Jm0o3BoFDpuRIPqh20Iw1Kw8k4I4x6w5wMHwo6Poj/ogu4+3LAuwx5mLkAKLScH467YAuw4RQEp4LWnlcZnarJ/Q90YnerCjp8A4xqIypLGpwBmY6LTO6nBbTAVIxqrLqwxoM05MJ+c+OcI8xNGwxLGvGs2hLG/czN5ZCw71IzGmsoqcHK1O4187hcSxCCJx4AbRMcw9TYkrQ5ylJzEON00VbNkZEyEIRQB5IO9TPorBZ4zLQ8Z4wPo11bOJ4wZZg5LIl0C4w0eW2Gk0sw13atoACjWGCC/bw9qqbWw1AzKyQ3jmF4CxwrnoyxRwBKkCWLHhU78tGlTMdlHz40YqGgANEII5TPqlAToG5LNhw6cmg1w9DYM6YKClJKC1lE+eW+jQ96w6NTIWRzpTExhC747GQ/ZRq7LHPow9gIJovv+74rDjIIVVYp6goo+mUClUIwo2lLAxI8K4L0I6xyM8+PQIEc5PMeoTPI9yYR6AD7IIw7fYwiY38lIIxCww9o45wMKkGxbQ17YCNOL843D7tAR78tCWiKeQ1B5xZgX+QxRQ7KB3roomE7orJqLkCZyV40c5HwSs+cV7Q4MW+UwDuLJkw6wEwww1w6pCQMRogfe0zk00UCgzIG5PXpjVOfCE3ClKxkKcgGPU1P1leKYBo3+IxqrNko4s+NgEJaiDPTA0GHxTeUGiOu0V47CEzSwxHYMrvNVk4do7bTPqrC1Qw3iRefJ97ClcQwI7PUByuNGbTGk/aqCeLI+QzPyG9mMcw8wYScUKUZn3yas+NPTLtcy4I5Q+A8s5DOM0Y0CwwqwCdQ8zR98qclY5gEJJaomI9FXgv/orQ7Iw9KIw2E/Z1MtBerdOvZ/DI2o+wFQOEAMsABHYC5ozOG8k47HLE1AAkQLow1fLJcUxcU+6Q0l1ObsAawzNIzpI6AUCfS2VYudOBHeOEw1dw70UJ+bC+UyIc2w617w/oQNwONqIMQEKliPBbIUvMlIlaw+mY3RLGrQ5MET5MKsQAQENlAE4IiuOQh0y9cxwADtwxx49XTPCTC1YzPTAJQ8M0zfGiEALeY5fTBOLOug4BcL3LHSMESDbfY4VTLwSPZ1BG4xx7CMkIvuD9TPB+EUvOnSXHwK343GALOwDHpjPTE+Q1fLD6upAFGdOI2G74mjZTGDTJBx4dQw0U5bQHlU/gEPlQ642cb7nEIkklM+rtbQ+bCk9EMlLIwAEG4mWQ9LLM8wB1ZASm4nYwpm2qF/UVJqF2/3DuADqF3e877zJm7VVG4nY+KLqbiJRu+QWlOwxH/i97MiSw8cG5I66Gfia/3G36YxHk85U7Uw31Y1ylDoI8Po8k49GwyZALKG1qQ1mozuAMmHfkE5u6RUcFlAIzysA4AgENIwGP45MLP844d7Li4Lbo5DTG+w2VSRjTBgAFnQ4uU4vxxExK9prb4xTcSMiffYB7wzwo1w6vkI+0wGhEwQLI4s9peNrQF7YBZ4zzw1xYyUBxEAEbQ3Iw49iSMoy8wzMkO/cCdQzPyBG4x5gNJbEBLBExDtTF49AuQylcfExOIkC8eIIxEcQE5I7840dw9XZ1T4zqmub23S0F4wy9OClTJ440bIHKlKzUNHc1bTKPsymOEwAepQ/ac2TAFTYukAP7mBCgF4Y+uSdTIsnJPpLLYeG3YDkUIxE4I1hUANUvJKE1YMLtQxeGQ8cA8nvjLIRLOrcS9KjJACPnGnWEJKd7HsoEP7qOPLBJLH2e74mpF6tTOJbwAToP+E0+Q5vZ/vHWak7U6rLa9ZTNUvIhI/7OUN3Vy6yHqktQ7iQ7kiAbkygzCksAI+F1IwWI5xLKNe2dOKwE78lGeIzMkP+M/zTCeLLhU8Z6ESlOug9/OMOrGGk/Z9mKlBJQ8DsKQ42dE/b9UOmGTTPxQ1EQNjU6U2AtYwXw6LSRFTIF2zNSB87juwzPTPyUBggClUECw0x2RSUGkG5rJWBOApjs5wzFbCFAIpxzwow7KQgEDeR40U5bwF8dGqo0n1vmQniUGz48QLLqQK1o/5TCArHLyQe66ClJFJo6PuwqxD6H0w4QK/eQwYlcRxxCi78rOaU5CKKkK1Vx+0LPzTPCi6QezKJ29mM25/3xcwo/+w50o7O0/AavkIymOK+QBfABQbXLk5zccfwivoIDS/RLA2E4pkyCAFQowKUOhomBrCVTBak5ZTLr09hUAVw6FBbyvRhqxd7ANLMjp35xNDYIAFOPivR/vkI0OUuPEwfo9608A44+rA0lKNA1uO/UTDuO5Z+XuO5f/T78w6qDiQ4H8wSQ0EEOeO9JTBfAGSQ45QzeO7eO9aLPeOwPw4+O8n86yQ6+O/TkIsUx+O7yQ00AN+O2VM/n841bIX8+KQyX81KQxHkxX8/KQ8sADNQ6zzONQ4PrEX58/RLmYypAI5Y4do3pR73wxhPFTrOckyiAKjfvg43nRKcrGLIBp8wZTBOIHoq2g2CT099gB4TBNy18oySM3b0/jQz148JwDbLCtidjTMVY4p6q/84sU6pQ2csQwzPO6GpQ+h0+ck1kqU2QygAJKw49TAwI2lLJzED9kyWiCAS5LE9XAG9QAVwzkw6d7B2Q2OIIfYzDMyWE84QFu0OuSXBm86hYPI4Lwzhhxhw1CgGlulKI5VQwdzZii1OcTJLOK7iMAPZ1Jc40Vw62Y/OkJNQQRohI8VUDCgu634yUk8TGtLTCL61hXNyE4rOFAORDOOaU8pR89TJwMKwwFvw9wEDwYKFdHHowD7DWi5GQxVTNsw0806Cwx8R2yk3yoRAtBwILfc5lo++IP5TFxwBQ2LLQ1eOKpQwiYySrHZs7yw67KKkAMdlJKgIJlmmTP5LJv45u8CDI0l6Xua1kM5OoOP8AwzH/E0hPmGk7vatLTGNQ2BQ3XuCMoz4I4NsxHeLb42g52Uo7qBDGkNnGrLLE5LFOrMY6IpbJqLuZJtIwIstnYapAuAzTE4h1LY88+AL4+4U+X4JFQNwU8jQx/QzAY9MxGSQCboKVk0LLKRW05I/7OXFI52w9ArP8wEVbAWwy3s2dey+fApMn4QAXTEBqS3icUToZw3VTII47IyV8KDf+4/LMfo5Us+R4yN8JAR/p8Drw54rI2C8vLPK0+JQ6bI4G5L7qFskH1E5CmzTTNlAAZZv3E26iDuUyQAB97KvoKH4BTQ94yKU8LxdiAY6zdIHQOUGgKI8tBSdK7IyV0wwYe0Jo3vsf3/l+y4FbJW47u04pTHDLIpoCilDmQ6pQ2Ew0ylJFTJe6v8wF24Mhw5Xpp54J6AJeRyNIPJo8vAFPUyEAIJ8F+hkJC32m9qI03sO5iUsWiOLA3al4C314PrCjESOEUOOcaM8HhwImBi165tLK5yT2LPLHh3k/g40yw2PMOOQH/47etNtAEOky1Y3NLHGI+7TFZLA5oubsHeUznTBErF4AJSzB4kzIKRSSuwGC5U3by0QAGLSSFTARLETGnvseDPBDptx45pTMEE2ZbGcmsAFEUaVlTF9G2U+HpYSLC5gED2Iyecdp9l5a//AKDKY449JyWXEyH9A/TO1LJNXNSwzBNblTHN45UVXY4+yQ1Pk8AY+kCeqwC5oxCCBhU5PE/XOH7EzOQwZTG7rOKY5Us3pYcDTo3oy5LCjWLFJ0WoPBbEwkxeiCNTMyQO6mIWJGxI8XTKWUNWU7IIoyQxxohwp6pQ5bQ79TNwY7c49rS1QRxAtOek6EUztx3ZADBNRpB1nTCZw+VJqe2NE+l67moE81S4yM86yUxhDqmhhAG+UAPw34w7L4wJLPdy2LbMBmJyozWCSmMBsHFP5p8o9YxF6KypLBslLyw8KuZf45LE6RLK0FDIrAKG3vQxCRsFM7HK7APLYeJEx3hOMXxHpYRCRp/Q3bk+YOX0lKkoxOLB1h3t7OIszo8Qgo+o5XClOCes+IrdC09EKe2O5FIyM87OfcmReGcFo+oFGlLBpw/SSv/AEwExem9CrESo8nI02Q7dBkg41McLcTtHw0EELc4zkrkrQ5sy/dSL9h38lB3IGo6AzhgkxBpc8q7gyE3wE4DTOLXM4cS1LAXTK9QGrTF2rA8cPHw6IrE6rHTe2LrXS0PNAEbNLwI/pLOjLJaY0EY2W0BKSPbw31LO4U2hLKsXD1I/yLpXphSwxwUGPMFBwx2SKGJKpbIQUyEI2VcHZogd7FhLJLQLnyL1I2cmt6Lkyw4BUelTFtLELw+xFteQ8PTB7pkzLEL6QRU4QZqmQ+Wu3erLjW3YAMQrOzFxd7GHLC/Y/wyUaLK8jS8s2pQw5LKsQJaY1AOZFTCwy5vLLExNque0rG9o2U+BZw/+ELzogFTE9E4SBFhXPLo7Jm2ZCRIABLkKpTFT08HQGrQ5pLHZqy8eBmmAfEO0rH/qf7OZLQMKe87w3cs8/e8Ew0Ow3U61WQDFUCwkBrY4l0ItTH3TuTQyZYxsHKVIR7w5UqZkKTBNU3Bc8rXGI+HQzxwFLUykONQEAlIJFQAlueekzIKWMFJAGnpbAqwArTEqQ+dOAr5it/BYABXe6d+JJLCSrHwo9FTIEsJ54BiY7ZeKnQAxQ+rsEOUpMY45Cx5F5ByIDYCBbDyluJ4wxwzoo1WJKuAIrUIBUXfQ2hY5KUHB57UToO+14C0Nw4nYycUHZY79ccBmJtOF+k149F/4A8nmJbIhQ6+B19cQamMoIuNQybamxwK9pkB05Z6w9gDTQALB6400hPrXiJRE19gNQk8+LFdOGeI/bTF+kwBGZfM1sYuFZIRLMxQQPw1w6idEHMuXZAAww6uY/RLEmLFvTFaQ1LS2bI0DQyFkzkAM8IxWIwMe37B2orB3I9hUKpIEVQ1Yw13pmcJPBi/ia0Nu8cw2ckxAtJLHuTYwu4wxI92o2XTIfwxeLM/WwSCGpwxDptQObiQ6AI5PULIw4kw73LBzEIpI5MkyPK1uoBArPBbMdSklQyT43dJILI34QPm0Fh9FuQ1L02oeCDIlPi0uIIVAO44y1Qz7EHUXhTQzK1AfULaHvJEy28yEhmlTJaSqMCckIiQzJPUOsRdPaFGKyIc5qq1aQyNmFFYzxwLLQ8lY13E2slNXSP7OSfQ/x6D6I6yQ/8wDtbM04C+JvFw5eu4GeONsLiIwPKwtTC5U/27VNTG9QGJbCNIHwgUqQ0IGgUAADZKU2AW6ZkOldTIWJCxM/Ne/aY992n63jLYncIO+nlMluI8WWQ+MY3+I4Oky8sz1I4K4LIIljEIpTJvQ6qw51LHY0Hwo/C0H0w1GAFnTLQHDHw5zzCSLGGKJOw3wQL7qvlS3SSHzEc7mMmex1e7oED082Oo0qS1Lo7z8xIEDGk6s0yN8BbIzFw7NozBSZaSrrw5kw3R4zv6+YOZieHOAEgzOErEXLP3sW44xLwyQ0AYMHxY5ieHco82sYMlOxa/jQzl6bJsC1Yi4I4LI4F4yTYELoAovo+Q+d7HEIlAOVpu0mUsGHUe0ycgD+J6pQz5MHXuILEKbiOeLMuLL7qB/NHqIx2OVI4JhwybTBIrAFI/B+APTA8nmuyW4q88o++nh7prU0Liq3LE6RwCewxiK80wyIIL7YMmQzwYAFI4TJSqI1vekWw/B0y9OD2KUOUjPyBg430w3/EzfQ+t52GszfGjkrjv08MrF4C5jXIN9Miw4BLJAGuwIxakNh48DI+Op4HmJ6IXCYm8Yzjx8dTMi2pBOPAXtP4G89TM23hOL4rODpvqrDxfOhE27k/6Q3PrNK40VQ2fW/wGAPq7p0xYrK1oxpo+a69eo5WqfZor/Or2I4d7ClUBylGsJu7TCFAJ9wJ4U1kqUNw4jQObClP1m9o3wozxMI4eA+ce5qkHo4rE23iPOS3+479LI44BCE+1LCxw8RY5925y8aJxNMU1Do610wQzCFk4SAJPo9EIO0LC7R1l0Lq4+TY3YrMdczywy6PMLsHuALUw5pAJXprLkHPrJsaGsDV4EEnYHmLBymvSIzO0ONoxA5ar00lE55rnYrFS4DTE3arOfE9awwSUL7qMalKSk6zdNzQ2SjS3THBl4TI5io4bRN4/JgEJaY+ZJoPwzt0xbIy34+0I6LTO9p3XLO5k88I5Z02BMHpo/0w7p0DxI5cwFi59xAYXYBArOJmF7Q2TTOxIwirLbObWw6cANeLFTrBv4+ZY9qI4NIKxLIAFDFm50wM0owQvJ+AIwrNIwCT0wuINhUMAy3VltkkRpo6lTGhLBRwAWI0vSXRSKcI22LGYMAhw0ywILSYmLB/w2c+MUTljoOPEyx3HqIwJ45Po3mO0EEKsw95I7f85IEMyF2Kc1o0+Ew2c+E+5+Nw/jw1pY1bwzLOFsYt+UOSw85Q5SC2Bbm6I3iUN5xzTyV340eQKXJwFw8GUFEQP1AEaLAASF/E1roKIrIfQ2ceM/nrCY5w4EmUgNTIcSBf23Rqdms+UziFTKzI1cZnxTZYABSlCcUCjWDUeP+So6s9DEDdKMtBXioYl0KtO6DKRzXhbI0rQ9wxOjLM0owgE025unFgxo2ASzt095TIi02VcLhwPMGInMw6ENbTGcU00CbL4/sYxIrMJ250o0q0x/06bIxJ8I9QCCgPCIx4QCNICbQFuQ40Uxzc2b9uJQ4pY2ncYoAPXOIrQy97E9ECXTF2s+wI8QEAesxyuLcE75JyGwHerFTrHkrgnYGtLB1ZK6Qxg4wLMy46bqQLDE5fM3crAZZp97EweTtUKmQVHQzPTFbI1aQ8YIk9w7CY+5w9PTEf0Ep8MwAJkOqbScLQDqILGswfO17Q6UrIm2bJU+1401lui0sPTIOcEhPhHeL4rO5cLDpstOnzEfdLDwo/WhGEw/uw5WowLah0QOngR2MG7Tl1TFg8ZsE4wAO9i+eYC/80dEZveq5IAYMFMrMwvpAFNhw+9Iz1I4IxCQuPPOw3mNnLOAzIdw6cmrow2jB1ceFN49HQNxAaBQ8zoIGYyDOKR27LkODaZPE3IEhEAJ4U+dOEso/c2prJaCY5Ke9sw2gIz6w8nI9YXLuU7r5wu45RE3UI0sow2www3eo+yOLLtAOwC8NZKe2J6IVCrHTTF97LJIJeIxjQ3aJM3OWXTHRwPfWGlQ4poM7quNTKdmIsU7O4PSSlC4zpbIVAFg8RjTBhoKLI+kABSUOdpsLQP9VKGLKhNhpzMkOT2KT2IxzK5oMD6w/6hs7qiNODDM167mMl0ZxFzkAHTApjip8MA01AOfNo2IoGYgH8wFl0NpQ8K4DHw124Drw7ylGS8XXO3bk1+hpkhxQbbAF68jcgzFyQ80Y9yI6DKUUvAXUxzXoIEyUUJ9++rY11sPTo7867eFxvy+ngXke8pRHOAPYI0NYOnFgtsI1QzbYICrYLw7KB1zG9fs+GgosI7Bq4Lw7kB8UWBeiOxFvoUzuw5ByKNTFUrOOcLaJCZMwuQ8FAMy4IvoIh4q9y3OcZkzsBLGLSUSoyirZCetZLOUGuUwNEIACDEbyTFplIfHyoUO65HuFT45/w2VM0UY5ZTFw6pJF2PiiGcO5w+CIHtY1xwMdYEDOqA7Cew3crMdQy6Gn8lMVCzHQ3fQ5zUESE8lwxtw1cZj1TEHJzwzCcgGN2/uwznTAPo/WqrNOL3w8Hw3tiy6sIK4I+GqLLM0o5KrDGmpUVQ1AM4u+ek3pbIDQ+bo0wk3/LFl43+C55w0oe1l0KUVe/80FTOFTKTLOFLAhV3hw5/sBdzIdSrxdqm7fqrD0QJUUz9TAlINYrDfoyBbNmV4nYCZTIrwKxkBBLBlwzQo1Oo7ZAMV0xhPKgs6vw00AH2rDfQ9TIhjTABC3mM+ZI+rsGuXp4+5lWG5I6m83WoyAYwtsHzu+uk9QEJQWOUQEqw6wAO5k7O02tM3p6FuQ58++a63skI1bNhUGncZieApM5qlJNQVI4IjLpdADxtAirFlIyZAHVTHnsGco3HQ3wQOcYGcse5qp/w9ywxZQ/j6i/Q7KS6tMwkxDDWEOw+horLQ/Gu566QRLIPI0T+2ZI7eY1xbPcYsEM3HCxPUIT6z0/WjqawYPbwwi+5hXDpTHlI1U/hikz7k13470TEpTC/Gw4LBkY6tOO8k5EAN49BbzL5Q1yQ2MFNeI0npqQvt4yGKlFZAKdY4uU9bQ+rTLRsLch4mBoUAr0KXTTCaa+4AAawx87sDTCbTBqqifYy1YnQIyWs6XQ3ClPwGIUAuSQ/7AOUztK4y4I1ns4QauNsBBQK6LBZI4kU40TomI/gI4YvVNAM8+ILSDJbN6Z1OnTVl51LA405kw6y8RJS3cY59cS3ifC0NPTLzQ7Y5QfGI5TKM8FT2xVcz1TBZgSUvPhLIwo1tLIve2PuxRQ00rP9QCzWH5proZ73lzNU+97ArTH+5zs+MBEA8kwoo1T43nGJPUIAFKcI4pbKp8JLA6d7DTya5yfCI22ox2SK5yUBiHerFTQ4Lw+qI5HJ8ezepQHdw48xLZeLFnCcWM1arDUNazAKUJpqj7o4euKLSWOLHuI5qLkiNUwkzqIMDsNrJzkUERooaQ4dw5NXFPTFe27YUEIk4o8deIwJ41u0ADZDLy9eI2PRA8k5XPIqx8Rw+lIPpeHX4tTYnt7DwEBLywes7mYyMTnIZoKK8QY4/48PTL5rlwJ0yY3ru7XiDVTK5ySSrJu8FmA24xJZQwJoz1SWqww3AKm8yNYBzXo5TE4AMIE+0E8fk90B2bw7mRWyY2GC3mLGuXiV4zJbEPw7pw/NKF1tmH+EcQA0w8dU8kE5oMLlS6EAB4y7TI1TG6IrCIc4LI48xMRoj7c/keJVTPMGPoQL5rick2NyMvF9swzWw3VTJS8xpw5aY/xwER4DGE54aELI5ieGZbPeQ9ExNbTNrk5suPsKPCIxpRtHw8966cmoJLGGrESoxMwANXGMuh3k9jTO7TIwzPyAHhqkIS1TrCEp4YozaJMalOrY4WTNFACDItRR7Fe4YU3/LEuYwMukwuMiACcWBUvPkE5Z045Q0KM/YeG+iAymkIm9VmKTLIiw+IACem+NsKLLNaq+xwAxwPlM9loE+hEiez7TM6UA1w4i0wFQEYrAzhvH3s3LNQk/ia7qw4MlKwEyx3A1Mz1E3Ho9azKNQ4y++aQ4m2ebsJFmABjhVWv9K7fcyNZ3HQ56AEwk3GI2MJN7o916AovidKzzw6th8NZGLo25Q2oJxUvLtbNpwzbLJKE9ZzBrI7dC2P43elzGmsc00mLBrI5yw1P823QxoEFva0g4w7KYjLqOcOIwIvGZ6ALzjI/py8w2W0InYNsy23J0usMMrF5o2j62orBaIJ3E1ZICku1Wi7dBpUVdFI5rJZJI7uAO8rFICf9i5vLFU4kuQ5f46TLLnyMIwx2EGKlKzzAr45eu6vYNRfDlAL0KaQ4yGw/vo6VosNI0YrO4ANHSQ8w+0E6aYzMAF3E/OQy6F3S6FBIyzonJ4xD6Nnc2JQPsKFemEYrA2E2OqYqlP+w4XI0FUNyoYHaDfo6MCX/Eze42J+wqSMEo9uLA2mtWUwDQ+Q1sIw/O6F3IDhw3wwE5MFgEP38DBqERotsI/iK1DpqExBqwFxY2cJAF82TAORq7tTAA4Ay00JwEs4B5NTOmFvw19+Pb9T9TFCrIx2Ock4Bayxw+5cGDLHGADsc8bmwlk11psDsGS8SXYAxQ7Dw3/44iw+honMlmcsfMGH8Y3WFwJo0qRs+cThw35xOUQAG48QLIGQ7kQAlo+AEPC4xZQ1Cy2+Q/7ANhw2uLPxeO/TC3MzMbQbePQAKCo+cYKuw/orCOO2wI5uM7/e3c5EM12lus+LPwycFogtTIyQ6+MHkwytQ77YH+oy4eH923IZn/42OIBNuKmQxmY6oyRYABPTJvh9Jybde38J5JLNEx7DUHlTAgo+SFBDpuQ1uUFHraGa60Ec1Gw9rq7U1umkzqIFkNKaY6cAN6BNoYGIoCjQguEw0GMGwDHTTtSjM87zjCeQ8Ew7dY0hPuhosNYFo4y869oM40TjreFYw49u1XQxMwNtQy6e3skOEwzYI/KIiX44qlO+nkd7Jd7GUF/qlNBQ0HQA2EwHAJFmGbIzFTG+iKro9Di3ToJrcLbTMTOJjy7i4NsI+N61bSDuLCjhONLAZk6Bw6gs1Dw/4FESo7Sa5OILUTomLMrvJqwDeJwOS9r4yDS7yw025mw4woo6vJ91w0d7P6hmhE/2iAHYyrTI2Ww8nnYarxW4Lw3wyYCDAI+LguaHohp49wY0YICzosax/NKD8lx7w197NZzNsxOLIxfABcYzP008iH6o3e8+X4//w+5QyKQyMe1eKZ3Q/+bJ/QzfQ3IEHyw6lB/ZTMXTB+bGDQ5JaoW41ZAM5Q9149ZLLje43ANBQ+6nIOkyBk2VcGew5LHungslAVZLOcI5ZQ+Q4IDGyUI3vTKbYMiw53QyBx9lABCE1uiB2SBA5TXeJUs1so6jfhUbrfY80o6LIxGQ+QAw6sxfcS8npXQwDsUi0B2SOyaJCehDOLVTGaetDkFY06c00bM+pQ0tOHUI8CiMezRak/wwCqI83I0feytsGlQBzC9fs01LMIE29mAPo9+bCJZgirOVU/dLKNU/lWg1M0VbPzTIkI4OkyHqrvauN0xnM8DTABlwSUILI0zLMDs0AFG0EyhUGqo+4EKf4PwQ3nRGVcDGLCdKySrNlQG97Ce0H6Y426cdOKnTL30wEoPCTF+bIpIwCo3mG5tMOcYJOoApYvjTDxI70IybS6dmLt4ywoAtbC46eCejlAGWQ2doGew7ExN9AJzEN5YEbyfGQxjQ197G9IYLLMy0pqwAZw20qbzotsZ8DTsFAGOqRaIBksJ0wC+Jm1LKsXPbwwDsVwF+xwFcU17YKzzF/ozxIz0QMxwCSI/qlMveQ0IG5Q6aYLnSc8wP/+G0gOBSN7YKcANDfOrcY1I1ZAHcIEqQ8vAHUQFsI1GAP2Y60FHEp0bY9ZLJFmH9ZxKSxXALOV1HQ3eU6BbKFBVceATC6LTNUE1aQxSc+MM+/OPCI/9Z88c+0LGfk5kACtsLExAwwDgU1Xc0Bk8tBcPo55wAgcz/h88AbPwumYx7w7aLAFI1R8zx0xcwAtTMRcoI1sDI1840nYKguMMzg5Yr9cRt49ECBLDWlLAdbMw40+U2CYsnI2k0AyrCdeK+R4DQ1OrDVOYaKwow2/I7pW3pI6bI5vG7yvWwI4WTGKBC6PIVKwcI7aJDiUtmrD+I2ZAH0lFp59uIPjTItTC281FpuhAJHADwCzLOJTY3/LNBQ7Z040YNHScqY56s3BoPII4tmxKkGarXArPtTMEE+OcSew6Kw/fYMM023TM4QJJajXeL9uOD0xhaBIeKMABso1ukxTI1veqUrDciD1SW7LN9E0sWkrQ5AFyFkJ6IeNQzOOOh05iU9PTPjJ6OO/AIx6EzvU/sxO8Y0g42KBHlTEpYyQAGeOz6w/6R8b+AFw/sc+k6xPUORwNFUG6AOPijJbF3phFTNaEy46WhWsOLGxwOHw+2a8fEKuk/qrDtQ3/429mKEU70uD0K4x2KyowaI3tY40wzZTHY4xksEL5BwUC2Q/RsEcwypLPU4/GBKXQ1tQzDWDUY7YUIBJnFLLb4xTI3cY/YeHWLBY27Fc2uLPorOwi+2p9ceyPa9mrEco5pAIpbGyB7L45sTIGi4Jlk2BxOIKbiEOrlarAcIzOOBEADimgR6UU151LKTLGhBzY00/F3mLGkw3B5yBI6AO5aqJbDAFTENYAOI0gAAyI36YJ5GyZw/TzNzQ/5w97o9i01FI69s87M7i4AgI5MCXNlwiIx9yzHQ8p/AtQ0NYCMozb5CXYP7qBbzFnQzYs6Qo949HSSCpfTuGf3scHTMPo69QH3oFyQ/wGPTw7cUNXAIeY+ICMACxVpezLNxbKU2C5LIvoPOkGFIHxFjxMNeLIuOytU5MAAUAPJOd9E2Vw3crAfGCJQvbw3HwNuBiQ44GeFFa4cSINLKaZnc+hPLGDQySLHpYRUbges8xYy8c6Pw7WLP7qHIwxExODPOHw7bTLeFzGqoaQ0UY8lAbuGQow79LG49Klw0KW9DYJPaq6Q6tQ6RwIOQx3Q5AFFfZ3AuAx5yIxJ/w5io1JU1LC0bRJ5wOYY+ncZiO5Qw4urvb9RFTCfQxKwzVOclwx7YDiWw/TOU/IZw98AGLbMGUKMOIz09B+JXLF56ARO4pYz5F80YxkGl4AFHwzLw1AOX5Y7a4xJLMdYBak4sYw2K5vLAWI0OkyxDP2UN8SC46WnWGRwMTTAvJzKOxdTDkxC9OOBGHal05LF1tmhl8toxCbHmVyMAL7YOOo3xLHpx8lYwaI0qRvJYvJTDTs+5FO0wOAUJvBJpTOu88ZY23Q2krPuE3t7Hpo0q4/KIhNw3crIdo/crAoo4/Q38jitI9ww2Oe1Uo29mPwGFnQxSsA5S+wGBzEOrsABjvQIMZZ7+a5rJRq5x8noYvTt094AM9OJawzVtT9HD8h0tLMOrFMiVL/vWqi1LAqlBNuKsrBC433psGQ6wYAgo2krAYpy5I8YrNvw3e8y0FBAtH6p/xwCwwxmmKzI8+cQ8AG49Mb6LmY+aQxd4/EY5bIF0Z33piZqBt4zbYJaiBzC304x1LF8I5irG8e1rawYMGNZ3lQyi3DqI/C0PCqZq0zt06XihfC7Dptaw3lQ+zLGZ4yuK0Jo7mRVzU7BF8+KPjQ4CU4FbB6LAQEBbI30Aj0QJ3IxVzTxSxfk+OQEiY0NbBeQ4/Q4iybfc3dw4Ok1HQ+pm2nI/rLIFbNZTBMy77zJCSbYlBGQ8c07UTkL5Pua/x2UNs3uI1QI2cfLqQBykzCq8wowVTPnR2Ww6Bw1h621YzfyHp7l/o1WLN+UFieiT6yBbHNOG0oxaF+nFoA03Occ7qnXa90687qtK0/+EJIIHBoE0CZUVYYU1M4PoeIuUxVpcDTCMibeY3lI0wwPqrBKkImBixixhPVaw79I86UCX16gU47Q3eLJhmtVmIBUapcEhPosY7hwLow9u4xcUw1LI+Qz9HI+Qwnw0gs5ieBWoxZwO5F4+Q/oeEe0+zeCUDDbYL9TCt/JrcFKlPiN5zTMGQ+xjlpR2D4PClKhw2LIPNAE25gykE10ytiPCI6hwyirW9IfCIwToOngDkUGaetVphkGpLE900/ylwVqHe4wfEAwzEn1soo3erDoIwMlJ7p4UvDlo6349oM7O00V483TN2V8EO+jcXqIynKePLI/LDHkNzLCtIx5oxXnOFK75QALTJTkKd8Tx8TDMxcUzTwCi3OxoiCJ0yELVLIxLJpqmVw/7mARI0iNffWIDTO+IJxe0co8XTF0w7ibs7E/XpvsYyt+yHE1GLPT+4HutJbLb43fQ3FY6ywLRUIK4CdeFjYu8lC78IoAGvw+pQPxLJzO/wI6Qy/GBMuLLxcRyiGkw2rB9tQ0g4x2EGLCRAzR4TMA49nLH2LDIN7b83XY7kQFZHXSMMYY+A1+ErMquDfGv7E8oqexI6PWm3zJAoPWLF4CyxwzrTJbwAxI9qqa346NU7zorVLHcIBE46x9hH/ujo5CSZnQKWU+gQDxwMYy6sw6+IyIc0gC8i2qsw73w5Ow3wADFw2ak3XY9GwwrTE+km+Q/yUGw6/AIyam3cs+DacBmBPQ3cW1HM1ooymI5jXBiY+nQM3syTLNXMXD7pJanCgF3pv47h47h0AGrQ8vAGEk3UhOfe4/4xJQ8pRNyoZ2kBVpZjc6RLO17v+l/+E3984JLK7Q7wzMLQ0Pw6Pw0cQAQENuSK5TFYEJpG/S+tExEzceBSOaUEujMIrAwI0LPdB+ObQH8jkJo+f5nq46VRFNTGU+JkAM1Q9BQDQG7dTFUoxtbMVY68jUEG8ZLM98EM+Ce0MC4IeLJJarslJPozEEySrC3418IyDRxBs/74wv/trTMHwyT47RsLKY0Vc6IrGxI/JTM5Q//AJQ+BXALLkGMJHKlOmoxmcSgzOdWLzogoo6FdNQky6Wy5I5u8DmcHrTPg5yRQwhY/UYymOOOo5JbPPTLenrzogFKvZ9k2zC3LPCEwCO6pbH314AFEf48C4Mryxg60byezeEcwxlw8ohFIaaH4NBZnToKeQ+i0nXLM+rthUPAo0SAKkp0Fk4nY5fw+mHP9i2cmsNI8ew3EIuU+zIa8dQ9MxNTeH5YwdYLKY+dOBLGu+7DfGoLo6KlI/TMxQWLkvCEwRU3woyJQNquZbQ1ilNK6/Ikx7YKiW80Z+nQNTONyI++nkl1CMY7wI2jk9/GNckyNIIpY0Pmwco1jEEgk86YHfwuGyEzwPwQxg4/j6mIa6H4NB421EO7l6QoxZgWcfFWLNbTKhoFEAHG0/po3e4v/4FFABHQyuOAm6o3G/AI9TeHQI9JyZ5Q4zMwqHVT40h+foQA5Q1o4/QHHHYOEEyZw0f0A7guyQ8MDn8w34QMVY58oy8w997Aew6y8et62m8xaGxXKc8wAw00iUKfqW+3GJbNp9u7M68E00rPCE49w0AEE0AI+Z/wwN4/OfV3+k/KImCIKTLH5pmlQ08065Q1lo0DsnXwwtTJfTN9GwNLBZIy90yD0Cfiz5w+N065psD+/VQ8yQPeVxYw8lF0wUwG4xymogueNQ4YowwzB7psO4Me0+Z02cSywIxHHs+Ox3k41LImLInx4d7EcwywoG0gIHTKtQzwszWw+Kacq7h/NB6qtTYgBY0z63G078tBg4wXU79prk54BYsBmPCEwyI5MI55qyBIG425LEyfQ3UQKliGlLCaQ/OkIurvnTBfcU0UJLHq0rD7S8MrA4k14IsAY8quOC06fw5e4zwzIHaDv08Tm1NRxyQ2dOEaLExY0ywLrTIRJArc87K6zwPVQ1NOOBGD4I55I+oZqliHEIu9oy/Q2ch2bI71oMjow/TGslBJex5TAZqhdLBZwDTTEkwx5h+WgPa44lIx8xtxQ5bQ5rJZbIAxo7Y6z2LHYrLqKxQzOP8DZp3SwyP198o7wSMvLFhXNCa7g2y3M9bTFThyPnNeLNnGtgy55axhW8CAOp28sw167mVw02Y9UvIaQ1Gw5XPNBJ4mE8XFzzx8FokLLN+409wxHYE5TMlq7EkLmRWPMANXEgswVqDHpjYQPTo74mn7E/mQ+7TIZw9Ro2DON3Sx4w87YxLDX14ElExLGrdBgZTFeLAtY/uQ4XSITxxCRlIVw2E1XQ5ByNGi19+B5o7LkIgs2YUHvsWkw04JDLTDQw124Mw41uwzBqCZQ3T4/fWEhPmzTHWo8uLJLHrVZNuSDIEJHM4HQNwY03sJnTJJkI3kzfQ1WkPsy/+i1bSOM4+1s2Sm8tV9e817Q8kORzEH4w4pTESo2FIM4rADQ+Nw8iAESwyMTuzLBjTHNLOug3fwhpo12U2WJzmcAjrMwc/LAByuG89dsI/5Qyu69DLEV4yUvHiUCJQkTGq4cwKV4M08k44+Q1UvEWoC78Ht7F/Ew8ngC5Go40LBBXR/RLJLAxACLO4NII35pjOOKbYPnTJVuEpbLdE5Tm2lQPWquGyOJmPAXpLE23KcDTG9IQbIIAFHLYAhFIdTFYw4rE5wEJWw2VSbdTBIrNkyxD6OM4zBQ79TLq47mRfRsDDl+m+Li4M6heOcRPQ9EI8tow05SV4zqlNhI+dQ6EUxXALaLEl6XpbACo6jG6OcOhooJ8FWLG1LFnQ9DLDIrNF4GjC3e805MI+GiNOBNuEVLESDRK0PGQ6d8UNVu0LKaUEf42gI+MwC6PMg+Pmm0qw0doM7YxJQGTTHcYxeLAyrBSlBtI5P44IxBXKUVTIBJoDQ6QEwdQ7DUB/NHxYyI693SytQ9Vk9GAH9E0sw8DTM7qu5FFxY0dwyV48Ce3e4uhExzQMDY8b7tZTNhULqc4SY1PZ74rFvEwtow7gluw19+F+l0eE4BLOQ1hA5W0AOfwzro2wEMF0GLSYwAFVY6FBbHW4VbLIIu+7G2LMc02IwAlexZwOjoyAzNlADtw4SY0UKdE4w9cLTE554JBOHQJxUvNqqYR6Drwy/Q1LU8VbF+bJrY20M2Vs7IyUaLJ/punFkB0zmQ/+bARLG9cULw1iek5I1jYtu4/5w53I1NOAymlhXFaQzEIxIeGgI1sYrVu9p00B0wJow/UH2LJjXIu0xdILdLHc+mcfEDQ4LI88AT9HE2mxwAEN481I3PiOx2xnw6xKTBNZJY2lTDXNAfED9TGZ4xKSFFa3PiAOS5LE8O+s6o7CrEl45aw3qiwqHae2IdC597FGLILEMdOAtQ2Ww+lw/kw5UvMUI88wMpsx/NOnFpio5s22Mmxpo+NQ20I2aw1cZo5wFUw1ceCxC9VmPG53swxg0wFTK4l04Iuamm+3B3TNklPBS7H605LDOmMvLOqwPJKyzouPLKxkBQ2N+gPyLtqI0mLIeY7uGTHw0jwy8nr/48y4ERo2k0HMrMilMFKBrYztTILSBPUCFk916AVqLnyG4AFhLJZABfcdi5Pax3RqZ6i0aLAtsI0TuNZAm6lYu3Kw0BLD2KXPQwpFwjQ7aLHGANfTGLvgiIzSeLio0tOL4rG9cWoI85Q554b7YMfYzfQwjQ4YU1LY2cmkBw36GWxI/+C8lIizE4HTPkeC4eN9E/C0Dz+6XQ7SR+PijTW1S4OkCT6w7p09oM1PIN9gFPILnyAoAA310rEytO2A46sw55ww3LNi5AhFJJKYOk9mrBZw42w/QHPjLADiyYo2Lvk25jkE8GwPIwy9QDvw+h0wuQwrwFH3Z/cY6s4+Qy6iCRwJhKunQFNAFiIqwE/U47HLL2w4e+H1TBQbafLPU491xJByHN4554GLkmJbLIe1PWLOQLPp2TTIfxN8owovkiY5BJ6aUOxax4AL5i4Lw7M4u0wJXTFwELIyda88DTs2wylTFIAINLKP23yoUwuOhE53IGVQwnVy9ONZIxzXit/L1Iw2YhakMy0vAo3Om66GXQI1fTM0o3Zo4kU8vQ9wY6s65kOk2zP3/ngrP+SpCSUFbHHwN6BJtw37y0qQ7qOM3OUgADDWDTyUSE6+MEdEcwczyU7ylJtOJMUxJQJ+AM5s7tw0/gNTw2XTE9EI9ySJw6pTPywwSyIuS6clNVphXPDsxJVQ1uiEBx9Hw3kw5HTPsxPJOb9LFLU69w3gEEOLJHw5cl+hE42M7xwwrwJCw/S+qd8QHY0FbOoFEwk99gOQ1rkl4SwySMxOLCRwDHQxyl+K7pKI2xI4XqFbUPhk3kuSmO3raPHYABjjqmv2iIr40RoznLDygISBEJKY2LIpY4+uPC0Anw8LY95TAWwwEoAu42hWg9KwTeIe+JMiXwEw0Zg8cMoo16EwVx5CSV87oBcMLQEZeF1IygAK0q8LQPaY1NYORQ7U0DMALac3Rw8ZLKywFrkJFI9qI9XANWUwyI2Gi25Q7uAJ6hwPw2j5zbYFZAMdI9FTBtQ5JLD5MFPWB0AEMALFU3nRASu+QEAd7EpbMBEPI28ZE3WLFMtri4EOmD+I9MU8yYDKo4I1g3G/l9pwSAbIODaV1K09O0EQHoqw6wxbQ3UXv3E5si9tu41bHNOOA4yQ24pbO8icwzEGK/TzP/o134xBLHZos6o/zLPQ+MYrESLIXYKsQEX44RJCSM04AA7x/x6Hhw1lnCBINEOHp7nBoJMlyrw8r3aeQzFw0/gF1I14AP4FGAsEm186oNU5id5BDpsGLCpLAjrEgs40wxbTOuSUV47zJ7qOH6MMauG/3MXxOwV0N87ylLTZ8QrA1MxGRwrTPhF5ZQJExFawx7w0n1rQzP1kEWTXbm0byRsYyXq1zyqqQwBY+NLCRQ8vQ55w0zTPbwwOS7KqUDpqKw5Cw8EE0zw4Ok+cYCi4OrY/wG23TCn3hxZ1Q8UlTIrTCGLJbQ/NB3lbYiw9eo5PU3XpjwuM8fNgEFbTIXI7p04dw+i0lOcVLYwurCDmg2w0yY5hS+zM3ZUAnYCMw9GQHw4yTYG6AAoo8F9lRk2EKrb48A49tAADSt8UNm4yHqt14yFTBZQ0TEKRju9o3LE79LOwVlaKXlbQxQ68Y0Po03TIfY05+/DWy+flC7lfTAyU7GQPoEF/RITPEtPgJI1bUMO4B5LFWJL7zApMg0GN+UC1TKc02arNU5v+EFKM+Piu4AGYUJUi774D2KcDThg4xjQ29bB5gEuQ7kQKwECEwz0QIBcKXimGKFzkL7zA/UASyOrcWqQ+ug7YeHiodxQxqqpknbRUASUHXuMEEyUw30wzTs5TYwirJmDk+U45w1MtmVQ0ndM4cTzt8BzupQxz83UIzDWEpbNeQzBNdSp6d+AJLPwwMocyww2r49eLI2M9HyzLw7zon6Q5WLGFIMZ0ziUn8lHhwBUcI1AE/gO+nkAe0YIInYFRu8Po4vuC3wwykMLQ24xFPWHXYwfEKGJDfyM9TKIU9wxErE+pU8guXJ+HxTdu45Fw8p/K8jcZQ1uQ7JsLRUEWUF8KHhLoXSL9cZtLGLvsdLJDODRYzNIz4E6uUMp/AAkGlurlo5ZTFnQz8U6qHIwozqIMvS1NIG89RXTAAkAW6UylPiawdxKbIzx8b/4ypJ9rJxUbluw1TYsdTNwwxeGXcoz8Vz5w3+Qwes83LMkMmA4Jf42Dptnc4DTBA8Z1wxW4yQEKIuEzwMjOzWw6aY7tTOYIEV4/9VCXKzmw5nQFjSyCgBIrDMy3cY5wSEKmuU29UiG+iNYXJGW2xAO9TKPnofw6XIwd7PZo9Xoy288EEwK08CiAZZoHQJZLLhU3sty5Iwhwz1THvTGkrNnc1EQGGrOryS+fKLLBArKGAadRTtSqoyQv/ko5xhPTbYBdAOjoynpy0R+ks8AY6zC3zwv27UjpmfLKIrILI3kw7RsIjY6GJLaHppo7aY5d7DQo+OcUGrHMrH7R5MIlEANzjN1xDxLLb42cQLUENFC9rI4nE2wEGA2JByKhQ8lAZPE/qrImI1Kw4vLGiAN8o+ZE8vLFMtqAozNQ/xs9BQMxYy347vsh8xhTs0Vx1+bE1lsFAEqwwPw4cSBKSJvLMpc3aI3po2S8UBHRmI8ao+ntzFC9fiEz8OTYy2Y/oeOW4PIKbKY10wyMw01oLXnOvLOdWFRwzBSQviMmo4Ok3Tk8kxAtQyt/H8wJZI0X49peFy5y5VxCgGGk03AFMkh+RoUI7TE2327zt32rNdW6pQywkGbI6B05Us8jQ9jMzE5PMY25QADQ5AoHwV/rCswAOnE1HwyuOLO4KywIGeFlTGerPSSokwwButK47W0yQ0E25gQzC+JixM9Xo/dTN9AOEE/6K8QLGMFLq43co+Xa+ZJpo+CMTsQ+1jakUvG9o4pI4OxlvIy411Jia7YPY5HbYzGE0rTCMkEnpsT0z6w5Zy3PQ0Nw35LPMelxY92o8nNxefO+IBqrIwo+MwEWpiRwIF4wYlcIE8F9j5Q11bOpo568wPwwu461o65Q9hI7Biaqk+oZhZwC1MytUzM8ww3T5MBVzbIePoeJJS+6mK8o+EE6uqWS8Zu6fZTILEKcI2lTFYFBlwxkY9IwNS8YfY3Y49dNw+cSL01ybOdOOMY0BqWOo1rxB8yLQIwSUFAY7iI7YSLtw3iYHxo5jY1uy3lQzSZy5I24w53GBPLF4FLWw7RUK8oz3U4HACWEwKAORwFlknCTBjQ4QallnJVuBD6Ie+Cwy0co/vLPMOPAXs0Y8p51jENvw6pcBsY4Oxv/09uIHQw6e2MV1/ExLow9H027TtnrTkxARovJo1VLHXYzyU5ZTJbDDOmC8s4do29vQVw2oMTFTJjXLOcepQ1UDGo4wj4wVcxggNKIzG+2ifrorDYsxsHCzoqbiD7o9hYxhPU+Q0Wh6bSfc2qch0TEKlTF8o/Z1Ca0zFpvKCzuw4JLK4h1NYEA18KW5v45fw9tqNwU4B44Hur7zGoMW2w/2iFzkH045/sB+bJI17ywN2Q7zjOKaYbu2w65LF3aI3OIBLkNZLCEAPj6gBuqCo3+bPhk5W4/peLhwMxFuuk5eIx2ORIIzZeAviJSlHaOaU2N6BE7y4GB78tKc02BMAoo09EB8xojQHFLNnLCWI4QZhucHQJwASF/RA6EMsw4kI20U9yI5aSgLJ/QJ/JTBZwHtp1nTHjePMGLEGDBQ0BU79cUFbEp4Nko7L42OowhFOnM2YU24AOWk/Ik/mt86yc5GQhY8H414IlNTP+rvpeJbQDCs3zER87gw03xoycWC1Q/7ADVOapo7yrL3ZHpI1Yw7i4NlAMkOa9QGXE6+QKSk9TeIjyQnw0zw1lW3XphPm/dLGMukKmsCiPxQ3SSOUFFbSItbGlLA3anJoydeO6IynppvI9azETTHwwEVACMw0L5N9K8QEAlo7SInzBzxfK5THiu4LSVbUDOOD7EJ/w2co6AUJywyi3NmrGcmnZTLFC/744mE2AkJZ09pUPkE6xw/b9XV6/pPOaQ/vLCghxE48e00ZxNIwPqw6hY/b9SxM31o7u0ygd+UFzxMJG4/7qLlTJ66RIMwpYgFTIvZ9Ga+Kdy8a3UhARI/xAags/Ao76O+QC760kxI+ek7NEHCqwdzdFUEnpl3atfiIpI2nI8LQMTTJHq1IaUweXS6BirJJTKsdwXo5kJFXQ3KkG/eIOxkbRGQuhmY+Aw8VovB+PTkI0UzpbOyaMy0tZI/bw4IAMnQ8ohB+2CjWE4AB9h6goz+zDnTFNgFOrO+BzFpi6iBnF+wYHaI2arFEx8lIjJbH/TObsKU8B5mOck61owFLE2QxucP+rjpANa5NzjCMAHu1BKkAgawjrMyOzygMK4Go6KNEywoKmQYsp1OcURo8g6+AzC1C2cmucAAwI3hwACS84QLNo+NLMLsI9yQdu//4MLYxQkB2SKr25NQa4UBcY9tqHxTZ8h2MrB5owLav1J0xI2FKBZY8Ew8kuTo8VsI25e/HYJ3GCLCzlABArH0AoHulXc4DTOKLqerBT+1WF+M41GLPSSl9I7v00rE0pw5FI6gsxgQNBQy/Y4d7DmwwxwEYIPuE0DOqPWhII1CrAuQ6UVeNw1FY6A7O5qipAEl1Miw/NKDxwMe081APkE67YC/Q0vc0Cq8xQaclIm2WVcFDw/6i5ExHZIwyE0X4yNIFQo46iPJYuh0xD6IsY3S0Pjw1IaX3yRXAMGwBW421LJyo4yO4SY/AI3mhzbYM6ycuIyEx5kEDAgFEaJknbRsKAI3nk5Ow1hXGYgAhuv7E/OkIAFMdLHqIxzS/p8NQOTJE4XGDfQzRY40YGDEBXnOuScilBTLK+QDnBzZy5CQCl20FbO+7GP4+kkFwu8TGopTBjU5WqbvamDu3cY5knRGwxBszciMNI6MI3IAI215w8dpc+X4HY0OBSKzzFOnUweaU8w2YmSjXD7pSzF1sJ7h4tbOEw3wE7OiBjQ4Zd0IGicI/lM85HM1avB+F645l0y4w7ZeIPJ/Zo85U/iCyMiSmOFwzIV5DIrLxUzOmGYgAHTG5I2gEB2EFaui1LAqSC46QZw9vTMXxHZoxo841Q1bTEYqGS+y8eMlAf5w8b6Km7cZLNIAJpo0jySUzsp/LeY/gp5pQ19I8ZQ2jKfNc1bI++7JJZxyuJmO65ydB40VyUz8zWLNHlknQ/dSCfY13M2ha81I3zM+5wzuw8IE7ibrr4zTs63TNloGmw1KIwYlbE+BpY0Al2gI1d7OI8SvV40Th8xoAFHZTGBMILy2j59UiAuw6s+A0GJmDgP4HFI5pLH6O1WJE0rLZI6ClMxQa7qgv/gJo2xC00rH989nLONLMwAMyYAjQ7u08GUKEfKjfozcc7mN2A6kgEx2dtAEqY+LI0+knPo+KKDjozPTDtw7lo1xJ8alLqlLQozreFMrBHkxhUxx43iUEN3Wam/uyxPTC6I1pYwye4hQ6kAJOw9wrbNIBLw2dRwNTHfQ5u8BuGSn8Jio6HRit/PLHtCrJBLM5QxgO7SInJo0NbF9W7q41cePBbBoEEBiK2mFceDxI/Zorjw+dpuUxJqrNvw64rF/RLSQ5CetaJG2w4uIJqwExi6wANPaATI8b7ne89FAHDTKPopOw2Vw3wwAlixI8T+5yQ0Cro88ARgABpNwtYxTLDKnZLLHnROZwzWI1iUq4rHylBHw2pQ0tOC1Q5VTGcJJoC7DUEz8KpqzQm/ml9pUK6Q3OQ+hAM42z9TORQw7d3ExCWIxQrIHaBeQ3+Q3uLNaJNqoP47pqrLFnFo4xfk21w+PLJaiB+w+P49ZI26rPyACfQ64c7PwsrQ17w5xkMaw+jcZeQ5tQ3fblYEDNI30lAG40ao8wzKbU1yQ1VcNGI9QEFiIljYlBI8GwGdoOZh3tY+Wk9fiHwAJlWAJLCXYGLkqEfOICNOIzZrlukyyQ6FBeEEyLC5XQ9i5BI8Wjs3DJz5w73w3ZTA/w3BoPCYkjw8J07JAABY5pAMDI30qiMiYdo774CwwwY45TLGAzMxY3/MzRY1CK9AzCNmGqQz20I1AMiwwnYBygGDEBhoF/Q4LSe/o30vNrQPwGDuiwQZONLOQ4AhLBJ8Bg0yAzA6EE5Q/7E2am/VQy+fDiUrEGCZeCLmxfcYIw/MepdTHZY6yo9LTHe81AOX63tpw3SM6qw53IwFQMNZHKwwpjtExEJo5pLNqubnSWJ+187t9Qy883uAL7quHw/ua1kNFtLEiUAfLJkJClw2dE6kABZwweS/gENWU9wkyMkGVMxCRll0DtTH9lylUFilAovh+i1WJGno6mpinKWBo5qrGwAI6J0zwGew4Pw11wyIJS3Mwu4/a+U0CRhwwD7J6MPKImH+sLI+5k8iNvEY48hM9TKuY6PopvB7qlE/05suJXTPjo3049LiyP670KW7LG8yxK0Ie+Hrx1nQ2jKXlbbVB+XKeVTNhI5SY2ol9B+B4AEpbHfo0B0zYXGIoBNuAaB/6wC2Y+3TKbSWJQGzoF716ko5jY/3Z75CyFkznsXwAZF6mQQBSE2wI75QOAG8m8W+Qw2YkqRsZQ+0wKf4D0d/dLCt/P3xSMkMgNyZw5c463uIBbMkJ8y0k7YN9WWUQJ0O/KwzFwyOLHSMIwo7YUynN84w5bDBkY3EIvt7EklD9BgHTLeY21LEvyfad080+DPBhU5F2X+qRg0z4OFjauaQ9UiJlewtgBpo7QEHNRxOIJgHLwI30qpF6trEKVmyzExHYAlIOI8XGx5/w1xqxkY2LLClwwI+NII4s+NP68oo8dU97TLII10w8BLPsKN4/NTOGgAB0ADK1ABjubo7LQ+lIFnQxExMalB8nv9VBsY9pUNPk9RI+U/OBY6nTJ6AA9Q1dTJy8X2Gx3kxXTMVojEE7Lk197CecTBScrvEEYznTE+qGQuuIkNp0/xuGCYmoE4KUEzOJLHup692A+Dacfoy5Q/xuLSIuZIxhq5AoJWI4hk5jXHtuxnQ9XTHXwEXLEy6MPo0ahKtOC1m74rB3SjdKLYeLmY2d02iAEdEWtLDSw+Oo++ngU+3nRBQrHB57aYwC4+UwEapwfUGuY2nIyUvIrE2Ek7CR6srAuwx+bEzTFKx+rcUyEAFQEl6dMU6xt1KI7HLNJE2AsJKEwmrNfo6bI7r41qs48xGWqz6ECUk444LrwwskJdTGH+DMeDAEGoIx3Z/HYNmTrF075QMxwEgs2VQ4IrOoZt1TJXM37E14CwJII4rAfGEzwEcgohk5UuCMTl9S+Nw5Xplqo+566NE3t7Ppu78k1eLPtR/uQz9BugDGcJIG5MRwM1AHZHaSY7U6tTEP2Y09THPSQh02pwA2YnPrBEExiw/Z1EWphLGuPivjQ5bDNfO444zFUHly/fWOrN6GZ0skPHYA4LN16ENVpByBg4++ICro4Fw+qLqGJJMIjFpp5QwVwzxbDBSfJK/nTG3zFGLBCbIVMfvLJY00Pw6nQHHowlc6NQ1aJ2GKOUI1ZS2VQ1eOAOS33qA0GJbII0YAjrAyIyXYB5gNeLArTC2S3G0/5THgzLzQ+Dprex1gAEerEnpiiJCCydXUxzNFEKd9gBXTJZQ6OcBIeBhU09TFDpmIwORQ6tOAoo+rdH9E0pTNIRwVJ+rY0wuPK0I8xO/cNoYKz67kl4PI3YZzz7UDpuUM0OmDKrJwh7xW8XGZDTMb7swAKf4Foo/xwFEQCEwz6uhIIwlo8xwPiO4qlKEU3FQ4wwBQbYBhzB61KIwDQ6Bwy8KBKIwL051LKX6kBk7Ecw2GzwuLIq6DB4VAMl9ys4xoQJoy3dJNdN/fYGJbJMCQuQ2Sjf27STLK342cU2EsykU9fiDRLKopWaevoJnFQ3/Ey+4y5o47Q93007rJCvB2SEQo6oyQkQIQZnZHbFU7zo3J+EEELgF+AEOMe4WZz6EJ2kNOLK0FJ/sBfk+IkMEM4fYxNLGnV9bQ2DTN+l57Y5cm70h+nI6mgPdSPhLDsxAD0BylEQFHow+arJSSoLSeHTL+8MVom+3HorD20IbIxfY/HMJbC9eLOxI23KdwU0sw0UKRFw2RwNNtwRI8CiPYeGdMXcs/ZZzAEDAgKvgFAOVk2+gx7/OnY427k/qw1P1mZAI2V6Hi5poySM0YqNaJIV5BCE+g87slG6iIIE5HuGkw3Iw70KVP5nlIwe85JakUK9yE3jjnNLHek7uSVeLLpTAdzQtQ0RwJbWyGwFVa6FBTzw6QwFd7IJljYI0Ks2hE0Bw6crL/Olmo8zoPlQ3ZTKNE2zoGA4/Qd4BUU3APwqxzc97o5AZ/ow7yw33yWhLLK25HuLrw2NQ63TMXxCtiEUvHup9gECww5Pajk4NGQDhU19cV3E+pU/OeIXIxTQ5aSmnG65E4AU6AUEvQ5fTOjQ+wGAbK5MiUTEFhLDEE4o4JG9waa5QWJtw8wl3pi3NY7xdhHk2W0FNADekycgC3MxYwx+2JAFL0uBIEHYrJkw0w41Gw2z470KVIAFXc1tZzijQyE4rwMnJERo7zjEIh2QQArc4vLLtTKClM/S3B59r2+F531LJ/AAEoNuvYGS9lQBksEco+xwFCrIurgWw17Q1GAAlII3kx4w5s0MiKezwaBQ8dLD4rOzM3ToIWENtACZeE9oyJQOOQEt8DZrp9wIrOC97FPWG8YzIrIoAEp4LvalG4ysYwxa3J49C4xXPIpbPyKAbk5UsxhoBTcbQoyeQz2I96w48uWUo6RS774M65+RIC6R9GrG9mPTo/6hvlqJG47hUzZTCUwzkUJguZWK4pbCMAFAOXRqQ9Q9sI04IhG4IBbPLB0iUGo6OErIFCX6k7O4ANTHFLOsIKxAJx4PV56poycWNuBirQ6zzJQWE3sJzzAtbH+bDx8ayo/vLKY+DxfMezeLiywkG3o01TIQAI5w1Xc1WkNPN2fdVZHQFTH4QDNSLVoyMTrBHsWV5lTLQEKqfYk1+xS/Lo20rMmHZvIzRS8DhxhsIuU/qR0Tu0pTEso+LI6oZ6d+MpRAKAL5QG/3CJwzIKSilO0IxzXkHd2S8Uy6LtQ9pQ88fBsYwdV9m54IE9FTO8iSX49aw8yQ+mUDwzEVQ3ErHc+gVI4SY5PE/JORG4/WhEao2oEyZTNwpwFLHRIIvuAVZ5FmGIo2lroYo6FAB0AKT8+K7swYZqlGDTDxIwtbMzC+ZY6zkO5Q0mLFSABx7JY9/lqATo2YgIZRy981Sq6gU5awDqmo1LNArJZAJMIpAI77qqiB41LPrs59xyg4x1ZFVZ7oMM6YGard8AOK0zY1914xTI6f4KNLDt8+IwJ/sLUEAhY+YOfLHqTQ3ZU1/o4EEC/TLRsKTSfwyWZCbuLGMpz7c6r010w1dpsBJ7pU/ow1sq+i0mDOA8nsDTKl4E7rFNYI7LOnM+6Qy34zpuuOl+GyO9o/jQ29QC7C7EGP+rosrCHpmPU6MCSDuFRw0p8EGB2NyG0rGgI/wwPkE5ZLFZLG7TsOLJdcQ4LAVI/ZRjaa2z49+ayJQAqHXZolgEFPTDJLEN3SEwzt0x5IMO+nBM1ExDDeI0Tn8lPn9ynKUuLLpw1jaheo2dE0/gAf101LG0U13uOpo09Q+MwB1ZwiTC1Yjg44d7KhNnToCEhnXLE2ECdS12UxFw566RLw+nM5nTMpRFIuyQ0DESENbMUvGEw8AmP1ADsdx4k8+LEm8d2QxTTNmToeuHbE4gp36k5Hd8rQ8+LIm2eI8bxdr/sKA7Czh5LE1TB3aw59Fy1M88AWEk2W0BLkEqwHol+ck+NLNU5otbHFQ/2iP743CgHPoxdIIrE8jTMAFBaIEKy+ICJbI27QHQI6s+K5yZrt8NIAVG8aUH/d3ExD1TBACMyV42rK5IDCY2H+j6B17wwpjgkQISBMwozMZsOrBJ8BUADLQ1auv/oxp86LwxZwFRk6p8BII0eE9u4yVTMTLGWQyWiP3sfm7eF25+bC9t+fo+jLJ44/PBxK0JpLApYhAtGxO90K0D51IaVFF04JGJbHKkG28zoo25TPxE9U41hM/RLOCYqbiHgEPuADXo1AMyBLPMM87OXlQwJo6QE6pbJTY9TIsQLDsu/27V/AABi/wwDGEzpuuIML3w/LHierC1M7aJC341oy6xw9xQyio2+LCT461IxExGVQxNIkFbFloyJw5v4wdo0y6BSwwfULEeHVY/bQ8zYyeuxdLOAUFyQ4gl2MBx7cA4LMDsIWHYuo//y9zQ0KmixAD7EJdcUSQ00AFCh8+KKMCQKXKmI2fk2arG+Q01LOMwAm95CKLL48om5bQ4bGwkc46iG3o7/FzRF3Xh75QHPo29IcHY5/cf8wI6Q5YD6HI9Q2x8njkOG2LE+U+x+T1x3oeyHqtGQJw4HxTTWIxxohfAMAYxQI7hQ2ncXkwxygGno7YSOyaE4IqCI3di1hXILIza4qY+KqlOmY8EE1PINfiHpOTyw+NsEUKYrOODPNQk5SzDXNJExC0FPJo3xY5Cu+zLBmY9zQ0y6FxwDY4+5Q0DOqsY0bIFbSP27eA47LQ8fY2cmo6I0xI9D8/+E6EU7tAGlQGBMJfTGgkJOIJAI1IZoBJl4wxNLDlC4eLE+hLcTvpZtCJxG4EZeBJ8Kr07jm6AUIsU0aowP4DqcyHzOzLO3LBygG0rNlQN8SL7B3lTB7pmuXnorCfQ4FbBzl4zymoIyeLEX424EMnJJZTIfY6zzMIW+joxCE/JYjDM9K40qw8ZLOeU3hLn7qHtxyhwzpTCdK7FnLTI/NAHhme+K/wwOd7I9QHGAJFu1wQGDOEpY8LI+Cu4DC0LExEAIVMWZ4/pLGye5pTMVsxrI/b5KzwxZ423QzGLNW4+vBEU4Mm8dQJ3lbfo07/OipfQpbGEw+gQFuk5WrLuSUpTEtPoTrh4w1WLOKKH2M70i8to8dQ//00Bkw7+85Q3cs0WULxccrow1AGWu2CAJ4aIl0JP4uzNCbZt8w0ndKZt6VTGH+NYmP/o0QcyRU08s77qDQoy287yvbLLFhMwiI2BblkNONLBksLOcV1Dw3amYgMEo/wN0BiM4QFVcF8dF9cQw3X5LOtTG4ZX6Q1tLHCgF1tsqrK7akqY47LLM4pXTE5QzkUJAGsoECEhgQM1Y07Ntxpwx28znsbt4zlAFIfJw8RQbRtw8Hs1tQ0orBcU/IKeQcfJYmuXnlUz/ok8wFC7nAK1RwwY40AE3nGE1ACEI8Wl6NQzCmvGQ5aiHkrgkB0bILfcxq+43o9loO97LNEE2LNVuX5prcUOB1yU0/qlIYUwxd30lCo7qMCd+gNAzF/o5suONo+qwy+UGKlOpo1dwxDeOuSXeK3ilHpbB6w5AuKd+FC7mCe3PQ6MAAtQ7OLJD45MiRymkG613e2QQE3ACoE7vauZwy3ieZw4TPH/441I8NIBwEwHY3rC/pxGEw2CM5guxdiUd7Pg45Rez3SS9OMxwyzE8lAQlW/fk102pEAKXYDHphZwBSw4QK+7TLQwNoYOUxBrU54U9JyR6E5w4O2q9YXHjxzqILey9UE1LQ0pW9nXBSs1mQmVu/6wGXOk3TFDpuCIOdOzxQ10w+Kac6GwzhqLIzNI8UWDNI3/E07YMEAKGJKPWokYGEw+0Yy2QzwozAj/OKKS86aO1JwBB8zKo7PwpvLPRF2DTC+QxD6Mp/AkxP+UNn1yKQ2XoJpLDWLNSw6LSeZI6UrMw4+kAJ/Q0Y02LY3UW3nRK8jVwEO3THnTC02wu4yu05suHu91ierFk2QYxyiI9QKsw2no11sEEEGg55Ow1do3Ow8wzGDEB3AONZO0LG+UGsu2IoGJQKA7EqY3Dww8w5f44kw4tTBpo1uLADQ5MAC97LPI22w7orOOcTqmpDTJkKYpI2/eBd7L3LG2o197DTs/LACirYgUvSI6fqS74zui9py604pAuEvyc98JZADZS0kw29bLO03Km99ANuBhEkNOLMFN4e+ExuPLo1M4BakG9vRPLGpQNRI3IErJsHZUP4FHpbKDOBt4/b5K4UK7qvPm26iEnYIOQzdo/0w33B++nu+nmBOPyLrUTmZU5HAPynVukwilLfY2yE65yWYj0YI6fcyzohefGNyKsrKKy0z8KTSdaQ08w9VpqYI/wwym+wew8lQ+BGIzcXMrFeKUjydU5uVJoWELOheCI+G2Hp7lCs+MYs04ORQwQzDIEILt5kzrXYwzTC9ONDkOLXD6w85s2Wq784+5FLGx71oMb6LDwzOQ1/APQAJHgAEoJHANZTI1LJVQ1U4v6hq5yaaYDBQ3mwy97M9TEQAKVI/odzTQGorDOUBvVwNXLFh4Gm67QzRC/aY/rCn0AmLbFooz2w/l9uUo2gI68o1NwXfo50h0So7eni5Q02zELE38lKBQ7S2lNABRQ2JQLf40XLBH/uugwNTAtw3ZUA8nkSE0DQzxI1SAPTkGco02Q5pQ3erLkAAdxFzkOC179ca3uBt4x2W9E40Cw4jLopbE7R/BgKOqGo6AWAOQ6cYrDHw4Wi2nWDoo1C4+dpgNTDYG8VY4411AC/SSr0N0QFFarFrkM+bIDF29vUgswhY23YOxI/zLDLOPCixkExArIDSkqQwKAHUhENh41k64rMdoDsI2zuzN5T0QF4Y06Yyck/vLIDQzDWC3w+0Y5Q/Op2Bp499E53I5nQDXu8vQyIxAirN5TMwAAuQ/9SvCYpo+B87rOcfMOG7LF2U3VTNmwJ+AKZrlMI8W66tOHIErUY64UNyE3wQEIGs6oHSM26UPXpvR/uFTBdLBp82+UDkw6wE1iUs1aq04i8s1Zd+/TE+UzLOFwEHZo+TYy6yWnowFTN9LBJQEpbJ1oG5LOWgBUcJTYzGa70uJfM2ZgvdTA/o3/Q5AuGkwyxAHiob4k0U4LibjKoyFTGsJmcmqOcDfox+2Adzdp0w0GJAZ78W1/oxUcIBbB/AHXuJOwwXw3cswZTOKLgLJ8quPA5yXYIFbJ1w0npgqwMX92LIBqIy78DTQJ4aPK0A7K1AtzjCpZTBYAC5I9pQyxDClTEP8XRqVOnToI+po3ZTNBQJUuMCiMRC90E62mM1aorE9qkDbLMas2hLOUFLtwx9TEWUHbY70UGy+0gkxEU9EIHZALyvZkw9EI+MY9hwz6uheLNuLP2R6FdBe02uc8nQ0VQzGLIvAdHw7aHhxly9lyJQHZYzWLDKrEXLB5mHZFxPQyUvDxbFQozPyIkU9tI21LOnQFhLG7x/XOJDOIrwD8AFfE2NOtv9+EUGPU2iAHyw+Nw9E449w4Jll1bG1JziewtgL849TjeRQxiY0DQ7DUNwU2QY3SSIK01os/zAlG4w6wxOQBBs6Bt6FdNhI4kYJ97DBQ1zw1lIwZZr0uORmCtsDpI4UANuBs8I/crJvQzzy+i8/Kw3gEJHW1Gc1qt6MCTIuKHovm0OvLC1TLvan2Oy7QyUvPyLgPTDp94XSNkZ1M4BRI5TLFXnUIk+4UwpYgcsFZIG7k5sTPUYyYo06Y0dx2BOLyrEEYwVw8+KH+Q3RwGdE29bBirHAO/7mMC23RIGcsYBomgcGnWOHw1kqZpTJcwEjpgjJ52w8MzpiwMoqXVY3krpgEO6nJCSS3M2cw2U+NQU11TPrww5QyHU1Dw6gC9AQGnWMDTqRLIzcVLQ9VuQJIBfo/TQOKaU2EAcsEIgVMifoZ/5TKEeyDk8CiB4w2awxSw8J2dFAG64+Qx/uI5o4KPc1C420O2LvomI6ai3+2Ag8crCydeBIEH2Q3N40V+FmA09QzIxwDsQww3nsNvw5TkAm6t49Dys4/LPxAUpE+z63HwEt5zAEPCIxhsJAFKXh/Lo9pw5JKRtS9hY9hY0OLGJQxMk7nSWWwxBQIMyHc5BoBw6EHRIBmY5/QzWw5x4HClKmwwes29uF6E+JTE1LEiUHLYOLk8XxAKAK7LHD7uAKNEOI9yxFK++WwpYsIEOJQ7/YwdYCwK3cYrwYjhtWQQBjQy5U4LEABGcsAEC59mTsJO4LuGuQ4LLB4TFEKRtw1iIqkI5HuPPwv7d7f43erFXYC6I+LXCftz7EJeyxIrASCAGoyBczfGlLYvQAJ2kPgI3q4/gI+Pc7RsPpPLkAFTd9QOaXYFsFwhFNxQ0hPmNyJkh4Iw9FAFEKSGLDWCebsNP4Dims3OTVTJTY3e4kES0IGpjXOarJfwyJQFFayRUw+AWA2MPo1JiWq66OqH8Y0uQx/w66LO6mCllmeI5Xpkm8Vai00ADA8fbY7pwxGQ9uLNR23XuPLRwhLJRE0gs8F9lCs9DMwcI+P8GDON5FzkE7Jmt6LlSqbuUBXKcdQ/mm8wzMwi038F67o6Pr0TIQAA4LMtY6c2hUbppo/hk0IGtTeH1t9pbA8cNU4zBQ8wAPTQEpwwAD3co1ZS1bUD7TITq4+GptwzlAN/sKLc9VQ5dTInY44a6uAKbSZWLDOUMoo0+kkG4qbYCVLEiUIhQylQ5/cf+w2b9nwE7gw+AULVo3v674mm89QjrMmo2Gk3D7iuLG1w/O498UGvwyWEwtlzreGQQOBGKaYBErB1ZDESDTwF6I2Ee4J8MUTrQwLL490k91xJCQCn3ujkzjq41LBzQBZgZT8NIIr2hyek/Jo4HACi4MqozbLEuyLvQ9um7t48yYLtTGtNzZY9pQ14Ik1Z+SFIOk6Dagxo6d7GEk+pbF0w+G2IR6Dyw8jQwskM5j0zTDvwxylBTLELoC284srDHs1YENpw6s+CHqlUrGA2JWIxHw1jamuXhK05Us/JTAviCBbH4w3ZTHTTNUvKfLLZAAgwxVSXX4retDtbKkgBE4AxwOdpiilCwkLW9yeLHSSH+1xRZ0AFEhPuNZB+LMJ97f492o6MY02I/WhIkB0npmdoG4xONsNxbLdw/l9n5Y5Q+HwwLvahQzMBLJJI2WQwu497h3wAat53OLBNuHqYwamMMUx6q5w4MJwLaHkrE1lTA/TFhLGRwEDh8+KIAgPuQzMAAJIA8nne4nVY9XAMYYxUvLeJ+C03RSEn1kOkxggM14/uE5eR2KlLPQ5G4209+m+K4UEmUuNwyX4540Ljw49w2DEGIwOOcPyUMOrCxDF4EKYC5UvMgIxYABx4+bCn8jlfLH8wIBj7Iq8LsBXM3Y4wfGHOANVmLU0IQAILSAfUG0o5UuBpRrgwxErNWLNvw8iYyHU9ZU7i4JCKPvLPIe6TLOngUNVm3o0gzMkOaoEEYqCD0ESQ3Xw5tLLlN+6+zpADOOP+w4OQ2ncWF2woviWLBjjyIxAuQ98o2DECgzPoU3B52WsVSAGBMEJo1HgJio1Yw87WEMuehACZwxzXrLwPuLPXpjsI4BowuIJrU1PIBWQ8Ao58E/wwBdLN9EzxwIJ4/oeJXQ8vLA1o/wwAzK9qkM6oBGwyTLP5TKXF6RZ5Mk24EM5s/DaHkrsQEA0xkAYvuE8c03cxzNI4bLIkU3zESlceAzJCw3ZUAwJ5Pu9jMyBIP9EN3SwBGdo8V4FPA4/+HVtOJLE4s+Is+E6q7Q20VAEN3WeV3NLCSMzSeMquC2+45INOG2D4PgAFtLL7YPC0EmUoH9Oa635E5GD8lAQZTKAI8+cXpYXuI8qo1buN4YwmQ0L6RyO2OowrS48D2Oo5QBwud7qlPU40jy6XTCirc4rHMrByiLY84rOEQAH7qOHt/H3uSQ5OnU3sNky2TANRIwuIHoAFbmxUq5bIKVTNzjE25n8wHlO5BjzGo6kUNAh6Kw4PI9C4/oQONLNTIv9M3uwKnQBHk/MY71C87WFYI79cRfcW2o5s+8H41UwypAG3YAskAzHLxwyRy0Jc5AuGIC8C0z152BQz04/2UBEAKRLGDEMdQxLkDreD6wM9TCDmkusP4Mn8UDuLOWgId7N7TLtTCFkBUAP0w2BOI6Q7bOd5S9eI/OkAKY7b42Gk+f5mxI3wEwPAuSu+KLibTMSq7U0K3TLdTBqY3MoygACUjj2KQtwzW8B9TPQmzVTNGbX/LO8iTRLPPd19cblTC6IyPozxs1Fa7GQwWI9KQyZwz4OPPwo6s2doBggND84QK8gzPD2yWTydbezwT7Y3xLCFk+bQFZIHLw1T42wADTE1ZZ0tPqqHAFQGNi0WoJJIwdzfSSl1w/wQxKwwrwMGQx1Q8F9vnj2lumhEz2w+5FJieFEE1so8dLCdU/47jSU2MFGlTFxY1P1tgEBG409oxhPQQEO70/Mk4lw+nFtuBgCjs320yEHDTHIT7fc44rDQIOCeuhomp59uvZ7e/JQz7EH4QFq+Oekwrc/6hxF07oELxw4Uc6nLNfs7cAYWJHm+1pYwcI/sY0N4+8lDk4A9gNrTKaZkSDRlw+YIMAFDvOT+QwhY4VVe/o3dJ3wwMLsLQo9/sANQ/sKDZmC+UGj3nHYCvU+ZY2UFOuk9a5LuUNxwLyrJJY08iPTY9sDK+MImBvhLCxMxjj27QOV2xrI57Q6ukzOmOdpvPLJwENzQ04QH8wzHQ7enqU51Loz6EEzLFKlLgw+rTFNYHz4zNQwgw9WqV4C3RwGewzNQ5XQ5bIHIAONo/Ao8/nshY6tQ6xAObQGjswbRLUTvY5KBw+xD8DTj6mCxDL4rH2O9HQLYx0erLywI0ANIAMvSw3LAFTDM877I31TLO0xmmOryS/Yx5LMNZBwrr7qKzTFEHroMDe452w9seq60wxIzaJJbDOAw6kI0+QH/THqjyvoFGWGBUKZwFdpqr07+t+K7pUvHaM/DQOG2B6Q0X4xbF+ICKKlF1TJhB566cdi8h6di5CIIBv49U5qLM2uY8YY+RQ804BYrAyI19gLXUwjrHVTJ144m61P83EIl+hrOcZe6kqY52kLFnDHw+Uo6CAN1xIxF7E+FZHZwSMzYzHkIrTDsxP6hgJLA6u5n2421+IsyHqs9TAQMxc0xAtIpTHo8xtI1fTDVTHUq0DQ8hG2tZxGw0zoxLS9eiasQHXuF8KFZLKVTEFUOHQ/qSiiAGtN4uk78KS7QwcUA2mgamP9QBwIAIxOK06qHLU1qoyQCDMvLDreFYEGw655rkfuJjR5UqXlUyxmy2Q8YMMWy35oN1R91m8CAILLPExGzW7qw0zcdYrB2SHKlPClJkKUk+OnQB5o4QrJaYxAtDuAO9o5ZLD5w1QImWQxHeJlWAE2wKo2PMJhMz0D/MY+C05oC+arBkY3MufMOMIJFTrN5iApMztw/JTFzw9IIzyw0x2U/w6zw4bTPoUy3w8F9vLAJS99lQKZ14Jlns+w/I5MEZv686yR+ILaLL5rk8wHBD5fw/S+hpatW5/Co8zI7vQ8Y6MpRNzLBLOxpwwdo3B56xLIPI+DppL5z6mLjw/DTCnj3gzIAYwArPpeC5I5ByOShxeGanTGEk0WppwZ5FmAY44BYigAAHAGFYyGww1c0Lw5sTFEaDGk5o4DXo18dIkYP4FPJOWSjcUIzFpuXY0VbPjoxG44wIs8+L41xhaGEw+bwz6ug4LMoo3lTFVLJyo7YlEB0+OcBdLHNOEndNF4EOkz2LG3zPHKzYEOnQDs+L0Ix+2L2w7etAOS80SxhsEahCiAKAI+3s0YIG/3P3E4HaM4rCoE2pwBG4HtY5+ADNSLuAJ9TE5C2+Q6LIwykAztcqrNPTDpuoM45RSPJSxvu9DkAtgA3mA1AB6qj2LB9TNlF5gudrEHUY+ek5s0AqHQskKQvu8rPOeB6m3Xw7PwiZIyMTs7qvzEGEkzoo36Y4IxMkE1M4NmwNXTASUBJ8N4FMoo2OICerB+w/2Y7qw9MU2SQO6nD1EyzE/27XVTEDplybO3m8PTH/Z5pB6+m6FsxKw/IIxrYwnQxx7N3S5449ZAAP4O0LDk4IeY15S+CehC4zmW2j3odoxwUHZTBv4wC4xBQEgGaxI5zUF/sENbND87u0xTcQww88wGuQy4233oHGR4dQ2Llx+bIaQ0G4lvEwamO4450yyJw9ZTBwUBBLCNQyds3PQ+UgGKBHmLPCYBFcwfCxE4JzTLtQ3/LG4ZY5TG5ULuG5iaCdC8J2ZkKUsYpREx2YKGJNfOwWI+zNBPTJkl9u43jeNfiFtQ2od2hLAK80YI58o1NTBCbFYw+Uo8Z46s+Kko7uAHPSWDLG1w+t49fiKd8YpY+Wk4Pw6LLAfEGr5g5LJDOCM+3FLLPUG0ozWLHbk82k9tqLpY8GJ8yLFxwKzdKm819m8wzK6Q+5w+5cB7YC5Q+NsM+KP8R+eR91TEQs8iNl41Mij4nI0NVhOQL/OhExGcU75QHhkObTLIyaYIw2E4PI+kANHB/+UAOT9OLNLR1MW3jeB54Kfw+97JtOJAFK4s4QZunUxAtDXwHp7vLHpJIwuQ02y+Zw8F9iQANqa6r01qw9C44DYFXYACo4uc6TLH+2MGwD+I7t45vLMOrHfwt2A87Z6BQ8bTFHQ5SSuzLHVq4iyd5Q6cmsA827Ih8xpvQ01TP9TK5QxsYxhoMsAMVbBou7HLLDwz4OMw45qrIjLn7qOAw8C4D7o+El1TexhU5Z08yYK6LFAOdFTMFKHDw/Ao7Y5ecYMUI72KR4w1bwyo7rXY+nl5e6hVWlLQzHTFZAJdTAY438w8EIs1AEE61Pk3FLAes0bY0+Q1Va0lQ4mE/Zo23iI0O1jIxLw9Zs0OUvmm+GyFMicsAHeUy3w1IaVbSwUAEVbDYI7xUy97K2ziMo8oRwtTMNIC4uUYI2A50UYxjTHuwByE+XaxzQOTY9EI7840rQ/6Q+Wk50oyxKyBLGLSWfkxVlyZeEYrOCemSQN2nPfYEFTGwEJIy5IYD0/eA40FTAiTOEw1mw2csWco/Z1GCW7YALpW2uQ/rCv1AHKrDRLL/4w6EHIZio7jIEDhx2Quthw9Sw/cmZuK1NwUzcRxcwNx3TB7aY/jo5140RLKc04srJPathUDOQ21EK6LDpus1TEUN/p8GuQ5OoI3k0bRNTYhslF/CfqlGncUUY/+Su5cN92r0IxNLMohJr10ySTNQ7bOXgEKuUGaV7YSA2YpGF9TOEEQM4cZf41JieryS5o+Q1jWw0g11C4xeoxcwMdOKOqMvQxMIKCY6srBZQ5KE8XQwKADRO/vGfda2zoD3SWesO97KHI4Lc4XqwVTBE5/sM+Oo8XQxoQJXpgB8NFI9VkxOLJW4/TQKXQ4AgON08NIAu4/DtxdLL4ms4cbGQ9YrDESMauAKXCWI7GT/ue/AI3ExBcwAztcwYZUC0y8yfm08w24ZRBQEUEzlDztTDGLMwAOAw+oZtXMQDUC9OGPxwNTLFbN6w0bQ65TPU4+8rPqSkHQGpwK34wW6WRY8UTr9LAeZ+rsNuSMEwzOQ/jQ2oxInYyrZ79cY9LOzwfQHH+I/5LHilzJLPBgNYmErE2NOI6QzLQ/MGMwo2OVQ1M0Dsp/porQ/fQxXKfk88yYFbt8xwK68aY+LYUPoU5YALxdkvSVUvPH3u9o/ZQz7EBLDe/owqwKWUD3Q+Wk0UY6wEF0B4G9+6mAPBj6ukujEZxHoq6HI5SzGsQMDsG1Q9ZzCCgILw9segC4xpYwIxJjBG7TgC4zDTDc0/GQ0+kpdACDmo6Q+dpjoo6ZwMRcm6iCUzr/Ot/sPiCwotwd+6u1/H+JrY30eBMwL843F/G1w2uY3/s7u4+9d6uN43/pjANJTANq0DQ85sy3iZbI0y6OJ4xfY+D0xzEMDsJwMKTSRwyEPw/XpjLOE0o1uk3hwDJLPZRmD4N9AM2LNF924ZeVTHeLCZYxJQ1LYqTMwsk00rLwSONw7208uLM8AZ0AG9bOZADKImoxCJZjoI/pLO+ox9E7U1uOowT1x4t+WgPHc2gcEuY5pLEz8NFTA+AZ66azV+bsKbYPyw88wHUXv0lB4TBfYyp8HHwOP45HB82d6nTBQbU0CUEQPRLJ4UxylOmY3VDJRSI/TCHTOVTA1w+oY1FAJ/AHnREw46iUC6iEahNEIIYD3e4s8omVcKHhx7w7jw8alL9TBC0w1AKXiiX40skOngYsY0HB+IMPPLCUDAwI90x+po1McOLI3iY0JwKTSXCgFWJJWk7yvTOUJCKFP883TESo6dQ64c+YILPUG0U+9oyi3MNI5MCQbIOlltTO0FTNoYAQEEc5CwwzwzFK6AXw4UduyaM1TBSE1arAj214IJlkLUToEEBZwFLY8sw2BrA3apPo5YzNZLPEWDkUNQEIWEKp8MQrLNTPzotd7EbQxLGo/TDtUJQUzciAje7lTG6ADkrppVd6LgkOxOII9m+6mG+iKJCxErJaqKBRzGE63u0fk86oPTYzBI+eLDpAOnw/7mCvWKBbCMl1Hw1vw9YD2CC+EE9yI/N2zkw4SwxMwIvw5aSqCAETGkE4qbYHDTM5ucKNy4J36Y4/TCGLDzww7Q/xwCUk4Nx+G2FZICXYKrE9wYwCDDYQOCYlMiWYUAQEBfcWgrHPrIdo2LrUQFHqI5bIN92sCAD5MIzysPYAJ411TGYUEN43amvl9tXMdFTOE4yAY1vE4vGQtQ6DOAhusCiK5o83c8RwEi0PWY27k8p+zLw8wwJFI6dmHpq+oZsr5+zwzQICQa2OVVRk8DLDZrky6Prw4zXOEE1jEHBG9Mu8EcxhaFPIJkzqsrP25+5Q79TOcYNI98A4NsxMT46fqY3kyExKUEyxi/844YoxZGEXLFuw8zV038Jo4OW4LQR9vTNEI8GQ6qfd8UEbyROk+bk99LPTD7IyVqQwm6u8K3XUwMlIeY77I3ew6aUPZ9ki0Axo1uiNBQ++c3hw3uwMUIzR669w1N079LI9yfPwuxi3l92DQ1ixHB5wNTCcWFLU69TCEhlclE1TKEfFS4O/cKbSQyR+8rH4QJWk42w9/E5QzHjeADQ9Ne0JKazw40w4n52NQ5FTNBI5HAG4ZTrw3CYpFmIwo2Ys/l9t4/KHRl3IJWK4LIyWE3KkM5UzbYEOh8dlCn3orwNwYxfACQ+RxopJIwbk5UuPpPAW21YMCJQEUUzpTP5LFauhfY3/x9rTPWhAv/npOaZwKwwMIwy9OO4TKpIFl0G0o/4FGA4x9QHhLi9q3IrBbzCpLFs5314JP5yaDy6I2+UFXQ2gAKoEP/AEwebL44w0wQQAOSy5QzjIPTKziQMauPOkAaI2aw4Rk3Pu36k2pwF6rFUc8LY/hLCBI4WTMgzEc5IwEwOY+zw+0rEl6xaIN6w8DT/27dGQNvw91w8EozxI6sY9gz8MOSqMN5YIXI1Ow98GeaU9Qk444NuTzwYEZd3nsPxuN7o2F3hj/NMxArcy8u2iACP4DHprqlEHzOzi2cUzoI7Mz/v8wlC/5OzxwKyo6IuGYI1tLP9TDCmtwrTxI7F9/Z9iksG2o1uQ7ZeLGQK42XCqEzwNnQ1Kw4fw38lKwpyyQ997M8raLwwSyFP1iek/6Q2AM4ie94AE38LPQ5bTA8cJbTDQw/3B2QQBslJzTHo+0u+zbYNPk3hw4Ah/6wKd7Bd410Z7MlO+nmLJ0/gBeIwK03OANqc04AJeQ0e0xGQ7OwPW42CAAAkAYAPgIyBbON0597C+JnlbTDTImzwfGKU2DOQxpY+KKILEIJLC7TJx4DQN7yrL/Ov5w2SjY1QxYwy6YKU8JMIqI0/ow7Zl+NwydQ07/OCYl4rN5TIXGLc47slCwq+rTBd447Q+YIOtTCLCxezELE4Za8J2W0gABY2Hz86Yw7gonEx7pt16LFnA1M3/qfuLIGQ9W45RE546kmQ0cw1HgNyIzqQ3WLLsxB0AGss0ldxKSO6nBCRrWw9i5Gz429QLLQ36Y9fTLZswzdxYIh8Ky1LI2LNa5JH86BbFAC4pTKwYJDOK4w8dU88ojOC5wSG1YyMoy3TGWq2XOgamHUI5UvDFw6N4zlANYmOIs/4FKClDwuIo4Mw0+xFrfY2Ew0800zwMkIi1Q7yrF3piV49yE9KI2DTC3wwHADxI8zY/QIKaYMji01AHOABqI37qB1Vzylmc+P7qB6LBQzFWLF3uKp8Nxu7uAE+QLzQ4QAPQwI1Q2/eOPLEsw3z41o45bIGpQBo+DBSTKrGlLO1I2jx1qQ0NN1WL3+I85U8iO6nQOUo8LY4q917w8PLIywH5YyQEJvLFVLBQzPOeF1TACo9wxMgudTItW4+xovww1XYBLsJMInHAkNw2j3jbLH5LGIwEz8/gI2+3H4s2jKfaY8QrHBoPJK1UvMc02PROHwzha8m09D8xhM9qIA7x7BQ+iz6lTK7KEvyfWw0bYxio1XYPEYxSE2JbHArJsuEbRGjKdXTBZZzuB6yKP+EyT0wwwJdqlC7jsxKnpluiMqU5wSPJy8QEEjo0qQ+yh+UgNOLGJbI1AGjswVIykz45c+wGKM+4x2KC+8wwKM8CZI5CelRk1Z+2CF0EY77I1aKV/RI6Pqmw5wMGMupmDmDQ2YU804Pww/2yx87smHYLw4RF/TkEBQ2JbAzhkYYnwyVqQ2tLH7E33pjxI8t27TI+wzxpo9H8zJTB5TP5FxylMpC7krFP1r6lwfGKDOGoMb9uCVTCTLA/w3ZUJbINXV6WUMjpzXazmqaFs7dC1qQ95Q1LU544w0ZsdoDu+/XOLEAM5s66x5YAMBEJCF/6k0+hC9QKywOxwILSUcgkU4CxDJf45Fw+SS1hMyi3D1E46PrDpt5SuPir4rp/QywkM6ySOLF/iARoldw2CAMG01OoEuICAY8kM+i0sGQ4LSJF6it11soy5QwirBdIIjQAYlYCp35xMLM8E85wSHdw+cozFpsGwP9QE3sCKbflqKdQ/3E/Uj9d9t8qRwyM6YKKUBHHjiUlIZg3LGDEM0o6aZtv4xeLDlAIhNmk0NJTBDF2+wzKo8fwgku/OS7slG+3My0mBozxfGIoEe4/tT4Ucx6Y8jQ24400ozmLOuO8aVqYZUiQxQTCJTLuOzOAF784eKLCbP782OLCeO2pTFvw0SQ7TLOUrDUsNYw9U5kIR4zF7BbKQvgjC1hbCFbMBbGpTFYI56AM3mCksKmwwTo+orF4YzJTIUvEjTBQ4Id7LzQ2eI4Kd9hYyFbNPaIHL3UhPOrB+IMZ6K3z/OkKdY+N0xeO8alDJTM3o/OrBACPQ43xLCNTANTOUrF3ajJTDwK1xLKLw3KwyOQ9J12SjTmLBZI0jTI8M1hbBQ4DGLH7C9Q64euDJTLf4zJTHWLJhbF8dGhY4jyVilPsKHbR9RbFdLNRbChbKFs5ZTOTO6cI0BbFDTCH86clKd2yZTCta2oMQaB4hI+P44dTAzQ4G5OUrAhbNVZxhj3Wo9SSGPL7VbOEAGpTGKrOurKyYx5LE8wEe04h4vOrGNOEXL+NLDJTE2Q2bQGP44lw0tTG3iKIzEEz1xLCNIBeOzG9zSeGP46fqaUhDJTIJ4zPLxsrOurCGLNnTGoK5kzieLO8K3hkDJTPJKzJTBHw0JwHwp8H4z2I+lTKIzJx4DJTFrLNJTFGQ7PUG6iJ2w7U1jLwzTs9JTK7qtFLDnTLbL/K0JfM2UQD/F9ECOIo0wU87mCpfY1Uywy8+LPHYCBmzo8bDUAXU6345jXL/Y+rc+nSUJ8ScUPCqZWoyMTmamvdLJ54Ujw2lJIOk5jXA6w46sxIeB7cLu0+pQKEjyzECdEFbL1lt1WC/6k35xEkqxkE8rY+Zw66LB1ZHRIIjLjmh65INseoSADDM22p94Y7EB86owgw6nLBUbtY21XQwKrEpYwJ4/lxzV68zY7FUwdySUUKsE1IwI/T9pUPjQwCozEj7IyTuI1uoNWU8Vojc05CvLNo7fY13IHRw6JxJKw0zw65yXDTMoEDWLJ8o7M+F7ZX7k1u0FuwzsW29vaAULOV8IE4Z05RS94FL6+2amhiY514yC/hGw6KOyEACuc+s5/8qzaPHj3sxY4oFKqfSZd30431Y6Qvn2Q85syV47xcWVw+hi2UFMiZLmY/QALmY3MueFQHWLNQk3rTGjKWorKCY1NILVTBDOIRYxNLAes5KgPdSMxY2Z6bPUAaw0zTHS0NPaEVOxpY7FnH2rKko+1LLaYwooyEI0Ea70TCvQ6xyFJibPwjNo4cSPU60tQ1m165ILAPJpAKEfP+Sv+SmHm7q469TAxI1zkKpozWw50wMXTPQHIyy7DUMUvNu0xIAJ0zgIxPpLJguXD2mesCwoOIs7Y/q7qm7k45QwSUHdh/BbHqe4J6yYWzLTCEAE0AI6iBKSPjTMXz/II+9TFybN8qYVQ8DsIHurcAevTPW46LSeHw+Cr0VTIqo3pOSHTLSCyCe0L5EN40RojXePZo+cI4d7FQ8b2xztw9XAODPPTkFpQ68J7GQ7wI/JYhhsFilNbTFo4ygADlI0+qOfwwNIAqQxJM+4EFMpwC2zft35E6hNtXMVOrNGw92y9u02OQ/vM0xuCRUzBSR7po6Pmb9tHQEwy/PTNloOxhBp89vwwykExd/a4zDM0ndFT0zJbLII5FQEkw9uBl8dBFTK4rDtwxsoyhUH3pvkE7G4x+LDFDyRaxUS1NOItbIGIwd7MIe4zXIvGW3Q56Ic8fGDOLc4/Q+L9pkhLNGbduC0rTEbY7QzJ/pvZQz+51s8+vTFNOOxjuxY+ZANMU1mE4Hut8UG4wx54CHU80W6rRwdo/Kw4voDBNXSMFGLBku20AAKUL3LNSw/GZ5QU2zoAjw3mw/MOIx2LqBHoAI9QFkqUi0MjQ5HAL18Qpjm4APTzDEJGDLKqF/joyJs149E3THRw5/pkHzKtQ+dM6NE4ccxHYNW4ydS9tQ1NTEFTHOQ18AKqfUWpvbB33Y2dN8HJ9aw9xQ2oI9tI4rwHLYGbwy46S5I8MM8c04EsPGBGS8RExP7AGesI6I0So2KBPZ525I8qrD+bMwwH8Y3ZHe4o1T0ylccPoz1IwZZ7YlFybBUvMmoy6PFYFFlo0MD3pI56YygPGRI7xdvjw+zd+RQ3J481as1aiwI2hE4/YwqI38w18o7uUNso4UAl3uESQ5CSZiaMAo7aY/4FHbk+UowHY6FWz5mOngNOLF3prBHv8wAQMyXTNawz7oEqwFeOBcU5sE+PE2VQ3yoW0MybZg2mrClB+2GuXppSzwuBnl/+wxxot+K6DKYCDIZwxrI+RQ91TDTTBg44kw5nQDFQ6UrIpbDYXIEELQzJd7CT4wGo/Ve6FdD7cy/TJZc5/cfTowzhrGG398xJbEVLN3S1uLHJTKXYOAw/27fTzBslE4JG5TIcSGP46yK77zKcAN4/J2kMqrPKwwoAFExNtqPClFS15kEKvu1Q8VilG0E/fQ49yWlQ/Ci94FEQADYI01oC1LFBw+f6YkIx4QMNoylTJd7JwEJwBa5IGEkiWIydEPJYhsYz3Q5pVbiQ+YILdC29mAirPJo5NXAovm+LGQuqTLEjwyxiZ/Q4RQD+bI7Q3ToLtABFTKNEztwwToyYo8Ao6H4CwkB2MLfAO5k0rTD3Q9FTAoN95TAI+L1oLYUDESAfo0FbAI+MEo00oxkE5UvFIAMguZvQ+1LHq41mo4UvFMcKM8Hwm40UxqwP/00erAYi14E7cARCqKPw4jyZTkLa4Mr3RJQDxwAyI5SlMZY1qezkrpF6uckxMIEes1dOBoEIm2ehi9oACTLAjrFGLDnmyjQigAPxAZzUOBd/JKx8xltQ9BE591/Qw/LN6M8E9T5hXOOQMlw3CgBCwwn4+xjo6I0nph3kxYADt4wVqMTGjyU/pLC0FKDD36MK0rJ7Q17Qz8AIMyO/cDmQwAU/Pwioe1uoAtTCUk43o0BLFe13qY0ndHLYNgKYzyiWiIhF20I1+t93S7b420E8VovVQwJIL/49dCra4NjTJJbIrOKM8Kuk+pU71U8+KF3E+ZY31Yx+LDpbFybGBbqwq79LAiYwDsQbk/uQy97BHw3L0wow08O68oyx3L4ms5Qz1m8qU/HYDiAPqSh7ayT4zjCl2rEFexGw9B+CfYzyojXo9iu2CIJsTOGK1Fc6l4BLw20gGFkVmw1jI72w/CI0WI7rw50o2CABDphzXo6IzH4/cmdqI20gCRQ1zkIuIAxwyBc8hw4vw4xIKNTE+hAPw5Tl/UwzMZhD6CPnJKgAVqF9cQ0U1bI2tB3ZQ09Qx6E+A4yH9N8qVDprWB5zTK2LxTUyUwxDpvku7MD9gEKlTPsV5tWdVmFLwzxwF2UyXK7zs8F0Nuvb/sHnRC1LGSE+dMzQo6mpl7r0LBCboNPk/wwLh08144ywLjw1M4LaJKuAGuLC8nrXY5LINsIwqI3qY0z8JeI+mUERmx5IBngJkJC7Qy5U+rdLCrB2koBLGFIMoo6U2F8dMcNwKowQl4BJpVQ3/LM+camywCo+ngV7Q3uwBCbHcs3c+mRwDEI0Wpvjo+p2PpLHew/MeojLkWplQt1W45IYIFbAn29yEzDM7XY0tOLk58/x14Ez8AN4yGhLHbi02QwBjtG7LimvNKIotz0QGBbqqHH/LFlTDEW1NAJIYHNOCIcyDItXMRaB9ko/tTB0AD5Q5Zy8ceGwAMr3UHo0B02VSUWUHF99ECKNQ4c52YU/jo9sFywy65IC2QzoI8ZEPWYu4AB54B3AP3jxQIz4rhCgB255w8abiKPw6gUz6EJKEwSCJWk7xU7qBHRLNxl2VwxcG+HkyGewarKGLCr2wCDMkIptL/uLKpICx3PGB+0rB5gMdK5UvBZI6zzER600o/SSshwwhFH2Q+f+MRotYmPxuAFLO0ExbzI2Q9Yw3ZUPAo1OcYVQ2Oc2oMVFL1rkGfx0lE7DwxCqPCYhKwxnQ9pQ08wEp4HcYjHd7Uw4aQ6PWM8+GIoMPZ+bsB54NOk/3se9o1l0JAGnmw5CSXqY0DmPZRnGI1ch5ZAEiNf8o/CqX9E26ACQB8EB5UvH0w5xNx3TNqI52kHco8kOZwb0Je/7AGj3o/TKiUHxTRBQOrsJWIzpbNckyV40yEIBI0wk3QJ8F9r/D9sI/kI/XpuMQCwoGBQxh4wL01/a1XQxFTCoE2GLHDw4J41de4xIKoKKQvi6I1Uo114FXQxOIKux8VY8wAH0wzlo7APNKsyZANZAPWYq9QJqLs7mDgh2TTIR6PlWpCKGOcw/o7nSZ54ckItqIOb52lTKsQLBicBLM04KGLOpQNjSii4CJQI6I5RExAR3F153GBv4zmqekCZNQb7zMk436I1Oo6lR2jqYdw1hLNS4BkE+JQ8oo4J4yIOxZwOSQ6zUFHgIWJBA8fYeGXo1b+xUbufwxD6LO4BEkBcG8H+5s0E38PkE6OqDSeP+rssw5uuAYlQ6EBngEmLHWo6EU80o9WK7QHIlTODPKyo9kL83K3YrJAFLenr/OtZAJtLAfo1ZTHClKES6liAnF3MlgarJY69gKbxcUSE+uSW6UGIU6U8FZHeZAO6MxakD0QH0W3p7iRQ/uU5rJf0lFs82nI+KaZkEEcB+A0woAEpw6OcB6LJdcW9IdExNu6y8wzYs+wYB1ZOF4ydeMcwwjrAhLDYs35xFEHofw+zLBfoxpRn/N9EOGrQ9CAH+2JdTMwSOOcWO9w4049w9Ro+IMCcWEmUicWDx2/3kxwUM5w08w67YD7EJxQ1roBkE3+IzUGncs6WL0wASd4/1d5oMBJMxHYLIydxAXVlgPM4JljSw2U0xQzGNo1JiTZeKIV1ixAaI8M0xg0xqi45IDTyV1TIrMwLp69TAEoEtPlSJwfGJOoG5TLslELBKLTGrQ9Ew5jQ3Y0GS8ZVTFwO/QINMC3fQx4ALDUI6Pljw2KlKHI3Gb774EpbMOrAm6silPdLBCRtnY0Bk/85x9QCn8M5ufIKR2MJVQ8r3Xeo33yelw9sDFIwE16fWw0hs5suJ/sIND/9QFEALOhcZLFYMAEoMPw6jLyg4+NLNG7Abkw+ccZ4warPOKK/6KqHM7qrxU/Sj3IElGQyMkHeLJJI8+cTimgjw+ryTjY6XauQcdMU37TGfs38joFLPvp0tPmMuu7TNsANFE668U8iFNABVpZWqcVbP38ABS7h11iUpKE/QAK6LFCs0yw8LsPA40315iU997I+Qww07pTBpF6qQ0SE4iw1s1iFk0+qGTTD8w0uY6bT3LK4mBmceNnc0YZwJopio/L07O04vwx8b6XFzFpviC+hAEerLzjBK/sr3R+LNHQEVbCvWHg4wdQ0nYMFKEdoM5Q6dQ20My0XjHkE3sP7E4mJHamqd+1Fa9Di0sG8NYA6ECTlSe0ARUxlw9J2ytQy1TF4ECHbovGZf46U8HJ0y79eugwC4wuIFNTFuLLUThbzKe278lAX5+8ejoI9AzGlTBpw0XRywI8lTIGE/844BLIG17PQ8wzDXwNzLP467SItXowQM5jN39OPClDqWrp0LuSUn1ijfXlTKV+DaM1AC1eKYsU21p/9i81AKGLFAR4we1AOc+cRYw3KwzSy5/0xcY7VZG2LFdNzvxBj1fFE4xLG6iEmLJwBecI65IJ+bP/4G4AGerABjpOne0wOIs1GWGNQwBjlfE1VEfsE3XY1ACyoE20rArc9fOyDmt8qY5w8oo114KcAAqHbvD7io8JyybZt4/PA41M4Pvozq6w8nlzO3oq3nRPkIzYs0l6Thw/ZR87mC3LGQWLCY1NOC46TpbIt62tOId7KuJyi4AJoqmQyGj4XrycULNoijWH1o+zw55pwYlapcOIkPwu+RO9azHPo4bLNkw50wEIEJfAEPw0FbLYlL7IwFLLtAPWLGuY30w2Rt3bY/u89F+ztw9Rb0WpodQ9KIziQNwU+NLGOc/oEP38xf8+uk2BrHtY9BQ+Aw2erDvs+ErEFTOzeO0CN/qzkrg5Q/xwIUAsDI/6hiZTPgqakI+VJgr5qNTI3k1GWBnw9qqUNR+R0z9TFXZ/Cqb/Okcw55Q/C4+AwywoEpwzxs63uCbavGBCro9Nt3iW0x2S8KJCercE9ck8auB/01OrIXu2nw0lTH3Y/tCWdoEU4FxY/WQyTYP+ri3M20o0YxwKXJ0Fx7prE+NS4E1p6UK88h5RE9/sL7qGOQ7YKwtw3HwNfO8oU21wwTo2z4yBIy8wyjWPLrDvw3TJfoAAyrNpwzkrsAFGIwANLM0o3UhAmQ3VY4HulOo1ak5MAOXKWesNGbVxY2VSWEw3nF3/E5ecyGcB4w9uLDBNVP5rLkIVbPEWHeIR7wyeQ/0Wz/h95Q6m8/38IwABJMzNI6yD65TESE6EfBggIIE99AOeLM0o+JV/gIyDewD0LaY+P8DFpoQajiUvMY/W47t4//928w68E02LDIKMH4/3E1yQ8+k8sw4do6STCY88m8eQcXirw8s4h4rh6xA5Q6K4jl+5DwrwBoa6VC5AFEQFDyo2BMPOLAGQ+C02jsw8s5DclMlo2MyZMwoy81Q3X4g2mg2E14AGJ88WJ+wwGMujXwDGmppo4Po1xa8wvl1TIx4DIKeXYx9QAfLCjQmeI1pQ0kwxp86mQ9jUxg4xaPB0QEdoATo/hk5zcVfExQ2Ez8AD7JOnbibuN038SymMHv5+hopFmG7r9ko7QNwGx+9RAKXInYDd2/jLNGS0z80DMzxMH/qcwYTGE3HAuyQ09o5Ba0L6Ti19pQzlc/sRxaILJmh8yOMYoAU96EO/cFM4Bnc4JlqkG5o4G9O8lw8lLGzTHSM0mLKi08zYw2YpMLLxdgJIy1QwRopNQcXr/ZfStsEz8Ljw3OQ+5FNlAOy+cC4AK05/w+JTOICGBrAEDwNLLuSWAsADQ/+s6qHI9ycIw+MYoOFxHQ/CE2orGlQKPohbQ4sY20M7hYzyU+tTDKnUEQGkd26ALNOE7rImJAaw4+Q5sE/tTNFTDNZ6fw4ko70I98q+G2HXw0DOlaw/GBNW8722zda5f45awyNTDHkDfGjFTCek3ExLuAImJPCE+nFkzcVUDKXijdKCBI18o038MJ2eDpnyoW1wxSNyww57TLfY+vTMohFyd9C41/o2II+rM8cw7mi5iU8y4D1SdPk1QozwuChb1ct4xLILEIZwyFAEwkw3AMt1ycUJKKFDwwfUDywDPyBngAQvBQdwKUI8u3PrNko5CANnc0WIwoo0kw1aTyecSWLI7Q566V8KIyQ2kG6ro9K47Iw17Q18ACZeI44G6AKcALxW6mQQxI3QU1bI+Q4EnYHnGCdW1vIzui1eKbuSfxAWpQzYEOnM0pTGXE6aZtu4xqAGix+4EL0TGtTFgo20w0Wpn1o6LI9dF3Cc1nT2SQF7w3fbvG6pfM2oMfII5TkFFa05r7PQ8k48gzCr96QE7LLPWhKd7MYY+3LF4FGlrhnw0so4efPC45CSfm0JQWCcgFTYm3owuIABurww1wEOLXGXE9ck/JQ57YIVTF/w5vj8C5ySMznW27k54m5KgDKnWCC29OImK997K7C0qRkJo3PiBYww3mMF0FIwIQK+zNCbQBlOw3avZRoVbLxp8UM/7qGWs7L4+NZPBW4mBuMR5m5wD0DWCa2yylw08w/2iCXYG0rBCCONo8UM5MLENVncs1rxEdww/w43kxr6PCi+jQ2lo8lQ0WoBYU2Nu7O03skL2BJf44zyuD0992jGk/LAM+cWIoOlwwFI/SSkbNIK72YgMnJBL9xhAC/TH6ow7KQgw/lWoV5KGI0je5/cVC8c4cVjYonY9DLHMM8LQ7i4HcYhiY5bQItbHZU+arHBLIsU3OcXtY56IfIIwA0wMun/LJo5/OKAdxFsI+hExDIxBw5nt65o7v08fEG17kiUNnc5DOPKIrjt/lqG9bHCgLoEDZmEzcYvGe7TMfEIjLjlC/jQzO0HFLNwU0bNM8+N16Fch2Cp8mQ2U+DIEDZmLdLGpwKY+FNTBWIywoHW6zFTOamixMwOy+h1w2YgFTN8o/ia+0I8JwNF896BPxEzZmDTxIXGAnt6OqFkd/8W9qIPk+6XYEh6YTs2zTGfLNPk29o+QWueU0X43uI+rsIv+1GWJeBzrwyGwyiABvySvoCMw5W4xWIwtw+ek3Po2dMTHkM6hSWEy6YAnwwqI6mY7846c0+PE+wGCxM5fY/lM0zTKQvk8wyt/GoeFUoyusxPLJJY3qc28694yDLTHdw00o7cK9NB7lE/IKWcQNfLKr0/Kw8BEIK4L+i29bGtOOCYlOcQTpqc0zIEAlILOiCD0N8AFOSi6YDaMw/I5AuGcsapbJu99KKwlIOwwGrrwqwEOk8FokMuYnM8FADliV7w+MY85Uz9N4nzztTF342iY+jQ/5w1hL9KQzoIxXKaas/vcXKkMto6r8A/I0IEHHoy3M4UAjfQx7YDpIw1w2CAAr5m7QMNk0YIHPpwBGXYEzQo9qkEweR6JD6w7EeMohAxLC6PNAQCww49QJVdtko6kIz5mMvQ6NEySL9wU1x59nQ/sKFP85144Y7L2BMbr6IuIrExYw9pbJkEPjozfQ+JTIi0zh2yek5sTADI8srBBQOpQ0YIEMuWgh5suFH3cZ4/gAJkzuXKWw67cEyt/Oek/OeIpoPTo/aT2+ULVZG9IR7ppkKTo8foQPWY38D/c2ouIJJLCQ0OngUVbPQAFKlORhP3/qBwxDb5yo244yUDI1AJTW1YFEZeGw6+/TPoQHAz6zwBOLB4w04Imfk7UEDwD1jYtZI2RwBSUJOnfSIxhACyi9xYMm4/HQ9Pk7s8xYw6+Vxpo3qwHeU2dMTLQyirQJI2lrhYw+0LKNTERoswwJ0wCww3jeLylKUVVlTM3LJx4HEIiQ0NqIPZQ5saG3o034Jyw54aDyliDIuUGh+LM8I3qI14Y5w4AUAB3k634+ZY8BLP6k4Iwyb57oMEDsh6JC8npkOnXLOOe67YOhizeLGZbBZ43FLA8nsZ94zXA/ow/IxUADV2xslAwwxNK/QwOLS9MxOAKBvbxjTKLw05LNTQ7LwE0szRY1fQ9klH2V8rvIuU7FU7E+IqQ/6FHb07imsuLI6s6qHNXCzAY1GCx/KAsb5/Q6Qa1/4GIoBYAAew+5FAs6/ZTPWwyl7n5LMEM80+7Zwy3TBxousl0WoKFTwT62eI1BI0U4Iiw0QcwWTZbTC5I6Kw6r080YwJI98N4Po3cIKpI00rCOZxQ4NnY6zdMBLDuAGuLLFpz6EAJI7zogKoyHU5W48nI/WYh6qo/TOP8MZLHArEYI3BLObo36MBbJ5PE/MOPC49lb2ZCXYFE1LA8swXwxA8amgM9Kz+Q38w5PUPsY5VQ79uFDo30w3iUGuLC0FJCSSqB69TOiR4LLCt/GUo1iu3crLYeMhw5LM01AHZHcBz90oy+fONLJPUPaw8dUz6EJcwPQIEG4tww45TGAkIzyv+UE+U7IIkpbHuAAEI+pQ7O0xEkB/wws80tPhv61ooyDq8+bEmLMfwmew3J40Sai1QyqT36Y0zwB7pifQ2jqT+Q52LOf5g7gjtUFjUxFTCJj0p4H+o/0lNOLK9w8BmGNzwpjlnhlpw6NU7/O9qkCvoGPl4u4P4FB6Qxx4ycCx87kPw6lixNE4FmKzw+uQwJopd7EJwFge40w2+UHIALRo7ylI0w98qebTC3iXzwlPk5aT1Gm2MFP85KYk5iu14+2UFMq7oZwxjQ5bI4bTOzwaY2ybt5MCScWF/o9AQKmI+Zw1ai7Z0zuLNuSDmw4BbG3Q5x4GjKezNJMAF4IiPr7Nr98w4Eu6ko9W4/pxBBszTEymME/gD6ulDw9K06QE5Fw0LoIcSPe4kTO6NTKaZtUvMA4BfkxMGwxM992p0AJhXMUDFgI+Mp/jo10w07rwKULzQ4DQ+ncR3TFNYHXwC+ULNEGx208014CzpRG4EPZQ88AemY5MCdXo9nXFez8dYI2rIsY6d+H/qe6s7BHoaQzUp6aZu3LCJIy78DQ09lAFsI2vc6bYLNONwEBjTBIADfO4uU1eKfJK2iN8yQ6oKA5LPUY8rTI7LPxq+wGK9pqX6jOmHJo+lIFnK+Zw3Yar8O17Q4fw6NTNmwGLSSeLKuGyjQtLLDliS8s81I40TgiI6ClHKwzW8DHo4nd6nQIkYHzI00rOuSTMACj91VLFQj7895q44DTFQlw5TPqSn7E+UQJdABnc/WLH5ppQMz7o4nM/6k9IAH2LyqI1ixDYs8fj6sY5hj2QQKgz1xu+ep4Ok4EsJKE2H+uYZ84E2YUD9M86o5s0E1AIjLlVL/zor9TDnI6PnkLEPIKRTQz6I7aHgqM597K0878tBr6AmQ5pqqdQ1mwyUIzUGtGIzkABirGgIzOqeErBZwLeY8jQy9OOIMIEsKl4Lt42PU0FuwRr+NQ+3LNO70uyEYAIPw6DKYUdidK1joO8iaZq8lYw1M+7ZlDTMiNo44C3LD4H4eb4VS/+UJpLJVdkpTNnEwjQxNmPIEGbwxQbSwkGDl7XiPGBIVVRwyF/sMZ47hI2F3rwYpCvEjyTmQ1awpSlKfr9EIPzE36o4fY2NQx7w2k0BezB+w77y6d7ObTBQI/DaD7TJ7Q1VLJcH6qCxeQxcY+llp4rLvslylG+M1eOGnoxPp+K0yOLFJU5suGb9ou675rlzz2rXOjLDTTKWUAh05LQDHTMD44fw4rS/fQ9AQEEY4QABSsClTNbc6UrFpV0Jo/1AJkzhkE0YIIvuBKSKWi7uABiY7uAG+iOAUPIKdPaBrt11bOXKfwGGjqRRQ4dE7dTHhw12U6VI7xW40wz7o4mLLlZ/74xfY37kyhd/wyWtTOkkGOVdgEO4p3t7F7YEFTOhi0iY7Fw8tBVCADUhyFZ+A0xIJ+sq+p2LaLHY0HXppCAKbbOh01Bw5Gu1aw+8ibtTFEHkZxNVprqwz6uoIE/PwgtgAKQyeLFUQC6S804FWs0xhIgzHiUL+y9Tx1mKcXTPzLDnsRErMUTirB/3EzcIw8x8/njkwx+w1/4Hzwk0rHKw30w3fbpkzkUKWmu8LsHerN6d5MAFVYzXNOdOFlnC2Y2AkLLkLM4q6LP/+BQI5dTEZd/BIx8nr18TqIFZUxnLJdcS0G+XaxLw+/o3dw/QIM6o5QWKvMzXwMEw8YrIBcPGCwSCIywJqwNwrV02q7aqe47uGaTSUHo8qrGOIAJI+5qnUhGoMQYMMMrCUDDwb1Rw79LJpqidK1ybJiU/85A9y6mIzdo0e0ylQ9wU3u07EGKeF7ClHwyRt4+fw0uY01loQZpio/AXilw1EQLcM2A47ow7qw6e42fLAToKbiPyF2AH8YIsUWBW4yrTM6yTqu97owD0BQzPLALExDOcTTEw+cYPZ+VQ81agaw6/6LMm1Qoy9OPwQ4DOFJwOKSz9HPa45IECeSSzE6crG0o7orEH7zv03xuWpZ4sx5rJbwAH/LIHALAPAPWodSsBEJ6IUNw20oxUOxD6Cca0y0n1M4DTCdTHGnDi7zbYPl9vQwHaI7xuGDkACsxUvBjXN/sOCehIEEwAY2w1+hp/Q+f47UTguwyRU1Fa8+bJ2wyRww0Zk5MEEEL0IwPTDDW7QNz5L5JTLYSCiAMGUA/o3j3gOS3arOIY1gI+lIJCw42w6c0/bwwtw3foyNmJo+G0UwdQ9Gb2XE/XOMNZCEhkpY5Zgcv2yNmE5THz4wc22DLCV59nGx+IAtbGF3lVLPMOAviOpQPTY9JyXcszGRwdQ3p6ABY30w9p9jZTImLOm+KhNs8oxkE95uexoqQEyDuICDH3poFLISBAKo/AXpaY4QZqoKBIEO6mH1T3cjXuIyT47qlLbe7Gz3ZYzGkx2OZjAC4eBx440w2/J4kU7BicnI1H3W5e64ULxi43AMOR03sCEAPrww+l/8wHgzNZI2D4FkqcA4Cx3FQ8cIzMx13043P7xbI+rQ1jEJ6Yz0QLoMCtDwSb53GA4LJarcY6GxwH+IzOAIkowiTFXc5dcUYICbTAPwxkGoeY4uU0eD38lICT/QAG9Yw201OcU9TOjs8wSIZI3Pm87ObG44K4EqY/PTJpo1Zs3YaqqQ2orF4EMqhGcfCdEBd45mQ1/wx/NHvsf3Ex1cTRl/oEOnC2js1Yw6oC/bQ+QWuP8KcgNxYOwGH8UEAEAWIzMZtDM/ZRgtbB7h6tQ5SzN7TDN98Ewxv+zEE0HowxIzRxw8AGuY3swz5MOrdAAkH9OMvS/rCnAuHcs6nTAos6LM66LOJcxExFsF0sYluLKfw//08aUDyw5BOBhaMVYzLY8xQRZQwdQ/peMgzNVExMwD5w7ZbXMlifQw4y16E55wDCmsQrMfY2uQ67amr5i2Q/dTK42bc4+ryQBc1YI8Kd3lqs6UD6ukWoABGViDz6I7SY3mwwtbBdzMto4xIOUozAY6mQZOIE/gIVMWuQ+N09hI3wwAOS2xLE2QxcwKQ87vsin3t9gKlLEYI/oeLYFOdOFLUxlH5JbBG46HRnqY7UwxOLLZh52IxyQ0hM9YXGA4/fWGoI+N03N40766el24xI44PqK0jybxU0UY72ZyJw1ZS1vExg00tOB6EzwuGhWiGw0VTEOk2BoxylAu41lw/WhBlIzZmFg8X6YHaN9WLOlII4AN92ixMy7C81S8dUzKo9/N2n53oGxcwEAFHZHVNIFWkAPTDrw/7GwiY683UrTE7rOxwF/o0weYoFNQk4rOO0I+0YxSw9S4AWTQDQ+IADfoxg0wzS+cYKHRoeR8EM7OcSLEvGQxlI+ug2YI/Ik5guc1LDaJLibsezayo+dWABuktOEuQww3TTQKLw7UTlQeze44LEHCqKoKLGfXLYA/I7ExAQzLGff3E67al8AAfEBHeHG01LYqaUAzTIbTClUGH+iOx7+I1MIwjrNgKXxs2LvoUvMxwLx25tOP27d1RzHww7KRUANm41tOETGo0YFpuKyo7yva7YFu0Hk+BQ945TBdQq5o38lEJ26FAKuAETT4dw3p7oDQzll8gVxKI3B53RIMJwHuLEEYyPPM4U289R2EBIECaQzreJUvKzdCSLEBLHxTR2SKqHMgzJ6IZLQMTLEhPrsV8NZHS0LywJzzHuI7uGTtw08w48hD509Ro5HTIUvO6nNsw+4U20rBBQGXE+6mEuI3dJEFz37qKoKPExDmmImLP0w9jM4BJpExJwSG0b2b08pRM8I4e+NqkJnm2FR07rOpQ95I1vw2+w5LA5QwypAEYILeY/ia/RsK5IFKw6aZv3kza430qubo0ju9zcKUhL9I9OLGBozdKJu6Z1w7aJB/c8xc+ncQ4eCFkKzwJG6WtTOhcwVIy3TGoeMOLHRl0bNNGbXc5FHQ7cExtT1d7EER3LwwG+0xI8XQxyiAnYDSZ1WQFuw/EWFDw6epxXd3xFqiUDuwxPr5HH/S+j03eUFKPt8DTu5cNUSzMkJlWPel9qqfTzO8epSzIMx5lJ57YCNIAkk8mo2yEzE5MnQ/rCheiAD0Ato3DSwA4Bak9DYP47oYU1LU3nTNnW+HQyerGlQy4S5JI8vQ1/o5PG69wwWTe/OI3kzNQ65Qw1wztUOTY2CABPLB6qpkJIx4Cww9GI+yLwCB+HQ9z4zMZr6i1Ux/xuDwzI5IGjs0g4/Tw5ieLp0+UGn4wzCz/t7Jrexu8x4THSSIgUlFa5WK/lQxrbw8w0Ok53Q9TeM7qunge6mLmF2OVeJQwqI1dOG9bP/AIYU4euC1Q2IIze44h4tzd8y0guw7Dwx54IiyV2U5Onf7mCRQwNTDMADkw4/LBDpruSQSyKwk68Y3FT6mkwK07QwLpPNFTC1M5ioxQrJ3Q0d7AtQ/LC297B+ICgb91w+P79s917YBefDHTHWLJfw2A40erEbyUU2yUvIHQJo+AhY+OcARFxwAAZwyny4mLJyo3Rqc6yTGmlo4zZ1yTk9p9sFQw+AfwyTuALTI12rAx6dJbMdLJUvM5Q3563wAHQ4xhU3ewwxw4urr9LFgI/HMK8Y0cgh2D9L485ucDsGlrsoo/Dhy8wxYw9SSOMYynuxlTNYO4M4+MQMxwCcgPWYtHw0Xm42+3jeDuxxiw+zM5CrAr5sLY/pZu97AdQ5DcoLEEpw/QHPCI4gUh/KATy7xuNEy/aqHhLv/+G1YzxbF/w8O9/lWuuSbyvVNgDui7OLEWoFCrLVTJo4LvIvOLMH4+s+6mk20o0mLGoMdUiMkxHJ41AgHBLBHNy8eEQc9wzFl+7uGYh4hG4x2SHFo/SS3TQAw45g54i0/In1/oymt5AGoDTN3S9B+ImBiwkI3AOQ4Ez8+VlqsrHnsL2w73z7EAKGAULEyIIGw61+bMfY5PIz4ACe0NqqUm8TiUnqi92Az5E+FTIbm9Am3+o+nQHCYgDZESxw8w9jh4dw+/TJPIwpMz4AFjE2OqaXiqjfus+/wwIIxHuwMrQwWTV/w/eW2nw85udjH5Iz9GNxkYwqlA7V19cZaqFBw7JsB6JOrsEjw8ZQ0ZxJdTHHo+0I9tTI440X44T40N4wIm+UGr9LArc3042zydHQEQzKAUESw/+RwA4JeQ1CnxQ4CxY3cYi9YhCCFc4/CI+P7xoQJyw0eE4Nt6bpniI3XO0TGnPiL3TO6nIHugfLM1Z28Y8wwH9OHbK+JmDKo+h0760qhw8r3bYUIHaCya1bUJ9q5kt2TWyUw8C4HY0M8K7VB2OIJlTM6UOqLtVueaxwwI02LD1SWyY/iG7EAC4eOngU1d23oz7oDGLNwrSMw23o2+3OIkHB5yg48Lk6iUFMtnSI1UQIlwyHTMEMwcsJlTOnM/C0ERWz1o5iwLYSEQM6Y+NXoIpTN9sHCi0npq8owKXJ9TBDeOf+1ixI4456iw/w+K0yyQx/NG9uGOLAjQ4kI7Oc/TwxQbcYMIrQ3UXrQoxG4OSFP1ADrw8by+cI1xbMoqXgM2cJMTGmGrGYI4JLBhPbU0MaUObTPa40a5+Xa9aQ8fowCwzO0F2U45w4euNyEwbRHPo/qNyxM5czz+i9DMxRexiwyp8N8U6xyIpTGlQFXF+jQ5nTBhU6QE8c02+QzBB+8iVPIPhwPpUxfk2KlNpczywE1AGYUyqI6XYEuLHq49Ro/fYLFnPhLAj48m45pLKZrnTTPXpteQ0z89pUIq4zEIwVIwP4KKlIM001TMZLNL4zSePKEEdEVDw9iguKY+0Y9B+FVcGx21L/nJo1NIHOcRpDxbI9rTCZw7ZACP8wBGfzU40YGgY9HQDN5YJLJlO0ilPLD2hE5jAEyY0tQyl7vUYyCABpY0qwPyb5CyNmTr7I92nFnQ3ZYyJQoOxmzTEwAdDkNMbwaI53ICzc4p6mGrHeU2XOgYMMPz5nTK51/UTyXTH5Y4lw3arGhLJkJDTwCIxHFQ2o4+cI/AXnN++6nPdSCMwxVpZkOp3Q0QFDoozLK+5n5vOwbk7O4Hgz3rTCIJdLLIFCepox9QLslC8npoE+McwNe3ZUyNOEiYzsB70uL9Iz0/ekkHIjy285w4G9uDQly2Y19gPgAPmF5CvFpw/oELhsLfc2He8Eo6xAMK28n435E99LCUDMdOGRwHNLOlw9EOB+IAdQ7C23ah+1V1XQyqI7+I/QwDTySeLHj3rVJ4q2xSsKLM4nYHzEfQwCiAKnLACqxW4xwAJzzC5LAtTG0gD1Ixnw3Mm0m8dfo+bTNIfKXQzBQyilK4rM5U2CALTIwQvA8d1G7+XHeYOUmLJsuHkroIE79cWhE7hU61owWs4h4lOT3PSdVpklQ/dTOuk1P135Y16r7e6J/9+PE1w6kwAcpRGAkFhLPY5FeKckxOKY3gzI/44x2E9w5pFw5YhCRnOIFdpkQzGWG4BB3xLC6Iwpy02LPvi/czynKS6YJrN8iq67k1bUMcwyH9N9LGXn9VQ966b9TCT0+QWin8BcY11bMw400rI3ozfAgGo2SjWsZ4dQ1qQ/MGMoa124NZF9EOPCYtQEGoExSlDOOAaV0LE2Lj/CEzv18FAHdw50APNADLQwSSxoQPxQ93S0ahDkOExhG0I0zTP5UwFw9IwEgs6CABqrH3yUhc7sV5eQ2AsOAEJKEzbnwdQ/S+mo47XY6nLKqw9gEJe4yEI4ywIWTH14Nww50o/sxLTI4AM/JQ0ahNko23urtQzpuscwzkUOJTKDalwEAtQz503mTyHqsqo1kNJPamvw0iNSZs760jry+EUO+oxjQ9WLEW42K7F3453a4IAO3KST48RwKwYP0lLYi2QQIyYwDSqvYLvQ+0rA4eOIwFl0MUI7hI0LUPm0PuE0YrArTBII1si5DOIUAhXAGVw/CE057xak/Tw91wxC4z6Swd7JnQBjQxGN540CdJ+RIGDLPpLA/w+bo5awJx04XGIjpk1TIiw+6Q9K9wK0//4NeiRG436Y1+swskKGPKpbFMtvjQ+zwZByB4QEtl79LLv0xdIBCbLWw8ZLIJomlTC/D69l+yaJmDufoxUvA/UNsw5jXEfuGak4Dk166VsI33oNK47v04Tk+DpvAXi9OGWgHXwwXTA/IyIIPra1PTN1n7fc++IGSjVrx7jw4qIyqMAqIwjw92QxJQ5nQEsWmFIPOKOxwHz43lTCtsFLo+yaOoZhdzIdo7YeJqU9aJP4FK7KBQ64G4+P8LLm5Az9nLDhV+Oo01oM6yfhLNjM3EIrhUzoox2QyBbNoM0fdyZqLqQAviOjcbIIx97Hfy/2Y2xAIl0CeI98GROLKfB1MI7JC0m8XhwJtw8Fojrw7mY3co80p3R9x0QFPWIhNrClIJ8M7WPVs8Ew8Zbw9gGew32LOhi0G4kXLFdprTI11phTceG00wkyBc3IElOo+VQ6FAJuHy+W11plZIKc2kWUO97B2QzFbJbTBwUH/qWLzx2Q6UZuv79D89qIwZw25QxjXCRU/yLl3EyhD+xFtkoy2Q7wABeLHtY77qFsYmz4xfkzc01S4FZI//R9QEH8Y9XTDbYI0w3Rw2ngHSSLKqT5b3CW8uLBTTGQQFVY1PTCi3IhIwUb8XTGCC/W0GbL4oFG2o+E10usCC/qfqfAasIw6Dar1oI3o5CKB47hCCIeLHylApiT5mOcYIiC8Hw9Ksx4w5QWDAY2hLNXMV3Bx9TEuE5kOtsw72w/I03wyfg4wB++M5J7TCck4hNkwAR6quzLMnQ244+jo8yYM5w386wxLFYw4Q1q7YC5LHwASdEH+o7QENRwE4R7KgODPGDOC4eAe7yXYE800YAAewxak3pYSCgBrE4dSmGKFLDxTIwOSyUl/EY2cQLVo7IK6VIfhLE0UIJ8HIZlqQ8rTOpo9BZn7qI+Grqw7aqEweUXLOIMD9HP3sb5n8bTCtQ0ywIfYxQd9fs+IkJ8o9U42o42EH94a49QFMtj9CxezFlojOOFVcPmmxjXO4UzhYE9m2krKO086o6+ey7Q3UM5WqQ1TLuUKTQ01TE801U4nqI+arJ6ixfY/BgNTIleLGEk3K1xjh8HTIJLONw2EI0Wpp6Y4UAH5oOIwOeLMZ6EwuAiI6ON0dwxcYxXnK7auAy8GULi4PTnP38P7AIXIzhw8Z45SzBJQ/jQ7LQ8k488fKPWMwYZUm/9EGTl0UvJWLP2ULAT7TG15J0FUJiU0pTHU9zXwMi2vpZoFCWVQ3uLJrcATeOhotD8xLG+lIBYa6NT1ybEOLPorIJ4xIj1TYhA5Q2+LylNUE2qQ+aQ8DLFEAADShVzQZw/2i9jh4DSmyE8Iw5tLFPWDaJHhw3HYJe6qBQ/6wP/u5SzCe53lU3hw6th0sx3lqllTJd7N7UzhYJtLLaJA8s25Q06W3qI2EKuQ4GlLItTM8owyD7wzNso+Hw4oFEBw3DTAAF7BUCJZr7I33oGBrLiI4Cn+NZJZ03zwsxy6KwyZeGk0I2b1xbCyQxNmJ29MNzzU19nUyxLG49BGQwB04eY5vQyxDBSE/peIQai1M09s8fwq3uN/n9wY2+UD5Q0NbCxM6dmG5LGLkpHTOlw6d+NwU2tOKCABbzCH2w8w038Jtx1Ws3dJGII+i12S2zMAJ3I3hkHc5Ez8KmQYmLM3OXIEOqN5XTPJQ/ZRt1xP5TEz8wqG49q4mJLCrMb7m0E7+8GTZwXTGkq14ABYALr4xHeKYM27LJXQ9d7FgEKLw98UIUc5Dpm5I7xU5NXD1xyQ0PgAMLsKGLJSzMxY+rHwjTJIIAZZrJALIw2j3onE0Je1iej5D/oj9hu9u02awzx8TAY3xFmcV5Kw2OQ4+FwFw6cI2NQ3lUwBjr/YzkE7/h9fiGuXmOqYES24AKhoPoEAz4xSlIeLASUCdEOcu+97Ew450AEDptfO+VQ01w22o30lGcsV49AdxAJI19gNsAE1TLBQzVO/iDzIKBqk3zEcpH5vO67k/upze4zZmOZI2P4xWuQiYxlIyZTMTGizolyw2CC0sYl/sJbTF9gG6RysY1MluzwU3sPIY2xIx0ACdEFgEPCi3983mLAJ4+IwMgzPsxN+bB2EBx4856TGLOaQ5wSAwzGQO20vAJIPiC0IEB6w8H46lTBirCeI+Y4POSzkUDqp54y3bY/WY5LA7RowY4xJR2ngPDaBHQ1U4iZIwPJ4vuCBc9eLK8jd6LlLU/TzGgI1ixF8APua8myyeI7cUBrI0RTEyw1kNHxM+UxBu2xd7GcsclLLibvC45JbAHAEhPh/k7ZAM4rKMODxwLbTD5MAKo/rd76a/To5pqoBYqoKE8iJIIH5pjKo7PQ2tOG9x1IZuOcYeY2Z6TYs114LGQLtQynKbhU94FM4w3yoWcpzGE0qOWYUzXE38jv4Mo/LI1k0QzE8wzTq/GQKZo3HAvuwzGqkKmgBY13auQWppVVJkyIc5AuA/TPJowbIAVLDkrgnw/qI0+u3fwkxuGMFB5mNnrdpbGo6NNdwASAVw0f0KmIyJZ+RhIDV2QuuEUImE8po0WUBSEyek/XOHRLNiwJ/d7EGOpQAASE1oA7Kcg+GbI/lWj6w9TOCwy1aHygzK7LBbTJNXKJxLOLGdoLZAGOQ/1kMY6N4AOVJhACKTS1Ho/C6/ybwqHXCqFUDDmIEyY8CABOLGcfA3mCcUL9TJIEIywM7mGOVQ4LFBwzinrfANhD+UGg2E2S8bxU+2V+kAKNc7oELhwAMukylI/4x5e1CG2vw54E3nTMZ6C79Z29LLTKsQJAI8AN+QcYt57M+EZx0nJLe6HcrOKaZbTJio0802kw9a5BhPI7NxrY1EHtD57zK95Q3SSOMwMUI3VTBStwgEC245fTGgI6Xih3kxoQFbuEUSZs0EbQ8Cn3HAh2OeQWpCQJGt6B76dRa7YBHQ37E0IEC0FFS4B9QD1b7MlDJE30eKhoCtQ68jZ14yIC2FIAhusM001LLHm33yUNl4nYCMk2iS3uBxp82cUxHi/+ExZI5ZQEqw46s6ij3bpw+cTVF/iAPMGEjw1zkJJI0Nezwo7YSF4E1lI/pZ216dCD2oIxhX1oo3ZACS+zVTImI9i5CHTBrY9ZIzpx1KN7yvUwAbpub0KTrw3J+P/00jprEeGaw/LowA4K1o94FJFw9Ro5aY597FiUraIuLI8QEGsswnt8tBRiY67asH43nwIBJuUGs+rluQ2gkNmZ2LLKUVSwI7slAY41nrZWO6+I3amgpYoJk2KlDNSFuk2gkKQE9Qk1MlmDEMvAIOk7iQ1/ANO77aY6Vx/yw3cs4ip4sU65zwYALwE3WLKqfc14wK00tQ0BiPuwxbIxhoIZwxYrLBl01li5ox/k1sYjKrMZLJrz38D/icypLGfk124AJotzLOcIwHY8Z42yE67KHjeE0oz2I9PaFqQ6XirylI1AKC3zst1ZLKSkwtY2ea88orNICkOKhw00rEn1oQrD1IydTHlTOQcauUMdCwHALrw1Do7zh/rM4V5C6iJdTKyQ/5wx+s6zI6DKen4wcIM/wxo+JWo4voKe4w+cbPJ5Z+9TYvGX+arK1I+JQ3xTXClzHTQC4MOLLCS9K0yU6wgu20rDyUwyok5I+sz2SQMne/fYAbk02zNuvWqS4sH4dizUGmF3p4K0/i+rccXTCuOImI8zkx6w3Woy97E+khiYypAH3yTjCpCSZGQ9bx+bTHX4nURxKw848b0TFclNyLz4u77e4lyyMkD+QxoQIKUJgw+P4xjXJ8E7RUBoawqVxGw/OkGOc2YUDa449LBv47vQ8M00LE/CE5srdYrG0rL5rkwj8dODYs+lw4vLC8s20gD4OKaUOdM+10wMlBzEMr3ZW49B44eLE+qBOIPO6PNk5kzowAIFmLuAFlI5xC1EKUbIPmS+FTANkAyD4mI0PwwBY1yQ45Q7Iw5/APmQkX4x9I1lTPJzwhLORFhxoqQo5DcoWr+FQCMIy6iApM7zQ43o2te1Bd+jLHCgKDKUxX+YY38jgfV2nWMGLBBS0NVo1Q+J47KY8A4G6ABXAPpeHYamhY8QrEf40MIxLGpL6MYY43k6mI5VI1vExK/grTMLsGQWJe452kB4QN8o/WqlZIGj3r7I8c00NV3qY29ITDeCbL1WJMZ6KM8HokzMkFv4KlTHPey3w3ZHUNVierOwI/2iFOrHhLvBgAOI2SQB8xtwxCwI7gO8iNn9OO5cAmQw+ASWiG9uAmQxA5Xew+ZI9uvZtwwa44J8Mbx75k1EKWGKDIKcaUBqwA0Fz6ugKrMKnyerF+bNJyXq4+4EM7Y3KM5ywyboFCAGBbiFkBPLDOUONQ5Qw6uYz2IyEh6vy+Vll2U3z4yGw1Dpv7OUpY2uXhXAM8+ObsIdD3crBBs58E3T4/pU3pYThQilTBFOzqIHCYh5IFjI7/U5ZLHerDwEL/sLVZCtQ2oxCIJ9EOAuE62mHraJExP6rOzMw0ZptLB8yFNwQCo5v42esAhw8r3YLSdyE3uLDIKRMIMOk8Z48k49A086yQmQ9m42Io0cghEE1OSqWUO0LMlY7tAMr3W/6yen/sE8xFphTOXa/IKfJQ5ylPhLJG453Q5RE1C7qpIP/061Izk85ex5FI2fLHGnEOk2oxClUMqtMEAHwE2MFKSJ4XSJx4DGqkSo2w65/ABKQtUvDDTBSsEBw554JsTMzY5jk9E4yeLEQc4J4/UY+ZY2OVTEj34s5NS1LUwyE7PQzDTDx8zAJ7EGOjcWgkLFw4dwyVTMxYy24w24KxLG/eC1LKm8xCQGrQ+3KbcAbpTGUQLQwEDQ1UDKmgDKe1TQ+rsFgAOyaAEoN1xHuLOFQHwo3OG3Nx81LB2SE5Z38lFSHq8F3Yav0byipzmqY/TJ2w9ZI3Vx1/EwUH7VZFnQz2KYHaJ49+6mO4AI6IwykKbYAD0FbSE0CRIIzk9zuw2grBpo3M2+Ew9qoLVTKXQ7uUIUdi5s6y+4HmDkUGvwy0FFc43Ho4jyf2Y3ZossUwoAGcfHLyWz43+o+fo6jftKQxTS9rU2YU4CDMVa2hE1Rw6uAPMJ77YN4Z0bIFCrMJ2Ww64FbBDo7ZeE7cwCDMmDmUQLe86GJBhw2eYw6oyzC3j3qxw9YmLb48MV8LY5UVe0I78lPCE9nUzNSMvLN2Y19cRIrAamLG0KqxEsYq190tOAGo5605u8PvcYzygzTBiY4SBGl70Kmgd7CMidC45/w4QAOOOSAY2aehJk4BbIuIEczhFTNwzCN8C8x57TGb9nY45eIzBq4X679cWOVcyw4pIwdQ0zcU38G2LMM00G4pVTCmMAaw3IEE9Q7p04LI7QzHj3onYJv417ZRr6N2Q67YL2I41LIIAOLV3O28dlLvasxQYK4J6Y2cfLwWzvB3+bMaUHFLAC4xMIMqo5Jaqqj35E66GRCbAh0xIIyGwxPQ3HQ21LKHosiwxIrJbBwxLCrTNu4xwIPorBtI85HLe6KXy5MI24ZfFX2c+LII8+bN9LG2c5/cU2Q+Ls+EwzLOAKAK5yRQzDH31ZUxSEyGwKsd1Lo3lHzuAENbOhEy7U4srLZj6qw6yL2zTM7mImI20U7wzOp2K358iZKQo/lQ86hbUTuhm4RK6zIwfLI2Q5iowhw45Y1LYjou9TOKEU+NZBUAAWTa7ajHQwcsHaIzrTJ3SzqcM3OZmDmuQ2zy1JiR+bBNC7bU9jU1T06pcH3uNRo5AI6BbCqfVrxMEL/UTksnbts9bQ1XcyKGzFUKxjArD8bTImI5Ow21w+OcIOcNI+297F87pjXHIEpkI+hAFP1gen0/wtFByZM9P4HX4sezUml0g4xUvG+LEtPpXPOB/Xxo4D46GkPGQI2QzSw4RQPKMrBUPWwwviC+Jukn6uY21I7ClMhN3nsKAI3S6N3OTimsdOLL45iczfoy1Q55Qwey1WJJMLOWkwzhobTM1I8Ua0N482yyw85Ceh4c/OrPiayWTwTeDm9zPTObQHatyMiem+MalEBD83OS2M7u0yWLL2owYMEnpshQx5LPUI+RFnuLH1o91TDTyUsnQ8cPJgRirJf7774BnQ6PWlo4++7JMLAKrPNW8sw6MI5tTJ2kBOINAzLHS6OKx+RmH+BQy4isysa7GQ4oPxK/lPk4do3G02WQx6E2nced7C0AE1t/xQ/pLB+IMFAMDLEuyMwj9OLCBIy2Q3MltHlvqSlTG/540ilFQI39E1U30Jkz2I2uY5v4zXo5Ceu8I+/o5SStU5uek1dTL74NxYMTS8lwzxVxzuLBQ4DTP+UNkZHBLJbTOAUCzWK42aQE9F3zhw3cr5iU9K0xkGonMzKrJqrLqQBCCJ54D2w3jeJTC7Iw8TLLIq7BUCew7ennJ48IE7WY149N7TFmL0FTM+rgnkF228UDHHQ+6h3ZY3QIGyE3gOy6PKko8nI076x+2NQq9hw5lTAJp8DI0aow05XxTSHUzGo0NQ/US6471CrAw3X9E+RmJkAM5wxd43O701N5o4LO4H9E1eKQOE7wYuBmylcZf486YExhI2wy6YM+bF+bKAowhFLzQ6Pwxnw/+wyQ42IoNoMzLQ4VAH0qv9EDaJNpG6dQyCgE9Q2dOGtTErC4do3WozreM1asHw3SSLv87eY5XPGFKAPw3xY3eU0N3e0rC1M4VbJ5rnsw0qY+D02VcHyoTwo4vs+442doBXTETi/ExOAzORmP842w6+zLBcY1w6h6LEym1lwxfw3O298V3K7/sp/qN38E2lrpo+PW4zeU5v16cAEkw31Y2GKC34/5C0Ho0ObzimjP699sOG2M4w5TkAaIyrTER4Odps8s3eIYuICPnFpQzWFwOS8YMHXLJLAxHQ13ptqI1ilCRU9kx9WI92TPlTH3Y5fw1DTDWI63e54aFD71RwyQ4zRl6Pz+5b9FTHuI/JbxznjBNXcL/TzNfO9tACWI5fw/W460rM7OcZQ35LD9Xy6I/bQ4BJmTTAfEDQw8dTNtQ6OcLR67hI+jcVdpgHTJCI+IwI6iJ7YJoC7OwLeY6ywCfmf1kGcfNUiB47mII9Swy7TJQzFylI6b+lwxJM/jlzCmm7ky7TBU7BIELBQ0rTErE56V1Gz6vwze29selaQ0Px9ZTGEKo1S7io/YeKA7gpMg0Zjdo8nJArb4LLIiybcE9nU1fE7yP2DECUDBEW2arLMlC+fBZQ3T420E4KYgWw2JTNZAFfTL2BKyQ149II1sohNQOQD7G0U3xo+UQLFk9yD5IxBKkAwIx4rNu0zTyWpQHFQ/lQxiw0Qc7FUxFG+GyE8wxDIzljwYa1NAFY013Exfq7Go8dOMDsJcxGz81aT+EwxZI9sAFKFwto8wo87Y6xLPDTClw4yd6TST6I5ZQ/9+5wMGBo7Vo444Br6ImZyksDxMPrwzZmP4Mufo0gzMr03m46VIzxKyQEDIKEsw49U8lIjGkOpo+8rEe40/gJmHFHw/9VMDI/6wBWaz0G3/48GwP7qESE2DOzFpoQZpgEOUC3OcezM9sxJ079J23nsHc5MBEHfboSwxSEwNXGII+xjk8wNaw4VbEn1u0/SJ91WkJyo5tw5VuAovsfwimU7OLC/1167salGxj7EkFvI314IpY5TTEoE01oEoEzKo2P47CrOX4NJTGYMOUFNhUCRwGYMBpY5BOCck/AF/QAMqo40TlEKd4yLBULxwy6q8rY1bTF7TJmDgAkMrY1iUmb9gnw8uMxvomVQzWCYRLMBmDYI8OrJPE9XSHkwyt83+I1jI2dE+FQMqo3xCxQ4D9HGsz9sAERwM4w/jAJWw5pqovLJD57L+1Y0xII/WY/D8fxuBJ8HbO5OoMQR5LHizoidx9swzhOuy50oE349zxwB0QPU43qY/C4+8eoUdi/Y0Muf+UI7G3/TIjuCVTNDkGmM9vTOlTMThyeI/OS7e6AQQFL/mpQF+G6dmFc4zV21gANVI6Jo0cG2LrSpfZo+Jc4yFTJbwMI6x5TKOqLC374mkmUpKgNU5iEIz4qIPw9xQ4XSE7/Mf4w1ACzWIeuELLD+kz1STLQ/l7+nSZ4UxLzrFU8uLOeLEWF+qLiTTOwGKQezwzHrTM8fO9RMQELLwDwzHYE6FJxPTG3KeuozhYD2w+BGG3Q85s1IZpMACEABgQMohO+IPCYkahE0rEji5otwJILh4z1I0tPp6i2oIySrDJAPNk3YrDl6S4w5yD/XOMdU91xG+LCZw8p/NEOOdTBJ8Fv4GRY8rO6+I/XqxLGsUI98UMotyerD/orgDy3LN2o25LMRN0zTFfTOTQ/pZsVe52LBVpckS6cbwxWxCqAdQ1VY5rI68jRMICUDChUFHgFtLGdEw/UFiM4RQPCts6Y2nWHaI6cAIOQ5sE3Jb1YFAarJdzxSw9rU6NLE5MLaIzl08V+5JbNPaLc45eltwre8eh5LKcrFb96srMXxPmG7NICjt7sxJiW1UuCx3PvcWZLE/m7NohKI1MibQzzJE46G6pIDwECWEwe80XLN7o6in2lroRQNZB8BEPQAOpb1eLBucE+Q+KY+FQKW8+MwOQcamgFF12no7LQ8cw774HIZgto/tEzx8RwyLu0zBQ0tODkOCCgJ0sxhoMpREe44JohxbKt84xN9AQBmI4AFAh01uQ1oo715zTxBezBVzauY0qwy7QyT462mNEIEtPk4ACEwwVw/W42ZbP9iz1TN2AzhsKEU1uiCqD89TA5Q6swxUANHQBExKcrFYwxE+Ef0ITk7BHk8J18I8O+qtOLpu94yKvZ7S117ZWN+5xe++Q/orLpouUwG0U2PRB5o2ip5wEMtBbUTjwN5x4JeP7UTu7t1Rlw8w5VC5srd2A7sxLII2/ywhFGoMbbTENYPxwFWLD+Q1OrC5I4Nw6dY+Em9wrZSlJyo7pTClTOdTFyXzDeGKlKDKRo9ylTI/LHqY9xQ4kwyxM5oy/t8wZZiHTK3TAsh5ywyfY+xn6dY2TTAJoxzLJyw50AOxn48xGLbBzNF4w/RLAWI4gE/vJwzhi5GwdYFiejW8PbQ0PYwtszavDRC79TNUvHoF5KgEG38qrFpY5CvCVTMdYAtYyRC2d7M04KyooJLFbE4qIy+JthY1g8UnQ+MYlTo4I4/rCh/k7G0BqrKH79+gMuLCdEJ7YICs5LA0DsgrwKkZzHkOCUwVwwB18ohJb25po+4UxpT85U7VZFTB0g445IM04HbkwOI/xBz5Ixx4zPTGo4zFwzhhyxLPow2W0GamvZRlC8S23/lQ0ww3amskxKFBdm4zXwNTeEKmnwAThsIVMwxowymmBoyZw+ZY+jLhrIwbRCAB6ExC3LK+S/955cwOngV1w6PWkso2z42NZ0+hG4T8H4wnYNMz2VQ0zw+J470uJ6MPXS1+bHPQ3J+HeLFpY9Jyay8YOcOh09NU9Ewwdo8q7qxo0zwzvawKUNu02/I8XP3+rwcI2bw07a0YqETGrVo3UXofY2QQCbTIxPw+qxeQ8DTBK/hRyTijRnwxwUG49LUEOR3y0FGcmutm9+bBQ4IAU0G4oDQylw8mL2lQ/mNfzTC3BSFkBIAFDH9IfCdeOUP+QWomLCMwyZwxnLN2nM4rCXTH/TBVWuXKQN25XLMk43raCSrLu0/po1C8d+bF/w+aU3CgMIw4wwKoycCIzpADEI2hE9LLCJXxex/ZQ7q4whY0VQ/OL7TwOfo8T6yZeKmGgWU6nLAfoznsTyUwW6Q8k+gDCJ8/3sRpRyilKvYEsw37EwSEyi4PH3jBQ+ZYxDpkbY7oicdLPJQ7Qo0HIUsC7DwwBusO4DuVx/wzWCYR6AdbHFLEFUKVI9sxLVZD8AJPk2mwyboE1lhdINhM8UI9OLLsxKpTKwAM1Qzv073LAfLOEw2pwACyzQILEkO9o+Zwz4y1bgiNG7sn1FG1XQy2Q5+N3Zo6mgNUEyq26uk3MlgiI1/ow2b2BOM5TDUh1FY3Yv2W0NnXCWx6VI/OkGYjLY5aLSbKY7kDzuw3SMBeGQymqwE8iBCnd+MGwTeGo437qIAzzOLF8KEUvB+bOX8xwrhefNww5zUAfK+AKFUvBYINTIuLIwyrHuACEwxvovOd1EHhp4zlAHwAYsrN9ZY5Q62zt5iL0TLt49ww1iIqSTC4w3c5NlAAfGHpYcdYKM8J0AKPWFHQyn3pzcZF6pVw0KmnIZiFoi8eF1IxPUNloLJIHwAfb5JdACghxIeNuSCXTGno3sQvZfcTzwtTOK4368w4008iLfrxEE9RSwB7PdX9B+PH+ESwyQ40so9BIypfWxN0LBHJ44DTNWZ9qqUQzPhwM3W3FIy/Yy4u5JKZGQ3ZojN5SEI2Ww3lI2FKNII2P41aKQ5d5JKYBcJZLNuLKLM6c2jhsATzxjW1EQFeOKBw0AFHe89vTNXoyvHArn8YIiQ4yW9+ZIw6XxjTGEO6LR2dOEYqGpY2aepaF1NwXSSPye99sGTADfQzlAG1w1Rl9ww53Q9+GzXwAjQxcIBZQwBGeeLAAc3uAAcIPJozAEBbQP4Mheo+powwwEVAEVh7yvZrJaCM9TIvPLH8Y/AI2dOA1M7+a6xLL+Izx8bxUx6qhYACRQ99R3Tx6SH1+u3VY5Z0yNk2LrfOKAJICNOJ7QzLQ9L/FNOBJQHBw3kriuOG4Pza4xr6Ef0LrwzGn8YMN/mxjxw3akRohtI2XOpaSs8og8w7ExLRUDFUG7TtxH6vYE+hJ446GkCdTLz8yo7quACn8BA8VPTKFTBeLEQFF0w1rX9HSbUw8AYzjQ7ZIxQbRH/k0AOyaOlw3IZt+ULLLHClM5uX/Ew24MAY0sYnD7hRwPlQ4lw16E4e+BI8xCCBqyysYzui7rTPWYrrwzvI86b5/w1/iIjQETTGlLPsEwGo8YixJM/uN1r80e4/GQBbzJ2kHrN9wrW3TF24AQvBrM4PrL9TII48g79BI4tTE7rMLY2Ek+6G0mLCzo7R73UI8H44tbO+a8LQKsw7YeLdBnzt6EI1clLE+JvBFP5lZAGBMLbXUvyd6LnHwNaw3tY3Rw2H+vaw2doAqIwSu/p997o6+QF+hjyouxY6H4Pyw+ZUxhsM6yTCE65ybREyNSwfF0Dl4FSxcu/CYv614QAB3ICbF7liw2YjSw9qI6qHHwATmcPpo1lIy7QxYw3PSZWkxzQMUWG49BWIzmzxqwNVQ7RUGPRBC4z6wBp44U22h3yDOKOqCN8CdK6ZwG6UAYAAaa4N+91TGAkM3OV2884rBRwByiM1AG44/vLPoe/po86b0So9+UDtShUbvkxNZI0dmRnw3T4yCgEqRhp43Ev21EOzw5sIkywCNIDKnSMkEpL+YIKGLM+LKXQ73LLlTCtI+NvyQ4yb4+jcbwAPMY+lljxs2cJDTxHwo+bsN6BFiUgdQ0NbCMozWCQXEFAC7xuD8C/x6P3y1JiemY72w1Y2+Q1kIk+ce9G7M+KNpeCXYDq63jQ5rJRVzYWTJeSPJQ8oEG+3DXo68o5zcYFbEkw/aQwd7H+sxOILsI2rphezIOxkYrO82zkw+V+zsI/+SgZTIwT3ZU2o18BEGDQyQU0R0+LXOzeDBQ6wAPwQyoEBEkC/YxL8+FQC+UCtsJ40LoECyx75k0bIPwQ65ICYF6nUxwrkX41Oowes2W0KPWqEfHkwwfe3Jo+8iVZH0rQ7M4vbwzRY8vQ9pw7L46Vk5SlD4qN/sN2A3049VTPbQw7c9pw2gI39v3gM3UQNubOFQDNBxPHxeiL4rMdlLc4+FQOvLPH+DhYP/+KU8LnOwA4KcmiT01arLdBu5FFDY1P2/CI3S0NXTNTOLFU9CAJW46cI8b6CwkATeLLLKSkyRQ+9RFQo8YImDQ23iBPu7ZI7wSKyb71oORFgHpzDTDTs31YxPq+9TODaRI8a42coYhtw1McGeI0YI9sDO+nmamnVTCl7rwzMNb7hU7wSBvonQI14E0ub804OnwzDTJ0ow404bTO+nizoumUCi4Bg417LLHLMN8fBW/bzwHAHyoUOLKzw5Fd2uyVC7hLGhrs0LoPzTAtgBKkFYK2/69IAB1Q3ZoqbiHnTIhIzTEx4TN9sB4rAwup40ILLAirHUI5ZAA8wzZrin3giz6STIHa3ZT4PrF4FIEsJG4/Darf45BY39q+3Mx9mxwyFEaz6wDAY24EA0UwPAv365zcTI58LsGb9jMa4MyLcE4/TAdxE+krcTullvwp6vwyXTFbb5jANklOEEx5W0+hA2Yp/ANqkEWLFZAF9cTDeMwzPJYjcG0WoEvyY9yZio1JiX2Q8K4Me0zDeFFY42LKnTN7l8nJCdKzpxzxI38jidePkxL5QE5THSv4HaI1S13aqA7K4rADZApR4SwwwI9vw8fI3RIHoq1Lo1tOGcfH8jskOQ4LGF3hoEDjIPlMxfcVv4CVTAfEHfbtVQ7ennwZ/sE4RQBakxwf476WIwGN97q42Hn4kI/0lMgzCNODTwK3TMiKU3u2WQ2k0JSSqHh4Max+IEVQ5v4+/o9wECVCzqICBn57TK7k78u6zI9Pk9eLAPAvoeBLR3ZHdBGz7oNXSMtBS1Y13M9Y1/9QBM19GI2Vw3WLH3plP5jsIymU+dpsy0teZwaI0QAHeLLu0124KmppAFCCAJUs7LK4QAAJLCEAHNY5KE0ao7U0L0I1UvE4ImYU2AzEWTQNXKLLOEwz0QLbE54lyk04rwLHr55I1oo/zcxII1k4/DTMFAPNKMvm+/TPAEOO0x2EDlAFY0/b87TI91TETJzdI/fWJBj/mM31Y5GQ1CAMlAX522IV2t7xVt9TeAa22OQwD0BDplIR78AAJ4x6w/TkJ34x7w6FdKaYHYFMqrwJ4zZrj0/cwo4R6AGo3orHlU774PIEmKBMyG9VmE691lo0mw65ZwYlXZY4TkySrFCAOfoyZl8c02k0CAwwkxCKQxpo7vsqyozreCtiMauPPv/JQzFQxQ4CYo1HQzGI0cgk803OcWcU2/3ExE9vw1HgFxYz+I9pbAD7AZGxefEZeHCYuW4IrQwv/jQw/2UDSeHmLC4eJiwMPTNsIwj40WY6WUJ8o8BmIVTAE75lWAm6kZeLhI/mgP/GwwzOdWNfO+RIBQ3XWuR+RnAuDxfNZAKCAF56KJ41gEKEfKe4+CXxG4BzXiNmCTYD9KyvByzWFS4Gz46RYOVJmesODabiQ9DM7cTo1QwskOzwUOw0skEKwHNOKyo/gENpQ9Ro4TPBPUKMOPMepdkI0l2KS8guQWTUeQGGM3wAWDkD+Q4pKOOcCBc2gAJMkxo+EYAGamuzw6Bw6iUHGnMdOCUI/lWrxcfqrEpYzuw2gewButqoDJbDbYDyVz8AFe2592wiY9d7DOUDdu9JbCn8OoVwe426iHRwy6I8c02iAGNOJaSl0wy78NPEgqwL1oEpbC0FAbRIkw1ybJG41hLJ7YEWLBpRmco1EHr9n9Cm8y4GQ0hZ+8h75bQIfc58o8EM5R2zkUKA7DgkLtw7kiE7YFMI4wb3yoS/Y2FIBqI+0I+MwP+bI/c24xKkI17Q540OErGrTPlqHbYyJQHnTLNS7vQ9wY5ExEwkyMT0WLP3E5bwFbLzoo7GQ8xwFMlqcmuHQ8ti5yf8TTP+bNss14E8GwNnrR6w/JowoNzBNRMwAmVzkE2ZLBnLJ2n5oC9tqIdw7vaqvY55w5QABIAEAy02LEcziPo2SZ15w1P5hCbDGkNdCkv9zkUEyi8ZY6fLErmiMw7NILJY13IJ92xBw4nLyrQ3IAPK0Od7HcrM6YEd7N+UJbIw8k6yo6zUC6yQWIwwI/MY8+uzIrN5I59J2F3vZokn1gK09qeS3TJLA4QaqClKAUEYAKaN+M44CDNPaHGAFH3c1I41Q68wx1QwtTF87m0rM+rmqo6cHxcU1Do07/MN8YplzQwzO1wow6qHPxQ6+MC1LCzEzJAJ9P6xLISAPSSilcX2WwKXM6oxC44FCc9W97TO8lI7Q5oRzXwJFbxsY57wzl30doLDUIuriRU6r1wfo2cJL+0yBLAaw3TG+Qm7cThwrsUJ9YrKwwJieJpEzGkzZeIRQMZl4bmLkADIKZ6IX6kxGw99sMfENsADpbBdzA0Ux6LDpG8bm7GQ+3LCC020o7gwx4TI2M+TYxfo/YeF/RM6yQ9gFs5yBxz+bEklAqHdVQzkw8bTLlTEpw/yw2NyOPE9dCtVk6MONQkyHUwr5tMU3Rw7dBi8KGhLAdYFlTPbwxirOxI6iUKqw1C7kmhycUBQI9aw00z42MyUUHExIVTBqI7P81MtpW40Cw7DUGF04HmwHTL8AEWUBPQ/zLIo4C+JpmDoCDAes+Q4LuLB0wGIIwZI2gt55w0pTFC4149J8o5JahQrO6mE8fxgrxZF8PK/wyRH/ngEKNE0mVxygAASGuxMCz5OnSXTNp9oBLERwJAGokoz2LCSs//039OKJxBOIBVf/oAAgEOVTDVTBmDvCi12U1Oo51V+xYx7cIyQ3J4/hwPWb7kZwh01gAM4rFauo5w2LrTmmJKKEw408s0NQ+TY/j6roECQ433oErTCWiD+IxUcL84xngAKc2W29zRzTG48hLRsBQ07uAMPo9xAcp51uYzDWJ2kH0qppAI1AM4cQh05VuFzjwyE7+Z68rL4u41AEywAFI3nGELUD2LBa21c+DqIHwQHEF5GI9lTDR21hLI338kxJCwyQABezCGLKguF7w8ywwRLGMJGcgtVQ92nAMGx/NLorLJIMja4Ha3Y44Bo/z+86Y2GKNpUM1ADwzMyw8vAD8APgIwBGSOL7uLEDOk40/3xTzw5aY2z491xALar4rAZN88Ixm+3fQwpcyx3L8tEi0KNE4KUFwQDqf2hE3z2xajwRSw3asNYH+9w0ZpFmNTjbywO5XwyrD5MPiSxg43Yak6TxCqDe4+ldNaiXq4+0Exr8/6QxQ4Fo4xsY2ZAG0Ewe4y78F8Iy0FCdQ3OQ2tTMrY4/Q+P8xeB74XxeiMr3Uw45nTOhi7hwKuY3qY+/o+EUP2UASQzTFyGLNJTGurHiQ8VbIFbCExNdVFI4EbQ6MOAnXauUF8o0N42YgCjQuUo2LSVCsyhUKFBWhWmuyQwzIqN7YSEm8ZRSIe+OtTCnKbLTDJLFV2398wes/hwB9TNwzLYq85I00UDQ38XxJd7Abk6HJ54rHRw9Sw3UI2eI8DTAC48mox2Q7KI31Y4zV5zzMoo/aqOSFElY6m8wJZzTLyBLIAY2hp2Uo96w8fI5pALz+9FAA1w+2p/Tw4K4JXLFH3XoFzGLJLE1LYu0Y1q920EzHkK6LJgENsw1XYAu4zqqczY9VTHPrKoKIkU0DpiFABLw5y8beY1EHtgJ6mQWUFIRLNnXIsU9P4KH4N0H84w71IwRU1UowQM+MYnZUIhXP3xats19gPyLgymg3avCTJ3GHg/6d+F+K167hxk/AEKzUMs1+cI/QD5FI0u4wEY/cl939zTs8EM+LM7OiOBp1Wf5bICFbOvV7BUDYs5xMyp8OX4J6IdS4MC4NKQ8IEJMk/lWtvwxqrNlT1xLJlWP3t5mQ5jY+Q1vTkN97Ouy2BrP6Q7yw2VQ6X6ttI/0lAw3S9bHvTBVzVVLMzoBUbuNoxKSHmR1P5gLaqsFwilMYrBhsHnTMfECC/iFswovq2mJ5rvcmR6LECqdMU05LIXSM7qkerB47l7ZScgMxY1ZAEerGoxOEO3/qTqIMxY6CADNSL1I9hUAtQ5QWM8Aa9IwJo3U/xrY+DpkjpsUU88kzFQ88wBnLBdLLb44LSBOLPSSs7OUNw9ZzOd7DTyerTDNSKliJ2I//4LxuIx4/aw5gEFC7poMPRjyNTBTp4DQ7/sG49KMPy5Q3Lw7XY+IkL+8EnYIx2MZd7/OjZrgPo97THDwwFTKBQ7t7HdJIVQ/lQ9RI6dY9RwAFTPTo07c79pj7EIlw8i2girJ44wGN6TXxG44rE5QWF3uFarOvTD5mOrsJDckVLHpYTAY79I/eEH7L86C8k4/7Odx45XaxTLLwI3FLJ8E8lLP6Q4oZu0Yx1Q3GLDo8Qw3Xciz4q/qw4cYu5Qw/IxZQ1CrECjxA8VWrAcsLORyOwhbI4kU/7O6hoKfqeNTFarKVk8xQTK1N6wyzE3ArEz8Aod1hLCjWDpTN3S+ZY23I0Bw9LTLIyR2y+oFDvZ6NU18I4jpooL4h4kqwMjQ/IkwkrOCYrO0xTQ1UQPBlyH84kb6l4B/NDAY/kxLhYyDONpQ20rEzcaZY7aJFgIwiY20MxkE0YI2ngHNOEVTMA4yxLJ40AfEKDKe+7PXai/Qzal+RwBUvKYk25f++7BjQ5WK8LY6kI4mI4IxM5TJfwyFTPDQz9HBHww7guUQFZS4jLqdQxxR0iY6erE4IlKI2slL5h5JY+RhGIo+Q1qQEw/UHJTNKlyA41nQ/zqzYXBXKcmHboMBpwzFUIkI+fD+97C+kxNLLzjFMlsYMAtt1jk3ZYzHkNgKUY/AERwTo+/q5MIm5LDjIFSAPlM6xyPZoorTERo1mo42LDywBd7CoE8TOAg8WIoOcI6Va5nQLcO+Ew2AkGlL7p0ESP+y90TTKLwxp87qO8i2uZIyh1z7TL2NxUbj37+ff1ZABwANUiGQY6ClFYFKM8Gkw23iCN8F/sOrTBaj/2iHRSN8o70uD7oPZfVxbPZRgMlE+QCDOEEEDHkFeKXCTFGALdC0pwzOQ0xhDLOLHc1I4J/w/owzzwy1Y3380WI87v2orKUhEAI4Fw67arylIJ8CAY29uIVG7fAFdTDGEwDuKdYy1TBiY1DX+eLDGE2Oo5ylFxbLnfzGkHBMwilMy0pIIO5FIDQ7/Y79I0Ro4Zw/MJ8LsMUDP4hyUUAVVyTLGVw6Yk2hLP8wPPwre6N5YJeRwKXMrTHX4n8UC1M4Xi2lQ9MUwJ40gAF/o1IZnlTC8ntgANUvEVTMd16cANPaKQE56YxhPU0UNI83VYy532lLPHMJwMGpwEL0xfk/7QpQWPsxMc04jpkHowwB2R530qkYv9VptiTInYOFTFTQ0z8BLkL1n/xk4f0z+Q+lw09TFOnZNex4QEwU2K40VLBTcdPk5x52YI1lnIrU/x6EgzH3pkUY1roGOVbKY5bwIo4LIn6ywL74HpYUf0BDeJbIxVJ2W0I+Gh6JKcrOq7xJbMlAdtTDBQ14wzJbE2Q2365oY3ZTErTN2nNAQH3pvzTPkE1ZALL49Gw1UQLhU5pQ73w4QK46s9V08ha2YUFYFOBSJ/sOJ43q4x641iG149KIf6y8Q9a7Qt540DDTJmQ6Pok7a13t+rcYQ61ylERojDM9FIxc++A40ywFYIx4rPrLLcIDOSXtm9zQl2rEss/wycLsNlAPaO/cYvTzPgEJNQd1TDJEzGo6EUwRI+6QylTF2rA4LPhLPpLK+I1f63bk+izw3mNpe3PV0gs+LXNW28p/E+hJn89tC+oZhefEdoCm+6uw7JIxUgX8UGoxDjCuK7rLQ7wYgK/xeo6ah1c48wAH9EwNTGak8zl02D9mV6pIBFTL1I8/npAFMaUNLLDkrlUw23Q4bTNXc9uSBd7Pku6uUFAC0WLB7w9Ur8NYLUEGPB2OdyoSy16ejQzVI4xILr47YxwBOocE/5TFFywRLHSSNCAGGk/uLKXQ3co9fTMO4C+JmYI52I4HH9UiFdw4Jok3AAtQxYrLIw8sw1rkNroGeD1JUxCgLentfs5x/0wwDTTA24Fo4yrQxH/sdLDDWOIMFIwNhI+L666LAGoykOF3IKyoupozFUFVcEqY4SAPJTN8ULgs61wylUDIAB7pldw2hWrGQIstscwzk4Fzu8LQwXw3p6HGnAxG7KgLClAFTKf4AORzIS9sw45J4BJsqo0X75srdII8yw5AIwwR0D11iwJguUdoKut2fk/XD26w3bsTbLAWf0qRkqwAuK7gzx8qMMDrlTIJ5y4O1M4DGk09pzciJeIwooxBLEbyUPw6VO35O4HQDKV6mI9x61IZtDkNjTP6k5UvFlN8UvB5gB1Q7EGAVI86Y8Mzmfk//ADOUI/45dcSwy1/RNRd0OUhyYbKKMpziRDMbywBksES9bAZMoeGgpiFmIBHK2MlicxAMHGvvMYMoIQZixiBr8NmxYtTWUF7IPI0PMZOSxKouae3CJWHioTAqC1ixvgyMJjIybteo0I+5xSNuFG5kjOpnvaw0rMZpSxVT6A5LVEoLwzEyrAfygQE25RAaMnt3S1h4ZH+N6deq+Lew1s4rCWUZ3CB/+GfhAOw1B8/0ucaK8BDjmPsQY/hF6E0PXATbgUse8hXS2mPOw3CACDkMLyGPq6Cm4jLQyAoZDVYrAglD4ACxiWLCdFZzyN5Wg54sKOkvxEzua5PUwTV2DVMGOmuJ43TwKaao6CmLVDbS2IFLH4iZKHgVJYnuLec8FYk01sb1FN+Te2qQZxhmUtzrFig2oSAABJjcXNhcYwXxDRVsWJYEDlN8oMsrDyphz6xEWmgGjY+RoXSETbKESQFGGXAQauYvKr3zpiOOB6cgiyfRKmKxyErcZPMMvTm2ZOVZWM7t3RlgaqxbZyxHAbuljzwzUGIHCMHkmmdMXTphTLGEQ5v9p89GGljOxoKnpkgEbXG9iuWME1LlKKvgFxpZ6i9AZwrx7ClKLvanp4ZbyN42m5kTYgZr0uBVpjfSwZIAqlsP82EXFwVua2i9dOgBNLUxJloo3eVjMKMFkg3XDOxoBmIzaCahiRu1m22oTW4J40GYXxItB+ygBlmE8rmwEBSyz/sMmDys6FGv5u0rAnECJCN6bG7QTDaRiIwxi0yoTYyOApuzRFpvtCUKk62XhCJIQz3XygJD+2sVi1SxKcgAirS2mAU0HlYYTdssAAhdgSfRvZwz5pgwBBoZmNSnXMxqmSwCpgOsMvbAXdqDuANaJA1YBtKkmHGMajBZIOPijQOB/ytfNmj9DSZJkpTBPoan+BgacdJIcRZqoKAFUaMsAkUoCEsG0SP8lwVDq4kM2rG2gzBSZnVR2/nB7S8DEWKFQYFED/ninJSZ0wd+mteIRYpuncRamYbGNXsO/5KciQNpUAvyZJMNo3OfuoaFWG+UBEsxT9ZJJYbszMP5Ask1GADo+9gaYvuqaIEFmA2SkRu0BU0A4WTF2XhHYEthiSSwNCAanfYA0gzTBSHA4cMApYo4vMy2MMznpKYaWMCSgWljcoNBUbnAKCxfdqsmdt7KxhtqkHXQa8GJMa4OYgQGmFKV1bmZ/+M2im4lDRHTBFvyvoZWBRLIAMksU/WFvE3fdhzsM46eRcXAjRDYQH//A13g46GunDEUhuNsEtMZA6YheGp7jNyoL3LFhVgLuNxamfksacWGPhzGJQLUxDqGQejZWxg2t0IAAu0xqsm7GOMBxsiNjikbl2MHQgQfMbYRi6YETibG+41yG907ZqRqzwE3kbOgs6Rm5EgM5Yliei7tTAKNkmILZDHSmELEwREarKxWeAn/jWFKECwzBMRfYBzBAEojKBAB/Q2ygDNKM7bGltDGNIJMAHRRaB5g8BAQAQcrLMlY0bgBiMAlLYnnARxWK3u0GcZ2BNExOt0GfHRk0aAEljfxgCgA/sTYjgAFQHEzCT1BVQ4F9XAnQMUDDXLwqO539Gl3EB7ANGJD/EaR0xuICdHAZqFsxFnLCYx00kuohQAWxyqA52laZQB9ICmC3Dbm4MQv1ZeJBbscig9qoDxJjGE2+ABDlJ04slj7VnmGoxGikaxJAsbU66DQkAL5sgeWZcWMMTGqrDH1gORwHYsZwpRnmOZtAUesHPQ15oa/3M/vmr4jZLdoRJBszAODtAKiUtTWjYKj93tYbfYAi1MalABhprBM2G+IxWwvAgeUjPEoLiQwHEZvK8+9A87oZcZtXSGYbZ4S4bSGvbDFjuOIwETmYv/86RmUHDDlNA3AAk5ZRsMvzYe2oNqWESDTfFjxkMaWGPYsPZhu97C9CZ+jAtFGMajZ9XDdo0ljz8ywPJAd3DcCkPb9RiCa2XhxEg1CTHfpvxW384ZOCIIlYllMexyG9vSLUADSxeAAGNDegQKx2XxlZZqMPxATYQWyRhg4z9MCnqxeviF+jfphiQ434ZLNUsalOPgjRtRjHw3IoaaUMqlYdb/dQKGE+zyoa3Qt3IoD1wUIRpzLDRAC1aMXgWULjckKFVcGlEaabt8AAtCjTZJuRFlHrA/mx4hu52TeMCOdn2PZrP8NxumLojX7TOAw3kl73UxrKOdHABtNClUDPlaEmM/VG+dMbCoHSMDlsCRuNHUQwQHEacLbTFGqbj/BGJARzkaGICBIz7u6dq9UOGPYsf8oFCABcdJMHlM+2XZTfcPu5FDwlzzDgVsQdFICS/oqt3iXZWqwXB4T5DQuMA1ABAkDp4B6HwDEsO5Zq6LFiqYeAAx5gnngS5bjABAHgQVDsFfMfKUeaUBf0yaACEn9NIA7hMRyQF56F1cbmGNWsu0dAQyRtnrXfphN6By+etAcAZKJrcGq0x+pNWeACD/GNRpsTB7UA9UkK2mkksZWmHT43aYD9/5KGG2sQAW1NfiFM4Av0c5WOBN4FccHdwzhH4CS8Z+QvF2b2NhgI0ugD+kNjqGKgTMgsEIGmOqY+cNGimmlMeXRvhwHLSZj0QjwmBN4A6RjdKAhI6zogQQAmwTEHcMH4wZwzNodQ6MiSjasphiwxzIZzeMAaUu9DcI1jvwz/Nj+Dd08C9rDAiRmouGWNYHxhBZ+JIsKbguN0wVj73lNOpmwYsR6gM7mFKMxyMNkuGEceM8ThII09R4wzM0dSDh4BIgHNLE/2AYn9oXG68rWZRrsh253ayCJvKGlSpPvUBDpjkVgs6JbRI51YSARpPxwUXx3vMMAAdRAAhnupU0yrD7MQnmGnjjBa2DXeBW2DN5hQmId5TNopupQDeeqURM+GWhtnORWKZw3rQhHhN0gAecse3hn6q0OpRt0xtPsignajjoBcGskb+X8pOAa/DSpePhLDaiAMaMlzGT5DbXWFq+G+iYGAAog2hYQCemNEb1cn56vNDtGZEnaBmK4rHIoYMktmdABlMLgIOHwyIOZN7sUqg3FDOwKKU8AHyh7gARkSCGsStmIpbBnOJ3ORXjGVgUHqRkl6SqNZRiwqv+RGiNRWLFbCI0RCSkgZ054sAJQG+Q1XsCSGBanUT5ARvJpWIwVSgMMA77c+hADuzlQo2yZYqjAQ/mkQ3Ppxl/wya0CCQleCQUlTP82BAtC7KY/csNpGoajTAIBhPFZeJqkMreGQHDRgABd7GfzwiWYapyu+yFmJh4AD+nBCBpr6Y0QjPsho2M3TwIb6JMwcrOQVYuCHqjZ+a7JRhnW8WzPvQPQHDVIbO5hu6Wkkje5NkCwzxPZ43glOGvisOKRi+Jldlit+NNme5kAbO5tvXxeWZipRxrIftML0Hrk6zKpIftgQbOoWvJgpqd8V74YC2pefmllDV3JpOw2aphvPUoXG3XDPshq7akG+bKlMraYv+wByhmWl3GlhT/N8mILlDKBmH3hyfQjc3AiRG+nwDsYIsrG1EAdkgiQmOaPIFhiZqGdUZkGMNAg8IzIOgNPaAUXzlM50gA+gQahmIkr3GVTimlzpwrIPZsWHGk1JliRCdqWGKksa7XovuH4oacvFyg0sfTaEZgD0Cu4bKKkI3GjJrDCeggw2Wb7QUAhteSpGLbJmMVw0fBRGgKaY/DhCIAJMCULbYpcMzaYZSjL/YIwgPzObhUxmIsZgwf2AMvAGAiCZCQ5pYTDjcV5hLkBLubA39uuIo/DLKtvjLEmMyhgEJ6GNCTStRlbUC8CZnHx+GOLczF0wHOIAS0au0NKb2vKsAGhjN5Vn4SyBAZNQYDYab5srYxPEavcMY1GYQqfVrnS6D6ATFT9yQ+d0LVzkv9TFaf79QArjGdmiFR3G3YHT8asSwWGGvEfLFiCxwyTFjlZ9qbEjljS2gKTLA4VzloBh9G15DS2ho6Pnu/5CxMC6YKnwQ4pn6Q1wkZveweUWtvjJkIE+khKZzLiN9A2YEwbVNoM40SqZ4KwQZG2nDSyWLXiFGiYVaUXaYdzLOikGew0WWxW7s1YOQAUQj0CTYE6li32NkxeA1MImmNXSCckZHtNfpY86QIsmjUo20tiBZ9EKGMdNGchupQ0pZh8SwrRSMQTam8Dpun5li7bdnOGTJjSmxi2Q0wXJlEAYk+6GiftEMmtxTEZjatJxGQVsCbZFRx2OlhFwdQVWkoTD0JuJb0wXbBg8Br+mveHFZpFLzcYgHCNoy+Aj4JOhsoqQvEaaAtgdgaEsYPhsL60I4YMCMinA/4TA5YMFQwGphPcMkykVTicwFnYFAz4af8NI9wXPDLLdldOEAX6KkN/wm77sN8hgtsCACgrudaggnAFHM4Lt4wH8CGw96bGU6dOgQCQ8wrpgFuka9GXUjYzZtZLBali/JR6NgWMQBjhgA+FjIYeixCWe1okdfnvia1H0CVFUaeS5GYOwJnmG0AmYxodpmI+17cUxuWcwWpgkNBBSgLbjCIJggoyRMbchMDua//gUOjFYI0ljztqNrXIYPgSeRhK0ErYZnFMPmQN4geD8PjQxJVgSw0y50VVjKQJpXLCl/xhCoTigMdMDU/lCxyVYAzlBk6Gw8sVBcGPuwLEZCJNthGBrDLKtj20GvUaQcgfxG53sFsxu6mEO4aaDAxyqTzDU87rE+HVFyr8NObiPsQVyQNhQ1PM6fvtTyGL0sGK2BKzyJk6VkcJZYdMfBZIEYIx0kYY0N/+GnnHFS+oLU0CW4+rokcWA5LHJhuZwx+jhNhAragWOgGhRm3Qz9bySWwuLGFgASthpbQEcphEg1zABT+AI5RhEkB2qDOVMTFG0TDNuphHwzC7yXqd5j09yZToAEcQEAiaJGBhpAk1BKTRsC4zk8ZIMxs40rf/P5gOncQoZjILk6hGz4sIjRjCmmtZh/6kbFmDZiUB2MLI0DgDyCkR0Bu5JeahoYo3OqZ18NbvGd+jTqWAh01eoD5V8IVQJDjT5HHaN3MHKvBMA5up1jQSWIi0w8SZfoY/GGiqUZoxn6o0PfCdVMTIA9AcFMcF4IkZYDc88cOGeoHI8JjV8De3plkNfgAx1MAAkJSGyiDwAqMiVG4irQxlnxLDUYgTCASJmu4LJXJjZTBrBJVLxamg2FjfmIKMACTFialEKSgX9DN+Rip5Hai6Ry8r0wMNYXipvJK3WpjEzghNGoQjCDNoZIxfsaJdADlg2+7NvmFfZzedapsNPNc7lwIsoEmOzUNbm6MaaeHzGT+hmW6zErYu0w8DmKp3QsmJq73KIC32Mu9MLQTQSrmdE3R0bzpA9KYMMzU78GTAEMxaXONMmeNh7d2ln8YwVphgyxnzYl8ze8hodo0FcCVLwPmQ3mIeAIAnw0iphkRd9SUD4BELROIMG/QAqGt6P8lc8LZRvIoGdrB9kNOCet7oOcQJSALOWJuX9gtERDEITRu8rE2NCzr9xMw+MsZrxljajzjB6SMmeGl5DKzhs6fw1AA5pglKYjEsf5yCfQ0q3D/Tsfsu1iYP2JjWZjAtirLs+kopj4VnNr0KWhVjbMNrWYqZPTkjmxtzn1hggAZkgxQMdnhhhwzZ8b2G85lyn7bWDEuZiwjxZU+NCDM46jA+oB3AHOSZ18NK3Gn9DQOgCVF3eFaDMhapY6WWWXgBRQxCABzStDJGz1MQ4kCogKR4ZSsNo1OrMTcZrn2LCsjqmmMYEuUtiXi7GRwBoW4+wdOAK1dIYUjhjLAuJaESxAHGBQATxxnupxoTawVBlsWnYsErxg2AKRaDii48JwkwJKMAIwo0j3BFOApOAH/Df2cpEAHEobGehm8wfYsHVNFzkHJobs+cwkmdxjHIACg42B/YfMZPCWHVQO+TmS03izb8ehR88AXDZzhnT42DpjnUwZeGJ7QSoqjdEz9GBZgNirYgWYDE5lmw0liYujwPFYMKaBbRpzTDrN4M1t21+bHAZN4mW0BHIZ3iw3GGGZbTxWEylF36YcpRjcOoQjYOmGOoxR34VVofzYAPsBRfEuyDHmD2OQ7FY0LjKJiCdEDSYaG0RN/GnHgdTRvgX2Yix8MlApY2uvMdRqKbzalj9MMKIeWf7POMBbTBMmbZ0NeNwdlQSAKC3Mwnsb/OQoXGQ9XD3FoSAH3F4LWsWGW2Lkb1hupQyg4YeUwsSkzhAYonDkUC5yDaDN//wK38Tm4tyIxEYiMlt3jWu7TLu1Jx4AukAHew8ratHvIjRCyQ3yc7sY5PGgWijGjRDVTEAMbBfZZ2AzpQBPhu3THW568bhGWAOcbWFWG4AErEZd+MUssbQTBQANC4ym4JIjVJV+gNDODQIUdh9XSvkAI7wsGJfghnf+y60yDNN5JWb9LVN2llI09ACk0ljFYfljNBsP+Eya0CWwwLpuWhLEnxrGfRycCsBNNUoYXeSsVg7gO3EDO2M3tGfDAOcQF14HN2auMNKWYLyzG6UGuQwdYazW5MtuXj3YfRsfIxz2I+Js37wSE3fOmBpakpsZU6xYnwbDMM7QJMCRFK4KWIuFOkE4eclg7KQlfwhCMvjWxGiQnJizIxZJZABN6bGQeHGxnmXEy2oYoXNb7mZRAfHRiiAEnYaHUoQ/ocdDR8Lg2S29KbBnMleGWpDQ4kGslC94bEXIEeGAkjOKWOQv37RAxEhsqAg30e5tHRwyZ+ZdaZnKGeqHRpfAyE2T05bCN5P+3xQRo7twwx3RZA7Izfs2c/TgCiGiwCoAh/RmnA6qjUGUsLQwsYYu0xxtGYIgF+mHb33VsY2LNMK4/rAV8QF1TB9CBzkMw0m9tDSe5vEY2MMbfxgGLW8hHA6RpeSAgBAU0MQ0W93fF0Rsm8SLFinKxlpOsZ9RRjv9QFv8YUUMmfm84oZ6VIXSGsYZOCRe1wLHDQ+RtSw106D0Bx6X0APrAUAGHLFu5oUotnGG0MQKclM/niHTDOcNuFO3EgK5xgtoykEbOUNlaYbQAKEAL/400BaIKwq+SCyTXJEM+K1akaBq9DZYdLoKv/jzw1wfYSw0i1M27XIxUExIwRJi0OAl2QLo8EIvp5wGxqYguti2W33abSoKgsw1g5GXhzDGU7DcAIIeY05qBaMctGGkYAobuoVbH2FDZywUPWEdDBrRvjo3c4bc8M9JyG0jPT7gamAH0b4ywwZwT+AJYtFRw2IFjvLNJqCp5DMGmLzJ3TwD1A8Kjcl7qD8jFuLG4YgaEB6uWLUzDZRovLAxcZS6MkqYpRmHL0ri4AIIB8AFgb2w1kX9FmurC04Yp9515+UtTJlRDCmhKZxV68PMAEDlFgRgN81QXAEaJTkAfljLphvia0xgAP3t/SG/ksbT7Cbo24Zij1ghAgcOzD2wHIAFcphpzcVP2C2ABpjHNbzk0asntxyAnM7FxhovGUwyYiyt0/GM3XbS2FMcD/1L2+RaqYJQjcBTuvLFhMboEAdmIxvbWkRJtgI/mhscB7oWWdDfn1tGw0KAT1/cMBeXWwW+Dtky32hJDeNFHAFJQeSVil7iKXhdxNWcg+8saMRr8AAPjDupwSl4ge6VN5uIAGAcAviZmIsagTc4Ro9w2tEgscMlJSmQjFfQNE4z85auSB/uWicTTthk9owICC8sMsAgDdqUJWJVW0qoZ9jN3lYVtINdFvtT1rcw7ixvWGyiEUGcBzxFqaAv2NcTWOm6GYzABY1CABUgds6mJtMTaRtl5yO4axSttBmmksVIAB2SA9sBWrpunGc/XdtRsXTF95jgMxghmcpTBFWC851iyY1Bo09Y+8bSZttZzCMkSmmAknemdAGhhlwASmWznUx69MXVMRsWJtwx7oapT80yBn/DJ7lvbax6fogXN9JYx8jU72BMwEivZfUMkAA13sPSwojyVjQEhCc7hAMRINcxjRYz9bx96AjZAS/TL/YOug3QxZz28veG8oiH25pMS114aSSdjpYWMjQZxkJozAZhGoQUGYn0jGSAJtj0OJAA0MlaGQOmExRhcU3ulgfiBlmGfowX6mPzLAhQBybNQ4mIDDbKzp6AHaMaRScJsw+abShZhzEFRKCys88e8J6sfsPiBCx1J5KfcCdAnhoHsWHhqlKua9lNGjuoczHzhqiUGzlhnaAUKg48HbbYLUTjHUaK+tqZE30sPQAOPEz5iKolAYwmptgMbdq8cxmebRy8iVGpaLFuWGZbDQljFAxqGWNAgc6mAQh2llgEW90gA1SIXXhtwww4zbJMQcOGdBTeklHfbljIDJQExqGppQYjRMLI0b0YAOAx1SVsjJ7Rt+LDLIH+SxO12K38NuwFmw09gFnpNuBGNsrSthumUEKOazZt6X01lMJcQBqqmrcaIqNVGSYg/fHhrwYm+oa0bBT1YUh8IgAMyQzbsByKx+8mTFDVgLvyw2+UZj1MndYrWjc6mKWG1tDyCMRfL6yLaHhcDgM1b3C3S82hGC4gCJWOb33+xbTrtnE+jCjHlhl87nN94aBBHFYSPzWiJqe43UobQUNJsWJ6sarJhVWgq5rkkMvAoG5wDX3qnLGtYaCMRd+mOwjVCxouUxfEyxHh5jGtAcJGrhzEGq44BwBgHAFBtaVlungUi050+NvKYeYsbS2LYSG9Ah2ntehG3lDARiAxUxhrCo35lxODzrNQYuP8CCqBHv97lYaOzL78Mm41k2BL0MCbwnnAMtYg4MxDqZHKMvhGejDWvEL5k2VsZ0sMYqG/hHR5iFWLGq0y1Ux07iC7DfNNoBbHLtaiNsm3M5cpAHoKdmEcpifdtA3IUtiE8RrBtxLsB0SxtUgdEgYz0H8w0RvbAGNKlm+f/O4xn2LE/gB/k8mWAg5wfhkgDZCgBbmwpq4AdKne5tMkJBeTyfewgCm8m3RLhlufyuMxdzMiVGpm/RT1LIIjN6Za6A0K0MaQM4pvMek5qDAyw/9SKAAbamOJ4zWnAkVM2lYgdADGhqcgDEybfxhD1wagfPNLv9i0aJw0Sx+JGonEIsoDjYFdDLZUAJtw3xILPRqnTDa4YQggCQQzpgaLZrDwzRlLFWwtlGyP/QCxKPWlnqBFmtxBgli/NCJjBNVf6Y2iRGJACG6bYRo6iHaEZ3CBCqGshnY9hkMMy8CZoNghJSmwbR0fOmYwNXCX0wOYgSI1FihuQcRFLYaUZqbEK0jbZiCDzwOW7Z1NkpEhZMfpKPanwvkbf7BHOGwGYaQRkerH0+AVHB5BGiLDTzgNGI1F66tKwbKYuVgUWmIzT0WkYlHsFxA3TcNKWKU43KChG8lwTELzHJN4nVx3lYbsCM5AkzSjLmviIc0eoA88NjXGLkjK5FvWLE81ygqMM0wYMQS5jtCAHCO6zUw84wrlME4sFujzGoZEooTrwDjTXlhvH+ElQ6rmMoByVVTJYxNm41kVahXRmr+KXfIbhjfAPTmZ4ZAypirtqL2wJvI35lgIqxeKmmSdaxMPDaCFljbSMWFAaDbTAIBmmAOEDIsNAImncgNKWLPwi8eiAWJ3+2M4AJmWNnLGOgHhUA8VC7AjHIAHkw0coZw8NQb+G7nSikBakG1phoABye+YuSQO0I2Qx0KbNUMMlgJdMV2zrZIwRSiS4c0GwtLaUzvpMLGJph+SxEPEAy6YJRjGow0IBP2sLROdLoO2xgfEE/ADvuwDZAtjlahJp04xpdRScAkFWdBmaQ7hMwF4AAoctK6Y+8sLMBqXQ1/s478NdqGsirdwprLLHbpj3NoyCAF8ALfwAiYyuSiA0pz9GotvBnDBKQNeCbNiwaqYl0LQqhmXKR+AAYVMC/2SE+b0XJ/cQkEZ57AiqYAsrd8QKPWh0tiDnBFrYAwbPPzqUU07hZt6t4VSaa/bYRkE01+uIXiNfusI2YdShhFr3oAAq6NcSGDKaCo3DOQ1TNZHDc1OuonERfcJJLCu0wuogAuGkJ6MNWKp8DQiafgB2aGiKPaKAPxLBnKBgAcKq063nQT4HL7wlibPfBWwmLtDdiLLguRIljszMJmAHlLLVLpTr0YUbcMQe6GeyjV+/nWLDMhKrmMWAmiYGSWPNuSHmPQ079GpGuVXYFXg0GCiICD6wH+GVx4LFiHlU3UMwuOkpziyysRshsJ2UNph9OMgbuZqtQxLs5U2DKBFUNLmAxciPoBObsBl4bwmIUAAO1KTb/sb+ApKCxcNUlGyfLPQFkL6QbY6tSsZIAPYsanAUujFdCaeFNamgb24KIgDnsVepjtxNSr2PXDf8oH1o1s4YhMRoJGZsjQC4E2LAj4ZFWwzhIG/CZLHutySYHYIqwCJYC2jIl3iBc2fOLjWRtlGV6YduUhxog1EYHsN76Gam/EP6N9sGKXhZZw84wx04dy4CEhkrFj9xMH5GzeYcgtBWIyJBqKAAXaYZBYBlNNXpiKcCvUAo6Go1MHhcNrEBWobMGsMTGHeTckKAg8X9iaaPgEUoMPLGKhnuI25CYE88fYgELjXbhi5QxBnBeu4j2mHHjVvcFNOFLKCTJMIbWIN3G+xmcQHcpbzihonI784XcoD2LE8KZL0k+YiG1MIdTlpwxxRq84x39GD5DdN8IdSimSxNKwCJYELjcNtpLHjHUbSOAinA9PDKqWBhPCVIYgWwctGeF4GVqC3iVN/ZHMNLaYcDzRyxrcUHCcYmnclkgK0jSJiCFogpCYUWcheG19jesWJJagqNwBwAe8OhIAenRhR0xhmbbMRqWuYFDEmwMdOA04be0wBxGZkAPlKK2mCAW560wTkAXfjZzcm9uHNTSQTh5KYjPKRvJit/AYEZGKhQSuOt4YGWHlT2+2ByAAFkgmLAHUQADSkSHbfdoW5mJXjFmJmfLDMhLaqkznwp34d1MJs0DS1y/aZhaA0ZtAcRtG7G+2BZcNr8Q7nDLwRKIrAPAFT+ZwTEXTaImNCu3yfIC6MNELWfdjdTRk+q0tphBrNx4mihrB/hgfUEF4bUJMPmQXgTTuZrqBHQgDBDNJxA1okVOFhjTDe9hSHx17Gqv7Tt6MQEAq0pqUA8xGsfbSaguBY3YsYGJUDhAc+jKxhpPoyP0aB0wqem3gUIXhoMn3toa5EBCJYWXDQN3tgIwH4YsxAAaGyVDYumPMOGOpgZBpI4Aw0gNcWCaQ0ILbQ/Mp6YC2AN/uDyU1FSgk2AYgmoSfP4Jq1I2Y/a6DAvDG2AALdQAcIFVDiolAmfgvRQSOAM1F2w77p0kOqG6eBPG8EFlyRShUBxypMOWJafDuIMH2db2aNBpYS4gG/huUb3MCbR8NkrGMkTf2cnrN18oDACssqYe4AMWWOAEDkq4iMQOUoLQHAeBAviHt8gXNtpWmHF7GRWIxLEhICllBuGYpJMZZWPZ9hudwYIAzu2PUjSueJ/AGpYYcrgaW+dzkWcWIeY3EoawDxMcOuWfH9pgnYF4JCXQA2rGQgaIIxoNLCOu6/XFR60F8AHcWHD7iKnaibtgugcbTejXkL5BeFDfexetA2EjKZLEW0w0dbtOMLs2yKLL4ULNQwRSi5l9rOY7mqKpWPNKH+YBXJQAdiZBjGAxoFwwlJ52Jc21yw7zHNhhE4ytIb80xSpC4BQdCJn+2GBEbX7MXxMcEsRfQGJbCOYYSiMnBEyq4VT4C+JmhIEYCNsKgitMH1hin3n5bawVBExIy2jfLNtYt2jL4zphtYgtokLnhuukxYf4DiMpg2JHASalvNk3X7Y13gvHogbkMJhoxIEKAC2SN9gmcHDMCcK7q088A/2dVJAV0HamRCuOVbpgleMnBETG4alhomI1n4Rvbh2DAT5AU5NIEZxW2DLyxVeGsXDFBmErTBsWZ+aAwZmcKoWTfgTo0YYAntAPxArQUHtoMJcAQZa0BxIJY/EfZlhgLQFo2D40xYKG5TOCKfoBowambaUNj9GAGONjgI7Q0nkb5MQss4nPMSueIuIAxQHjnBZM0lzjO9RmoD3xBaZM52SG/+bQP9lB2wmmaKqNjUoZ8sVNTPvcUqKq1WRLTG3VMANRjDi23z5WMNQCg9YsJWhp0zk3dJ+xMv4mw9Mb5hghwyk5bZPMeFwm5nA6drKYyK8ZNwA1+GyTEJoANaQyp8bWiRIswSDjHXhpAoHToCpQCqrgHtwdDpn2rBW2YpDhUhGNiHEIZorN1Rvayyx8ZYgx/DBWJpVVvfbOmNelwr4jc/RlAgC+dy6mtMG6BIII1CPCuwlfxGDMO6YPRAUvFJo+C68CTsN4+8Ngzd7Rg3mHMiZIJMHzijazexJl3ajAtxEHMP5ok6jb8oP/QP2phAPN3NUswrTGhmcQGy0D73FHyBbUQaQADx8UvcaHqtlaGYGjU5OuXiU2VY+rpy0mjROGcoAHYwMpjysNh30M3lK+NnpYTTwA4bBDSGTPATSWL7YEQKS71tXOGJVMGxJtnLGdUZHtNPmuGcsZ9zlnX3svopDgvXcrmjNQThdICD0bxGM2Ag6cfUARtbTGkpjUkhnFek9qSOAHuI0spgrbAgyBlqiDYZt6Ll1IBEr8kZOHDICb7sk43/4YGiMmGGjHAvHvM8ogY0alFUE4WB8YckUtOy1yph1IcsSkk8TGwuCZSwyMZX38FQ68BqMGcHpcxvcbgCgm6Y0zEIIgPcrCYcbNWpP2mb6IPWFOFTE55iZCMSHGzuYLGIHY0C7Kb/hMY+GapDKRgIvZxAthSMBVLYsvjLxhqFTHGshb3oK5SXZTE+xgamBKZyf7BCwgAVLJHTASUBCD5q0wAlOIbAavRgqlA90wKsBEggmJ4d+4H040Fd422BEducbTdnhvY5HNKbQSMp/MB3NBJiF7w2pJCntgLFYQVsP/Us6Y3MEBwcN7pY4ooOOhiZABsEY+ZNh6WKVxLdEMg+Gw4bV0gfQ2T2jEaQGYMAPiBWKsSZYrtgQGhtxYHUPCQBQbtG3DEbi2ODaSWMTLFMLXcSDMMyWM14yGGrSAAvsA3hOVShpsTHnJZPMQLKGEfHWhgDijUzphx5shA0icTI2QP8YFckCdixzzA3kjZIRL7qHCM4ogAxl0f04ZMgf6V2XpZSqxbAAI2YKActx4wlYYMcNsOWQ4sKyOtIfCE7Y3EDNZK1GjASRrYUH3liHixwKQSrASBksnIzAqBv9pqkQWvEfkdt97EXramJMtyGvJTHJwIHQEg5CDMh5NG2TLIIgDWu0YYBeBMlPgYutZA/j5wwYNCuvFN6er5AZZWB2OR90bCBNuLY8ITcxriZeCEYYNuBEugk4gbMnJoD1m0Q7sM1+GYCQQqhp/pmMoaZBA+VCTgAN3Jt45z+YYbeNtlG+ALBSZHwwz4UbW0xkneiSjBTHBmI38P462NzByfQCWl9tECEH4Yw29BWua8LeYcCetwlv6NkNO1eU1MDxWJWk0AiYLUwNzgaeAZiLEzwyxSgfLNIFA6OjZ2sC1Q0eQikBN+TWHNAQWWO1LDg0CSxNvGQpMsaIQMsrErljaONW6YHHjD3hjBNThuZxgBCqYbcpYWgGlrmpO7ysN/zYf9MCWHivY2v2YBuMjFQ82TWKpncey7k4PABonIIlCe0cqmIwYobB5NUlG/EBerts+KFvsZTxtPUWFecS64vgI3EpiySBKkmTDAJG9u97AoEabGhx+ukJJYERqWY1ucYI6wp3uge6TZVgXwwkG7jONi+IbQjB/RlOrCIAB70wylGsh3cIAM8rRF6qnkMdgBUfdGZ5gpDwy2Ti1x/dQg2LftHkL5DbYZVOJ2JG5DgJhhqmpjufSQqc4JmNtgdOLC4I3ApBgiAR/+DITC/RlgIxp5LHxBogugjDH+nmuLF/4btVc/Rg29MC2RgfEEbIZ6AB9EBqssS2hpPo3XMbGegx9WBQUNUhjoo2fOJi18eomhBTSpbvrLBcoZcBBP+GofgF/Vmcoxr1a/S9tvWipTF8npdlxEEAL/ceKOfVMBb7kUrV5XoCeNXFYJ14BFWLOwFUPbWSNHW2YIAcRZrwIw8kBvPVYmIn/HCg2vfQ07kYYNMr5YuJuPsWFi5zpRifLskPuELbe+wI4rDaEaFVV9FYrUjKVNnrTBu0aJxN+oAhLDRQKPvLA1sZZ89tYgQQHfMDmNQ3nkamLk5DM2gAIZNkxgJcHbHsMQruu0AIXhmNOA1VSbJN7Ps3vbHfhqnJ3LQC72pbEoNzTV0Mq8/yRKCqXAvembgAFUXvZTGRFLRQBUFw2lDd5WM1ADnpLUzgNjG5RzAwYEkh38CiuiwvAWO6LVJRslIltHaTp1Je+JyAbOuJ9E30AAJMRBIS9H+QVwNHQD4iwUe8D5YzzAKTZrjQz0sLWJgdmIjObNwAGg2FMRI+wtZoSrAQQuxvIkxfdYGsN4+8rjZDKRgCS3myYc14fYgnBIBpjAKrAFLg9H9NNUXFsOvfkHo1NxC0ZMdbwG1sVWHnGI3Z4JoNgE+G0jAIawG9bFsO4DKANbG45xeu1DrTGsLjcyxHKYFmXSZclybC/gDbQBuwGJILPOmGA2BtGY8WwK5S5tMeiWEdEUAqKQsMS7AGxjC+WH+bGd85dYcHBYYMQXE3NVuSYqaZUx3lY187Z84g1MyVoYClwaFGcejCLhh9KFcpgLkCyUaOwjN9hqkIEKthdeBW/GGbHU5WKpox7UBiUw/suu5JHTbrOLBalgwzMhv22UAf3UNKQwdlLWcxqJGuumE5JkXMxj0xThshYeChrXMikLoHbdbvTcePiZk3WZxL0IwiM5vgDwqAcUjMoKOBY1UphgTAtKGY/jKCRtLTB9TDPPhiiw+DLX7nmMFA6V5e2A6ye9bjED5tzLA7MAFZM2eO9zaK5KNLr2dZImUxfxe++jNymJSW024ajnBOIBCHTMtoGLbBWxCapQ7RGHYwBiRkOUj3YCGkM8JwPqYdWxqVXyb+CYvdzDG1pDO5WE/gBBfx8gtEFu32ALrhgskH+YC3SxxjG/FDdNWFjal0GAYT1XjGejDb0CIMNzAcZu04Ln+DiTG0ZlOoxgr6Vk5nVGaOzf/RnuCyXV7XokuyWWWcC8WA7gmyCb89MDaIFogFTyD6w1nd4sLN/HcugwXVhhv41WnAoONe+OrpDSL1FNu3SABnqx5TWnMsHAFuwI2EYZltA0ZSSfWIwHnpYTSYa3fc0pYp3xY6cL18TukhPoQjBGHosIChofxBdphT/NgtEDGjYqxu1Qh4UZypQ0hBQ6YDxhk5LBfG6z0M1y8PqYO0thmIyUpi8ccmwuLLDM1FigMwz4a8/MJJYRAAcu1ipLG34bDWAmeGZC6L4RgamHNpj30MBl0suQM2RlzU1iABRB9OVGhnDPhUgDi2JR7ggdJYm1CjS/hjFpliDAHVxg2OajoYWRhRQ0pJQOUNCjmfSUDOhsO+j71CuygyqG9rDRSxslAU8qYLUwUFO3ypBsJv3sTWdbmwowZY//TK5KB6QzpaAL/4R4eHGiNcvBXnEoYZ+csqrGDKQWeoCEhm0MDShsBVG9H+LKmDTwER0x0zMzliNGiMtYk+hDsxILJAfJgWKULg5jRo00YGg78rMeraYT1ForJ0Cli3Td8TWmNnB/hpwAHFFCTxNvtgETEClhmJTGQ4ZwKwCi2lpjXbhvQwFgqB9aNry2U/WbmDtaQwxpjMONbicX5sIzhgBjkSEbgiAzT0/SUUmtgilCBobCMNwZ42ogf0hmcJC/xA79MX5yBUjPNhi+JnMEBqUNtPsy8sVm6AyLyR0zAywQmGgtJRPTpmWybZivT9y/AqlwQEGBbDHtYaKT8XKmO3TTIIGLIKbZhPUNxKY9c4JJKImLEIlgYbBeiYrKvO7ht6BG6EYRJBXCg0h8CoAIbySZMZNKxzVGq7XKZWDeJ3xAC7QAhlyfhAcGVl1sFObQj6MEyGq1DOhhnRSAVpiFhBRQ+7mqStbsm8RAua4qM5yGHtwb2RvQIEtkaOUwLSBMvDHtoJGQybCDB0wNLGSZnBfniilHEpiEsNhAmlqoUARkpw0upiWzNt6eFAjIoUkTEBJ6ZnRM82SVkgbRxiM0yPCY4hNNlaqUjHGFNBQAhCbs8F4qu8wYOfEBj9x/OZfJstcgRKjHpfpZTC/gBnEABf+VopRuAH0Iywrj5fYhCeYDjHjZjvw3hFY3SghA0PoQFbEIFmD/IbwosCkBpysVT4JkKW147UPNLrik/nC9RrdTFbTDlyC5NGDHDIgAEgsxzpgYAAU+8NfAbZhtqIzk/BZdB+OARJDfaEpCAFXKCFHM0mgULuJ7dqWHwYzZhihZKYWNqVhgAw3VWLgRUxO5AYlAAZKKAowvDIjYdlbgzJAf8Jq8E0Re5ckN78O+l4DjRHTTGJ95DVYaK2kdjA9ZuMux0U5WR1pxY/0QVMgpzzBRoRrkNxhmowJReMh1QxlViuKxN5YOKaN1EEAFG1piCyMGimsXDSEACgzEoZj6sMog8SbfIQNIhI2POZkkA20OJ6TZQNuLJwLAjzngQmGsogmWHgbnywEbRiM1BiVTDPSwmY12VVahFNYz6YUoBCxlgI3iVjVZNMWAUQAEYnOqLj4QLAk8wn+DHAD6mEEEFZ5hlU9LUQ+jDEaQNfiANybR0lXZYYwAtvmJrcANuazSBhnW6SQRedh9QA5TTmGskqYrPnL53PsKGMdDq3EZBQk9qUetNoAHdn5y2BpLYv3WQRrON03ZIYP8MtX+eSTLq2JlRzuTaB2h5j0b7DbemHWo1QWZXHgeOGytjP82MCI35gFDsN1G2WxiWIXn7s12oasBNJkSZvDU74tTOASID+DJu2WRhiE4sENQ22oZHcNGAOhcYP0wJXLCZYB8pRZ2AKujWhmK2znkUYvChndUQ6YXcNvLHiloYQcNmmGUZYUXhrBHjFpINuMPqYUDbJjsh6ExIbYN2tNjQBN4TJhhnAOud5jLpZ3Au9qJ41keEyHe4fthysuaBwMBWJkEFQK5uUMuHUeGQRHkhNT1ckATH865YjArQXHumY2gkbuiM4+ANMTJgpoVVXrcZQgBqoWBqsOzRkKB08kZfXF+OA56TDwmLKqSF9K2zkxqGwDjJhhrHhxMmYDVwHlmfo+A4QN8qXgZapoBzxYfknaGIBqqmYsZinMsdAk1DBcNm8YysCiDkNiZYMaqGqmNgAG+wCf6ZVH+B1DMNWNZLAaYxd+MhgAcHDB17hRwHXLZs99eAAS6MTehlT4yP8YF0xymA/ETcbRmGk2ZIBNuYNPmRGjCK1iWH0VnAYttThGEG3ft2lhMxvubU2IzlG9VPYCSJqLgB9hx8B2NEQOmGdMPJOUTsDwkw1zG4Djc3Ho5TAwABxuNu045jXCSZmYgEBnBp4AQ6m/EBGExswozSpjVs8fFQS6sCtxuOoxVTZFk05YmGCAfwZIvLBMUYVylYgA60nbbUENbEswKtOISRmLcsccgAm40kEB4PFD0uchmOOhsnQwvIaYBBHqAiqUYWxq4EH5Fz7gDuAgkDJTJnOzeCKXjRDg6/ElaTS2gNxYEAMZlfMPbAERnBsJpbIFGWahUZkUUfk7ayRuAJ0IMw1iM102SAAb4kIsY24gK0BMO4A5TAY6wG6iFMn5RutOVG2OA97RgUaz+abSiMBkofyOAR8PQwF+WgZ0MjtARyCaD8OBY3rnD31gMNg91ILixk5IzdFgAbo+VC7OvFSAEeFm8qaEgBEdMFa5MNWEVLFH4YKyMK4ALVjX2wJjHFJpZ9f9PqY+0JeSVheQ1+Sh/FAZZwfpDOKWMcL1VPoSsMMOG3j8L/EF9+FJSaC7NvKGicbE5Jg0U2XoasSxvGQRxnCK/ja43IOIYcMEpA62/ZSiG/3FcoaU5B47ATPwFKhhznnZdz8bhs7mu3DCbMCckxaoZHEAOCg2ojXooHClEHSbbAx9AgxlDTYJjGa3WWaHaMdFG854DmIJo+HMHKeotD+Gfn3P9niEIympjKBAN3+DwAHtoHHo3upBAZM/W8EceUoqnlQwfpiUsxxReHBHIsmpMkyupilSMeUsqamNtRnswzbxDo3FjPQHJ7ZgkNnd10pBRlgXUQqp9T+hqbYHVFxGKhlbGcYsH0RkEY0DciHPdV+GYU3PbhpBOCM4iVLwLPezpgNQRvjQ0nEBYPEMCWL4mbNxui0nJsZrJQjVGVh3EPVqHIwVpisyNSUmGuSDBxmOox2tjv6NypMUVjCNhinKSMEaai5dOgaJmJPrBqI2PaanJ9+oApC+VnmM6yXEWZJ2Bn/+s5xWonP3sU4QEdjBLaYbMFK7TM1I2hcbimMswGbdDcbYMYIhM34OCcYZmfEWZnzlVYw6qB/a9tOmX34XZiPlQxs1xfpdT2wGDAomIKNx3zGoQ3gYaY4xicYZtmwAlaDXixgJYYijT0xkQzAvPhOohc3axisHuklEAGHfQSsMlp8HLnYUvo0TiZ+al4otCmdmJdPxjUGkEcY7UwLOG/uoQsmIx2GsE7AZhdXGFxTKMPnCYj9UYXixxyAicTVIAGAW2DFglM4lAu/53JhcFkNDAhIXohbeOP5sCAELQHA2kaaqwCZEvS4YGRrEkHY4DsGMXJGYDYK7hiDmmM9AN8sMKmGJjSnXucI1A4aWyMZyG16jDZ7lGQ3HUZs+N5xQm7pLrwCW9yYSaA0pU7GSxaYjRMBLDdk5Q/Ndygrl/AvpubCiiDIr6AKDaKiXSA5udLDw4aUUhVeGME1VEoLLQwhkbTMQiDmGojN6cLM+FJSYPAc3tGzw7TFPnHo02XDePxY2gDTA/9hljYj4IAnsMvimKnwdTsKvWE3b58EB5tGTyIMchhd7E9oYTbheigRH3UYgYHAHNz7NQAcOGNJ4F6cOhiwnEArUNwemjYzJBmH5LA/342t80mgx7TOo9kgAGClDLMN8leW5DOvgH7qEUphaqN7L6YQqRyhryw0O9j9/A9aY2KfD+UK0X0hJJR0MMjG1k3GmJgxIzMv7BAAfdGfw/IqAEpYyRCaWyBklOyI2cUXKXYD7ZbyLcd3+txQZlwDSExZ0Q5O9wnGwXQOMFvMGAXcYbKNHruP5sFURkxIxalhuPQ+VCpdDJYtPxE234b3UxsqYUhpGiLhDeCi87gWMlqGlpjdjHEg43iu5QyNfHmuv7TIlkPDw0owX3FZ0K2NMfkoDWCWqoamPgomIF9xJWJick0AZaschISSwl3MxABjXFcphhqwkAAB0jX5KE0rAfpidsMHL2YTDAD4FP1l0YYw8t0Om13sPHvFsIysaY8h8gJYUwjMwRgskEukH4gsj/Gr4wdDFqQoyYPJyKw3KgUCAEBhncXyh0wDUwzWGfzXGcWBMCyoeIGdBUFwHHsDOhhpamZIY2JdEi2dgAORhsyQDJRreBdKxGhArE2mJfS2iBZWqxL3U/TDElWPWqhS4Z/6lfusG1zOFKFVLCquDb8MOyQjuzGmmIR6AdCDmCB7Dw2gASvTF1pn+iBjZd4HGDUzT+hnFQ2WYYGcMqgYMGoQqhtDLGakagnMlPgotjDxJvRC1JoE+E8BVGthQM8Nl4EA3j5zSw/W8vS4dPxjjCjGB6DykmeApyg/NNv9QE7ej6wohQW8seMUCOOcT7IrfewjaG+4sSyANfTHGobIilYruRqHPNgbvak+pjeWB3qYseTNWmNXABzVJkGN+amcisOFKId7F5Vh9aMm5BO/TK+mFP5g7JBve9ITmxVnAdLsw4xDFgcoBZ+EF7MXcWMBmDNY7dBM/5se9MQqmBylFYMBg5APPAwaLDyQH5r114aYlN8jw6EAYRhpDchp3aecMwxQ6vbI9pqqwz84gJCMp2GKl9Oofl7YA7IbCBM7HGdGid1HmaenD4bl+MylGh5jFk6KwYG0thlUNeLiN4gFOUq+QAoZZTWBOWGkAjIarEd7GPabxGNfU+YcsE9JkWw2zo6LNMfNBuKjIjgYT43DoboYskpefXgaOgM0xzmwG6XNQr+3Y/OSmFpQwK1CCNYoyGkNMYU2EerHnJZwcNgdg2ogYKAJ440ckD+FsnH2igAeJfpIIDo4DlpMJRGBtEN2WKFBXFFyxSCmxYv7jKI0Gqox+ji3wBSjM9jkRyxoujzKmZXcNYG66O7NuRt1TG/jD0CAbX2OQ4SCcLVLCQZiZVgw0mbfMCIAAxwEvmZT9ZJLUa0sFR3NvwxiCZipR4bQSnwWgXpQWBl4YsQwqGOlrLW/zq342TkZloChWGPagHwcLu017lg5MMqiA3rjI2xpWkyJBrlpNXGGB3LLq2LVTG0oZ2BQGmMthITyRn8E1NsC+Jpy5SmQjY+Roa31mShnyxAoS9dqIEVvJKyYS4UrA3GIdlQBQridTDveZS1MJeGoQAVjhi1Mz/nad0suuGbXTdOfCsgLeuJQpcW3mfljFFKMnI2VUYtuM8e83tMGxZroD1RKAnh9L3GpmueFFm3TBhi6n8NKWYEkzCJiMwwHOmZwO8Us+3gUTlpivoE81zgWMFF8HZDfczskaygZj6cM1AmoR/aS2F0myLUA+p9a1G7wjBuWNTIirS4SCNzHu41kVkhhCRlSe7HMNEJse3TV2huAwy4dRfwBHfOt60ZAIJrEzpt7SkNLMCdQjLThpbQNOVgdmARkSgIfTmIPwGHYfZc4d7XyMTkHGFEm8R2Y4Fk1yDiLZDPwxkbNHmDCNQBuGGx7TCGRu5cHspjYzMdhGvPzU0wI5wGQfAHsMNc+VS8f/hl/4E/gCuTccSAFHAYBRkm8QJZAMqx/OBJzzJEakLx088BOSxQ0BV9MbkRh0BzkMwDiMWJmhVMMP9M8olXFb/sNp0B+gQbZlpdAAYbrjONlq2zwBSWBmmC0kw7gFBviQiVA/5xvxASBv42Uxo6APGzRlgL+8GNU7QqtCcmAIMLrTPywwV8wuicorW0HjIFLpMIHq4EHnsY1GDNXQdJkpbGOpg8GBpaYLHcMaho1IyIObJvF4WgJ5DdOLKoFzo04dcMiDmV9rOgRpXB3htDJh1HVmNd4SWPGCrymcBTnEieeUEjcf4MQrBi0zhON95Y4TjLrVsr3XiLCt7cuB2ujDUaJj/O2z1r9cM3jGIlCVxWOnFlsKACL9vKGMXDElWAXw0mESLPgiVGh1DIgAE3ADvYYfUxv7miYka0SIN71WMZFyxGmGNmuU4RmQYwJ0BVrMEVW56TTm3o8hCuP4JaNwBQ5GEJYtOuk2MdBnFNyC0OkjKI0O/TG7UaayUCYBd9UCVoLxuG8B6dABGPAfjDVyJja83Qibp+MDZA25IdamHEIiVpiU2N3j05aTCkoPorC/iYjKMx+uW/DQSHlsIyjYZQrMpqYfoZPCcKnEwtoYL2NgRGqoLFzfoJ42RGzfbAx6m33sPrFiQ4w7CApjBqGuQM6BvMOCegg4bVzEHf0iXDPZIEUYyGABscA/QultAfcJrdb3jmAxqMtFG6XDJngI2MyL8YKTJWAAM9MPvTDbEBeYZx8AXpuJnDOC1g0ZnA8ZExon0kRUsFFwDijXvPZ6KtYKG3wAb7YIBox4mCZUwg1eA1MX/YGwAEu9iF0hk6G9QLBofull0i9TybNuVCc1jJJhmltwnEBU6x65wPnDN/tLQl3/KAk+MMKm4VAWJiOdpkne4xKtF+GXj0UamKQ7zT0ZMON/dQ4zjNpUiAw3DbD9hd+0QiljYi5LIq1DFj0SxarIl/DJchv2iBtsBtIBqXAeyQchrLloyZuLc+NThun8AbJRhGwwoZh3PpwbSu9wS1UL/h1acRNKwUiBtpjWuxu7TGUVJ9oAdnwVA/P0hquoP1ShG0NlVYiYfCCNnN1ynrDH6NcSGntgKY4LG7x7Wb2UYLxYaMpcKgOmUAf17X0wDrY1SjTuMDWCTAqZ2aIbNc+NDU+WCxAEbGbuXA/+W5VDTCuFso0hXgagAfYBFogXjhmMJHpDaek95xQT3DNbJqvwwOoZcBBwfW0PzG0SDL21rC4tTN8D+DKadpgEX40QkZJ6ZgHGx7TceWONTGk5J494FuGkkpEKAH6c0YjZS6NqByx+jVlgH67w2tjnThZNg6jTXi7CBe2bnJ/GNdAgKkAE2zJXpizvbPigdKYGAja8hjyU3NTTRSMmhGYwkChWKclC5D4U3dMmGW5DHwcNloG1UB0CNj9GlpjWM+n0w05iBkGMzZGs9Qarct9LC2Ua6kBjkBJIsVJAOhE1vdBsaczj+vpfTyRkLBGTIZ3GJVWG4bIKYRpiUwwgC1UxTJuaVvQiSHisxtzZ4mMP2w5ljBchn7TAhQCI6ZonI8k5ChwGiwI7kD/OQkuoXdqOovGUFCslg/AB65w4xjC5FnbY1y0YjMNoQ+j8sYOmPyh23XbGWs/jG6h4ajgP6kxkViPkNdrGQwAf1DOnw3iYifewI3ADFDJmmCzEBbpj8MMufoseTJznpSzEpZgRsMc0w91rFOUm0S2Qr4/49wig+TEalfopoEWmb8aN7kyB3ENSAfkeFZyD95MPmMiVzZB8PPTHQxYdhBdaY+AAfYxksuS8yCqsMQdwZcTI7hplTEdWaX4CWROd7DACxmFHy3YZGr9ihGAG7RKmIbLDT259qxvIml7fBERpaY0FMS0u4p5AFkjI9ptCv1qlihmsTdAd6jHZiPc2j9b7hON0gSfpjanLjmwycs6FhAPMAwZbXHhlCsxv5DSUwPzYkkjNdkk8wH6lascMdqUoNqed0PpeEnUCUPgkqGdLQJWJpSSmzoYsMtoyATtLYaQFLwLfka7cNFumbjEKAcrhIx7FjiUxq6YcCsX4JleOGAUaK0xaA4sZ9b6WPt7BOLC4kNXMufLDSlKMmuxFIZiMB5YA3DDBoMOpQxNtQSWx/nILeAjPhiXTHQ0Tdt8TFG1SIHhmCek13KDGCJvJG7QjYCWNqqSPf6/ONaYm9SzOTHgJ4yitZM8MvgADPPZucnL2yp8aNE53VGWmbB5ZunQF06Cl0NJgAmNcFvwKAkwxpi9EwTqYOMgbT1tswxuRBMpRYKGKksFxhn1LG775gyxyAeZC6ELIPuQ2MsYpiNtVAwKIKAFrZI1skY30MNAgWOfFWmDywxd4HKhNH5YiSTeaUCMkCs6a37cQJGwgQBUAR/KCxEQe2Bmd++ssDxhg1wIamZfJtPFY06AxvJjE+0E27pD8IFYlS4DMZkEQFNMznpM6fGmJ4SqTrz8wwaapqZ4C++ssOTxtm43YiwcaIGpYEfDFhwW9vWypjK0wnAAVrDFR3DxsygK6bExH/G3KhK1dCdCw1VS9YtimOF4jO5WHKkFFkbuFNuqYHisNBDqAIzQsZuUxN6GyRTCDZhXnHYDClNhQKG/2LdjHLVLGmz75ls3jGCTEP/xuSQxIAByxMKq01yTej/PTo3rVbF0wpbE3ePcq1ihUCrFh0kg79Gh3DNxiNTlx7YYsm9nVAUxweJiHyQ0XCbstc2aYlYrPlQu5fytqBVWN/ogZ8sJZIJguT/Nhc8DB5GK44WZxNCADWFZsMBHR8vfDEamB2OTLIbrc9stAYigdwpsUWABca2ABZTGnaPc3RuRmBUCZYVw1KGQpfLvcEgzEJmYbJQ3jGrssClhpe6mKJzbKMd+mCNDSGmGIoEXKaeulvzYvYjWsWH6Q3KQBV8NIOQgAUA3NpbID8sZvexDlWvvMUMAqNE2CGZKsBvHoTJIdWmD9TBDD76pQBNEaejcbprCC2dnYf5MkeGskgc/zLowyPIBo6lz/M2etD1VDEVyiu7AVdRommlVQOgM7Yx8HAwagGpY+VDW7LlOb2bph3lNB+e8LQKgRshw2eALsyxbTGPwAa/EALQ3/4aHD8NlGFLDbmdqs4OtoaCON3UwVdDAoAE88igBbzuh36YAD4XEhum+FNkbPmwZxwIHvQ/iHXpiog4kywCtQc4AJLrh2YAnICESNfFYqZBS8Rt6Li6tjiih6qG4tfBu1LCgPNVh0kgYoe3lgDGmPkeHMy5etcK8OJaIU72PzohVpjsmgPSBVaQIpwJW4yNobW5MElYKKtAB8IWp1DqacsMZWAbQjDLhmgAC7cAUrAHBOx1Mdyhl9Iyd1gqSxXq2pWiLRRrVo29j5N7BNNUq/DbcQPIyyikG8GI+NGYDMZFhlBJy2SCP0NbZyW/DBFDh2w04CD3lNV+GZBXKO3mqo07FjTGcMjGl8zG2WMGLAJZCUwDIumOJDSgTkl1AgVgDwJQ9Ej9DfytiTLFm0SjeMhJSvAAnukuoZiViaT1B/jea8sKF4jKnXZIZW0wnBEoIACQzm0UzkJ7T+BQhGjbDMBPuOcDwZgy2IjvYndnZEbHZAAUmaxAAOyGGcsfmBPpZg4Fa/AAmXQAqjfcWIko0nDZSZcreSllMHzMCbZmRYZiWw3t6OTgXcoMd7BjSYm6ARZe2l4XygFaw1oDhd+NDFGTbMIgKK//lE2ZeGNZ6Gb24br0AJLAtSB0d9bQ+GNfC9RlzAM55gsidHrWZC6Yi5Mm4yoL5QDkjJOdjQLE9MgZwvUawY99WGxRrFiAMXQy//6cstZnwKtMBchui0lrsa6KwxBGNtgASLgKADUoaafcwO2onEUiWFuiDj0bm7AZj2W8Ta+dv4w3psauaMjVGqYjULZhW43EzB8UNpLYYMsEVlrO4BnphoRN+4mUojRqrtGSzHZ460w+YiElsJRWPkEy+uIvLNzdgriBEajgOuzz2An2NUQAvFrQ4bhLgIjV5E58+AAYjAZzZl4IjBEAqiNBPG/f+O5yN4yBO06EGpWjWQQQOuxv27UswJEsMEDWWAAJsIGb9lkEZpKw+wui37AGJvx6Fnob9/4QpYwgTPuxvxQ3+cjfmxVemLpgHhmAWw2tIZfCMh0wwMsa9rgxw1OGZLiBAueF4sEyxk8VwqNy6jhm/OsTXbRxtIAPGMTeUN/nIn3sXsRqkgA0fCwpRxumssAkmwMv+xjobAXM3qAmj4ZkgOK0xvEBrUxO6GeTDe1UBslGfkYVuN5JW+EsCoPsg+DikaCNYnAAAnjMwRsqowagANwBewIu4A1w5sTLB3Fjw0w4qGzs5b3Jkhx0IMwmkM2xYfqTC8WO8qw1VhL0NsJGnAFezRMEo3MHJ0cAI3GqZDW2mPxQ3SAB0khxZGFRwCuHkilBtsDVn8noejedSgsM+v3IiwMpoplYXczX21ltLEJAhs0wp/MMlsEFAMi2kDoDuBcIJYG/LJlKPjrzvVgHxAUhw+U/c4AFXc3tMbNeNmGYhVsP4Jg8niOZzFcCRoWXUjNcvIOk0IViJFMgKGWajVgwC1M1QKZTOB5CuIIAIDhlK0zbUZ2WMhGGz1MXbhl7ZUEZaLKwWIArmjYM7piyyeWa2MDql4m8sJiRu9iQDpg2jMfcWKIkV0htXozLnQkcA+Yi53sVCtoYL1f9B7MMUNybSpFccKmwIGXSAaMjvYkyTXZiMQEAvyaVql9oSoDPG0ZiCAG/56W0wt+GDxwYbvoK4EkEDkR9yqYVksTacC+fBiCYjWAp8BYEHDPAOGzxY4atesxFArMjQ4kPCI1vsYB0wIbweWqPDgKMrwPljuONBBSOZDPDVFjEEMt6++BWtGZg7QApgc51NoEvLMpjg27TBdhn0C2sfZgJA7s+LJDU6xl1pnApALiASHGYlMDZ3hq4JT+Acex+RcAXDGYALGfWVN5WBQIUAgvDVlRgEoDPgH7hMp6wS0+XUCDGk1UZIntBLtOPKWTrxt7o3iMZXONzvYYlsVxhgto2cYaQCMIfQdxjc3Rm+iCg1740N2SGc5DGjRFVY1BMZHaA7lYxljWthmMunVXaKSMYaWSPDXvhsBzndIbAjNGbiqxcA62F5sxrEb0MBXRYFX7S7/hYAA5SgD6NHgAgmiLwxqExFoCBf0NE8gD5xKzNiOny+9i0BB0J+JDjFJpk3TGYoJi60Fl+S5DSBks0YzUEaQrwyqGVaQChwGtTDP5aL6BpXGEuQIjFp0vzFhZHZgR3mJ1DDJYF4E1CDYdytuLYzwjPNhthI3/gCy5BBdmBOjAnQMTTAfeaR7hfpYcqQF2JibQAppg1S9+9i2MzSdhqJe10Yakkx2hmX2fL8rl0v3EoZGAA++S/zjEoRiBbDqIAtJoaUWODbaCgPMOArEbQMx/LBk73XVVsb7kWMbDWR3HGd7iSZJiLswpYZLKNeWAW7DSymHiBC4R75gc4OGPugBbRlGWHG4ZFLxvoWlFIewDjRY12gAkBBw6B2ojOszq9/0VShqOhiNEdxiDTxgWIxOvCgUMLz4cPuMtoAdzWwkbg9MiAoxgiWBHnJYwYoZ2QBGSmHokMP8MQEHyEbFKsbimo0TEuhmZpzvVjdcRZFWbL3YGWJKEwfAIkAAAPGmsLDuAPdu2XG6iONymAMWmV7hrCrH+14Sxou6GEIIaspg1AHzrY+rp9tGrbOUsxgxLFWLj6yC61G9ZjRfhjFQwfkYpDgd6OoJjKxhgZZkfyZcEB+ygyU7BBRmH+BIADPCMCuGRzOA7RuUo0EuanfEz1gQ6TXFwNH1yBoaZkNJJYYIAPKpsq7mgk6WSxmOAcy5aKwYeLF4m4bsCGqYbHAHZiAJ4104aySAi+GBrDenpq+QHdL6XjkyF0/uof8lBd4xAuYYsMp6Yt8ABFWD5w0TbK3ddHUWALjbnGHE1xrxZvXFLOmXBAXahuC0z9p4coAvAm6OjAHYoB42+VJQ5Af3mzyiL4APAoxB6B+qNTZunXjIbxixwxSzbAOMJvmdfiBA7oPrAQ4439N1bGMAQf/JjRe0RZImUxJIWbjDVU3uqLlH0TjZB8JYtMTWthrvsjNUYpylVqG0WfRRwJXTHou6KBQ7U0scsKfrMFADfbi72sDR4BdTMcZgbkwE0ZscBLaODHAMahvuwyjx7zHot70BRbdWmHHAhyKDuH8+JYoKTQdJosY2dKD+DIi7ALViey+hJQx7oawhtZeGbQzIcWDTyQREaExNeoe+vDY2mPZTGGsB4cASGgudJYERtuBmA2ZtsM3+OD1DGF/h8nn5KANywv0MLUsPJDmlrkCWAlid6qGkB3JmWDoIwfqCFVUkTGtnDMNWPPTArebPCNR+G1ejQOmKObw5UYLyd4t286Qfv4Epc0toYP+cmZY9lGXehhZQ3+pbpBcI/8h9jVLwGeI1UZJo6lkqGc+TOxxt/GAE8YwWcI9WrEsKclKzwzTkaWYFf5mzkcCCpq3Q0Z5Rv6DSyglK3cbRuA4POg5TKxI3GqvmQuRuMYzlcY39tHUQnaQCehlIaWDFioaBU5YB97XfQYWECBYHTXNlZWEHDa0SEbY36yDaGBfeYGE9famFylG+gD/hADSudDDMDRlHYOxcj6wpqqGGj4UYcO2C1cobYWNgWBfwTFiZqRjjaEZAldYvGLOifmBH98xasSV6Y/vmwTDcwxrHLF9s6gCMqGeIeqZ4AiT02MiYSxNayBMdMJhgE8iBtGZQDlbicg+JTehiMTg04Z62gUHGE2YCrti1MzaUaRad9E+bUQN2gITkzYEYSWwXAW9PDeYxoR6F1HCbukw7+nlDRvQYIACJIbBKMqtBkz3M9YFCAHMcBh/gPk8/IuUDhmJTAh9BxgBs6GX+IONZrlG0mBKUdtKlww/vV4xtoAEOoa9FBbgCDDAb6hjNSDjaZI6ZnOGXn/SUQdHw0hABxiMxQIBfDdOgL18RBQBv5sxKYArTJpWNE4y8ehO8DQCgd+fXToP0wzkCB7gBYqWOm6MzLmlrhIgEj6NjBgkW7YKUNLTAKZb95Nt8OsFDdLhpDK3+qieNAVvG20jEZIB/Q3CADnexZpANufClYESE2RSgPMMg9G09MLUzL2w1sAAXWcx/Bb2jf9XBMn0JYZVLtjmm2UAJ89vO6DO0Bjch0R2T3bY6WPwCW/jDiVMI7AaBwasRnN42ikZwcMQFY9+XQMtg1M1VP4B2MiX2b04DqhjSwy/8DQUNqNGRamEF/Mro2GaYgXNFBWKowF7Nocf1+VhSMBuQmhh7SuWK6GS0ob+CNEqY0Q4WZ8B+RhT+bodtBaQTkwTgCsrvERH5ImM5zi0TkB3NjfI1t0ZoSCbNcUtTGDrkIgRGSDIPh3j084ofqAHiI0g5BBVBvMQgnjU2RmW0BeWacB8QxYde4UOmCOsxwB5ZdBxuG0QIMy2FrzxKXje6MgaGO1MKuwHZojds5SMA3Kg9L6Ag5qFAA3m4rbA/LOvK9PjQTL63p4ZyMN3hGVPTXFRsMIJSyw30M9Ge4OmE91vQHCiYgODtEWSv+wYmogP4A94bAiN5JWEDlPAIOjo0R0yPY9j2anjjfKZhRQyhcY8LhMK4UmTNcxkuyDHOblUMCF4zC+U5pn7qEKACN/4AHwxpQTzniAwy/4YcpR9SUVkdCgRgZTA1VSxWwdbwmNcXitsuI0BpSeONiY0FcpVLwNsDH1T7I88BpWm03YdWO8YA6qCzRBVjGCX7T5tpQwwmYBvsNhmck7DPLJt6w1TUyHRCcnAgdMf51qFAFuiZ50Q/dQpNMFgFrKY29AjhwsYqYscsDzMPPwmdMZPoQzU0wnZCoAKlC0v8aIitMAgI3/EYAIVTFTEb/KkyqS30ANiRkG332FCrmN58ewKneC2FkqVugygOx5hwGvoJekmcUyY7J0tA1n2FKUOvgDNSGdrAAJB5WgF0gUgJsUDHVFzuXB+GGY5DWFWBPLFtph5sMhgAY9TQqqneU33F6/zpN8O5pTQCxgU4wMD6P0w30QGE8ZB8OMYgmEAfmDLnGkwRaIcIhQ3PJYYmNXQy2bjKawBksFpuY+6MgZ0FCsI7hsdoFFnaJFNr9G0dASyADkOCgQA+dteAASOmUvFOpQxxKToYsmmWVCja9ptsI2WJhItBnbGAy3Z5gEW4z4e48fF6bG0UfbymMnG1tJaAmtpWmunTOzRgkGzpaDb8M+JYoZ7X3UEVAH5L7gWN1Rcm/bVqXkFbF14Yc14QqYEjxcKgNmrCiYFWSAWzGurDQ6mDeJxlTqIUNe0ugXgl8vmD4ATqYz0xpRGixTbwnieI2eRa2L9y7GZynRc9v6owWth1WNSlYwOwOj5vRLG21Bk0xnzYfsTQOmAToHmZ5bOcvAg2WgaAgFhM1JobwKMM0wyYdBlWOhok5eIehN9ueXJDXi7FJIJniZjkMtlG8AQBdxpiaBYmYA2QVqms8AgVWGtf1DkZi61Lri5GYABwJkVwqkYiidrbAB4nWoIBwAEKXhi60zhIcCsc0Zj6wDYoBckMnIW1N4Jl7t9Qy6pjiJAByWBDMNPRsiKQYvb9JQFxArxfHEpFmw2YXwPgFnZyBuTXyJi8szjlIYyMALGxksevTKqQ09MYxBMXpwwZnSVRqVIX9SYSHh+1OsjJJK1hVpXxBYjZgPXm/pDKtvm/3D5/iPUAjLwboAGhhrhUxMsZOJsj3G6gvLuZrp0H2CZrslDWYUYAPAIDGkw/lYTiAj9wOm6Y2mG4Dw9g7jaMdHiBsgWkFm2wwsTbIikLZGtQQafwPWwyZCDMRNwdM8dgJSxj6uh6pKf0NnLWfksDaRsTTFkZKxkBEWGcdDPvkl8m13y686J9JY7GiBDprbo3M5ZLD8jkET2jLqRgh03fnCh0ZCJYMEjEZhqmQRjFgyp1QTGUA5SklJ5wKoEYGOMHRuV3MIIIEuV0WfDJSIMNgpeKDxhhfAD6AQcxAn1QgEmAggA5EIwnjQUNgmGf6jDDQCSLFvf5lhMDyeuzEdgRp6ix4thk0x1KAPrAZW5qm1yT0wIWNnfGp34bZhh0QEJAhCOswQA/77V0Mh97HAP5ScAQZwHoTZ1CuQcVD8D7BMkPOxQjE2gPm0DlsBXONq0GoYsDz1suLBDqYztAFRGrtDURWByhyE+KVLgEVY2nTELIOIwGfNjPKMZ6Y6arS0xvCEwuKa8CMISmeUjKF4kWphkFJbJBqZwWwjYdWGakws4YkOMppw6uwRybj9pz4YCZM47+Eez8YNgINLCI4DViNPuACB3KFxt4AHAYZkFh1RWMufPu5um/1fgFybd69ML7XBkRhQI3HOCuLcwHGE9QaFxop6id/h0tBHyG0MXd9dhJ8CVkpkwBy0mlapLefgVYPzGpWMNHP2SBrZqhpBXzGoYEEBlCmL1AdKPsMzma8aAaMkG23BjJlgBfryP6D2/VYTG7mTYGnENVjglhL0M1DwqVMU8tiJQhBzQfmw+lUu+HSdhjv0wC4ZMsMa+A269NyhtfiEopCA2A1DMOWjRIwJ4aCA4bJdtxuGC1DK94v3/nlaDCdk/vm97fW8xlOrCXsBExo3jOebDBHxpyoxl3ZuUNO5GhdgaZVnXpikYDGeM5FYFCsDBphzQAjcZUgBIJw4TjcQENVpi927VOMeduwfDW2mAwKy9WbxGMc92EJGIixsMzi8CBWkNgAoHhAG2WGdMRYY7UR9dOmaCsJPTKN03aSGpkFY2gC4gJWpqPWAgoD6pQOxgjzEUiWN9EyLO5SicQc0fqTF+hsEEH+cj6SxWJYO1sTIRumUFOaYx0MpWGyUBa2FqaUFOobA9dZNe59AeAIFNcymMFJOtVSGOtMVZhsSjws0684waZG0nJUiWJDODsjqOyw1qYQbjEeoIxcTCw7mSMhrAtVMP/xoviw1ADWnNZ2AnTOFgvl9Jx9EYx0wpksPrDZV3ExF2H97yJM56GaxzUgJoZw0loA9SNonGc4gEGcEg4wTIZN0wj3GEh4Sy2JaiFV6bqRM6Rmhbgg+WC3N08kZgVBkoBF3jXbQSAzCPCbcMxA90UPDKshm4ZSYPL6vsFmut/jHwAInB1Yd7nCNCWGlrDYDMCBLC+FBdSNdaYMqjduUo1AB4vi9iM73mQdTTxoNZIJDYAQ98rRS9S3LacFIwCe4Zhd4uvAlksEPVDhsEPTRS1M+AA1mfdwpvpB1t8YE5dq5i6eAYemMlIgtSYjRCZbE3XESWBoyILFkCxkA6NSXczO5RvCYlCPg0CBpSBnpjO+xrXY3g74TywgOGzwBVj7uLI20GZGABEjAIzDNumFlHyDcQLUDywWl2zDogF9P1fibRCBnNmpHzPBQYoABloYEHsBbU8dgAumLTDyxsQb6J/+mQwbJMpIiwxmpAtFtuQej9MKZbKLM3hRY/aM8AgCPDHlRFZV0b648TB2IsivANx6Bso3OUZ6SNg5uKWWJN4quk0kQIc14h2G4bYPtWKBbB/0TUO9d5+VSjBjgKm7T+KAgT8uvAqJ+QIIEuQzkPbY0xEugNtgYIZnvsXKL5xSxBZGXGbS/xodSnFdzRUwWGW35QUPtp0zmnhZAsDqtyM1IT0xlxbBgs5p4AoQAbhlRQKLKY0TCYjMMmbiNCnIVNCt4yN5Jq+ZxAQeDMK2kO3KQq64bnAJOmV0naQRgoviVj6ZkN7fqlqIa+mFWkETAweSABHwDHAbKmNd7GRoaxqMZbE+iscz9l/Qz+YbiPF6+muubWK2NEIHqoYlhMMKm22oY5phr6DEoBQMwV6wWFcZuAb0y1uAKxkNiGBqrDXWmAuwwQDZG0M3riVopIDZnGLEg5B3PoPJA/1LL/EN92jvcRFqZCi+ZMcHgbtoM2OnBXA8XxMbOgZ/PDtugMSruBBK0m/qGNPhp2YKMAC7UxuGIpJMblQsuoJPYa1pMqXuYNDG1xpo4BT+CLq5C2g5w7EsRhPTA8SY13t+EgzYsH1gILs0AqL2fZwM+fb1c9XjpIyjCblZdZ6GAOxTIJvmQwpYYMCMKkiALjP5gAymigsHaqlyveb1AH8htBR35ljLFdwqYC8LOvhu+B127ZFWw6kI7ZnNKhpG4wZEZTIlBaS+AjAZKN4/G1EYBSNsAgvK9LahoEb1uzb+qwv4A3qsTBHHUfy6bR6SNXOSmNjDWRurC3fTwd5N+GGBlmEpJm1pygZjGCNANGRtEI5BJXplmk5iWxdaYUDTb4Mi+UA8zD2Hh97idgALG1LJsDpdAcFAaTwcYTQsmMZ6CGAAleNYs4wQAJ5ZkyBzY4DB0x9J4wUAF5ZoXSBUdwlCM69w4bYchHplTHkFJlXBf8gxBbIQIFlI0JraJiM7Kmk1cZhgKTSQhRYuiMjkE5+jACMrcATUoBtNs8BeaCsRSvmmT0aLb7Cg5bA5UmbPWnXpgbgBSMCO5ASPJN56udLCX5ID6M89gIMiQqqhNW32YhlUMSemR0ROSmG44xSyzaA81yGhZ7B+Jqm7XB475ydMleUrDOXhtzjA54jrCBA8whqQjwgMn62fL4VVpHqAdYsQC4JbDzUAGVitfaeAUjUwzg9gBTa5uVBitBklMJBxsYMEn0YmTMv0M3xIL0JnrYK9dxscA6XQe7AFPvPzTEqWYkjML7i6SQOFAB/kw88DAgA9sO3ypQxRkvi2AwHKqxbqyIBjKTEpaiEO4bAoglqG/gyHgIPvLFnYYxHt8tQzI/Z6mLvIkvsb+oYggmZRzROJoFw2V7b6Kwh+GSfWK3hrdTGXob5MxTvYPYjegQPvLDBoYeYAGoAXsjYz0NBQ2x0686IDuGvAjR7hivoA00YfMZt62gOnUFHuK7gKAAvTg09GroZYZWP3kzypgk+N5Meo6jQg1NuIBMCZVrNBYgaarXygNTOAvuJ36NLyQStMdzVK8ExlnDlSYEiAanPbS2Laq0LA48lNvu0XtgfQAJSzBPaA6CNEKGkhgToAIXSBkP6y0wJAgQGIH3QLeH2/jbQ7MsK4GlqKFfunWw+qY38h8OW2SjaGWL60lIS4+Dh/qY7ane5tKBDwIkYF0wjvY2caPrwDGmnRBYXeMRNyob3cAUA/I2oCAUyMU5SYutdzntQk3hRaxVMwqA0HXcWAajuG/Ni2Hhh5YAsgiR4hNuC/QzUsNUkAdYsQsIN0Hwwt7V6MiPAitjTISBSUH72L6kpXZYfTjL/RoWTFT77prcdjMlS4VGtsguWskYfkZ97c7tnY9mpwSC+dx0jA6WGjVsEYAOsD1q0bSuMGOGZwkK8WOvLCxtTzZMLgWbz1aWmF4FGzQHIp9onIuEja9Ho9yTOUbpAkXwBXWwT72KiUDaVIMMMIQBYu+KEAYVTCZYblUNo+GrEnKemDAEEfoYN99APmHYwTz/uZABNkG6iDXGyOgjS+xoDQytpC3+M7veTs3KQ0tD80doa8698fUVgQQWWFH3UglhmDBflo3ng6mcOdTEmSbwb9CqYQGTVnhimOC/gA36MIQQwIjFvEviCy2R5e2UZBQiLJcEDglo1WMZTkpEdMJtMKCTvZonZh79MMJpYnoAc1WCTj1fh4MqwNfQt8AZOhp0wDv0aNFNzJMX2AbPduwGHNViKzgxGAUrDKTgFVY0Y8DIW9x0mCwPUesMsAFuJzFAxxZG3wABHhmbI3s6jhCCX602ogIDJtaJGTMbJGCTR2f+pcw+Hkw1RA4oVAspGuCjHS2Gmaxva6NWxvdGoYBW+xppo36j58ACDvmksTVfTjnNxhrDSWwsug/KrMWkn6QwS95ypBnI4rF3JBxl8dGy0ByMMpBBp7jNkJvQHFaCgQ3hva+J0rXSmAloySpjJcMOVwkcAZ0xu0rG1pgTkBd+EvuqSOAO1LGJnCygtGyGyMg0B2DJbBjSaIbICDuetMPR9qI4OAcYDiN4RGQugP4JmRwE74b3JlUHepmuaIcPkxF50ShiQ7xCIBzNvEEgGX14ZTOAzU0rkTNWrjijwkEaMMBN5G1cAFlFlIwHS4bfMMFxAIyAz6ZhePx9YaLUxcRGLXzSygHe8zV8yXxJwBQ0TkMR/tQEAGyD+DJIqAvHDf8JsXQxPYajAku4mwzOb6JpEaiGf7OSdXumzXjOM9k2Q0Ylgv2MFZuPLDYPxh9wP2FBTHBWUuFRwNSgBsYyuMxLUM+JYhE7ISUoswM7jC+M9NmgkWYDOrpii0EACHKDVPgUALYqxqwoxDVjfKlvzYYuSV03hd43pEYhixkQAvcsfTNr5rmTIZY6DIswPAzV3Nk2j3/YZsSMzpwTyIL64qywHFrgDVxy5SMqsQdrs/x0i84DRtEmmxnobqmLEAF1IDl2tuCmalDJyYH8Y22pgBSxA4AkUjSuWB3IAR8ZeBAjBAxHAdAIS7QyqiGKpR5DO+sHGvQVBw3RoYf5M5pwnlDSsRnxFmlY5R90mACTPDc72P27UACiQCNK54CPDVjlsw7k81xOSM4pYhAbXWmIroxYYZb18HmGdJIZIRH1pRiJCTCMZImsR4P9Rui0jMKDARB0MW2NMOMRkwASiy7B+N8YhgOzU4RpsrVdob05BcSW6dxZxbjzwy14gn0MC2mGXDbemKA7ClYZ06BCABWlTMYKLGfSElL3uJXImEJsGbysm41Ud76UxyhWzJARSxrEeGD8Y+p9ExGfqjAaJr5QHGsjaqlcEugq/DCeGuXj++bNWJiPwWLjahrgD7DqQiAwc48eQ/DFhIGbwzbobyJN7BO9miF+hgD0E8Ka32CwpAkrDVvxuD0z6FaVis+FGhNgvKhvPTFgM438gsohKFrKuwC2Z1VPoX6MslSQVsdW6PyexiphPMAfdGqN+QbbkklDOmL0PhHw0QGpYCWOBBxyCZnywmEmEHndJJgpjmmKaSasCNEiLTNWmB6w3hJhDsMU0ei4gVJRucwz70CJFtQUoGUjEJhvaY3BabEzhxGAD0PeY7rDwyq5Z3KNBAm2wAJOhujQ2LG7AiMZcm5sKM5RueLFJF5kGMWGGrIHV9NrHLEaKbQPNmHGEXDA1MDlC0Jp6UMNDqUdjQdeWIRQAicASHhxY+8rQA6Rti5DV8YBHN1AmfHwf0NlY0ysW7+AdsBSWAjNRxm3I3FNLuZMbdmS4gIwRvxwG3JCpu1glG/YvXnGO791YABh/h8qGVIAVYuMEMxpPDX7NwlYj3DJacGVM3GcbY7cKieTv3EQQLpwxXrCNSxwJeeHrFkhmGrGd66nuN+ZWlRVM4+MkAHj/AOWIPNGWJSP6JpbQ2hmZB6NKSUFrxIKmONsBgpKVisiVGWyTDxhnyyxHXb0MAzj4Gn7MGhkNYE9GBCu9KbGkIAbiAkQcxjM614shYIJhHE2gJUmzxEbAuAISM1A5fzhgJok5qA5OAzBBeHDCyhv573/8BLkN1KmdGpIWCNECGRMj4gtmOGyruVahocSDP8Hd0sipYS6Ta9Eppo2z459HhuLAIiTc3YNkownMFnkt6/O3acF4UB8nih0bORx1Km4xjYXDraLEX4YHTcX/2XAQIt/pcwHBtLzSgP6GVQMGHIqUZnWpihpA3riHosL9DFlTFvgDmRMNNuvO3aAgC+fFoUaJhNKxG14jaGwFeKTZCapeAy2gPCjViQcKz2N9ynzcWGGNAgtkwQ3ky9soeZgkeGs9DRphqm80xYAF0wt/AvHDdjRLo10GKZ8qExxYT0QXqRjxwADUZ9T9JJYc83GENqLm2OPDDyxJhYEbDXThvR/n577n6NQZwsavSsVkNYCvHCkHsL2YlonG/RhygGU/hdUx+leoNqc9psPZysGBArN5WgmTzYezvGn0vpi0MAlamwZQWCoBhsBV0ZtyMozeLVjUwIDYI3t4ZvZhGpGxv4TOgLio2o2YTywGJYoYBeyhoKYjVIZjlVzVYpFzckpgOIx7FjJUN1NGX/gZumKY/yLlhjixFaGfFNJyYK3uHGcaFxgKq02FjKjhp2kB/0Su8M9GGOFQ9cktd9jvUaGFMN7OhYkCJwCXYFttYZUsMGsk8jGdMLzjEAG4sxMw/wOaYZ82PGQBasSLlMyuGLtg+OwAbIEXlgHvMYCWh9jAxKjOLE7egwGcZ4WitDfghvW40WMZQqwolOOkAcwcgZZk8kZtWMepGEksYFTt0IMpJQ+cN7VQ+R4cbhtHw0E8ajVN86Ou1XI8JthsFNMyhgENPGJmoW0WE5Q09dIAboYKSEsaIa2AGP1t0aZ0xQUoBbDT+hhIEFh0zwmJGJYgGjAqJjyok8Kba0BgXAOkbdgwGYUxV0bGq9gGGR4TYBwBhAEtpgdEBjDGvwAC4boi00AKa3QZoyA27jCNhvPl1GpiqSAGG6pjHHzMEAV0/taFkwxxYwEzYWRrLTDwnCSSNrJGlIiUSxiSO3/CAduNIqYdYLOc4r9TBEEDqnNGb+B9QTZWrHK0J4HZqpBNuiEjL5RgB8FQ0DV0gzVYgWYJ6IAOIyAI7rUwzk0RDHP5hq+MEuuInE8mMIKowIhmNuIDPWCa2My1ipCjMW2Hnl3nJaaAseuBp3XGu/vA4wAfA/3NR6wGH/bT7GsJmsYYVaUsTel7qGlhjBNVckCXkMJJmEgLHgwFybFCb4sxN4e2nUrNyWHeo2PYaURNrWYWrTKy5n8owh7yLWxYMSbJQuOBAASHCC7mlNz2AHisWKps6UDRZZv0tAEAzUAb7AG0rDlSDHVNvtg4DjQZxsaUBkVjZ4d5YA703alQTHw0bIZnFNS4Wa1MbkRhZI2lX6zaJ5DSJ0rcyxprcBAuZy7c1IhYsgEtEBZwAR1hqDE52GVksagIAK02SHI3kcJtwkmrLngUJS2dQokqx1yWaPeZsPkNYGCVIKHskMWPCjJ8hq5E2SgJZSNdl+1FHd6mOEw3bSZdUwWGGggAMgsHd0wDSh3lMruucRnYCIDK1FvTzIpR+sgcxQ8RIOYY2zVTuIdxmAdzQjqyI6IyfVCzKMrVYOusdgwM5uUV4A9SN1ySgsQVSmEBkz09xRAA3qAF3MbNgOxFijoZ6TkE0B0MsfTRt7TBUdxGAAH9GFDMVuDq4UCtFLw0wrjMhQCOPgHG0zzlanuN9pOcnjMEQK6GSKMbb0xSfGdkzOsbmG62Wb5eu4nt+jojc/zL0uHrQi4VMX6Y9V7UkmIkw0JyaaqwMNgTBTfIliMw2v0bpF95oA9WLGuDmVSWNuY7oczOu1QTAS4LI90DtCdCsgJ+DyTaFxppqkFpIGyBlVYlapZ+cq8e2WABjUC5KO9wLCzxn7IzKUagWwTSGWQrIqAMOrAsEGF2B5JystDfmWD/fwcFjm6NNP+jAbfH1NaP14uICpM9OMFNxHqmK0FGfG6lbsWBGAoAYWRhhSxKEaRYdfNchK3cJWHMrAkeJTqNh5YkVMSOAJMz03N650kzBGMQjRSxrDWWlaYtkN1aYa/DEqjm9cS89DGGNvmGzXjNqIOuwO5oaabdiickqALtwDmqWCAC0VAJQeFcpC8Mk9QyiIC86J3LOl6sMS5rcASisbKlM4aOLZjHahh4QCbFjwF5LoWhaTWkREYI2SYgYIBIZwd9fXzzn3qADnaCaITROOWjYTQWiizOICQIshgAJt7dQrmWm1Y5BvBNvzY/gyQCouXy2AcDUlMslSTYsP+JvxQPrvaNsNedEuBnWdAZo7xWxBwaAzBgTqsSWPGcJGllhUZM3acuEjFbEBTI2q0wXxMUUozI3MI9ky/2v2Yv4NNVYoUFF8+EujDsqBHixAPGpSsQGwHUI3wCC+a56GAxLLGLgdY0zCYb+zkb6GTusMKQEHo23JD3GJU2BwcbCXYDZ1zB4EnptVtOgNDDzRnFLGTMbUJNcVGGJjTxxsmYwUUbHyMvrijRgE5VnD93QtBeDMDX+J9jHjZkndEqa6bcM1pYZVDeURK2kNESa0MwfoMe9vbhiBeIzhQCLxkm4AoNLLMTkrTDJmaejAS522kLUmhonYFZeK55tKCwX/gDBpuSU28oapnhXCgV8sbvIYXYFmPZssstNQ+6PcoloBHzAcYzUDvVG9vDfTRrAPBDYBl+CI7wr/oEfthVzQHJYx6Y6WGZyxS1hgSUBfPgDUx3qYsQXdiRnNLD/bDOMNjmGjo+FAbtMC3f0a0Stywm7H7FMRnDTHf0ZCMNBpYF4ZYD9n6jwQCD5TNADGonEYAKEahDDlboDsygopJMXlcrQwBy241d8zLYh2A3uoe1d2tYYOCwGgw+0vcNsOckxQyyvaYSpGyDMNLXIPrE5qA6KNS8UqE2EM9n70z7ViUFtnzikWLfQAOKYzykYsGIJwets5X69l5vy60zLv9uVCvtgasRm5TCbFjlyk1BGEjxKKjuUFBAua2FA3GIE6jXMiiNYFqYYXiw1NOVu4TCuOSFAObY50xuqYtIiV8Dj5kQZSBTTgcSABFTfaEvMekoAAng9F+GfDJVEPuDpkathdlMbCAd6TfKbnwo3nFjph8+rGh1Ke0xjlt3Wn5GCMVHmYJiXL5ugDFhMa3Qs6OGiz4AauCU+22gDdcRHHA0+TOvTFkQhcYaKpRNVYwYsTTVBhw2SP6SSleGYYSTDniKVkwMsy0MAXGGrEsB+Rpan3hRaIFI1xY0NgHKFlylCECC8EgyCAqcsBkptqIGTeJggs77ceUjbJIXpYXQ6Y8vtPJG20AV8YNLCwukDWMNIFwAyQx/xvuEzSlgC2oHPe1rMKWplbwzotgjMMslSZbDZEyJ0zg5Ka2iRxnGrUja4xnIEhLs7B99irGV4pdwmI6CzAi6/i9QQApwjQIIMxY0rEYnIA/Km6LSIPDm2B0vsaqSA5ziVIfKGVop6gTsCcOBT5YYlAdLLBsoxoUYceMAMc5kjYPhlOw3hRZ0cAtFmpiTZ0JtArEcW76MNvH4KAAdDpsIw0yEaNkNAzw8CjZhmObCgAv46Ux92GuZjLFKEawi/4ZFWx6GA14sCQjoZK2XgASTNkTIyTEGNVMtoyqsZS2N9AgvBiBKpmXOmNXDjGMWZBhcYVLEN/MzuchvSs2QmFWAwb6FbUF737UkgwLcZkJI7QAZZin+Yv0MXNGl4je88Ks12JoH8RNVPgqxjOv9ngEDfvD5tAQsmW7Degvq2Y34WZnHw9fOiPJBahuwGBDaH8Bg46GZVwT2wEVxAU9YmKNL6YgbkSXgcurEniaHewrAgPiof5ZigzG7IZlBRtmIxvuPZcnwwF+6y8MwYgmlSzHthluiFrsZOUwS/GGgQYw1hv4y3kYy8NgHAjssNBICMkEaKbq0x+JYF4scUXKmwzGiyrlAhj2XoTTthonYEJAhRdBVQ46eAbcWK9pnCBYfzREmGVjTA6VqzUFbV4Sw1/wmK44KHTGA41vMbiMBf5BH6fE9oB1C3ysak0k+qYIjEJ2wB1Q2YZhz6Ns6uH5sa1yH/4yp8ZHZtZ+EG1sU6xugDAO5qRfE46GHjgtTjiIYJjW6CZZ2eGNpAtyoEdgK+UayQAqOG9SHYnplEqWs5gElBUxGcpQ972L/0O68YgSweimyZjMC3DywyP3B/TgVMy1ONatRjEIwZwxwqhuW2RQpDPht5TD84jy8DvWG05PUqQtzjDk0aWqhoNuXIOSYfpyo0HgGSx5xZSrOQI2iNMxGBkYCgAmFwypTdA7ribiQWbkFpZqYNK3a0hnOAE/AD91DsamhM8CeWDBQwqXi9iNMYA6mjX/xpXTGcOJB6NyMI3ajApXgiYw1EZ0LN/cwfVMLYxJnI14oZmFAzLYN8aKGmL1I1XkE/UxdqYGDjCkJtsACNFgMcAel210KdPAFZHQDcaiKwJhAK+gb8oIQQHYxxXRNapYSZSFw8AfZxX0ACqxI9wtazavRmqoz/iZ/mxfGKxD/PEoK8o3Hz7px83T2Qw3eEmAgDweuAKiNi+IblQPURiPZyXoaXMBx8Ud4hZhmKdRS+Ubm6NdFY1rMKsgA3LDc6H/VRNOW45wXFNHKZ2dMbhJCk+sr7rDURlpQzGnBEDNwLGtd3EGZphXE/8YeEBiOA6czOzRIEEDlsDGCI9FYQbiIdvtDEEDE5ggt9JY0a/fYJqX6mYMKejBxXcaejZ0xvgf2C+yO8CwhUNPJDwAJaqEoZi++BoZmJSTP0wL7zGIuTccBOxGgBjPaxlY03/7b32CnMhMBjF34MBzg8pguHgIOGjNxNjgKJt2N+Y1vBiiwrDnWt/un43KUYXFNv62+4sd5KI9QHclbpUxmDCo6oGrzqmQwlsb97F8euo1LBFWAg729xaQno9TG1ZzaabOgQFDEhyJ8oAWXTaJbboJpwnIBUCNZ2AaTQEZxk8i2AzCRZhEdGbqTELRE4XzIMaKpQMa4KxjJlOjSY0JYZJBJKSUrkTKwRjYECO3YZp98nm71Ef1JukADwP7kSB1g+AHwA9hsUWElpgE6BwquYIgWjYNXAAalgQzgl0Y0TDWOWBUGhGph4MxwKQx8jbYGDPd3Hlgd0wlLYL5QOjhu2e0thi/SwaFG9TjJPrJFQC0sYUlBXuGguXSzpoq22oX5RB5IZwiRgaMRsQrz8n5O/xohwBC8YDMKwE0NdzKqw6+A7yUCG8P+bE8PB4xCzPGW96E3QO0IzFAggSMl1gEsaVKmCJwy09LGOgntGpmuCcgIXZxRrCUkpMEm4rTU4AHqw3VsYKf9LqYOMgdUXGtTH8CjgMxaggyUiZZhp2kH/Vwr1g3AAfFgjc4GLvmPiDDWAIHKmz/OZWLuLGMoZ6aNMh0DbgJRzv85CRyZHaAa9GTQ7eeWDJLG4CBvoh/AoHMQOXktFY2coaKUwLA20EjJuAKun3TwKZZtb3QEJGbgII/LFiqYpVDH5YXJDdDpvAI1NMBgUNPR2yvdYwYHrTB54YUsNNKqEfLCEELRsAnyCCCsTziYsgeMhtwYyRKAqCMTNQtCjRVKD+bFSVhtBMjWGLjpfSzC79T3jap4sxxYk9QMLFrUTh4KZBGNdOGUjAXVxuvLHymYbONgb+jnDBSZLqwzLnSW0NDjO2dTCVIPkI2KEZq0xyIsJZPc5Jk7wzNYbu+NxEgvYXb7AL6syoq5vSE99+Z6sfnVA403Y4ANuBYVYOZfBERriI10gHzTckX+j9zYS2LaLAIaZTcEfgAIAfWhmC78EsoZoZcDRGANDYmmEgk27ThNfsS1+KT7C72JTa3EYAbGNvtgQwAKI0GamhGRIRv94TEoTEMoKLhY39QFJUMwlBNvLd5EoET2ZaQCaMWgeAG6R2WGQukmBLVBMbXGO27PP9qFL2mYjnU407iQIzHlAG0o1kEbPPgJKAXgUJWjpCwzmlhEW5bgCuJDHKFlAC372LtnNuICDXPEkWE2+wSkBT5MwFggLpZjhu1j2TkgxoDA6Y/M7Fx0gpMyXFhL0lUY2ayUJBJvIk3N8FB6Nl/mjDAXito9yT6PAHpcShhqlDI3NsZw3LSbGUMxZATYseVoM98EtVCd0NrGO35sed0LU6k2JirMNO0gWFcIvxr4TFOab0MA3twhJjfzhtigOvRIVHA8GG2LkD0JumUHUqYYsM1Shq6TOeku8iSMEbGOhzHAqC4H6mJwSANoj6HgwKGDksECQFUMw/IxeGNHKGyIANyHuC00F+aT1A37wzDAbNWENV1OTQpQtmIsRXjdLhsguScETQGcM6GlYsZT+APo1BSgcpt8BGLHDMHILIpRBkSapQbBGxnjHYRpkI13tSWUMD4wnDgJGtAxo3LtYIiNzDGEnwesxtXTEWMZmeM1SGnjjDVHvcVxUubpmNwlYsFDP3Nh+u1xGYh1N0MW6tjMEQK5TEGShd/sWjMKfeW3xi46SpeZ0+NhxYKowTsWO8IyOYYQhMMjBinqBahrslFAEY1MsAiWnYjN2gF+iRwmGy8tw2W+X2CedqkSw/bASfAmHGM0jefTngdQwF5o6kfUwAdMM37OWozVUYKL51hA6wgDT5vTo0rFiXzNpaYBdTHFGuryTpX6sBBKCwR4sGwgA/w3Job0Tc3UeydDe6mDhIxJ6b4+pFse4QTEkZggm1yZY90NhYmpuIT8AKoKA48ZW0wX9BXasfkAFmM3yoblBokdMtIPAG/hpRkX7YF78LpANGiIawIrwB+jhtbRsAga04UG1n5oEe0a4SDmpGEjxUapjmcAQihWCDtie5+jXJECWZ08NC26N/wgC1jU6xmwACBnQUlAJDw01nAGyNu008aD3JCQ/oPrDP5KNnKzYCBOiMSwmD6eLkdg/w3aViXUxm8wdysT1ZtSTwPjBukDmOAW/gGt4HBLCEcac1AJYa76eKYRltQ04VacsMs+IhnDMXfDYDxjSY1+MctG/uoOVhq8jXl0Z6SM/yGsKzFBmLVTCHDZgLsM8A1cxNcPj7U0ytjQSMKtKoYTZ+biyQ1C2a5EBThGqWIaBXg+AXJCjmSZmQWOdArvcNbQwbYa8AAMpGLZjWqmOAwwgy4SqMx1SbuTaLJn+2EvdSsyNzxYfowI8Jm8YwjKaMkCMvesjJB44Lu0yb2BO6D9SUkJ6L78BjTEvmb2nN76GElDQsSM4QFiPBTsNuuGksTRMJn7TDssZSpMd6OPHAMMUHFI3aMacxAxxY01DUPwBPRzkE4NpouaeGYjM5RmLIHjkb68NK1GhIEYWgGTTAskappNHUQFYjZ3MJaw1cobeA8zimLyeTMhp/sC9CaMetDeh2wALOfnvX0p5awmN7lYjpfdOZgEk3hRZrqwIUmlRVNchnQI1lW4McNBmmb1xCczlAC0DtY1uCmwgv+/bqocDF0qVLQuMp+cDTGPimrQo3aCYUKwQzuUojLLnkklFvgAx0N8RmHqqIRJlfQz2I4np9NN2c3jDINDjClXsAuaNF5YJ9La2hgamBKXhbyNYLO9UsJ6hgVE30PATyw3KYHeTdVgMw7lx4Zl0xf/GMjjM8PtrQBZiCvTdmV2XfjcYxNfoxxTTVbk09GN4fBvMG0U2HMa9wsexYyZDeAIAG4xkk4YmN9Ag9l9SELgJ41WC5gTggOGRtEXaHsi2m7nbMkASHGr3DeSckcu3schEeAPNGgEsdckrfAEFkbbABFaYNQggOACmOyHSbEyx9WGIULMVKON0xGRItzlwBQi7jbmhq8EwOa7Z3MImIEFAHv9rZAJ0VaSx4uzGOdA2HpiyS3VuiB0AL1G/6uWGNrY5To1IXeN6P8HKaaRgP3kw0tRVkBwgmfnEA+FjkUGllg5sN26YtSw4GRs98Flm7NeMTOGuW/anxg8kzbybVbkcmI+hnXn1uEw1nOIZoctOOIlmGPIFNwX9Qz+BRZ2mK2wdwZmLi2S56ihMFvWQkLJEoLe6GhpgTZhjk2BojY38Lsq34+YfthWNm9ZiRGfvdTHwlhT1h4RGIDvSIANQn2ygBEHMc1SL5QKdOgY43fuA+UNrdMF0gdmaJVTGSYjyiJ4jGQRAFwRmcUxch65ucaFGK2IOI3gPwxcdJd2p0gAldDKW9n/E23XrgiBn0m0QIGOmoh4mSkQ6iABGmY3II1CE9TDpu5vewlwupUjKdRuNjzUoDnpNnNybDACNwP/tjXjbU2I7jGDnHFt9qGkG714QhNCjmD/DI3oZzzBaoYROM6dAQ3DX5NtQOQq0pvewjFQ+hTDxJmuySh0bkRYtXw9rjGzQI/TBhrDc1caV2yu8duUvb9XlYacDAOAAwjDC0QKEk33FjZqtBGIRGWNRWPZonw4ByUwzJY/D3HyYJAGgoa459Ma9GFYjfe4hnHzjsDUDdKCwL/TIbusFon3xaCfBfxGEejNqWEtPkg1aQLgdFGF13IkhiuOBu0b+X904slksEC5hzNCGqx1iwJ8h4/jRT1CxM0dIZCJMc9izx8CeWKGkFsvCQLhXjGxM4CGcMkH1dpBfAAZ+QcacNcQVIAGYBaKO9LTGZqTXEHsdoB1n6eMNBZY+mjf/8O443Zq5GKxctGtCjW9PDsxB2tiZMMAWGTLDOsWKpbHhcZ8EBaxYU9YNKWPCI28fgqjB8roSC/DymGtODQVYfMgbKYEbjAOmAtYwwcZVKwchwKvXLIHleB0YUbMcNctG0FDEsWGPRFch4xcMunOwTDAAkMto3CYaLFNzvY/4TapzO3LBsvDfoAPjBJYjNznos+DIKEoOMfYgZkJaqhgtowaDDjkdHHGeKhLQTt/GA/lC98NrFYgsQUKmBwIA4F6l+8zVawHAr2hiGLAeobItp3pGSJjTZcOesymLYESNQLYzyia2FgXUwB6AGgcCU+FLjN9uKNE09o5+aA7KmSaA4OmC+sO9YaggAH+GAdjSKgNKIwooZ4yMgMma6sfGhi+fBCYj5TNMZBcjDJkxqcI1QWZOAADAA0UjfQ8EWrA/N4GqtpUWmYObKmCeH3MEDcSdhmcHhTAOxq8ExYEZ6WFElGlNjF5ZmJQAj4ZOos5vGc04YyhrEMJ4kaZQduaGB1bHMhgw0zsqC4VCZygZVwJrLLokzDlgkSCiPA/s7PXtu6mA5XBTd863ByFA/3UFVLFr/YbSNLnWT8fcz8k1oDRi5YTN8QArN0P0wJpVUwzYEggcyutAcXXxu5QwB9gpZZ2lYvlAWSQEHowrphB6NaMesEeafJpMEWA5wDVwMaYZBjORXr5kz/pjbVdN62s2jBVKCWNwlYa1OoXNGAj/DO5nsj0ntSCaJE0+JIjbKABZw161ZAQc9FYNokE2zNNG2DHL+oZBhhZBYK9VjM+xV0ar8MRXOqtHFvhgCz3ILQBtNSygG1secULU0E9pjO2NXRYcPDed0LhUy+AA9yD0Om/lMKk9n14EvdSWUB8YOKowEacHZo2ec74SxhqmXd7QIDh4AC7iaViM/QYo5wVngFS4EAiY5YlnxQh0XZRrq6Q3bpir4BduGjyEH4lk8sx5g6GFN25YiE2GlhgDQzytrh8Nvu0lgANnxo84zFAip4AkGYDcsanGjmw34wEnUxEwMAHwRnlIUO25c6jVNO4wde4aD8NdTG+1bMmB6cgNFjVcAO5cGZP6SBA2og/fwPUxoGQ2gZhu4ZSAm+R4U7tiqI2jcaEABnawoE/XJEMIE14uJjzAeWGdsjKTnjVz07h6wmMwaYnAACVoKEjzPYYfygCSggVsCJiOheE1ViXXEjFQtB7QQJgBY1eYaxJBMmGLUzP4JllBS6ph2R1JJSgmWZOhuxH0ElhnrBjK2uDDYWgD6ECepjRKs7cmKLcMWWJeQ1P8B6ehQFultDOrhq/6Bcz6SOMlWABbpPemBEABsCBDpgrpwYMQdckqvYCSobORxL3GroZWAeIhk2JGaY2NcgAQ1gKOJkm8UBsAxiwY1UBXfXPkDYIxreAkOtZqYzY7IkGlEaGARaS0BtxmaTDNR0HJR099bPQCAqYqdAFUYN5TCf8bkHE3Mm4M8HahsquG+BYxpobmmoFsQRhuF22ACh2iMkC2f3HU4ANZzAZCbvUxTBOUp7TEpuUQBCSa/LR8tQLViK5KBE4yl462uAQ5Oc5DWhmCzWB2fCW0BlaGaUscyRgjrDYTaZM54FGEjrVnmM/nkKABJ3QwJgkE4aDxjHTCI0YdvNoJGUEQ+wriHqmI0T0SwD4wvYEcGRryvW2kaHvhuaGfxjMQ7gJIxUZZcEBs1YBgALqNt/sFTdr4BBTbAgjDNPRjhZyqVhLFpv4uv4jU4Rgm6hKFbBQB2OAz6uFF9ivWDBliyv80Egq7DF2mAarGsLhiR9ZkodRALdEMh72a8FCVDK3Gw7jWZKN5YCr/6OiM5yGSnDeBRppAGOYarpMOyGftMPvUIzygl+bwmJgacUDMIe/tqp2AF7Q7d7vBbZjcyTAb630KZEHNU3mmJTC8Min3iXFhShdnxYZx8cR4ndwxoEHgBAKHALcsVAASAzGr66o7NQxI4iQDhXJfMz10ZPMMjiADEjQ8WINLFTQDdcQvbKhfrOxxuoeAsYY+Dgi1MXmjK5xizkNbMYL4h7PsVAjCBaA24GpvBT+ZOYgcHDA6hn1Y0UY488NAzw3mIVzkjO0F60Cb0N5WgEr+VWThtw2wCCJtlKAhn/DMyWAkCyDVLPPhQZwtVMYb4veQ1+3BelMvAWDgsFMRp5eyBVh2BMkzm0pDZhmNnLF086KWN69M9czKjxhSUDfKArYDGOwW9MMoKHarGAMacEhkoCbajX7rCXTBw4ba0AXBOiyqI71pXQzKJLp3E7lws2jYWgOdWHER5KWxOxG4e5EYAJ2I30f54cAGNGqWjCNNuwwDz2ACaMQc020jFeNpW40U65fxMZ+QEiLK2Rkl8w+YyiItgOBLpgBhPt4/C73BKKxvLAdemLE9BezHTY6n0Mb/0O1MbNgBoECP3DDKcJgAK0jY1cKA32GZy9YcchwxgiUuwNIfHf0ZYsQGpm7M0CyhteLD+RyxBgvrujnDezRggF1Gf4CSxOPEiYTTh5GYWxspiGlt9dhQbiRphkzTEb0az8JI6YSCTDUDh2YD0mYh6oD3mvrSdOLHXi0moJ6ehQ0gYDYKaQJZLG1oFgaN6RGWAAbYRruACmcCgCMlyGPGzaWWGuXjHmA/gsIAu6ZjGWxHqY0sa7FedT8OXWmcxwLIwyali0KN7y+v2mHp+kHzCkx6j1gTogNhcCtxqmbwR/6WUB/YAuyUJvRoHTATEZnJo+nGgEsZ6mKaY1bI6BQllgAP5sYx0E1LFeV5ziBYgwa6A0f3htw2c2ZxMR1teiHiI4gBKw2Tdq+6hZ+Ec9DZZhjN5QrgBffg3QADIjafDlAOS04auixNTGa6sG45tkoxTHBAdNVeGzovXIAA1THTfCKWNneubwrS8Rjte0ecErYgeomyT3fQlqY+CP6A2Xgt70Z4jNjAVfQ2drAsbD76GayUeWACvWA7HJqDE3xYVtIPYZvsC15YY6YCaHWxafOI5iYby/gBmekXXuEh4PXhrpHxP46uixgFGluA+ymFQ8RNoAjZgrJYbuAmlhnxo1dtQ9qsWrEwU/JLNhnLHJnZIMMK6YNAvYWxoqw1s4ZQrMdFGzXjOMAM6hWOqZpUxBjmQibObxs2p2EA6+a5VJGYijOQ1uXi3AFD9G0OaAe5LbhiLVLFmfCE5dJYGc4AGKHswAC/xCvMN2he5/mX3VP0lB1EBm8NiLkGCARXQaCG0GZDUuASVWbkjGtfojQETEjfFBPlGqOgItznc+iqVj8UMDAApEsU5AOdLApVboQBlmGJIsZM4XtY3OTIVHAmxYVV/ZypjtSnWEB/MNYHe56TFkhqxLErVLq7Au7UVdDC9nk7/G7AYKKdvbGV3A8CMJrY07ejIVDZZY+QTf35qsrHkwEPLNqNGQXvKsWHlTAvDJtylBTEwbAHqmA2YlLsAntAufOFdMCMhnXw1S8DwBAG7UWdMAKmOAUDOTR/1DHHA+AjGjzoe+D4M4OACxD+zx8O1hioGzNVhtKx/ZGmQjCMQWMunCAB+w9RZmGbQtaJubo0lQApUN+/84FICVIEvSTVoZ5iwFMc4OmKdRlMIFjaA57Fj5G4DMMbkBCRjoK6cAARLMJkzT//lqcMnYZpUwPFYdqaRZWO5Q3nFgf8NbRIw4sMLxvMeijFgMN1ttQbDrPcAJMiVsKDUrsUUob0AjR/tB42XISEGp+mGjrTVBzsxQWiEYRONaIW97xMOTvjTAv0ZgHMkeG9bjY+xg8w2gIDIcN52+0IAbKtsXQyFkEX3gorGPAgmS2GaemefBaqN97iDdqD5kKCoyykZ3GJ4+8FHAWK2NqIHwlhG385rGdwgEsJo5w0KgDJCIPImcrDTthu0wFvWhSGl3j0eIjJ8pvBHyNk4Y1whWOhsQ5emKNTA1EYeaMt4+v+vdLLH3oGu9hNKxV7AJtqBVgKzw1fG5CBpVXWTQJd3gX1Y00cBy2BAuG8JMMx/gxwxbca+2AnJYWvEUC2K4nyDkE7Pg/tm1TjEuwHv1z6PBj0RAPGIZrBFKBCCDckavI1l6WpzTKIgBaIG6piYMcSgYkIAddJkdx18l4/5MSmGgmWZSiEJwFnFi4iNHOAIb/dSplLozK4YaPhOrgEceZRFq4UCWMS5UxqX2GSwOTRjGoyfSTTMRu0+twgKnpv7mAqXgF3seVENmuCrmv2ayupjEBA6JA8DjcTMMFU0JnieOcA/BdLDVyJuXKQgba6pQx8eEvDae0OrqRb8ZzWMiVG/WQeszs5Q1Lg5nJpK6kJYjZyhlU4Pc1R0Sx1CWvUjGwdv9i0yCCp0xZqYbqIZQIKoKBhpgPnFgugZcTUx8IMlEipiFQBtKGBnDE9hlYFCOZyhocZxwIggLtWIGDxyhaXiMHQgS04PnxnBwyEDbMkB7NGMgod5WKNUxV95i2wZ6Yp/DLF/tLBxSuLzpAUO+qcsK3cAhwwXzq3DN4LYS1DLhhtII0oAB+6hlxG4Djaj3hK0CHKQYbBthGybjeMgGZUKNYExUwN+S+sKaLwAjwyIlbQgAOiAY6jJpTiZqAipJ4ZBfnGQHDC3zmBrHc1RWBBJJYpmuHyHtUE25ljMMAyuGXUjXmhn+X1z5CFQBS/UMN4aN2MM2xdZKsyCA4e5TEexyFtQxAthTyApamH3DY/hO5qiNQiJiQCgAuLgUzgFYMHQiZTWCJdgcZwsyEvH+3/NhnThtpWsJjMnQUuABCACKzhVmGqaTUIpp44z9MCVzxe3uujDByhht4wK1A38gpAAlTvCRjmjs1xcBZH86dAmFcFR3GWFwuYD5ahEaAXczIGhh87nhJjSWxvqGFd3cmhnVlhG+CZCNlVYbfMdlrsnIwB9jieNymmRtDNHZrp82lpjw0wWpYTNA9hfvxQ3Xlh88Jpim7tMdPxruCwKABeBQ2vG2bjSBQAPTEfobcMMDWG7QjJSaiWEz0qFYpQoiAvK9WamLGuxGsAeExymcDbHWqmD0QDpVaiRtmOGLDDF+ht8GR/WFfoY5kshVMMExK2Yzr3D9/5ggBdVMTjoULoG1iB18cRMuQ1DC8RqS30IViFkA6WGJfjK2mOhoiga5ZaMDBg2tHQIbm6iEh3Yn2NAQY5hjMqZgJo1+6wYABtRGdIzbr0CDq17MZ6ehbdGE1ieEJiFogbYYwahA4WqHDfNoMuIzC7wIRRfFYE9QecUDkUEAibLaMNQBLCg+1hilTDsYGbyDbTGnyjNlEFUo1xTaW8BmVO8XPSWPEOf0PfDucNHqAEvDKh4s3TEr0wsxA8Fu8AjViWExIz00b5CNjmGWFcM3hi28wwngMMBPlGFMjEEAGLrQ8dwvTNwKQ3DbfKZpZLD8sbkRZlWeossA6hkjax5YBxpx9O+N8aExRnkrktJShSdbKOuqUKIgAY4zBiC0tow0mbQTVw5iwkEO14TiBhAmksDIZcjfhy5NgR2AH6eXwjT0QhnB3xABGzd5/+OSwkr5uM42Tkg9UlfMmTgkLlKEN3Vx4ZXUxzjAHCuCVIHZS1tDxUuANOGAGOQWkO+IHcJjN5h4HeDksHDjtG7Ee5J88Ih0mU+fQGwOwIz8ICt7gWIAt9zXz7lw8Lk/C8R9BGIC7jfkXIn637KDQfgTxY/f+NA4MfIyh4bnUwQX8kcAVJALzomwCZv9puOAugwN64ssw0+CaE5M7hAfng0uph0wImMGrThVTG4wzZZhpzTFLroA0MGBG5XDd5EpNQSAChf8NDjuBuTVCPmz41yRCtBRF9w403TMfvQCz/UauyxOHe9HpL9DBZw2p/ZPh8sp+d6TQ4trkAACUAyQBgvs7MsUHXr/Om8RazaJSmwrDAf/ps7mDnYaVsM7FYfCTBkJhVWj7EFt5D3ZuKtDSnPpJFwnoYFABRn2DokcE4duWxM1DWMNv0AypTPxhjjIFcdZQcNrWGqWIdVgLYSE+9hh1tF+G2/DSthneK05qBm0BX7uWDxQWWGpQ0WMZYnoRpAfUsIsmt7oxXgBvGMnogddZLjrmo6E1uC3E5PFBpRmQK2AXw0lgad0M6fGIqXSikCBIC5NiXmMOCgnkjCkJq8Ex+kEZyxF1cNFPZBcpnQHkX5tHs3acWSpCEEEFbDK4aQiNNWASnDR0Rqz516EZdtNuuGQJ/AsmqOqFuiHp8t2KeM/IPcJmunyXMbyaMnAArlDezqJBOA7SauMCyH+UjgfQgIM00xUZ2BQb+QidjQpePoEFbsFx0MJj2ndQqPuibU1tnL7HszLYCvfOvQZEAAEEGn6kNVuUujQmeBGw0hPTwCMx1StwTfvYsRckOB5gmJ5WgPAQIOhvlWks0HGDAHcEs5zEGRtzcHkK5JTC5pYvHQwKWJtwztXZ18M1qY9mjVYxkuYIewBk0xjHQaCrZbzmQ5yR0zNLD4bWdOgYMDrcUGYix/tgl2Q/UfCMhhNmGpJA5QsTheh1KUGUiAILGz7t/su7UA5LSJiJ4aHOljTMQ32GazjbZRtFIxDqaFWxkpG2wAZZhtfTFH0Sd6NC9eTWcaN2F1I1cpipUwwTEtCjDlNJvQz+CbLMMOBA5TEKURtd7BhmbdegPk8KgTNO4pOw0PXCntgxt+jlMWyAARF0U9Sh5DofmW6IFt5urcTLibDywcoArAQLRrnSSDPYZ8pREZcXTaHukvcvz/Ib4yw4IencjAmjtYmAXF4LcM+WGc9DIx/h6GyT0GmiAe2GmgLI/xu0E1GBJYxAzCm4JieSxCeQzXMb8Cc0mGdgUZixmkBwYljWqt65waOpQJhvpPBKXiI6YgpGcUsIawFu31gjwsdxR+GWLEYFwKmQyD0buapWJY8CjQqYr3kwQ4ZqcBgnORcsPKmPIKVvdCs8MNlGpcPATxg1MxcEZGKgoGB+wTRITh47g8pgR+CnuGorXJg8kqQxePD3Sx5pQAKjQJYOMM2iHDbP8L4A1QTcaWD1TDglgm2pGWAvKsMqIYFmAWoa4VNKj+1VDLixlOowVE7C7Br8ezPnEZICi3A/EAk9MOgAs2XK3cBt43ymZXOMmlGWDxc3RjNQ3npj6aN7fqQOmA9hp29B4UaQysFJmFAjZzcunQFU0YVaU6+G/B/ZcWNuBgu5gpXEH6YOTDD+hva4wIIBPaM4UonpgVxJuaxyck6mrse6GchmVaYQdo0sAC+tJLMCvQ7cYxJ4UzxUJYPFEWm5/mcBhvlfBlAEy7tGJABrbBchjBqECCBs0x7NGSVDaFxvClBvjSi0lEjAbBTbtxinV1nOJ2GMqvuaHvSKgJyGw7ObacNqsWCi+e+hjimmu+xSiMylGACQZbRvrLFjO6jDgWFG+BPUxJujQxQcas806J2LRvdYQJCQF24bPfBBZYAOfdk0NeIxrEaAECb+QexfcHMPToyACiyQAYDGRs0FyplsYk8KZWqtr6YLEAVJhjZriD0a6UwcNgMTDEchjJbDGEjCyMWgA0ojeEmIbRD9eEP9DVNGYE4A72FbIwYob8i5nUKgFsVSLqSk2GkZkFhthGrLLCLhtB4yHSbfQB16YqbtSmdmw6xxL7RONUlGcNPGy8OrwzwFYtWNanUowbCihjmQxzVLM58zVaWnDNoZoBoyLUCn+BA6Y2zEbOfgGo3Syyfh0u7UH9DOKhhil15c7ZJEJ6GVx4cwxupUyh5Ze2Vdyg+wTeAQDv01kD7pmNucYJugXlKPQAFC0FYTN61U0G3NdkrzomBkaFkwUJu5NjSrcFgAGIYFkz8zBgB2JDX0IxLBDYD3GJVvGc7Al0wN6n0SUZKxNLaA+0JH3LrRsGYiwzkN/HclETXEhlAC2IA7tBMpjgz4saxMN0C2BlgIt9uuIlAAB/Uks233v6SoBBOuVIAKesFlnAZfhzSwiWGPY7KF3K6V1x4YliMypmyFzU9WHnsD80DNQsrL23VTJnrvMGF6kYXwBySG+ssBnDPa409MbJSJY3h7NLIawK4wxw2Dg0MS7ARVMJngNzGSW0zrkl6X0vcsMthmc+EWVghCd5pQd7iWX9lpayG4Y2XgpqYGDTWTNCew18TTJECrGGiSjQLMKNQ0NB7AsttYgUHnCCgMUWHAYZLesE7A1+jTzXIFmH/XI8Ddkw6K1DNmhkBqTv4RsQBrkmLEsFRxkxhAhVDGOgX7GlAAsdRlZLEFC5wec7lYnHgfqQYpoDcYjM8NbZy7N4OmmPs2xY7gUB8BkoK1rDemAskFyfZoHAqaGoB/F2hu/TGRU4/iMgNSFnDPtAASyEO3ZPRBxGABOgSE9EDOkr5a+ZDnNmT6EcahrRfzenBgLBl5Y2ebVDhmPMHvIZBVBgdgsgjOc4qUVWZMADJRSp+A4dECRoAT1AoaKSMPnc9M7MzPs+rhz2LcywnmGdOgZ5WlNIFUuBzJZQUorMPc2gOQEE3vZ85d6vWZVJWPhspRHz0bdlBRUWbxjNCJv0qVppQsSxc+Q+asLIaCqMDHUEbLtIV4ybjNWmMMzjr3AziwtL+bdHMsJt5NzoYawydbdG0QjU0wGJbBAQFpiwTogl/jLPQdvMLzog/UwuvGvmwpjcGnwwkeJtqNm5Y5WWYERrboxNNZqDd6eGtAQ3IgOLJ2fFB79M6Wgcn4Bhpuls19aRsAAGmMEQAQ9cBdLGb4R/Th35w8CjHsUoT/2VxZfKMBl0jEsdxNungBFhZDlIYrYf8TPQABo1wo6Y36NpXGGaYR2EiSLF+kb03sA1GvMLNyRm5Qz7sYnsNw1Qofw7KmIbRHxBZ98kIKAaBwcmCAfGCcEi+jNLi+T1DQchmEwKtqD4+pPJYMaaKZElaQ0EEHZuM1AmspjVlpqLw3eEYIBBMSm0DMRRRq2Y269AOkDVTWjobPLVCRUw9IZUycKgALwoHOurxuHGMQkKMxQIcITP5hhLGlcVi6dNN4IRHAEy7sGUAiYjiDB+nOuZFBdhoQAAHC6VixKZYmJTYL7Pnx3o2CXJdgoAGQjaTkud7GSoauHN1eSyYdDJLg1GwHphJX9EU2Nc0a9fjMZhaLxgW4Pk8CvAT2hvSGzLB5nHx1KGn93Muhl24EhnCi28kYkLtApoEh3E1Jyb2aN0W2jcAEAxvP8104bJRhgaY/0QIGhj4AD84iaPhnqYtTqYAxulTBQkFMLhuRBgrgM5NCZABenAnkMqgYzUsO/Rit8WYUaX+N8QAPtgUiWOEEzPcG9SMLOGDDASWBtKy264akbsSmG2TLVOmEzwF+ka2h5jaYUzA/e6DcMzcCC0VAv4ASnwSdOrVTF18Z3GJQxYQvpOqmPsxCxkZpDCiAonBIHi+J54DiETzX8/xGQGw1DQBbr3VFw9IdIswb/aV8gI+N05uIGiMEHiCUgf91kmUhSoaW0APJ2hc4YmcBNmCd8a6dM8ceGHDFFWkTgIDpjskMAXGAFjBhgLxWy0cbAKM2lSE24T0jjc02p24zxcbMh6rAVcxkxhGOdaapR4OGlqoHzMOekyn8zu4c84wgnwMdUjmcEMiHMWN3NyfEsA2QNCZ1Nmayqk2AAYMQG0SLPIw+dydyM37wGEAENgPClDOfDKURIswrPDOKdmXEws8ZFOBsqYqaTFvhiOQyufYGsNQTOXe4aC5jsr3miG0qxWAmdLoOekvLax03RbKMHlm+57AgZpsEwwtC/UwjbGblDZ0xhTIx4XAy2JTmmIgrIgKKINx2qBFk1haOpYfOHbm5Q2TMY2rwCAgIQjfKvr3hy5NgVaV5dGoHDduWDbNwLqYzjhgMwnTAGGsOpmwtkbb0x6QOX34ehgBVpUXKaCY8GpmLkjKpRqSK1kzR0CNyQoX6GaJjrf82zqY+blFrYFisN0AOMyw+G5go9y0mDcsIIxi/TAb+an6kuTYt/jXE3EhKzkCDpZYWfWO4A1ewPrCkuoGjPATxGjS+aIQA/UHK55VSwPEmh4sCkJnXLAlaCXkh/hBpeKDDQPxd1TUxM/AWgAh/DEsWNExGjEiUMwo8wJ7DGJVofINwkY+Kg69wtYsOl0DkOHpsbGWMMaY6v7NopkuQwAJDuapslcQ6YN2gIRJGTcZtcMaBASngKZwIrwA19BImMyg+gssAAkLUixtT7a0A2BGVPTNoRntY2JljfoBOAgGQTetCKNTC/0Z70weWAS9JUknnIrDKV6cqMlPgTGEdOvoXGGAQFnJoXRGbbbRWhtCrQ8JhIMwa7w16LaKRkLExS8HMGEYFehM8JtzJqdzPlgXCN/qGu3DTGAOQ1jbNbrE8PluZ2gKWxiuOFIXxDADTrGxzvCihjMAD9piISMyyAd+jZEbKtOBuGFfewj/Gx9jXuHi8w3blKs1A+vA/qGbcjuDPDo4YBKA9xG4zAJMpPukNgjzCyMQc0xQjVpWJ6XzspiCyNfusf/jPo/kiNXED5xMM76GLZjADoZiaGClCdKNWlY9bDJNtpyl05PYa2MyzeYy6M4poOQ2+9idxgnAmRINNVRtYmDg0ADVwRSGXVME5NAbk0l9BcBAy/eUHDR7kiFkwQ3Qm2ZpKukUjP/xki0AMSp1qwcnAq5XamcMmp0mCL4+og+YVVwZqWFaEPgcaXMArGmMVMVw5l7FzfRAmaMKgRPuTEyRnluy8YZ4md/KYKVxNYTHp7mUUbwWwqQA/zAAQvprJTzYYXVdEdMcSTOzRlilBWPYNhNNRcMdMGMJm5TFeYbvJQOzGverfEFsmHXiLB/mwo6G09MSljo9yWVYhV3MzCm+ksOKhj8UOyFaBgCn0IbYsGOFmK7A1qHlMAum0IsjbKmA1ww1VTnPNULuETjT+ABtIww4aD8dg5unXjQOgBI8THojHQcsHhTaA6rMIbRCjIaX2MpD44pjRoRJI52TIaUPgMjGAxTIfhoiw1coa6R8urYeVDECWEBwzG5A4VCrRSvvgRxxvxAQuX4YyMCZYX1LQWwaGASYXA1BoIgmggAY6hnxTUtRCuFASwm8x6G9hjZrlakYOHhUCmSZSNxNmdE1ICZ17gJ5Yj6g7lQjpuk55ihaDCFYW/LS2gNtcKqICiOAioAl7jVNJsiH11pis5A3Hoe4sM58H+oxOvDj2MnCI1ksZsWFFY3SyZB0dAJMJRQW1wPHYEQoZpqlHymEsbZgkIo4CQzaY/8LR27vxfvJsEAE7kaAsNJQmFMjCWNLR+yd/gvNdHoRtAQTaWDi7xsIDKu4WpYSLQApPuOcXMzap0AK6YV44ciLDauwRJi7JNCWGVjTGOmIwwG44BQrMNWA1ZTGVWIR/0aADrUwY0mrfjGCamoywlhoiG8Q6mHKabycsOrHRuJ0jBrWY4l7X6ngVI0Q8Q6JC/pW5BaTeRniIz40akrNNHADIjKnxkI10bFjfSxb1ou7TZVcIzXF+ljFaJdUoTZTbaRq7KC/PbcqFwKQgFRTCuA/wx36bECw0ZSfwTGQUrYeDTYaIUNVQ4isTR11laumvxD119rWGtQQFiZsnQ3/4aEwoHZSdcsUfhsg+DkCB6mMPqAkAPOZckp4GpcANUxx6WdDDFypjFTGEfYcABvlGO/TBQ/qLw3PSYasAG00tTDCHTF8KD9pjGSwurY3yjEhxo7Q2xEZPMMdN0xVjQUxLVTFkVanUUPPA/LDSgAOh00HSYPJ4BNEvLDBaxgI+w0fBaOMdxY8KpDlEJ9dwnFj3GJ5BGjGLD24PXpg/lAKL5OHAFzAb4Mh+2BjFjjMB/s27izHiRs6oCKXj/wB8q0GsPPlhtkozWljg2kSh2UNMeWIZ04I88AOhBTaSiYkOH3BjXFDZ6VKlD1u0FDLARs1THVujCUMymGSh7b5RiPo0q6aVLw+lUYq7fQgNLTH/VxhpNzqwN8CJekoR6D/li8cMqfGWzw/WWAfLHOMCcCckdMm04eARrQHC6YbNKM37wMGoJsWNDLF04b+BRDiuXczPqNurdE5iDVuMLGGBuLWMgDzUzqQh12N+8m41keD8G3zA5RC3RCInGcVPWonIPsMvpj80xKM2YFDMl5qS4MUCgnFkd+GwA3SBDqlGxJ44cCBJKYl+XALVitsDdRbb0wKQmbEjaRgNGwyElLLyw7RG0KrB8ApsTGaobrCADG+tl4IkhhEADFAj/mwLKGxtMH8RuoZjYCD5tBh3eEeTE6hkqw2UQgBwAGgwhlLAcHiZIwhETLABf/GqQjXHNkZxGNpiQgBeAuEEsAUoKwIJ8AB4aoY+GZ4jKPhhzQDSdZulABNEFHwoxUNU92zQEsddK6GyZjKFjhhoEVO4wTUpjgajgdwFhKkJ6pKXAi3tGxgwUSlmOIE84CnUVvdGQ3DIILvjQxl4aN5NgdgDaaLtwH/4xreCUidbr2dfDJEaiD0CvV6j6chA0iVrEThvkeC+OgeeAG1GO8gomINo4y9sqZVhgZGekjYumBo+DfZ6bEw6o+FecPemAVwyHcGOogH9GeYsLMnpAGhYZZT+YlqGmFcTJhiwyy14jMAArI6w1kbWgPwwz4sbQxNMYAAmiKfrOi0g7HLa6cYqGmtwOFAHco2BpiZBB9EmInvb/roeY1TUxRwcKbiM0Q8xwEilCkh4219ctGnbXZ74VH0wtEDBDNPu2fUsFbENRoyquBWSANKMF+zViAKxAGTUaAFNlFG0FAHvzi5hz8T5DsNrkm9NjKTckNYNYIEqDMWBGMxzRZbBZX3hSh+qNZzicmja1yKCBwOsD1qpqwOU3BVJpupQByhYggA7jEhdHKclNXozmnD86JkUo8AQSYIgvSy5IZf+Bc+Q1CTYEoa4w35ADfxhI3GeiscoDgdI3/KBO2Befm1N4ArUGaeiLJrsLNbCQPLALNRrlo0gk6ecN+i2UwjT/YOamnUoZVjDG9GeGjRsZix7xz0FVix6SUBQAF+xtK4xreDN5gSRmoPfA95mpQAama2EhRqGSlMYKABCbDPuocxB8HWw76I2aFxbDH47aiMOUoaCQcyJtLTDmSxgzgTIAVx4KVhgtozhVBoONsqAXPDSCcM+bH0ABeBQbMWtt7LLOPRLAaYxlPg37wPujOLns1TErl7hFATqG2wMcqmEGw0XVyeXd95YO1QbKAJ4aBbeYicNNKYN7w/hgB/KEXzbTQtrOYZhTUx8GCUweoaNUM0qYY4gPBWHxY0EADoYtmXAguzbQRt8qUUti5c9EimEzANolhCgHf0bRSNc+QIwAcwxh2OTNSYq6NO2GS9JL/Rh+2C0WbIE9fMmeKrbx6B7d3H04e296BAhQAeC2C/Q1hCaW0AoiA21rR1ZhggAWsblpMjFQibZfSzG0E2/nBNkMrAorp7UYEmkrDvoYLhcMKmGj4OchlWewqrTT5Ml1gJ5xeJiOqcySSjNWppaYHDjSygHgrBLD678tR6wgVsPhEenwzulZtcN69MmQ6IjZqHQMAibnTMYDGKLgGqmM5syF9KLGcfdAAG6JZRpnkwOq4fixOpYyVjQQXh2Q0jpg8fFj0RUQpNWhllo2VXDupxflomx3GzME4IneoikKN23BJfjaV4XpbHpXa9CNdmIZ63KQ+AiIx4FYgpCEHip4fHXhi3M2CCb4zMwQAJSQy1hv3/m2BijVMGGYL5QQsSMO+mfFC4Nsz5mcEnAH2Oz417F598k5UgXHfKsSFrkEh97ec8AnmilMa5Js9TGvphqKxvAoAj4SDkFXQ1TIIzjCX8egjDVp1tTeB7/7VONgxYdLDWDEtHQG6LYrR9TbAf0zL4AOhsPoDh/7NTkAL7jSRJhUwHaMZTnFXaGrPMNYTMNI2cfYXsNqByBDTVBZsRwFRSamHsAN02aqC7xg7fxM1BDpgcigX9DBhhkkwwbtQbeNM6Yh4/K7hgQvEX4YQ6ZkABGlqNKgMmY0gmYtUNLoRkggJg8m58xsxEb+N76GIhzWehllQzA0ayZpRUoVkAbPbkVbAoobdcREjAO1QWHTBD6GkUYGWZloKp6sMDfiX4ws4bq3EVAmiFDcJZp+AGAiCsYixZYpTYJpJoFwyNeaqfBWzGXWg9FpOMM3Zlh0jMH9meSuTmoBArAuKaGKNnzewQw/hhjTswS0aHEhdqGzHDGgQC6F1bTCL6BvKYnMQMR1sAo3EWYXSwFbOjHYJoElpwzvob8cBTEmPRJNpRqMcJtsBEqMRpAb6IWM+qIiLWlhSpQwYuhM8ZwTnCTGQZgdUMUQAPWnYCIFqozwCAISxGAAk8TQgAFWiPfnCvsD3KGULuZhgG5Q1QPbDRc+eEAULeC2JR8MXrY3iBkq2wsjKZWJFmH1Vb/6NwnGo7/aS2Jpqka46P0Nz+GFQAYWRiilAvPgr/9b9BQ5SHgwP/AFxNwYaBcgAs4sDaRmKlFb8ZUPEpluYwUYWRmF3hrmgIqxPOGuvjeFFkQzGdUb3lNmHGoQjXltjSeFc5I7gBYzuOlsWVjtK03xpgERsDUwRvJTzwO8iSdMFVKMs2GSxaLKRvbwyccGIFJdUennhasRtpbEYYDPnElaBZ04ZigkEYxNsxlPg+muY3IGKoASCGHlgNnNqDq/OiOBcBkGnPz6EGZLVEGTLE0hpNXFGoYFSN9CA9JKFtxjAa1ShH5WM1ZBmC5bGZtDU3OZ4g/tOUolVDRj3lfQ0rFao6NXHAwysS0lLxcQ38YsMtdD2bj0FINlnTBgMbMKM1HQg4I9PAIvuDvqEO4IzEAeYjdHRriQ1Zy7KzdBGGx2gQ87kZeHyJb+Swphh5NjIsmoyQ05piDnBPThzBhTJhlpw0S6Dp+M8VC3oQxNshTcW/nZ8U0vbASrDdGhhJLBws5wLgIAQWnDW4nG7QAOEAD8NkkuSafBqZoosxFdbDSMY6alMsGNJmWQ2+JC32NNbBg+sOmmHfo0GZA+Dhy3AM1bV0hgd43UPB1VsfeGsf/L46JAFEr0y8XEn8AEDxKizlnTAdrZ2qxuweTJjQTRELwzByCZBAKDahBmIlRoR41Hzxb8MVdheJQRGgIGQ2vRLPCNUqY1HAJsFmGKAbYY8bNbzhZqtNORkmLBYZYXogSxOlDDe+sD85w/T6yqlOveYwkZMxhhoHqgEESMxdWG+iKPuhggBw4bfKlwbSlmBS2RhZwz6sZnJo4pY3lgLCWF/E3Cph4GsCxGsPDZqYW4EB54bbr0PqYkOTYAKJqh3P4bHaBdeGWbTXCxutMNjPrbccdrYbowjfRLv0xh74QqgdnwY8wPlKFVLGrmK20tdWGEKAe6kC3232SaQa9ekU/2XP3JucIymVilNhSG+3vQzGuA7q1kERS1MiYgf6jR0FoI1g+6ZkkBBaSGivCcWHvTEvCEcoB6AAKgTEw5rp0DGpgIMMOU2z4sI0zsalBKZzGpRvgADy/FGsOrcWScah6IDVYUdDJZhgGwHFdwSHg7VYEeXfvJi3iRvcbfEgvpGidjLH5r0UFdFh9ONfnGK2wYrRL18SUsbv6NTEm+VDPKpqgUyuMYu4Cb3GT+AX1pMc03t6HAOAnmmXVMRYxodQ3+P4LN88Sg6WWY9hpSSjweGJgZDKOnkjWgIIbLHUoA08lZeAtTQDKRnMrFiSCuvELmAwAULuNgfEBloYV5wlpwzDuD+hgqSDsqAeUx4mIWajZ5RvtcNsKDs8N34OsziGGZhDIyrsACaIQ9Mb8jaUhqoKCoSYRtDy5SzLgeG0HVYwVa4uSxFNAmwbdWxrYAA00avHM1KG1HAFshkGB07EYhixhceN7jdjgEczhiEYU3F3qIwgQBGhszMwAxyuHMQeguoESSWLz813SH+O510mrKjNvEMMbxyYglUwmHmVtMHPYlPq3myE8LhDJGv0sLlKHeo0ktQPkNZIA6LHdpgHlqm+9adiNgoW+wLdptpkKRichNUwcgmvUjdy4OgQCqli3uMKaGfXgP+mHazmYiy7Uwp6w2dzBfEF7ZRJ8bhKwkuWBqsXTpsZAQq5rLEiQsmnljakkO44weADmRMCgAFYjEfRoo4DBnDriwgwW2NMDNMKUrEoiYpLAuY2UtTPiWEIGlJJjHSxOUodjjOjZp97Cclg4bMslG1MVM6cP9d19v7y/CncBQHDedIH0lF5Vja0xkyGQUnTZoGBrGUoj//gznwge6Kdhslw0FgG84xvmGJ0rW65hlF1PbCTJMjwmYGsLOmC46UU9RVEB2mApMscAEakAAYoYhCNImIamfP6Jrhc3Wph2otN5GvbDGqmL4rGK5YnIBO+BGLDLwAEcznZlgGJVXaGYCwBvMKQwFqsiGOdHHGDKaWeDkJoz6Yb+xNSeh5+jUYAApJxfoarGMX0uugwJhxptLB4kZdMNnxQy0FCyhpIgXIax+5M2kAHNATLiNhYDeMZL+9vCg5HAFm4tyoVqayVzxGxYEuwI8VkbMM3oZxixeKmvbDGt4BmIwD5KiXd5JWwNOc4loJliFlhkZMOyGmlVFxhiBcxPaB1MNnvg3ajCgMlilFWgFw+4QxmvvMOyoNBQxXyZy19MnhoFsNRWJWqQ7MDaRC3Pu7ricqhpAa0TFiSBBe3Gu4ZHamKHRg6jyipQFJkMaqH4uF14EFpC+mckRqYaTOkZrDhz8IDkOBkTIJMsMy2GzTDA1if9cpkSzDMfsxqBw37MZ7BNams6ivBlIFm8IcoZ0d9OxGKojWwkAKUDS1wc0AkAAenoc2FBx41WnBNAAqQADeYOxLpPE0GZDPCMZygIKAJ14duIAFiCm4iF2GIYsU72Bg0wlfakKNVm+8ZAJZRiwizoECDl8bCApSsB5PMwCIFv4RkNs5YSAAVVhsNUN74ZRABrEwIEsFjgtfiAeTy2AAzseFtDMbkLJMwJy4sdxCeWOHDBnzoIw3KICvBMgJYBEsSZEZUVRJWFpbo6i8DbgCjgJZ01rpgZSMMJ6hvbMewQBjm9sAcaI1SG4/wah3rJsHaMGscMgrYp1DE9htxATcqB9Md9o2TLDWLhkR4Cl0YMxw7+E0SjeaUJFQDDViqUwI7wKKtLpwf+bBtEj/q43twP3JKOhjFUDNIY2iQPvegHnQqhuHO13KD2aDjKG+AsE4sHGnClxanUNDaI8IjEb4EQADBa4yWwmih7qcDzMJqLkhuQu38GBGEqPJsWOKKEHSaA1MLvGZnjeERmZ0IWwA4yApyUd8jRDxF4Ik+9hKmCUJEf4jYFEPBgGN9DYfsHqGZbDZVRs2LG1phc0DR60Vu4IgKL+qlv8Z7ewwtuN0oF48LGfT58ah7QsNGvAAQoBKOqBsWauNkPyMO3DZ4RrTr3nJZ6uCmWGn8AXXRpKgCuSgniMDpG9rDVmoEOLCOZYIo8duGpj4VcoGIIxsrZiywTaeIlmPtbrc40v56AVFcTcEEALGRhFwxGkAGmCrV0TzTCl/g2Yhi9YC2pqym/sAZqWLxw2mKa7lBihGv4jZ2cqclGdQp+cRf4ht/jct0iQEG+9h96BNWAAjnESYTkOFBoieeAWIAqpDOHhtsek4CALcMz1gkwsEJDKPWnOnDBlASHGQgQQUoO3y3Cg6FUwR84X5bGjREb9weYabyNEmGNc3JmwcOLHVuJxwJCfGaOpQoBG9109GAA0oAWGw9Mb6WDoI0ZuIQghmHcNbDeRJpu6RHzhyfgLjGyzDenhvRT2hsBOUM26e3j8Wp1AbF1024MLpUb8gIg75UuT80XKZnLEXhQy/PDCAF34zKpJlxNO5GRosLmoXCbxNoCgKNHKGwtDa77MFAEmEZFyxknGXfjc3RkWUGg8bkOA8xeQdAJThpeSBPK7PnFLzeMlsfvihhsDoEbn+YcSAzm5MS2N8UCviHDNN+oA/5KQEGH+Q1ke6Ymh3qI/1UUapgu43HOLYSMle+3vjKfJqXIy3TxFTMEARvcsTlhswYTMFbEaJxFmQ6Yd6iG1Y1xTQ68MXx+WpjROwHfwmSlibBMUhwUh8dG4hK0BPIbEBBWAAKkASQwGLnw/u5nUtn1cdEgeScnjeBBpjnNd59mJtMFIJr9I2Y8EkNAgrBAnjaHIAFw3IzDJWN7jOqGgOTxuCeiDB7pUxxFm1JIi4DsIW1D0Qwatb8mSaHcSmAovmiYipu16cgjtDMGICcWGOsCzJQ/2wm/jZMbiQAH294hZBUFmodGY33BTS3rtTyKBEPELHDbZiCIcJf/7/sAI/8AMpXeRA2YhdMbvKwRDmeWzJWhklwJUSEpLABGIw76PpVNZLAJvAtuMXJGLViVpxAJLEqoaaHNA6AHK4LGxL5rnx0Zz6N30OR7PLYwVLo3hVJkjBqbw+MsLGRpEbwFtQyKwAbIFecYVcmTjyhi4xpobm2KYwZhxo68JtkK0BxXA2yIpUoqnVo2yUZOsMszmgdrWwAG0qSyfQFiNZM0K1Q7URgW6TGnC7UxQZwJ14PcWJ97GAUYt4d2piSljFLLMyQykNJQqwdhBLtMIGdHYajUEYUUNnPWO1MebJkU4FbpiESxvwuP0cChmBYrAMcYVHAbBGcTEJmWMwSF6+KKABeNws07NPhpkS1+0wEaIWTWzFjOTRg0GCE05tBMMOGS/JRHkrqBB7JEO9Mv4As5rIahhgIx3RY2NN/OGm/nPSctAQDG5AmagL8mJ6Q8ShsZQ3blJqFdLvYHZIRKYTzUxrYawqxtaAjnALUhvCwC1fB8KMrI6nAQafwFaugOnBPMALaGnqQuAnnExApG660xC7AH80bQHlVcDsNSFUMhchY9ENfhqe43vpESCCruGJ//KQ+AqwF0gEhsAkeSKXDPtWMkq3Gsil9cHY+5g5RmWM5Uxm8q0iIUW409oSpUnnUExrhf2M0qGkRAjDYBw4MiACPkNXXiWAAf9Vi/QyvpbQ2A0e8+QjC2huRK0oLAIzcFa2sFDaChmw6xCyAAbMiyaLojajhnXSPYsZHRFQHY5sKEpnHXpnNpgzJAVIAuvPHa2O3LE2XDOSN1Rcu9jEgAMkIgnp7ImQAfYsJjTVKD9TFNa5BBAVqGEvDR7UomJHgcbEaI6OAo1MQg1I+N1CAAeeAT+OpdgE5Hl/o3c4YaqpFYmNCjTIIIXYF/2Dei4NDB+PqBwWG5THIiyM0NKiq8/CBaxiek1YMAIRQB6YfqTefhOhi0JAgYyMqfGf04KacFQ8TYgAR5cM5Yw7gNORnJTHp4YSWwRKElemCcWKIkx3ACLW8zaAZ8sDymOBSHVGZF5CU/gZgjRvJrYUGXpZaKMN/GhlbJvoFU4krH4EghZZYyXDAUoKRqwvFjlBRVLgQGIGt4KNi0aoaqSAfOG/UAOQgeUzn8GbsCNnCAq0A/AINKlHs0bQgtbiceGQBDbuOcR9TBFeMcve/rAdTsLXiF4zbcWwAI2MemfvimUoybIbtCMGqYkggfSeJkJHyPC/2N1ySynTQIZqXYBU+BpNtMWATsjX/Dnq4w5iDPMBefmCs7NWmMJKwfpjCBACSWzJgVCxoLw20ADIjY2gm2nDRsZgfUFCuilRtA7WkAUfL7D6wAeoacJciygOGwK72P/ww4BGHUoYaw6b4QZiP27VNkauckByWfBAH8Rv6wGPaZjUM9mGWOAxyTr0n3OphxSMnT2s/CChWK9QF+ShNUxfJu+MsAkEGDYwCjZgxAiAAMWLK+JtzWz53Z6AAIfQFy3dCJu8egJS5J3M5yGVCjSeRobTBNoDysNpKGJtmetCEMAACZ6QrxWWAuKjSZ1uRFmK0Q+rolzG0Vw7KZjTTALD6A2AZqQNizMBYFnUMAqIcFAxdaMajKIgOP8AKmHKKM+GAOZwPmIpfTDbxC50syzmhFABuYXjeD4izrCAomINlMZuWExMzF1pi60u5msQAYjgBrIyFgh7vC0e85+jTt6KKkSypgeJM22GYMQdhgKVTEcViySBK0m8lnN3xgK02j4Y2yxaREpCjB5Zm5IynpgIkxZu+UOmKmxAcIAhVDL0sVtgM6YURQc7WCNoYK9sNKMpArF72LcUBWMbKKlQKRcvrROwLjCJ4tgnnFgZGhtMQJYNZLBnIY8KNDZYmQASSQa7YGSHKVFVDeS1NiTGuOgDEU0BW1cNKM43TdmaB4ACqVjkOBACmHzGShniWiC3Fg8BA+oWIdTJFKLZw0Q8QVVpo6Y10Ka77Gnw1l4APnFkTWCijMUCPXV1c5LQUMAounPMQDRiFokTsDVaDlgA8KpbywCMyyzUa1sNQBGHPEegQCX40Ctg3dd4HGmZDLQwZSShWCZtlta4hn+mFnFuK7kmFhbohJdGcgQPshr+8DaQDStN7pY+mjR9gXtCzBZbnTM7KmCEqT2mH6GRYUCEiszaAu3DEQJjNI0Wpg0o9zqw5tANCtJHTEVN5X0wLpAh9jGwgIfcxmkbBBMwTEdkdI2xpQzEtVDoYtIMuorDS2GFo0LAWBLsgwKg1kAe1hlEAHB0zNUMzVYn+wAhjvPTBIADHs0JKAjojKfJtpwyfVAZmNsReSsTTw9neo2cLa5UwCG+YDjD5jKRwBTaZN1DqAgOBPKhRtFk23Ay5EAPKYVKLOmmFEt1vMbDyweVEotJdPAo1Q15Vg00x0SmpvpUaVtC4zCxGeSMfOGaVAGhhi2QwCpiBQlmCQMYsIkAJ/lxzYaESQdrY90sEfhuiOzXLyL6AQ9UZxAJgphkiNiqbYSMmqYTPDNyhhhPB7pKrThOAgdkAafobDN1UkBKKwag0e8/NBbo0YCrWby6tekUrhzGOmKf4ESYawpQa3grhQduUmzcMIYZZDRfg+JAAeOwCoE1NpLJmMWJmjjjMMZr/sBOxEkcBD1wBsbRGQaKT1/eBnEAWimShrOovCqI1UsF8AAaxhS5jTyRuUQEV4AR3gK+eDgI6S2EN3VSUZ3SR1uuptJe3IclLBAthmsNu2+99YaiXtsYwjsBhJModGZ0TXe1PPnzyq5ybCQ9UB1gABINGfwOUFXaYePS99DGhhsv8OACgrEd7jE4gwOWJnZG391D16tmR+pKTaLwOqLj0VZZKxymIESsVxhj0/SJZ6taNsoAeiraWmMiZCiD7nJM8FYts5eTRgDsXwli3BNHuG6UgItTCzj3XlhpUMx5gzh7NjgPywxMsaRsC4jWrmnb4oHzb28ZCt0xzqwL3sAm8MVoiqIAQcM4UAP0jdVFtd7CvHAl0wcUa1LDK0hpUsxcoYvUBFAAoM4XXxqLTDlsDQ/NISSW1DfYxvKo2skZiUxj5GU9MW3RhvdyFTQU0NRNy68saPhnp6ByxKvUx6RGq1LMudMsAHJCjdpxeOGRRjcyAOmUG69DNOcSigyjvYuhjgkz6AQ+6BJ9GtsfXCxmw8yXLbfYB2vcb04ZumAilCvo41vAJ+mdz6JHTDpTGA5wNhMLFBX34GdoA2s0hf4v3DhbGq+zVCdnXY32MYNsM+7GYf6ASWDTTGvEbiUwbJ24LTaxWB1ZEvdSCWwtSGm8sQ/iG7TmSKbVwAhu6tIiPVtswzw7v6ASw1GWp34bcDDliQw0CiGNRng7mqXcMiwIxxIB30MzBGp/DEQ5o6sw5QDjAiNPGzpQUNIBMTzb0Zy8M1HQUizNLdAVqDZRZ0kghkoB1sD6mG+LDD0aR7gnyAC/+QuMDhw2hca/OM4rOIjETbxjDeBwsBJiwJgAyUiLptDoowh9BSYlo92ZGI9oWIpyzJeLscAWBG/f+XlWJ66U6oZZcNa7IqdnMyWNEICvxHuHdy+BnNxX+dOhEx0eLg5tk1GqbtAjRCeLF2pj3Jl8QWjqzbuls3bzbpjpVNR3GhXTRiVlFY1FpiwYki42XemZajmVd1Gw7lUwXI4TyzIpeKJhy9j4P0DOVGgrTFccLNEHzY6VisJAAnMsWhmNqkCzpgHvN5REKynaF7pzEEHSaDfRskCtpjDCAGuQwlaAouBymApdDYb4sZIxGphqyNLoA2cacqTEyEDIW7ZaBh9GAp7D53KsQH+iCKBQueGsOzUc4J92zBRFEHN+mGPLDMBNlMtgLYaNEjFjGjCjHLnjmw2gFbLQVF4yPtzHqRoM4wGYbZUxWIA3uwlvPvsb2YpHHHh2lYjB7LnIKXYFKkLUBAnkQOWJFx0lUQD+vYZ4AR9GDiLMEAKuCLe3CuNlKJYbBTQ3Fu1LDo3T5jVoYgGlja6vg9Q0lCblpMZpeUA3PKhpsrUYKbCI9LK+MHAu95twY0qob8lBuCmS7PN/uLOIwiYi12MKuay/QscqjWLEgCZ6V9nTGMqjG/kFYEBEn5fXFkUoS5Xe8RthIwK0Y0nhFSG/zjfihjDWBM+6pWC1xWgdMZ3MAK0z8lijnowaYPRAGhhq5oykYCIy46wmxVjROJhxGzBADFWw47AGGgJoAJ0X24YhwpDCDMfVMDQIP2lzcpjgnpgFG0MQB+RlgACFsGQchQxIBQXTonliUjLnRI8lWMgfpja9EpF6nZJbpAAjaIMTkaThgqCwgoBdMjZfhdwI2NVmURyFlgwahYckktnOZwa7h3PFgXhkOdAqlwIqZi84Jfoae0xt6YgTvShniFbENO7wot55OyyHLw1unFkP4idAB0pADcsUPwFC8W90ZggtTNcLHrDwmLmY3gcazixozaZ+LD5PFrkFHViyqlIAo37w2JIN1107PqqWxBeGSlMEC2HeLFTpgkyxAAoDuCHdIWSQF5XpIMwywOIggNBIM/njDSb+jN1KG4a7YmWFGxnFaSQgAadmXgAY2LEDQyZ4DbQdQLG+znYyWCp8C/oYGpg1HQ48zR/xjZmDJWYS5AG5YiSjC8+K7qgkEbjywucg/4QYjREaL39ibA0xtUgtkjA9ZuxI2CKzm7AUB4WuQK2RjnTHaCZaYDG4Azx8cyxnY0CjLBoKxexOeirdBhnfdyykZRWMAvmbbDb0ThmYyw3Zws8k7AfksEXdkso3Yka8MwNpGfDJHfplYFHVsajAAZ0wpC+CqTi97E8MT2qghQ2mlMZ58BRwCtXSc3E2xYiiAzmmA9TFc0Z9UxAPGUjHKTEha8wVGGpvMoi2p7YHiYDjCjoL4Y0wWYmVopVLwArcx5UT+xMLqYJYjL/Rn5Ex01Z00xCwgPcQ9OkuvTBtJ4qiMQsgyqsE+HqhoG0GYLUw9FYMdNRZWOIwHyrSqQDomG5NjVtnBKkEM0HmxMIv2Q1gMKQCB23tN6FLxbHKQHTVAprIw22PT+SwFkgMbg4QJkqwGsLg16MxyGFdnT4JkQACvibp3EtKRT9naS2BSUzukhTp0hX+tTDU+lkDshMvDOzknJG2etKgRu5Q221DIt95NGNrcKwKM4BC9w436MTogqvDU/hvpPByCZshNns+ZEjKPga1LzJeLGlBySGodGZ3MEsw2LnZgMx/8hFLDCSgOLw2Scb2dQPSGnDgUpsFUwz/IbWMMeeGq04dk0AnYB8VA1/CGG6jkzeMCK+MEEYaBBAxl0DspNwEYMHiYSZfO4+SOqfQZZWC3ww0tT7kNxrmsi3UYcEA61lGHJn1Qg2PC4BRRmc+GSPalFVEUcIlCY0oFFYyOYZ0+Nd+mjFPD0WCvWBppgBSwJQBs2jTSWCG4yxtTaxDu04yiEN2gC46QMSqxcN9jG2hgTGAAhw37KAXqMcLA0hjVfhhd7H0/ZEeBfW2pATRbkYLwxTRba0wog8Q6YQCWPYEy/F7gv9TrGpJMNTgE1TF5oZB6Nv4wRosH0Rh8yAE8ZxtNy/AzH7JfkhagLsNRFOA6OAQVMDsIOEAHNpjgMwZbEqE2ClKLTE12oakSxPZw5qaTgVq/6CO4YMjck6GHvDEQ5rRUHtPaoqwllG09ofiAtEIFdoZpB9CKAqmwi8RqKlB2Yj7ewOyQdmiWRrgYADqIDwqlOAAw6sbF9vQIAclZ30N8tQ5hjWSAFYMAtbhggtj2GIggY5pt9QxxYYMSwnvu/5QLnhniIxSqAotMVh2JNgCdlioAJHwFrCY/DeQvDb6WPTzC9GblBpU3G9lDJZIOmIJkgAgAs25S3NDEOpmWsRtEhXiwTiwZMAHF5kp4Bhma80DarIbtOStViwIxp/4yeccGRUeYc5MnRSBkxYsQxr8QMTXdHRqNgPB5YS7BWSGBzguzRvNWxlpiC0Ni427PDA7Rvj6ghkYy0NYUoCyTLi2GU+GPZrBlA3bObSsNbTqA7CJphT/NRqGcEHZORkzHzhJgsxMGcMy4scg4tqkBw67ZMtnZeH7DVZcJ4rH3IYtA86RgYEwYoRm+UGI4DP54QtEWr7FHTq+CzeoDP2chA+aUsJ6INTQKh4ZYPE4FY7pDd9PP3/nvoFz6NjqYtokQzQXGy3mlBO5CVJY1cxe5WIU40sphO2AWEgtzjJCfPOSy9J4LUMczgW0sW2mH5yPYsbvaMIruwWicWRi/Y1GhxAUNRaYMCAe0nmTTCvRZwQj6K+KVDI3kuE01SKA7CM7lY0ssK1WG5Qwmlg6pp38efyUXnRDwo34YYTMA/Mu0+TJT4Kl4CPaYFsNkZeUxzDlNM2yOYsZvtxsmWZW5UMWOPLGAzDCBsbC4vK/CNwPLo1fIAlUww5GiOmN+8Gd61k2B2WMUvcIVMKSTpLE0Y24qvcNHwimOBboeBxxFhYfiBxYRcqPKPMEYqzdlhkdCIHK7JoNrJswYQfpgZZDLnGfuoK48PVbGXpY4WAvAAIsLeu1KX6gs4AGAAp/M7MAyJiAuIBoEAjkNISAE23F5ZpfwyToYk2ATIAggpEnljiUM3GaTLdm3BWAjBf/LJsEvmZ1WMEFGCG6CQRn7V0RoA9ilgxYEwAX+5txbBIhaNSN9Lw6gUDIJt16E8KY2EAwEAJYsEb4BGw1dljRDhXGG2VseWPLxax34bsyw2dAi+4WyRtVkwjIatOJ+SgQmbV74NAQErEZgNgTqYbssS2QMnJCy0aWsMfUwSxiL2wFLYzOUYu/BjmGlwvEaZpzEG+iagUNp8mrOQN0oMDKVs1agCNgQAYILMc5txQzfFib+MFaY+4sO4xCxwyVYCscMiNEKVDEz4PS+kXKYuSNtlGw+XPQ4S01wXOGzGsz8mvPzfMav3Ez4CbOGlOUOqiPA1MP9ixePBPUM6hGvmTY9hluPwFKDxh90ygxS8fiWCjvz6phleCyYAEJsAZKIzcSjABMMMg9GTlMO84VeLHmyYHcRgAoQ2HAcdsSZ24YYf3D+jwZyjE2gBeLBJQ44yAfRGgCAa5WJqLi80bG+hbJGADJFR3IdTDvtzmSMjHhxdDf8lNHwxPYY8sMpjg/uoYonHKwxInY5sN/+md4rXcAGcozpYbML5DZY56TRCbDxGz04YgyIMIAbNMctwJINwvUZu057ouC7jGu8PqrHGGZbyMGNGNYA23xg9gDtzYGqwa7wQGpM1WJDTCsYbvGMxSBiEjZEtibTD59biLM9JyMzzVjgXaRy+AA9WNuFabhle5tD/txJeY2UxzmOVkdNh1powK3Cbo6MlLYPC7TOgEi0Hf0b/ON1JWkyTFuEaTLDAJEVh8rpwggAFpFvBbAvEYdwA8bwRnEcahvDYLAnDGatDvY7dMBH4mMz1nBG0yNSOhWVMZFtLjw0YuZMADM0mEibP0hpiczMEZEHMSfG+yTWyRoQhztsZDd01yGHYQFBBhr6BpjZzjC5KYBdTE5AJZgVmfAsFM4xGCXpV5wNsenNVjaSIvriyipCOPNgn2OYY8TAiqY+wHbIrmMFCyVKJdA5gWs9/WOWLCVzlr466cQGYuQLJcxsNZEMkZTsMZ+QWMjU72Ak4yTQ5kxNVBQmFnE6hqKwxF8Y5YkwHG9EsLtwIwoy+uKIFJ68OQOmCr/vJtxDlF57BrUOJqXWxygJomFoB/MAOCgyHDAqRpFmGW3ZQuNDdOhIAbhWonwJo0SNUMZVGTC4IQ7uf5lqazucMQZGR9bF67g7K25EYe19lkuz4sFUAeK7k4cCVqlelwWXQFhQUIEEy8R5ZDImIDgsP0wG9OA/4b6fB4TEZiAF0viwww/lBi74paG2jjC7ktIfBiobxXtn88VIAdW6DHpgFkHnVhnAyhZMMtoPCYkpJREaN55YdxiANxmwADufQ2uNL5mvYjU45tjTCgkYHLA82hkTEcArr842cjiAed5KGVIAFgRvJOUsobVbls1UXemfoLhqI0qWbfexEJsd7DcS1pwBQoDaLxk6aY7JoYAKIlTF416C7Mj+gM1jMqhnZozMUY+6NHw0FFDVNhqBwxPSZM8NJ4BJNgYX4RXuWnP76FNwqY8NoetxvsE0Y8CCaIwKuFeXYKUKhNn6Car/sixGPoQStJjpbGBRAXcxYB49nUcc4mZCR6bYbnBoxId7zTlRilTC9oZJ0MMjGUjgft2ijQJDFg+DgaLGfgrFbEHo41KkIjSBgHGPCQ7UQPsKGvIYbGNrWG8gjAkoIjQCSrYl0xGju+UXLGANsoxPoZro98aYdN7cuUsysNPlhfO4qpYj7Iz/YGFQ1MfCJFN5JyMVsU9sEnYGCADwqkRDmk53O4QPFowf1IAEhceGR0IrIaJ3Iw+EbEOM3+0idgLbLil7nIiyNixoxGdkAaQRgsw07ehgaMoGYtHbbiwIiyRd9alPBHlm3JSIg5mm0LaEa/iNdOmpC+DGRrS9GoCE2rwQGGgUJbWIO/o30SZ+esFbmW2zTthu4UyXZDyCNWAmZ4/SaguMI016xtWNCb+MdNLFKPx6AAK56Tk6KQerXCr3oOcElJadTMqbEyD4HsUmkrC434qx8ApY5FDQ39stBW1oA79MgjGuZ3ONOE9Q3KUYWpAmEmIDML64jmw15+bTFNy7WWhQhHWBJLGyZH4CdT/Ae+regQF/fy73DNQAA1GuKvNuYVu0HQUbPnExd8tIXfhhkn1y2MS0bB5hw8zbEhoB6O0zByW0BKSUAVgorxgQM20vCDqigJYGYjEfOH8wxitidIstEBX3HDsYOEI106bZsAHlmo4A9wpiNmCN2Gvf9+PQ2dDL2hnZTFTja/ABh5Yju7eklHGIyiVJtqNQhG5+jE4NrvshsvC0VB/2G3IfDskF56EsAAoQtnZy8JiZwgD7oyub6WogppAph/C6UXLL2SsGOnNYyAf3zdnDqLLCzAaLPgsqYztjI9WBDI2NSaPgi61Y7CAiFEckOR0k5s7CNWAe2Lbs3rhU3LoHUDl2NEVlTes3svQy7Ka1MMSxG36ACkoEcgllVIeixj9GWAQcyRo1LABa78EN/DG62wuacILw0oz5EeC+nGPmYZkgC5QwobAMaNKxW8LQVpho1bDzc7MEgcauItAH3RsIb2ZYYQzhdqYuFjCrSoLIx6iY1TlBdmJYTMGmBhaAaYyEQsGQm4HDBwWLBHgaKacPE87G4xvUQVtsoz6VRlUlGVhnS7YosB47mJjRFeNdySVtICMhjmmC1UaFhB0CAsNg9ngpCw2i8AAGNhmcIe3JT4MiNjHEAjXMrghe9MYcWGEKin+a86JwLGEgjQRiF+bA4KCOZ9skooyjE9WBkEyLJps6ARSuy3TY7Lg4FxY4bDvosZG43Td0htE5EE+DV6NmVG35QBqmDlu0slhKUxJ6gUwjEfOMGQyQZg57EBxGLNYWw5ndwyuMwm2ZuQmB8sf8TjKrDHqYtywTkA91MOzRtkyxtsBUPE3ZYhCsPpxklQw91TpSB/ShVSjVcoMe62K0TImQp8O71EW+5s5U1wYaNFN9PgfpjU9PhMIH9nKCxAxzma5gmJ7r5UN2841gkgNSCfDPAIJtwzvFjjxNhvivlAZkLmkrGhfbgRhrqGdlMSBiMEyxYhgeZgvlGN4geWkQFwyQcZI6Y3KgLHccBxqTLBtcZVnD08CFHAFccMASMTpKCNZXxG8xLcFpsauBzOAm0xngCqZDM6YlvekagBK3ImOyHKUK8cCJU0b+Ze0DZaGmgwUjgIQOz9phN8ifqYEDlPHvMauBma5MsNNAWYNMRivgaoKS9K4MNqcakwAUpCBLkFXADcWx/WAr4jMC3LyP23cYdwA58QM44T2hnm832hKnNpCZ4YtIrdJgSUAxYYO5dwr+xzIlYjguS2rVIVLxF6WTkjfyWJkJHSSBdptDqUlzDFLhuzNGX4H/9M9ZOjjjIziClQ3x2bqLD/ZyxAsJn5nlXwJa40aIPbgalsYOmIvGSOUZbHtxP+BMHIwQOUozCoZABQ/jGZ2TdumL9b1lVJigR1jGqSjH4AAiYxV676Z0UuGkD/R2WNkywvT5RGhMAgY4gb82IM4y95ZfBkKSR1+zaVxursBNTYjJAdnwNY/F34HskDetjsGBeBGElLVOgG9QPulj/hNd7U+5DNSgA5ti7iaxywlTGK38WO1p44wPYaO0NeXOGUjRjsOrsD9IayZo6aYg+sTjwJCYwIW5aFddOmPojY5HlJiUBBg2Zg3AgOJAeJiABszliaJ2M5Ak4+KK7hvpZgnIDFWwShGCgAI1RgJ90UcD3No08AdjjDZRvqlG3FhYMNdOGjUsYQIJpy12XI7MQbURguzHxXMVYwHEZrUw5NGunTRZWH37yxf7rbd7jEoKjby5AnxyZ4DMtIvaGcSg6uYnt8MrljBPD/JYBywSEgNIfBzc7TmtD+G/cTf7Fu5IMxsaRZhNJo1WmJ54Uop3upAf5N8qGOcfXNdiJQArSGlsC/2wGfrYwxgoABRrDawsfImiobX3ULFwwk+AOg9hxYl3XYMhnow2UOG9aAv4mmRzd+4KdRWXoaw4idT+7WglWDoTPFF/ZFQArWGgoTNKgBTZyo4ZzkNl5YrBQl36ke0yR5KhuDVr2jNxV0WKhNjwnBBEBXbeLlTPTFldwxiEa2ix0qYJAQMtoMO5xj4abpstUR0IAawTiUzgBRyeeBr52ppgTGuC6yRxkAHLBLVyBGictwNym0XjIu/B3fO9YjcL/guizgXC4SNnNmaewq1WBeGT0sIsxBtgABGbUsoF4ADIXzTFMAfYwWiKsSAnwwFUYasBAZwxvQkyAI6YOPiDxGN6s2m8EP9RkRawMphwdCtlG2gzCtxru0xGSDnCIsPocfQj/5lWQHcuDAgAx2G4QTeaAPwQ1BtQD9N4TOe4sLRxjlAD4CZTQAlSMrwow6lEuYx/1GAGNlEIU5xDyQIFbGMYHzix8fUA6jNY0UYqHl0YmcMql4mlDczrm0JyukYkXM2xYyTjFwlpBOAC4YCeM5KYQRAbURm5LDaGZf4hd7U2n2Py/gUAFTYb/hADpGE8LSKmFWIM6UalijOW2oUAJvYKmw3e0a9UMfJgmlMRLoLL4y8BYa2N9VYrCo0XtntIzPyZybMODRYSTEAxjtSnz+5XOMGGAF5DI1RuNTHB0wlUxF4B3lDNpRrr4yOiKapQjaGMLrCzxnaE03eDY09uLASDMLptDQoygZbqqtjV2qXgLLFva4zkVhiXsybhoV0DAAFdrzqpjrOCNZGDUsRAnjDWAnoZmCMhfIwzbD/oe0YzzojJONSF8DoQejYB9QBNKH07NQDWuFTYcWI6Q1bZxPVseLYfzDcoKBymm8wHEKxjmWetoEF/GoMU7EZkGMrLegtIHj9lx133uJFywdiRyTjH3ga88LrY5GAB8027AolMRtbIIdB4IWMjpWFtAfaEiBi1Y7Y5FB9JGyipVrRhh0yxPTwuMWGGePQhKnn7lzBpjestTNcMfDChsBmYw54gUpRA7WIVMF36kgAAR1hTudLsmg73asWB6w3iMZ/wRrFY/cFLvTFPIAKxEXewPbAAKjdCJnbZyVoZhdN/JYrUA8VplcZjKZ50Q9CQAYM4CYrmnWDQEZQDltwmEJsXPkAuwzFyTjdMtzOirTPEZlmzwbB79ogwGYgtIZW/qPohe76wVARHWUk3DAAF02lLoZ6aMvPQQ1sduUk1lh8mAY0MCSglRbc6WBExHZmapKsEOmEdgP/nhK0Gbk5R9044E+HAOjgEE93rMay+NRxeU3BdOZgRLAL+Et+M9kgvujE21GiACZpgf8NLYYpOA52sJyo2tYZPkN7fBDIjbahpOICloZcKNWXiAcbT5Rs4ZkXVxKeAnmGHbDSYEpPIyCMaESQUxgSxfe0Vi6PD/1KIbIeNB6tMNpWPxAXs6iskNAvGRrTaTklCO23KZeBN3vYH1AQHLnow1Yy51qcdLY90sXeRAAkELP4G5NbD+U6dRevvmNX3CZ6KtJbhDQYKURlLyMKgCVzDAC+YYoTR8BUvABUZR90Or2HULTVKHLEx2fDZJRuyGXDqNvRqrcINIGj1oIgA9H+TUXO8SyTFj2mNFxGUtDNkJuZd0unaNwALwy3DDNqWJmDlNsCcyxS/UEvDSs7q5IEPlGLYtXIm/5QJRcDMeEQPZNRsFFG2wAU2PlHmBhjaP+NbJGGgo3cWBrI2n4HwhMp/MpEsHNMCmQPjIZGhsilBuDDLLoHgzFuQ6aaNn1cFlDDDQPToxOpgMzMk3iGojffVmuQzKChd+MqbE+AjADdKOqBZiZnaBjrAURoNJhvFP12oZyeMGxW9pILMhMSGyICiT1AqhGeVMWxKKA7BsICUPD/sW0kPCXILEeEtOanJphBezlTNR9lVLBLpjeUwFtGMQTOyOgHAApuKqfAXlG3FscvwAGozMhIbWwyrgUUjaemBp8zR1KwDx+ko6wTBjgMPLFJMYMSNN6GYFXEZIDfQyMOa7LC/pwrDAJ7TtKI2pDYb+NzSGczrYrNnhqhB3DMUi+0ei1sNvRgHTFv1bB0wVJYsvjJbTJ/Q3QIBlPhHE2DQYHyYN/sOPab5BNxbub5Dc/hnsf1hSgRMQP+GMtDEnxtwEDwg47PgjRY+qUCzhqhoBi0y4NDgUufKXGLXr9TFckCYsAyF0+rDMHwAK2wcPDRCAUKgLhzf1JvWLEayYO4ImoAtLaFsxh6LBEVZYCN2pY+pHSpoTmQzWID7ex9JYhZXZ4+NXAHOpgl2AE8e/1MEKmM+cU+4CP+M73E33aYb4nGLDk8ZwwtrGGMqjTSYWLkKRuZw+4s6Gd5TfARhfk0v4ZlcNgOB5VMAjRLkAHpoDjQtIOBHy/fchnSMFiSACqxTlYzqgZEyEKoMliY0sNbdG5kjDDYHPiDBiBh/pGeGQyUVUxsOLCTbY5FBPUWF2PRfQIM4w7IbHw8Yh2zqgIDhmns1+kZOSNPGgZ9bANYTmqVkZKkcBDqGKujKqEaA7HhGbgMxhviigAfqALY5QUAAlAwQ9UetofBxuhoj1ca5aMJ6GWJ6Gchu28M29a7cMfMijyEFvEl6MM6ZxPpJFDen4Ac2FMQEAmzCP+Nfb2yQiMwRhG41BnAzjh/yh/uob2mPvGX5FzDM5pSGGFTHZQUcQDhAExpotGRTYQDN5uDpgwnrcojLSUinqDogOxjkfubVyMZpGnEPV/TpGe1QWbmSMM0wXWTQLMHQR2xpgXFNZJA9mjWXIMAFDYdaU5AM92H4gapzF+2wDcZadN5JWtffRa2Flwz9u5zyM4PGVzw2woAHYypcCZM5NVY5TOUg4XcYj68YRrtZFhikjOQJLDrzoubcaDSSYltAIq2CDIzLzZZqMG5YYIgGdRh2MEdag6SNzpusEeCyARjQ3s0YdAhJZup7jBbABQbXApCJgYusukksN9hk+UzgVi/6C9eR6lHOuxr/MK7qCrmMrBG/5sWq3gesxkN78MMraYkJvdVhlGQyUN45YluuGPugQM8Gqo0lhHaVAjnIPFvJkIAQvFTQClqxPu2jHYBExqdy1+AC+qNmCQ3Ijc6dgw3SPNGEgBxDu3XES+4fs4Kf+75VoZjMFtMB5JttQ0XKbfMN/qATF3EpeGuY2U/hDeMhOAZlgq/Zt2o3rYbwKMsbUOogQsSCzWG0cYq0xQj4ntMONjoxIFb8ZKxN3MecLrUhRrkQDtTS2cMmUo66DFgRs7qkINSxcNNBgRyjXxNJXQ3DH78yxpOSddjD+aCck0TsB1CN7M+QvpMUzghuhu0ZT+ZBJY1hcGmJnHZ1he58MA+5yIf0cIJtdCmkYANOUKFhPUTdYYT4wK8CbOMNPaYpiTOl0CCMxoECMeBb1ofzDQzhrrTGMERvGMEGG4ruEvxuUxGc37MuAueGvKsdANmDQwB9i9FAdeGsdrTfIc3OQM/bYAAJAgppgOT8CH9F/2AiCBSF86ijel3pqqOcp7mSZTyGfLDKxpsHwyRSj7ewLuYYf4XgkMjRzUX6JiQTAuXJsCuAAqSCtqAvnxLKAGGwMYKPCE2AiAm65mtm6tTfSeE7S2lEZ3Lgdq2x2UNQJqt81gjwXbC+KafmgOfEGjCwYYbfEgNBGd0TNPRjmqSlEYgSAJ5Y04sN6QrMlDo4ZuX8czgp1DCeWJAoCS2a9sNooAUtibRxtJDx8HA22BoqgSlsVMhvNAB4CAcCBK9M41kBqWCPoyykZ9cCygo8wYSuWJw8V5xh25M7+EzAAaa/j2wx7UCbyMS7+VNDSpyPIMIPPBB1Naggr1MN2WHYahS/6gqNpAAPvw9gwDygFWnBl34u/GsssY30Mdd0oZhbxNJYWTVMNK4YMyFoZhUCNllYIlCXBcp2KMMAjal88bGTYQB/hs5TEXjJYc9+veZ6wO5WA3LFnoYMqxF1cU8gZhfG3iA5RDotJic+CjDKvPlFRy71F494GwmoVMG8QLylGapYMhNjfwkbjbxkEp8GIu6ZVhxWWZ0xeD/po4DGADQp8BWmJ5DYbXmw6xsCDn6NyqGRtESoqqmKNykZFiNB0matDbK/n6YH2piFTEyqSkVAGAIB0ADBAA6SNImuJ1DYKUMdlFUE43fdhlYdz6M7Fv9QEKOxLkM4OGecYXZiGlKJMgCuUNKlSRzOXakRJ8F2ShrO8CZhkdMLF0ahw3QS5THBAAorPMGZID2KVY4YT0Mo++wAUHsUmAJyF4aD6whGGK6w3kNt8/wL4bbUxOIuOWJO5RkzOHXQZnyxdgWAFbH25t8SAH8BL8kyCwMtDQO0BArDf4YlGCi1AuWjCJiEBQ1jIZzeM5FY7QsY6phTTA90zecMXY+7GiHiRmXOnB0xWMNsXI/bte1hgG42rEZaWM7AAHZgW4Yb7s0RsZmWxRomZp/Iq2LiIxnHBzkNZNgrvPAupgOawPjCEvtiZYnNMeybp/w0KOwy0w/yGKVMb8btpUFjIbZ60V5+ekjSauK9wwTQGggAkGY7FjbS8BcU0+j5Zl9EPEM4ANumOrcV79YBUw1SGUyJCEJlwEC4tiNMMqmG/9IlB/od0IFABcmwf2mUmJHsWKvYFPlYXs8ZJ+yZjfhhsGwCb44QPFRNycgATeCDvpyvob02M7RGSCLW+xkECK3Fg88NXRYhxIRCbMlQyQcZqqN3xAqdAGS2MrQzoH596BAOGWljTrhoOQxzZao6B+ko3j0Txxn4wyXgGNFtvLANmYReWG97HlRYR2AvyhCRAVXbtXoK5Nj85dYy22E3F0RuUaxGnDDuAUXAoiTBcjh8yBszAEBADnBjEg4MoGlIJMgCV6YbhmPYjSLPt/wy8ChqCM6iWIMjOZoc3LDFkDa28tKGiInQsYW3KV91RFSwm2YgzIGVOv74yD5htB8bJOQ1DcyRrRUGOoZG3835GydDO9Rp7THG6YEVMrhB9vDJBEfJ9xPSb1A9jv+LqISFhvDk3DbBfwAlFeA8CZ5ROmC0G+gI9cmfgrlDRDVrhwARobmCAfzYSljAHoPc2gWtg+CBpKY1CTCVhtZI0izBV0s1+GsOmf2ckw22zV7pJA4SYSXpLrYGdoGR0aXXEyYAbxjE4sIzJw+Yyq9MRYW38YMYSBEAEVnAjHN6X04TjNWhkl1BYgCFiQvzOQ4seUREwwG1SDnmCmgStFQbwnrzCzr4DsRYpMmncgBMhpguQaMxvTguCAVQMBHhoQZneQEjU8rAgApcJRWDId13XavOitrGRQpDaRlPk30ACDJdW/2gFRckxlaNwYZjfEga2GWpDZWxhjwxeFBg/t04s79wWdwHPQwcoZS1NGWAAOxAemJWLH2pgNTNp8m72jUFKHWSOU/i1E5dbuAEZZ2cmYgBDeH0kpJAglqIOchiHqm0vCA0oOkBLrLPnxmXTFn4Rv3gGaOVHDJKmJ14zjsA5AAWqY8H4GXhiZAG4YaPKdCdhFG7NopnvTHB0ww0xwPRuKjeObtfrESpieGhS7AAb7DmXhQayG24yQA0mgK0veAvIFw15Sg9fs8g+uSIDfLuxolZeLJrFIV2vmHM4gKgszblJ/GMNbG9NAEKmLNOAaljdcQLr+S4gdhgGdOETCabyw5Mm0YkPScn5LFO/ClSxXnujPLTCuDkxHp4bUkgTaYJ6ocIAU38FuKAufN19GqePMmmMVZwnYhGGjjaYSlo77ADxwB8EbnqDmOA6tMed0M6o2ju68LtapYiLDIahvJox2fB9bdbdGkkpd4Rl2Uz1cZyfgTdeq5QF2hvWWxfmZbxNMTwbSpBQAMNZGdUAXcxAJY/WQcR4uBSA/yaWdNlJegiwilhuMYnFkZw4tBMs1ejTTVNU5mhYZMAFRgAtvjQCxMmaNaVjReAurY4GjEsRrfc1iFD3UhhAmSSUXUCP+ExenDIilj9GadYSARoSBFoZg4o1e2GeWqDuFn/TB4MDgFBLvYDnI8ZbjVgKmpJ0tAFFGxvuHlgIX/wn+5ItAnbAv3WPMWJdcSLKCu2BTqKIQAIWdn3yQ8VhzG8j/GfyQscJsTLFk2CCQsdmIUOjCsPgowzM9KP5NHPw47LeY9O5kyvoYQoAZAAuLXcZTieQ2TMbZ0M+7GLx4V0TgpMn09H08w4Sed6jCyRtrTGCGbn+YhOAvisM1NMOLBgoYaWoorQUKsa6FBzhyfaGM1w0vmKVxe8vjrw0gZLiDB3cmQ1DP/kU0ozZE6nCMzVC+1MM4pnwo37/wgXMe2GlSPZQIHwyQPYY1zRzpYXSjZSzrBUF5aGQig+IsnBIf8JqyP2sphU9MUohbYsJHTMZYyXZDFXDe0eLMQKAFve8W9sDfC8a9GdisI0/qTSS2mYQzh69M4DDMUCGOLH1hRvbgalh0bDIHTPzLBW/j7Uwi8WuqjBIIQoiwVEbysNZtElbDIXyGwEHv1aNkM2fGpiRFOUg3BxfphuPQzUmVazKkoTbYAu5hOKsRpwQnACWNJPUAwgAN2o8bwWdwt6Qgmm09RbyCMplsTyPQsSM8fH8li16DMK4dxiJHTNyEwqXg2uN/mAq1DQJYPjoy1UbWcxhR21M4MBYN/GAQCDdBilFYUeAZlwOiILhpjBQBevezFBZvMII43blLLKws6BGNPIWCI1Qw88Cl0N67UqbzUhRlExDiI6JxNtaYjEsOFUPuy2DSYHsNgIm6hmaUhkSSPrtTJyMLz44PIqyAF14Gh+Yq6MnBENm/P0xgeIgv0ZMpQEzQbQTRIwO/oyhcZxiNehGvvTU8hq04mpmZDcMY7OL04ONTsoqSK4inuMnBIB1Ddyho5w3CpiolsoXOb2jfIxm442p1E/AA47Azd+EwFvtTFjIAyycjRYWXQI7QMtQLOEipkDY2gp34EUht4ww2UaXuMp1G6RnKHIblTBfEwg9BehSAOvbtRhp8wlSAb6Iwcgc+jLzRrWgPEABFSwDpG3VMG8/pjY0W561MN8kWddjOc4ngE30VhGiwpD4dqaU5Tn/E1Ao6nVN1biyq4N56k9Q3t8jXXcraY9S3bjxvMo0tobRuxBmQd83DupnXpleRoYT0FbmHdrZQwaIuCCMZJ3QRvgJnDKamCrAMisF/Th8gmX5seBPplTGj358AEdeGVLrSKmOGWyRMY6WxT/ALCgAupuRwE+7Z2OM8qYgrgWCvq5Q1ZP4jT9jfQ/uYGIRmGqGqXgH6Mxl0GPzb+kXj6Oz1rkbtGpGo1jfjgBgIyEO6wUMgOmzTgCcgGbKyLMYIWCp5yu3LSKjlYIiqXh6uNuAgo+ePYxqrC3LybWkM4POw+jKegdDMyFgjii5J06nrpOexgFw3O0x7qNnueSVMfSzPn23SkD7UxPvYe+UPJXAfLAr04UWsB4hkWYdV3uVlkLEhXcMIKAe7fQVwB6qhfoa6+MvXc40sNWmIs+AFADk0M/omAcAaGwD7THsozHVMvjo2hgHukrO03EYC1Uxi+ISzXZBcuhom+lgYON/wgpCjHahvXq28kbpqNRyebTAmOmokwxV0YVuMpOAIf0O20YLSEpkrwkxtaYdVjEv9vMOEB2ZN9MpkBA5LPiLK8Y0tBE5QsnlmzpjBU/pzTEH1gjAACF4/wTSqmKZD3yrQp/BelBGRzEpeGEKiTsDjGNwAeWVMN+5t0v1NsByU87AogjjHswWKBCVoYl+N8jw5JDeMgFOnUpr5GXdb0826vEiptHjyBE7K0xEWGuFTZ0xpkEAsb5PG9fpYEuQT4xuNQ0aABsBAX6YbH7c0hgIewS0bs8EZImVaQBozFNOHhpiiLgBXet0GZWhprj3YsYCH9+zGG3jeucKxAHoEDKrg29GK4rdpgMdq0dIagUNqsw2gAO0RlJwCeWbmwpltGabDZpwF1I0RbaUpMxFO6nLPkEYGeEE0Tlj9OxGZyjfvir8Ew1EY07Mo+6YFuc0pmFKE+UY0xMFqGpWiJdYFxwDJc6KkNSOANHQ8pnGrAJPq4lnDbKmlcwn10QY40Y7BH9AoByTDDXaAJYiL6Yb4McYuG9bLC/poBLDJIAGqwv3+M4/BB4lCH3TwDLR9PaGcgXKKxpxwK3N4TkAr4mK38KBmNZzA9Cb2mNHFYYGjU8hlDRz70BiG8eJG+4HaNhnHAkakZ0QdMY4gNMPrRtbYF0VjmWNnKYAD4V0MiX40fxZjCQJKGwjDQTRJvLFAEbdNCzUAIxOFGhH+I1YeHXysEGGaB/b11oy00GgEkNA3DK2yjUWmH9E3GGG7UwNPGiNAJkpg6w3yPAELwW/GM5QRqAJ9OzO0DegQ/Um1dMGXaE5rxRwjX0wpTm1GLWQftUE3SpjuExLO+vV/ZYAT9J0nqAIScmomLEAU9WFSAGsTCsOdxKGSrAaspnA+zucZ+aAVdGSdDFt5pByGVphNzMFRGKgTP3UBErCCqC5q9UsQIM4fwZIYAMVsEnvsY+G3z3F5hopIzVu5GoQa9GNAgEL1jWKJrBJR09bEoB6zaKANVmGcpiYUdfbMmdADKPkXu2+l7RCB+4h10Kf3UOmxHhcYYONSGASfWNX1uSFCbCBRV9uyGGHDCemC+IPbhFPT8OFcR0RMYJuLUPblKmmAl0W/5scAIFiX2jZH7ix4PwlDbQoBOcuXfNbEqifqYbj0SBksiwycobbUxwemrmHRdjoiQGUojkHE9aYB2jEuwEpbAJ0YlyD1qY42wM4SFst3Ff5XfcHgAaVMRm4orOHIf6NMNr1GxgwPgZl5owPiC7tMpyUUEjOwAO6nHpiYFPC/xG8k5McNlo428kZPIhDnUd6jL46EwuGg/BNUwiGY3rDF2pmxwHhEYsTN6aAg0sNaxnhOFVT6dUc3SeqgoBBhgWTTg4bIMwxzmK2wSXbnHQ0C8Z/MNlVeoV0akAYVVUfoa8XZeLiGE9bWmHHAkA0blgsTuupLjAshhsgPZ4KCsQpuCfKUagIJNXwblhPRBpO+e+xRkhojpk/AAUsM9xGeKg+C2NqoFypj4CN/4upNJUhjiboDsVapiMRTuX+wFUxjFpn14ZYVwtyGeGQcuoQfGHCP6ZlMgdOzBINQRp140Flir8ME3UrmjWLOBWdzc4Y2jNp/AltMWp1M1TFEXBG0922e5TAL2gfJrz+R4RAAnog0BjGy8B+LBhiB0cBJ5Gp1DTIRv2R0aJypg9KxWI1MYd9E+qFDFhQ8NR6wvxzFQJnp7lrDGrTgag0TJjBizrdLABBgR8MyTmdlQE2mH7EwlYaw3NxTSXemcyJvJTG4a4LaM0BWyajOzRmAzC04aayUcrR4wzXBWK34y70wfUx0oxLGHVyhvWw1tnLHThLMhIeqWcZliegO4jHTg+pYHZINORm68KWobcMwNVYCyTQM8JWqS0k5DIdKshNQjKoGIiL2tph2dsfFQM5xFuZk1AFd4HNWcVRGtokTuRsIE13H7jGIt/hpLTf6mGerHN0bfFAbW24JiLI1gr5gYbr4fgfdGYUPAgIGngHc1RlUlJRGV3DSeRvMOHtoZG8kpkSm/jR+mCkAHuViuKwFVgN2/BW5h/KDpGC/SMHphuZjE3QGvHwapiZJ1sLG8tHckhqyQybgAU09vChJFTRWhhNuAhNhcWNKxGfVgJMpH2rCaCbFCNvoAfVjcc4Im2S7ib/hMLqhMBgrAFizcPosaF/8utgS+o3QIKbYEbYZ1F425SilMEcWC6I3fnBgNguiO8cwUegTMZgi4YZgsyXm7jjK+WBTI0+UawHdtVSfoZEThi7cPiH5+SdFNASdgaDxvWw3WZFYTMJJBFvMBHxhjIw4ABOujh3Aay7RQAPrxygBbp0lhviXl3FqjmSjXDbArjg5GGftMX6mE+6iiUEJaMUxGZ8TI0lvC41loGb+N8ihyNQuExBksCqI6yKsCBmdFIRowGTQiVI7v4djCRLazSWJq7LBe9iuMMf9EpKTPRVkOUn/KCeeFI1hSXpfuYUsw1AdhUY9qxYFVnRZvo/C2sMbfzhu6WkVAI5RhxoiaAAc8Qbo+6t0T7gH9kJlUZJ0MYHW/0rfZNnDIO3Vg/ZdIqYoYBZarkBw26pjqaNEjAR7jf5yGXTG2zboDM4UA5/mNGNkskF/8aT9dGPA/ILTJhprh2B3bjbBdXBV9LZXuo4rBWcZ1ytmdAtgnYpHrpwyZ+bQfg2S20FmMIVI/THCAADO8QnmCdIoYAIx43JUEWQdmLGkUjbi2KFAFlkYxEhAlgOWjSeJiQ4xb8bvew32GagTMExPrCgzlhrmNTqG4iQK2kBLkBF25CcBMouWPDcayJywx7aaAWJr0SP5sEZUar0zmnCTeNyGsOWJO7xj4IwsaA9NNehS8cwXXhpvIwj3A7+t7qQHljDIxjSzy2UbnBCCJGeirHYRsG+wiCbi/MHmG+AQSE9rY5VSACCGjxTGbAQM6JuzwV3tT48dRaSSXUHvDqbYHwyZFUxeDEEf+HfpqliAR4ai0wTNQBHvMIlv2iFRzbMmA/JYrEANXzjUGiUeYWcAoVmU4Ha9Ek/ANiDCl4pUIRYCQLspqVczuXDd0sKBGXmjYMhqTQylsSO8jtKG8ATL4AJHTB3RYT0xq6YpsjKpUYq0M0lgzu8TigtGwcYZn14GPiBHcMxceqWIM4gNWi0AChGXgcgm9ysZKMC+zxjoafsl+mGSzDT/9uwwCaABXUxt3I48sBRRuW4BXrCvUAs6Ys0QM/JguX3KDRdcNYWO5/DPHNvwwGkJZPRATqYTzAQKLnFQjnEDBKN0+GUZYPAIPMY20tjWBNoJGZT4E6mBqrCfIbMUFlPeTNMTuQPOS01q5TcFVem2wjKHhhymiMf6zPh4wIuwXIoUtUiBb9HOzksT0ilMAx/pGQw/YaNGAmeG/IjNARj1Ez2SD+Mtd4+ZzgP5oZMImNXA7CNsamxgwBAIMxQOTpK1WRR1QGKA00oL2I2bnK6gD07iqi3WJIDR4NmfBU2J+/guJDSZEungT9GAtmNIaYciomrgad8TqpizaMAamSYsYyxs0owQ+FbkNDCmVzjZZWO0EwdYZBVDmX0xyjTuQCra343AgMx6HwXhjc4TsN4yNkBJelJxAltAM8RhFTFsvBOAADLMyC5fnRLOwGNKB30MY007jjVAppyM0ynZLowhchgXDY0Zm5TD4LZgOtHw01NiOchi79X6d7oaIWBGI4sLGRoRV0gUDviBd5ERAfXD7g1w3LlJxwJUtR2NTNyhorE3/GY4zDb7mBq4MfxkiFzAnDJls8qmg4Y0iXqclHDobaxAbtGK+vbymHUIxkli6Kx4GhS5jTAIH4w3tVCy5BAFBGDjEp5riczNkZHhso0eIEscihujQyjABj+MCAg/f+fL7FgACXZCZAdJgA3YjDqhm/3EEaz2/Vk8ARLDajllWJBfPiDSw2lG+dMdmaKT115Ya3SwSbAZ4LN2nF7w31ljAuAGROPyPUORtp0zSlipl8tLGQ4bDCpjkADuMYMMAI2GxmbSBznxo3ccbgWNkhyKjuYMoO3sLzoHq0w2xYf6jUFKIvoG/KBmIBCEOF6jUolppo0TmYWF9RFwLczPdgPr9wQ3QeixhX2H5GBN1p5QwbMQpiNJ2G/DLTgAaJIy5NhmEiinAH1AMGcIaQ1WCYdBDOWGD8jHZOGxACmOCo1Cxpw+sKS/xvYO0ucZe0NAAodAjeu1HbY2n8CMSwxFAsJjVKDkVLAeuDfcNr521YsLGPs7qhE2Y+VdNKqKfwVBcMjRyyzjbQArBglLMcBgRNuFsPBKBMchwkM4T/TDijTJRprUwxhI/ETRMRhFyM4YRpyNiMgVzjELRO+z0i6Z1L98MmgVsXUCLU0DjR4iWYCdAPGzS4Rqy8RG2bS4iRicijgADHJMAExKbfRMj+mmjgRYxsfY14D4IkxVzGMRoiZgB2iwOXZeywgdMdEsNoJtbQzGCgsC9F9woLvaGIMZQz4ixQSNBmQDjDdKQJF6iyzjSiBMmGvUXSZNrJsG5oZkw8oxOrAAcCMNmTkhABPLN2eCmytZJiOxok+0a3rQi5Y7TAYbwVNACiNAPMNLJYi1sQK2BXKS04YPUM7MmLrHIDUgoAGClCnNM0ZS/DJBDdCdTA7GDQh8mGAXoTfMaukAFM65xpc0QAY4sTPdjt0y1yaBwAyCwv83M9WCmW3VTb4OM/cmnGo54+C8synkBgaMq7mz6uM4gImE395FDeNt4+wLgDsIDbLAxkZ2GpXZYoRTNnQOeLCk45EEiIxSmqsD53P7SM3S4u1MjsWNU5DWRkpqTzEE8eMoXG9yZGNVLp0Bv1ZWQA5IuKY4YpeG6UCWnDt9MfgABgwIqAEujHGYDnewKDarnJB/RtwUx5Sw7/Nu1GfBAXxWNnLCCCBExAveGvKzQYLsrkJn5CEGplXc2qpCaWM+bFuKABwBE2yCFjB5WELE3cF5wkw7DU6AMdkhh6JGqcy80MlfG7FjNoRtzD2nFjlBogWe+8sLuZj6wF1aac1A2lSQ/DGSJqjX3YYAYAAPDEdgAegOF8s10VgG8MBq4DEsGgQP5TGDFivGN8pmvPzASIbOhXxq5jLpB8SVIAe0Dn3YyoUZOSx92GhM8ChhnbY14tiaUNY72bZA+aUF3uHUChFqYOvEx/CNzZEDOibcwgJEsT042jHLQe3LBuaYsQx2MmDe3NmmAMlD6SgYmNoGGI1gH1gG+T34iZ4n9NjQ5WHUlkTRLABUa8pRaZGq+AbtOCxt1fEYPTDw6WU+TLuZgrTGGu4WcBRgACPjeeWCMo27kZ9HgreGMN4OVIHlI1ZyDFE4HWeYUgCKmEbozhJjfzhCQIo1MMudPWYzZ0A18AUlglcsZ1QMsrEypj1mI3JG4/jKxhsOrD4AL0F8LVhMeQfDgMvSwhCY13hfnhaFjH1MZOpzCkBt0xmxYt43NtWM/nh5hZ7xc/pmbdMVIAKxkCRKAx0tZ3AxGiL78AykFSxD28M06YEKoMcqswYTw1RvSEy50UojSSWNMxCwK40SDzDGgTnTWxn0Ry4/7zixtPsm8jT72Eqq1l0bdcMaaAw3xKF4plIIRZFNKNdqYY4sbkJpwEGLqbWFx5Y8mSve85v+UDMEBuogBq4erjDqhsEwxS4Z12MLZGmlDc/JmncSmWw5BMh2ut7oQTRHDTEwpHjMAW3GP+Y3r4izEH5G7BlAeqaH4gaN2MJ+zASC6pQC6mH8fEHfp+bFhu7qUNSnWKeAV3VNzwOTeJwLh1DMMJjHLRpOEzVIYPJ59WGNhAFS+jGk0myGVLgqd+ufIZqAN7TGGsD+ncv4mpTwBBRgKQ064b4fgNtu3xnK7jjlo2aUbjhDffAPdJU72AUpz8LGT1B0y2hlnaN2LRUEtoBF8t3GegcAV8QfuLGSYikpNirY5djc+roB3xlTrLq9Z3A3j0f3MAqlBnIEd8t/OGM2jDa4e440moL9s91+m6WrfH1rO60dY7UcBcTc1HAOikFawyTKSegAMgOfWjaNMXMuQhvCOycqrGOexZvMP+wwWwBwecivGowJXgNIpoGkACoPsCNEojAtuRk5LE7oZlblcU0LmjSXjhOQE7kAY0xQq2G3DYIAOvswsobucN03w0QzPG8FHQ01U50MM5UorDANPRr5rkBNbMO5Z0K/HoDF5iKwMTCbUkgdFG5kTEaTpMIn00bfdoDUwwS/VUhgq4Lk8YxbcinAHgArXESqIwscHOqivPQGFTELLr841VIYNSxQ/ATPACehqroy0FESpBMmcqk7aSriNmEA8ZX08n0Iv9vRRwExuD7J5Gi9K8x2wjQw1oLVwrlKFyMjmG0rjOqmELoESpjCuB3vGXwAcG0oqw3sEFlxNtqGQejf9hpaqGzubC0BTrmNkw/0DjAl2O0B0CAxdaBions7sXxEyT67tMUssj3DMExKYk2zjQOSwxGAcmjY6wBelwUmQbZC8SxMmA8A1nNSI24buFMpqYosjXjcGc+BsEbLsilmRZz4WnMdG7EmrhRgAanRfYsfgMHcIDkCCmJM7auo1TA6Rv+rh4UZU6wt+GPYjBcQHPQ1BK6w1AdaYbqIMIIAr4zHUZBGNY5YH/DYGWN+bDrljAiNB2GY5VUzgDfGi1fDqvNVeuzqjAEGOVTGTI60tp4UWwfDJEoP3kxOlaCyxZNg1bMO3JlUDHGlhltBa7WfYsMIDvqw1dybJkC56GQsELjgI7ANJSbsMADRGrMfbtbgtYw0CC0KMy5OzytV2WPb4zmSy+WiqlYl/DOUocRokNogqX0XGGP6/VgAMpRA8kDadMWrE3mIefIQwI0dWaxcDmWGzrJQoBKnLCJpjJqNFPU/DDUozK2+1l9KXiMmACAPQam8K89wbxJPMB3lBzVMGahlxwGHphYAAU5SbejLTcMkxDtVhn3UPGGUaPe+sNUqxWkZ9qwXfgpFAri1mnwyZ4ApXEIKAhxvImNIurmaoYghdyQOX8TAkoOxbwGJFBBBtj0QiLeIxtB40+CZaVCuLG5drEGCN+LCU4YxljuCmPmYVN5gewyHSY+6AXfqFDYO1WMQLGFoCR9NihGzDMIsVnC6NQsYZSMhEC7FjNRxrM+H2CaTYBCgELEzVCxvyw0psZ32sZaOunDLYRkLE2DnR/6kL7iEDlOfWF6E2AUYPnEKzW35QL2yiC8yZlimlBmcREEsLJUvTw1pbQfRMkSgIUAbNgJH+x/WHNyx2fOAxjfSeLekz0ViXUxgqsJLHDJYGcWLBlh79MhdAWWjZoJvzonv97HsNJkxq/DXSmJK0xoD4RKxcOA27jaqhjwYmZYb5jUwJWp7jaIYX5pjKUaCmIZqWR4sTNYWAkGuSZ5hsv6I1MiZApv+Shm8plqwwnGkM4CyjgyE0PoaxywPOWp0HacMn76yG7qaQAaPYytDIsRhKSF9kah491NG32wQDxlNICkADASwPNGnkjVxWHgEDmWEcFB0WkfuTXRhgVZ1O9hQ6M8NU85fd92PuCKYu5B0B5REWuQC51jTwAJ0D+kNz9GOkjUZ4FvelzDFOQc7RGEbDeWWEvyWMETRaZlPmycIxFkrRyJhQBo0dngegbkAVVpm40iYi/jNHyGgUJTzQS0fzsjpdaYkFmLCQFLLPHe1yIBYiJJLUeIjHGFMGQ0Qfbuqcxd8n5sOCfgcIDndbmqxkw+6h4CIAI3KPAuH32A3BuGnjPCcLXYzEUbF8Rj2GztYfAIJVM00gB/NDPcmdajTlRvyUG8kYlJMpHAY9TXivtky2EzZTUxJgA5VDERiDTE1AtiTUFWAAEOmLKwlZF3Nv62OVk5IRZQa5JnZY1BMbflBuqY8LQXe1HOcV9FFYhCRvg9rDclgUCgPt+p+pNt2mxVwj6mIg6xKlipkMiqYTlMb8oFWsyKBGKSMeeGFc3Jivoar08Viq8M65YpCgzpTpNXEChLgOMoaYW8TUIps8N24MYNvCaSm24gUatpsTENlgNrcruG4Awh5Zkts0coa80M1+G8AjGvwWSG17p6GcM5SGBlmaGWGxLEAQARMQoxYJljR+hrNTBgpJ8jCYZmfqjIOgEwU191S4WMhNG54sWy8HTo0He6zkDg0Bl0AHsWID0wX/zsRYYaeuWjAI1kywG9YYdwBXGygCAfe4mHLGuO6RcNgXAE2okZRnSWK7iYwgcFY+plTa72PK0E7kAYQBzSmfqjAVWE5M1TljBDN8jwTQ3SBNp3Q2dsbbABaFGjcAMCzjsIy+ka8CN+BWoZ7JpfjSI3wCBhCCFrGBGicbhh2SF0CB8stGHeo/DFsoYVQzZ8ZniNUb8jnASfYY/QzyoYdWQ+ACEHDX64miSOzcZp8MDXuNejIsmgC4wicD32BwIu54sLfwJFmFfEa3p5qtyIEgOyOs+rizUa0BBWAmtokK+mEms0saGIFIGpYSrDT/hvJKytwRWSwc0+sZABIgFAzDG4GppNmOAM/IFUYG+wygBZD3NIRQI1/NKWHQwynTqa3BOCQNYJCsZkMAHhaAHsMbkQKYjMLttlWg7K4BTD8AACR7Cyhn5Eypo4vHhcGG4CbfRoU9Q0AsR4fCYiQ5UmJO6AfGAswJLUMWV2PBzNoZqWiODcYnRAIVQYNnADdBTI1M4CkBMdhetCzYPxgVw2fNjacNggAM44HqJm9Xxei5/GM1SGndDKNhgRU22BhKsA0qAKhzVUfkGwxCyDr0w06wyawwC2KPWm90bW6xPZ2gGjHaYeDPHhRbT/8UKgMPgsGmLgWyZhYCLck6GmNcGPIJnULDlhwpQJAAUZYCWGi7QxeTz5lcDhGtdHfvijIEEgXD6rgVoRibZFLUVo+yzoZjsswGYsXDCCUjGowtWYRJA32GMCAc6cDc0wWpgE6A2UOllAQqqidTBSpigylTcQGi3LARkpYzEUa5EBIWGBBAKq4Oi0n+pjRsN5WGRisUhfCWIxUCapkFbJGe1jRYJgw42+JDmDkZLY+7PfN7jZeDAtyyyw/OIdlQPusQew2lljWMMfaYjljbrxpsTGN8HmcMTogpZQQJfjMZkvOaZDpiXBE5rOJiCjx3aFjlvdsyc6ouGD/nraCiDxViwC/GdAXXSmMIwxlRZGoQ9NGyjozhERCbAGyG4KtzsWfreQqYoiw2lEYwIAYTGVpDBbhi1YyKDYeExBwxQ6TLlRtfiDNSa9ExoQAw1kXzXPYeApuIKL5DOGb7cQXhoAUycEjmkNy623tAkEAG9oy/b69/DLKGFvMOBWCaIxlphMFMoABWjvYGRtsxGiYZiKMzVa5kTVxhmOQ2xmaYVx2DAtFXeMgIlw2U/j7ixCWBWiTReWK3uC9wFAOCRic/1AS5xu6mALdFWUtzpYGhLaumHgzDtTRNwAzPGn3sMumORLARVirMN3am8krBdvrXBziW5YKMhAgdkdbwKEzK2c4Z17gJAgsPfcAoKeQw+XYNbNyaGElsArhqqfSnUaP0MrxSL04fkXNNEL8lhypj5Kh/UASpviZpwA+DHHheleLAjagIN/ODoLYbGNeK2CmHEoGIXYH/NgT8tngCSpjTdYX7Ez7R74ONGjAmNcc3RmLbCD+4I+NOYoFz3awMZCAEcQ73UgQmIG0jdVgCZqEpJZ4KwEOGAUjUhYQ2cIh9At4kW3GjnDaskZDOE6UZ2aN39WHvDN6gAToATsCRMMXVutJg0OjIe501oa/zocvSKHPUapqEfE84bEskSKxZJATehn7X2HS4YyMLxYVsjWWmD/SIvIZChCxyGrBPTuRu3TFeUbTciAdG8NoLRRkgk3f1adrDm6RLtDLuQIFCNJSZXkMpGAvFTEJDqQEz9iZYMdvHoSLQHa2Nsw27mG2iQ0pYlzAcjMJlExr0bXiMeuBqxcZZNm2e1PY4xysZvK1rMEIRjm8LckahQA1zGfwTNQ8PqlAsuavasMjGEZDCrmvq5AmzAMN0jSmETEcamNLNyIZgII94jG2l4ChPv+E0/8bg9MwlhCbPTJnM4cSAdF2VNr0Sf8sCDZtTYn+xaaaoNpGYwA8JWPWY2dMBUCM8yukeHP0hvQu3ccYEDMntGAmiD0SOnyKSSjDfF2BGX3sZODm9cQ38ZxSMvHo5WWeDAPJKxqI5vWwrnGvwAIVPgB0wxRb+LsMO2P0caiRtjTF8oAjKMo2Ga6sZ4+Gak2ikZJ0MRtua6ndTsFyezw4bZRMwleKiYqSphPQzveZv3hZzh8KUdCsVbIzKIA1LB5YAS/JGsRimMFFlg7hc2tW+vDRqDqPWBktgnIAeZuNhgxnYYcSCo4GipRm5YrxjQkxm7pxUlYQd8AaUzyjSmxvZq1AEYVykZVGGcsVjkC4OxnOJ+qMd5mgSwHMJiCGx+ACQrx+CGbjjHbhgVI2zjT6nsl6SfoZVymLeYz4sats5LeAkTomAxkcglckAW+cdguu9qDb/t1IzIaZ3cNXqY7yJamNOZYxkgCXZ8mFwFRuZJwW9IXkEZeAt7m0B1DJCfPJQ2kEbaGBZaGGYjbZiA8w3R8YtTMOaGllDC/JhTIxqq5bix4w0oQjKwfsCIzljZMyMNbGF0nH2IBLwwCoCeosGqYbtHTmdqro1dliFHMTuuklqK3cOh0yXMb/kopRGAkjMwYABYyNkG3E52AB2LkLTAZFoOVdx3uJXZYIdMTE8EcoxSyyrPhYgw6L/cRgNECACUCC8MMTGHRAYgWCjWHJA596AVaGmMAA9Rs5fwm9EaWNUFm66gt8WDLmIzEa+a4laGz6uOQzAdYD+CZBuIxymmslUO/tDLBKEbKfxi7AUjADyWAfI3FaYHrNxHi4j7RkQUvD3zLy2cM3qBFisOTHvPTB1pg9F9oVYjtIiN/oIfzkVhfChPPCMCLE4oDTTCUsbxkMmo2NZI/3UMnmxjUYLaMhGGCEUIPmDijRU+A8WxSpGtTDZq7rhI2OobH8Jp7QLfDCR4vpZj+CbhqhYc2cGgGmgGIILbYZbTg/5Y7RjIVpqa0zaTZMpQ5UxDUzFoADGLAnUZfudO3om3POcAClwKkqaW0xVYR4DDJmmAaUP0njs48heGUhmFhlndJCZ86GG8ieGEbgaQRnsp2wYYYVNCxI+GTOWJr/YyrobD6NQoAjKbAv7rUwxUf5EMROpYEKQ+h4tGq0dIYwUMQM+rJvQApmoI13UFs2c3yGwfjTIIIM4x3Rb/+cNnGiMuZORhbzDecr6TwAJWB1gSDkNrEFYgDimsY0mXfjDMlsalCMVBTUwkuoNq3AVpr7YAzTDaWwKbiPhLVahs6YH1hTJmN/ygHRHV/7udphMgA9qBQ6M2NTRKmIYoy8oC5WNJX2LHDG8ZmcUxd4ENpofgh+JrFqhtyE3ZlirEBX+2eVTBoPrvam4gK+tJ5xYhZMSnLsYrBL4HS0w+wBfHwqZwMwow94YEaJu+exkrTUrlEJ398YYsMu5maqo0QDkb51QXYxOR+ZY117VpWP7qAx3aAaM6XQkLDKPMKmphRVpviwhhWA1MbOWL7IwTdSbEw1J2mYOfLvtTjUthjnhN0AYt5jX3VMqQLqpheXNrmmeu7XHhip41ugyZZsqBGVv/D6mFoaOHfQ1x9grOt/jLibqBwPR0Z1F4YyRSCTJ/AEoE0FMRqDFGieTtgDj2K342D1EuSlOPAsFQCVILGQCiDyPMQdeGHokE0hukAAeoZqhcfa2RVMOuDm0ox2Ti6BAtxYvYEbf7iNTG+UYAlsLmAY2Xfx3PWwz5UKsAArPOmJTGBAIK4B436U3NeOGwfDFP4PWLG8uRi74sU2Kf/bkJuPigGJF3vMc6YrYsVfhq1IyS6gWtNZ2ATYsHl0ZiWyI0R+4iTkAMgoBSfsdoERYZMHlAJYISjcIoP85Ay4Y5sNSZYD2ADzRrel0yTq6DAdaYuHDLdoBv42z1rNeNYqOU7DJhhhl03SABoykvQmCFjH0vIQbxPaCNMMWpmossYLoJ0o32MY4po+GSfyOSJiOXa2RoaRUB/zYDGwpSxhDeH9PbMGE0X2H7DPojtd7G9xGnpMXumE9MRyhrL41uphYVsbLwPVJBmfjvf1+XYUsMdwAHtwGyJguIHTKABMjVNGrSsWsJn1LB/AHVzEKKmjtDKsZhrYw3CGcAA3HGcsTWgOOJTAMcbD6MDUw5SANLXH0eA54hNhBxa4sJjHXhowwCnYbTiwCAgJ4XCXIM0IxmoYzeUOBATfwWvEPjQIwEaNQBmN+NgQWNUTXYJTmYxaY/gmQwAE0WAZLDM8Z2poKuaZrDcO7siwzuMZU0MEWchksOuxlZHU01RqUxbzGrAQStxpyw03obIMwZyghEkW2XvBbFYVjWixwIwB7zKnxmhLHxphGzQuqhWhLft2jGmg1kYGyBql41+zTC9vKq37RDyJMlFY7AYIuXj8OPBtIbeNFym71cBn7q+QDhS7qUBL5my2jANxkDiNqCBnTFxtG66TKeQOFAI2tieKx/+GRUsP+mACFwY4ZnRN0qhbmBM1hlZIBM4bVlMBJGj63atdkxuC2wHxkBlEubPjBN1FJUyvpgQhMw5YOvDDMRuYIA/oaoSc3vYyu8VBcOBiP7a4y8NyL+RS8SeziaQ0AqLVLxAggnBrEIRpMaJ9pjg2kw1YNbIBi5lvp0c4Z4iNzU0kJ3bMXrJyOHViSDjSKus04ZQIEWiJ7FLgQB8AgSpjMchowwBuaaQklUSguHg68dnheHmDCOcM9TGzhAImNOxx3/6aliCEGGsR4OyOoQ3z6ljbAwE7APgAT90eZAHH8bbtMmt2ocjBY5oYAMtJS6jhXxg48QtPAHKkG8ejVaYZhuzyzWqmNE00ElZYm9NZWc+sIDVu8rE/74Woc1GI3FDO7hurcRfKAicMhu6Y5VOH1ljEFB6ZEaNhpAkJ7diLB9uzSVjrLD/4A0jIy8kMQLFXMavjAEFGekjVEoLPS1VDg7CNa7GOveXcoKCYzbxB3cMVcuHkgVpxE+43y/ZSFdjKGpyaIsmjmqWPaZvyMcDhgsQR6ERhPBnOLQUNdvGJIsOtRv09w8SZiV89oWxpQb9AIBo2KLAI/85aGPD3AcbpuWMioDHB83AAG0jBFzlisLr0zUlsNUeElAx10XOAAvPjOmAApGS6MeyjO0LG/mEQSj2McCEUMn7gkOwI1GOOBU3aVPTeaAHwyTyfauUwBVYTIQRyXuuQCQnae0w+Uo5ljEUhsa82qcxFYCWqYyqjBfEMZYzpaAtUMyqSHzGVS2GQY2K57PKJmpGk6dSldpaiHxWAz888pu1+jWrRvVcPiHHPig21G4mYfGmDreF5Ybe0t/4AxksHOARIeHN2CWsMPmQkCgCfZtp9jhbTm6iAZuxlDFqhlgI0aYb+DJ8gWbbsMGcIyQyCMZJ9YsqOb3sYznh9QGKBj3JlytedlTCGRl8KFOEZLrA2HWGoALk2FPH2psSEGNZKYQ1WMW2A1wyt84A2QaIRiOmVU+q64xxTQN6wkRqMeQWthvwwznIbZMtwpRu1MVMRsJr3pEaz8sVAmEgjE4Ea4UDtxbr9cCAOG4TAOxkYIww0C/AB27BlG/DFWLYlGAzCCAAorWzUjeiWIUAnB6ZmSdtwMofgO5yEQFA7pjii53FOuRAMzxq0FAzoDNyx2Is+Msc6zguICVYZy8j3tGsFDKq4P3sTXwERI9wKQkNMTbJjT8K4/6w6YoxxCpnfyWDQo2DGF8WMo+6G5wUc3FilFCyG7MRNUOO1sEHNPmIO0qC2OUf7mANDIqAHamlKyYSKxPlGW/DEd7hWIxyAAgzhFYmVd/I7hupQ2jID1OMl6SkAjXI/om413ADC7BsqAOlMBD0RQjzv1FgiBBPGuSITwpsNh2Jk7ua85pR+GTH0IENQ0+CZuohYjwLAjRJRj7EASSZ494L0Qmslf/RiJwxicjlCswG25cpY/RvEEMbn5rThaFGZaPIChiYzx0kaVK87ix7gAzVWDGEEq3A1iNvLAQ5SEZIdPTGZsblUMpks/DAUSxvNKGVKbbKMPmM784VgwOMYhBfxT1gQ2GpuIf/8EbIA5mjnCMqemJdgdiLNJbG06YmkNXGG+ssdIElHQ0AQ61ItLqY95wiB4q2Y3gUZovDb/GugQIYAA+AXYEbp4F3KGL4mbzEJVTF4EYziw1AmWtYuwANPcIIXjC7Aj9wl3sVUhqjIPEpgCNNkrRdIfDX0HRw0KoZ7sBFHAdxjC7xndJD4ICs3N9Dwz3wQMcSMoxENaTKjBzgKDbcaWCcWA3OB+0wtSR/uoLixormOVKZOCJLvu6QJN9hlLYkaoZ3uJctGZUzZDhtpox2pTKfxpOSwKIQ6lKS1whvAzeUftGgjEOjhv/4ELmE9fDt1ypL7H4AFFR08Ka7yJapx3ro8eJuma07SA0MMvhQ2etEyZu6QxREaE5Mo8AO1vdemBkExRxbd0sslRzHAM6cERAIUmY7UpaA49U7eOYOKaVNMZviNs40tUsf1JphXGrKaYBA/ImhYkTacFeOAfZb4AA0pBxQMeD8FwEFQKZ/TgiNWErDfWFKmk2HljbLCwf2FkjZLhrIyUKqpa6dR3exhjO4xJ97CXZDjxNXKYhhTNPANloD/iaold1Ow1TmUrJsCAG3XqrmM6DWqVMS8YXRwBdHivjAf9EMJjNXloBJjS3QXwB3umgNMSmxpFQEoibsMBzjA+a/SymPKwMAkwsMNrXuFqTDgQHB5x4SbGI9LaYcTEYOdu5Uy/obsNMZpOxRYTsRuQcQJ0D6KxLZAgVseA4SllnKyxXUwg+hs+7P0xiQ43ofb0IixLYcmjHCjgxLCnVhXJQZ1S0PzYjRNlTCfKa29DI3GY6jEGRkXLw9l5C+QyOAa04IDEKljyqlhDhC5dcQRfWsWPOyMpShE0w3ygqz4eSmEWLG5UI5MNiauZnjXKJhKkH+pjOMNO4wK0fXVtg2KN367WSxR/m3wPGu8HIk3qcbwF4wZY2ezaWWHqe3Plh+ZiLaY0yzO9Ar+I0B5Y2UwfdGnohJumFYFGD8aPcMrxWXvDegQEL5D/pje0w9aYmQ6OQAJwKPBPScWN5gwgzISExkqRhDpiYLkfWG0eWbCxjylnzh5HgtNWAMs4EymE7YARo6mmADqRb7DRb9tksKkMzmu96zGEqQVcoBhoBLph96hV0mA/gQbhseU0BsB3ccI/8YYoYyxtVk2hADYSNRZY06vSZEplKMNIZsOtuGYI1gPUIWLLDCSZp4BQkWZqsMz0iL8Jzpj++NAImekvT/Nl7mydsCf7AmqYvc8JlhijwOkpgsCMvNGR3sdVgGfEwicaaudc6S/qTLLgeEE1/2BRB4oXGkDJaFxnerAKkbolDzVepbg8aQUtLAGvZiMBkHwhijS2mGvw2c5ESfBsJGX+wfSWITk2ZIYkcB+koPJjdIlj4IygHJMsBotR5pDChmMRwHl+4Rqxut+v4jN6Hj0/RMkY9qAjZA3+wAsljpa0/2DyxieJGNKrRW3l6E1hVgiHN8OAtaeWK2MpcxtGYXkMKUoELjMcWGS8RYDFikj78W9OQbmhh0axT+EqtM2hmDBTFIcJMk0XKbuydoVekvrS5wQ0xiWoadSwZTWXgAJlgP/o1TbHG+5EeSpRVb0CPeU1bMbFSsydGO1MHwRtfs2HpifdNPquFTQsqZsj4yGHJOMcq7A4RQCuAIcSAAcAU0wYXmqcsM1JncICt3D6ywZnmyq4eclm/NysEanGc1XhlDMCddtGbT5iLqWsrBgt2PZEbJL4NU0Zt8xKCwhJjRRwKerGDo6hr86vOjLAKsWPUYxPaCCfBN5GLuPUvFB48NOSYF9c2kAgpIrFiKr00athE0xnSgt2/ZZWH7Ez3ibw0wsqGjojLxhj7TGchZKLtgyG/lMcmhjJLF0F4XMApf8OAXOikEp3kX4YSHhWIAUVrXXRj7TB5G6yg8smeFQfHXDqCNxKP6VyxvtgZBARjsESwyxZ6ocNJY8GNDZOSEdRzzxZ+Hc96YWEsFwRrFwwj4Yyp0tixw/3LKmPdBxjSC/2NdaYa6sOQAHfo2QfCxZx+9mmksdnhgioK6bQ+Zhb3QfQ/ImNCl7g6ADmONFqYx8QJafFVLFUoagKNoeRSyQSh3uaIwTIbdqNBPgs7TEyxoeY3rQj0u9oVYYMQUIAPLoyIZjTxJUburdPLtwBNLFc0aeSMzNBU0gT/YAZQwtZELJBpQeo6w0mktb9zfIbFE5GPWB3NZ5WkiY3ofDRMND+G/AYX5aOEFyO9i98Ml+SQIUQo7MlGP8UY5Dgg+Yld3W6DJFI3+cj6qwCtQ5WA6alkcwyCs7DWBxZGGyjdGhl3M3sI6ysCDEhQPHOSdhg0yuSiGywFSW24sYGWPQwApCYVNdZ0QJOQl9IXlTF+0y+T8h/RGMvGaRqFh1+Shx8BrSGMgpA+oGtLCA4bcQEaW+cxnf+IeAw3laAN4kGO+HjDPJhnMdyH/ba3NZ6g6hnFKoDMONVIbZMtJ06ddjeP7pFawP0aIGDACmMKaWHTI/4wudERsNOnmxKjJlhkCw0kMD7Uw2imQsTcAoKFdFZyBhCofJgTgkbSoFGwzsgBLoweDeunQDdlkWUFRXZrsk6BuvRMIsWCKANnk4D6NUVB+FHX8Rjq2JAYbm0wJSQWAjDVcb91hy9IF8tPFYplA7+cAilF60xKPM6eeXgw8mwZSkyuSh8MAL22fjDaxMBTIyQWZOSx3Gu0QjLHQL1I2sViz8JzSG1ysSGDlKIzo1JjzBKYWB6zV6mOp2DHKphd4ETGs9QSEgKkIzkj7nGAqORJFPTJZrU1mCrbqCsJSQ8e7fPMXpo3AZgcFAkUok8jYmhjwuEPkZnmtbOmUOjDYxqHRmskaxq8ruGdtjCuUhZQ3tMYXwBV5WlBYSKRjyZ05qCXUwhAREceBozHqIwd66uygjAAN7jQ37qkI1KbChMRdyStzzA9ZkRKxhrCGztxXcRJbK+hoym1JJiPclftMeEPXdpjtQ3wli/zpnawd+jV/0M4QDIIDq0jxpYKAo1BZp2w3LR7LwB8AxK1zfrtjpoJtp6LGNUhGhJjHfpl7w1RB5K0MInA4Eff6qAK02KRGHEhJkmOm6Mu1l3Mz1Ua8r06hGjTDF1ksst23EDnbdCc2+ILI/oNJGIIoaecNtAADpPAthrBm3yYgtSNzpwkVMNyhv+ixvP6jKlgxYwZQLZRvH3jXLxigRJkmo9YUaJsQiOpJCIliioAWWcV+EQkW0io6ZBBCDG9znfaEorOER0wIKMwwmfgjFcEcK6yoEY7dNtUgElAKHhgTx1kgBXxMrZG08TTRwL9kOKlbU+8og8aFjIxUAK03mM5c5AiNEWXDZZWNhUH+FEHvM12eq9gRxWGxwFmiAIdMpOANzTHIAC6I21iCIJsGNGP/HHqzplDynIGsAI0BeT3DM09P9EDBC6uxcIRm0bDOqmObQBr07QWZL72c1jKofjywxz7HNUNPNchIEXomLnyDjf5lEAkkoi73OxoFdyNmxbSuN+JYDlsH/JjywF4rb68M3aAnzvcOmPQHFfGajzomWABbDdG1uLXBL4bWQBOxYEEsbGmMgz1kZIFulkRS9JKbemLAEKhhRSithsmozwSE9JkwygUaVFU1d2rlMY30CjQnhN6OD9OnOKl7NgAGti3Kn6sZBvR4fPDIdMCewxRFLnL8wCWntDTertXoyt4ZxSNA6AElALoVgruKGqxoaxnmAhqvZEUtDf2Vsb6koWahc4gQwxL5v32FCF2AHlm0JLUpCM6hW+gD6sM1Dw2NTWpoHD7l1ID8ENZFWJTY52xqHkL4/wicMqNxUgATe4VIaWJzG8wRgRGDDTarztpbFcraKDi1pwbBjTeCP3xSKdYnUwPk8HKgjDAfJKwdlIKiMYZmiEwmKmBhGxiCZa2N//AVtIJYxG5TEJhGusM1G4ZNMVN2tzjGFkYCaMm0BmxoDQIASCDsAC+8xGGAKQ4V4xuNOxsLjbtNRhwRqLFRnpkOkCljnosXTANFTOxbjfR00qq26MXUQb04bAIBr43GsiiKxoPGrHIdNQZyw2v0ZR91322ShHW4JgKDySpheZBi8Osa43IAA1LH4qEKkhuRGY4sJoEjxMCcEjayi6PhJtmBqZmAgCo2GB1cxahtGvF+htP4FFphhywNxeMMzZ58AntyJiAk+NhgealAKwuKBQydyGZVh/BkRFXarIM5uR7aAWyN+PQn83ItUVWuM9MbHHhxFmP0cL9DLzjF06AyqN5j0GJjd+4BWI1iYjwuN2IsnSjEZhsoqSNUbFdsEVSYGjOYlp5xyY3B1Z8N5ugtIaUhpJagkUH3dt6qGlsjKDhl3M1RtYeeAXygXhwy9xkpwyisbLiMCaO7lfKnpt7Yx8mCPtj2hGm/jVXRuZI3Y0RU9N2eCfGjBbAFjIw5XBd6Zj5G/TDFN5vXplTILplBGVRmQkEoRv/G3OEbmjDRw+AG6RFhn3qDs0bWMMqMm4AofSzGg2CIEaDON9FYuvDO/hDOmH0Vgo0JHmIf3zZjgLV7mBEbiwtLMh3YDWLhs3TEAlhO9MfFBijjdgwEilESzZxrgLz4yRzXsRqjtxioZ1ZY9bQjrraMRguwyX5FrT8atxb5PdZgY0b2z4albiK3GRZNZ4Rj8d2KTRNKxwkheUjOzRFc4znobNGN/nGYaTBXgAtw0yTofiwJPgKNjXOkuAw1cOYpDhGmGPUjOeASTLFemaEABPlGl8zdE1opTCuPAniwIcur9fWQRufoyxaYNXMTkAaETAvhqPw30vB2BN0OmHkgBlNG4wyzfLnJtLvYz4sf6qK+M3GcZqMQlyG6OjbCoJebz2SC5/c7DU/IAMhZo44KXIaq9No8s7lTIarPcYm64YR19rxGjRgYWhlhXH1hSlIQ5meaVAPEoBKF02XCvGMM1uyvdFqZiey0zBxFeMUW4LQUeopkMj1Ap5+icpSmzXjF4IcX61FOZLACEO2mQjMEQFei2goBScAVRGNbwLXIIDODHl7LIcTXuuIjTaWPPLCepFgJB3ieYIgYfRuzwX14Yjiw+pWbEjK7TNGI2z14bV8Mg0Ir7E+hv3xXv6YoOMbRIrorQHJucSxbPb9xN/dQvsjCYQCGwzPmae2Bb4Em0sUChsiNkRaZ2OMAOxXKzT+AN5iGZsbfMN+t+Xbgcc4IyVyvligwj7dhQSnQ0tgdbFD4bhOMrdw0EzJuAD6wCzlYumALpYWNiP7UHe8yeaYsTNADGA6/DpAYRyNv87EWjxpY/zAU5HpsTA8n5MSMu8WzUAHZiEWUHOy7aXgMuGnTOZ58MEw2vEaVUM3jGjFLTYJunFkXjKLq5p/ANizQWWPCqUTAzUKiSAgtmXN5Wh7YPt8jLMN25YUmJU4RuZYymRI2a5X1RFHwntoD7o0dVFS3tcmBH9DEymORhHGcEkNMjd20QIUARklEx7aBM/MwaGcKUOdkXlQ1/2AeO5sA+6bAvaJh5mFtS6QSw+WGPq6f94UEvyTKRlPgUR+ge6OaWMy4CHX4jWBehGU6sSSWG4AC+G6ss9+WGPqYArUKZE1tMYYTxdxYvmTGy8GkrHkFKXsdomISPJBLgQuQwsoa6gR0AYnNMD0Jg8cAYkYJaNrOYqnwMabuaQ24Yjas8axGV44ZvMLBt1pEQc0BJq4mLLa/Rm3PxkFJX0NS9WSnDOIRCqr0j9G8djf3gcsTT+jpqLn9gAwYCuLYbeIfWFP+UEdliUIDqJG1S8VMguTO0UpFx2Bfd4UVjfrIDZrhIcY6iAqdYytjaYpjCmJgoZPaMFkmde4UIRkvyRt15Vblj5GS6wL4UKpIF9sDi+tu1GX4HLtEUIk2rmLXfYmtAdgTT0xjkKRBk52R1wP6naQUB2D5w22obzDgbL+cdDNfZuvywRMbCOjFde3ujbxkFu0Dz2AX3EnvR8LQZORmHLGjoAbktXZY71EUe7ox4CkNKsZctPOkNyAyNkfvQicAHCAzEAT1DXQIBH/laabqwjzqRlpKKTEpO2yNsYCaNcqBpwAfchjTyXoYDjbAS4hCP3UrIYwrAl4bQqwLGG0dJN+RungS8CYJ2BkhyFBtdU8RJMzuF5iCMjHEB+jVfhh0aJ52aFWxX3mv0jehgCFk0kkbxyNgUQORooewE5Q3Wq4zUM3yGMVQHlhtZABY4bvYs0KSdDXMVJnBZyz0ENSjGFGwbAY9hl60LFpIX6t2w2kLDESfv+w0roYlJMLOAppgQCJnTkPQBhSvc6XQLx4LIaPqeMSUapLtxTGhyXZ4Ai8wxrEa1E5zLWHmIw/ESNaNv8ZeqDCyYAG6KDhppo3bMYjUd/1ceho7scUxuFy544cM5GGTEsBa2IDcILJpFiMrVhR+4TuhjmqVaXJf8NN8oOaYFT7rxuFGobUidJxA9ZvADdP7qEARYEWw/xYITEUqmPzTEpSihUw0z2ndMaSmPzLBlToQK9/AofeTYUdj/Fwu5hNMNA7WwTDIRhiWEwZ54H8dp/e2jDIdJq9wxppieeFSF8S3jWioM5s3fhbO1hUCmK45RyQKY+yLo7DWBBkerLxVnIMceA8aZVpAm2YTdMOOwVFa2Tl6AzgZvKn5sNkJicUBzYzHaA2dAELHeAIKM8G8fikL4RlGFefXomNDLEqWaqWxP+GhnDBkdtUE2uxL9iDeOGWMQMSUQY421UAm2pbRIBjjTOgPqwzeBbbtM9cWvTPR0RmK72Q4Y8UtJqCYTDJjsmw6w3OByMMn8BLeJIWCP+wx1a7ci8q9RnPMCXjkSDSeWYztBFKGb7cVZhrfI1YiGlSFYrYuNPVSQODaQSa6ssB/AoZ6QtcvB4204S6fqihqs++3NCtCksG8egtWI6RgYKvSpZqd7B6U4GaiTSGurDPgAurcW11iFyjJkSrZjL4Rh9QDC4bxkAqm+eHAT+/uVTHj/Deot/nG6zfRonAw6yLdbC0sdFGegAZqhmJbEM4biZgb6GQ1sc7Prb42bv4Jdt3SGadxTFgGQWEntS0bB0xeodGPrRtwU1xNxuSxgR+KBg+iwRWX0rSYPMtTTAwQTa72BDpgVaHFas07B1+jFiUckkOypjDqxQBGLsYl2mGBOAHJYg7g7nIY6jbqNkDsgpphhd5qIWnNxMNJniUCSiaQsMgMm79wXgANRo191DgBAxmOqaWbyUW7kzKmG4uADcmbe6HDhitIwtSCtSxY5RNw4q+JuyaFUoZgxBNkhhAAXoUvCiyJjTBV8KaG3ajHNMPNAEAqKAeMKru8YXZMOuUwByKEJssLaAnb0S8RhfYwLYauRMQkMUjgGiWCqiKSYbhLMMVY5cpRnlAuOzNX78yB03wh/DbCxlqoxYUBYVwfKGlWQ2fhCMN2zN4sSwLvYPKWaS2NLLCj4ZTcEZTRLHcRIpkLoA5N62+MPFYFMo96iBMIFKD6Djck+OoD7UWkpkOkkMCWdMWrGJijYyxuIszWe5Eq86Rmb5QbckGLSRfc7ZLdVKYFnATgIDNaPpJEdkhYV+6lTCIJk8kOd75aOM3AhSVTMzxnacPFaZm0BTbAoYBJPrPKIhSWBr8NJLGR5AipeNeI1rdYuSNzvYKWfAxKrBHj+MZm/ZDxYy7wuoRpO01ljE8bMNWAgzjL+AO8iXY4CB2NtDAB1DW15rCrGpsRVLwn0IBbDU8hg6w20obUJMVpGjUAO9hsyw0nZYKWI25S5RAPgJgSe0QmwSQ9ruRIdML1Tox2EnkZfd98OAF0gPz1jBQ3AFDMtJVgxUzgZVRlCFxgMZe0NA6AgUsC3mCME25UI/adkTIU1MXczOh01N7FBVA/mGBUjX5xlSACJjS22C8SxjYzPHtl+hj+76YPD36Y7zIzacCHW1DVGySAGnKUOmU24ZnQC7tTtrMBYWb4zWdwNvbghvAqjBWvWPLDSBkoPwxOLA3NMtKu+dMV+/sVbBLnFEFs8PG04PTSAAes2qnIvlATOGndDL53EDQ0C4bbtMT7GZz4N56urSJzOC2cMWSGagTLPJj5Q2qoYEMxp7Q10KMgxt9gEwrglh9yMIwUoW8xsBB2lEbwYA6rG+OjCjXiccyayyAWJHyGVTfNoRu9TBfcYOJ8DrYnj7LERJBLEFljZ1x/Aox1DYyxrTmzOIBvThSlgn9xV4JvbyMWfC+a4OqGq5jV0Jteo0dR4Bn8RyGBiVM58GQQDy1QIqwSvGX1xJjcJy4xgpK9yxCbuoYkbyRvshzM9LSHwGG6QGIJtmHXuBPOJTnFVKGTPwHqJqnQAvyYTSwinORObIxbm2mwZCaN+9knGJ7QVjIC5jx7Ebz8tNNGKksIXhmqi3htDDyxRUoqlg8khkLtF7RHqSt5JylJKHZ8E+kmpp7mSMMhObhlGixrzoi3sHbgZNIAsjJQdjI+gy1CFA193vYwfA9R1nYE1FqGHaNGPA7lrelbocMKPh6mcAERGptJKpFtwU2GshyeMjtAYfbfhhvCE3TpJ22NJhEyvdK48HnRGn8B8aNw+Go1MEnxt7TD2sbWkNJeWgjjN+8LGQAB6D80wJFGEDxCyRq7kxWMawpRo8sIf0YJRhpAOJjQf5MZ+Q9mA8NkPrLAvFj8oE1+Gl4XQSwS+COTMbsCMWShCHDW3Ro8UPBWHQUNgRGSQIh4rrPwnpyCbjM7pIEoveeWDMZgzEZeTM1yGhcYHqmMyQznOJ2aIDAA9GwEsJgbkyoFZkJjw+Ge0jVm6NfOzazJD1iDHGmj4KPMNeLFGBILWM79GJPjSpyAW6W8fhvogjvY+abPrwLZKzNPTnC982gTzDbUziww3SBK8pxb7GDTGdoWCdL1HVCm4tR9xIlmc4RtbQ3u040MjNAWBOjBSxD2Bx6ka/vAo6Gs+nIAKHxLAsADs3h//AXcjZ8UKnQDHUbZ0NyzRwEQVvcPVQxGRJH7gAIy4ppYGRnvwyvHAjUxoLMUHDWfhEBQwqOAvUC/+md0kFElmcfHBMTtMAEyGMyLGGZjlADRAA/Mshnk5HfMD8YvoFioabywMg2A1cc9JgUCzliZFqARic/cTW90ES1xsa7cK1t6ex+jXaADgRyN5Ivew0pW38o5FhueLCh4abyMe6BX8AJWJkR6ysa4eiw1eeHYweYMNfOyVobbgYztAt/7eUXhqwAYYZM0sTyGCrAXl7mKO0cu7xR8yDRa00KDnhjQzMsYagB/zEqrDd8QFLyxzm4q0xuuImjgVV0XswyE4CwDw2rGj3JOyphbQHSBK/dZPs2mZbcOXgWG1NpKvMMoTugUJI9xjTExOlY5YlwbSqaTS1UGmQOGkCGkMY1GmgLZRCMEp0csa1t8vbKlVMem9qiyxlnACxsPmQvUjXN3NZIyCpg+KMSRYRjTUK6P+riTKT8cizliY04UWhh5RzSYaEehxAASdgO0RllTCtpgPJ5XtMM7QJQYRyiBRcDkytfgyZksfcJqLMOK0QlhNnVAk/wnwcACCLw1RJ4CsdA+wTbdeipfU0qoTyxj+EMu0WRhhIeAZViIskkEm9bjapxihUPzqY0xMsuGeAYmsEkzwB84bhU9tRGIyjDogNbqIy567ix+mWOzECEEO9aKp8aTyNL7GqujFw5iJw1JIaY2MQXGzeYAV9mEwwlEZwkwMNAXx0BSZCmIy+kb/RBBMsyWzDuAbfYwfPanDMbp+YJiACIYhujZ0C45NC6QbSAHdhsAm34m4fzQhA0EeTR6gF5q3hlHg6YlYmCFwswRvDaBxKS1ixwbSvOiA0RtnrSLKCbyMQ3+fKhD/Ju9RCzphuMRGJAmtwWSACfQykMzH/DYrYSSUU8huNZGUI61NY1beRxALSjlTrAFW7OUxRZYTzARqRrtAERaaOiN4FGuSIQeRmZ4wS3IzPNs3GeewMYPkqwBGRIOdCCJGDRmTuQFFa0UsYEVNXwWcJMQj0BksBwJYFiN2B+VkAaIQGHLBUebrJNelucysehjl8GTsqaCBNBTeT6LR5iGak1FSg07M+zBNYsAHoH/0ABsjOoVBfOJ8ndUToPD0n0ZNa8WLRYVHcOMdoM2L4g4WArxwCkzKwYBgAA5TQYcNVdGRjwicWOYICYwFHtNuKG8rDYonAf/3haBT5M+xYb7DU8EcauHjWZl0xmTRWMjRMRoDZ32phDVZWtGNAgHiRrTEwvRCrkcEFGBbpdIANeZwYoYuCNj5BkkpADPoh4nYfbLiN9hQBwgPemC6/wUsS0pi4TErRzFR3AyI1ZqAk+MPLxHKQz6mGPMAvyYjSAw5YfpDUARj0j13qbF8RjRO5VMAheOOQAjoapKNkRSK9YN0AHeIWXpaKUx0NEwjDSpZuncUljyu2oJxAEvvTW4Kuk32pi8VNLGBdGpE7PlclCg4Y60wCFxVTDBqAAhwxN0CHUMqemoDsKF4qMOEEEZe7tWBRzC+Wd8P6Q1E97ZqwCdAmYOW4oJE2wPYZDWw44E8C/fXhuhEzOmJlPh2pYFvMZhgNIwB9YZgJAyR++ALOrIWo6AR8buOMFrYkZDQmeDIW1TdoE3glGel/jDpocTTGN/DZqlvJGntMU5WKpbCucY+TB9WGsQjVS2KiVzKfBZutvJG9tDBoMEAqxAubfMNofmSd0FiAD1E38Cj9dMclcU04HitvRLGdzDfexBMslbjP0hhfAFUthIEdYZ+9aqVS4Lyiz5YZVpBSHmNokPziJ+FxqrGESxYrYeEuWaQANXEGHbg6ZZnwgNgSYRq5Q1ncAT2c22GzkcKuYUYsOiEaQCNUkAFJfL+hsCAFkkAdkMuGm78nfkAFmwwAjJpMMPPA33sMchm4wzrljwOMWtOjsseh8FuzzhSgLJMuAhtDMJf7n7qnO/a9sNkhyTgInIoCkOGOlgy3tP9MjlMO8WKzwwGlhlBRJQWRyCbi2Bt43dE52aI7e2DXDdvYdnGijobii54e+TQ3VS2F7wyoUZVMMeUsUj3HGQEB0yjMEeeB3j0ANkVzkopoHBVihoDDieWLEYwxkZM32Yg8pYqHiGyja8PtwrV1phnTEa9ehj3PuxtmrDbmH7kNtAJ5FDJrQBciLEUZuMNO3oujDGExnRqRuFGBwAJswi6ufH1CdK0yj6+6hTfWv07e35gAkDkViskN4jGGfDXpcOm+DbYZ3KMwoeKVMP0MgPwxtEjePczPSxCsM+UQ40w7CBA6sU/gSr7IjMWMgOdMYAOAMKmR6sGdoHSELliagzhhmm5wjOVKCi4Bbca4uBF1csgbT/MW1CxcT6qMl8aY80YxjwJAuFI4DLaNKlSb2YYLROngUgEYIDtGTuDh4VS2FCrAmW4GiNa2GAXDS0xqUrCCCCoONZnwgVYzxoC6PAFWY2LNXzYvZo0VKOWkxw4ZZ2cFkm1Y3FdNDQo0i0aj8MLUmqlsYKUL9IybAgDJR8fUw3xciLPOeBxF4TkABVYuW/aFWGU+D6AR/T9HmICEUbAIEzKwuwGt5MdhGMBgzyhmLoGFoaC0ggOmPYsd93gxLF4uylSMTLwc+jL64jEIzuUbCtsFQ6IVbYK4VLoxz7EZMtp1+cgQOD3t5YAWsbCBAbbAPoTTl4mzoHHODDq8z2Gk8jSpUpjcMqJ408RizWURoO8Qncs2R+42jMgLBO1MehHsr3Q2c7ePQwNGJVHKRAfUiwPeZL2t4ThWtzQdjBFwxqDT/FsNvGdkdKwIDmmB5YbuOMrAgE4gW6mN49H6w6zgcIjOhCsTxju97DR7w0MMMOGdyjakdpZgVqaBcUs12SgEmEHZi+YL6AQyZ8bNc4jxO5RizEGTcYCgTYrYdbvRgjgORCvf4g1NkWGCXNFJrlYEETAw/AAmTGzcsJ9ULCY27pbNywyrgE9MWK2EFTGMdD8bh7fqQVMVChoYEw1IHt1xgyWFbjR0/qVm2/NjvURPjmTDjOyOtHSTaEahXQ22BtmQ0CMfL8Jv5BUPEndYxQjNnQA8s2Srj2UZBqBqDDSOAJZgTG5BJ3QvHoG1vM9NnmW1uALGOhtVSEJsdW6MU7055jApsHhxcPYoa2MkOWePjfmwP+urDo782L7S3SKFujNS1eTJjQK2PTUJitg60xOzB3jowYIWkwwCnECtNwpYTTDMChjkE3OCGB7oNjGApcLwKFrkGAChfCNlP4fhAb72IGQzqEbU40bpQZyjVOWGjk08aDVuNBN2qD/ChwMLQBG+AHzDMh0/7DdMxsp/EXKa7cMdum1FLPfYvgABxIA+7MdxYnAPbWCA7s2tT458j07iJl7KAPn5xDe3ovl8BQA6bIrKMagP1H9HLSi42B1QTKKXoyE33IYlN9JaBRyCO8QpxuJkFCziwD3mb8jeBxkUYzioZRhjsAg/LzNyJifT1M1wtWJMU+WlDPbYU33B0GbF4s+BBZ84jA0WZq2pcDpmMBbUQ7DX1pOdWEhxAt/DCl4ejDbJKKFTDdoBK0M9XGYNMbhksLQG+5ZY6ArJA6lTYwYGQsJQADsW9IhuNYJT7nnvsScEhmDAlmGe+xTt6EDOjOEYp95nD2B1DauAAfo1hCYOWJf/GkAjP6Jtza2S66YngrrxjQfNyoG1qMV+Yq/cJuu/EbRYJnOw2FkarTgOyGC7XcNdsr3RPIaeE1C5GcYsawuH+8gl0FHtMPJYV3sLvTBpRnSkDg9NizWfSqFhmD7cwL6Z0MMLjGdz6ORWB6ExsLjBkNNARVkgbURjMkC/EDwqlofRvYjPnhHYEzNVrnTNsZmAUsGmJthIyNoYD8N4Ag32wEUDmFIHwCBYTMfV0oNqJjspLHg4LadxhlAB1HzJahiMADhX7QgAh52Nl4a9RgZZlUuZvSEoaGpmuNqIEBw1OorHWBw/h14sD2gbpm1DFjn9cLz4re4QTxmIoH0vDdqMcIx32AdQlpcwHUJa03jPTWOZwdYYcTkx6pguCNg/GV0/Sq1i1i0CzCWAAx5gwDgUKAKcrBjTQcFA1pYurTR5iIfw0ncbne8wfATmLMzfi3LDGJH3NptmGAy6CKYWBQyHGE00BU5YdGpSPcCEUwO7FGyAQ6Yn3sbevmFIHvxG9CMEixElDSqmCWE2Y4BWCNXZQO1sLxvhDj0ikY00wfaYuvDaTZvbwyT0wG0Qb9GGLDGPhiJt3LRaG/8xdBsbQIHJl55yupiWxdG5Y8jLOxxqFsxLpheAt63GYM4OFADRax5YYaWNlMBZUfT+xmxIzvELgMwHJujjgKK1jdMJBR5F49ftwlpjNoRvCI0TFi+IdF7BnV7WdwHraGgpZmLtktudgUUOAbXuzEtidMAPDObELBKoZMAAYlh0jBIuG4TbI1RlYIwWxF7iNxhmAmgsXWkaowMb4UbCJu2F3jCvpnN4yGobwtAdrYc3jW6Fsp/APmGA0xnbGelsbmWMjK0dRAlCNr8QpUnWp1D6XwVJAUKxP6GQA4qUXt+s3bljW0MxGAUgAYVwEeQAMZaAFNjcS3AQCbcJF6l7EbcXd5gwv0sXsjniixJ8aeqi/YhsZAOOhpOnSCIBgp8ieOroZc6sFIwC7iaIsNIRQZwkI2QGLSWzhYotwDHGDEsRo3gBSMKpgBQiWeuxjoWMgIWTB6pKlRj3texkYtaWNlU2mYiyqdIuGGQTGK2EVLDssZKxNet+C1sTOgKVx1+0wrSN2Ne4EYWWhljEGdsaAPjcpxO3DUxJopcyJYYsTNnKGfQCLzjsnJGYlZtltt6Yc9JP+WJ7TEjIbOTsZeGKksIKmM2q1hVikyxlVB5Qac6sLcAW9AiKxMxu2kXDDj2NJWMhIBduAY6araYd5KNpw3E+BSGcvbAk6dP0hr0uHKpjroNHaGjqzMthsY6Ck67chNxTGYojFjhvZfXO9jlUN2BGZ2HXAMuLIwkEZoHBK1GHnw9oRlXYA7HK+8xBg2djjPqQc0rxBOFf4gSfGdLDUMWHgIP0ljDoA/YmKY4IdTnlnzFXHzdDwI+/fFOoZlg8UdliNwATiwe7I6VpuYIACpg5BMIHKaisKawKExH9fHKzhctG6cWI5nHRqRdoYZbiFge5NjAKWGdMUdlg7gBUZKZiAZGhnQw3Kobziw42mXwjHfpgql3P8xJRsTiwHO3cV3JIEBRrCn7Dqm+0PzbbUNG7yqCFjnMhuGdlTSBkh/w0QMERojU2GJSrVdgZlTGsY7JWNptGp2A3sRvrLDis6C+d0YW+R4Hqkthw2jZ7pUw/vmbssYFtixACKRHg9N4/waVDAKWJePyH9b178jSO+PDQEGIKYluhYjkMlVBmX3ZBcmB4OopFFCkHqGJ5jX+Tj0QDDF75jUv/A6eASWPL18RDYZPkNPKGdIwV0MqoqJK1aGyM1HQA4jepxplTBNm6S5CdBOuJQ36RlfE2PkZ8ysP2GmVMLx6MauAVZYssAghx/OzWhRp/cVSxDCGsnSREofEy8r0hL5/E4VieDAjRgBhpi46TnOIEEAt5GGeAWLEdUE21pjnGBTvidUXFMRoSiyqb5IMC+gE7M0IPmC3LGdsbbagy4mLo8UmRm6ACH4ZnwTk5InPQ8mps/nnPoGnITOpYn3AFqxnsLwQ3SX2NN6GQjDAumKEfApuKkA89TGPEwFjuBTcWapjAgpbhh9JfbiFrdBm+oaFVV4Wgb24BCKNFTBs1zwqkC3RcKAIDUs18KxPSFc916x5yHCYAEB0ySSgcrhOvG+27NOCX/4yapbimMn1Q6L7XitvcYhr47dgN0ImxjoAOAL7zHQiYpDhoJWf6jXLRvUThYgDHstOaO4AQYq2GKBODFg5dteWGFNxNoRkujCXMbi1whqGnefVZhs6Y2IuRYSsc1SbOgI2hl7ZVdFhPqgYlyBgARJzoCDAdlJbRsh+GlajTehtFUHJo6+jDPlGQGTCzhsRck55hbeiGuRfwTER3vTXwSmHJcMhGGrtDfv/CiUPAcae0wbXGS5jbnGA4LF2CYzAB9AW1I7D72GuLCY+byLt4Kxe9DJpho8GPRaSJhMqfGcDvC4xtUvGagBv6NlP4Y4gY/RibakWpjU41KbG7EjVOWMWwhYmwnktMdGQ6YLvTM0CXgcHTY9VmGX/TLZIBtI3uMTCLiQhGCliF21o6S24sCschy/AYwXSCcBT12K45T9YsbUziw/6mI0YCviaipQpuwe1g3DgEgAA2kYAPhRZY61MY2jpdADW97xFjJq4zUjbNxnufyB8518AH0IYwUaGZqRM1xcDh0MZtB+qsLQzM6YEKqpSK9lExnAFYonPDWL/NijqgHwuerbTrxnZHU8aCC8MxqGE9bN6QnskC6lblEBoVepNDAkfselwRJiMBAiK2zUjFMIaMAGI0SFVU7Wh/qGDuVr0UAgBDszNCqqhVMIDjvbQ25TbG+gtjEhVVAHoLiczk8aQGdSaGsGJH0IBrI2iEafmwfQgDeYChLvUY0P4g9sMa5oPsQCzlh/kwiSDYzNQhGmTDHdhsAo0dlhbCM7pItCjEUht2M0G+Ygd8r9+zpgIqhgw3Q0N4rRtbNOYYoH1dAeww287QHNsXm+XQo2QYCDHLxH8BgVqGsJaTSpiaaJJv6vkB3MmJtqf5CQdQ0dEYMUM5Ugoi4VgACKQ3zXbNWpBSgrrxM5Yr+8FjPqEGZAaUjQLfXRoZwyVphz0kq1m0HjMshmcKPphZg5Drvsx1MEn5gs02dUbsSMyiAaxbL9LvMY2GkbTzkKmGZqTEyRmcmmTBGjlseLYA/gHRbpwe17YZbSwL8m5EWIRhri4Dalh+WMcC++nwalPsgbymGb3GJU3m1dMGOmnCYn9iaevE324jgARWhn98yvljPKIP8BHVQeu1DUsGClChEcgiAHZIdzVFrBKvHAxpBG8OexvOiWNfiEEaFrJQ1qYm/wp6XtcMIqOAuVMBpYNzjbqmKUZiCqFXaZIuGC/+JumPLHgX/xNqDbXAXJY6oJvoeGHFjkYQjiAaafC4pmbQ07fZ9WMGVmbhlCFAITMMv8agyklqRBywX94HxTUthiWSxyYeWCIvZwRQrAtyEySw6/EydHHDYEJKR4T6MsA3tGVYsFMRtqIC8UZWUCJpYmtwODzqlTDhJhWCN0qYKGnCNwI/OKFgi5mNfbARhvKBAEqzz5iJ1hdohAHoTDscp7YF9nESsML9GRyCUdUFLYm5CZFqYsJ+J0QEacLamxB6B/I55oA2erTcIewYG+ABG0NOuGBNLIpwMyQFAoaWdMPeG5qaaCcR+2CfIHieNZAxi6uZq1JH6L7rGolBZaYzisH2mPywyH4bodNviQJ0AzTRqgUyHVawUMkAAy4sbUQKlTGfFgmkM37erBzSFho4mP5phiKNuAg2gzaCRkkowftgXwALAAjy3Nx6NjU0IlhL0lWlYEjxBTHOYOUC/RxY9CcJvDTV6gErE0E+DgFAazGisTeY9Oe/1JSa7kMAHw5aTRe3iNOHj/Bd6Z+dEIEjE0hvyAHQiZK9M9PgtbDBDhrEAC+9japAHcEWjw8lsUaDyayx8U0+9AgmicmhmcfGEMG6BA+1YfTjJcQEe43ZvAn0NhZGWvEcjMKX6hepj8UNyiRfzbV75lPIHQAEgzgL1G50sb+MGDEFKkarYcjiAxcjSSxg3mD7Ibg6ZGgA6aTc6cK8o1YCYQ2dGxmJ9DX1pESAHfTybHDESmpdDcIJvQIC5RZ5SMGpRhijabZkTEFH0SSc8SVYSgTU9xqgU22eaSWogaGseEjTxn8zwBBi+6gyrgOTgGC/tHRzbkYu5sx6habDC8+D6ww+9irKxylG4ruZeli2wMoU47cMxUolMsBvFj7EDHEAHxhkhyUQpZq4cdTE+A7biAlxYudZXpcHdwzE8FqOMkuo1a/WacN9gCe0y6/MtpYuRANnQBfYwRMYaqwpnA2ascIACjQlqpg6w8RbG5DWXn5qKlEc8Ea2NRomGCo6KRslAQu6FTqx7fIfUsH5FmnIyJUbmSYCbwtTWNacMbPzeW5HhMPSGTLARyhhd7DQrRa8RdeG6Dw3ygW44xj0ZaqMm/+g6TXERhSE0NlhKkM26RvUjADHikFw8ABTjlTbGpzaNPRkaANjNzAGN6eG1WYZ1viye2gkbaxBAaU3/TPgJjKz1naZZ0NBAmy9jDblhFTDg1HkZd0CAb94Eq7opY3aFjNSNwGYppmdtJpv937RC9wcJX83BjdJIJWe0Spg8zdbkBSzDP4Lm3Q2D4bBqtNlwRUAbiTi8syz5ZgyxKlwHgzbCRgoIKjpIpZYiYg0TDa0SAZTHG4b2fZ5JyaWuBR8Xq4xv2HhthPPCcdDP3VOBUwauT9oh8NORoPcgtO4U28r70HdZBGcacCCWCNICWnBJelKHw/SUXToOuSUA0ZxgBCQAcGgb+MJuKSxpFmIAU5eD64owRsGQyzAbp8NjpYYSPJZRm6mxy9JCY8jVGUEjDI7lUGIrFyeZMvXceewfwdk9Qz2sbz7Nkw6f/vEThgFMNMSZiyBVoO29QuvgHYanTKA4jM1y8HNeHi/kRyy14iwmNymcMdMLeJi28zCFQwssyUaU8gMgsPzTCcvFjLonqG+l4GXaGew1xUYsJBjKG43DPxhroEB4ZiBeM2VhQmjVKmBQbVrYZXxN7CmSzrP6JoDYEKth+bjohAYAzOiQNsowapjVnjXlGudJNacLaJAkoZfCNMNy5GYGmmBuSylYaI1tXKYXPDPSRtv+Ow4b/1MwiedwgGSAODpkwXInpMzPSqx7MCRhqwHpPG/SMpWGhhTQL/pDcgplI2Bj7jEzlTZ0Hnw51k2A9Z9Fb0GhAPUEWUFBgi6s6Ch0wagYw+xvjQ3rTZJvEdLY42LWF2HCgGhVhdMML9GOMKDMxi1ONb6F/UAfQg3j0HlRCwoANj6oFNykAO1QX5aENVhAWb76NBPgKfeLAZsQrFuCZb6iNjGCfwurLOAz1v8b1GMaJYLQUITFmlrivoal2NFQWgdobhmE25jfbgvYC4nmU9YBdkQyrGb4EDksh9G2DzIDplq+GpYbuotgygqyAv82EilF4uI7TNFPUCv4qWxhIaNfEYVQ8iH25Bosshkt00jpgEMcOumhSXXZKPcrG+oYacNX8W0pDMumDGqhu6ED+A21GhcYBkRlehzZpjQ/MFLO3G7COPPkeF50R5SjrFY5rTd5KDtUCalj358MHhYlMUtgDJLDWlgg7havcLEzCDhpkEGXX7vp59GGhpE0MjtmTiYYbE0xyIsivAPSVuyQxYmZakNNNU6fDL/YFl0AagCno8LJR5NjX6WDNQxCpintglpwts5O+hhnLH1Vi32N48Oa5eO+Uc4w1wqassAcLAI1gbqmHZUzGoa+G9iaYTUsI6ltPaHuVgDOCJLY7qcfIRqmQ00L74+pG4AjNcPxhl/sEW+GHO986YhUgkaQB6qggVh+pMbtGmjgamTl3ahMYaAgw0qGt/jQpXieLHHiYpKCtDBFKYzrhhaIDA1hj1sGOAU/mI9znuON8TQHewI/86WWJjsukCTgVhqHhKlmU+TWaIJUAGe4GyrNvQIp6g18gHsb2OyzY1MjxY2G7QqmCHblscpppN+TmvCbR+Lj2wwlB7AGNwBmu8iZFKGr5iavapqZtcu+/rdixp7Q1eoA8sC42mf0TWKprtQwvPg1LAY4JgUsM9YMauB6pKEgQmZYIyjNxxsaUDQrRIMwc0JWyjO3Ae4TEC8avjALaGIlmYL7GlQF7YZpUADoW3xQSVhnXLAL4YVe90+GqgjVcoLywHvrA8lMfdGnwXMHIAVBxnYYNpoUKgMaqbZzvvcX7yFN8M1bWuOTenRulf1NtivI113WWQ0FtzuJmCOZzhPDVwWh2bFLLFPTC/eZZUwytGW1DJTLgXJ3ZfaMZDF8RlS8e0xsLw3Ujbw0wpoA5g/EoGKJ+2ZYYxF8xpu7AEx0hvZfUvIZuMQm4AwOwWqWFFYzIu7uEwh52N8ad08UMINAGZTkpuD+jVDRvRthIz6D5Ut9KlmSBvT7AbtlzkYZGMsZbEvQjWqmPyUCbrbxIoZAAhOTbgoZ6IRlVhHkALaG/JQMXWoV5E7oakyxa7mJ7QBkJlJwGvUamhBEmWoszADsXlqiz4YcaJDSGzXjGktmfdSckY5aN9GG+bzapriA4KL8b//ht+GsGPAyRr2BE5YaiKxq6YB6zRt/kzwxX0CnZdms+BtEYTsqFAGDFhbsNlAkX8TH5zqfG0Uv4EATBZY693CemNZLAwADO5hfdKiVMFFWupU24oYSTMiNEKtDZEUkUY3XQbnUjnCA2qgV8YC8Y27pbLaN2pBcrzYEQk5H24YY7WwBrA3yjWp1AhY1lMbX6Ms8RG/vC7mFUw3yZjMtIN4ORGif7FoQaLA0ZwecXTAOlELqRtd00TCa3mNlEIlYjVgAKSTyzYZdcMQoAyC5fzhrE6K6thHKMObm5QUbZRpsaF3kRL0NwRAEVMZoxmJTApWAWiAxyGLojOeYCUl30PCisMRqY1okAipmarHFNLT5i6+GhssXw4CzEz29iLIt9eWiL/QGcBoEHubQlUxjRR/+jDQodDi3uPGlUxIyGKhA7snG3iANVgy8MS+O0bDXBhvtM2c3IsSjA+hd7DY6cAhVzyoH5MR86Y2nTIN1s3mDfIYUG1REmFDgdwmG+hKMEBwmJUEmOXpaD4Vaw01Fyv09R9EE0sAB8J7QwWphvWw+vAOFgSUtsdTFbcwKk9QKG8Fo+2fkVAErFg6poDEqtkANmmNLcIE4FsP8mYg9OjLe9PpLD4gEEpcOeWrbOM5YkaUOE4AyFNUOGHebcJxrE+EC8ZcUCa8BPYjYdWDX8zsqZN0wsho00g7emKkSMe5IKh14n2yDMazmKhIOeVpjnNkTIzjXeRJiG+MSMC9Si/JY18fHTthpwzroYCtM8kOfeoMCcEzTE5liFHY1BGhBqQFCX7TH8CiUkoWS2zeYW1wFKI0g46q6MQuGb0sKnxuwG38CgTVD9yGZ3gHtZrlV3YMBf9MxnGaiTYVwFPIFmSjTMQgMm2QvOMAGAsGRDEdUNaWmynndBERVWgW4ZJkMjaI86QC9vts72Q5b/l9V8A32waq9hnQ1gxJn5Mzk0/e7H8hmYUyDiGUPjBkoh4sDuYc6yS+dxHMMr6GzFBU6iu6QxFeb5BNCBWnDxVEHvli3ksTPfBXOSRZvSauOiTyzNaqh9y7G10PcFpq+METEg+4DfnGlYrBTHDUazLWK7QBqxY0VMC9RgjN206Zq+Y7U0EnwbWmEoMMLEiJcNqbEPHLcGAdwiyhWYNiNlQes6bPMLiGwAcoaAPEQ9UtM3CqFqNQw/bANpo6hGL9jTW5phuV5gkmBCoXGShLBbYJd7H0JYQPFNpwEf+TBkfSj0X4Ym2ohYI5dXLk2CUzjGY6TCJy3AHkgKyWMiUy/Dg68tzpwJkAWxZpYAB2pTzGMrk2PojHhNlCWx8J6eiFQOGgNDOUXlPkxsJYEfMQ2GmQpUChqBKP+X4W0BppAekjNxhky0korYK+ZqByQAQX4AJeU2AzBdQiVimR0RPPYBE4ABMEYWh9eujLvXFNJAyXFabuXADR4xQMWXgDvkJPMHyHd6kClpjftllmw1hwDnSwpDMLIvX+VhUvDclgdOiE+G8/va/8fBgHUoagCMyuGXWwAheGTACaUYUsM3ZYx4LOHhhotwMsxaKM+AmPYjb8gVykz40FMsAD4wi1MKIUvpLBfobuUMo+6KxjTtIE3AC6j6mmM3axMH/ENhrEeF0GBLT5S8JaJPVBZo7+O5EYBSwC2GFlDNkbgXhLi37VuNLMCvrSfN1n2rEcob+BQ1rB5VDX3wMDTgOsDNFjPPA+l4XrQNvq11SjYzNvJGNUTOeUYIAGLoaNrsQQAD8rAOthHQ1zyEmv8R9eNhAAVRr0APEoasjCQ6ml7qbQAIjy0J7HK3CdN248TfNNke00pyAkVMJRG9aqcbhvg4xBADS3jR6wlOQPDVJe3wW0Z9qw+LGgWYT7trwYmpJCC7NV9U6nYK+sTQF3y95iKAzcOHrDKFWMCb1BUZDeN4yRuFTfsoI7QzsgBHr8jAAIEfec9kbyTAbDYNNmAADJ7Nl0D7QwSkBXphWSGZVrIWJkeLDGEhRMQEOGMxmHogNIIzLnRbGIiGYdYsMcARNmGYAAw3sOEu41kWbxkgzGjEYbKMb40hN7fZgZ9TAOtii/jjTODDdPfUYLW1h4agqN0ygKLcFMcELwxbMb/8MQLmgZLPKpsAYwFLitzN9DmAHwHjgIXIxN0ColjMuu9EsAjgThYDMEZyjtLsg9DAVmtn8aOskZvZgpziuuRL4TgCo2FoBDWBnxQYOQQhWIK0n3ebvq82EBwOjBbYAJ4yzUYZdsvAAEojZucu+IBzOCbLhbRYNSwHSAAguIs4Hvew5PwPBgBBRrXz35ADYVBpIJPxnJyRpC4PeVjIpQaSe0EjeQDpLA0ksEQmxNPBK+gcHLsZ6L40bszRnqYtQQfYxqCYzBEBAeMztAPUjWIAGzoCe+EUMtSaShEkLNVk1/3LHJYSxTJ248TROJkorFzc7rCBn1cSiQgnQMb6ByCau+iUQWwHDKesFcZgYEZOCJJa246/LoniFX0zIZU+M6BGZggVnmCoKy2SDa9j1MegcgoSUlRl13ABgmJFMOj3DUx8Eoa2BkYdkg/jGPgjdPAoFmHZIYHnho6YvNDWbcbYdyxYh3cMpMSc9DSZMdloCKGYZ0MvjoncjCYUfXZ3Zma/vAgVGPDMATvhRQzNoD5TN2ZmtEHMwonExHUCgQpseqYUovEihkJwCBoYsSwlxA95Da0SLNog3sY1BoxpwuQAN9hnxFkZAne0xxOeZMAI2gTdo1nRCq8MRAWVWQqpWCDOGKhGdiMI3G4Oot5LuBYw/bC+8xL9xD+jTYmGbw1KQigpRa3RRZNTzhhsd3haCQchB227AjGbymH+kA8YcVCSVxEdgIj7t/sBVqHRsM0Ng29TMYNrcAWCABin9uCmhEsbrhjJU0zDjLQUsbWF5jCTFhSw2r0YRF8yYAzpQVpWAqlH8lYVVpJYG2rTFWbu2vxjpqZCRG9GsQYQ9cAAkHZ+5iLg3/hibZLu1N/sFRIluMSZ1mLmjb/vn6k0Cv4wBBAdBHisAGlM2LHRoZeM8/CAMJjQC2BSlEf8bxkNMTQ9D4NDVlQJzFL78UNTNcOIA8kKFPIHCKB88I0qY+FY4TgIZw3YsY5QtsYeX8TZzZnGnEpsYoq1VNG19MGz7nwAQHTGEgRl2Wp3xNh1l/RASBa2ixoRWS4sTKsJzewwgBfO4wEgD5TBcQE4Ig7phb5tKRubejH4FmGKDUoAI+MI/87JDAfwNhw1WnB/MMnKYV3MJEoA2Ey2nCO0N8n23MsQuMAZSzKUYSAAX6YiRYsNJj9HEklgJriTNx6fDf82APyJipj6SwrzWCgAcg4gMH1AthY/NYahodGUXge8B2hlhY2o5pYo0TX2RnCgGNKBxtMpDS7lwcUxiUDA+57p0kapyGhAY1EVIK2tob6EAHDwl6rJhhvyw00q6+tsL1Gi+4QzhqXQ38GTqsBO0gFVJCdiUboIrEbKSs7heU6gEGRM45z4IAYRDByWC2jfSzMe0znEBB0A/UmZgA5ymFr60HkZ+WMiAo6BTYskVbw10GA/AB5JyYwUSo8M8+FiqZpa5toAu9DVfhs7mA5ShwkxaGYdRAK2JmByxszCh4tXjGKksOyOjkw0z7a8sAixYaG7DmvDQo3MgBLrjPPC4xgqMsJXpn9E7X6Mv+OY4sDshtF4HVGFhyw2BBtAQIoUsTOCOZw8oBFAAr5fWdphp4xZ0HVtsHWG1WmRthuldAjjxoSxhrI3EBPKmGr/H4ljce8PHcosElr8QcBKpsSYBjXH+3MrOvcLelwPi5vsMNRGxM3fmhtlrxc0bu0wTaABQQ18Rvk83rFhLKNJYGCqUZlhrbOWhyANMYziAEJsLMpqLo07O53NCogAh7bD72HT40bFgdmAGGYmYjPqWNGw1cOaSSMrBGMCAVlRpIIGKLDHVM9NGTPDGXhkqIPFg6RSNnSu4Tjfb2IzxPxBZ5HiJPg0zEGccGc+AEPHlOCDKYnowDwgF7ZX8CjiyNLKGmSdQMFt7oxe9hOUxgdemouVVCRfAGzcaZDpSaG3dLS5hvrN1Y5B2R0+rGCXZavhu+IBzVKu0NMqYU3BaVXlMllmfDwotlFGgjWPmIkDeIz5ELuNUv22MzQqqqbSVZ4Y8KM3HGUQpBj/vR8yCqCkpNgdgqzvBBRqguEDpguMMj/G1tDFS+h2OTUCY32MWzGv24KKxuwO393Z4FN10mcfAO33u34M3eC8sMCV+iio9obiGwxXDaWwskQhJ6TEZRkXlyTXZVrMmDyUysHeLsJ2RecbZxCbp+71ENrhjywCgZgSJFzBypzTf8IO7KOgkY8qw/t+JzDUyge7TETD6W0xgjWqlsQNyNi5AvEbpvh1yS4VMS/hgfV2xmZ5K5A7WzhXXLRoHVytkZBGMSkmRhEjDQGarWnFjTHi4XGdWE3DgBNLCR4b0Pg/7+O4sD2kWbgKAoYIMM30QkHEtALmGk0E8aeOM9W2EGzTd1rYFxhTH638nhBe7LJO6D92yoUZW0tX4RBC8ToADW6K2lgjsTwKQkyTT5Jp1UNFF7ci9f4O2FjHqmEdEQUmbUaMhOASmbcqmIDSnulj/YslFYDksGQAECexgJaxMQxLYTB5GBoRmmE5pj77MqDxEVMESjj2IxY7jL1dryhu/g7emLWw07EZBVACdWfTDcYxPVUzk/A4woj/GXMnHIoNZTE5ShMOMI7A+hTJPrG9QE5eLfSwz0+gG3V5hiMkHHwnnrtSU2vBfdLhgww0v4bIPgF8Q2hgJMvhpanEB4PUMxgot60Hwrv5wzqyzFCMytyVqPTgIImBgTsFrSxxHijcAWSmN6RPfECXPCY6GNrjcZgFbw0QBHua8ojQRAjcfFG7LG95SXGw1aGpDAFURm9QAVDpHuNpaYCijankbsYEpyA60wBPG8H4IeNu80BWkaix85pwEN4QlNiZqFZOYWMN//wq/DaJhv5LEEXEPHdihGHkgJWmHZ4KmqZQMxA7WNzTV3VFudzqsZWSBh1Yc2XEgscuLEx4mrFwfbmZNMFjEVWkFNxC5EiTQmRVDQdjCdTFG36SCBgpQ21MVahmrTFCK5U9NBGIGKsLrKMyFyAybq2Nk7eT5g5Fhhubww4Z5Dti6GPq6DS1FCsOFkYlBtWOQEJsJe9vC40nEDoRMCoRwDgFb+LfkKWoaSUwqQxO1sCkoFEaHoP7M2NcVGOwjfv4NXTHR0YLlNLIA03Lf2JjeIDw4AaeNjfQavrXHhqgU0hnBpf9KqYrjDMqZgDiUFkY0xM3KGA8CZPjicgBbxLxFgMhGGEAGQUMOrBJEY8SC8Mg9eA6wuCL73KYilKwXKGJsHP5KLTEyfwBqIjVH24ouK2kLAX32Ygd0xygR1SIKfrORhHRoZfp8EOGJPTb+cHZTBp4CSWoyRJ6kgkjxlarBipjpvgSj2R7jOVIGC616cHotJ76Gh64NkSaZcPZEkbADV0R+iI3Xod7TCA4YALDTqG/uYPFQqxkHcoZTD8sSknhTP6Jkdw0loBujC6PBpRVDMsSksEnB6ydc6OAoQAHDYOCh2YMKai4r0WMtiClhjXNHUoZLowcQBWQEnNhpdcSxKTImQJKAqJQFYxqiUDNEnv6NWtGrAANyoKvYEECYUJs5lYn3TaNhuO+zAqC8BcPLmAoAEsWEHQBiqDQ8MlExM9nCxhvhCPuTIk9NbgCg5DOsodHSRw4YbSNxnG1TmVjILMWymgDkSAMLQZgjX2wH6MF8WYmKMN9mLlDL/hkgABYZaeABPI4WYknjnrVn1OQAs1DXNe0crSMSXxFlAUaliSMLxZYkkYAILSB9ubFaJmGYtYkuWJqM8CheLySsLqG0Q4KPMNEOD1NbDdcs6GGrAAoJlkBIkXa3E4g3EGHAjmPgOJJjCZmpNQwChtECrbrCd3HEmzoVJxJkggOkYPJYnVFzvUtL3U8KI6uoBpq3jFaH2MrdwshzJ6hkd7D47HGKxpXGgQQJBZhJQE0GBT+ZsZ+UOmesxmlrk/I6RAAIaO2tAQnJl/wx9uY8sM5NGbkjGCatgAD0R6Oyxj7Gl8AGPTMT0OTu5hiSnuGJFTQJYPY5CkcDRSCGsWt4k1ZpgmRyp8EzZNvqmJnIxqMS7dycmA1od6aAU8gNQJg3oyeAKOOMiLWQIfRv9u2sLHVLxzBeBGx9jaYHitQOuhTGDA+gEzELR5CUtOF92GQkktlGAEknM4B8xlF07YSSZvKy5vcV3EX41LxQdI9wIJjk3PbwTmcHQklsSMFFGwzOCGjnXP3M4YJ7ok+qW0I/ihpdYMKgCVisMJJJnIqPMNUs0okm0xMP5wGRjOCSYjo0huRVPirnGVPjBoMEOmD4ZKFUcLjGEnpSMSSBkwKKGzRApoAMAEhihmtOF06AQPFYnwhkk6IlibZm90aGHN8BGDEsfARiAMwCpii0kEOWfxLEGVkQRxLFim0lXZYlYjFyScyYEwCBRQB3CSsvjCKzvvcUrFj73F8HGvkkrARhoQCJj6MQ9qqG/DJYTgBcwC8BbEXJUSxvAjZMhq04iroZjqkWSGfCLYWhvLt2pkQnwcvzYTwnDmaBtIy9sp3ixSpG8krBQgTcIyI0YXSAmaYZGXJ1NutsLd+iicRBSgHK4DmgFqwKR0yNGBo+GmZE8PhgdYFdeLpSAAPgGTw5k/gUd3ofCnWMPBBWDxe2gf3E19d6qaN9mIalbaRgHhOH00YBUB//GFqTZKAnxLHMyQA6ifdAZVTM6JirTD5UIsv817Ru4ASEUC6PDxd6fdtk3GaqjYyhpUqXBX4IcAt/AErDbKwW0IyEDS2SMpzBFDrOZcktQ3KUblUM40BRl4cpEZ6IUjd5LiAP5QRAUPUxsemJitgdUNHqAqmjSPcLQwFS8Cbuk4+A/MsTuRiigPvO490M+3GQwAckHpDTF4YbWiRZ6GpdY004THwxDqbwxAZLYJ1MEKAMfwl/EZCxMrxY6UgHdhn5LCRiRf5dANGU+TIsMc+LAvtaV/N8gmmmqNZNsiw0kpgjXtC4wjZDbOTnCYiPVbvUwhm2E9MGYzPlfBQzHg89WDAjYzFyplFe1cpirEAEdYj4aDDQBwyDbsB0sMnuGpzacwxjxbFmqGMMAnYuNNAft2tHljasbVBNBGshutLDppG43/CAacNjDG9joikJnSOKucYmagVdG5ZEpn5k4Kzn0buFMrVY3dLJcxtS4Hr0zbtNogQ1SICSWAOIyXMbyndacB2cjIahuckxHIHR5YS/GLx4YOHs+rhZiazTgehBd9XTw0DygCPabq19mSGvrSBRfO0Yyaljiu4y6Yh3g2KpgKXE61GZUxW9w5DWWjCf3kyvFhViw7uJORQA9ZjSpwHqa2ixYyWOMgPQzt7TGErZVKwzPG1HAVOSbZI12YioTYurYVzjSc7ocSA7pgZiMmtAbQAGZ5hErDgVhQaDzgxCijSS1FLU118YaqxStE/KBPpKMww1gJH2ut5gwx8Ik4oHUQFvTSc0ADAAhcjVBcHpbGvxBGL9epGvQnIqYTqKNyHF4cN6BBTdIl4UAJLBD94HcRk3GDgjJaiYSwwqOB5U8RW+E1ogZKBLkH/VxfxNlxYf9MVDhkBLEO0YmUxVpwJtmLZtn04zjgQPXAxLmUnPKwRrIyRGpggpiGNGRyCXMxgrcwWsb5Bt86Jw9MYBRnKkFjsZR8Mtcgxgwd+mJRE244C3FBF9wtgAZumCZqDFAjyMMkTGMJjSfUayohWe7jOMyuGQ7XDuQDjCjfKD8MBlnW8nXEBntTjQKAAehNIFw2ogC1Jgxt1a0al3tF4yNlMP0Mjimj+SgvPN/qAgbkJ6ht2Q2+VK/bgB1eX3sFmwT6w36yBlrE7eGBUjUMSE1THEBCgmNT6Wai4xlrrU6mKeaP+MqYmv0I10hp2q1jPoP0w1ruEHDPyWK7dyt/FhihPaYCGwsacDToLzFhmQAD/el4kmcoNRwALYbjywc2Go4gzmSQ/UGECDzShbCQ1drRWhtWLBEEmrcD1KAQ4sID8cNIFWbYoBsZuGGaYRdXKbHwh9DL0t4FGs7TCQANUE0Usa3iiEtGGUjYxBC9OBY7g1E9Bt2bSsXe1MNIBB3Ab5DB9Gb6vEJhodo30PApw82hGLHcQdHu0wFCpyee8nUOtwBH8TlTDyG8bSrt7TGR7jT6mK2SwOtgbZc2hm0gAOFKFYI2eAImagOFxNcXV27p7TAIk4A9AOFxCdgbGZpe03Yq5vUBBNEJogfL7EIwyWMTZ1MmQgyUiQiWHskDa4b6BCxbYdgUP0xqHS11YbVBNjqGgnwIK2OXYzuMSa2ML8mIBjPhRhiwzpdCB2sb40rBgJS2EfuHFdwEcDHQg+7DbFyDqmjHqagpRUSgFzAfSJg0eL3XZxtMLZWuV7WRMeMYxAZilyTwPezlQhZRjACyxiDNOARDm5BxcDxrM4gJ0aerdx5BjLABZ9nG0wDsZf0Ny7WdSEVyIRmxO3caOKwWSOTbY2TNH4QGc4Zfl9vWGYSTWuxvyLi89ACtNVygvDMSY4RArEgXCRMR+ygunTTEpuek3gtijVMgdOyVDGiWL/NzT4YjixlKIHQAPYnnO13wlgBccgSYFCsbRxvXu2x242Ux6jBm1vHobnPrGVXD0voXhQdz6Wg5vhpxuRDszMfFQ7wvMpgVNAH/CAytRPIelrAPMDvH3kq86tLcx1SRtjLfwLpwyWnCrUMLsR4DDXKUB2MGWgoYWgwHGvWrXsCH2LHhGFvogZbEpfqBERrmY0GcYNSwtgWtC3FMcG0MzoEbk9NNLY/4TYA9jVTBLRCxUD5kujazCXIGYMCAxCEmNypMVsjXhJjfH20cY3NNBzRiN7VewAzTHnDa2iRUyGEpIapxoSQybpGg8SBNG9VDe0flnUMyj4nbCv4A+qsJOZryaNh0xxVM6XQ+n46e7vLHieRA+2jPRgiqUFFnjLOCLEbrCBhAgXvDIqXgHjz/T78i4gxuRJDe36plGNawEIpRGGWLDEy9QaZwB7b6aaMcYU5/LGNRrS2l06Y0MMraQb6IHHsd1w0cph4S5NIOQEsRYNjDTB3Fh4ZAzRGdELDlAN6PHNIZVLwKaGfuw4BRtg0ysEa2SM+7G7Zw68WPm0EGlgXwC6OA1rDXoRmjyP2MbhgDAJGlgrBD4avE0yrCikM86IMAQKF3EXyMklZeGNle6dCvdOkkskGv2azgDUAJiMYhsUeUqNl8ZEo9qsmlVMXCpuYIGy76qn0sg2w7gAthpHTEFD5BVA/gWYPgaPhkNwyu9htRAYQOmIY9GhvuoIPqAVABNJYgZ4L46NQzBEoAoxDrSG4Yk2FKPXph+gyWyhgjEu1MVnIIHJLYADiscQ+Q7DrXckhLQJtAnT+ACDOOm6UO3gRU2o4CVsMCKmF2LBHhjmwz6cZ9MMx1SsbQEZoTmwwYlhJRNYjwvFTar0eLI1Z8a14hz8BZ+HNoRmgrGdw5vTgmeGHqqFDVjtbDQSDAvM3jGaBwQgVkn1iOcgL58a7wp1jU78EoCOiUljkNzpmatDC4UVg8TenB/ajqsm/4QUMWAPTDRO69gQJcgyUBCBWF+bEJuGvI1D6YVlLKesKzXzmXLePQEGGZGIg6kV/4EHlaCz8btGv24Z+PszoFkkD7ywvhQxRYERiJFYxnKAAY4rIAfWjO+jk6wMakaZPsGOGLeJTaWB0QFEu4DycUqggCLe36rFbB0pi43CowhhoIrxhgFLC/Qm52x0/WHLjX3wAtXwLYaAFN0DBaSTDNMIjoL1pjmqxCWG1+jOfWItbGSkSH8RhfBJkzcG0mgkCDcSf8N8kWjyEPDINBtwMAB9+sRvgOnI82FDgm2c4YOXNBSgMfDUucRTr21ECWUxpXGfyOZV3JvBE68ZziB1NG/H4okhoXI0u+7HNNpD4W9vfKJpAGngLwgMNhaGRtDdI9v+wxGABRsM8T+uzEYWia8oM5eJG8lJWGZvDNkJteYO4sBfoZi+xH80bbUGlui1KEXixKGGK2ITdDquOVitidbZUFmt7Y+l9JZQGrCZQg9EGRetoenIIJlh36Zs8jpUoV1TM1WNa70DpjsyxHSGstMXpxiOQzFAgPJ56aAFvMXjhuAEEmqE4itqswjEgMQ4Rifn4gJExo0+uttDSthrxyL1pjAOAMJ6RS8fRWKL72hiBKKw2fGf04Jv4Hp7k1uBlPN5EmKrDMepoHQBVFEtv9WlY0CLcBmNxbESMBVpBSkI/WbfYxl9gCkYDSAd9ZYdYsJ2wLPwkUkaFHZ1UWelsLFKNLWzNPQN2p+HOJnw/I8GqyK2SDD1DLLYuZPLixtEwweDYH1BeK2VYsNqkefwzGbHVZM7U0gFsUgMUvQ1t4mscgo82OZwWaoR2G3lO5oJBs8mIDMJehjOdxXkHQxAfT+OKNIBJnpbC5IZABQ3HxoBI3coNJTDIMay0xevBUtTQrDv+EBIqZHaA/SGc04AoAOO92u+xG0RvRcJr3W6mIK6wlH5ZdB8gmTYsarJjygEDoDeUxZZY/OjULZtpwxHziuJdjdJojrc9id9f36XbbUMD4g7hMQLMIUvCtXTWUwa1RYE4HVNDy8KtVgoWMhkovPzc8zrf8yYi71GN+pez5w3ckgwwDD/TQuMW3mrHIGwgJzTHQ8afCNB/2FkAlypk7YBhpglLwmIui5TK5ZpHpJjw50cNSsmr3DcsHKclETrZEeB2AwzisOkZhIEyR5L//gPSBT3DaKmJ9TDFtgMaNi3a+K3TxWAo8PiYgyqx05mbksA7RrjpKalhI8MxFGa2Q+D8PQ2II7HsBhkmINgQY5hrfY2ypiG0wuzhsVTemgNwYx/ZaZVh4XGSovXpvkfuClEYrbBO0g4ruYCLmoE11pju0xCoAenuH3RnRU0fcbAhjdqB1+kyhhv9EB6iZAYhKqWQGIJW/qkD2RaF5xgM6GBgwIBVtmwCjFirkcsWIVu4TFHsF0HkJbAcDr0SMgwpgAjbLGrmJuldSyO/NneqhpQWA04bfoBr8xb7DH8htZTGjkbY0MpdGtujBsVkEEB9iDwkxnHSelsRlgE7YD8lipyxM6YS93ShmF2u2LqHJMQyOAq5HclPnOQznXE7v8SqYMTow8pp7n0eoDvuweCW/jzGwbhzXmeEbuEwxdaidbDNMOmUCYYDq+tNuGHKUezRL3pIIGZVixhbGrKjIxUGVSROiAD+A7Phc0sXSmH2rGABHVzFtxA+WocoKFNyyhpgSBAju2tWTdmWM280u+45K4NWuOqaGZrl9I0el6nUNWAg/7AtWRlAZI7HLcGSA9UqxcagckXwy89CC0kiY0fVMT20SqIxyKBj5Mw/0PugJj7hYw1izipu1K0mgsQFS+ti5B+gyGywhfI6v/KBmGLbErSYIBA8dJ/tMB+mGSQF3MwAfBr9JsNrcl/swYRVGARGTjZWkLDStxtoM3jIb+O4KHAdHDBl8bxCIoXZ9eCjOInLDUrJkUAL3AniDAZqQElsGQUN2S1acRjchoLMbQAcqvtR8NBV58WMeAgfSUdOgHLyUWWxhSA2pYKojIgXpCB2ClCyyx9PgOMKElgZZTGJRFhpMPqYMAHKX/Aes3kSaAIB+ygzCjSKgHQI2Q16JaNOueXPDOloLLwCUH4lBiFJm5IUeHtkLE3WEDVIhdxYTNTE5AFYFAeODX4huaGMNYdnhp8hCLIGziTiy2cTEZk8cBdxqolu5NuYW+A4wGlEuYw81ETkT4FGTGEXSmMphPP4YTesInAHDzEb4Fdwx/NgIEj7eGIO4cSmLAILP4ZeBMOPGlDMW4yeLI0xNCgCNRZm9cHSgAAdo21SAgyMlWArTiZ1Cm7ywkthScAZziBdTY9xkrozGQ4NBgRJ2femWRMcLxxhrAP0xz8+etHQTLCb8LOTSBLA0dmaDYKxIWIcxccZqKxkFy5EWX7cHsNxZTHe49+ex9VI/fZlIZn4iYHvNaREG9gkThmpQxM1A5elf9gp1jA6dr+8DYh7X6NIV4iTLMP9GGkzYdb/mcYI+V8TPpxlPMAVYHfQixZAoQQ2IMEv+K4dR6aNgZGUVrUFKBJbD75KXeijK+HhosvEVKIx44CBSw5AgEdvKf5vx7w4KAP1B6cgsirANEd6KzusaVbhDRGUv+OymFKIxenb5yslIOxS8SBkoBJllph9iwEg227TdQ8My0ioL6DsYLxGIlAVhgLuK2ePhzgA5rGESsfyjjCuPtVAWMNrC4zOgGS2EHQB7PG5h83sBY04ceJkmUiFggXewQ1u74gNKgHwyXdpiq6NYnwoeiExRl87mScaJUCkTGYMrSFhruUAAjLtyxsgWFuvWrRp3uEvm4ZcN25YOXpfARpIaNUZLzHpeYJD3HaFptNSPMcHb5dhPhKb3StUhcY0u9ieLDSr2TlMIHTMjIGB2CwHCWOGLmzGQIBGQ08aAIFs4SYJ0TKnWLBQ0rS7N5hXAOb04EqmPC8xBfEj6MFfMYYoIoxqGzxGpiv5jOZYPprLEpCM4zTkZk3tFEijPKZwngBugacoxqohuWwnZGoND0bx8HBl0wnsJBbpIuXuuOwX0QWDkUIAtSqFEhurL055j7jstZeWJDHWXiNmE7Yau6op5eNMTGSmBPL3nVj7AjpKY+hTQ0hsdbAtl7Ty90OmDNMIC2LPQ39lb/UwqMmedMMiWI1LFTIJs0xA90lRVaVFqxwzSYbkZgJ6g6GLHR4n8wAPiD+/i9ERRfjf0hsTLGdrAdkg/JhjqzW6FiArFdoabXMVCJg30c8WCqxI/yaCfBaERSOmOZ9rhY3R0aapD+U+UA5EG/jHTFiqbold2bwj3DLNRv+Sl50TvCMxBGZvncZnne4gA55ReiSxYd7DKd7mVw0loCLr82JG3/CCT4CmQPGsh+QtROhcz8ANxrJAA0fbcMRxGAN/ILF+j5ryYXAUpjkUop/DeFoGWsTHKrCpiY1U/4QCBJi24w/EB1yxtBmslHCq3o2LCTeJx6sRmGah4RZ8JP4g1r6/+NN3+7MjPrRuTY3koaDfRIV4UHPEzUPAI3oMn8ENdfGwtjL+huoryWUZGABSpGJuga+1uIMKp1gH9N0dGxCsYXNhSwzrS73KwSRYWdDIWWK5IBg0GmQsaemU1gOJSTIAEiYinqxNAW89MBvZsTjwXIYzGZLvYh2jK7gbGQ1l45HBCqem4LTDS1MjQMYYBvex+D4G/jbFyKH20TmbfFAOAArrxK0hvCTCmcD/uJ5O2tMTROwAY42ZfE60wKVgyfIjNUfFoLbR7XLRrJB14pfnhj5Q2uH4Y0MtXwmTOdhiYIE2MMbARB3CY9bjc9gfKIm9kECPhxyAd+o1MYc/d1K0R+0xqqGSyrWhWNP4AcPDmkNocgeLTXCyTZY3LtaVKl07iZKNCkQGdoB54ZNyNa8Qk3jPTgE2LF3KET0NmqW8KLcNDhhw1UpguaMDOGQvTV0hgtsBVEbUUj0LhWFcIzzqXxP6gA6KNOgALZjLu1J66W2gDxzAShGsirZqRidu2WViaAtOZYX+wY+IPjQ23l64m4jVGyO4nYRh+2B2pQR2BY7+DoQethqroyLJqg2o1vBwBnKHTE+U0gUAZSNhdgPVMClbrG0GZsa8AAdJG3cjb7AFQO3xACBSxOgAoWzKJiEDsjrBHeUM8bwGdDHzrsEE32YhFqB2CxU9MV6xvKwyPIDPih+A2yKUYPxiws349AV0w/Le/J4pIZppuOtZhDlJhmG35sJ3WJQw2kPjc0MoAJb+w7AAIrTHYW6uUxDh2re4GaliZw3o2BSGk/W8H1MN/uErQ1lyC8sNsqA4BTVpxKPol2oZg0MaMujNxMRRiFojjFgyRM5eGLbzHF7lCAH0IC0toU0e5fgZypkuQ0loAfkCXaGLQUElGhL4PY0T/GsNAgJ1DahJqoyUNIZabt3TUCJjR0fEZpNhyas8Bs1Yf5DXhmK93BbIa26M69wxdDW+xrIIjucjEKxp6Bbj0DLhgbSLTrBxiMDMuG3jGYAE3pyxiAVwBQZSBdMOdYQxwxlnCSMD59hN8aF1EBA90VEk0ngWOud7zJkkiGLFTdqEgQm/gb2YeP8P/0wg4Z+MN53Qwpwvt4hx43HUZeBNuGYVVwCkJmiRINVhRB4cOGRagMxAFpYzYs7VwBxtG4azXlhgl9xRWHUyJKxY5Zo7N2mQugVpi8XFfkoyKUXUCN92k8tEAfA6+AqLEsfxm0IwljQ7xdikijUAHcUSp8E+pi7iwdU0XzuY33FKlCbbYnsNKlSNEsMGWCqcyfIDXfZB2MFtDJhcB7YAEkB6iNxSOB67N56m6UAalgMSMfBGRKYndrpZ02S16uiwYZmMkAYeWM9Xx5nEUT9RhwoIAcpiJuU0T2Z2NAZaYkgTdhMS97HKQAWEiqxI3YTazNlceA7IZqCMzk0t9jY5hlUrEljxoNhyJBIpDSFeKovw2MY0SwzVY8lMfwZC1TEZe5Rlgp8215vf8JlbTDaGY1iwDe+cn4EWMQYH3FMZ9qwioAtGwfARtyoRPSYNwBQoKnUsHqRhEkGUQjv6Mn8AIBPAGhhG6Kt4Y2BBnp2fMw5Mhks2yP3DnVgmZYPJTNchmEw3rMTHHh+NwFcpHogAuw1CgC5UwC7Rb3sa0hhnr3/0Y+L9P4AfreAymNVuXgth/htnmAJN7NXzDbry38Bn9M8BA0544b4l/ozykZ3iws8OjpDf2chFwxqpg+di8VecsY18YH3gxtGZfKNzJGE0sHqknoq2PkZs29d6J+zEOVCcmY0PZasqJC7AZeoLLbuEUCe0YyEwpAuNwrZlhp5PytVhXphN5GjgAXzJg8cGjGbh0NG0mUrDKjJtnQP/C500xrbRCUXFR3BBX0YlgKBtXbUXTaSA4TaM2IAlpMMIgmSCTYLcSIc1vMa+/8x1SbEjcNsBg4yrM5R5h102k+jV7zivWHnkFCGADhAu5JP0wPAEAzTDNSMGqY4pIhahgRLDKCi47c7NGYGsOQAE1LCM4hi8tfnmCijZsQBKkF5N7kNZ1bG4Njb5ViJBxKXiCuBxjGfQiV3VFxwGn94SUtxgOv7wBbwZTLHqoZV0MOqgJ5xECWOfoxPSZl5sIqYS5PV6gNDYDHYH86IctGVyUFd7roZnUoAntAInAV46bNxuaUw8AByfhknGO07Qb6DamIf4bZsAeWxHiTLvTGxrxUlhp8ML9JkwsUuhswoxI4AzGZZ6GboneIsM/1wnEBuUxZpw+knJekuscMklLCcAc6YpdgErxs0oyMuaa2MD3mprEhnDC4I3z4aySNUJskwjNsWOlMIeAEOyljKGQ14/9XJVQ0dHzQWZPTGpVMKRwJLQAclgTABH+egCAUiibf73v5HbAxAYRrGPOhhr/Y35H6a2MtJWCmA4emBYrC6piWMCPmQe7Adk0LWOSlSjuFN+dE7TAWfhOK0zfy4yqwGw64RQU8wazIz9MYeYB0kghBmDC0DPs0OpRVAxgHGZtrWqWJtv2YBayKUKtKOtMVxsrOcX7kmlSNkOG0pDBKQJQWDJ879wtZfGM5QRoXnaIzQCYj5wyjhM5QXCURFp3+BYjkMP4u8wYOExCUIx7lEfmxEwM9nUXyHj/F0Su6+tIzaOFO7SSmKlTCaphMpRoyA/5QbSoB4rElQAANNbqYKrAj3TAP4GV4lXaYdqGyibWKphG9AQ3ROSN1Ao7AEuMAHMuVNKAirDd+JW3QtKmM5uUrpgD+Bz9GIM4KxpslY2V2Z9HgfWGT5DXTpqasMupj5/smoARX3NRiDlADypgeUw69w/XE8TMOQ1i1IbgiANRGkAjU/wLuAGygAhsAdPBEwrbcDJdTBCYaeosnqG9AcFR3GPMCGKbqEtFgBdlMfQgMxQUjEnQEB+MmrPASBodPkykR5uog6ssowAC9mOK0woZi3QYRG+SKUakkNOLD6AT28MZhmXTaNacIlRJZiCWmMU+8GE9ZIRCg4zBBEUrAOPYR3DXhmHwwEaliuhlgHGc/HELRI8xA7gByMMW5YlnTf+luNo1eCazaIKVgDKaP6wWT03wsk6UQ/5YH3sNQia2YwNTDwu81mOggTamcNEOECWCjs9SF8O1DIjgFeh055bHsN2suXgTMRgG+iEbIbnaZ9ZYXVMRKmghFDR2YAgwJFOe2bJqiROQFL9Q5QA9CEJFDbS8CGLCnkAMppIuG9L6aLTE8gMqxFOCJa8Q22oCcQMBECvO7cOoOzAg0gDGRkBqTi6Zjiw3t6PxrHiRkFTApWDpHNZfGP7kuVhkkMwtSD6Hg1CWqF/A+oAzhkQoYWpA75YU+TfkEdyE2JYZavgmKGXXDMp8ERwHzTZFx9mpG+Y1VymLlqxjFguSwTcBwzOZlpHOcSA1JehM/Ym+gQethoZI1YyDVntfDhH7YOhhjzOy+OgAJAjFYlkrfARgc9wV3GOUwp6YBAQZMxsNIH9s6ELjaNgWr4UBRg5LAl2CReo7pIUB/bvbhwrjqxaW5tavcunDf20d9sE4yb3kMs6Yj3JeXrjnSyZO5H7gum0Aa7dYXi0AEckCW0AcmGHhMcIoOgDFNVaOj4hGmxNMV7/q9w104ZzLkFQ61bnA4MWjTAhMbIVdy7WXwAKUrsTLBpi4ZphuJYii49Kzs8ASZbGlUwodmdyzYmmG1EBklixJBvFYRHgfH1B3R2E4D6fBjmGdisVm6Mm8Q+Z4W0NozOaEsI1CM3LEeLbKrhGeuV0vXN3Ke428ehe4ohyk86I5Edn0lDenD3Uh36YHNAHdfsvwK5IabK0heGeN4JhhuBY3PFg9RN3AWVtQWmJoUj3psa3GEinxNeHE2zL/MI0+YO3tx1GEeTX1pE8w2okYMPhU2GtTQVMRh7pkfpjXQjc8J/0zKDhsvNwVpj/k9r1GeHTfqAAlOPzP65rNrT2FNDClYLwyK6kkOIspyU61MRb5vNkypiiVywDpGqbkypUnG037RBcSdb/GmTDel9I0+1WYYzr8spGUZDHNMAmQxgMmB2h15YC3DZIka0rD/8bMvN+TenPMDCeMV5wOJ517gcsSi4gEWFtxYAzEagZ8OCgv/jFyhl10xVoboAwiHexzDdWxs061WLbECwQ/Bah4GsRh+IFitjpSBRTBz3wfYJvHMI8xF8cN6P8uzEFxhmOfwu5gx6dAZwDQyVMyfSSloUbqocUuGlxwr5RtVsOYUazRtD7G5nDd8QHY4zS9ZgVA49Gx7DVN2vQqwbcCAhdFg2rLxKOrjTwHf0kYQBEugguzdYQKxyDBoYkqx5jB9mjK1WPOLGRob/OQynwnAwGPodkENPlhg49uAgzlMYpYQwwHDMEPnDvu0iczStRn153bcaHUxk3ib5QErhn3pi4dSl0NzLGhZMOyplhmzkCAAWMhYIHAgb44fPwleoAaeMmWAAqjSwHsi43NIZeBAaxYOTDDBpvD00FtbKnCIKAgnzVS4AD0EGli1E42EJLOiZ0IQJo0RoAyac4x+RX/fNNmppzrsZfoZZcgKnzXzQO3KXNhTAgAM6JBwjHj4uQ1lAKCmM9qxGB2jK8cAdo3YxxW7gpDMEisXTpg5Yg4WZjuSPmQgNgKwRqznlgqDA0CQQAJPjAeBGSb01sZ6jM0lYzN4z/xtyEzKmb8D8mtAZ91aQAP3k3mgDQUMw8ep7Qu5RixgIR8ZKUxed2j5DO9htEGM8/69SMk9MepjEnpgpMnApAMMMUKBjGbFyWF0LDWkFcLdKAAJljZWQdB+GDb7V0gvXc/IAVfhg8swdJERcMum0uJufoccb3yLKAZ8Nb3QhIAWbbgLalh0xyMNNRcddjNQJnHAn4YbyB9ZtGl1rel9PkIwBhJLFpvuxN/IKFZpx33cJhTJZiZwbdgB5Zvjw0e5Jp8sO6YqlDdIAGslCHlHjUNV/B4jAK1dILECXWCShNaicx2gbsBjCe084F6KtpimUbbR5iG4w0cGYto88SW22bbsUfC8Jz2JFX8iyg774qwKNTYgY4C6Tx7wWedMUiWAdbHQBhRgAZgAgjjTSWPdEN18a1iwQ+mdqsRSmEG4nqYEj6Nuwe3YDSSWMwo386YWYFXQyzYscs4Rs03qcbM2NBZG/6uU/IRJh1H0SL/MY9MOtMZ2cocSF+D6GcNykAgjEIpkerY2NShuTCOLJk8jWqmDWI2ecnyWIb404K3Td0qaYGA5zTki44EnNxUapi3THxkn4CM46YBfDY0TnMuRtGa2cMUHGB3sI0WD2oFCEZ9eAh+GwnAg6RkhROatSmyNVF2lrDB5hncIFbP7G+4en6Q6YcxiZUsz/8YvVDZ+BXdqR2WDnqLzoh9aNN+us/CFMYB5mEugC9FBgLmVW3UrnsIj1ToAFSNamgIwzMfxk0G22sG9ocdIAbksNVRorTGjoDi8Td0RF3MUetImBjyuYiwsVhO9gU68RootzBiDjrM1J+yanFJYJSO2yUYRuAxKBiczDlcP9i2TobhUxngCTNMTSqlMiUuYBqWsMGm2n2cR8VEo30njOkjmIeIggMWWOxFiWnxlcMAOef8sR0Rssw1YMC70M1KAx5XEgIMxYwEP49LjBdmacjIoYXEEBitgvChenRotJd72FdOAAfaXkTWeGydDeiWDdKGki4e8juDG/tsVG/K2zx9f64VNJkmaznD7vjMZkakaegBgDGPojMqwcceDkAAIBAjCWFDMCJIOdpgOkaUUgIFocwfXnibNIBo3LCBNNBuMWmWdEClw1584NwAe+mpSsOPrnPQzufRQesKq0CbTRGQTBQyIbozeDN4JLAjNPAA2wyxYhBWxxrIiefLZRsrYwklbBjMLR4eDMe11kul0Bpj5Y8AVGwAUeMgCpfQXEBuIc53YYsgP1vO4ABcEYfJ4IXGucouxoEpwyrEgHHgk+qlsjYZpmJQDLIZQ6ZYB4ZsfPfYocY2VdZ0CBbQ87+je1hv0u2q3INFN3xAl1MSWgM7gIvgCSjtnKGnbgWTNJ891sE6obck7o38YDhNkbNDQOAXFN8AgvBITpgA40xsEb12p/ogRozLdQPwwyYXY7Ph8xqPdDWc4iv0KLx6UMwYChsVTAr8cw7gyCbkUNuuIZm7RqHk+kkiYjh8NuZYelsJl0K8o1Y4bD6Mu3OLbzOQHqxwyWXHafMk7Ay4jFfQAarC80b7jd1ym1TjNumEVLEuCZmQkil4ruqQ/iBNLDOUYpyl6gp34A8IoOnUPYkZI4suZBs5xFmsJ7YCNck1iMPaREDxMzxgWpOeUZCcBqEmkoTcIANEw1DD7byjFjGO/DOiWBuFzXLY9iwgiA2HDcr8f7E2usloAB8NuBHrdwAEbYyGkmlFVZcgJlQ+klOK+0xNBmWx/KY2caXfpg3LEntQBqNZogYutRWmJFTCwbaHaCZuGGLDd1MNGZ0gUCiCknWOs2iXsKeMYzgVjrkkyPu8ZDUpnmYiORIFFix+ICjk4wxZloyJ2+aYQCJAg4VAL13EcozM8bFRNggmxd3VVhjTyUUtbSywEtG9VDbO5gJIwnU7MGFP7i5GYQpybOhSd0n3ptNBgnohM09KPWF4uK14gl6GsP4xyAbWqLskbPq4D3mh77J6hjQIGdW5eBR/wgG/jAUALGQ1uJw3c145uPujDQgKEE1V0bmcSCgAb/cfj0LtwxBQAwagu9MZ9Aki/q0KjBBYDDNTlYnnhSWiVPkxRrD/wBd+m+R4eBxjiQHBWb39CdumkkYoP1h2SB4saDONjPQpHAEPVGfdR6fgF1Dk1GjlMDURtrQB4MBbpM5WG4dXdfAQqwGMERaqMB+uolHVmRqsw2yoDpAlWQWq+LJyTvOQJoviX5iijGy/IqsgCSpykcD/OMrAoFRuAGyBbIyTugmXgPmQnTORLoMiNlmkBXUxNpYh6qCByjYs0UpiS0BvKGGFTMYKBwrhwFGlGZQxBTcAENVgJLEbyZC5jeigiOY3Kduaml6P7Ayw3UQUOmTuRhrkP9nKbTh+nONVMbNWIVVSm4IIKS/kcWWcBVKM8rXqeHE0xDZY4AXVtnLH6zBMQXixd9uB1rftELwADzpi4ppALgfPCRhgK+bCeHFqXsrkobqvT0AD2LEVpiLldj7GjROauoNzjF/eBDeMXJG9LQnWJrbTB4qGhpAj6SLDfcARotbCrWZPlNGPA2vgtuhmWwzBnAwzMqbEzsY+NUSgM2RbRDStq6Ye1jUfRLkC0ckBgxAVkuTPDKdhuUgFFYZU0MxLBLYbZ74A+53+YD/VQRX2HKaChwO97H50Q3NccnAzpQRMWLBHnGcajqNX/QwNYvtQXuAH7RCHoSC+GxVMOyoPg4zBiBUY9JhYBN4OBWIrNyvoYh1c0tcRfjVS4NECBO0E3mNPDQIhzVLdhQkJ90AjJBA7W+4w3xNORQ2S8HLwjinWFvMIF4V/RFUpjQywisRyCg2qviZACHSbh5srEujpDL13CyQ32pgzPMsR+PVEjcpgpYlllitzCUI2Qm7NwICdEG4gIk0t7hBounOlpokECbcwdyAeWA1isVShg8H2tsCNAAtpwdAjLeQQJ4w7HLZuMgym1YjfKhi3wzRAAQhMdsJ3ovRZ8CbakP4hyBIABh7lDW+xjW22g8YxpBPWGR4sXfphEZKy6BFUMoQAvFxWiMiwI3Pn69ClSWJjgPZZWMBLExgASiMVaGn+mMmmGUUJMUZePRJQme8onUNvZhy88mva8MrhBDMV8gOKM1GLbHxByMIstMa0zvbSx8zBQ+tNxR7FjC7xt92hNtTsBgYhGKvjSSZgmLwfo66jhL6Y7pDC7mM5HHoAD6aNFlYppQVLIIbTC/0YXhljH2lSzIZcgWIzOzGRh05lYRVoIOURLsAbUYU3FISONOzPJ5t2o2xmYhZABVGhjYkqmJKE32hJ/Cj0Imo6PKixhnqNiTFgmJg5B3ajQ6hjhYHbUb7MRsaYQ3kgVptncxc0YNGZeQR2ojRlgIbTB4MADwJL7GTPALZPnQI0mWFbiw+NG7hTFw8AH4IcPDwfgBbU0FDNBMWoxBE4ajVNRFeu1MdLhvlWmbpiHdCvghmlVDDYNfyK9M7Q/NL3UAcADpxhP0L8YZQqxBHmr5AKg9gVIxJVjcMwJjxoQAPVAQxo2mYiRdDmF8XgTSGcJ+MyRKD+Xif9EzZ/M4gLpwCijb7Ld//AonEbhiGY0MIuH0bASVYkYLC0ThwrmjEatCSm6Y4EYAhJu1yMVh7fYB26ecC4JJhncsz9CHOmNhDejo+O3JmkBLmwlpUApoxMVQSsVoVxLdyYtUwzaAtkUnDhnJowOTYqO5oyA4d/EkWPul2Jpgc14dIAV4pBdhlarD6SjYMDC2uRD/I5RpWk1uCbAiNmWm+sKaSrotTEAsTkNYq8h6qkpnhvgI26pjqXMGoAwzOC7Ju5cBKMEvuMu9wqT46Vpnp6E37axVN+7W+g/K3cKIOIhQD0SxLVRYlseucOpowO3FL7s71Y/G4Ic1HF+1tcAPrDbig5VMURWHT43ZljHZRVoxv7wR2WN3RPnpgtkN9eGNJ4OhhuwI29pH/kDMVGvlAK1WCVJKE0b7hNUne06Q9lQccoxBkRtziAfYd5THNMercQ8JjKec/9SD/DRVZkWpgDsn/UBbQ8d4U3TXibZl3C5TsThmmUm/BpygX2Kwrg0MNNHw59fRvwW0ozwZiOyxHSG/juHgCcwOOin7PMDfZhNU5JUkUtPjilh+5NzDx5djfitp8o0026C0gr5YwIKNORmfk3SVgMMwtFxQnQt2gPxj2bF4uslI4AmT7JRDqKlD1hajPAnKYOQAXvMW0UwmYBA2jHhOOkU8G0vTAKPViFTFDneCojAbHowoz9SYm2orOx7i/KF3GNODjFhYJsoJGjLjSLkamk2c2apyxK1GbcjAH2JPE2IbqI8kC3SMBItRiF1TCEDSoLgmCmv3WRCRlpAMhtZqiNMa4HhnQLMCgsPJzDOSlPvWQ5SNynvLo0xrhQgB+ygefQ8sJsQrBvjQKMNyiAznDdpgMvm03ghLYSTlgEQU1AppMAFTIIS7A99Gj5rW3RpD12GZyWsNTkoSOQAKXvuLGBACeZChJS2fQ7KgKPWC4CCWyNoXGYIgOnzojphqnIUMwuleB2jJVhn3phOO7USAzVaTbmcysTwzABUYpcM0befknEHcBtbBvm6h6IbZYYOQLlKC+Jm04ZTKw/Imd6jIAxGNyF4EZ5MNYkx0p7Nn2HjoN5+YISw/LGY6jM/yfXOFkVaV0MexSh9jZ3LkzYP84YEjtN6G0FDO8plTQ1xcAsotguJNejeQ1oQQL0YalKxfxGCAQWNoNaywXIal+oh2GRamYvrvuQwLdL0Qj1ORzCjdKQHLyQQuFz6M49GWOgO7iYOxkMVZMrs0GwbdDXUCCirQr3Ld0ttaAQ7DdzVDdyK0P63wB/wh2nDaUJp3IE0aZqpdRBGwT7S2QC24x0dZpSxCqqEKoPzJjCJBqXYNQBi6YWwjIcWFl0BGzEVwAYKSSGIXWSXQw0JYZ9HiuSGPqYDCpt7TGs8lnm9YKg3XoUVKEtQ1KkLpmNsZmp5DPz8ZknXkEbvuw2AA4kfLuQJuQxBkTAycRpATonad5tHw3FRbOmA02xhBmOnQPY5GyZZbys3qGbgQQDxnlU2TDqkkxFZwZaxcOwS283yjSht8XJYp4EtqQRHeCxdbuosbRmwAYjWRn1oyy0bHMMkZBCHTJOfszI1IFYt4liZYqaAOc4kwwGa8apoj40+LbjZ1Rhr6HbpgtUNh5YUhpeDUb46MA8YQSx5Y8Xe4PdgNTeCYebimNnemE6gqAFvH+D+Rwc8R92G1wrcJ4T7Qwipiu2pvgAFqTcCMDFwzikZbYTmOxW4sZEUhXwKhphMA85wAldDA2iH7YyqVFrkM8tUlDDD+UFwQDAcZcWwEMRmwTI8WB1UH+cjQzM3tw3KhHk0YWh3eViHmNK5YsJjULMcfIx9e6xWwbkQpiPDRFifY0q3DEyxBqWlqQoK4c0CXKkwVzkpf8zwjbymGjqVJSZVEABvuKJfcU0oLw2fVwkUM2IAS/JQ72H2rCdsC86Izli2qgGoNArwGiqDGUNo2GaTQagIOi62vnagOxnUK+IALwRIoAHgS4GphEugT8XX3VAPfx7tbfewSHG3wnACSWFKHcJiBwBO4w1rMI/zrhAMvdQcoAnqmIdMLixie0A3kEu0MRGIV1MVvcCNOCjoaj5tZeAoRTcKgKgISypg9ixy0AXDqOpxldwxFD5rSweomboACbcMB6LvFj2UNVTRppgBrhsew2xfZ8ZscgmHtgZGlhq401db349/ChSOmU5ppo4DYx4vQDcD+freYzxnhqmfVz16Z7ieBoLf30eRwDOIDFLxYkgDh4KSppA+1mAGYadWfRQjDVXRsKRMli5S0MIZBV3sXCxkujHTiynUUlkgfKPWaQNy0N81xqRsGzJ6eQ8CMFTQwo3FHaAWOWDqUsthgdzWY9Gj55PNcrdQmRMY6TwPkEUCN2ZoVjTb6ADQo23EDHG8xYR2aqKt5pWkwz4ZAmdyqYJtAKsgD2LBmeY3iAYBm4J6b5cXSw001TjyxzmmoFDO0DoJLG1JbHuiLqe+Ese+hpzTEOJC+6oqmGY1DZzZl1wxb4aukNaBGw4veocR8xm2gH40wzWGeDYoahpLE1nRBkEs+pYtgABJiHZHRu0ZlfMqkeocjJjCCFa2ySh9k8odGrOQUB2A05RWoYhZNwvefABahJnPxh1hGw1BewIkC4VfAO7s3Xf7mqwiqYvjfP0huI8TQ07wotzvYNbbAqRuyaCjLARJAFRGm3peQRuTs2Gkbvaj/WAcQiC5gMQ6x+gzmuMfWG3FsKa/vuE081zkEsRyRQ/DEacOP1zENFl34QmGMNYaGZrBiUbgBnFNgMwXgTarJkOLDpdC4m4hHBOWUoKwQ0Zlam6vkBCcmfGjcyxlIwBqxEyChXDmXWwPURgbN2KTQaWowu8Q3dcKjiPnGTT67ijnj4lzjMBsIAgDiRbrpt7EmJKsA4RvrwzO0CfcAC9mCIjVqRsmHR9XSFfsLPGCPDdyhiEhgKkZsd9rdevLDKRZk+mPlv7VzEF1JHksJ3+KVkxMgB/fFraYDFIwFwMbVy9sBQAcDuI35jK+JoH008NC1LciNEWuIyeoM+cV+4a/JRZWuaFDKHhhpRnUb6wqcHlmp/gRnXqhwz/Ob4OM8pGWMQBxpn96PNhRhd4qOGAHgpPrLfcxbIZHhNZ+EwDjAt0m0oyZ5HgChdFYg0sL8QSExDk0aPbs2fG8H4QDRg8cFgRH7UxOnm7qY9y4U02N7tGc3ENPmHCUvfYrWFz14YvlA4NAC+INOsLwzFq2alaJP/GHZgeSmCilCcV4EVNC3eYYHCQ8A1w2Gsjc0NnVAfdjMdRiUvFYyDfYBTWufmLIIIFroFCPhkDsUri9D4LsKeD0x7UAxpAPRm79nKfrPlQyDcQ7Dt4+xL4vUulrbOV47S468YawcNHTOmD7c0hYah6JTmmwNI672F7RMMKZA6ZFSGwNMJjcISADnEC8/M4SYRqbfVWNuIE5hHy6N7pYJNgDl0YkowXsFk7sEXes/DHhRn633Pua77IhRhxVbFmsB15J2Nbz48fEObtOBhgPx2WvFjwRc3+0P0GCbML0TBFy5zsMJY0ABIVgJjooyu0zywBjtAPUjb+MLBUHp4aTCw7LGtTQO5WD6I23Fj3SxVeeIFzEJiD8G1GobsRdWXiCKXSyhhXKWXFhtRAcmGOgjGSJirTCeJ6DfRqbEVdgEfRniUDWSi6cM/2wY1DANRjDQyVMa68Mm/RG0jA7moYBFAzaz8IXaGRHAcHRhhPHP9JzLkoVmhBmA5TkyaIxYZtfcKBGuTzEyxh8ENbaavEs7FY0xXIg5raG0IACLL91bGCTDOjUhRQ3FMaJ2B8MmD4BIq2G5Q0QmwjpM+hOWuQOl0DD8L9yaah8+AASirfiWOY4E01QRttcYmU4XbWgGDQxYyBMbciAu1W5RfcG1YxlVgvMNf/GYi3bhAZdTDBw4vLNrXISSUZgAA3ABgO63UxdwAHrDAAvmiMNNraoWMxyqWWvKQ0ljYne65vsMdwAyDMPemFFY2iiacacIHKcKoO2xqPx15nGB5gYbwK1MBAIKTSX4gJEMwJmALJDeucM1Sz80zUYs8Ex6cWaetoGt3chZbSx2wGIeqQNyBeGXhCHqHhn8RzVDcBmHDwwNd6ImMNfQZc6Mslt/MwE0SLeTB5GPF8BVKCWqzaQCLKwnJ266DNGUr+v0c4CZaSL1GHNo7iwC4wzcw4jE5DSG13sEawM5w2XsElisLuYz+eAZPnH6LvEJCysBzO69MCZ4YBLFNyG7yIGoAQsTcjdi3wzBMQS8M7fO99Df/8PCTEsX7RtcJJYv/jA+oPHYF6NG5kUEueRT4y+mMBK1qsZW8MxckdAgE2mCwI1T8FX0NEimK3nZ5Wi0FCtVjF8RvvY2LkUuccP0z00alIQFbm9zaNCxojplbZzQzMKbitNnIrxn+QxyhbMzMsT0femVyhgHT3LSZ2Gpj2mj+JQCTHMrB5FLjCs1fRmlMPfYs5U0yuHmcMGtOmwTLM3jHTEeAHmlNNHAdz6a/Zi8eAsVh+WMl9OnLxVnmMi2iTmEFAAEVYJ3/KaQCH7x+jjQPdVLYusTNGUojyWbnIBUBbpYXHgkrSVEKVtphSKUwHGBsgT17m0E2d1QLsN4C8g+sAVzr2FOpJDX6NdwAXKfZJiGTdzrcyTJNRFYOg7PvTBlw0H1jQBisREiPJD53D+Q39hJGncrBGTzDMS2EVkzzjBnLFftM74jT6mNWkOOnC0MApbGkUjf9hui92FqHvwstT2L3sD/Jl4UOXEZsABZmukPDQryJI43+xY33tzaYfIbAEHlbSBtRFs0M7xCXcgQWkqvgDjoZ4etDM2kCgcm5tPk3/JSH2j76B0Q4CgRghuxyVx12NsSArbTaURmxs1noZtlAfYgwQTFhhjFQyo0mP+NpSGx1ML4RnwuK5yDFE5XdUbc7XehlLY3Bab/+BPUQc+rFT4CUvAs4AgyMwZw79wYbxj4ODikmoiSOCg1cAQyjrgUzuP5y8k+jwqZDbWgE+qAR4bZg5KpeVkAbkRmLvlWLhxixJ9GgnjH0Riiex4+LWMNvsWNU5XGJggF3spi6kA+jwwfjcRIHY41LR5KWx+5mb3DU6xsY6AlE6B2gmfgFecU1Vm9bD4pqukSnKY5pTGWhiK03d5I3VdRZm2wALu1N4ThhrC+KxHaGhrfFWsXCCxGUa70NRjO384b/YFrI3ccYxqNXyxiHibVIJCKBG2GJTco/mFdMRfcKmgBMphtFM8SgcVDGOhqHRhUvo3ShmHmWZHYqwUUKSP8ZRWNNBg2dkhdhrhIwD0Ee3BU6ATSUn8Rr0Z2F2BLUM3MmyDMdOLBzCwrcbZKM6qmdxjBqZlvqNTIbr4DIyG9xiTt5pip2bpgX2M4POnhTPOMP9ix4mDS0xALEoKjG+NDNRMLpCWMC8VCjJ4/cWLCG3EYC1496fhViA/QplY01YmaM+DDJGOMgBBhlZAHEzAagAqaYfwTQnhsGLAxJE9zc/NMNKvLuQEi6IOoZDLlvwe/87K1hhx2KQSHU41NnRZDgIGdJ/sEGMZiUB+vmWa/Jqtt2nC6tife8+A2J9jDbjuzLCtt6wVt7m0cVYxgAPyAFoUb0iM46GHpDOOBABOjqDF4cN+/ghYQXypvWlwcFjrmCDnBkyTIQLoKUAqOC0EjgPuHM0MBmHXwx6IAQhNP7MebDFFbmCE20MaCaJQZ2+pKdwAOxombYmyCIrV0k4gEoJkxuL4lh3OQnKGfxQAUtubsBoEARFCaTwSkA6cWLDUEUNZhCovAoonEL13LQhw9IaSSMB9GNMTWIAFsI3nsaaPglWGcWAmniMrQ0embhKjjqYgjDbJKLibl+sHlMALyGX6nVNAFFa2oCBHuMtz+EuwTKmPfTxSqBV7Nh/BZBYA1hnuuz+Rxe8MKtKRwzS0lEywMWi48XxgOc2DMayWJSU268YztBD1wTkjCpeI/TDwZiA0CpOA6fzB9yaPnkSGHOcMBl0r6XC0IHLZ17AiaWiKZGh1Dfv4O9iWfwlmocS/GkIoX2mGA8PoEAhZNO0RMCAIysT9BjsCgJkNCKAHosOVhlISzFJYyzhooAzpjYL7NTKxrEZzOis2hX3sS9xqf4Givbb8NQJ2oJjBchkpTArcYYmM1aYsFbVN/ncYweOAAY5DoBSxaUqQlWQGq3Iw5Sz2h3ATLgICzogHTbgUhggmBqXaxYUC/1P1LyWJsBhI4sFqxBI8Vo2CisNQ6MeVMb5UpBLEEYg6d8xFGNPjXNcei5wwgBCSku9wlgLd7riV42vIYSeRcKmv4jebbrIFM7YZ43dWVEfIrHJwLv00qKqmmYdEWn5LDWRhIEBIcYHyS1QWLfDEhxluQ1izha6ApDMiRfCBZoPxx/d6pvNSiqKtDN6ocMzkWVhQUMl2Q/HDMNWHZAEyHRcZilOG8KLAPhsPZLYoH7iw79ueLbAqgXy/xmobEmCaNENl4L0JtE5CeWbsaIRKAOkAETDi5n2TkavI8c6YBuTMGmJFOKj57hFBAggu0AHdFkEYxamY9ixjK2tcI51CnhwHnPBlEAsdAHAAb4kLe2N4ylVKMo1mEvHfL7LU1gkoab1MGRRGAAOiWOgHwq1GOogCrBVkPTISNPaGZLEnFljVwJwnF5PJGc11E6oTYZnmDEscjgJvLGzuYfUwsT0F4sChsPdTHTMZIjVr0SRnER7ku0m3xlhIjVpZY4S7Y0AXYuNmL7ECwyuGnYU7QAEIxyOiJ1UwVVmzJDRzccMzksAA0xNLZGatDb6ADxMAaYxtHD97i8mjJ+AbL4z+MZlsNsoWoUAGZIL6AJuTwV0wxbYMFDJi4Q0U2PfYyKxpVJP0cT+0VjIyL8Y+0xEwm8DjVtnLdC13tb0At2PxpuLfihm4xDPcbqK8EHiRjYhyWNSEyBuaJMNoGYBdMfeWCrQ0kCAgSA5uudgAApQRg40mrjIikiaxuLjA1WPx/3MiaD+9s2AUunJSxneo0KARPWjsBSblMfiWB4w0i3ZkDiUUorjZCcgLRsAVDpckNiLJ9TjFMcFdSyh4Z1TsPxYEVMV0WGIo0zg5MmNPXSTPwPvUSJZkD/5KBN+/8JdMFzRoKUzYAAK2T+zGaqLTbztaJBYgB9qSjeOOJADURqzUDc/4A0Mum0YutOxyPOjQhRbTrigHGrLAepxtZI0wSYRMQmpYk9qMHIONTDrC7G/gBQAIDDQGmMI1KAoZW0BGhG70bDyoQ32MCO6TBFAJMSJjc4AOpU3IiyN6MjeSx7TbQZpMEW0vBSiMSigJjpMdRidE08NBNAkXIWQTHOPRhFTACFYnixfpYvKUTNYUuICkPjNSTSFGfVMKuhqguAvZhPlNdoAS4TaXZgtMPGobY1NZ62MqdFkyU1LE2abQZcdumjHE1zTAxw13kR/88m2YTKUduUkgs1YgA1i8LQ+cQiNsfjIKDHmCvjtQKG9RjFfjsWS349BJWjn0JOH3Tt6LlTFn9FKt9bFuKpoiGcF97HJB4R8MwEg7WvGcWN9T3MHJ+cQMLhIFHBqSXd3wBRbwBAaggWvEYKMfyLgj/wQKD5geBbpTISNRI3mlA9iCD32c3jfrIN8D0BBhLFotHG50zVvdk9FNlyD+O5OmANmuXSAeRFmKXjNQAytyLAjPMwSCgHzHGk0Mg4WPT9TuQMNZAvUZMdlMhSovDbGmEzwHhcYQqg0Necova/EHBbA7JDlZYcQA1ukqdRiBcyjLCnNoZA+thIKAqWeI07kYA0oHFB76LYGnJMETzYZDpgt0QnjQb3RrQWzjabZyw1zGtjlAu1iWE329iKSNXQy6OjP5KEbRAtEDJ49G0exKzM37DLYlVDhsFMtHhlsjV6mCrhwBsgQKxbzGLMfdDpmNIxr8EcRNMqYWJYqsSJHJxU+BAdMkEW8RjbmWJVcxSyx8XioBynoA2DEspRM1kpRFSeqYpUXUTplu0xosYRKxZNgL3sXzJrOwHsibU41ucYvzjUKmHihJPobPfAxdAAoAf2jgB704cAlVNIJw7wvUpWFc/0KXg2ywePiSJjeqyQyrCM4iMAAfWG0VQKemK6Qw5oBf2dMTQ6zQothja40lYZ5iwJKAR2wiYAPWLAlfyaFiD5YbAjfYUAQUytqBeu5EeSBYglvEsUKQoJFa5Asc276w2ijhpY1gjzSqszk0fdjHZ8MooyVrYnUMUGx8lMIRJl3MzxvCdvQjtArjZU5WKNE3JUGjRNT9Spag3TprhI1EFZxix6NgCHTHNLgToHyy58RYum0WajBfNnUI0lbG8Eh/cwYE4QccrJTCqsaDOMKtKzyicf4OmUFmSgG/MGGGu0gihWFvV3AZhs0xWAmR6sToJqRLCVphntdhrImlMfTFrXzxSuIzlSDt+b/cKZWDv0x9uZj0QpbeCCjdjgAW6S3VFZqMS6Ys27Yj8TG50uuLz78LRAvyUT5Rpc43j7xz0N+oRMNYWVxFJiS0yH8RMKxG+rDV21Ev9zK47yJDU0m0bsPb2BQ4BDqappMvUh9L6LShtYrAHSYOpN/fG4CospRs5uQcrHskNSUm7FjbkRs8+ATdRJMjbTGU3Q1UONDYAxpiAVEsHiaAjN6LhrIxygD+kMVIA8oiLLoMalBn5Ckk8kdMTYQNhoRx7AFAAxcNAlgMNYcbpgyE3KZyZC8H0W54sb5RtmqhfpgNaMfIpccCM9gRfAAnEB3QToux1Q7eyhkLEzQBZn5NLmAQAUNKhruKM0l7Set2Is+ILK94QB8C8YZmnoeUsp9g/iJpkJEjIbUU8cyGduTWIADyUzr/5E8Mp1GlCjLARgPAnqSGqMlIqY3vLNdWAzazmsZfO5e1eZ91CyzgxM2s5jo6N9oSi2jYc8YPrGZaRfj1Age8f4ZaCv1FMCWC83p1ySWpUneKbpazPKH0kpxtg2AneURJDTGtYZkFgc1SS7IUB2DbLF1HC98MUvcQtI7F5hiqzR7w6vDdwAM4sXq4YYo2OYbcd9fFY5VMNXzA8LjOibGC95xAktAeExMEAGXKbjMA11YcUsW7xoPU055jHyMl6G4AoBv5q3TEVoZpS9wzOOhQYjgGEKmsLgIRQ9TGBAQMSlrOwGh+bV5905mtMjBGhkZ0w8tbVm8LK4RyjO8WLtwz0+ANUxiuu91MN8jk1cMOpiw9jZogxQMEkWBbI0HTGlUwyXikK8CSWLLkGFClItivhQpVMFbvo2Qz9uZK0w1Kex0sByphtbBEOaHddR88ctgFT4Lk+MpShU+MZHOuLgbiwEqRlVPpWYcpKm0+TIxUFRw0AkzTLdezmDDMfymKpbGYdwc8i6i8jAA0IRnNRVol7dMtlMW1ksZqltgi28piGkMDhGqREwTxmQYzuUZFUx2ZYwYsXToGesEipj8ENXZY89MGsRrhwHV5LXVTR3G/f+fSzMZzyW74sQxrIAYnrKRppejyzpivjAQsRVBbRipjZTEDzB/tgooANPJU/Ujwoy73AiO9ojea6sJQJgqI1s4Y/QYvp+NOzBkcWLAG04ZmltoKBSILENlusTxEZhyfgL1GfzXDQIOICEzIbWkMQUAslMFCFjHTHrYYAfA5UoVkgUqmHY0BzIY8oAjRYJA7HvvjxWOlEYAgxDIhenuGKGuEwzaDHhABefmntgP9kTmqTcqA3uM+FGC2zJYtKliHIaybBNH6GU9MdIEkqAOpvDR5Z9mIrDAOvcA96yiO5I6Yz2GNmYJdkLGSz9pjaqB1OwOlsXfpu0YwkoDytBFMmzoE9pWHwox0tHm2NNNUOdMERYb6FN/sYSv4jRYXBEjBpqsYwvDK2h4obBTKPD/ht3q0ViaYlMhNG/qGZkgGiPzT4as3M7uGMMzKkYY0AFc5JMywDOGEKoUexuMM1xUa6uNFhmKSzWnrqd8VRK786J92GYvDYcWFUDEd+4kyd7aGzvwwTRAgEELNFgLA5Pw0ojFhIOcIwBMFtGdBNECkE7JKDN5TSsHFWw58QLmjE9Jix3EyYbzktPbA4izWCAQKC2TDpbKMfQgKJUj82NjU3gcbo6MZbE3+wQv9stBULJgt2jRjm3QUk40fQHELsBO/wrpwO/Tbx+EUYznIaOSMCdGtbDRcVkNw3lcZGpdj2aG2/XBhoy+1gHi7eMh+GYwkPKmDxfFvWgVFCZlRL7jZzJg2mhRSicEgpf8I1gWHhpXplYyCNWS8Agsn3CjgLKqRUliX8Mq2BrYsFzfnSSFe4ZTKxCyYAYHVIADzWxIiG/mchfS+ZwvlZr3lJSyx77EstGirzMliWODyZ4D98UHwCngQmcWMFMKqt6viNUgAwdou4XihT0D669gRxWmGGrNpAK5IHmMZuyxl6WcqUImNNt/3hRaVitttWS5DU6iudOEVIZGn8hfm9CvQuwDnK3s6hQpTlxGStHNyRpb0PGoYlSxoPRadxD3hullhL8ar2A5AJk6dFiWJ+QymAFc58ZCckCgDCANyGMihbBDdXlGcsEwXhuLI2BRDjdNUvAHiTEZRgtgH8lhjlUGTeXBvV6gNwEEiw7wF5jaYG0jSKRsXQyXWA60x5Y8TJjYyxnmLGLUltWMPRYnUnISUtZzBT+BDsNIuGcjDD/aDTHEhFAdwAkcgBbDLEpFHgDHOYUG0y503ujNB4ZvI2TMa1UwBkozyAs37IBYkRBGTkd+mGF3MLptECYwqeavvDy0AUZHP74n2gA28bjx8wPJEwAKAIaTLDvUYpjgBbUCliZ1RhpRgIZirEADlhRAUXgxPgEEFKCdBA5Kgpfqbo4U7rHtoZTgTQhGMBjKdicjZzzjAjZgCpWB/fB5ZlXQziYjbiwykuMrUKTEsdOHRlgDV8k2urBgXE3PJKypcCURN2LedlMdjHPmewnobr3srqhR/jOEoYFbExUaM1wVIAANKFLLJJKSmgBe0M/rUzTnE7Dj4ACYkb40wb+uj9ksyEi3Z39QzLMMsx+o1MFaRrzQNwYar1gyXi9lEwOmGWALD+H/edStENc0UxJm9cVMCl5UMxmhRtjYWgIWEE4ApwSxIRu0H4YHYL+w3YVwaWp7KYtokf6ILwI0kECNwA25Gzs5Hlhmxw2fFAKiMNPGFjDJ/cSQABreB8aNoGGBfkx7hhiRPsrZ/BNeoW2SjUPRObsD0Vhqfd0GxyJ7V5hnk106JGJ5ME+GtlTTGxp440iz6aOBHTR4NpFE1sFKBNIbmSZQbUJNnQO0GoaJ8jYfix5PG614namOpl2pcBB4cOzAXBAVWbh8xnbZFBEBbnGOkjGnkngrG3JAaUYqlG+mjDwUX1+LppgO4JhCJfGrVvpnqY1Uz7lyk76GDQYgW1ImBiiAB9oA/7mcPuJqmDFTGo0bBsBkRsviE+kRqoyTKpLWkVlaYg+bFqZv+wznEB4Tgv/eoD7StJpXQwNn6cdC63Ru6w6KRllt2FkaKdCUvxK17HH3raHj3SyFAJ1pu84sN5qXeSJ/0TbCNSwmyPPPrwMUVNOoZIXNJKxeE4fzhhJQzk/DuRROtm/OiKsSMOrGAiDJSwB4EDEsX1nsOoK9faSzNL7G7LQ1cxj16zP9H94d05mltDA7RipBJmoYXewEAgx8TGcoI6W336l3vNA90/kwu5RpmsPpoBEhMSemIdTOnQBt4I3OBR4Byg0SKA3aVm3YEe5JUgAIY2x8jGVqEVX09pjh8NmqGPKWCg2u+niDO5fSNIaYBEjVBTiJQhfcammiY6Yi+gQWRl7a0G+h324TpWcfAM8Rn/qSc+4vexehGNYsW0PA9NK1UZBTiiSG4lE/AAG3iE8aAvlAX6GKe/C+AA5LC3FiaaMp8mAisIbkRfY2tYYK+YodGnKUUKAMY2yoNYF1NLKm8EvcR4sZmzmXKbSwQmIphAqnpqXpOzcYUUMBbUis4HYRq7KEatif7CyCA6OjL9DApMz4IBY2pbdG8YaVxhhbIyYcaRuMsZ2igUDNMCrTBH0YWpATJGwWicZxmTAFwsYKTIk7GhKQesWG0Iw3G670NEwmu5QP9rk8W0j3BB6ds7mpzzFBxpjY3mHCbcMWJY9xifHhoPJ17Fb+pN0gSDw2GPiUWwwFUZY49nbGe4jAeBP5LEBgFplcJxYj+rMepmdAOXgBxiwmCmymnHNwSWXFH4Z1iwJk2uPDShmEgczkMytmMFeAA5Uvo8BirDUdDz0xJzxqZBKIkVKlG5UIeOMh0mJ9DSMwbOcXubQy0N/qA2+bF1ko2a3svrccBPruajjRMKSzEwd6ncJ906SfDJLqRs+5xrmhSiNOagUhpBkRnPoxAQFJJR35x/+LdT1HiI3k0aejBrWYxlDIqANNW2AljUzgoXcVgUYhPuKLgBUayMN2LmXwfay9kd7HEBAu0wnlmrY5YviLYSCF8j2sMz1YBg/ZvpiPZMAMYD+AdYeHVTe/oVOtzQia4pojAAZc6RIwPuw3vWFSOAd+mO4sb6WNF4GPLG239ZgSTLTEOsUylEgKZhigJWg+jDBopq+MFFYY+WDIgAaFaDzRsauAppjVZNY5YZ2XVJABXV3Y4CaAs+7GDlDJdrg75MnY6hyN7ghZBjDwmG/IyFgiSx5EWSt5jOvxCK61hVjZatnZykwRR73mh1NKMz/sNYpR0nJD6ifU4wRikFNt2DAF0sDx3JiyJsCDb0xNLhmQpRqyeZwx4vjp3EWYpG+PPhkohQ0eoCA0wPmQcdgYMHnskAMYZHzMz8mhrAiT4ECTH8jaDsYyUaLVifQqeDPEgdEpfclyGsZDK+mM9iJpPAGUwTCJeEuVBvv7mC/oh/th8eGQvkbNgOXOOGLF1+IrteHs0+yhgr02chFO381+GRVkgYMW9IWWVhRsNK1S4zjAfwH9bDyoZ8sNb3OzpQGemDWxyP6CCVdSygikHT3ieZJwQ6Y4bAXTAigUAVWFemGpkT6KxSb+F6ISqmD6EBB34U0wG7U49LCVhmLIGKsZHEjYjw0FAPiWFQOwlEaA2A0e8z5xBIgONLBGpg3Ih25SwbAACdvUYM1uBh/o3HGoxQxulquVysGASSxxyA1ejenIGrQwbYa3Yjg2efoU8IJq/H2l+4tSwqlYQVsI72F8o084ZxCJd5EWYDXKwS7Q2qMmA0Ns6ugmktdkoHa14IEc0NEpxiM/PWmAI1NBcnU41qbEXm7Z2cmOoyXWAyzgupGCyTOBqXRIHHiZnThf9gN2jZcXm9bCwmZMSMmQgA1cCQ8AdQzoEZdcNVSGRNMWM+uKFKWUYV+CcC2hMlT3QQj4y/iZ918Xlm76eCo3NJhwg2baqB6n2c8LScPgpK0rSZ5K4grxwOwEFAKXYAHnECqx4UoDqbcpRinKUvIFltBu5uo93VMgvSSnksSVyxK5YHnfVoPg1LFwiILWM62WurjS2GHq5yXpJXHg82G6RooXQRSlCwABW5c21GUvPMlGtK4yyzjimMBJYxe41XKcLk3+YDj19XwOVvDKclOdLGo4COUxVKYrfjHtoG6p21phTUwhEAErkk+xtnLEKA7ReAF4+5tTJIdpNXANTAROBkNeBnDJcWFLd2zvZ5sMV6wiVMGlhuly1uJxbSwNnBvFTOFKCphzOUYIRRubg7x6YemDlowwhaQkkzT0+NML2Vhamw0oypeAwQAH9DKQzMsAFHVCQrxpXGyXDRY/pWqWBclPcMW+GjVDOXhoVMR7UDwydbgCv+IhyWKEp2ZsaGkMTYxb1Aeoxj9E1rsYRABrvsDOIr4UG5U1xNwkNBxjE40sVEoAhYzY4ANGclLYaUsKylhMTwUXyT6Mc6Wi71MitnUXgQUaI8kUlgdc7PFMYBbCwmahUx2jG//4a4Qbz80i9Rf0QivGGFXECRg7YyPCa9fFDqGh64TGAcsrCM4iHUo2fGQtLK1Zr0EPUoCHWtZqY00QjofvCTHsobJqsyAeez/eFqcsACcmARAAEfGvHDcgHsM0191AwzNmSO2ezMXjhArEXckgRlXGxOtMCJ5mCC1VYayNAT1YqUIgBIGOICoUZuMQOYgZhTNM0W+GO8CjfoA1pYhdgLptIOjwViZ96B92GzTgVNhkCe0yZy/tT1WAUp7CAdlMiUb0anCNlwRa/DVtnM7mDPVg95CjaGXtgSPcFNOCYPJH9AMGmjNcHGFOKLjUdDC0MuCAWTE+KVuhAA1kbD6Ms2GUujPJQamQ33Fh+pN67UwBjcAUEGRwLnY1TkgiAQbwzcXpBkNfiHlvM0fBlaTToAO9RAcoY/6IzVanbDFEAMZ0z/NbdiTmuh5pTI5RkS+MxUYsGdnxYnMsNRiO8E02VpYnoWYgrOQNpAEsuKt4adeMBSO0XDTMTuUGgOtjNixw6+PUTCqtMSKyh4YVG4IN2sAjDx3Fdw0nMY3ShGbeyyg70XHarCWLTe2BAEA/CzQXhuEwz9iaJKNN3gER7bgIOMNwtqYSxo0EgUYsZBcgqHUq3A0MMfCReisGQILghIykahgEmHGzLEwJkQDsR4hb+Cjy/AufZUG1DUQPmgD97EApY41DI5Rl1bAJ+ammNeoWUyJQVwNpUG44CZkNTmmPtzaHQYRsI5lau2jhvOQvkdJnrVTEn9E6g9mSAidjBNUUdSh5Sy7hlxa4xMaOEmLLkAgcqPmchxYfpgUuwBOQAxVhhytMFyyu8bTrrzUOqczNiwYEmIEsGLhunQGxG6KpR3kohxIGsWEIEAFKD++dJ2GASgOn7ieLByKATixIBGBUjGbpo38PpJRWCMqyAzytWamPpKIaI4aBAI3AFQAX3mGfLH8UHHkS2BGmrAS8kF4AGvnZtDM4aWnnhE6aa2Y0soGIsM52OyZDQEGBHeEkkYOWIKZYedTNfhtqkDaADx/iDWGlgIgipmzAO44Cr4B2upcFgkz4TLTEyrDvzgRrO41MaeyRqwEgljqBR8IBh8/OyoJpVSpt6piN7KGk+jHR9rYADpdDlJsc3mQqaZSiBv4I7HIMNNU8MCkzdlhppLC18nPK07xC5KvKpRtfszK3IDktALE+VDfv4JTLByGnH0MuSmURg5EbD/yIbwEeJMzweMtiVksQPo22qkgv4uLYkj7WkNI/TDlg7dodALgTfwFb+PyLiHBJlxMRmGZp6NRxkf0LsCgRBMQegSyQN+RpbSxGkAPJNTppULjXFRjOQwIkacRARfRiYsfrINqIwMhFy8kZP+LYjAnQE1lhfoYKiNAggxjoY6pi46RpDGB2gL7id/oqyWOCIHBni2mNapOeGqYLFl3406GlhSgrqYcRE7riH63gB9g5OAkdxxisGpYCBLDqEbExptFWwxTMJJg05RT+BiUx7yG3mIUzgEwryA1Ks8A3aAwurJqWL/Ogns41Xj3VY8tIjWxi3TCWSAV0xrzytLaYO5jWIwByqgpNcmhULxDyYRX+OXpaUSN9oSTBTa2wHJ4yTMGUy9+y+2dcEXifXrGrWHKqx/HcxHIyARqyQ1jS768NO1uloQMmAHlQx36bovMBwxLeJVw5mtpLQlgxpoj1YP7zO/UXrTFr8FHaAIae7kEspwZgmzgdalSFkzGD5xI8gCeV0+A4iX8t5Gp9nMEAHamlJSZ16YRmBy5vEawPb90dWbQlSheGw8scExPxAT4UZcBAsHi9FndDAUVG2zM4QmxH6YYDjHEpJeCKo4Z7UsBGOHKIVZWNnU1DSBKXt2XRakjZXzuUGm3XpeBNJ1AZxTdzhlJUxe0kggBU0AiLTW3xg24FjtYW0A5pw8/CS1hpw4GsTDbCNbBh0UAP4oJMI0lQDlpNU0AgrgaQ+AHABasR1EA7diigA2oIHZACRMbe59xqYZyjDlKFyxMC94MhMQmG9TjY2mFej3EBDesMxpwASgHlLI2LAUUYUKw5DMxRYThwClTBHQEDwZem2zqFU0xhGLwlPaY2N6xY5BaZEPpCo3koYz8gtXwKbSJrftXox9pioDC11Ye7bT/kmvFOkPhk0wuGe6f3ByhgJ4IpCacPFExIfO7YSMeA4zYAC7gAdLYm9MDfRPbw0NIYdojBEJ4FjZMxjGSJ6iYGqwxgoIhzAqDhhoAZBExpMD7WvtgFoAF8oz5SiqChOWGemvPpYSkOGTDYHcQKgey9LOcALKn3mlCNSw8lcmBzMBNgto0gZLg9NdFYvYQo72AbIEkxLCcAaieGHDZUpvodwVuYosMGOAnLxPwcKRLAVJA5kNbyp99gCrSuS8Og77rpMF2m7M0DWRozcU9RbPiwEdY7HAC9RuzmOfVx5sNf2eWpLRIiVWZ1kkChl8t5GmytKfJsjEMvIbibcD6qSDMOgQO5FDBoakdNDtGalAHgwPaYzg86pYgLBOI5DcKmLYSE7Fjj+N6jGISTKwQQoo3otHsMdd9kxksMrclj7ycGYD8MiqG09jI2xoPA2AqmjYTZaY6dATacHQwzcYii6t9hQUh8b2mFCAC14izaIhykEPoKMTlXQ2VKbgFAFaY51YHDhsg+DKoYj5w0dSalDEnxnWE1S762EhcqW5g5Y48H/TGqOaWNTm2xFWlJUXs8+De9iAIAExGWfTA8CWsJkTEYgGMXMmF4HF3fiTYFo1YGiNDY29ysOYjnqtIptH2mMJDweTDJQtoIEwwqazogEomxM7bsbqNTDUWl325ITBD3jTZWhNsm6tGdABOmcfVMEHoP+E1qJyZABXZBzc5E33s1Qzx0ZVSwT2GW5DSyhlveihAAWMCzF2X6GeFUqlmzjgS0VA2lB1aHA2QE+hBAljsGB3OGOQk3jhvkUMcoZ+qMC0OoGnAS5mbQGSgLR5ZoYglVDOOhmMJD5n7tpd76Gw/DSKDsBI3DV7upxFhWppgZN4oxLGIUboID2BGtVXMGLu+IHRB6Ezx+/ms2jeszkh6O3AxI5BrTmGL7OZWM6o2RbHRAgVH+jUjbjgOnoJhMb6qiAbIlpKPF1tnXBmkZW0gZiunTHb3HmskPtcbASwj4+jnAYBxtBAOztG0BxXDmHtwfj0M0o1hG78EM6RgVZHf5gD1cyeYbxeN2lYBdMZeWLp00oLB7MMmoAhRggOxswvi6thZgNX/QXj0T8AFdTD3YAmcMUKggjWI8JjaM37yb+zkL7GSgbZXeOwwF72avOAil4thkbLQIQFLOfAvJiqU+WJ6OKWEhr3tobSiMYCuzmvCbMAesxB85HIJMLe/8ABCKCilDFpJ5W0WIANeHTmWHaIyD0ZJRNMhWuaXReMQxwCfIZl0xkx+L2AmpYFBI0pZ4KpQ/UmZjHS72PsYySobYSM9kgrfg/jVh3cNfp6ORNGSG6DPEJJp54W4va2ZNeLi04sA95ktsO4oaXuMZwAdHAQGcHvsWskYMm8h7ewGzGKoMoowvZi6ZDXgmzc5IegRXnDB0auFA/VGCvAJv4AdQ1TIaXMNn7RG96GAcY9yROKB3vMVaG2+nJ2wNRpO9CBLFpgIghxgOUZhoQF81GbcNJUAc/AtWhllwxIqacUirIA/4QfDJqLSV06Z+WM1pwCQ/VIyV3pmo8ZvGNMa4La7IIxj2d2JlhHKtYHJgzjQrybxUwMOZmeN10GUtiX6WOkKOH0acvcXk8Om7H9Ti4I02VpPpJmpGeyjF9xv0SLaCZoDdb4A/SUa1yEsP2sVhQqSlqGDDdH4AOIhw62a6+NJWGLVifDgNeLHRaFX/9xgp5TOD+wWZAE1sYbwSlpwX9EeOYG2o2fFAhXspuJbtjWxyp+AGbqFGJTW+AvfDRq2LfY2+j4hsMoGYITES64hzon4ljZ1MjvYJK4q3bp54VvdDAGNPnWP0EnlhouIEovYSKxg1egVscuUh+wwlaCZ7cRicTC/Z8WNRq2TeL8j8U2RTVMA6Rs98DfvCb6MdN0D5w0BRq8E0XnFE0MGdxQugcT7iKbS+/C67dt+GDs44+3kIEEeYjfMSsSure9XPEfjQzetZKWN2ZmWdDRUhtv41loaM3EVIAZ6wIcpEbRDAWC0yNnTAsR4MCcPxAV60AJ8Mm9g9GwL5Iejh0pyaxkMP5QZBYEoRtKvy+ZFxSMF2GyVjKwKJol2N9AYqxmTALzHKpIVdh33CZVVSxJYgnjKRaar0zu4a/iM3rYc/7I/cJfY01GYw3haKgfPCfx3AbRF5V4sTMyuG0V7csjtsi2Fm54JSpz2RZbZjgAw0z6sZq+Y6tJTNMbHHjtSkMNYg/NpAApurVgIHcrDNkalNhtYuQCwx1ZlHw3btGtSMynBwysSauMYIil4a97hLZGAKjPyWNHSTv5bnJNltG2yjP2mDlCx3Yb+6hAPGhIEb3zuREw6sgdkgZKREQTN5PsuLCM4kgyIWUJO/PGG8F4CxqnJGKhm6Y9rDfSeNk4NCgE6icCgAOaYNacM+y0/2AG0QGJGFVaWUfnRwBgMZzWNc+QoYBM9hrIZOu+ydt8g3EVDxWSwQyrFgskvuSDAApWTU5WAD6O1qYQWIRgAJmoIgKNxbB2fDreMnqY/5QO1NIsYweJhy8lfuR2aqO1FttqGiBDkWDKcgRQpaysUHzAUHbXQtiicRHgegMTiQAJak+D9CFYvCTNadgtgBS9wl+Mvjo5wAcxwFg8Qi06JKMLmA15DEBxh1ZB24bS6dDi2VdzVZXk5IxqpjPmsJPgaFaHzUUUd2HFh3sMrnGRUsFyTosS0GSh2aNALEVdgFqmEndB6pKliTEPEggAaOgI+Qwd6aT2pLxGYijPS2L9CNiva4V8ijGyvdPQAPJZzPuqBBAL7Gjpwkb8WDoPTD5XikiNE0YjPtWD2KUBnCbyMmXQTksCQAJSzCb2DSHcogAoMwlUYEVQ2kb5P7sC2GE4gWfpq4EIc7afwBpLYVkdX6WB5mH/bi1sMyuG6tMTbhnE81Job2qgeeG04sLTcMQIz/iayyB2gmUnAFAAIWEHyPBjBRJSRdHALwKJGIyECD98V9Pg/1UNcWCkewj55wkxyKGu5JP2mNIwHiMa8hNBnGJ4sXthgKACPFinfFXNGXQXS8sf9EAPiBcmwmoAAjjcGmLdBmQZHoDcWkhQNDf1DAh0z71BtKlN2OjNxSlKDtSm31bqos2lSnnhazLodQ1txZdeBmRGwlgoy0fZfT6EF0MM4JBwBjJ6mEtQ0mrhM0xQKGmwTNY4VTQwZR4xCMXygopk5tdtGXwbTTMqjR9EfkTbCxpAGgxin7kMQmIYy6LNRsoqUaJx0/D8q0rjDP5KEWUFcKnJGDAbAT9k7YAJCemxmbcMwn5uwQzSQIKJ7yu4ZNSxPLJTQJWdEAiTADd4m7MUv2btOdGlhE4ByYZAw9DKYmQbFcycVoktRDFAwfbRbuTS8hn8lDOnDhMMnmmn1MV6gLNEHFdwJ+iy50IyjbA7pzv0hbbkNYhrA3kjTNKVVYw2Ua4MMYwIQRjAUoBefHc1SVLwHxe4i4xadtQOSrEikgsZIRdFIPScuBSCaKCgoc69MkbU72mA+iMWMbQ+TXkW3IjPv4fWY3AYYsMtteJ9nUUDnlDTHEWbZ2TlVYVs7Lk2ItqL6AQzPMN42/6ueMgI1bGjyzaVBQ6MhZgg4QBIrDyobupgwLGt6ApK5qW2yY6mjUwuLYZlsdWxtDoPaYCV6Y/ImfLDPzTNW50rVL2UYSkmyIAfamMD3zVIYEKlsO2Z91LqRs5sxulBVitohA7lwV4xtOLGgLH6EA4qGAQbPPYJEyynlpGMcHziPDMEGRqEI2Niyq8Na82G5wEmwPkEzb5iYjssWIXJDYPxvjwzO9iFVVkhyH1MbGptd7EyXZGM9HKYj84h0holw2PMnm0i++S2l4VfhqA2IOoYcMh8jwi5TXcWOAKEnAnDWRnUK97iCDvkFcMqWbA3TEKG/4QDlKBjQ2sgCL3icigodIhchmBMD99bWuRqU2LczebgW9OA8VhQAtpRGwRU/wpjSHy8CZnJoD5YAto/wqSBIAS8E5sMvAWZbDYd9D4rj+SgpiMLPG52mNqxlC42akY18BnzidHzex1h07xePAtBRLMCb3sG9xlKG0ToFshNgoAAnjIEpr7qD5YZtKNehGe8dYwYP10OjpKSoAZgAp1FQUjgfECroZ/6ltgACG6acAbYAEqJaabN8hOgXDKY4FjI3Xlht2AdJGMVQDc4CfYyTFheMM2HWbdgSmxk6JJPxSX8cLFYDEsROmM6o2PYY6VtoU2OdMBtwBKI2q0y9ZjuCmrkTATCZCenH6FNAAuAgqQjWONsDfzx2bCYs2ohEcfEFMWlGJh6YvjdP9MdPjbBHtWLA68HzRDUthLAjaGZtTInAZhKs8JWgWr4Gt4CsG1v0FCwQEMRE24YaRmA2CLfZIOMRvgudJOKWF1IyV/GF0hWAmVIAXFwIFLHsljviBQTG/TXMchpDTHwCCL3iYuGT1MRFpq9ZM6YAZSNUyGEh45PABLkFBUbe8MVAJdRAAFxv7mAFVjbMRoQAovDSoabLLFgoarUM72+c5DPt4BSE2hmYwmMGuGvhkhMhq8jVnOL9lAPbgOf4tPAZETzBlYgGNGphqX3YkyXT4wYqEZUSPS2b3jGGsFvI2zrigUMKqWsT4FvDuxwCu4ZVEAkykWajNVYenFj75IFU8GVY4lDJhmPLHhSz47cN10m6LSQRkYmJEHOCglCIJYzqgOX9gXQ2YADK7xG8mmYOVSzl56Dy1QnJMromIbDBTXiDs3xphVStYyGH5GOExHIrF3oZdMNCWGLDDL2hhz+18Jg8sMMa4UdDL7AMXGVVg4K/CYqgNc0N9ELcUDtEbCrc/QRwQzaBwfJLxEi4tEDnj47lDMBYFuLDwVjb0wDpG0XgEeCQ9gDmSzNOBf7GcvJAgzvaw2dymd39nbmjg3SAKESqytpC8/MdteSbxA9hmoxHlkAyqwXjw5/mEerv3ExH0Z8N95nu7ZLW2Lk7YG/aYqfBdYe7RaHqRqCADaEY4ic4xY1eXIsRitsA1ABGLi7NEcfvf2Jjxsx/n4m6BnbGEjxSYIuJ4zRADFLwpaG8KpW6Hp/4ycACEUBjqY/gUE9Jndwyjoax0wHtWBqsCPQTs+Cb3baCsq0glkARLhjK1AqABhNtsaYEGzVmoHRSAsoYtpdN/GpDAczhikqNlyCocNk3i0UjVyJjZ9kEyyisdeU2Jp03eQXV22zcZWilrmh/btOsAWvwz4YAdUM7jwzLSWqKW4b3McA+PioOGltMElJrZ1JY4aiOMhImdlMShhqzIwj5YmOtwm2guzFUpjYkNTIblBodqYzdMZEUmyEzwlwagAVPgB7DVTYUtSw8Jij1pIWGRINaFWN/GF06B5W1QVGlSzIOgG0U0AMZXUwpAmUp4zwpn4EIPYZVWN3oJjejOw0YL530VgcMhqrsdrLesxkfWziljR0A5Ymd7fI9WIdTFND6sGB62GvRMceTtBIyEjZowSKZYvFbOMlqgsyNFhMhAi8Sx04Dc4FuwwtpjPrlWSGHZICSWK2YwQQ4HWB0gAObDMBYEDS2w4Z2BQWxS/ZTJvYN2A3RoacSsFQ6h3DVQNpkw27tyaVVtyQKnwdpWE2CJPIZZcNG9GKs3O/RkyEAIGb7hMHDwkwsd5EuRQwyDSTJMe1AHqqKPACnWx8obnSw59Y+zEsrciErBnIaViwmHGvSTPemA/w2IVizuBFeAEOmATRjNSAC3aOiMlXmGNjEmts1X0k/6uvFxzi85SflKS46S04a7ijPXS7lQ0oqjrB3OaFLGILRAy8sXXfgeTznTauckbRIWJ6EnUeiNyA4Ykn9+GG2AQMObtDM2mqE28stxYTLDVrRn0i0ZQlpjDFLYLTI5cRrISxmobQyxeBGCEUcwck4O2lFGWHNFSmlLMVNhs7GOTDo16NbQ8VFk37cDHyMRYbCPTsDuygQVCbAwwHXQZybRcU0gHjSagsQozAWABidB5GwfDJBZt4AA08bAFi5DM58IqKxnZY1027EpDKbBrtDNOljjCknToYCM3LpCPjHCwKSrBnFgjDsnbArDACemHP01RUaZABhXATYsbKmMoqWk/78lAchBJtAeIsPC83OvBABAmUoFqTA9Hpe41SxAHLBKGYg2TTgAJgEBSoaw24KGOV67L/Pk8M3kpiyhNanU2NTfJYforEM4b8AshfSA+jSPcH6R3gtgeydpjW1jIxIILboyLsn72dK2GytIgzCY9oz5K7K2MAkBy0g+MRovuHyCbhUwBq47kbGwVlylCYcbG/g47JmuIhIgHDCP43BwKx7NEHK4HtQAtYzlSDhUtrWGrmjEtZNjhzEFFY2IVAmbHXYSwaEa05qDwosL1GI1Ley+t63zFlhlh91NJpVMZ7puNTH+YA0WMjvu0zEZ1kuP41BlJigdqZw7QTdIMbN6yk3YXFMu5mflImngOwIw00bhsh/sWs/zQdkZ/41qlh5fDwgAlkAR0FhNLFFS6+a4yaYFtUzISFBwzF1oR0N3j0G3jZzXm4wMBpRCMMUGYAcACIJgPAheO6CAAp8mLyeBTHNqeyYKZlVtK9MdIzUilteVP0VgZywYKGRjzRsWIgUkq+ZF1sXJY7lwKwKAQzCSYYHcQC2GnYjVw5qoKEO9hIONhRRQyUdzJvQHABaFDABDaIMzzIogYeuH49Bs8l0/GpTYBbhg+iLA1jOVMen6hvbCxhtPTHKkx9wTJgip1DZcWHVRN9EZvkMI/8beIObxrUEAYlj1uNuZxbejJThpZ00LpBzC9DOGn+mQLxhjXFitjrf8++SZW5LFiCIozCEmSOT9VWkZ/TmWOwGGun7MuAv6I3tMXUgEWTS7kCnnCjuGq5jOypsRchWMZ4b85QJxVjaQAG3KWXEakkwUxw46vMwpk9wyZ+Yf8NBlW3GnRTQPHFwwaY08kFQ6UQeJgPl4m08aCbThykp4+KNuwNpfxRVpgzhKa2cFU0JiBslEFu6AaMTbUPLASSjn+QJjCY7UwBeBUhmQlhtqoDuMRhXcVqWzkcJyWHIwxV15jrgalgKNCF2hpbQxJVhrTgU5SsFDHkpmcU2PZp1qN2vm4IgK+mOwGBEYj//hTSgroZQqYkoE0XED8MM0Gw7x6ZdCXwAFQKbb8i0BGi8ZUXPtKIz+3a4mSIJY2nA54+F3IFi4ZuiMYuEFKwXbzopoFsShLjSPMAF4jQXZnCTE+pg08ABX+ABIN8hqaZi6tiGqSK5SD4BPDMdKQLjtaRsC7I67yUBRRuBSHp0YLNcKua2tMSumMDTl0jHluAgfuV23BiRofwwYsY+sNZfGINncYwfB5JKKC8GJ76wlS7Udkb8lCYKa2E9jmGX+IQzHreYwW0biAhoZY5tAIrwWFKGYdwv0jL7Gw/PU0oMCyzduG8GIkEuKIATQFn6o1QsbCBAq7hPvArKRvcmTO0D5BM7WxU3BbhlqaY2gID8gAmwgh9jPyxqRLCar6Lzi1KGO1MShhmBUHvIYIkwOeIbSTFb+Npw1LKDZ0DD1WaW6Ochuug0AkEZRtZIW2zEHthtyEw2SgMppcC2bXnIjgM3T2SkQ1zRHLGSdDcqTLnSQ4ZDkKxR609NAAFRjcUOAUaayU5fOpdDAEGBkYyNojrUwN8hbDrNLXOM42EDHgtMxKYfsTZDhhBQC/8HJMQ+TOdmTfPpvWYwtoBH7gBX2k7/RYpmLIGy0Bp+dFYh4TnV6mChNnY3IEVMoByiLTDYzhngNZ4CNAzO6GdyjAxpjs/3haBQAto2G8/7AVCbdLHvobpui1HGl9MTsRnlQ3OMBcpQ3xYrwTLNRv/p2WWlmiwlPAUKzZhxhpD3nPBHMNH52AojLLRjb3yJjTZJTYWO0gY4awOXfz4ppY9Ct0QB8QU7MF1ULUcY4kAAe+mWQNHZgA4BinEZBozWGSKUcDzheQwiCZg0Cm+BHrDfUlPyw2Au57ewr0wtYsFiWKXYD1tDM6BzLxUDMOuxpKm0eYjJqM2lSQAbVYgPuLC235tvtqJGmmqbPWqKOzxEY/xja8RAD4bS2IUdlmnDPtMSxYfuTS5xilTDUka0b8I7A9tjXgiYEKJYZZ0ko9JG3ajb4AJrQ3r077ZNGE+BdMciQCQR2OOmRsCsK4xHrPJPl1pl4uyJFNYUoerjdJJvDTCjnENwAZAgSVDLvcPZRl7cYq6NPUpiNAM58GlrkwgF5BTYB4irQ2dgKzIwacqdSxFAoV2mbJRjocP5knVIh+6YtuE42mBcwG6DanewBVGWgQHPYrwAF6WFwdM+eE2tMCJIK7an8IBypQI3G4IgAkoLlowQYZyAA0FOOzEAYgVLUyXWAyKxLIRstMMR7vhLAMmZnqwjaIQjDCxWD5MHBsZkLpnuOWL7XamNRI0Z5QQUAraYmtrVNgE5TETSH7sNJ06+LQ9WmDYUzG5BkcAgrYIMiW0IFBIz9vE1TkI2G6mjEKKXZRP9zCizNkMmrGQTCuDawOM1ZC8inKYjUsJ8vh1Qy80b9ZAynw+jDZvDoOQ1lobReBIyGre4eIgU4ImKsZqkMkRqDFDY7KPDywOkZg0wqNu2asexCITpPnGHmDk9NGhmjJKhmrs2NXBLiB+3a54sAOxomE2weZVMDXJA16jd72PGQESUaQsMGh2cJMSYEvgj1dlDmSN9wm0sowfWHJX3EzBtsMP6BZyxVTRpTFNTdowmNPKGisTJZPqGs0ITwLyTxWmCqzSCWJAGmgM5O/xJhGSzDGixi/YyhdwUi8Gwm9RHRgCWuQ0Dr5rCYwEgcuXc1plTAIGM48fF4TET6jUhgA4LA/IzF/tg2pX2Qk6mGkNL4lhPUMm0BalABCWFExGicZZyjoYgJ14Kphj2oE9RYDDjP2SKPjaVlliMzN4bTw8Z2gcEEu5yLCtwppi9sNrXROtMbgFnY0AGphp4BZM09VDbUQNVQ1DC5/fMWWuT3JWUxrtwybgCaaphdgxtMK2RgXUwbljTcDceGjZDXCpmnWGAUaDNNeOGXrbK2oEX+1P8AniM8Kud6jNpAHTI30njLu8lHW4AQACxtlAGBQGmmMzLYm/jK72Io4DolGNsNSghJtmPKpkcc22PSEgQgOm5jgB0JkWM0ljx8qEq7BtF4x0fEw93/8DwiMZ6Y+wA7qmKzdHbRH5fZ5KBs0QDZRmA2HaVjEUCOgAsEnGuaDBq064a6BAXRG6uwdAgNSSAgeLj+NtZ2v1xcqTHaIwcZYBPdUNAdtAlyRpulKP6ApWi1xY9n2HJiEOdJ2qAs1hmZGiHoqsXnzJ0SkGv78KSgDZXDOhkN42F9Z9k9qWG2VAW9kcI/22R6QBdSCpyLaCaWHHAlNKCnNoEHiCkzS91JbwBzZan6lPu2JSTTrxonYwppgdyB6QuDDbCNxhtI3alho7NWv2D2AV4JofxGH54jNThpGX8AW26S5FGS2EAyNFLGrP/QZJiT02wsZMsNInu0fDG/RjygGzVQnJNT1YC9012wC3M1D66YqMVCpaVMY5hmZpz+JE5qk8RGbdMD2wBksAS06KAB/5JxVsZqsaWL14AB4TTd02fSUWXIDHaNxUafUx1bix0sZlwKmpg//buJjgOcXwjNqqdrCxOHFEMxKHwEQvQLMYOKxCyYHc1sko3rrMSmEeLCcsmpyxdymfwI0etDywykph5rNEJGJp/NwyhExHS4atph4SJzUYrOmBLsE5uJCxMA7GwysbccXcoy3RBu04Stpb2YSzpsRwHJIbuYkDvYDIIoCWGBbncyYmysSKGkqTZNRg1LE0eYm2o8OGfABetVKm81linn8Nz5+4LTCwad+6z91AAWMkeGJIsVkhuyf3BaaaSxrlOVKXKrxoYwP/+7QUA+vu2bjNdkiPoxtcap1MNfQtokdKmLJ0zjADK91Vie0QgauOA5LGjyyF9iT0msEeLOPlIwFqdQW8wojQinqRshvpZnuliDfQnuGLl05DhnGLBMgCNFN6qGkpLYLRM4cTp8bMUExhI6tjFOUl88I13EBnCpf8bTo+dQWS8SwmZiMwGZOvjvTddllnEDIaJCMxBGL/XKpeEg4z0ybIGTXaG+PDbr0PqSkhJKa6DTDetzjTJfrfKM/qYA0pEDOnisNO4tDLE8aBI7tQBGRVDAqRppqhUgChbMWYmQRjMS2GLvl+onJkMKwpjlMUesNklBaph/MMXsWY1DBdxprJSU8DmWNnSggdoWHhgaw02XAA0pSnG/5sZKWK/lJKXihHxSjmoYkM4SPyUAE0Toc939GfpDPZ7hd7y7XF3CB4WGp6saIQNrEBRoQg9BbZyR7TIPRhngEIMxuONlA2qkrCeoPAIwTmG+NQeJJwGYL/jhqI11cbQuNUYJEZDPDIPgIwclhhywUABJfjO5ZhSlANyYOWIo+mJ1DR7hjFxMDPBLPtUCmjljfvip7TFh4Z4959oSvXxN9hnZomtsCnIA85+RRjK+WM98BTyYZBNOvGWVhL8gT4qEyrAlhNHLGNbwA6FrxcV5Vg+KgtQ2bXgmA/pw4OiIlLGJhXhQdAGOmsOW0PD7VONWp+kAUAvht9sBMY7d+DX4x/5sSSRpeSFdXE12M324Z6wFahkwwAPen7kM8shq6Tfhhv4FEKUYIWD1eSoNqBmHp40E9EIfMZiOprEAQGwGOIFOSgd5NLvYqbtF77jpezS3SCZM2QmsKsVyJj9c00GAGphmWkmgLJoEr9TG84xJvEPzBPqYXoRk250fA6uFATxYqSjEqWHwAQZVhcHirYpvDMPAblQowO17tDs7oppu4ktEKEUzhSFFGMaOgMqsStcYnTFqaDjkBgxYSNQrVfl/E2QFb6sMm3MaFjBbRpWo2VoYtQ9f9gdZTLLoByiDppj448LyGHQAUlVvD5y9xR0IsXfqqzxSVANGtzWSgfDDzImdNMIjwF3E3hcZXT8RImiXDBXzHco0fDTSf8DKYsgiWWmDGowi4YUBtaYmAD7D9Zl4IjKS4UG104sP5E3IWO/LHCViw1BZ2Apj4ZWhmbbzRSlS6NnbGUdDYLoIPrBW2DfJsg2BJxQLXiLEkD68D6HhFqYGgrdURi2YzukgK/NS0mFnANA4Mb7nzTasvTHuGJxZIIJnakw+TyFBcEgZ0kIjWxt8sIjcYRt8PCYvKULKRollO4gJed9khENDrRoAMdQxK46RSNaW0SOmBTRs5uXAMG5Ztd2mwtDZzRjO0Hj7zyUMUvcMC4n6dslQwThmI8MMbe0/7CmQSHTDhqkxCNjrAuUTAOxgOmLbYYlAcSGgeVrVzRicUClQE0SwqEho1DZOSHux3IzCQGNqXAErDFaFmb5wonat7ggqggM4EmWHPYOc4ZfHQFAA0EjTegZXPGBEYZt8UIhzAEsZWM2H1xIbw4F8rRg8jItTCrEO/QAdCtEaOeOUvlNn/LF/sbl+BIT0wDgdDptDMwlukpe4CtQdzkEvxge827AbEMDdipsZDEyRk6HwsCZfHRdVG6NDCMhtPaHnranNpMFyZkJa+mDo8R36ZEesPWGX4cVdJjhw1MbYU08H6YaW6FlWM4v3cAAlm8rBgptgcGLnromTsB1fsoAWnYsf1gDo8QvFjwtADBggaUw8zuqwG8ChmQlyDipZQZmfr0dPEeIHywZqG41DB0IPuLH2CZtFN3dUJXjaemKClDenAvHh2bwdMnJVgILVNqE77MQTb2TKUMGID4qCj7r3BMXPpetnBnDK7Qzasb0SwwYuvfDVnmFFY0bYbF0NY4e0bDLR5s0s2t7brq8yyG3Y0uFKWo6EtYbZUBDqYQgaPzJltwK+OjA05KlSbUscwQODpiblZMNTpAAC2wIdMInwMzoD8lA2gA4zjSAKI2cwNohAZMNVWHzzZB8Co2O9FyFEDm8w7QTVN5hNLFD8CeGgfo4r6HNcWFYEH/SDLiwwNGbdMH7jiUzjaiDkacj++XdnDC2C0AAs8bOUxnxQGNcUdUOkCWZu5lDNNgmapDfsxq7QP1hQKTMe/h3sUjJwXOQwOZZAakzpwOapeEmCQuyM6kRuM5IZSrDBUkE6sJqnIHrN2Zoc5DSBKdxbDi9IRJAGjWxnoBuWNuvWBpwpUxI6YrvYhahqGLHfnDGWMcRp1ejULZrbmFbtaC7Nxa4e3sWqWMEZ0JqmHUN+OA0MsLacDpkNLFjkOAUnxagxE1/qgU0toa5XSdeGV4sYATsfIN51Y79NzBAnaQPFQjHQwRv4CeNyMwJfqUXFn5xEktREg0s6GoisOHhqVd1WfBRWsm/g/zjDqoLbTGVsZFUNJUAUeTfeFi3wz9IaZwyfS+UUzEMWGG2J/EZTpDFZw3CtEShD0qyPj7xys3pwOWjO9RCIZJribxbMEqR4SvVOgKA+MY8mr+t7L6904+fhLG0FjIZoSwUM+EpHKq4PWYmd1SEGZtRAEeTDTvpV8xnOLXztW+IdZfXERobLBYhizaM6xYF7MXehkwUxtYn2X0YphoMrM6Ylvwz0nLPmxtyQo9YASQGt7z5SgzBc73EqXkkyxsezQeOANmIwLchzEYwxq42SJBrMUF63pzynO7cYBJneVg4kBVygWLfDuQFVLGFolTqxzaAEVU7mPtJTFw0Z3iwg9u9tzArphirDMKZPMMUxwIXjeEmLqw1A0ZmsDZGGRFDA/ZsnJHO9h+jACGYJQHf6ING70sZE8sBJLYSOmQq2Da43ndAaqw5+BisTQSWJF4124a6kA2GAkAUF9SUHQGV7omyNeWWAdMYJhqnQJx4lqJTzZREPYOlhl3aiR4ZX4jWhR5kjbhmE3cK3fHKpcCOpDyeVRkujLHFM7skMJB2UTEa1mDAYx1tFlBRVLgu5JCbMHak0tVBDgyd124oPTH7hPTF9kaZnC1uRb7TIIgG9vX/0YuMsqyAsTPTsWMXQwZ8EUMw9LY4+KSWBvb5GE7Iy0NoYOqlwHsRjTu3AO4tWJ8pmqzUyrKUX42Ydxb8NjqGRUsKjJoPIw2eFduBAKiXasOT8NYXB745pJ94RGlRVXThojphXmk9P0OWhAeeG0Cc5swcsTzZNSceFZLSwPjZTHKDRVuDt3GFMopExt+h204ZX3dBmmx7TVjIMpl3g/BV3Ny/AqrDGCaovWMh2ai8dOZYNU5RzPp/4y3IabGhXaesWcR4jopbAP0YWpMwQAPojMMUMEMxuaY7VBueuD1wGKGeEc3wCBVKxSaGBsLVXrun4IAJCQYzz9GuFjbfAdlAFfqkU8M4UoARElnRJAuC2liLn81SGbvQ4Tjt8o0GZBh/g9xYv9jULXgBlNnYbDKw5ks1ErF6cCDmh4UbQ/NRFwejDUYAKBQwpWDdqMrBgMdNLggGNiyiz62Hg+eEaUsTmoHpgOiphlbkBSgBWoWK2Cfr3IkB9mNgxYUgAC8hlNn0KoaqCdZGSZezehqVNwRIABb5sDlgKdXGZIGuF02ohOUxObiBBzJ6huIAEKoYdsNqNGFCsK+WN8GRYk7hFAxBGXOQIkVnowxOvBY6A8SgxAsVOWPCOKvpjw+NaP285QrXiMdoG5uDz/d2Me4QgqK1vnTHxBbm6NWOGCPbLSxobLB0kYQkZnUK2nDc6mCFABUlja0wu9wwDgPrwNyIxVGDf7BExGKI035KFLQzQYGLUxXaGggTKraacmlQ4YikMC2G2ApVBMb/zyImbO4yRfWWugC2oZLQNmfBoKwqXJ6BjNJoEtQ0NIZ8RZj5OvFTRn5mwKzxEZe0MmNw9RPdXxklQ1OaZOCQJL2mnTU5KAowCcoZkvEhA0R0RCLhkSE2d1ST987jGV8sEkbiZeFBUbDWBxjGqz4RowG1EEH4acZS3dpJVLSSfvXQNJKZTsM75pzyfNM5ii5zb5iWJNT+GX/gQidkJmxBfxdNp9Neq+LFG7sIRJz2aQCNcJGq3LIR7vVswViGME9nKYPagZgwsk41XUYa2MioAcdgYVwMAKw6Z6OogRgOonEd3wen2y/2AwahszxBcYvV8YM02eUbwkTkaG6WHIsWHzkP1JTSTMXUQq/DflhiGLDEUA3Sghu6EC0Ar3pNH0IlgGuDvpprdMNKgIV6xjpizuBineWF46MNl9qOfuZWqxGHiIyJNjhrOLHLtYkHDXkZqVMKtZq8F1dL4kSteK2zuqWCnip6y1IaTCJgxJOp/FviRmmHx9QTkBkTIyDMZCMfO4269ASTNPWWrwbBIoHlJO6xnX39vKGBDMHoxl6kJTEa0KMmQgAG6Mt9poMDNVpsMApamJIsKI0EWI36gCTAlnMutCA+S1tJbDjoZGyBT+GLh4CgRikOATB78YSW5m9xiGNID20BlsSbyMBxOdWWfnRJ7TCfIByUwb6xtEjCYQPgpLx7wBP9eaGFOvFFWldOD70Dr2j+5pY04L2yuI41h0Epe4sAAZsjUW8QQzFLhlKeAF8Jzog20WF1bCF4YXqNwTWGkUq/5rhY28Xa2cMJdgWNHAwANDLBnHC4m4WYm6eAGLhljahWxD8jDN9WQHbUr4S1gM2klDsM+gEeVDZGhhBLCvs5JaNdxOcu/NCtGAkCV+6uV8TURLsPDQIM8AXEu5V3Nh5Yp+pHwcJfw0uuL0iNoaO71MdMYDkriTKFPkBGJApqwxCRu5qhrFjfdptgAqHzapEDpTA8IBR8MXzhYU02bRMrvHfdhN/AGZJ29MTlRoMyFOZGsyNRPujf+MS2KMQOHcBJdQaUSrPne6kMiayiyhbyMy8+alDOaGU5LGhZb0bsFkgN8HYzkSAyL/UZnRMCyaIkHbFyCE5w0h4EOjbCg6mM0IAJyw3DZB3qwFZhP0GfI8Jioz/HL+5gPqAd+jStUlOrCNsYRABXxg49DAupoebyQ9HifYaCZG3Q6vrgpYisCiFAIDLxz+eRZSZMERM47AuAIdM4Ng4+PKqHF+ph+EAX/mD3tSS1G9mAZVgg9DzYUGUjMBmLsxDblLybsWM+BrDbwQSuOBdC4vBtHVmWWzbymFtOF/Ja/ON15YWugUFKJXQ0r6bwKNzBAsPDTrhmjC2nXFOSj6ZAly3SpcAclI8YbBmSdNGw6sR1EIQ9xBkR5xg1aGBwjSqceDPF7AhFWxsyczfUnhEa04iLE6n8MnuJfsjRjpv+Sh3Q7MkNP6GdlQGMWHHQ2y0BO2NslGRHAAogZ/QyWg5thDqtME24eURB18LRabo6NObp7QsWsGRScyp1jjTcEFxVsg/SWFbVLtsZTnFdouu3DDGRlVLGzqaf6YxyBEKAVnhvmNQyCZFGNhOyj3DCVIE1TCOaYCzNlJGlaTTEpq7agkM7y4S0veMaQRS5kswwjjx4uiMg0BsgZBmLDpllfarTgnlBdEsGofhDIzx7zHsNBZp6ZQFaTmxFzaKbIMwiWGMTkP0xhqK00pgL2MDRG45wXEhuVqI0sbX0w6BAVrDVVhj2t1JSbMAAYqG1gzTVgBIrHsCl7/c6xYBRXLzRoOn01sYCqwNuG/2M98meVQxjKHJ58x1xvFbdngpCb30ADXfYy2Gh8se3yNF4CkMxiywbgWPKATGAGXOjOPgH6CEYgiYGJf/nzYzliYeEAueGu9bZEUgrwCV67mZTtBQ5GMyZJhKgI5PEXCB+NunXjGsVlNTEqN7DvogGRgI7YWaUDmyNohR98K84cn4YuhuaQz71BLYjO5AZrDAvhn+I0t4AsxABq4x6rOxxowOOVoaISMo2GO/k574CaQwgoDszNL7Gn1MZ8/hZgSBfaoJ81Bi87oOrLPW4zwZjSAA/mAsWcPJhu0IL0tiayVECkKSzDjhggwyCEau+cgLYclMY0TmZ4wZmFbTgxKesOw7iRpFTwmYDRsMHBJdtjZIxmXTHwlig2pjpYB1gIxWD1Iy3Yal2ApE+S7Iee5sy0K6pg/58xDpQvIohvo8qKkSkEEA2pYa0sKJWGqjxqWBkEBEaJAFjfQmSMAAV8zszNTNpSbxQ98FJwzPOaxn0CbwjlDKDhta6OhcZiUxx6+4dTKpgb9KMzN6bEw+pYXe4cU0uE2ODKBrUxTTG8u3do5uM409r76AA3aAF5DA2iG5Iwq5rzktuSBlsMa1yEZCLfPF+cRfusRVDK+WGukxJGaVLx78pmKjfqjiOQxIqZ3tsGNGd0kE0hqUhAewBTHAZygif3L1EBH/nAV4Clx/OGRddDp4W5UH98Yg5oK6YXP/UumXHwH9HbjnFiZOsDPeMXiUw1O9hwvM25GEeHd24TyS0RaYR3jQ9E79Ug+VrtAAdlJ+aAsHOluvZkhuk+PP8yxZwqbEzMYu+3A8OLew7ewDEsR784UDhqUVTCSZTIlQ/ATcAV89t9Q1yRAI8NFjGxvHKdWGPGMcn4Zr8cUaQMEjR8MmoztoZh5tnCRbDLP3UDuOPgLzL0M8MkckkquSeQcWjIBttifo4i/DHCwKvgCLIF5TMrkoonEZKRA05S+OitaMw8O6AnAKmAXTGBADVLwqdYuHAQP6MiwmzrjvAtc6SsFQb1yaHp3WX7qi4mYmhVMTpRs0N3FyGhQVq9GLrnAemLwYm5UL3Kxc5xkgQAMmVwY1h9ZMMB9YUnMsN8llNADNPSTjjHkIKVDDVVC4I0e4azogoXGOXpW5cc9TO4MbxkNnDiG4iU/UiMkGz1oNTMYTR0MQQuLgDZB5HE0RjrWGMaQE9JjTTAQJYGpg56SveHaIRgFFwVM5mIA4OGjnAGmJlLENF4b6qwR6h33aUChvrnwYPYl38Y1GJFTHcWIlwy4LZE0xKqYEsaU4AGNWyjLC/XDKbGu3EUNHtuvQCWkjpMclc66TWs1uNZC7HF3KwCcx1+jDu/u6ANN34aWN/mAdE7SpZkzLFM4AHSM4xGVLgGTRqvO0C4bqDdAImA1MQ3HtrTE64baqk3twIWM/hkvkoJX17ObkeqS6OZck1sQEFDEjSRjhOyXTaK5PqzUDLWJYsQDOGhVDRFHp4eA0CCybAphGS1DI15muYzA8l50RWWAVUbX7TGCIA3pHEtceVE3ypNMRlIaSOYZ1WMNLpC/DXCvheI1GCHvuwY+GPybXZjijIBNxmy8A7OpJaIUhfErWKYKbeWBeDEmVYCFAKTQwOtgtWIo3eo/DIjRPR/jzpikL4h+Gr1bNvcpsr2+AA7PhgV+WZw3iti34wnIDqBQkWgqC4U5pjQjJktgsUMcLuY+ki+CWExxjFHMKNbCBPFsc/RgYMB03RXOMaLGrWjPqziJw0RqlhCpxRcKVUjFUQtQzOUYj5whcusTEE+xrVZFsKBUDNKZYtkjfT9qpbAVSgfMhihG3V7HBUTjIA6shysMz1gZXDJzZvTzF66lU9MIzGMcLOHhpvQ0X2ZVgiKq0CxPN6QgUtwjIbFQysAgBSLCxcmhQ2U2Got8hfILVMP5KHwAVFUEX2MYEAyXDANRkgiRxIB0MNTvwnAFcfFEV43T8bzRDdaYmwTSm/nGLCgBZ8qEqgYuhmZqRqAo2m6ZLT5wtmibZDa2NnU3eRKm0kHGmNLDA+WGOqQkPDaVAY00ydDHj1kF0zTuKGKMPxgcYsVCbDkrhYO4KPNuQmMvDLtwDYIMXjJRkNFYmTiI+p0XT40xYB/fMaxY1ISckKJ2I2R9Y/kNy+BWyjHNbK+8KJIZgFiMZh2VAPGCRH/ispY9tAESYp1FbMYamIyeYbcA8jKxb3A+nIa35yRSgNkw6GGQvkadJhwT11Yai0yfoMqrDKh4tk83jICOIzEpJzrYkoNm2LE6ACdKMzIRiYjdQKOmgJUvpAuNEJsEuweIxpeSAYYbFAx3ORPJzCR4gUABvoaHcMZaYHIHZmnosU1Y4YZNCq7AroZSSmCjWD8IA63h4yACjDC7xtTYkalhu0A3ZOXgiBQQYIw1zpJCxiHRBDxwVqRmYEAXIFaWNuZ25dHAcbh87iG7qejAr4mgsQH5PrDUEO0YS8MXUQHQPTL7mRwBBzSVbgGpYTWgBBhk/L10phIwsZXJanAPcPnXuHLtawYkLpxYpzeRmdhF0BpS0MBvigtiUHPLg9cF1cY8udq4AaIANWEfYjwsAAmWMYqGydwhihpgEC+FByRCTkA21M86cA3K1GoZKcSiaYfo/eFoLimkxcFEtM5lYY5VA2XiEhgTVEHWi9XGl9jF2PgaI0S4Yb6Iy5O4xjCzgArR2w4bhijk/pttMIfhiMo2Uoi/odSHWL9jMLvMbGIfFY/kMRDmufILSRj6ByNXYMMweL4bsLOydjzj0DzDMkN4BGAUUv9Rr7K2sli3OMvnc35QDymHmKNBnBNtNqnGxYjcPhkskB4kas8Nr0SbbDZ01qWUGzriM8oLyG9efaLZt3Cy9IFSIcOnRVgjGxfm8cypan8Mtnu2MzzJKhoUzzZhkhvsQDGMYsVnmOqkWatRc/DZ0KKVMTQYFB6Q9VSNiwHNG7QjDDYNpQxJ6a5tdJ7UHKUEGcEm8Xc4Y8cAMTQSIQjogL0Iynpi8r0GmMBprOCSSWiASIAqBNN/GfREuKRjiQA1VRoNgzfsaCQLSYbczKUQ4rniPLeW5vE98edMxHO5p3FOxG3yjHuUV3Ey90YYz9OuGWo4ulhqVYmUUa1WQlxAbAACYQIBpNWYZlTNXkaZqsfhjiUd03kbFH8QmII4AkcZofxCYkbVxCNQAANDSo3kwkx4XDgFByshPYjdVgNl5Kv2mkIirvYtxQPzTM5c0mFhL8kONpNL4nlLHOAGbiYGmTR+G384aLwOoBwwvEtWM4JYJ7rY48GD4BGnAdmBwTEKkAA/zi+UD+W6tMiEpx86QZaITxwDjEYdABKhBF6gjDhtklAaZZ0khFGOg6TGqcrNEAi4Z0ms4wAqvYj8QDZmArgDZaBecYSVMVXRnOwxAua8MiC6mts5MqhkOT0oOmcKSD3+hCsA1tgowzl7FaWNKHwvOMOTybdCzFJ7S0ws6YZc6b0hs14zKpICqNGmG9VDVZ8GCaLXIbKIRFchG+iIWCP61zhz7JUMUaJ4RbHnzr1Iy4NErbBO5BvRrF4kZ3IEt1FlKMHDxmTOEoGHheG2ABd+N7KGWWcV4xurTCGXJt6tSqYG3Qv5LrtFxJVgUg9MYOtTTLi2JfAFZyDm0AxGAxAsH89o0AF+sY+6M0QBu1DSe1DpL1OzBxAjLrilRVciLBeGX3CYz3dZtGycjNNht/sGGEHpBsowAkSA6Q+ORcJ14ayxTeaGx1MIo0osU2lEYiH9YyGQx7E68Nx63UF4Hxgum041kR+mFloznJb1FiIROxPTfmWEpYweWZcOo8SgfzDKWkRzQHy+xL0cYamh/DY5aVZHRKSafcBL6YUEjH0ICrR3Zm5vThMgghZMKIgHBwzU4AMsiv4m3XjQKWHlTFHVA7UN/wRS0Ij2wO/OHi+GBcMhqYB3scAoKWwIZVjEiN5JGtFQUnrvxE30Q5AVdjPQ2qpRPqVkh35Fx9iwUepsR4VmRlt80u9g2CNg5WjlDVpWOdOAcPDRaM4Uo/OZWHJi/TGzdHhIczfsqysHdFrqoyAD6N5MyCw1tDT0YMd0IH8BYsR3bux1TA57l6wK9CanUNvgAGLDUdcZjY30Bbii5B2MQVsKWxsUWGbFinJQVv4FYjSacUDsgZglKmMCBmeVte3hqICzetideMjVJ9//egbpHTBH0YSw1lXc9V7dXYLhNJohEJ0iinA7OHENgIpI2SoZ6iM3JYb/aYtJhArD9Kk/mx10mlMsGnZq6SMccDMEg9PcXe4FCoKAU3/wmvaZF9A9I/OMriAAOsVhYyNlNmnPXClKJMABrFgH1BDiJC6nCfscZQwMpjqmNvigNG7RMDHTTysamZ0Af1xR/QJlhsVolCfbGSwwLc/5QQOmOQ1m2gADUxMlp7tkwDZt4mJo0TDqx+6piBSCJWPHO3X6GMABXCOljzdcRjGZyt4bpW8hJS0NgDc4BIxzZTFdhtgZGwbAWCoKrwynkANywbOuJZ0xZWH6GVH4auUxUVh6pDVv1gK0yl0bjn85rGwEkd5KJt2NUZIVuMBte6Y3OzRI+FNdeK6MMpyUTLoVOmBSmLhMS+ssovw4tcdGWB/v0RoDZ1x7qQhi3dyKCdECqXjtMAKjcqlDSVvpsrRrvALyM3Kgj8sPpxiro3YYBs1dAaUPlDVdiXtyNAKBJ6Z6cRb2jGa9o3e2ePjwWwwu8mtwb5hnfbj3FhQ8TVmGNyIH2icibxipgqPD+lWtVfKZLIRdJvcYxVBcyK+eYkGRNRXwQeIl2BmxYGrXPDhkiyxKlhu+SCgApdDajrhbQBrGG5IgFrYb8sNjgH8UDfImhZtbigd7TMWQLimgzB5JAdImI3MTNWmL74BppgcFALUgNmYLShtnGk1mpxgB1m0K1DVCbJRTzaLEuslq5i2x6eVht141bTD12opbE/ojVmUXwAFhMYP8D48egksNtQWH+E/oZjnMLi+9lGRMJleIGRFJNU9mW+P2PK9QTsIxsB4b6JuIC7dMSc9lA337Glb6hPFYTkjTJOp3ID8lgFr9Jgi2wMf3iaDakt4DVYcUhR3bXDSASewx+AALUNUZJ+vM+D8NmrC2liZI8aBAEceFFIakIxXvbz8ipf8LsI4mcKl4FHOBBWxQ/A4jxNaDs1yMVpiDMgXhQAOxFUYHskHIzDfNiD5WW7DRamBTLD+CYtiwvAgva4BgKZnTDvq5B0AXhQpXLXgxK6iz29hxtMSKmgSzfGmJDTGUUZNswp8mhtMSkSdZI0VpiCTdcSGuPDWFKK4c3oxmWUxt6YScXQO1pSlDsChA+c+CBEEsVKyZfv2v2b0GJ2mALrJY1cDl6QAcDbUMo8wkAjAz/ktOCoyZ1JDKKQ04sYwYBJQFAtj86JbZprPDAHoGerEKxbBaJACmM4AzclpPagsr7mDkr6YaBwVpxDtUBU+CAljHLGL64kLIDFTCKMZyAAaqYcVDIcWOBo088CHVNNIAa00VSQPzLBvymXuNMmcSDjObprAZyVIzKPCNbuEZDKQzLqBDHUa4pMUQApiTbY9L/P1tEidMAOPGDUAfXht5iAqXj/OMUhw5pA/gMItbE3l6dSxqhOWOgdowSjfxCGlG4cQZE1+IJhgFEAFZeLBJTEbUrisf5xqzdFvxELkMxZAZKNDeyenM3j7wuOliiRDR/F8ZuK7kXmH9xNZaYSDMI+EV0px/3GNL5mkWHVDRa2FBU3tRE0MMWhR8cwNCxlCADCkDyUwakBTDAEIeDpI3fTzNSNfFY+abKphjTxD8h7pJA7EWvAANWhuQwKkMy0VAPQm8ag/1JiMTgNkmWKj0IAIlov+HvkIwXYabGhJqCYoY9ngq9pnFka3QshqsUQpJeko1AHYxzUvToSemZDJumH63kbIa24CJYa/EsPLZj7BMFiAMSwWGWjdHbyUZCvDMlhmSxmbGidgCo4NloG+r4zUczfsAGOYL7l+907kbvCMCRBTkwa1mBuZLO0G0KMpaG0ssAD4HZACYs7sRYkRq7FjIjwK3uCSZHMEgeSu3HAUFRgZsxYhjHs16X0yzQsyEgv/iCMZEMwfN2X5sWiNmk0DAmAPAAJUgHo/aifkVLGiqClPADOGAy6PhRnJ8JWoYXSxNKYiEjQXZqmww9VRGXgljEmQAPNNiFNPLXIvChLKG4IgGZ5kyEFciZGMSllJwEsKSppJajI4BPpIbhxAOxS1UKPoj/pgPnEQVhOijSBoRNmFgqBeBAt5e4JbcU0hoQHrYaLjdbfGHBZE21IvuBWxA1bNqWGybrWjFsc01CVgXnx8AA0YkIkhtmTgfLYw2c9yRsdje1xuEaxNswpjBCyeelsQUDkndHOmYNBNEwMdojJiRtxwGrcaYbjOPASpGRfQGj3nZLEHaMwQAMtDHmbiNtJaCga7sWGWT7wjbYUQczTOmn8DamGpHLMq4MQMxS6aKSNNbGaGk4MWD3lzFKZMWcp2GEgA9ICQEEGC6Bvix5NGuJuJBJvasKsr5Eg11GBonjJUhmJbGrxGBcM6BGybjFYxsm2PXYn1zgyCw9mjb4nmFjPWtihMQrZeHBHaoJlDt2ktjGeguLYHCuQ98Fd7BOMyntgj7GqcLXRhv+/1UpjUcBNpwFtMIgAAPAgrlaqhxmqWc07MqZohNm0bJAZNcTWwOjNOsFH0xhpgGsN77A5SjICWNLLCgZh5d9OXiEsNHgIDXNAZwzvlCs6G5t3PjkaDOGapjuRRwAgntjeOERLGij7q4kN3CmEgjI5hkilB9YA8SNFJGBC8VG/P5zzg1bkHtPUW2ePKuuBFkLaACfKNLvuAajdpznZoleB4kqwqgY0jjcCxhCgD9byrpMT1YeVTHOmOUr39IaeUNkaGo9gy9MQP4C78YzUhAkur1AUOGVmAxYS7hWsD4w4zAPK2luYMaoYm0AOBA8d7ZZhlQ8RXj6fewFJmlTbZC7sPozKoYnBsE920FDI/cMqUx4kZKKxzJOWYDIV7j111GeBlXBDd2e9MOXhhUbgjvDHSxAaY8RjdsaYx2IVJAhaJR1QBbDFR3N7TDQrQ08AATmydgo0WK0rFkh76aM/W8qvTG6QXVTHmPTiDBFaYO4sNxxpu6R0kbuZNeNwPAQHRRq5IEZrhLsgtSGvyUdXXpyoypcAUhMytyiXDP6cPMehVGED1jU2GTyIAVpn5Y1FJ660wXaGzUsaWmKko2cji2JRJUArWje5MqGJEP4hMOMCdYnYjU8hu24IlYYcyDIYpaFjPSwqvLNNxBpwcjAACcsMggFbwIkoD13E7reGSwI5yMKw0AGHkUM48eEuQOlhmgIyJYbegRnS2ddjVDQE803FM75psiqGTg4w7oWfsOTkYMqxS1xL+zU2kvPwj5O5gmIWeGdVMVpWJsuD8fHQqMFSpV2mUaJpCentDZvixB5GO/TdW6JSE2ZVY6CMdRADuCdwmETTEwMZskcjH+ALjQUoD5mH+xZQIB/wZLHDTShkSz22ka8ABnxY8lMBzYQI+DmsYL79YppQGIDO6RfBO4gLBlBzvYBN4ME9koJ3OMBg0wbvRxZfTTRudLENpicAVAv0PYsauYoLv1eoBuBAlzGHjXQO4c6UG0oGJ/DZFWutMM9WJzEB9EZIMwuuGCCjBSZA+AQzliW68VKYJVMXz0YUvEfd4/N9wbSm7wS8YYUdjBMR+5NSqYeg7RZWB0NKXWDKu4C2GKRAquwbwAGDpnvUwhxW/k/dIAM2Y1e17npMv9GN5vVjIDBSWdrAfM9MTwQGTZqWK9HxwDa+Ed/2G9zaS+mDK1BGRKrGMQ9UO3XS5bi/FLv0bExomyhNuzZZ/hpFM7FhPmjvdGHrDJ6IJvIwSYYrfxg/GBOjUiRp6IQ2MYiCA7BuxQLZgkJsgMhhnh8NN5+Nc0bsBmuLAOYYcpQJX8kJAAqDhSwy3vRt8xDqYc3jG/uGiAE25apkFxWJfQCenmMJ2R0ph/VjCDUvMPAg8jodIFdFYHizWGM17Ma1koExRcALkNrixXczNchi6KIZCYGqwczgDrDAS1qFE3hp5tIBGieyckWWZuDeJumzdgMZ7OpzTSIALtm2U/hmMt0sWltDEhxp/AAHJZs6Bk7G8seM8Rt5TG7VFzKwGKOYyfQoBI1KLdya9dNQimpATcCkGx1P1+HuBBz/MFPwpBxjCAEVL7XiMrxw/TDcjgOfozOTT+pMcyG+NMFY7gXw2dUYLrtFLGLMTdO7new3TuJQgAlXOO4sP0YLQ3WVsZ3ORVwAyIpYMhujLCE7IYcNcjWG3DO2WV1pkABYP4svgAiLDE4sCpAAsVg6iBTgWRyjC8hlgIyZ9bkYQP5QzcjR3Gc5hPtVD8bhMP+qBTYOEVqQ1M4CViwbNchO7AAkNCAFr37HxAi1M1sTDMtrQEH9zCxnd/4AJ5xN0oKmpg0sacPEUHR2LkHL0jkw2GkAYTwLpYg40jmvEN4xbMbchNO3o8gpFX9jEOLb5hxtNu/x7YUsWWKxLBi0xejDyzJwt00Dhmj3ifskXtDdfGF9jZqRgvFOYu63QYDbEXQXZSiN7w1TYY+sBpGAYsgYMoLxUL84i+ydXbUeHDB5LqKn2akYuSlVJ+ey3OBNo1IxxTQzJANXp6lTQOgM1I14AANb9nNmkDJFtxubow8sYaP9/qog6nM85tu2Ii7GIHNLwO0zHZJIZU7zOc6IBSUxwOkjFAFugj0Zh5kSs5+OWwo3ehpCSU0h67MQveGB7vcjgC5ZNeoBo7Mm/guSuLShrNOB317afZu12tQQSilmtiMbjZOQc4fcRdLIvYfCE3eabqFivCustDcRRsvuwC4b0AAwIZSPJOMWH9bFKbCQLgRNmwEsEWFgxwymgDHyd9CJ86QtFIZhXATek+sMeahYTDVnhlGWD9emC8MFtg7hTLwRGluhNJabKc5ziXe4Y/hGRuKbCBPUMpD4wY3NacHp/1YgAXGMqMmB8nLdQCxACY+6kFcXqALr/I/oDHNzASCQgAqMmuAgs2gCW9O8ZmpUwQsmsKAhUkC5cKs27ric7cm9czTS7riIykcCNWwKl4SGwldDrRoOMMYLCCbyOt5jHJwDe43NI6PIQlzOK9YMYSBfABWMa8GjcGG6b4XZiKNU2ACg2ywPz2tiUEglmuQyP3AQdMfAAvDMRCRvO6D/EZWythrAEQwzGjhXAELnjzngKFmDjTc2FqzkEG+gVt9t2mx1Tf3cbl5zHFgJ8NKShv86QGhskIhOoan8tTZGth4EyALnV31hQUcBDcmMs4M1JsAJy2MTHyMnogqMovZWPbwwicBM8NzVeGuHGVgK5yWH5EIRReviIknZWmaXYA0sZM/MypYke4QCTHlU2/kliN9NRZzhAPFPpFwzoYbH+dPRCnMQMHwP8hK0MbvaMFrYrqraUZoOcFsPD3Jk7b+2TXdm8A8ABsCBy8MH9mNPEIfhvypx3g62JRCPmpGnFP4DNSCB4Gn6kRaY1CTL82Hi63FriCzCwhUq8/bx6Pow2/Ni84xQJuKjuBW5s8+FBWbUDkJhAWuQHIcAIrHm3EHrMfrO5ggZu6XZYy8ejpSB08CrSsSiJjeVOCbbH2M+rpGyjeyjFPWAuzaFxhr5RAOxR0njbnyhADBQBNWABh/YyMewGAYobcUMQJAmgwDUZqqw2wg7GWN8HG/Wjd5JsA4xzVJiWMpJY113epxooFCbCBgaw/gmX5sEyADl6QJ0Dfqz5OGYp/G9phTcWrJ7ccBoOui4gPCZqGJB6ibExpOUoj3DMWWI1Qz++YS8NcaZacjF0eFAgBMpgoONoQAwKIDOgWhlwVYCzPgH6YM1IYOwQkxCfSTQEBglGBOgc5biFrNvKZb5S8Fhb94I2fvzqMzP52SjTvw3wAASQIUAHSBK0xMzmB7BgbzEEIkz2v5Hiw3GIyUsfVhllDxxhRcEAQ6m9n2A1WIlZw5RAV0w4BmukAraFnLrhGpi1iy6zOgsQA9piC/kwVnjkBTQeVm7XLDoUdkRYY5pgkmGsHDKYRlb0KvFjN8Dmcx9FjLmOLhNOPNb6pQytBz4oX+dAM63mHBnTFBdxMeQRZWNI4DXMYSUANQA0FDQZxgbIAQ3QxhN6NgApcfRlpi/2RbQODS70uZNMcYiWDQxGRLUSM2dAxMsaMRqy7g9EjIkCaxBL13bulnUkw4+HAZhvomfqTXOzt5TEEYY0WNMAgmksI2xtHU1EqZFCTEXR8IbZ84mYIzvc4TYTkaG+ZXcu1s0YNFSi7lBxsu+pKAZfskdPCW7mwooXcN1TN64kL5AJ0BYsRnh+5ybG7Rt5IxrvA9fNSSYGLDSagj2KR90BxZSgdkx+7OXkrT2IdlLBfZAlg8GAhWmJJI0gZLoYtwk2AKw4e5pzNKVIa+CNAJYEoMyYROfoxRT4XYdAEAuGg6V1tLLAVSgoztI8+GgQGcAF7YA8ljrPtEaA4+KPiLD7o1lljR8N8ZY9Ysc7TKhY3Da6NwBYihRUsclzqzUzMkF80tosWRioDBAFTYkLkaJix8vs+IAACMgiTC3kZ+jAhfSYijVDQI5IEH+ZGzRyGs5jM4+IUaLCnJTOUtNNUJXjZVcM9TAKP7CWT9kxl1MIhmBTcTr4BVOSX/B9xiZucqvYD+SiQzgVRuVHDQq2N2A0F2Y9tA5yG/ETItQFgEEoZi+ZMb40S1DEamF4CyK8a+EiiAAJtAW1WR18MB3QyqNTrGrwTOXhvzohw0ydMtbHKkXqZbRtKQ0EcZ3OQLcwZksE6mG3iDglmVmMrSGBOoxmnpoCymX5bCN/9GwNPZoxsxW3QgCdeNRipJHYrzRieLBLVlNkN4wmYA/GoCQKAEbO708MRrAVQMKURlaExxIBcAtQneaLkwYRuVljKUYoCTPQA5VMdzVHHo0cobJSw/VG4tki1jkweUAiYh/QJYaZMAFXRsZsMXVweIyoGY8LjGfkDqoKBYbFFdZtEkCzRdvsgeL5D7bQBx8U/3zXXhox2HFNIfXMslSvF2IE0aClHILT6KwTrwMqjS8hkjJ3ALZziBLChdmjA4QDxwCDakphc4hEAXDGChrPwlT8GQ69j0BWMQaRNpFx3zaCQSwfbmfsTKZLJOKwbgAw0x4b2Wd/ZhmDLLOhyDq7BjP2hpDQlNnHowBpSONsIAQgZDFSWOdGIXP4xaYKbiJ6TIkhhyiEz1ae3cRicgdI8piONTFuKCZ5SRYkpv7UDhjBST1XG40sOQx4lMOwKCKDLQlhNKwFtg1WYXdtsMzgeuCMosbn+K44GsWH4EkvLHwF4zBG51IjmhopoE+9h8MlU2G1SIJVnnEOPjLZ9MNByGi1scQAK341jU4LYAl6G6HTAheFCrDrXJNS88RGGAAULZvUEzUGIwPTtPsixjJbETUqPE8YMtcexSw0gArRgt2PyDGznFFYmoFDdqWBdGMepi72o7RGB3Ml8wSMiTVI5biz7rWi1sTzXE+qC29YzSM67GTC4DgAHIEj3Bb/ij+QABuTdgRkH3wrzg0kiYJqsmaDqoPhG3GsjYrixckwOwTtIOSzLh9zsSMG5Y2ZONiAIhQ3UFa3BdNbgm9DV2WNBCwdwQahSwNYekjbgxp4DPrtTfwSGzxXa/KMhoDODUrZZwo5eSd6jbkJiAw2d0Eh6YDmxQnAISwaXQ2Lcm9q8L2YrMfFhIAW6URdbWfNcPJe4sKDtkUY1vmYRuMAXGkljJcQENhyTKQw1hI3GrVkwASYOxhhSFXiku4mF4jOCWO+u3sci90SAlAp7YRRFh5IGTeJWUtBqWJ5DI1PpasLolhAYSVt2lAA2CrtM1NFmZypBBrpTABOnlnDW3yCZiMAdEOAbjXfZD1Eze3rwtAh2GZhTCnyWrtJMvCeUMc+xcQiGZtvOX3sozw6TuE+ztYVumL6+wswITQcmxYVLgFSABtbBqphgNhEqO8gErYRi4eDccZx6N0MWgEjI+cfZ6KFumWwx4LuzVDHQRk+6i1fAyWwe4uc9DVZWOAUCjoE/iNHqAnKUClxvVkL5laRepeLBLCQVchqcAC3aDc3cqiAI1MOzRs6LxgMa3wBWZGLpgBPye0rHqMb8MA1DOSpDKsgIgUnT4af/FId+dNMQ0higzFDFgtoCZ+QDNo+GmOKLm4gKCUDXV269MTsRo9VElYbznhqNxB6zesWJPaiqAmQchnEhnKjR8hs+LHcyaGLslKYDoQMCoLYlCZuJQ2MfdAcC4VcxgfK2pnDMCs1GITuHfVhnt9KXM4DqiwxQvLDGzXGLbEybZUfSSGgB8YI2iKeuwKkYDVwmaY/EsLYRujLFxUZg+AuTYPZmBEqX8lE/nEwppnxQJ6TTISPxuBCyBPgSWZ+lzjeh8H6MytcmFyNM6YEIITfxgpjkzFbPK1mKCEDlUb6bTGzr0xZUx94BHMguHvgNFyXMFW0wNQx+3sNcxnRwACh5mgk/YmtQQaIQKv03Ya46FTNQuLW4zbTtx7zjsBOND/JuRWrRjsJZQwcPB9CIKaYV1MBHWFwQBVNkQmwFuGAbw8pRi3LCh4ZQqwM8AMtHZ2xvVQzwUnaiAkT+wSjOWwHuiya4BhNT6dGFhLB/RhjQ0OV5QuN6X01CTI8HpeXzJ3aT2pPwAMZ4lFKK2Yxblh9eBdSAl4cM58KwAH0ng7VByKG/5sM6JpYZ1ahG5LShOAqujOFAEaYPffEq9tzpwHksZcRsPcInoaffCbC+Yf4dnwYjplDkbPziL9G4Y/RRaSwpOatQVG4+JY+q7XusDRLDt4gkjMjaIgzjQ/hp54QC4Yx01IFwmFcOFUIOxyM4j5QTY5Y9c4MRQIJ0wi5Z+WNvMQuB42woA+qLjobjbBAAo+gHQLxvKtPP86WZs0Q+bCXJmts1TCCqAHc0vvwXhjE9HpPRz9bwtLNYKgASgYBwI5Q0SQE9v9sWZbcjPzQELoG0+zuH93vpg7AvqmCMwz9UbeMg/3J/cbI/cEFUAwgDDTcgCuXjDL/EPHMGjICBg8TFuyckIk9p1LHGjb6ksRrAIsLK9MLmRWeKnLyxslG+UAqqWEDaMmrim8SMzGxMnJRWMxwwm8bcWA78Wr5AVNJkVTDMhK4zjN4IRxAIgAC5UxkZG0PMqDpggUklWEiLJKC6r2BqkQq1IxWJiBm2G+FrqxftMFlABuWMNt0QQEfUx4VSZmLSZ7riD0w+6AsM/NMPDMYQJhdIBTs6TBEcsu+NMaIcMfZ1jNGsdlB3unfHYdphACEHyYcaJeiY7AjHbplXTE3eBYVwrzWX6GIcWIUAhYYa6Iy7DU3j0XUCKILNTlj5BMpDMris7JWhZmN5xhHtMc4mZC6dOktBQ2FsZM/A7Pp7mTBE9lEKXGoY4lIqOhWwje1xpQnwHJZt0NVsRan/DKySREPdTixyx5EmFJE2SQLenh8m5Pd8s6YkHfZlhsdTHAca0lNTb+mmjM09EDd1tLE/mx+dEup3U3EOOk0jC467i2uGRVDbJTjkEyVWHfbAcoAwX2cqmIMdNGeBSGkNk2p7YCMhhUABp2bp5Mt0Q6QJOYQDL0xPO4MpALExO8gwyRhmI2CYYESxNKYVkTcbRvg3WTDoLsNE/eEKAOH5riQyGthzKCPSGANKVMhq8r2FRGFyiP+GOJSE4HrbTHo/5LGJC5GdJIXHIY/TET/FKkMy5BuFjRxWA+9yGADJWNb1oTB5YJhsilDDeEmUwmgAb5I/7du4EFt0Zj6sMVuoVMM7QJP+JtGYSSwAYBRSMtShpZgXNoCAaNVdpoHDXoRuhkLl5Jpbo4WZT5DFKoYaJ2jIDVZgLUmcisbymEN4wGXTuFM1aGwZQdYYVdOGrcmxWw9nxf8ghpoXUI0O0bpG97yG6xPW4oKDakYkCIeI72GhSHJyab1I2Vdz+Tj2mAgZ4CB4obJ01d5NBNwExpCjVsxhXACWnBRiwx5e2wjSsJrOcRW/hGoQMlgPXDBozAKUE/ACYnge2R4VrOMWKaY1OzC72p9UoYOQKCPn//xtGaHexg/GwMsQj9pYAEQnYfsMsZGRUsQOmGj3kYAAtzN47A2UADzACSbJY4bA0wmTGR+zOe1h1UGGZylWMmtB7/PTgCsfwigsld084FYYwkeFducsIPY4fVtoHeWVDY1cGfxK54Y9SNYgBhFEh84mKlAaKagmNv9gIWTChsJeSE5YY+wSeL4ULPANxtku3gxZb3owNGAj4DnyazdFwTbVlM3kWgnU0vcfG82CGZ5zT8Ae8KUGr0XRw1e0wzcNMhG3tgN4xm7k1gbbysNQFGgxYyXsVYFGzoY5nAsWIPMEidZsfI0Opi8CMEhxp3sLE9G3mxZX4A4dmbGYy6BsdkOk0KJZo7MTsB/nDFJqY2wyD2ZXcN0ImCUjAfRjlq0doadpBy02uoEMmmBygCOYatSNnVGJnDI6Is3LDNA6GkMInGbEjYDnDFDKR5IntBvRcR4TPrqYpbE9uZ1ixLvYgdMPuxu+v3yCYlCMFqG7+InCqeRhFW/5pFtSkIo/HHIoM4cWqunVIh4VSwYsDmfqpcFGHCRMQsAguLgNmyf2+IHRbZJR1imcgSYMoMxGIByEUKSZxwM5QMzsWoxI+Txs6AKpyDDjNQYvVKwnIAP1Ac6YHZIJO6Mk42ZQGcyxW9wltAL/YMY1ODCl5aoyDGRUARfXsM0x/0Q1zR3Ag2bABrYYmIxO+6f3EUvBrWjWKYanLC+9hA0Mt0m4gAapEE1iPDbC3ONq3GjROCXYFfH1sKDsKjTVOVPjLi/iNTGZsacRdJCexFyP0Mh7E3GMa8XFuvQskjQSWDTszh75GoQOautMXBgKeG2D6ilBC80K00xTCRWLKgKKMZ00xryG90sICWAJI2XnKziw/1G4LTI8JlxwAqAANKzfXGdReJgmVWLB5Lb5rtdimDUsDswF14A24ZF08uPO+DvLEpiEROIyH43MKQmQz4074tFPwpkbvw8Qz+iysN2gCorP6YZ4iM99izSje5MqUVVY5Bu4tRZmU0AeF4fuQ2NKDvux37gawbPOmCUww/Ybc3BIHR7ZLMkgIUvFno7rywIfQRoscBht9gG/KDo3F8QW2aqTySTGqnYNFQL0Yt2tB03FNAKrE/Nh6iMNKMKpAk7phA8QQ4Bc8NzpmS9DGMJm+LBklid/ilqW9yZZRUnRw2MdDlZYxyZCyTFyRppTFgr6Gyjrxe+vDOk0ZIxMSp5/usdmIUQpJoAJelOaljAEcMTGYK48WuMCdIIg7GoCDHGJRQdOZl/+3oNnKfwONE3wZSYEmEexpgEhIZeV6kwM7LQNwxDnIYRqCgWG+7vHGYYUAGiEB55iU+8z5xVhgFriJAkCb9cQxYrevLCfpzTBF0Z3kiOeIZuJE2zCz4ymSx8U0j9wjEsYCWFTa0XjKlwSNZGw3DTeRjnsVx4asZA20mTbnW2cqxAChPHyClRqGCJMcfJEhPmDS6OSAkRqDDXKHhokowXIbdiy/rYxMaSueAtsBcdIkm8hAgFLg35KO0Y1KwkUUMrBgaCsaKdn2RMXKYY1xWIAKtMNO4oM0zVH5tlBXxGcqUA7mj7oDFWnqHgEjuPKAc9XlJwHCYY8SME9Bb7cZEUhOLEcACJcMndYkNUpsVnZUwCUBEhMMlgTzTZehhtw3O9i8KwM+G7Aje7tqbiBsfFm0AbtGq+AIewDll35Fw+hd5+x3UovtWFzI0/DHOY9XtM3QAytRk+4yNmgEkypks8gpZXeJnTGH0aVsNMTwwZDaRGVWs2ySiBQkbRmkkXE0hkl6XHUb4BBghmnnADDQIlsOd2Hj4oyaYJljYWhjYkzhQAV5wdqUZ1rPlTlVYy7dmr2AQUAyHDdIfvHYD9Satqyw/GkX44JRmNyFb55QGZ77AiyPELRCpfR0UbhHMdxYYGsKogHYmNh0z2cNfGukBMu2xu3w1eYYCgBvdGvXxPYUdMxCCCAuh9v8+2UAecUC6Izk8aFeQdMuTQQyyhpdAFNKA5nBLXpAdjCMZup2CIOadSxJY+OexHMrkEQDIMasycPRYuEjCxkankBjyC5Vdb7GySY5JQeRwAClgO/CRspDdPBAzjSvzcqBMuhXXi+QjHkpgkOJalghxsVRuSJLM1WtH9PY0TlM4bmmc3jRwFhG+1SxC79MfYgYILdpvvUM0VoZb5TwUZBdMGaRhXnDhcYnJMLRAwTDP3JoUQKzYbnCNLeAyajdoRolwwZCaVzxpPmv54gfhnbJns2EXewzpwZF/M49qFTDhJhlblbdioD7QMhtYw25EZzWxISSqp/IQIDyNzNYYwmNd+msNQQVwF5owd24pZZv9gHRALhTlMsys9YNQBqnZlqM3omECTHrz48Lh3aYBlmME8Q1MyZ4ZGyBm225/DKtYdp0xhmZR4BWduM57NR0EQyKZ+BOUwa1GI04Xahm9eJgFKPC9jjwBqYGzXI6I1D0Yt0wVS2TtgEOlkhPgxiGZCRh0S66DefhLkiHHUZEgBiiJQdAPX7N2ozah5+9D2MchUjWHZuwkNO+I5elqymkwJDGmHYrHNVjVZhJJS2n2HQRtuSAppjwCMGGYcvDVJRgiIymkCqgcXpgJ9DB5PMQMIetGBftBeGjNcbvjt16Etpj8UN+IC5eU58UESw3+YCJ1iRpwMrUHhmPon3Wlms+juXumdQk9WEweUm6axESRxB+e3dfZlRlJ2pSOWNs64aM3QryPWhF4EbmRMZxmPEjPwgMXTHUoboNMkeS7Jo10MrKaPMibuphN9+FHAEjgKBizfh7b8MVHxXXDWHqVroFNKCLywT6GlEXZ9XtEIG+iZGSTNlwetoK7Zu/40Kv6jMDSZZmdMAIHlxwErEbQeMaTw1bjEB0frdx9ZnMsMz4u8Czd7RpQI1WDZFyx4HGugwH3boLkJKpgKTIqyuLEsBFkb4bOoCA2UwtWBzV7YIAKZrgLIYj5x7kZ40sFL3AzaIVUFVMNopRv1xO6lBXnFCOl6KxtlGHYQJlhkilGWyHEKxCjmHKUTZcF9I3UCgPp4w/w8uPWJIN5IzrsaPilZ5OOlMK3/vsr3vFbxJ9wgA1Kk/mWFYoyLUAXexfnG4bbTwLpYD1VDi/aZGihMYWOikD1SWXLG6dM7i+3lMVwoJzoxvECwYkZr2oYkJOgWYIMX4YCaJnnw45AcnHp0zhYZatBRa3+SDjFyptFTHpoaM1xUCm9miTIUsb7n7dprixfL6XWmDtwAOIy2nApe5a5+4njBzVtKQ03o53KNsyBHngZlwNa12LplS6NtKgGj4R1oVAJ2NO5SpQ/tQ4rTWIMPaqHpmlnu8GG6MiQv81m4xC2EZSltCjmyZjVwnpcwGEYbacModMjROLuAbzZLjTgT1BSB+9lMKNhvgAGJXaWUweux3DfCJwM8ojMZY9ddBNELVDIVNPnM2dpmssB1Du5QaVcxhz+13oagmMoyGDUAcSZnFtLNoAOPM/VGFzAVBWTmmDwVjFaJBEmN93NehvzLHbs4ydj/wgETjcu3v1kDk0a2AB1kpVdzf5gFq+HOMCxLSpqYD0sjgQFyH00gAdSDqbELCTbamIQixwsCbVjB2MdYsavRjGhOyiEWpBIV4O/DBURvj6lSUYNwA1aGefrUmNoOi0D3SZkN7yGgETGGmKmzws4a33MNq2yVDF9URG4CaKDnnkq6GRsgVcAFVLC62BJdQeCZzlMXGSdEIzH8byUw/jGs6PbmWJlTG0oagFBOS2Q8zVI0er2ICnKgmMWLuZW5WaQHNY3HphxtNf7WVwHedkeZQ0D3Sj8NtfZoCI5iLJ0wE3ggCIZfG27ifIKmApYiOZzloB+iRtYsTnJum1JlahigReGYyiERPIJ9TASZHrlDEJB3wAGlFmKBGdrAF1MiFOBq4nfhq0tymgDx5tolGNGiFSAAJrx4kZt88EAglqIGCklcZ1aV4vUBDZYYkAAgZjt02Z0Dj/BCjmVATaEACxqLHVJUKNymcjnIwfhvXBOn8AJSBJKYu9qW4ArSoj4AKQhMWYgOlMDxWMRcmjIABwA2hm4gIJ8gEQ42/5EYacTbMbdgJyfi+Jg9O728MYc+S1DecWH4YKXcZz0N10mQOXGG9n5oBCYaceAQtG/JQXElum+Hrh4wBAvbKAdjF5PFylGoCBkvFqkerEsJR3BD4zAmCCONEN2Dksawnmow1noan8Nq3GzvIj82LwYgB2IJKcuSmzxU39sZB/zA0asdcCuGxCsfBtvM7Nt8YFSMFRRStMaBmMhnlXLG3+My+x4bfGmmL1oEsljuapO2GYPM8+ckCSIvuIcsCAQJmlVK5KICq2k0H8ASzT0ttbKogDTs0Npj2UZO2GHosFyWNFTEeoAhCNGuWXFjSzCejozo4bZ5C9LC1kLXe1G+LB3YaXexthGpPguQzB87gswKejAH6YzQMlKhuKu1+RZqkNpKY9+vc8UYDSgBOEmWsHkmppQPLJtF9P/YYvexanU/1UPjKZcjIdYbIsNzYhbRTfBxpQ+AjoZJlJwgmqlAsGcAti0cABkOdyXBYOvOl0DFw3wCDtGNvlG8z/QGcEhPl7YY1RinKGZyaO6SEnQ3jmAa9MXi+icTQRiNlQGZcCsQsz2GCojWehhezEhJLvRNOCQq9gTZTgzKXCpjeUNhrRhvfWChtHQGYZhwSw/yG3jIdzhr3wxpYbS0w4qGmqknstghLHAcZbo9HmI3vHByWFnTAHJYdEBKSUywADvqYpKL8EGh0iHGmhEsANlhZgXi0Fi75/ogexUujhs3mB90YXVMsqYp1FYOmLimlkEYOhAmyGCIjJx2d/p0XEDimlwLuIyJKdOhPUG1e4haJNIAlETDW5thLDBo6iyNvJRf9MUZqQXTCNilm0BqpZzFjZgLjmmCj7oSkhuwG0UjLvTJlp0mrhmyMyDuhVDCvcs14zbYbHaARSGtCw05APlQ0bYbWtjjKGY9TRt5lNfwE0a3E4UUoOVg9qASbZhW/juy8+fGRzOZJiDygHCoALbBlfxAVAIPljKrNFm69gQljEYcsAgZp9WGG+J3Zk1FYTgACzxufo2rpABlihZuSisHf4RwIE9364VNkzRX07dyKGHh0nEAyBBSXxzMbJAvsalDGG4x4jN/RFiHbTptD83nJmP+NCqYM/IVVjhUvFkNY+pg59G1BvJQ5jQw3KYjzCdifBs6FGy8NIKz4CaCBMSDGESsYaRsNIFk4kgSAPCYUtQwJYMAYxEjb4gAdumrE3aVxsnBNTYZSABK1YZyaA5YF1By3KEFrdhxukFPFVVkL22UVKHUpJWG3j0LtgRo8wiYhDsNqty4pqZBcg5VL9DJ3KxaqRmyfEchjE5G6pZxUMivGm0sOWJsk4zYkbt38INmS6wSRWWarV69mqhxDvYXHAbhaVNwU9sAtdtsdAsnHCfRnTTGUoiZ0wJ6G43TCaWJMLCwpnOEB3U4v0jGiWJtMztFgWHjHOGcsTBS7iHTF1pjl+A1BiM5QUdUH9OG+oYtyxNgmYi3a4FsO+mIVhwedromGoAKaQMwwH/JZ0SAOqGCtMIfhnLrmYiwAY5J7UQOmAKmDT1L8IAXixbqY6EAbJArQwK/0a/bgQ6mTDjQaWO8rCPCanbDShBX/DKdOgQECfwBxixt/20eLdiRji5yHoguwjjHQqsraBmB9mJbmZhMNiNyIQAVK0fCFKnUZxCJOuGo6ofj9oUAi/og6poPwJBAzSKmd3/yxKQ2NMlUmmytQDoVqoz54Rffh+zWkQAyRYclLA9CZ+pTb4Ac6bPPYGRy2PiCYVxWpGia/JPTGn1M00YtAdvZRq43WHMQAO3Au6nOAJyJdXXFpjmMwx2AB+ZjFZwSLQBoMHZY09sDIgA/xu3XETOvrKqRwsCdcMdvBvtgWh0Yh4iY3C8Hd1lp+E7d0hhDeCWnwkUMPncX0/MLvK7kx2eaCxAE3U4lMJBZoAYwHEYUUMC1hgtJfchiuOHCoCoTYylGRUsP8RrtQy6LZ30M/JY9PDd0hoR5N4xaQgBKxWSVMOWwBfkx70kFSgXPkyKUIXMUylAUsSfIQYNQgzTTONiJZlifDKbtaicwTDWphnlqkhABR5sjxYg/QoKoK9QDbxBVswi9m5GEfQphwrhoEAglCQMB5UbY1cLZ6xb2YZ0NZnw6+nNoZsg+BPIZfoYwxRTDjVmoOi6xF84JPdrbOhEka1RqhY0FmnG0duZO8bjOwJhE+KYAJ6JSWFZzmzSRllgI0eYirEBP9gUwjdSHgT90sr5Wy8yqGLwTYTtqro2pYlPIgToO50zOuWEl6T84idxgWdEBJQcVpk5LAvDKWUxYfmFSRG+NCGwDSkZyVDoqB3AQFHbkQc31RIztASmcWJSQEUS9cwWAHOndcGGZp6WrRo9E3UMwUyxi6YcWPXRWAK5PhJgF0DdeGJi7XjGcdUyBnTcWwGoAos4iXdlbTEg5D/CCP4WRvJRonKsY1mpiWYFq5urPAZigucN2fGFXcM9hmRGjGxZpv8PmS7vKxqkQFQAD+aAfo1XwD2sNBaSPwAZxWO97Cf/59SxlIuMrUELIbkQDufROSwnKGpPUyFHpoD28uQKei7lGpyAQpFggowMszPzdoUx1iYRflqAo3D1lHhMsUZd9ufj0X1LBaE47ixuOAbQTHgbk+kj6OGWFiv8QgnwS1UHphy6YZ3FTAL+tpjKqxt9gGxXGA0oGBOzlMCNFmslAXpg1syFKWfZDexaR5LDVXhkFhwdME2Yd9qcS42Y4BSuC8NU5BAnR1irQzioYVwAySAuJuVb5oMSz29h/BMSY5qlDZzcsceFGBIpUNaBZlMzemxnewwLqbKBAzpiBojIuWDEIz0ITimkjRYvRnbGZqfFX85GuUwyHOzkHLzFo5QxCEYHLAq3+jTDGsSeX4zxEbhABcGG/NMAZrqL2zn0ayrMrqYQAQO2juIMCt4ZI8lloKL04ENbuwGCu4Zd6Zghm8yvKXHm8jNHim9gRXbAruqf0pnIEhhpgzGY7hOwzszggZLNz2YlfwBBXAl+HTthvtzIsABxDtdySziTBAICg73t8j1TtamBNZo5kgAHNDNBaecBmGYVQMIJCZOOO2x6nkNmXArmvNQYtgKVYiHXexaxhDaaJWmKCkxr0bVUMNuGa4sJGZuPE2zqYEsguHUZv2EymFgAGx/6ZCkgQBtCjcpgNKEw24ZXaZ6EoZzAoZvvHTPCCYAKzDtOWnDCXhkf0FkeG8VtE2yGqsPcRg5INN8HIYj65y9aqBBNskOR2qBS2MSkmEdDZxwR0jy9TH+Sxyg0qyI0WZuQr27TjysMvhGdAgGwuGIo12Jb1KwxFAfzAU5tILJObuZ1ZZAaUbejSYRoVaMSYbl2MRxYduTWUxvMjNWDYU0NvmGwAUYslslQ0akbNOBkUedz6HDEbU1nTKBLrBeA5XxrTqWCksEOoYN5gb40334lMYBWtw+u7H8I1XWFlzbODofYzmljQSMcDGJUsKyQC6PEv4YYaA7LGuPDBlNPClEBpSl2AbKJBdTcu1ldTE8oZHewGGYkMXJwAK7QxTeEuske1A7lDKURkxuUxsZG99poooi4F36i/YxvIa2mMabOOeUoahtBQ2qoacBSZ0wRtEC5gHq6wRoZZaipDM/IuWLTEvZwYYYwUN3qYfxQH1gDM8z3YCO0s40RQQQTwYbvCL7JYJYCdemf8THLRnExE84BLMNVpwU8gbWgEndEUHEjAA5vGUYAXWmJUvEQWb6ABrKOoGQxeWLcUDnOK/SNOpYoUFcOjjWwyHKTJ89LIAE+om5bn+gLR7yLq4RyGBywR9tvoeCDh78MNU1YIeqIsoI8awBBhoCNuyGvuqFLLJtLF4aY2SSfK2TbMWY9nCqEG+g/IywVmoQAJRWFP5haJzj4pymcmFkjshsty13KBu09LaAFBtLuZm9uHQ+b9QAg9GZSjLsvu5DFCv7MoSasmagjWKHne8wlfzQuNp2Wnhw9OLBDI1H97258tPBoV0brhsLqz5iKu/sA6hHkYvshtCFyIl5wecHPhHhMPcWGgrAPYaZg5taY/egjThn6Y3LBZ0MwM8AT2jKXYTJ+28CnHWBYag9rDX+5tZLGza7OslZPugZDSBxo11I5KaAGNMAgFjDfJHvNKBXhaG0x0MWx9zI9pmVQy/QxLiwE+GUdkjX0MmB10Vgw0yFQ60jfZKhs48Qs8bDvdRqYHnCJ2sQqlHKkzadNWzGDDMQ8xisTwZSCTqC5sefKhJmmI4q0VDnDyxy1eSdgNatu4AHaEbpsc/aYb2YXM4dfs3IOIJ2ATjRytzCJIPZox+gwP5M+jZcGgdkljbYH0syWsMnJYmLASHKeBjwH4an7kcURhIEfSWLUc08e6pAADhGipDQGhlLY0OZECXjjPQ/xzforhKkHcuCrpMUqguIjcNHvsayZOY/ix3kSYJE59djrTFtTlBBzLTGnjojxJgToD4sZT/NCth8NMZuWCi4BiEbfu8Uxwr5LCozv7ADCF4BeDA903Wg+aNnjeDc6axKMQmI1hcQ7hmg4LWn5HuNs1U5UQgMjpvU1D6b/6NK3G54sLl2Ugs3s0aQchaxYzlMTrhv6kwy86JGAW2prmwyi6W0gEofBeu4/pm+zTP8RvC4wVoYpCtwZ4qlMMyTkZeE9dEMCManBNzTZumCFon4DBMmM3PmIlmKTEksI01TY1JiS6Y9h4PNhueNwxMb7BNCL+ME1Ow0cfEFwkbbUMOIeElATzXIvcKsaaGkM17WnPXMl4leKQl2B1ixOVGPBjXMisxILFXJO39aXRMqdLaWNp9jhVBk0xDiQBnDWu6eUxD6ShKfAw0mk1cGvRuryXQF4U0MXk8H2HADjunw28oaviM6qY7yUHsWLWwxYp5L8trJ+WFcXTpmMJFlVI9ccoaGJtmQkxqtOFS16dKDQ8RlpjAKgLvT0C8aEW8A1xZ7DBU9pjXEMAjRItMAgLV43Qbn3qFTIYnm8UaEllDBcKc9mzm+a8qDLxG2dzXnxto0M7kBxiMg9RWxib/YKZROOqbGeMog8MXgvshoqQx3ykoFMMa4KtYpMGZXGOaoY1gl6zE0LDB8Al6wwIXgOhAZIAf3zYTgLUjwl2C529ubg6JPDlKPoU2XLEiUJUL+4rSIvqVZ6XAjCWAiQqYYUgVtRp6JybIY8KMx/GgGQtyRh4TB8Jk8sBuLYTyzZcrpJTHTpKzaNXbURamWWhpAkK68CxMQM9BLKst4xr/W22PTJWNobAZqsBibuCYjFAhsSMmvGDoQDfRGCwPCKB8r9FQZUHDVs+jGkDhSjJyMJqmEfDWSXpWK2yoCQihfnG/uYTxMWPYwnliu2ByAxq9LbKgMrJ0tYbHtNaA4rHIMEQElJP/CA+3NO3oo/oyEyeYtIcPBf8M9BEwDjfJTqXI1cVhBftBPG1ykm2wBmmLpJBRgBkJGcZ3OVINKpKY7J99N0zGdl/BGho/iL4ADHsNhn+ekjQo7JUvCskA1UwJyxtMTbOhqzUCunC2uAiGuDYvTIRtYwzUg4QPEqxI5HAcrpvNS1Hqm/bgy2gqw7LaWNYZ0tm5Q8NYShAVALeRmuQxEOaoaBe2O6eBOvxFxwBgekQLREnu14sY6lo1I27Ub9mNvTuSKUQlhttTDUGJjiwHs+eHAPSdtwrTvcSD8NnMh04sIqmFKIysXZ/RM4NAHmYDmIHf0NZ4ZsSNDShEdgdwADFTA6ICO98yCRStyWioGNOALdJK1DvDxYX/OyTpkKVaNbbFDk9OxVsA7mojLhL458MBMqwNEsbLhum+G8pijUNndRSU7Ryhp33zHog0xNhE2u6fWDTpWqUntl+6ylAmsmwZ+9t4+LboaKaAH9GWr4VlRG0AGlIbPdcqE+CHTe6WRHeAsRa1aN08An/jGXhlLUzFpE628FRGmJoBiWDAYzykngJy4FwSOmU0wO8iUam5/TgMleEITAOxjhULCkDx/g6tJsCY4O2UhL1LKDIudKEp0jgigPh4BIRoblSYUvOo+ibGpkVTBbw6diwFxAs9QYdwPzogOEB3sNjcuULxIdhr/sDqEYesNfNcd+jfpKJ8n3rtTnUtDJG7GiE+hoBYglFnQ5BYeGAyUMa4STYECA4tywmxYC47RylDQ4KYcbGuDHFYfDAWHGQd01FMmOAAxjhZqsGQUARoiSCZKBNLAAcC4fuTlTrBlVY3wtPfG3/xZpwB2MBKlibukHmGkZDHckfuE0F2a4iMucgG5wc0prkiHcihQrNaqY84ocnWdIezvUZhHDYE2Q5w+cWEnpk2NCIy5AeWwtDEVrtaJEc4D8cAUuGTLrExdhcWzEphUgBqAgD0M1mFm3YHyEYorNams9YsXjcAMk1XwBiUAHQgdMscOhtzjDvKb8sNM8uNTLNamFPbKcoYEj95WGWYDE5Jtu0zoHa5u1vpYHrzCYQLEFzsqbkSAxgok0E63FnSSBkKHWUxonIjo+RcUZFQFWIDpOcG1ZWUjOuSZl33pEb6mshfSFmBBCxFQI2Y4Bt/wI2Gx/4+mDtF4HIkAnpMIyus7Abc2J6AC1c5+kNzqxigAZ7obyrBd+BmtSPVUjcAZu5nXLAKKayFdnSglnAbmhi94xn5A0SwXHSXgTbZiHCTB6pIfygJPgJ80x2WISsNV6YxJCo/ujkgfucYPrDe16cos/Um5HAD53BjHOzVj1uMHjgOZDf03hbIzqIAm2YuvAiQjeWweAU398ZMD8gF2freXthgQvF+lhj6yWawVYsM2yVFazLIbWb9SZYNOzXThmgj0PfAKTskKR8szbhYYOcHcihRbSG8wJkzQwCazUH5KCs3RMPG3mIJehqT0Kjr6cAVjLG6UHKPAHrTCHIb578MxRCi+CyhrHbzY6ZbkM7LG5+jC+xr2BHjFiPotYqOJ1MedYd14xkFJAqd7+hdGou0RhqIye4aMITFrRY04Z5gMjQxB+ngUh45gGlGKgRjIEDsCa29Me9ujqc7x6J7Qws8ZbiwTgR98fIJ0U3AHEzAcpR8EpETjYqxuNm1KyY/QZmqGb3rXWmDfcMjpgjxToYgHHsb6hjr4I00b5VoNHwErkqIACEhKfr5v0NPaGuPDYIAFGWEyrB4DCc7momUk8rpvLDC7y6pRVJAWgQM9WEdEQ3DmuvFN5G84oKKAACgKiNBAizwmxYJ448/rzjHd/HzySBJApmuF74beV0A66NhsTJyqyTVcoPyU1ujb/8N/YmlD4IjFq3tIFKkRKxthGrLxAcRuKKDgliY4zrJYIG7JwSFIZiACjF0NarpgksaumBdmNJljbHpN1WM1IEpWT7TDaq6FjM0lYDksYmNIBLGapjMmkCWQadxeIxlrxGeoGzTgw5YEbvSiJjIoIPYbd+yzVaCOUsfPtwbP0syYqNUGYZNMXTiS1D3jICsYi+GAtfrJ9CCzEAcNkmSMlauhDrZUNrIInV2DUaNZ0QM5DT+AKHojaMFeosw1Yv1Md6xgYe1rFZLJBqEZY4sfGmDE5GYix3piKnO2wMCyhgYiIlAEKsAraYACQP2mJQAANEZwRdrzyd0Em/kGUYz2sYdQTRmmF63VsxoXGGPsYLMSmpObvwk7yVL41c67QUMojOotMPO5mAsCm6bNiBxGxCkyDlUaEe3Xz5pSwtLw4r/CBWBymm/Nj6FMAme2nTM/LkaLHusGZ0Bk5IayURfZnERKxJFT0xwWmuRAD1hs0o3yV7KW0ZAgRUACGcF6EwnV7YYD0qYR4sO0NvJOSgQBNItlamUwjGlhoEECXpJi61V0mPDjQGhlGLFX4b9gdaQ0b20zr6X8E0fIbMKNepGU1MFdKdOwJnIbU2IyXim+E94RgUC1IKHbc9A6AFgAGznoFQOVXBMdlZGGV44VEAHcowMcYxVBz5GEIIH+gVhLDbpjZk508CpyTSngUuzLjoYqdSA0RI3wIcWYB4ygZjs1cZbEoDMFWhvyAH0CACaIc5eeT44sgFWkBtO53qMRbRllDDxhtZTBumZOktF5YcdgRtTsAY3I4DqaNjmGkoTfTRqlGwuYACRifo4Mb0yyABN63/NjimN3J2mxobcDLLkC6piEmNPCmC5DaAgLYUG8sCcQsRwZ2eJZ9mXBz2Foaw5Mk3it/jKBgbyrA964XSx1aY1pzTmoFxYxaoa8cNDk2/cTTl4ufwwQlgev8GUgibZHuIZXph8t7UtcFJETB5d92LTVxAkbc3dkQAuLzceWBhwytqDsY4Y1GMtPCG/q04nfEBdyihxYNPEdFKOS2LN4abBNuvGt4nauAMF+OE4DROQu5m7HAWltLcLxGDZoqdpBG4IgSYRmmp0byafp9uCmfqjTJOpo0kmSYoAs9AAi6uYXOXHo1dDIeKwLpR7GOWXxrOYMW/GzYD9LOYcsSaftTOE4ArhOi+++zjItBWNIAG0MBm3N5KYNejI9xmVM30PBj4css5QQQQCTHRLBCyY28l+OA/5QROJnAuAyMY50whMh1isJdFtGJExA7+zlmlG2tPGOmrzI2SkRvZhSngMgAYGxraLCCbanfsYnetOcx7iZFIxmPAUCMXaG0QjIAIBjXBnJLFCNZJhccCZVRsJ2UhpHXOTPgmHHjDmII++y+UGgCM9MWM9UtgIEpY3iuZt0xqe+Tjk8kCcMzjeeo2EBFHpdQjcuSSd6KNkCa2MvHoQwAGWmMquHZNC80Mz92UVjXQYPg1xjTQwmMW5YCtzCgIYMlGHFHA04E3UnnAChLh5o2pkS0iIQGGdajCJiLYSHgCBy2BVI5RSTH1MOgQCY3BwpTHw0J7I4V4QAkHYZiESQ1aYsJ/EgIA3mGWpatLiSru3NbV0Mnow0w+nSziPZY9fMvtmahgN/K7zODqty8HnGv3nHyyGXJ1F5x6uuSIethi5oz1lGolBWaJkvHdgRkBQ2rFih0Zh2JMkTB5Jkf0DOiYhsM8hmYPMiX1osY15pYUpRbF2OTgetVBTTFAtg38g4fc0TjVCvl3MyKXhGpMr2OTkwMjgGBQ1N3GYmhBmms4sFKoCv2ylaYjixZcgcHDUAYRljK+unN1NWOOGGQqogHwoyN45TWBiLkvKYnMFjoozOL6OydJRQTLAXuAasYyE4DEW9anUpwc7JKDkwzbUZISwKHAcVE2qsQNLF3FhMoT9SxF4sNBIDOLESYbskM99i3vA0ExkNbFWYY35y+WGE97RLho2Qy3elcWN+JY8NMWcWPJOQCUArbBybWlksQ8hrengeuD2Byy0+J7QbxdhJLHYY5XGZ7XmsNQV3TjXwGO0CtutJxAgkI7u3k8YwawG2FAMlgQiTFc3u0Ex00a7QBNuG1YzcShlpmIIqZe0NiZYjnfJahvw33BNGTCw5sW1wwreRitsHYJaurDzpmxqUf4ZoVMRgjYIKNJSZJ6TVCbCQ0B7FjmZNaA4KLgNuUmCAPi041iMV0Wtujf7FqVIRckZ2ajLnG0UjCgMsbTAK1DAZhQTGMCALSxg7B1lyDESdk6GsgiKoGFC7mbWJ1F42kACG6L1EMYME0GA6Sxtj0F4ZD1hh+RyyI5FGMQVmNEsROxj77PHUbbMRG5YPwAWwkKGkw7IZFrNa2GGfDK0UtAf0KcliHTJsRJ14Ulhn2s13kST2pCBWeisQsSOAUHUPCRkMze+c9DAemCZw2gg6bndF9+XruM5RvAd17YaC2DE7AnnAPiLMNDPTwAP6k9XGtVkMnjsbvx9YYhMNvqJnMsfCWNhw3HpnMGEwJg9mjJHhr4wyqUYD0Ct4mlcsJ6mEz8FuCbTFMBTWYWvdKQLDUFaVhHjc8iexzDGWyURoj1tAGqwnbAEJzQ6mDLOAPzZU3jYB4vJzGyjucKKicFWWc/W8DspELJlbwzhtbodMjxYLRmPyxpanzn3pPMMcsSAg7N56rNtNJSaai5S+h0Fc1nhtRf3KY5M3Fd6WbqITM/tvw2V3hbpNlVw8f4AR8FTrCSCa9fEt3uTUAKFxs+LASpETSxWEetugyqhqTH04kFNMivhQWAnFyQVsZLlSDr1TbicHgAXlgL/OmFoBiMAI48AGOcbhq5yT5YYUCMWoZSj44Axo0YG8pjadMR9G/MseR7pyowjvCzaNFQp3yTLuZmA2FTC7dehx/Gt400Aqfx8PhaCX8MkbZMaafrIF86BfsbZ0MutgT2jEThlarGTPr6EBd2mlajUWZguICSpibvB7lYwEzG9yXd1yppZKKw9zOSrATJOoG5FGHBuKddqYRAAcIoMYMFMSaiXsTkAg2Uri2Mk4z0sKESQp1SVtIV6mBN0IicZz6wvjJzJgM58MnpkADlrmMiGYFITOLQfEY0tnIKMd5kJwwk12wEEuNhVit+MWiWYdEwkxqjq20ADF0NemppHAV0hlVt1wD7xkNV0mrWjVT4JwBShcapvNXqYL2PSthpOwxZ5b6KxCKAm8jDFhvf7z6Sj3ZNMWAiI7ZdQa0FFUJFFk1fN2MaaeqmISBHu0Y/6IoeGISbD72GAkH3FgBOcxL2lfkwRFvnTEyEiaUNW5p1IouzREzwynrAjJAv+gr1MFyGQiI30D4kywJYanKUEipt7YDJICuMV10mISnZelnfO0uuJHcM8dBZcPQfWJ+bGhyDqGTmXmTMsQKVqEKPbpiz8JXImBzXNPhgYUw0GaWSwI3mJIzckhiQSIuMaeUNYTGqdAKc0f+UH4G7J0kxgohEkS2mESzP0lin1zBChRINbOuPdLHzphr3NoMp6WWI6NjXeFjZHmzsfyGFYjZEbFL/mITHI0Mpnmy8sCq/lUrIZCYujxe5Y/DAKrDpvb1coYV7d45g7kUKaAApu0tH7mGMyf2G1safJnLE27IZOUwBJGG3jS2RszrN/cT7tjHRGz5sPvcMvS0BoZzeMb+QtjlX5JnnGD60a/JRpBmcF04c4fre3SkD8J9oFRJaIQiSHQw1YgBHNT2Zm0UjPERo4u0KXjtwijLwSUTJKJick1cYZRNM0rGBEsDymIAUxeFDfjtuaGZtk9OLImExNszwWxxp+ziPRcplec2FobOqAlSGRV7Rg3gn+yjIYcIDHghLJDKQ3vimLaOGf7BtqGzytaVxkQAGb9mAWJ3Iohbo5ZqXBLCRaCviMZQmRwc+cULXgL0Vj5izdhhZv2OhhodSh7aCCKtlP4TgPXYSejozUK5nEALdpfAABRZo/TGh7GdxhxGAR2JV2hkSQw3ODWcwpDSNbwWwoFo4zn0aYUTmqWviaUMWOK7jHEB5VMwkmclDPfoSyQ2wqCm5cdWBOwPW/npAGhPoaFWwefW0ivcPhqZR3ymaViMNkozBINqIGDkBq9HOEAdJGJAQKSDsV+wIqZ1CMEJYdVY6UuXBOKb2BhJNIUZTC4d8QBvBzm/Z12MCEuDlDHZ8KoyVpbRdMN4C8tjYz0LozQH74okv8cNgxAsLacH5J15YDAc5CQIDNMFefl6gNellnLFOaghVsUTiKrpLxKCtO8jmcfEsNLXAASBoYb5psxx0ygQDKJkLEzAdE08AeYJB9QV3VMrTAXxCaXDq3GWnDJrke4aNz4ZuGV8JYmLAAR8DPTFoq518du6GCEsHzhqcgC/7allzflhUSordoL9cIbzCtS8DLMvFTWKZtSw1mA5tKS7hAIx/KsWG0R3gCBbQSkSgy7A1umKMCVUFAtA9FlsBybLvwOYIDI55HKNvA2SljNuUkdERdEbZ1MiaY2FQQSsbxwxcG6I0BlKIhzcqAFiekwFMYXeMQDGjZDMGIJGQwHJaDACIbwcPuAFRtzQzcV74iTBaSP+iWlXkSux9zDFE4qDxlKUJSmCkJy2nBB0Ao8wdKrTtwYwoxdpiI8NqymP1MYOmAawyBobtqitjBRBzOWwRbTBwSaXudLbWyu8EJSWVjV/OZB4zS4W7wjCfEZ/sBskZn6zKmhcKoBtwCMAHopbEAtzo2CMoznmDMkB6tiF0gv6G/fAataeG2CN87NOAY6GT4c0WZmmq3u/6+tJRUosvHe1xvzTEDoCAeM30mhzDRxxohQ1EVjBUAgrZgtPabcdsxHLlKAsSQoAfaAPdIVl4x4vjdrc8MgeHwkFCQbJIUmSshcTFGzRLLFiHEgPcKbNWo61G0gAat0aCY0tt6/oDs1Y7lDYyWMYMH84YN2oxKuKoLFyht7qIbtTkgSmvxBC8D3hoo/xZiZGixSOxMUnVSRs6YBb8bm7BnU+IOaYi5I7pJD4AafNJ2GlYjTzhjjIBrBF1V8s8kijgHKACuw2+57iMAPMAdxiBIgHmwwFtQYgsFkg3LY/nRBSEykMxCSl5Y81isTShiXRwwEaTCM3KesFDD/JhK0yp6ZfCDV2prk0+GiWgABlPYjfAasxlVMWzHtWLHEDlko0QmI10TdcgD4APx0ZeBRNiYOexOFFpSROSoYiwsZsRK9fDbhsg+FZ4Do61rIAdysKZbLQEHgSYxCNjUouB/KxpgcsFHODnpNBPgLUYu95uzwwzEatqBgGWitDGu8KIuD5YaqlCElh9pjdlfq7LGud7XqMKOA9ZLPvQLG0HQxYFuldEpJFUl6iSZbO2UZA8DkTeaCXL/EP3SMktjpzNWOQkbXYmcDvw2pu6uygMNA52TNoptK42CSlcAERSGe3jdeWEzwHRJ4PABO2G4rbaTQU8iAwv7khQXlp970zyhqMADPyYfyhBTEagjHOmOlawIqZQIAMxGkXqVzRms6OnvFx0NgxY5xw7OWNS12F2Cz0NZJAJqo7mhilQ0qRZnw8VaGuisXr4ndn3kTaCpSkqY7lwBkRtwrXyCZIJM9U5og84liZj0ztXY+Dh+GA4TDPFQnwE2zxHAOMbMJD67Bf2fb9WOY7t0x9FYbe/MC3Ct/3tR5MFNuuGiLTFisfxLHm87lMR85GR+be1xvIKTytoQlT+Y+VAjUC2O0rEHKQntBM6AwDgOMWAVQ3TXYf8MpWGy3DUqQiJQEklgvlBq44Nj09oJvXphv0YU2zj4g7TA8t3rIq3aFjLNBUxpiQjPHvDlaO2ABdbNth5hLXNoAD003YMC60wprOkAUO3Zgv02sYZDWwiOAkbM37IcpIyRMbqaM+JYkj3PtLqFdCE0YLA88eZ/tzSIAN5ky2TyCR80shDZiRLoHcf2LSG8sNojOgPTfyGbW81YCaWyBTSgL6A6qlm3I07EZVMMWc54BQR9gIFSw8EZ9bTocgb8jCJINLTGFoBMpRDgB/NHZqmE5ZOQ9mAxdRUoS9DbO5nhwFmkDZSNXZYrFDPjacF9lDAL9/4xUonhoMExLnSRTva9bDQkeG1sHogBtwzKoZy8i+LGMVDYb7rJsBk3HRKxQ9EJ7QJVgDbYC+kbMKNMx23ITXrQBjIw+Y55ESqFGgyUL7VnNYxi4bX9Mt0mrWjZh3EPO2FoBIJNL6YRRjIQmVLY2IXZ0zssdA1LgK3hk+hw/I75CNTk0C1MElWAJIEhxAQzho3YYy6KhRsMzlsxnp5cN5ZV2meymAsY1O9gWcBj5G1WQGK2MZrKEo5RGg4JY543f8IHHRLQOBSiMhEm45AWRVosY17EYdjkUqGBP/brxtEIBbMbp0lVPgedECBaKgu1Ulb8bgVRgS5DKWxCT4yejEsfsAJ0YjA1N5h6JAwabObMPVU2qQL82F8dHiz4wUkUhJlAfV3sTOQzUKlNqCPWGu3jVumF4ExaCgzlSWrGCmORksXGhz0VbETDBSgJDQdmWNC1084CgWx33YPjguRueUwGKEZxUMYuGEkzBPoZ7wyFTSqXBAEAtD7XERt+UAHpi/AAFeAeI4viLMvQ3OrDXvgQZGGHjXkfmZ6WFQHesMrZGtVcuxWARUyX5IaDDFvhZqsMcWANLAF94GWZIqAKysUQATyonUEHu6ZMbGt8AHyAbOcQw2DhUwxpwjgAPW0MuPNIQHDrjYXB4NpO/hGuYw8C56iMy2gSP3WAeIKXOepnDGTG2xwgTIxUJKE06ABXcNopGT5AMtdtEuzHBbjkA+sB0dASLlvGBHl+FwYdfGpRUAYNgPU4y5IbU411Ows1wvDcdtI1RqZFLwjZo7EjX/uRjF3kf7p4AFLEXQPC8hqDqw5RA+6ASKmPZJd0dk3SN6akYTw2xYZbQGiWMkxAOZbReB/+G1S8DFWHAuGECZZmyO4AfsTSauK8vzPlh4KwkDGfEsb6Jg3LGzljAc44pGPrDQ/xlMIyq5Y3/MLRAv7wW6mFaWxiCYauzp6YRtDGbypKDJHl4r0DzhG0pDUPsRzY1clmgUNU5Y2lo7nGNB+DHZbyOccZAp7YOj4DTyTQrQpXFb7mrbDHwRmYUB+Na31MbBGkE/L4UL7YA1kZ/FB8q0WJSN5oY1IxX0BHKMmQgYQqWWmCi3GGkB5UxpXGuumDExvvcQBEHcMQT2g2wTDNgS+JkiAAeiCOqYyZs7uls9TEWtgpjhRWGFDgCCWEdoEyrDRFtvJGfM40psDFTFlUlk0wd+GI/siYZiEw1RyFSiNuqprDfMKUFE3yoyZ7QATkA2caGgEcPTELxEpUMQyJLlTNe6QiYymcCJzMrko9c4FmJsBKzGXQnkNWNexRYQUoOHa0HlJoyltmGnMsJcWPsKDvEIscNSqWsJjYE9kFDKRGoXSx/AOY14hiWPoUyLUwbWw3pw+djdrQcTcOGVjyzSK7OW2MizGWVcEiYiTaSkTGU9nPzKZ54C60xa6BAth/WQaMSAcsC+iGWdMKZGlD4QRWfWYjjaYV5x9xY09oW9aF+bHFkbH6N9HG5hjGAXjGoxDLniIDE8WD/EuvTCnb1KeALK9iLEEFYwZps9TAUAD9JR5hwZRrDhIWcsRbfaaQB2iedT8QuwPuQxSWBQrNyqY0QgQTxiyQzYCBJ2A2AAzAQqArl3K3oDHVZNOiRtnU+NAQMi3HiZ4S4tSGHHsIvklWmN8ViEGYY8gJ+ksfxhLu3DtG7cS3pW5VDP0YHhkEf8a6+zE7GdjkwCxLgc1Q6bORxKGYoV0MHIB/k3vYEeEBe4uU/0n09E8s2BKYYOMFRGlZMMExK3uBGpgqQBuQOQHTHNhn6oxapgxhNzhG0h8ZqKXc5BEYjHThciArVUnjZu9RCu45iYyfGB6lqU+iTyGwMpRvGM0cx3lgK8UrI0NdDLQVDnZyL0wn+9nkrmc4anNM3Hx8nnZ8WOGkhw2CTiBCNQxBcvyWNq5zGEg/mx4aYEFAc/RgfUB/gFJ3RHOA7AjU0xhzEAkolTUxohA9lDTZcEpwyLx4rUNnKmHHsHGFDdClONHroM4TEikjUhfP7Ey+9ibBMnNeXAQdPhlbTBHIYdUNQqYyPfQUxGjs27TiKo9F5Yk+jCzArtQ1GVblBpXCgZqsfb2MSPwNHZnaBnwBvjFBXzIuOUs6ZrtzjJY8r09GWOG8NLTGUPg0qGn1MFURstoy/xDsMBOmcfu3LOyXhLgDUYx4tYY+jDrRQKBey3H57v3AXzhzIbXOkhp+zkjFt2BOgAnaQCShgPOPy46apRdfGLMTfkAB5THJsZy2AWzGVOsdPxv+SkH37zWcwUmpLEnKFtnXGMVjSyww6J8dgf3UELEyS3Yq0tZnwre4ELRG5I3htb8BgRGYDVM4XYApFyQ3E8NiOMuKhnLt5qMCUs6aeR8q7mtTDTSmP+SghTYVHActGPQHOiQKfwwu8ZoWxFYu9tDNoppDUIgoEC0iLaYX3sAOWGpwBUCbbMNYKGYlATgCoV5GDKBp3EeJuBdMCpmYtTHIizvuxTNcVQkpAYUCXNhSgdicMJ4DVML+hq+TxxhQrtivYRpysca4bhlxA8btSwOjea5TD53AA+Cvoby+M2pYJZki8hgZwzcMpeMMYfhmj4XzXN5y2ZMCmmBTYJStnd6iLM4lJG6QMkPRZL4mcW4c+H1P8B3Kw7NEuRABMhuDuIO5oRjCtweEIIaTYJpezn1jG0xmKCupAErxrVo3uMSX8NlmRCJiJjCNZlyUVh8SwQkMcOkyuWDmmA9IbC0MDvYzqjXnRJumyaKAORcUfgGrrHKFrRXBeWbqi5QUo4MYh3tsQED/8btGNqEhIsLKF3IhGKxYgUjM9/hkJJRHRoHmGzjSEAAlyGuQAfZiI3XBckY0sM+1YYMQQuRpxjMsObfhDPOGYUoQZkN3S1RpaP+MKq01Pcw/huQ1nEYCQGNbNZLQnaXDoT0LvKbXJMmju9AgDoAJivO2YhC5CBJYiFDbyjuB9NTSaZM5XZGozwJ4NiWI3pfR4ysdnwWcgrV8JNoMqXhHORvvYRKjZMhhKI28oaphoNuewTQkqmGaRQlyABbSmaYyE079QTL8LclhtBMZBSZFLKdhsxbHp5iQcgepGEQAcqmEdw3p5iN0sVJJor7fukXSw0R5LsGA73miRTO6McBk2V3hlEBYwmIyQelETX0PNphwmJS8UVlmOQANwrUhnB4ZBZ8OGZjKdWHOGK2UbdgNQJ2clrJXtmLkltFgPa8CuGlksX5xkxuBMZHucNn0SK7rK7hi6YEKXhf0MYuhtd7VahgkD1qsiMvjVUepyaHR4p/ADUYgIHMWGGcKoNJVk1oB99Y36NZZYv1Y7H9mlQAKEEtvtk5IKBMzIdDOOEFMRyBJQ0g2bjZDhidK1CmnO6od+mAkgIKmKtODtya/SwurYZkJPhRmJM1XxH/3F8vs4QTLERNnrU2liOUxiyZLEMR6gAtXLc5b6pRl9WE4gTzXHAhNIi4VLw6RmAnjPzpieLAsYZOCJ8dmoTEIIxqh5yQnx0vsbKYaAAOt6TZeAswIxWxF4yT5TajToWSwFLg+xBhkx0+TRfxpQiLvl6Mkg+tGLOiE9hhoDOjYYW/D6NgJPJRaOQm+JjkpZUtfI5YUod5KLQHFnlkP/tJYG8NzSOWTooww0DA1S9A23XDALrtqkAFL4P0xJuhXXgUflscBymcAw3g7HZN9DDezjbN3ZmZGKwPCA9C4BqZgnU3fuDgiAId+x2UfuVp3IxiEbq3R5jG8pLXUcIb0KMVgnpNQ3ZCliGwuLvIgZCbTctEwMAj4KmDidS3yrRt8xepGnQPA7EmurHhq5vXEeJgmy4dfUXNIGjIB8Ld4w0d/zGCkmzoC44AVMSTzisZDDqYV14CaAAlHSUhwoRTAcRkVCLm8aRwAyfZVxmIcWDUGLaVKb0NnlGnGXXdQfH3nTfCgWxKaZvrjFiWDXowiTZjHt22WkXqCFJtRq3qwE+iS4OGVsjbYGBIrESphSOA+SuvxbM6blemHKZyZBAJlJUYTV/0K5Ey+kasMBZeAlVDLfhp8oKZ4aa8y+jwY5DfIIcwNOZYbzDgRwuj9DV0MnoAGyoaU78vGGBLY3omJCw2apizHihNG1WTBhhlBwzv0ZRWsheWx2Ucuxiek2fiam2AjFY2aqFxtr8tAVpgqI9R6w04TBLRkaPOqzDR5YRlGAyJCg2uZkyeXF6e5Ga4q5QVJuTY12sTAuJsKNeLa3apeEnYA+AmI8kpHAfkTKBADBQ1gNZ88JeiYeuotL9veZJfIYF+NwgWm/rFSAHGnBAtg5ozOHA+ILFqmNhY2llhpUBj2aWAXBGhoIAFNablMALlSdgAXXZgdQwocDwmJLyQCIIxOZjESDuO46WwRxY9AAEIAIpoHW2luMN0sxiqUekRlgQIrgAwUM6t5ml/IoZgamAkADM0claGr20z/hrGAA0E5b6D53Gdc7HezglUyvphGadH8RrlMN6QjbExrgnnexs6G9WPa9RpRSHYsYaaNJLGGAjcmbo82LnoYlhMF8RGNXNLwUtqwrgBiCMaLG5VMPhsQqlA4AC6DyLOA8UczyJnSMDyRGFAIQchgsjMVKJ4rFc0YKkgJJYUqUSWgNnUNiqYv1sjmc5DIrLRgtgB44BTNiv6INc0YHVvu+zCEYJMQ+eEhOTT5Rk5LEnUBbTgDhAK0eA0NoIwyp8ZCxN7KYcfAFs5oBo0QKSMNDBXeowJLqmAgwzBnClSE3DKUerJQPg/ozkE5uJ9P+GfR4IAKQaIzdABWkNvgyCOsLiNrNIwkoCuuSFRxE+veURF/iE5Sj8BgqrGo6oCumEUU0dY6r4Ab6GnsksVKFv9MSb6DNMyfZt/jA7moBcEJYaVKlt0p4izJ6mNa5GNpiQEst1Oh3sTP6axyEsl5ypQPeG5kTbkLvEI2AB6issHR5NYjd36ZHuEJAB6hNW2cvBIY0oHVTFPXlEHMWawqjJLqmFGLA235oKwvvwbQTXvPvRJxEoDoCD0AY1tgQmeNYXFTdoaaNeiY/rAKpeMw4yjzB9qw/hR5TOLNRtUBzHFhhShO5ARGjLklqhY3zTbfQBOvGah4NPhnkriOcho6kM5Ya74ifuVY/0ZfZzeMiAWcy5Vjhtz0PfTzm0yDRGxROInuVuoE88JnfgKQmVhopchh2Qz627LiNraG6zI6MSBIsJ44CmYydnwBwgicQLfYz72ZltyFuWBlMZq1OpoyA4Z0cM+UBbRTKfzM/hLr3DI0MbkQU7DTsRp8o0AKblBQP6Gj4abx4VfT1QsZ/aNZkooYkBozHuoPMxHdUc6KQy1zC72Px5OQXLeDy1FOaisP2mL5a0seaiKx/mRoGvKYRkBLDwnBq98mbmnKUUDhmKdzPZGKOi+tGHrI+gPoOcBCMn2UMbtGKVxR0rtd9nEAArfwLmAtrgVgALZw2HliEUAplYYmMx0fO5FGQRZ8qFVGSfEWCeoABRLdlgmsDYqmmMAd3QZ63M9UCXkhFKYBdHc6WEBiGM9BJ3Q2ZxCB/NRiJg01P8BzWMxxWTLoOTCUiNXUCgjABLmAJnjGmgLmRR9TA/RxK1SUrDQTLL5MzrBZKHSgdkrHDdamJLtOzpgboDwT0+IPT0QpWo3zpi+ZM52GnKjae0EmLAaelVKwVPgnKMmwRkEkHjAgS5AkeGCTEMQRpkAF9aQsujoPwxKfWWhoeuAlEbWyDP9MH/DCadqaYBc0YHc0+mGixjXOknlqlPc6TCNl5YWNqciMe3EwGSj+SxLZGBEjXRiKerEOYFPUMGpmshmSANDAgBU0ZAdSFRGx3srtWH8UEnkYy/MEFGC1jJJljxsyYnmgWwIQm2ww+O4YmJAmECGN8CABRxvX7TIsrEgbH28M2zW41kWChhCgB2qDlyciOGEbgKS3n/TEcD6QSx8eGbFXT2wCZI3n4Z7DNdSAB1PNBsBDZMccBrSweeW2KbJm4j9HDypgm9tvoR8xjSOmCecRYYZRqwQ2ZmAzZNRjt0w3ODZ3Nil4qHDaWWP2Yz0ADNdT5zwjssEZErIq2iYiQ0xIgAA1ceoxk9o37dpeu5F5Yf1DdxxuJQwdwTHtMMLQRwc4+xuSQzpYYnrtL3UTC4RimaRLBYZa7kke2gavmbaAE1SWUWn/MAwGw6R8+WzizEyG8ap0AADhurDVngCftPmHAfUxiAgtnDGngM5TH+mFNhAQnwrcnAbKTSw32hL06N0K24FjeARuZAEmFiV6YmlYguzeyjO+u1FpYEDMGGGs9QYDnLFbEDIZNaA+LBy7bSusV+Cyvpg5Qsli0HTE1V5m0qSrFhT+YG7Uv24c2FHHox26aCABc0ua9ok2zEtk0mxZtcMNvG/ETRb0QqwCjNkJsd2GAyKgrShlA/0oZiaVUcYU+gAv3UF3ajCkCQCM2d2zqFW6WLHQypoYtuDnTRqpjXTptMAWsuGpnskUoRtjG8DtCAC3UCR7gM0wrFjGNNKNE29Yb2NyIp2X1xDqHquAFKVipiMA+BtYzOZcrlT0moIxBMMMROuJZRRjNQyPFgvJtAvGmkAL/AXLGIP/5m/Y5YmnUsZICezeD+YBrDDFfh/+XGCmTywCR5LgGsIUAhdPbcWIBw1+ybsWSNHw4QTYjgGngDAnBmpMq+SiX4/ymGpQ0eoCuhlPHBrLARHTHGnBBg4aYCmxYmxoCIdtvwwA3SzHiNCAqMjSlSSeQwBA4tWMmZYSlU4h7sp9MdHw1gsPTO8xjfVKMu53OAApZZXZYsA8PLVDkrnH+DoXSJDmWSpAiWMB7LYACP0wVHcqlwEYfgD+NdeJfwAFrYT3wtASX8lE+4CO3sdkxB8sedINuSFtDGKMNwAgpyAGKoEns0NOmCMQ4ZBvUjBWFsA4yXIZs+NVqGkzY3fZH2rDyoZBvite5rNQBJFiMc1vj7QeNq25EAIY52egDPx4aFWxvMQLbjZduXCkwYabo8tN5GcJMEHcA4LAyDQA+D6nGO/TENJo6iHrYGKOBFuhhTnbeoX/qSJUbzEs+iWnHgGqco6QwqvZfScjAAlNjVXpizEALBH2X0zWGadYTW4NvaLmSy/csTNmrxjasRsfe3jNF4cBvlGL5QRamEi0GzNG3ug1VYyysHZvp8lKtIYm0xuLY/AYSKgDXo0BB6j6JMVGGtY9zVFF0y7kDYcNph2614iLDufowipghQAUL+NNAdPAL3LGmqaxss7lmUDMABZrnSxfUETSwNLU7Bsm6UDtw1/EYUhM73m5QUIWJi6IxSuIfBTMhIrnJfinhjIy2nB2XctlGYijMeDvLYN+6xvkMZnmuYYwJYBlQAVuZf0M/2wc0rdckjr91lMZyaN2tp+JrQUoAZZknTrUnjhpAB3sFVuavYFKohYyNJxAtckwAxnn01F+k18APmQg6TU7MCaQymWwIqxCoAV9De3hnaOQylmu3ts1UlzAfXSWiABJFhspjzqYxjob+MMywwwabdcNWH+pRmJUnpOnTLiZsZdxPGAUjXcMuDphCTaY2NGDQv0sWAEP/w30VgL/jTgAlRHagcqHRg0I7CyMWvBcvJVCxhNEze3r+6DBpYPQgunQMIEzPVgUHNVQ4Ejzcg4kdmw6qA1gjVKGTr0iAecwwGfeYfmxKnI3EBaKAM+bEdRCOOAurYK44QM8JEAGOFbVZgSxYdRAVj/vW3KcU5Aal0MWOzEMVfo1bBi04t0wxxJLqIIy8FGWD7H4QzhQnJQGIYgIKYRM5FYnsNg+GbNMethrjk3MsbijsrxYmIvdfgapbGqcbm+NJWJUpPUfzqO4BZ/57vdNnR0MzY//gBGUU8H//hyAu6InXcJoGVMikbzISUU2UOmcGdqsqOZA5WNN5OuC8s1unn5oB7YZ7WMadmn3AG2WIBbG06bBDD5jG+eHEy8KS3w6tGyCIrnx9lGdPAprcDlBYtkMal2hR2NIZpIIGedmq4SNymSXpNoJvQkyOci/B8Pnc/wvSYAPPTEX0CjgchAgerjLybpe+MJyZ3PpffmjUjUumfKInCCY+zckomM3lCihiXyMaJwQBDThGTe/KPAEklDVUZzJYYnI6YnSUJqBI09MY4C873EL0rBuEWvkPMBaliyZe+Zyxd9PLP5OSHI4WB1Q58seF2UGZm1to7hedygRWxiX2wPNKGWkGJ/scUaQsTZKWPaINwqE1zRu1eOZbBFWBkkIO9i6Vc08ANWrUZXoDQw+dz/1SIkgBfDSEACGxLQYaBQxA2Z1+IbzEJY0x0EZdqjJ84UNHNQYqqQ2u+yeot1BeQ3dORkaCd1yFhWlc92ATVjEymDibylsbYeTAaGvIw6cjty9yvoa2ixyoWgzjH9zvoeHvsCRXiG3GZaA+M1rkADj0YOsMMp+ErExyQIdTDXMZeMNFls8krDVWExI16kZRB56qGzhxW9FkBkzWvZ4VcClpKWzCoWWCACZk5x6NcGGWUnBqAEtPnQlah6IXKmwIAGM9hMAGo0YHL84txoTERZbO4ED8zmu2ANJpHRAetVBW5z65ab6Nko+hijbS8Cti3fqb5V8cXpezDHR0Ye+EBsBJlIXlRsnAqMhmZLF4ZYpiMFqYSI3M3aZTvO/jDQzN32xLNYc7TLm7PTfBUAABJZ8oAiJiEATOKHmiLtU8+nhoMz0rNYKmWwtjMjwxm04KZWFEoOk2GOICK6Wp2YfaxGF+xp2be6Nj2GaYMylmMM0wyMaPcM/sxF4jW6FmBjxOlZ495wAg0DAaSmCh71wsYK9NxXc0L/J3+DEHNcbL7hNvrx5arQ86f6hmz35gTB3K5qZ/Tt2YuIGq0ySWwK7ZMeQKpRkTEAi3YViMaMhxHAZpRnwAS89A7PhNLuIFJCVZrIbwicYLPdX5WsVMekZrnSUChKw8MFqGL58LQzsF4PGoZq1NViA7yJa2wPyqOU+7cxC91pC1DFWqXVUw807O1hXxG50zc3jiTLBYYZwEd5KGw+rAbZtVpjmsaKBRePmKVoxeKWxwGlz4d0yVpGyC5B64Lpl2NKADRsHqGHzIWFbtmrDAcbB8Mt2h8gjESzFKwwXw6KkNL3UCY4+J/v5LDl7F8sMjiAQ1gceRpCKHJ4H2gtZaGJlkxsWAUAFiAA2uNQqYLksDwppsfO5qHgVTxZZCdgegOFYIxQkR0k8kKp+4TS5GcHTAO4hG+DnKY79wb9WUaOzRPnHtMmgSHKULGxKQvm3pj0gyS6YZi7Lk2LcUEvJBZUx10GzSjO8WA9cDNzHMUE+eE61rI9oV5o3DxYKKM3r5WOgTgIAawzoWHvN8hmO9v4/6gE7UKt7ni1t8fGLV/ZKrq5L1WLimPgh8J2ww3IAFhLH//CS6tPfWiaiTm4qSTDINa12MDVYCAA010e9m0akZ2hi6SOPKWAPYZwEBadGk0kcsSBywFmsEb1JJsDPiwAS5TebIlhlFOKfN4tHjs6G1M4MkcXerHWg7iUNA90jlMQuwHo51+SiSUxftMS4sJWJm3YFD0AdjAW6YwzTBtNA8nlfukj6M0mGbUsVT4ARPMUCgqAsWGWfDAOJiGlTGPdGRWNi+huJ7XXXu/cB0EZiWwjLwLDLAJeZeKNVSau2AXhQ14sMeXGrQyefYf8NJ9GdVMdG4s0oxUljs8NRUoC2ABbYNnUzhtFSVMojQ8NMSTEiWiEfM6MOtlVYcvDEpnN9gE1Fw2SkMjGtywipFpOwyqVhpRMdmIZustiAESo04mZ+aA71GYOQQRhoBYlyRBxwI8FRScMv6FrQSxy9JC8MhNGGfDGZUaQozRZau6pbqYFMjJI0QfGHGGbz8JTqK2SQqnNu1MMcABnSDtRA+5Db6AGDLC0sa07iDBgvc8BXzApQ01krlZYyfui6cvclq1P2AsGKBRyC0iysNokfCqWxhadUjyahY8Ml66Z3I1D8BvtwoVmOm6Xr9s7h3wlgUrB9VYZ5grXQC+JkkMCe0xyUoX/Q4aRgnw3wunF88ixYy9bNnxofxFjlhVrM9PcMkva5Jj5a3iEHjWR8vsuIjSEUPGeJcOlkJcp2G9L6ALDmk0DTYbTMQa7wxjoaMgClVPL7glM4ZUZAdMOvcP2FMSEbW0woiAmQjKZWGklxJsDZQdjpYpSLZSAR+MBsNYCjd7L6M/c3fZPpoykPikdSUxwKpEy5iIr00WfCB38j6BMTkJtmOVZ08VhtsN635OWPXGORZtJaD6KQs/NAddjM/JkENORbQkBADye9AAQ4QeEh0vJAdaDe2GytDMNJpELzOwnjDNmDCcSk0fQUwARCyAStAfXm5hjeDoZWK2OCbR5YjyA+uo0B2BZf2FcAuSM+1YKujMxALMlB3Z7XiMqem0IARamPry2vEYAOMHRIEvDbkGUp8G4T7jCyCDyEksE3QGPRH7iZQ8MYqYaDYAiRvGQ3t+ZS0MV4ZhCzHiRkx2V3abbixhEhIHDGsRjt0w4Zlgey0mgD/DT9hpgAICph3qwDEqY3MmqcupUyLH7xQT9LMsGJDfRK8l3iYjgut1NGA1cKIAPQICe0knXgAMcD9MLThj/okmEZ3qNBYZgUAlLhnRSGqN4HewYawZ7DKH2dJbDv24cVcPUWMxmatvvQwGK9451d/wgEf+E2DInYH98bDWAKjcilTfKof1oyMNEuCNdWGnfEqW/mgIySYk77dVKGpP3BCFq65P2Yh8WNlVwmksNvmNrBDhSjMGcNVUScbOwKI6Y3kWYrUMihS8krS8RqGMN0CDccApyUt60Rm/uOU3UqaztM8rafXgAGyLywCOciiEtkx+IM4GBmPII3U7DjITK6Gm7gONYSZLPCBYcoguuGCEUIsWMYMCkbYFtdoJG/2LJoEpOp0iYidOMm2YUtTJKmNtAEOg6XkhXNGMNMH3Mff83VsYStBDU+l1xFQJn3qHI3bGlAutM0FmOl0KcIwEkaSJdJWJrEABtNJ2I2JTFU0NDxJQyzZsmTfGle4aLOjI9wFcpJBmNR/P14ZBDisKB0T7Nuhk0bMUCgSXMdumsZAK/4QlTyyzj7lCtHGK4AsymbfGzM8Y66TAuGjjjcTTsF53OMAMMA9RGscWScQBGwxepiT1AD02qbtT6rgHAEi4ZTkoogADzDJy+X+IxALnlZYt0mYasSsRqAIzsCYRABT5YbssNymFSAFs4YE6jHAWfjkjA6b9uEIl7ZDzSQud6QoQHkhW2CGYXhlT9Sy8vSDJi2Tx0XGOsst/AuV0zEDtEI32MYayMbC425wq5xtWgN527C0M3AAAMHKq4JsrWx4bARBMV2FisQ72M6oHq8aBWw/vGP+iKRgLdLHwyZVkBtPuN0swM8NDNKSoY7sNNb+OkQ1Nhs5UxmB5mDA2HW2ls0j2ZiaFgjx8BMSxZzmTfV7rFkxdRD40MGzEqxcFbEFOLI0C6MyMQfeBtTNchieSUAZl4lAkmGcKUdiZjphL575JUNo6ZoqUQ4kObo2qoY/19U3mUUPMFOYWJF5eai0w25SZqnSoquuXyBFYsTMZjMzlTYq2F2+2HfRp4Bp/AVazJ09mAgCA6Y3Sg05Ga4sZnWb3jw+mnDuAt/AYf4KQ+G4AEgt5woBeLiRcsFWmL+UxNp4WcNTFh7wjaO7l4FEXXLlBRO6G/rHb72IrV1VPpoHA+lUXemeAvN6BCwlg2BBl4AwrgUqWOIlLOlZYI9kWx/GiFkoeFO2NXC+SM/gWJU8+36m49BARnpJA9upYWkiFkcfo1kZL6fBQroRAUI9WARIyeiBeZAs6G4P/ByWCw13pplfYASgYAmvMFNndxIjMYSWxUyCnAzGwRu9jLQliEAyDuIUHDFjuLmYxAZjoLN7qQy8sK5ntfc2ClA2iQ0dm6QAN7/jQozWExMSd+VGaTLbfbqO4KT0xDVZHHGQhHDITkVQyYXDaxAAaG9PMGOmlp12/xnrb8exY7HPZWxucYAw2DSXxJJSNWk6ukIeY07Fho9NfdUMTkb6JljjxrYbU3gM92SdDJ4IZZTHBMSBSx8MmO4sd2mKe2AV3GxVMZvK6wgOpoTdoyfIa3rQ2HWQvkafoWCzNW0Yy+MSKmJHfRhgPImPG0bJ9D0nmC9gtwAEEEErFjoaJLKG5sKcEHnDs1dIasvEisepRVO8pmZ6UBoYXiMsZGaETfQAQASDKpLSkNTomwDjIwANUvA/IwWudaYm3wZc/htK4y7tER0NZ6GTuQ+YcAC4xRcCnfgyCws1InCcVw5IkPASkh26YK44JhhgQZGKlaz3MIZwklMcT7AFIzP4GsGBECWFCjdRFp4G1U9H+htmo2MdDTurjjCn+jHEKxBXAhmM3k3oIdxkibEtiNVU72jT72B85TU+lfoZJDA3ajHkptaoFPk6J2BdUoANkTWYS5HSvTB0+N2DACKg5ixtsAG5ljZywJOeMIE2ZieY4CJUY1LAynwbSjStdhE4DAnCL8MJYa/fsydQI7LAM4aMXsF3GFogKFxqHayKMbl2MFJkvic1hgFaKUc4DesN+dEbBg06Noo4EHdlw8NiFYOc7KowRhZwaliD6M7AormE5cRs6YyHKTG7tGxYvy0NDtmmMOqzC7JzVe2SCTOymCZeEOJBQPNg+uJkjNR0BUvFUthCppBHGx1DHh0TmSzyobCcAcNg2gARiWNEIz8IAzixVLBoTEVAxpWI3ghFmhMOmWlnfTtIMLsH9YCzaNgHAlrDU/hj0BwGf5M8MMHGVjTS8vgiYxZx7R1i/cm61MEoRl6i38Va7kkr6GHkgTIoXRwAIBqJxNNKq27TOhUaerH+qiP5DLVBlNjcc4hfcVGUYuMMTOGuo4HyhsNFIB2LjUwLpAN3jT3Ub2BCjzC8VMQVurisK5qcb7iM97zZMvbAaowrO2bhVwX/yZUxO5GO8ojS1EdmMTsYeMNNuGZbQcyJuI8RQAkz29K6Y854OBQZ+ADH8buZNOpYsxkscqoBbCChHMZDXGyLEAd1OPB51vWibcsYnIwysenRlUrFXSaj1SzDOjEsDlCY5MzuEB/rt0/GAzY91MM0NOG+I9sMDHGg6fORmC1M2qsnN3MOwgllDHgIJ/awVqEIPEDWGA/Aqykd49G3dZJMMK5S+KfQxvvPwkzBxcDi61GWMjCgRs6oDwyAMNNnTGS34tvmPWYy49IeKwYyJYx4kEWXkrjJCbaXgIfQqEXf2cgxI0MKZvixH5YPKAZ84h5gDaAALTMeRSJtI0Ipm3t38j5RZ9Y5YsWjaFxsYizsCj2mN+OA/pDW6FtuY14qYdEBsaOWNiNsWMsrFNMYJviD4hvKsZhfIsUxhJ4bITTkAId8uRWMp/E8caFLx3muFnDOVhieLGOobJmMCyajp7K1dLOhQ2UZpKwF3G/LDXpwRCu1iGFi60S7Ar3gz4JgIxF36bQ2AD5Y65belaW3ZL6Yac/i6JWjsXeh8NH+O8sDX6MOXBQWLVcoLCrCOUmyCI3Agj9DJL0rIwyzUb7hN2lY4QAC2Rokw055jCpNlFSdfANnQEqU0/uKfN9F5YH7YdnhoNLC2MRoCN+AwmkABFIX3pnEWaA0wli0O/DdDIa8jTpdDJdi5Ym4hzMsroGNL00ammBd7U+pKcd6WhEzGnBLv98eGb0hTEJg7fxlsSZhCDCA1NkvRhrES2x+aEj9onItO/aYpmLuP2YiAWwGGmTQJO8WF5+LzBHq8kY0026s5MOknYDtVhFCkdaY4qs+f7pRXK+MG9SNUL2aAQW6DOoeD0WkLUMCdAb2YP8cWZLE00auazzVYdUwv5hhH+3eRI5fML9GBqYdpQVA2PzmY36j2GYWAHJekoM42dMaZVhhvi27jXOZlKWz93brOzAvha0XDINCIEwshGy5BeaGPJLOiCcHTC1IaiIy82GS4gPKmF+WxUEb9bCP8mYMsPFQtZtzveak2MYNQAkgWRSU1Sy0la+h81xBlJIytTql4H8PmKasMKmsuQD6mETsLeeqPoNQRynecr4AMquA19B+xMuPJAIMRwzswviD3Hcxy12ScejNRWAEoE3ghsYsUqYhGsn2mBI8SU+CO+Sb40r4bO1WB+YL46ZLTgvxGxjXbRyacmgY4ZzZiz4xIQADYrvJKwCphoKw1M2IFsaBSTswxBu6pqZ3HB8GAQqYhnJ3/0ZKSsNd2U33Vkhg0UyiKZGkyMFhR53LZRifLJ6+HRQBpJOvEBOP6VS2wY+xL8lCKAMAQFkWVSKiCcFtyky6YU/mdR1mOcxY4IfRNd7uEHDTBcmnWD3mEAY4UlgqujSLVElQ3ymY9n8RwBoUFJWmG5THJd5KsMZAgp6zLYRsXdzzYZX0xNM2/gyVEPtIACfVDHaBJqCZUbCbMHKtIi7mJrtCzGGpvTIRl7YFLobA04l1gBN4SdQPA4wVGl7iM7LGCe0o5RuqLjenDbCMOPGQVQBRfEusFKyaikzxAQFmBdCETXEIewA+Zg//B2yjeXRtEOF1ICp+DXBxPF8PZhoLEEOpSKxMdqGZbQJmgZhNw2p6VLNAJMpxzfLUCmePSw4bWw2kAwEXfeWB2MCjIabLhrTmXj0ddJoyQ0h85By9dw+RAUZ4Rp6PihaZ0CNy1ZCijGsFilTHP0bdUxefmr77aQRuIkCtYYjSAXRGaP8nCboDVDsaFVKxW0RThvMgxqTSR/0T1mJ1OwetI97Rlqo0pZ46pDjmep3/LAAP5TCtOGShMwpQQM0qicdeiVNGnJkMvLGrfkqQfvQ+AJJ4Uo9TTmJS8YOmAyI20vDyRSAN0gVsKWhm3zHx0ZEM9p7Q6dJZzcuwt0AqLx/gSaUcEsWXkeRFiPO4IWNi6Ynb0XcoOVMy/0aMxtIFA79MdgRjYmxyHCSVzTOAF7MbGMaLIyXZAY+DzJG38g24Fht40M04fiTihGHgAY48DTyVUthU9MvPQ74vcdjpVTGyphPLNeoJUVjWL+d5IyiDycGzD7OWrbbm4MilAdaac3F+NwA1cIRzkqR114b4JtNiW2vrTmILVLFCuipkCnNRoKjEIAOyQy6rkKkhDCm9PklT4OVTAEXbFktd6WjYsFzRhKtJUvpgLBCFe0y7FFWny11OoqN9ilaGyajN2nJKyKsm4agATogJkzTFVkipJO+mSWN0qYnohEDGczoF06B/+MI7wzm5cJ2clLHfm4tBRnlEiPJE7WIUxC0UbJkMTdmCiscJlillhxkD6pQFAAKmbbNjv84xg2H0XjYmIHXGZhmGEkz4ALdzcj4ZE9QTVWEbuKfIDwYCa9G6eAGskZWox7RmNFNgvsc/YwuAS8nMC4af4yQfuaTQCGjg0U28PF9+z3AgO3DPnLomJDYAUk9MVOhFMjEZRtncwbBm0tpHOmkm0hdxlJwAWSAzP9IEZU0AaRgJe4zAbCAVE+7GjljSnIF0ww8skeaYk3JN4gdqrgkpNDSCU29fKA343dN8C46Vizjdpx/xx5+jA6hqXQym8YZ6MLKGIDDaPHm3KVd1TLQUFMcdjQas9k+twWwD3UgsWI9tDQWWEJ3Js4npAB1ySSpjT+hnExCMhbYATD7G8lDcLTipLGcYbylUDFJ1EC8cgKro2fFjDfFPCmdAjKWHncYj80bBaIeL4p34F36nMlnKpi+h8HrRygQb0CDxfCPab1oRC2xV3Ev5gDa4zttbR0lTERt8ASIThrb3ipHFpSYAgoYBNcWHsMLLnSe/868mzOgB5Jq9w1kVZ+atkuGKNCTWWFT016RasyM58Qkt/ILyZAIyitYX5Ns6Gre7AaYVyOP+iBffhQmImIIyu4dFVLTSHGSyjpGg/83zJjyI3CVhtkyQw+qSrd8QJtHyAHbyx459pYwkaMRswc2RJYC8Bx8Un8Af8lGAsEc9maQBLaGdEgOyoMO4CdaEZxccJWB24gclscOOerlScBeDENPASpeC+fHV2Ct7Mb3G1tgfjwQ4eDkN69dzW0WGtTZoPnIwzOWJLxcIHKgdvLwLh97BcpgliwNZmkggemxm2OKXEDrvtF9Aodwn23m49CjzBLKcwcudD8R+mBBLD5d5aPdF4yU5xCcXprsOf4FsMAdjwlLE1s4YFmDR2HqNd3nZ3OMQ6SbOI0AiZreDuICvLDbYAOOQE2aCWwy3yGKFQCPhh7xPyoY1ByKCZhRzLxhkIEzv46lCN/YAAofNGaXgr1eMZkGNbsgUvzcqpkSDXhEaHNyf3eV04aGIKpIGZ0BgTgvHoc4gfiAqvGwkoYYhiK0WYGJDPAO7UJEYj9/4RYWL9DKogDfJwvEbte5vuuyq4ECDvWhDzaFQgA5pYVdDMgsFBh3HOIPdj8iAi8sG/kA5cLj4DdbzNuGu8HZJxtWawQYYd6t9txiBAx6zgHzL6SiyUwQ/o+gzVJRl/NL7VgDSx03w5ljOwJniWMI9CKxMWpmExIgmspvLCzIaESxhpGagjMGIBg4y2elT9sK5SgaQ+gQB3TFDiY9nsOAJ4tHN2nHkn35AAvTgeSmGUjRWhlLozQOBz/t/4Au4Cv/UoO4yfCGfKNr7+32wSbGZCvDzhH+nsv6GNejGGEXFI1ZP4MpAp6Y46jVaTl7ZUP4jTY9oXGSCAxMRnlbQ0onmmyrjw6MsJqmAE71H0Qw98wGYoV0OL0bSNOYXztSxi2h6V03fZC8nhqnLSkMKQ2iTDT/Hq98Bk7kzes5ksf5sPT0A3an98ZqmsoaphzchyIbvzyBAlMZ9OmcuzESYWHqIx3RZnyx/n2sxjW6DmFIGspnrO84wBsZ7aHibPQ0BMbszQ8j5GWwrkhpZLDDFCTyMJSQruTe1xsTGkGVnzDhq3GiN3A54eYb0l6FuGViicvuqRVRugFIzEaNvNOxG9H+EHWWjx3XQ5dcNSaSgyUJ2UteQy2BFq+ZKdB10KA2iKExCkMwwpoFuGgsjM1WrE+D7gVT+YjFQpCjGr/p0SM00bAKsF7Gxy88UULxU2Ll6NsMd+GPlTKoGGkzKm4FdbA9PQ2jjC28dLsJ365mIAbSY/BDOfEOA9IddaRM9b1ox8QNoAHco0tphbxNirGaugzgAc340agCGkTzvYo1MbFyI44FCujYCl+yg6dJbAAC8sxYgB1E8mZxZKNaCRpTY0NohmyNd9kQyPbxJvTo3GpjvYS0qA3DMYTsiIxCkcAa18HMms4sdGWEYACd/htqMgOmQBrWHTDFQI5iBkezZtEYgjX64pvS1Otjq3RyQo31DT5WPckwOKAuiNwlGCnrErmd6lxxljOwiXLpiy2TVgNVmHLQCZJ0psBjxEjECTdz0WXHjkAmem27jXcAC1YjRw4aUY4OGsbbYDMMfo1deJcKMzJ+Jzg4b/u3LGS4blBR6eG9D4Knpop6mC+F0cMEOmDgM15RvZbzkACw/cbmmMP0tchkGlwaYxPkAhp2ge6dDRJnTFDAIDfya7wApQaQRk7YCheLQKtP8Zjy3ZymEeEw08k0ajxKGW7DMYSNmThPJZW1AqB5ZnpIKpk5ME84aOOBslRC9MPpKKfSIIXi9SM5WG2zjfjcEDQ1LE4SiyG7U8rDFKmD2KQktFv3MzaAEN4KCvtpmxiEiea4XTAlvjELIDYXDeeoTkB76wsfDeD8EYrAUTYn8cZpGmdAXbkfB+EAmlPIhovAV8TcVptWI2g4bz8JZepFNxSS1ITYKlqaXvTKl4Ws7ed0OtyQkoCvjchOAWAjJuwV47L+CbgOyk6GrGQOgRreKIDcZO/wW+uwX2EAccqrA4ADZ1wfg58rQbzEAfoxCY7iAgb7JoYkY0oB4QF2pj6ZNAuxtwTFXyXHSOy8ZtqNmXuurjL4qZEmKj7quNk/n5PYpBI+f+lz6XiuNlhxYd1UtiTpTkDliZ5iwuE5/qTbyRgZZi+AnsaIQqYaFjSWBvExFVvGBLAa5oIsnb8oNi5CkADIDcinGIO4Cbrr2U1yJkZ0M9xY3OMP6JtF4C+uLv88a7wneTWFKAA4FxY6Ynhb08n4AeysRrYxjAXZk4Tu2nbDb+QZbD2H8nG+y32GITDJRNvAXitFIoSDvoA0TETfaZmqP9RFhd5j+E0l/SEAIAzzp1EOylC4wKNnGZIA9QwBoYoqjZnEq6rSpZhgwJlWm6pQ3riHCTK9Ht5iDWd5k0xEUAczjdJIPxAL7IbGnShdAcYjX7seryUCCAcoBPNWApQSPcG2UCKgDSFNK0mh1MbyhuZIxmAAyKx7eePgAUv5oLI0pJQczRl9GcYjE8Rs1AFsta4VN66+zhfHfhq7YEgliShNkFy9lomwzp5Ixg1BEBQJ9JmAQegQPTm0JgFpboyCpXJsSZEm4yNAoaszMRqYcMYwApnQwzsfbH6c5bArB7ecwW2LGv0aNSx4Uo40Pa/QSTLHTmZIJMp5ALlTD/hjb0ypcHhQ9ODm0Hja+aWCZ1cJZnsN9eGetoKQzAWGI40Sewj1tePFsLVbvwQwhQC12MohuU9YBw8GeIwK4a9gRU3mWUjdDFvSN0rUZ1/TDaY3xQENuVBT3/JSPwt0WkVo/XfZNpQ2atQ8qI3AgG0jU4Rjcc0izCZJ15xQB03IQNI5YwUqZNaBHjG/5KAUsc3LCxSgA0NarIr0w+9hkVAB9uawqTLNJQNDXbxiNmBL5LwBB8hGrN0HlLDooNUIU2/8324RHge0xpY7KDJns8ELAAQTDVyhgCNMGca0dNRZmlW4dzCQ35OcZ7Uyt3hGjHMi+4ZWw0PMZbtBltGdemNdAThw2c2acbN2H+sQAMEFsMrGzJ7vaMAQuS+k08ho0UwwaaTVwTMRhIEcJxqTQyjzDQUBXkafoQzE3rQwA6IAG1y7mOMVMcWUoEEDTw41ixXImNvQ5AnnTd3McCIjcpSG3RXA/RnSwzMKBR0M4SYx3jZOSKdrMzNFAsMLaYMqsDlNDwzFmkD5CNwlmvhfMQRosE0234vJ4YNQMgoKesHZoxICAkDccYU9AAfNljijVrwWXONhxYfsTNuRsxaLHOZogAcyGLxAkZRuKY1ZYBh/gQ/oDnbR18bLQz80ANsNIqABlMUc4AJEIIEFxndfnRxfjU+sdqRIl6nLaNF9A8avMyWJ8DwzobHSwqLONLXcKnpCQGhyBaWMGkOek5R0hllo0toYOCx7XGMt3KFoZrQ16FJ7WMCeBpw/dWmFRLxrEYNOVAj532fezqGuYyLKDpWTrRI6ouaNhrijOrRFtyModGHAgew4DRD2C+w0KN69M9141S4CDmhe9i1qizyhvsjF2hgFwwgoCg6cbZYYuSaIRiNmEoiZQvEQEJgRCxbVnskC62BEqNtUhDvsjJYK6O0Dphs6BlaYIyjKyWG5bJmkZMdkEAIrPDcTxmrTAdfbieMEWBiLJCURv/+BpiYrLMwpQNAgLqWLePxWoZPzstpYWXDYq2N8qVS4HXx8YawxPze1hhx9L65l65jEuGF4jHoln3Y2frGDyy/jGaCkyNxjCzJqpjylUb40zOgHEpNTs2OzZqTjG6RoRTWdQTamyMykviZWVEgzDbiAp/AFE4ikpNtb2BMMrkhkSNNmz7/EjMJWN7XUZ4FTrERYYqbzNla8DjUKAIzcTJphmQB7L6llAaCITuwwV8wKKTWVEskAW90AshMCWDc4CWdESpGPemGTi3lIGSxMb0JwNOFKhobW3P0Zo7cIlYgHwtQYpnuIbtRbqBFruP1MbS8PZ9jz2ByBBnlaDyzFgRuoZlTc773FDqYK+gO9RsGUBbebVBM8OG+QTOB9BBhzr0zbixhxYIOaM0oCYuPMMb6sNLTGEIzCIJuBYNv8aItNMwcOSjeQQQ+cQR4Yz0Dv5RZkzflhjkOHFkxeu4u7UIEgWsGf3xRM4YKTIBS4ijgQT4EpOOgoAC2oG/pvwPWaQOCxIAfDFAxQro504PSwnOwzsNT8n9mSRcjc8yxhfY2LMH0qD7pYSZSIXQCtRMfnZPMATaYB1DJyhvJTD0kbWu8omWrN0MS2MKCwX27Cp85VutMzGKhhfADeeoZI99WG82TKmhucYECeFg1j/JYldDZKMPu2zN+wXE9nr+oNqKfzierEIMxffhZeAxgiTTlsalD09BHK8UriGPkiWHpiL1tz6bRtUxGwKU3TppTYxppjNKNle65vcoYNqMQvfnDJUNvygf30mcWH3pjSP5bogO5AfYYmnZldWw/IwS5BcU0F+TRe5ryrEklhyNy72GjMPYoRu/cF/FaVsN27BIO4VOgJqlDkAD95j4mIG5wDLLkVTA+nF7aNzVYzeYWXgNlQG4J5L0MT6GsirNRWJqr1IXwZmMHqGRqjfCpmiCPMkZzkNZpAOwjOrLAq5Cnpg+hBN2W4gwOzbjce1iqbBQBjjwNbg3amFDTAhkb4CcWgAjPMqFWDHkAo8FJ6YJnpO+3GgQPzoiW/6PFDZ2A1hwuFKKcgFH0RiWwDLObdDe+hmu3MPrlOSMJeJTcc3gkHXuH1YEMqxbHKRHAd0hruB1YCbmpo1VGB0AgiDjSeE2lGaDspIuBjjJ/ef4MlA7mlGTYERudJI4rgnHxCYi9is28+kMbGu8OxYzjADL2DvLW1ksRcpkpoP44DUkhmNYIFg1xsmyAAJZD+pNGSGIDraFQSvrPXJJytC492r1AZpRgUAFXcBT59ZpwGsXTzockIlkOFWUt8HGxgwUesDXeCbgA4E9+PQ0AbU0oGHEwwgDHedxp5WOgKAllAgDIWHL0s2/OzJ0/zRoOQxDNYFiNEaAAOxCGAVNIBTEalNgTyGzJgEZRpPUGeUajqgPFm+JrMCabDHIgBD3NC4TE/pDHxrrEh1sS5Om8HcEWQ0fkXKTQ3FG6BgBh1BsUwoxWMHTE7cFYTMoSmZiPQUoD+dJKBhIviETGD7nHi2P7mCmsBBoshU0v+wX5KJ/Q3+YAk7TRhwCpIQKEvb9SdH4XSALgePUTWt/jrTGvnb4hCNzgHaTUqQlkNH+K4H6CyaY2lsBMhg41wdQWOcBvKGwjk9OknzyMwXJOUxg6U+NEnJXClcWikZx2BACmPr7SWgO5FEhRLRm1sZmob7T3WfQAAXsaMeB5LEPtzX5xm0rB7aBeHtG2+AVAOw0cA4xbd59RtZahm8Edl8W8CLsn77exatBy1HWdpl6E362k7ot/2GxAsceJt+gH+0zywBYeBISrC0QCGdyfIb+4D77AmKjR2XtnGnRlhCbyalgF58DzwCBIAfAJyWwsqYshrSiQFlnGb/mDyko3pc04KyllT02J+FnaBgtEf4jW2mPKIm2kazognd5MBjSemORmDvtzpmtUDJJ9jNTmVtGxiJBo95vgSL9MIVNBwAKzcEqBNkQAUkjENgLanwyDRr0jnoRUnAdzhpUC2Vdx1yxnVGOcErbtg9gE84ac89wgA91MEFALO0xkgBq0wziAKYwZumMLYyVph1qNdoA76eNxhgE6x3iaf6ZPri8efe+hhbx1+5JJAz/SOMaqHdhlgIwVDqSUs8VCZqsJSxmLSQe4HTAKF3GbEATMhtVplNMbBFt3OG+woAyIdEwys66SSNAY+n97Dscpc6gcsTQoI7lYRMQC6hOZY3cuBEKCYA2TEjWOWDZTEyEbMBthbJaBwABqXgeNToWxHgHDw3tMb6JpQ+DFGF9AIiAAEGzeyRtF4AvUbJ8yNlZZVJSWgLpW3hCZREBSngCkotaWPhSJGph7iM/ig33DWZKK9QATdSSRSzUmU4rcihugWz6fmznF2JG87DDmgLG0D0kYW8x/SG8AjX2wEusCfJGilAjwxtVXFlTkmo2TkbxY82L5QvpWphk+hEKWlmeN7kyPYjdJGVLQ0c7FYPFwnGkB/PtWJ3Q2VKbM2NdqYpATAiWDHANHa67JQYZmCojd6aZcwAodYNyxDO+sh/Eihh7YF3KDaGBhBuKoo24AcgzHWpjhUwJ2mOUAXGFvBbE/DbJWNyK5o+PVtMIrdxWxDW0xj92zisXbhgNTF60CdwcvlGEfDYMWPqIM5lhjDgssxBXDK2kG2OPBp55W0MGm3FDK0VhZwz1caXwd4MAKdooIIGarGAoV1fTWgoqjnZwCM/syjwD+wA/yeUnAayjvyADGt7HjdrRep7jIFqdCI2hAB5VMwNYIevY+Qcf1zBoZcSI4+AKY4TRJrIyXksQeOs8dG5SjSJiHiuSiDy6VdBKm65JVRhlB4PTrYoq0iLxYUI5dXj7c2JN7Oy9l3WGNDYVwI/XwkYlmmNbOGxq4ctPkK2xSqCnGjryGC2jPmImTWy8BYB2Mt/5hUAfE1qc2PpqbiQznSgy1THTmW3/zXR7jrlJhY1jDYXsfBX1tLHiatfNcgnzEGcb18WsLiKBR7VQhssUWWX9CNrEbhMNZ2moDLbWgDtQy+kbT0w4KGV3sa8RonYyNQjGpiKmO3CtFr/oSBFk2DLutbTGLVjCByge82GkAv6SJX8Axgyc9jMACznGtSNTviNd4fE1r7CWjekyKwSvGMgQsC3L1MJ7EEsTCxlSZCoolhpzWwAGHuABvAoYlMGcALwYn/VwXwA21mZRoJumLGa0i9SmJNlnRMlsdOZn6eMczLRMQRj2DTGSiIWPvMiABLKMmOx/pDLsplpkyrLERuMu3Ad6sdTsCFkG9Fznd9BMs6vHPQASbTCym7OgtxqG9ZiXL0kVQ3ty6rstcHJNyXIEITKrFIZAT0xvXReAgFRFoPI32mZHIcy4mUALEbYRqAHlaClgL1bxvABJ/4n4fIMACCyxIRQncYKIwLQHDEgC7UNlqBbtOZx5i4eAW4ahKMqHilSYtARm5DwAfD1qotKGtkjDjRGnI22YY3iBSTx1tgCFULWW2GVhrajOHiaEsfkFvxuCEDRnyxvnwbAQPSSdJ3yhWZl+jP9m3YDC1IYwPz/obXkMXgCAbjCamZic2sgC4potxYe3sGcoD8ByroFGzRuIW10KYq2K/HynUZvEdp/AJDQV9rjvSxEoDAGNXweDxiS3PtpbEugAnUM3ZYyQiH8hgtbEdA4C1DVAZaPeGvMpmQ1DFiaaN+GAWijeu1J66R8x4RJAPLGB1CjPVpvLEDgBx8dil4/WjO1RqQwCH4ZWhsQRR0eWSdIWiewcljv3BNHwzEWefpmYUHfj4jZhgZYZUzIdsUIBK+/CK0NK0m4QAaAaYuUxTlKS0B8x+5yTc5zh4ADZCmlIRsqAAUsfVKAww3FlJFUx48mgFsIy8N+HMRImxRM7VYLjpDGRqUhF82TG/g8pGOxHexyOGV1ZoVA/tLthwNOQZxkeLBhMYBDDQIeN4gcpALHLE0BavkBV9OaDYepxjW8DYT75KTPomWUs+JiC8KG+7TimlaYm8ZDDjxkOkwR4ZVMMIfQ23sRz6amk3oO7zShyHhDbDPDIMEAH9j7WQAyJ2n1MN5/hpRlQJbbkg92A7hMR6gNXMQsVjKkT50gIWQXamKlBOzeFksS2tBEuwUpCC9OGpYbhFBvJGN9DTohXE+LcoahiwxhIu2PXzJtfTEWVjTHhIj+16Jf/hlWcIsVjORxwT0dVMIq2HJz3scgXwBofm/IHQJ8TIXNBlICPTOmAeb4pIlpM0J9/5TA9Ti2Cv44/RjdKDolhZBNok+VtMPcAGoE2Dp7S0xfloDbDHFGvSV07ckgoB+PQKCrdjHEwuHN2AnIB8Dmm7pGemBFu0thjNq96jGb2U51CmJXyloZ2ABWnEQOAqSpnJWO7nkYTxnGGZzLHbpn/E24YZ5UNVemFnDJegTOODbImceAOYpAqsdi/vCaOdjZc3gMGZkwRD53BcpL68CT6NxyFKsLS64jx7PyCZyx1uOAdSENWmANkB6V7oMMpDSPLjRGgG49G+oYFsNgZGgbkU5WBVzSbFhuDi8bwk0MsRPvsxCpsSQBR4BGhCsVXhvDTB2oZJ3Q77c5DWdXYFJ8JVLEs6JhGG/uYD53EYrEHkZt0xomG5GYJKJuEUFAtgviY4VQ22oMCYJqlE9phS2NVGS8wPVApmPRDwZj3NMDUpEfDcg4j1TEKgC4qNzky9PDAnRjijTvebqHhw2QHKUGvgCt1PYsYZ0MikOPYjS+VmLkiozF7Y9W9wxgUwUfsqpPt86ItN2ah1KIpg8vH+HAYbhUw3SgCaQ7XbuWZMmES6DBtXeDlie6kGWeJLN518N6desUQk68KKRyGXJ8/sa9Gk1ubvWapRwIGb3kNa2GIM4IOjqr0xfA4fOiP7eW8gx3wR2OUyphAcNT3hbQADGuG4ZWxBEbKNZBEB7bBHhjWw0ccaCKxq5iLqIfzhl/4EXlj+Ryv95rTslaqY+Q0eYghDwiXG8lMPlKPyABSF6ISMzPG6lnT5CG9dKruYIMSWrEZbDPVvjQo2ikay8tAzw5Dgc6mOYqOcoZuVA94Z+ksT7gONTB3YYBSwYqYR4sZuci3T3Ip7OXzBOJfAAaiPjfQ2XFgLWwXGGkEsKjhrVt1f9DGCIuHUqLXdMmRgHL1z77kNsdBXJDHf4VCADbxZEsdgoAMfDaDxi3w1IXqrFdciAXcTATRunUKdvYNUxlb+rqMgnQObVPKIAJa9ojG/fAAm8DN5XSyz97FbJG12jKF4juNw1VgVnyhYm8oiLhjgFJOMoaTi8wkxHgjVG/F07I9sAd8skVutEwt54UQFCxEmBZgWyGLkjbxkFM4BEC7iu47IAW1Iy1KeEVLQrZHkMLjG80AGQRhSFgCMZHOQUM2IlmcPvtwlJ2qDRm1inWa2fUwRjRt0YbGrpMEN00TDUKAAkU0SKa5mNfvmUojCyYf3xQctg+cT08CDqkqVUv0wx1vBJ6ZoSFoabGGmN97HlK4wpoDUwBRvePNsyQ0X7nei4qQAzdMHsRmYHO7TgGyAzqJWPY+sxLhYxQ0bhUwBl0WEPFhVkvWP7/xyfg1HQ+bvIIxriI0ea67ucrJA/5nZvRi8KCYSY2/yjBGT/kvhRsmY0at7DMzECk+ZzMqxNzLGNSgRszrJYzOgbe8CjQk8NA8bShrA0YkTzGT7t2NXCoiMTaAMjxGbTtlAAfRF5sMNpGi9wl+1mdH3lrnSVyFQ6inqYdJpWo1SpijeiHNOSKs7WIDtkPg748vd8jwtjlTxWMzoCbFgcK5cd2TyIYERm6iEDtaZCkFOGHR7PURoxuO6x58+MgKOK2IdjgJCvGwsaMkM/ppRtjEGaWmQpiEb7ixpXG6b4Kfjur6MR/bedcpAAfQCMl4gMun7XahfE77c/TDU3AZWIzQ/YNJzctGG1sQS2N2QyWLSdBBwLGarw9kfvDxyWSBJMMcCRBLE9G4rgw3qbme0wCjeuAi1ZWJfaPxlguUMq6GixTR+yeBYwbtSO0MbVe+iYh2Xm/I23c50SB5POrFgpesZw4G06b7tcK3G/9AocDpPl11YYxixUb8gsQcYxNEIBjoYXe9rzuQ1Qy2hj2W1UlEHWAyrgU5xEfEdyEy+ABAQ8SRYFqQIhmB0r2jEiEgLbwWLlXNRxk8iEWtgK0L+0xocEwXhsszN95igpRu1GnXDbxkJAGlQmxBaMa2Gnb0ZwgFkqX9SZ0zTCPQrQjOXkow7OGkbVaYm3MTNMcfFFOSjqyz1GMe6Gr1MBHxi5LBRoRf8M9uGuTpTgxraY39SZLowTLGk9qN+RjiANO9iURNXv2ByzFx0oJlkfsZ2qxmHGayUU0ebqqgg4Yeg8UXAnowY1znIWwEnaRepxi2w9ErH3mgtw5bEYdt5fGw7fEOmHerGJSgQuMzCgFcpQ8WGZ4wJBCwEiFk2hFA3PkHhLjTrBPcc4OGkLXTENsvLGu+wyX9jfQ3Z0iaWLuZ0PSFqJNZVSMdDChPqjfmYcaKpRt1+VdzLWSQqlGw/6k0lQmIxbMqb+qGJCJjR36N1eSe9MlAALcE1mpjfAAUdmVAEltxm0ACchZX4KlxYL4zTCka6LBjphziAYDGifg/e2XhDztEah0ZLYmEfDZzZjlAE3oZOTB23cLN7OPRq9fMR5LWTSSkmaMpUA/hygOkphbtBMemi3srCZgdxF3mGSSMVZRB2fNf6c7gsIvnvQiY+GiljHSRolTB3RZF7i3GIbyXT0YNAwEtY6AMNlaR7QTe5tGtWwS45F7znKG4fDZVnh+LGEYYm2pi4ZXzudTsG1LD30Fnlz5jGMJjYMoCdEEsoA08AkcJH+TW3obb420qC4VN1x4GgEkk0XXpnBPnKWy4Pe3BjMXWk2LBH9n/IcjbGSrDfHhlMS3nHG7eNFUoNrjVsodC4yUCaM8pVPgtDAELJuKaSkPhuA9eKxx/c6FWDwo1OaYjIkXHSSDHGOLmRRxUCbjedgpQrnJduWGe4z8960VC3UQJfjIJBW9cUVSibVdxzgeVTenhqmpnYxa2QBDaI9YsO1NIGQz4IC7D8DvIOgjCJsc8AVFlidyBNbg+X2IkJvNk0rEZyBiTpWlvAcJhtlACW2b3NSMzGhcYeSVmswsdtmUIsznwi+4JKhmyhP8wkFzti+SMxgyqhlCAAMqZu0CWawv/jSSUvRs0ypHeGTdyScPDWsWGj3k+UY/acS5xHisdoxsmfSupgwTVt+RgnwbuUXnREyTpQqd18RRzvC5gNPaE3M4MNNyZR/ZQGCkto2yxsR2poo+GUxwK1dOPo2glm31D9LwF3samxGEb1uljDWRVJAHyeMXNgI+E9Hndeg2kAjqzY6wI+/JyVyBQlkyGE+g2WmAr5gLYXbpNaGYxisBahuErAT4YnXgggBUb7AzYXjDLbkYu0serYhi9D0JnpgM8cZyk92BBZjjUvFPR/jkYbOmANipCijX0RiqMEUO7/dN6/m+4sBkRjkwyY7K+yMVjGbhlUCLi8BNrAGTZDQoKUF3KYXj6wDO76XMB8M+2p7GKmBAUO1Tl/fNSy2NvYwqhoIjwdlKxkMXaGVtXBQktGhy0cbnhdPOZFisYi5BKD3SlbjxMHwpaejBCxta5COZxwecm+W/hAD+hn8Y1tDyfKM8Jc1bHax3qSc0XhbK0xGSGhYkH1JhQbQagATixxhmE4sWy8EzdyG4aQLgLLp7Yijs3mo3HlD6ZCRiREUh8FQJrxFK0oaxPh5BGzCjOEMkyYw06bBsAX5ReJQLYRi8wyCF6L7hhZGzkcJyhsPLAqAB8WM2DBqi3MqhlbSEbGbFCMBJAVsjXracEo0+7bVZNlaYBjTY1eQzN0S0l/FdroUgSTMrhqjgp9WYqX1pzJgdoBGhtpUB52lL+8DLMRXc7kRlOjz/bCJiML0QFQAfYJtU6wn2lYsTmzeFNMHo7v2Yyn7aNL4Hz+YasKmhgtsFOEbNQAaxGMgiiR4hzQCKMZPRA7KYNUCtJoK7k0gUBuMNwCg6uQkGAY0AH666rO9jBgqQAWh3gRWNVI40JiE+GlqIQo7GDTFJ0748NIOQ57HMGmJPalkVb+kNvS5LXChIoKl4EvIZXCMzM2AUsYx0J0lx54ZXaYNmBnBIalhl1AJb0SgYCQtEA2QZW2XKBLdKCXMyTTG6GiEzUD2w0LkZPgLjqGXCvQctspSKoHaFHZL/GankplKD3DNeYZPRzx1h66U72wDlo2HfRBfiMjGBC8cTiaiFLg84Q+hXSGx7DFwRn77xeZYlBdxVWBTQg+WHHYHymYTodJDAryjXcALRILY6b3Uxgdgce3DfRFL/i9X4NyxwqARqEGcWHLYGGsj8D9JGGzTTBk5oKR0b2ZHTMbLwXIIiJWFDOPpyB47TqZEQZ7ZqWF/RD91BjnMql4gjWI8gM1TBmMzD6iOqBeJQJfkteQ3U0Y4o05eGNNMfH1Jta2SoY9P1CqGvG4rIiZZQAuMY78MNSZl9nVOgHT4zVW7o8zxumvn0nMhpQWCSiZ0vdIqYI5DehgNVjNjPqw78B9GKoHY4FhUAAItZHzcyAhN6orB4nIrG3cGiqzcLGoTzBu1CWQxPoiIUdk/5DzbBbLobLGQMHpZZLHJ+VaJGTlIwDM9JpUBPHGEIQvAIOICEmrhEkN4zmQGTOlBVg8SA6b9MNomI1PPflZlg404xlv9pN5GAkgbGphUpIulgdjkLOGyhmPqBe8iV0pivT8cU0g4Ez9eTfQ0TEZAxBsJOFisKfzCWLHubm58gwROrrxIxWECaPnPCkXj/a5b04P+JrQo2wkbvp4xqeKNYSyFgNXFEXD/ORvlSmJoHcAFPTA7xHoTsPbAU6jRGgM142c2ZGe8ySAJyTeXCRLGhYI5nqpuAgsAfPXEa5Eyh0a12MXk8disC6Vn2QzoEZUWdCiZzcsTGuDp8181yBLAOVOs4sXy1tuvX9Oa86IN9EXWmSCrhiY2EjnJMQ2BukggOaxl97ALpiVUw/OI30sfRho/Q2Vdz8cKSQhFecMKUP9ECupgJSDZpw6KgtQJtyIr4pqqVT4y4RamE68GhY2D/EwjzfMmO2wlqxsrTG0qDg3w0EOiy2QDMdRo1297LksICmtIvU0wL+wz/NhCxNqJG6bTTK6XeWxsIDwF4bKY3VMHFNM4aWkYAHmDWDAz+eVzRi7l2GsgZOtyQodAgNKgHO/KToZaOtAoSKLgTnmJLExioaD1jymeSJjZ2ci5I1hViKqj6KiQdAQGhkgABRSgh98HhFixTdcWNfiC5yACr8LaA1cxI5KSX41WfAkOMlaG2MzUWJnyoVCeEp/B/KYeAk+dIBg41+0zwF4YEAbf47WgCUvAey7Y1DdmIL83I5+TJLF5oa1tjCyOIlmAmdiZwsUCi2ScSxG1CshagYMTCheJX2SkomiTDBahgKoxkAC6sM2Vxp1DPmCixwyOYaRepIM2VLgSlmGaeg24YSHi6tJ7yJFcJhUcFBMYPHAMKme8EdlkfyLjFlgIcM35Gt2w6wuA24HxrZ2qwESY6GLDX0H0AhRVqPhoEd2P4jeemPSG1noYp1DVSGg7PGq5ueLEkXmaPg9NJ33Qk0hiBeLNRH/Ssfbm1WPfvioNkNoYCaAsHcEZc3VZhj1zLLMG/UwcZA3XEEsWLOhTb5j638kFy5hjXFwIMkJ+86w9C4xYGAiMVKA0xmZDbFbiHRZNbjROJqp8ERlyr8NDUucQiF7hjtSgREbspQn0OYjAGzMHY4ybnHAohBfu/zkdE7h4TGG6ZuMNQt2dbbaJPvTYwggFYno+LGn5sb0xtw+BTGDpZY5ZmecYP+JugQHOhb3zysv+aTQUgJtMxAdrH31hWBJTG4Uapk9TAMAC7YyfqYSxifZiMlexK8ZsMABl0P1MMfhs0IMGUGHEh1cRXFsfWFJvBCF9IPXDWTBFisRVRllYNeYYaWoOa8JPjaNjhIrH49GBLB7lYNJLf7htso3f0YSvdRtBOVzSZNtwJwsMbcyx4U5VM8/BbsN8RnX4UpQlRpxicw1IemCKTZ5k9MmOyKY4UWkpAyVWoZFeMtxYtVkJ5Zg463baGeiESou53sFmnuIGyGuEMSxr8QjIjJHkjDECwy45QAy2GVYsEfRoywF0VgTasZdUN+4hRXrVoxKXjmJtReu94ErwKKXxHeJlw8MHwFcy5G1xBuYP+oA9iN+zGngAYMhm9OHkw6rThnZ2M0jTQGZE9zykbWUSA3Gx5nF9aaEU3WQU8TB4KRp5DSSWJ1oH6E49RNrC4fYcu9xH7dK10AG0RPUW4xMvOmOaguVXBEcAIauukClbYDdKC+9iCET5JWCNjRyxkY6NhMZAsNexGYKjMgsFcs0mEZ25Mj2uiOmHxqU3a2L4j8sNVJG31HSEkpBOBgQBLHA6hG3YjePvKz/05/mOkNe8Bu+yNQRmuXntVBSAiwNY9LE7dvnXpmg9blGt2SG8xoM0WS3BMk35wD8oWJSE+fPgforB7nldNd4huSoIvDVC4EA+9hlxMjaGG4/LZbhKyJZrBPkNxb2unTCxqY0UwobCvUB5JWIWiNxiMs8JeTxLUDZKYcjDFGuUPw1/unzkswFgyvdYayA1TDpphJS9rQesVsKFxjHQzkjZUKNkJBMGU+qWDmmDEEYwmNWSGEEsW6WNREzrXFKUwmVp2CrQeRkTTEAQBjBQbtGnXjWNoHbs21V5QS9igYzEWEtOUSDRfoaIW9r/OrlMV2WB4TEgtmbyx7lm+0UypZreY35ADGSx+qOPDMeNUqzUHnYZk7tzae4DEWyAMPD300bnaZ7bJnUsVgIFBwyrEissAQZpsMbbT7LOwEMVb30NbEopeKUuOfkE1ruF1UNdaY4JiZXeJSSj+lgLIzCgEqWIZcQJxiIfkbgBBhGGi5A4toZMCXLsZM5itbOW0sXnYXxFnB4bU3hr+2frkpPrARLBgz6vGMsT04BQAKWK3uD+YDSFyNZ5PtMEamJMiUQnkxXd8aGcZXY8tqcMNuca86J5yW6lTaEkQ2jzvVgyp0wZukPPP2EbhnJ/GGpkMYwm6GLfucnCqCh4ZmSxDCmhEkGahj1IwWoaoFNfusWJ6XleiJdwRAXyStxEgaAjTiZgozLyqZq+8p8mkbjalhrXiAmECpid6Ngi33PStuUwE9RZ4gynog43YliGDWCSsEbuEw6qYmQpYSJpZgQC4bxkBraGV17ezRsgeLyfYt+NXImmizDVWJPahBkRqHgPHckggEAKZfuKfKa0VAH6gjXwCkJlwqx7MlZUNQ9E1bbSKgGBQ28Vw8nccyR5qaKX/OvAtGobzHoaW+LViLwKEQAD+CYOWJ4BGb29QfCej4OAChMpQzUmcyseXeXSw3IuEIMNRj2tyE50wMjQ2+JZiCiwKFYnrQsAS8sxBhE1sN5fGtJDeDDk9M06VhLqCogZJ0QOlhjylk5UZM/NxEpHXLbWgGbw1G5FHqxdUZZT4ZlhkvQxulAHxhlbGnohCQ8GFKD4saDSwJWGeYPU2RlMAJ7FLcMNqJGRvJR4friC0rFjCyMOKR+gQCx4V8ACaLG4SN1iRNrjJjvhfsz4pqV3iH6YyUMi4pjDcPLMEikN1bGSngcBnnpu3VIUzsAhE5cPDfvYjGmgyUYGyBXfOOKUrG1PnTD6YbBABBnGXVvYaQISwxrR4Yl9tAAPEjRx7jpDPCO4yacHqGtAcVYxvjLBaphM8NTThzCYxcZh7plmkCHsN86Yqz4OzRGR7wQ4ZVXA5WGyUbQBltP+OjpKliiViBiLDOwJowJzWH6FyMYiZ5aTHC/q/6BM1A5Qt5ce34c92ifNxI5pzT5Muee094sudErTBMg4vewqxJG3E6Q+GF/3QAW4qMvhQOyvCoANs5w845S8Slp8qPQ6yAKCY0cACgpQjBBI9YyWRhJPy3FgzphhXOgOY7yRjZrkbFh8AAw0254saWmKzI2NlhzsNzpwzLgW2ck+QA3hFKyiFsA7hTYUjrDUCxERHjz1eSQHHY0Qe6iKBx7w79+ygTXg677NZTEzoAafSQG5ivAKxhq2Z1Xg4XYs6Rmyvdb+MDCYx8HC1fsPHcdVE4JRn+RPnFCbLgQUAlrDUezvAEAmlgxWSj/G7DnYq2HyfOCUa2AB05msGJY30J54A2MbhsgmV+HiTFtdnHVIyyHjywpMSiYsShhn7Exg1BQ6NPvYX/DUozPnFzaQBexDwQeRWPB5hrCEMolHxMQk3hXrYs1Jo6IVdlDgMwoJG384Zu4ZWLFpglGyAe+pPaA0HYX5ALzK5qjiVaZeisQDQPxuCuO422AMzGHKaVl4lIiIKkYguiPqAMN4K/AeiD0ucHB8NF+esPXJBZiAw0t37MkB1eSZs/GrSUkrO3XpenT3koWr4SD8dnXCBnQscNUoRwnrTpRi9QEnTa/Cj3CYdAjbO5qxxISrZypQ3GITZDZFhkKmkdOkS38LuJ3rDOEmF5kyjABMbhcYOW04MRgDYo2lphj7tlAgidTZlwEMXyCoCawL+RpMJjbYUft7H49C80se2gHDTJmuWjqTDVixwtgc+CTEVpVkd00XI6sBNEuGOuw9O4qd8VFBYBai2RR1tMRS2OUwHkX6nKNBRGmQkYa6SaQw1kZN/BOYgLh4U2wF2rDswmYmhUFmbXDMlGglv0lUm40DZxYRgjAiWKfw1MKFhmjOHiTKbLeJlZIF0y6l4oF2GPGzGWQW17zqpgEBAxaSvDMJZhhXTBCEbZMtHHGHSAhxpq3AorzjitNmqYP5sNEAK0Cx5YacVd87m4NpDRuTpui6YbRCBzpYaJQtdfk25lWYYaqwjZApJw0UtiRUzuzKAYc4FwJoonlLIvOGyi4RHtExYtQQMlSVGQwqOCs8B5leoYs5BmG2LGfOJPKcMHG0ZvGwIHDwy3iadyNWpGM+CjTrq7LAzoZ1+JOAKkNycOhn8jkhRHKos0B5+wTYC9vz8OACh9KLvomyXI0EAInMwjjw8Xw7Km0rTFmIECxKaBKnfgnAARUc5qLlgEBOKDryxSOAOMKNwyjxs3W2G4cATbMS7IOdyRJy3iIDkFp/ogVgjOchswkINVhNUlj2ak8TZyONVQzzphWQBBzgHCiOZyIl0CXFj6WY56SLmjTzXLAVPjIBpsMUahRITPnxvkr16XA5sMpKm5hrczhmxwBMvAEghK4mVgweQLs+LCATHTEtvRcQVMDIxih2KA4ZMYRbIWTPDIk0SIczdu7SiMDKYVaQfEruLI3+X7MGF+kodLQPdESerFGqZW7gd+GCmOZlwNrQEmda/JQ69MfmmFqWGvlL38k+ujBKR1LLLQxg1PxPYYMPsJRGlbDMz6V6EzmnBfP8nJGULxWEcZwkJEYijUwglmpGCsOeZknQ6ABt0wCJGj1s2FWM0ozhphvpCfbmANkXzXh5mBAYZp3EFLuiVMUqfmjtPiMZfAzQNeO5I/IppsaEEaxdaYYU0n3AM/AcohHTvl31RJLYTKUIzhVCACPcZf0Rd6Gw7gMvdkxuHe9jZ7tbJFxvTROxgtTEHrYdXzJkmjJDShmFvwyY3BJkC3SJZhI3amEqwEJMZVSwtyGYACpnfmfk0ZIby6N1u+ABYlBxrG/Osph+RMPbBG9EEXgRmi2pnDZywT7GnXnJbVtnR2M9B/BNQ6FR7jFiAAzoIc2Z5K5dvGQiTE6hi922XNnlKNr5284C9QbhUbjNjlgW4KZYMm7PphrUTjj4BZx8MG2BiTZZJqRQygrEVaUjnBoJvceWGvw2Jlgkut7NGCqixjsPrewcPCQJi46G+woeY9LLkCF8iioC5oep1FMcQGOIKU+BsQBwT0HumAr3qxLBSyxBEAiAoQOyYwRF4EyNFjsRYu7wVzjJyWFpQ1+uL0ko9FYerzG+NESE1KQi5Zzzdg+kogNgL2I0AKYaiNStEGGwfKtMwwBRd604jbRIRFsbixB/wwBsba0BckQnngbjPjIKX8klkij1TBs5xZ84i2Q1Y0UbhlzxOHNo84RjmlxaABkkwyc2K6I4PxnmWOvn6hyMiAAUtw4qZvkIxamYnUNm5YxggiE2NhnMKvYEshYeG1b4A4QCtQ1R9ZGFN9qYNQaL3xDLUz0oGiywFeAzCjDFhs300loDcJ9TaWfusm2Vtu02sN6ESMYJqYq0jmEaJFNtpgX853KGS5nYsXq5EwJKDMAB2gmQyUMepm2CxMpggyMeS2ecYAmjlVLBjSC6DBA3It6eGpNjkExSWAlHcGaY1nU4/hKFBRePDXQoiaYmUYx+IbP0OGS5Uaz2ZYnyjY+RrJTG3CFC+Qf2uqnwJwACIq3CVgAWjHTOYlsTBCZvQ0k748GA7cWXtgO+3GD4DzyHSoce7+LgjRQxcEo2WZ6g8d5Emc7nMZdDtNnUqYeAAy2GKhbb7tNxwvUoDn0d9jGCFjV3VIo4AO77sMBpWmfYczT1uNQ2M8ajAAQoAVeQxhFGBOEoBY07MVpGB3NYC7i5fIAjLK7wE7AHyeCFWZ/wwJZCQcKjkEPuge3hvR/ip8adiNcgAR7TX8Uih82s5gOqCcLAkcAItrq7k0MkYVAAB6YyajRMRvShw7MDE4sQaOckuP4xr0I3VuIqCyQ+FZ3bKX2R/0InqDObNHZYppjRmOYJV0DpllrErWm1WmRSRq9SxGsFREB9xpfATG/kHFMzjgS33Nr6xm9wrrTO25LLIYmcM+yG8bzebJl7uwZCbZ1N61UoRTLXQPoUz/8am19E4m1sA4KCttIzHFiB5gzJY2pPBhdmYl3zQFpMNPGgY1DG5ue7d1sPBEciQ7pCkzYNgGIo1GBI+ydxcBjSAEEfjbXzU4C7ewZr5ncYMBYFAOSY7I7otLMCzTgB7AauKOapYSiNEyGGCrTgCttIwoUauNl/dQEArOyOobF0TW4Clx9xYJjZLuQBACG0xmVvizWG+EsOcQFzIx0EajUwR/xMhJEF/C9/1hwCi8N47F1nMPhRlMTxJFhEsNgDOACQF6cIJomVoYLQcmEWWYpSYIvl9g6qAtGyX1eCSC6yAAPTA28ZD/MlFBIIAcIoHioSRGp/yCmiFoV0OikHtxM2NBMECPyMzrC2bRuNTBRVoEghlnUvYi4wxjZI1jynAuB/YminqYDXgof0MUZHtNpOS+nEtoZtBQx/EbDA87Kg54sQ+0aXo2iBBsOSHax1nMd6iP0gvB0yJcDEhGdwgOJybfc1oC79tjSimvSLdKgPkY00OnKqNb3QGoAaoroOQ2BkZs6BVjZ6t0EC2K6LF2ShSHwo3Odj8xMDGjqWpJAAHCWIARtjYVRmPwNakbiaMs1uPqYe3yP7+PHUaLWx4XGiArBthjTyXzaCusdpT5aUsR3sQkeI5SieVcVEu3L3LvwITkxJRZoJAul2j+bLkPp391qdSSWplP4LMQYwcWU1H+phAZMJHiMO7GWnn6gPBbbOzkWrGRzvfDgALoyslgfkZ/ZywHAw01pSzFZTlNUwoaYMFJJ5Jknw1qYaEaCESY1bvTmgdm8NCEY7IjtqGfSURhgNEIzjFjjnBS7JeGqEdiX/tPs0bFfDx6uOHLHsUujLGls7H8J56YMQTN1EHeLEcVg4cNR+uFdMCyRuGyBs1xDUN4Uo+NDGGsBnNKaMY6UxBHGfbwwiWNAQHU942FBatZde4cPhh0P1DEig18Qdwge09qWGMFFAKDFkjmqGpnk+jYC+fGL5a79cdhG4uktoZn0dyLljoFyT0xJC4iZgCIY1kukVbtWnEfVjZ4+LAT2OoaE5S5lYWJSfS3phFzn0YYsNmDC+UzeiWD4OKPlZessA2Aa5jVlxhw0NFph/ZDXI5dcjZhfNu2NHOA22yAfYAtgz1Fl622zPk4WAKLevBIWK2KuAF5WZgiBUeWqamCJwKuABapjbahuRGwSHaCOdiiwwjlF1NgdpvBIQTXuXKUbyaj1pXgmFAfTVgPAEFnYCQsjtqYeDzR8NLrTEoYYR5NvP5J5DbkJpHAGIKnYVAk+sZ5rayRu9TEWWw60xhaGSPDJcgepQHNhQQAgFOGrsbDa2IFMIz4a12NstAhdQjsIFmdJ1ECu6K0Eg0rTchrPQHCTobJvFK2GR/IqDiVNIGlN4SsNsaYAG6Yi1lsoxAlglixM6Yg/DLCuH8Y1gtGJ8cClZ0zEUpWNLqJqk7fbAx5ggnjQXZqPVzS3TA0x5YAAkscD3oPPPEWaSriHi+IGvHoEViuL57GW0N8zhsgjS7eZzcTuLZmJMusZVr3M7Qb0FJFAUdVAHFpdAgS2GBZgUUKlriw65xFKwMqkjURO/jmcBAgJYTgXJn5lZLD2SDmuNc8WYQHIbhkwR2wkZPMMpzRwZDfQAJKw2UUYq0wt5GF/olvEntaKygUBUA2JGMaqMBYJPjLokA9ikOa86UoYuhqLSU7SB9MNq6YdwgKfJvSSmjwHGKwt5GKSwKyWGAk2+f6TG9AImjGTUetlP5lL6YyIy1kojbDGnkg7KSL84D8NQKGF+I3ToW3mJlnAz/cLTGIyjbGZqCowcQ67yJ/wmRyEo2hkMAHmHDPq5om6sQAP4hW/eC2SA9lxwnGsXDFTFg0f2HVhaIzVemgHjIw6fTYxZcUXiN5xQaejCcWDfNP0syOOBMfJ1rDZKRNtAD09xjEAtQmCJMAyzE3TFakZKZMLMC3MsanBYqXOfVzBfYrYWVkAO7hq9QDpmai0lDqUpCjdPhjrTG3AxMMM8VC0H4Y0RlWQGRH7/YsgMQ4RTHFNEz8zwVjJSxFDRM8/duWIlTENSFHpSryhqlijulEtFMnkZDLkw1x5EgKXhKxD12oYLwdMcmbQABhhuI3JWyZXZM6ssatMLx6MkN3O1FRWsKXmxlDQo5sUI1OTR5VNq4R4xibfdv0bKQeEK8D6iOpRmSyFqjKMvcZPkBg0u1tMR88UB01ucbtKxLnu2bjW0WLZiMZri209bqYFogXrQMDLD/xm+Bc46GkC4UsoNhAMY1ZVcz2LGyQibbUCbq1GeCershyk3BjVUJp8x2LNlq+YHr25ujIm3gw3ViqYFAAnTFvYEWXDkyYz+YbILlHOG5TERPfoJlhnIYDZSG8whX/YwxiAzHnSCoOs96YZp6aWau9YL8lgbGMFd+wqsODQI441uCZgczOsuOWJdeWMdoHx762cMKUobtjfnfs4SID4nlBM/Im+8k8r1tHwxDYBacMxUo+mw/kAOJe3HUZRdDvigaqLUiJiKPLMfbFeyCSgO6ghRfF8dAUmaBSwu1+u+yHuhuMYm+YaFWwQzU2hnJKhm1LBlUaLWxpL+8xrFypkSwxnhlko0jVF7poqdOpbwDKmZ3KjY5KrAQHUQPAzGsYYquT1JWbWTJaMfb9TwNEDa44JYNEsWbRFpw2apbIZ9+KGiojej/DWw2MGDGFMBmpymM7DRjo8UZtbAixqX5TA/K8cDmQzhpiVqkHPeDHDeymCCm0CzAoNdhaAjkgVDVhUcE9kXjpi5eSTGEQCWBhoGnFgCSBhMFaqjMrhl8Y3XljPCDghWDkQ+a7hRn3/8BJrdnPWNmUqZWJQ+BMRFd5NrSGu4ZHdFgBp1NKBnCKmGRvBIIiFrU6lzpIcDAhwhdEsJf6X1TCh4arKw7HGP+iOrxtxLEflhJ2AgaGwIrW6mMV11xIaT2MKBGL9jYFYZBLGLMaxByOJYNxo7rfuJSLdlg16DVNmO7zcAIF5o2hABoKw8NUYOQNqWAD92KsZYlIJxYddjGNttd7DwNaf8NuvGtujMj3mEbz/pjkfSwFgb0hY7ptswwpjH5ot5qONGHN+8BVYIzwAx0NMQpasXCI8PY5E55gzxMw0mFWA4qdmYMBTEZLiA6+A+X2MthkA9Ozuah0Y17x1L463WOLI1ncCw8MeVEeLgncAN5SmnJYGcMH9GiBnLfhm0M3MgBPhiC9OD9QecMeIAFE4hKvjGmGGwLPfWeHw2+KBzJY56S2AAVLhrt4zwC48oALvGocAsKUG/W26qZ1kcm6Gp70rZIHWZwZTTZvjLnGugwA1EdbFPy+xggscjIszAoxXtvOJ5NZ4MxhAgRgjXThtdu3IjFo94QxFGSkpdkDUsA+ZAgSNR+GFsjdcuAFIz2SCsaCyjG9tDOOhsiSJ0xa5UxtnpfSqP1vH7E13OmBZhRSJBgwYx0MA0w/FjuXBw2pYJE61hmrQ2hTZS8tmcmEqQEjgAssHMkYQoBHCZ3vbIWJppo1GO5+hkINm6kA+YxvvcV/saTQSHU+lOc8ayD5wxLJ6mcAlSMptnGNVOf5lJSa8XE4qG1VYyWBu3v0HkY2jNvu0IZ0lLLByiHeHa8bg6GGHeXKZWJbI1QR47otxTS1g4lYCSKyyruac8L7lYCHnK1JsnI2okbKqNtqGmNcO8xeOr30ngfyh82gLksDGRhQrMUkaKWNNKqH1IuMkcg+Hbljh4DiOpowIpWEaxlKP8b2WCGL52bIvdqSZYzQsbkNZQ/AErDenhkRoi3cFm0BeYuMjzVl4uRv2u+yuedjFYGT4YWlpCOOkphmTQOvErvzb3uEBZJFTiWTlfG4pMXROgCJw0rZF3qwqGxeFsaSmKipJQqB7MLSLYalMRaWM/LxaCgzfdbFYX2XONpiXAoPcmliw8aJ9Dgh+ReE10c4Z9SN9jGjUsIUdv4c1BnDz0w5KYZfnA4CcGuzLIah+ACguGasKn8bVE1Zp6n9SsLYzzAsRgEeouhyC7kR/nwa6iVGBgBZO3HYccxn/ycASjCuH7YD0nLbiBjAANsdWcqo3fDW3CG6hZBKRM5ChOtHUSDSgOcxpVAHtRHQJUs+EzjrtJp1BKF7ifDEhhaBqEo+CVHlwHSdKYUtlw0dLLiWIcOSlsJWfkk68Wlijgbg9nieapdjyemSiQ+KwvEbFSANZPSlO3KWEuIyppw4e23BEpUnpSloNLaCg4TE2rAZuEjd8Xn7GDulnAlqEpaWKNmmhraDAAB6hKbKdI4AJXXELnHQBKvEo0gSiB8JZOXkCU8bglAl0lyFQJdIJXW3CkJ1046WgSwEuKrbDxTSGBL9AlVQS6VQDgnQ0EroPQzAlQidSwJUeuCLjqPrxidBQTSL9wH4JWG+I2BLTk6L9xCtEo4EoBrLZpoXAlzEpdwJYBE08CXWvEecwPgSmxUoo4H8CXPQk9KU1NiYIJSc6VYBJs6lq1ShTxKIJfqVBiCUlKlhgl8QSp14kkEpSCWq5g0glLxCQIIG4MSK6JA+wGSYomsCOBpkEuRIYMkxWZIwUoL/EDmQklzKghASLAmmad/OIBZOK1hqO5WZIWVcNehNSYWb5g1Bwsq4vvEEAOMu1QKoggTQ1DIKaUeI9D9jgAoQRiJdK8SyALYWrzuGHjh1SA+y8mnkSD9P6AEzCrPg4fK87H5SwAAIBCsoCohLYAAmISgoxos5lHfz1ypncWuIS342M7ixD7gNHVZPadktVVqhScSoQgEvBgoMRItW23E4ZH2djzXZbX4ycAUagI1LRhDB/cwyIG6K6GRdONDFOrgxwNCRqNZlB5yM2eF0UJ4PBzQCW6kNEWu2UGvkgtuRLvIxvGFuLJMCHHDhO1F5k4EGCCpdK//CyjBQZhut4Iq0OGyB64GrPjuU1IQ0XpkIJSApThqIYOapyXAnmgUzgIT0Bt7jhVQhCqhgYREOK/2CtVzbpQ5iA3eQPhOHq9RYEB5nRSxoi/RZAoFwZBYghgmponqGBQNnQJz6h2jCklQYAEwA1ArgNK2mwAxQfluuAIMAVRGl+QAIIJtdYduQLbkb3oE87ClCVLyE7/C9/ETeqp/YRXYALcQkdA3p9E41F95DO3RpFYIqIu4gNI+rOpVtUh0e1smEJuIXdSKRzXqOCirRYAEpmeLKoFmEtjQh84FvcQawUKOALnfmfjT7C1ufgv9kcmAA+tgz/QTKAXliLXsQUCHY7gP1xnhBK+iA04QUCKAxlsrSGWQ7rqSNkVzVM7TlMKye44B4ARjtPRDFa+UOChbXkLjQdpgNCEK1jgALiZCYizwZoSpcJdFjAu0jOCEgoADEGVxBhCGmnAjFhKZIAGSgNF+kcmF70AsoJwDc9z5OwioybWuUj9YYYwAGowCkunvpEYdgjo4beIontHWPOeoAfgCo5gCZgIk9Vc2s/pDAbyjhw/sAKq8X0vFZQDpECP1CzUAUwAWFgvJtiyqAXFANI037gax0FmEofsqdfo3VAGSQJ50NOWC5cik2R9UG9gsSqMP82mCmIJSAARQhllOrgFJgD8wSfDVCusVOgNIhs94Haeph/AJ6A3CCPsOBGnSlRzKaQOyA0j2VsJSBZXQiWXfRb9oXOBQCJTTpRdQDYqQaRyuA4d6dAREvM0x1wQZDyp1AAiJWLqFprS5fQ+w4R+FUh2q2EuwWAFiAkWA5ygTn2Nu7QDLxNLBGl0jrqYGQN+cHzHhogBh9AX4gFCJci+FRzDoXhAJ0eckIKALREp1qzPUh6LAiu6djkFoBgMiUtRAFwlk79Ykwks+QoQDIRKlo0Ue0W/aHo5H3CUERLPXIJ4S0eeheAG5KhEn5IP09S8PsOP+fVs4ghY5kkglMVakoC5EpLeqcuQkqoCFBSD9K3sG10iJRKldgR95CDSKZwHyJjfKR79sZoS05SCxEu1GquqEkqovkSxcJVlEtqxAgq5nzIxnALzrP6QGnjhIkB5q4AnRWkQCqgEnLjkuAqWEfYcSUgP0wFhmCilVMEYkH6Fd1KZwEscA8RKcTgw62bV2j5EviiXqrQrIlfm0FraDFEoXlC1xg7wok0S/fGmQpF2QA41Fp1CO0AZeQGY8BuhDpj4pXgg+4THuutIFXVQKRK0olfYcOaMKdqlbCX22QQVENH5YQmB1aB0QB+qVDolY0SvqJRVEtXeyvC0i6gsH6PouJdAHg8zYT4pwoxrUc6JQdeF64CSQwj7Iq55QfcG4ZBEbiQqAOmKaUSqZQIPuDtqpTZgQYlHMuQYsODEsS3gruoYYksMS347LqFANwCvH5WSAqxFByqPUjk8iWOgBquKCW6awBPqEop/DlRKCvgxkS1kUA/wAsyiBVBNp4cGsSYAKjEtgOD/RKNBy5S4SA9ExzAdgJXwAZUg8tuY3CnKbHwWDnrRtVs5l6Mhmh19Fk4S+ThxHQJeEMLaELelkWogaEqnYnYUJ/iOlgQCewoYBI+IbWDUdoJGEv6GKURV85azalDryOFNHOWhrJw7zAcxgXGEEAQGjtqtGB1iQseWTDEL5MGfqhJ8Al0IheUFsIkX4CceCJhK+wATike+3LR+mvCX0WBYFAL9EV23Hh7icUjLlBbYlFS6G6+I7EuDEQoQ5BRglrZDSEHARELTieOVbicAlAcHXHfI3Mbr+kAzhau5sPytFsLVV7x7tUT7Iv9UGKYP6ACgiXhxLBvgefkMzYkBoDWfJE2xvVw+EWGfQANGBbcgEdgc4lvUYAqiM7EG/+BKvBLskexAOWgJA0HzCXdzAk4lEwACOJRr+BHHwlhR8xEdGsXvkCqfmzEDhVRuGMg4S1uyJaEuO2BychmzwxXqJvmC87BeyqUnolwAEN6blRFHlmxCXfOwPNgkUUNYQM/Kjfgrq9xlhqMikcNDEVjHFYSJpRj8EXZ6UOJYABjriWARwqEgvrtNxIideSWiXf1omfsRMIE02F2AF75BXAhsFKTsAGuJVd1l+jT9N5h4lqeobeIOfEuJpzjlUkDcuQWFg2FfEv5Dh0yRzREfVqc/2F/TTTHjyFBeRAEadZlDF8xj8Dr9PZfysENQat6FngnBoCaYBgQwACS3cKHeYCuah8RwsR8WJURBJTKeC8NioBYMuAr5cRMJeL/D99DJFxHwownCFaqBilgpWggrQW+4lxAOccGxEs1iV5dhVYlsGsD5+l9Erqqg3RKmIlXBMbKJRQkspiVt0wNIiCOkQAGH+AjrCi8iAC+82ZQA3VK/A3kiLOQB5YljpkYUgAVpC6rggaE9a4hlFcBrHxJDt0hSFA1mg1BMF2SKrEorrD6W4UYlGkRSImMTEsdAANhL8olf/NVJwAsoVcdqs4I/3yzTAEIkE4kDb3Jig4z50BBQXZADokt49gyaxsxa+PVdEotUAizCVyBQrIlpMIey4IDxGy0j0JLjolVkS5iyKBflyJiYR5p8gVMSthJdLejNxqX+AoYYmsgfxJUNLUHaAddQsYliqQUWiNjoCt7T78Ac6OOU1H9SGAaDjbjNdQDcAg+4BiBpGbnTwCLzUAjCR5QarQIPuDEBxuyR0jCd3wGGJZbQCCbj/ggteEzLkbAoEL1DBiWW0A/nyEpObaJd8RlOfrjm508AQvUFuiIPuDqSVtJLaklz0YCqAFhnCqSUR4AmaA7SS/r8vUkstoAzr5Oq4jnEK5+g8dj3XCPEAn2AdKANYCFMoDNdgt0RsNsmSSsc2kR2gPwCDJLkZIueATpJc3xUxNgXBp5A4OTCUJJawkqGloKbUnkEmGidsTAckupiVyX5tcIaSSy2gBkkuaSUWjUhElvJgLZJVmYAISVjm1DswayS2pJaHhjp6wmPB6Bs7GAcd+gvAHxjAeIJtyq1ySthSoxA33fJs0RB9wNDwVCUP82nZ7QffAcmwtlmAxhPeghtID8WQTolfJkWu3JU1DwiU//Vv1Uc+QLF4KMRSHoDbRLMvgIg4USJe7LWNDREpL5A4dyBLRJc9YR0SVcRKs4AD8uH/mgCkov6LYpLGbgrYSt+rOtIAv6LMuQDElpRWbKJbokoSqijRK0g0jKSxVLEr+ER2IkIJNXK4goGL3PZcA+QozoAdBwGkUVeKOckoCSUm40b0o/VKS5VLKkvCSXsDwxzoWyS9PoKzgixiVBEVYUlJMS3PAo/UlKkK1JK80YNbhZGNKESECvLKpLEMcCm1BVJeUYmqfr9HowkliGOUvQpbtGBSWzVV5UaUSSo/gOSksHfp8vhbqgEjkeaJfagEwKokLAXMKPkFZ8yOJ8FIiWsSB5kl5vGR+VIDEEpirmRLkgGa9RYzOPgQFiiUvW5TcEOMACP9PF5G5iB8mRLCAAMSvJSJikujhAmhRb9oMXuTxJWRZAANiEwBoCE5tebbiEDQl+CWd8x/glORMAPuNM+G5LSGsFCtUtwShByFCyH7arZGV+sIr9kehQEuEWHTpF4ZHAq096IvCBWES//SMi1WX8iphW0IlxAFt3DNnha1Kr9kXCMATxAWEiiiwKGEbrgUtJbwbCrSVtJQtxssncDjmIoJFnSX2kIK0l23EJdJRtxFUbj2AMfaE9wSv9sldXF7oC8i1SPKbLsyVEALIE79i2q5z7IyXIA9StiwkOIh3pLYJ4Z6Ssl4hekrUwA0gAt4l4kkTHus+kvnMzqbJfg4XO4OScNWlFnRD5FUKtYYBsSMOOV1lgiqYmUAOqya9D0MB+EXixjIRUF56RktETqukEEDEjajx7+yOdqYbLBU0nANjycBPmYJusEPgFpwiolp7hKEgAhZAKbzInimTmQOk5Wm4PYqF1gI0IHJUQkm9GmCpGSwrJHCEFdRoDYYUMlwYkKWBi6eB+tT9+FMMlYGSsEBJDlFd9g1QxYIozTqDyvAyYBqIa8gRDvEJtIVh3EtEtYIq0gAxXymdVdaSNopGl4j2YZWF8JRWCT+ucbB+QC4VwVzamC9W7mH2eTB5jTEwUIA5MAcQuCWNEaYQMJL7+QR0Ue/iPpkqoFjzkxbolh6ISNAHbpGBGAsZKsGy+L5RAgOELS4yWh9wTooXTkJhBmGADgUgZz1nzIG/4f/gPUwBRQBW2pYFwKKAYEWlqPFYyVoZKa+ELoaFzJXwEUs1p8dVdvMWz9aRBoiXDkvzJRAF/YWUQYKDGrzHX0DEi07CgbZAD2YJPoAzyCTmRQxE9hQHNzFAOG6dittw1vIxONHWAPklhBCWb+pUwAEBkHNzCGFhLCgZKAWQl2LmSeLKFkocyUZ9wfrUwRqKLJSbADLbhlZK87I7oiSGXHSErxFp65pGQlLtuL2JQ4ZEowjzXYVfaGCMSUNPZkst4iGfolj02hJLrJVOcCLwy3W1c4lRcSxu4FE9TziUU6oH8QAwtRxImXEobgBy0AGxE/3qP0JYDAGdiAumQTaQs2StjJS9eCWPRlyl55il2tfnYivWAK7SlZLfWI5HIZPyPrYDZhDeZK6y4H1rJLYO0dJZrjfC11B49IBdnALCgC9ACAi0FbyFqADEWhgUCbiXLOwnl8qzsbBJVQhBxUKEi1DnYTISsMRAUoDqyXNnhGsliOS333HZFQIEpuOQUJES2StB2gWZBf0rDiJUxET1hMAjCv7GJyXshV5+giGlZo1MHrEfwB+OYBoAdA0auPOVelOwDJx55fY1fGKXiLBqgTVzXW0/ji0/sZNXMWIjX0BYARpxEB35ZVuGQjG6vR0o5k48hH6ZsRMFBgrChJKQ2cloquUp6q1krmyV2FoOslTHJO7JVZpgSOqNnVhtC1fCTTNIdPE09jz34WiGeLtZdsEOZFCerO8IHNaFs6E3WG5hS+5DHsBaP0zYcV3jL5skpIDolEy/g+EgU/2BWLRwTyPZLtOiNbtayaIP3HcSyrZLC4lMT1DbJXmQDWyX+5L+havnFZdVPtksVoBzOx+GgmJsJbyJdkvCyUNJRvY0auS+bWm05imsC7qJXgl8HtYThIVfQjXSEi5YeMEBlQYhiJgEyMqphVEv0UNFaD9JrPWojgfhZf6CQ+VAjqpPlQlVRxdYViMXEcOJCpHwkW+j+MB314PswOyTO1sBcgRiRxA+MAigKSOEAQHdigFdY4TKwEVBlXFkhQTUA5IVPfINxtTimAmHDu8LGpx4ki9iFXcKu5hX3CqeYU8w4xPGChcAxLRLDhMS0i568KuY2iuxLVNoqEiAK563EtKuehirhrnqrhEncEIyqRPJdKpms0wI8IgggLfCO8KPt5FTyX7cw9PabRGTPJZB5XVlqg4xIQlSZqO42KDRRbSXLwB7u8as9ZpXE5aGJ4Qw0UnQiJ7VDsKph0TKMqo/pd6wGdWBJIpcZTBVxwdUNBkr0EHd7IxLVPCqPGVUOqF4VbzrFeFVCwoe8ZPjKuHVI/JWl+idwStZZ8clqE6ezDBQgBRmJZGVv8lbaS1oeh2ksiwpdpL7MMPaSto9H2ksoKUDtVB0li/IL/9KOktZ3DjpKWh6FBAXByNOko3bgWZ1WlUV2S7v2GlXBnahn5LB9iU0DZewkBkrdez7kZz1oRs9BMWi3RmGVx+PUiP0TRlK2eouHCR0A2z1vxasyuX8Wl0ZQoSLNhUj2qLH6BCWm7PSTEDDGV7XwPYVJTCtmEVvaqNvY+eMD7VDgjOe+SizRZ2EOIAGosH+Mjp+VmyW3qB5slToafEJethCG5g3iQcwqYfFZjCpdqE/MgI6UxgA1qiC9gCF5Q04QAsAPGIGeANXmO9g0MPgQyQONIDv9PYehvTX9tSwYBraIVKFcdaKfIi3GQCuxZfALqkfaYiQUpcjSLGwpDYbEUfbzKREpB/lewBpbILERId8n1YB3AC7qRMLIcikDsfLgZUI9w0LYwvswekGNeNSRkHwwHKh/CloRSx0QjLqHIAgBFKwilvPkKYOuwYELKSh7RpRAnMYBanN3qgQ0jfORT5EtufMWIPgxG6AiyIBFsK4ckBDSCMel6Iwsq0Bil+G4FqAFv7nagA5UANPCgxSqUGI+BiOCjI1EJ9UykkCbGHEokmKVUxBpil5XmWYpecRVRNgPmoPgcWhFSKaLDRAIKWpFgGsQO7ObSwriqgHADp4gNRELMuSgANKXEqiWqxZUJACnmd6JXmQDXjif2oNf0HxShOSKuEu/rSThKhSM8OS/D3FncHQMivhLWTgnIUcLsL2ggAoBmBoF84TzsZcyDqMF4pD0XAH70c+QNJ3MDgHRpqG04rUAvTaM0KHqiCdwYOeRDXylr5FHOLmNi2dgwlK/s0uEYHdOL7LnxKWWVp9CsUR4ffcuF2FJKVK/5R0MGzwVt2J0xBQYDzHRQ1cTJSkWLL1BGvWgXZKrUkun5YMSM4UovCwEBoXVIbhSk++Oq1k0nDuqRn/4Ze8bpoGF3HHPD+NhVOK9adIY2uQLXxzgMAhsCAx4tcGin/xFt3D4hKJ4lGRAd7uAfkr8viNPUeRCO5gdRKKEZFPPR8xLO5IBdoG0pcHjQGcjBkAIHICd1CiOMaUrB4zQcg0QlqQhT7JWCgHiUBvRL8QlrEtfxbPmFj60gY2BVkAvToQUCOggFXvj1gZn4Uju0GIpXM6BuhBjgBOME4sAMFYNw7UlYC7YJmvg3TgVtAOwYBEaCg/oQFINV5QNOAhpDz8jbFLpmIPA4UmEMCbiO2AVyY+E0xxSqc5BrqXVtxOxLerMDISso8CAZBvEhSO5kZcQ0YUspafuFzKURXp28ljMUWWAEN3AOGCL0gK5IcACCMyh68CAICCih+8lTjYHcwI+hg0QCpgAoyls5SweespLXYQC8KA/A4eRIdEuN2ACjKVolVI0ASHkNXQtTvFhIA8fklAA25ShCYMvREq1RR5YuEAQWEVkeDybECKXqbR7fgMbiC9gAryFcUgPNAoyljYuazcBDwWlECKP5DuENf5ZGUCvgClmJZ/4LAAK2+EVAteUp6KVDD58fg/RS98pQ65HqWhzzFDpUzoGNF8iMYHkNDtZLpSlqF8IMpev3BosiHlK8Q0GLAMsfGsnErKW53AE245Dwc8pcQ1iZ1QdiQn8l7O+faIoyZHK7iyjw5NImMxKJQEfFHp4LkoVktsvCRMzkJfmh4PKBkZOKoMpVUxijCIHlKrBbBF84iYAS8SEkwiznBxSAUnIMb5H0gGwiHVNjJGRHsQPB5cUAPaIBBCKEFR1oKiCCeknOZZHQqWvlLMYA/L5HoAJ+Utp1QI6UfylgmQP8pVMHW0qUG9wL+cISaXt8oDEp7qiHGg1eYHKieS9EBiB4PJa0Qs4ExlS/1RBZUsWXCqSBrKl9Hkdeqotwi3KX9JxuuAauONCjPDDF6Iy9vlvWKgw8QfBBoQkcKVwVLJSlelGJnorKUs45hEVK29IJFSgTCPZHkiKVJaRoilHmkTHBvEUunUCXqBcU6MugF1SJz/AVgRJDwbh6F/OZ0yPuUohwBZVLVEoclS50yElYFS8igfBQwwCOlXt8ulkokqW0yBCIAuigBSYjuJGZQAkFLx/0uRSjzOsEUqIJrlFKSilBRSsopcUUsRXiYWQnFIB6MX8wNzUUwqDEvlOyQmYYZriM0Uq14pMwBcWCxp2GY6DcUr0UigG02AgQVSqpzJMiBcKXWpJZSlBMIS8pbuJEzyVt8EiowkNlF9uElUqy7rQdxQ5g75gYk4PUxUGoBRlKgyls0CCyeBgblMvITcIfqApkQc5CLKDDt8xOOhlJIV1Sh7grGHg7Mgplxl7YjkSxIrOOwA2Ug+o0OW8vJAcTKosgAS2DZJ5/bYERuYptIbXHa2jnEA2XAoOUdCpd+RRa8DAJLoU4qj4JouLl+T1Dh1XlaaCKcAQQyo0YF4RhKoAgQafVNJZcF87U67SOlFgbYUMWZzQBK+CljQY7pltwyNAI2QJ/uB5jiblKK3yM2kJTSMHpC2Fo5FLHUqALaQopcO+UBcgdVLeqlKSNIBSGuJDbdg1KAwnUpKkYapS24D3UjyQIJl8pywTCyDKHFZRCMxwfQ4AEiTcQMJAFXRiZCRD+sZv6eapflnGNIQMMAJAlIGS2NZLBUpWqUIVLlclrhSgipY6lGfVjmAEDmQUyQK6SDtUtPcDVM5VliRXmcyYOrIHtqU9AAKalOGwKmpdhoDQUj9bwjJI3ptSLah5kvBABIVwC0KM3QWRYob3CIKg2xBr3Yw30AmpX/4i+drAkU7yoQQBLuIITUv6cDE1KWn6WUGdjSISPHtQjaoUGKl5KFMZBFnOFYqVRWUuKlF/OZoNO22jWMi51LpdQlIdakyMXUsg2CL5wYVITaAciKAJUrQjj0dQ8baWAAUSpRYsFJMiEjwaqlqkgZp6kJUobqW2aoblIZ5kUJQOhUrm0iFlKjiMJ6ke6UPrxgnEh7NgswAL5S1y/MRagARxqVLefE2BkLbvGmkvw8LO1Lb6ICeuRa3JIFn6sBJYMlilelS0fdAvPnMqXuRpLKltMgJypRuQCK8x71KYhIDlSqxfK7KGcqVLvBv/UMWBYSYDm0EckhfgAoylUD8C3gGv32OYBbEZ9p65hWNEeIsJFUXAyi10KltBAFfQA2vQY7hyYYzqloXFRmpUhIEmYqtYFq6QoIAYFBAx3DywBRlLmGokSWdCpRD4HgaWNFwNxgMj9fKyDBUsthDe5LOwoZAcXCrA3AzNnpQGw1DIFYUNvggChnS7jNKUJHIoigKKKNKkovSh4UBtEokrVIxmqRjBaZjK9xz/YUQcNJSGoAEI/RENLhe4zdqaXuDr3A81pQhIGqInbgeWgLquDZJgRMx9O0iM6MucN7cTIKzvZwQqIGSOL7OKjIlkaUkkwPi4r46XJJVznC+TiFeI42A9+Su1KEXNnTGx21QaYQ3hscmSG0lBvbiU7AJklRwAAF8repHuqi0rh2KYfwcATWLzXH5ri0IAvpibGsdxOKNkvJmgYSALGlvAAS5xlhkSU6BQCB6PIkRkWAAODkDBZGcfZ/nELvUTgAIIABsACbahvZGWtAfdgMxIDlEDDxEGMlzgGRkBIvIG/dj2uw6uAgZIForHUqg41h/E5bYCahMOq+P5fDtxo6Ew8mlj18biYFyNVUrj6ExZFIBkIdbrEvXHIdrnWo6nAlhMHKgLFeBKojCiJlIAMEORwmLOXBqBBSiJnFYMoiLwmKDuHlEQ0N0p9ATXCBHVBNFG0aWBkYI0oU21XojBMoBPagiOR+PcNdgGCyFNtSSJgMYAUiYyP8YIEMukuKdhZExpLKhjS8eaoYNGKvIvVA80opRMIJotbxAqJjjMQ1vYmWqAg0M0TAbbRKzF2iY5OYanOKDlFSZh9EwARY1TkG5payTCMZiaZo8XYbX0Y48gaAEEAD9XoZhyqxMWqOLcTE+aULiIB3YUTMWqOB7AFNlxGi0kE4occd5pfIIRuJh7Ew9ng9bsVO3De7Gbdh4X55pAactZEmF8TGozAGQg/iYcJcajmJKnBJJgeY4MvIxXgSXBMuqjejiIkxU7cFxcJ1CiPrBkzirZxKSYDxcIkmBRoT+zioyIqWl7xcLpKnSTCkDhmVwJiY1HMO2AG5XBZJhiixL+YwxMB3+JZUnliBnXQRSYIDEL2wH87EGdiqy1Iw4zeMAoWM7gEgEhqkwQCQv6sTUmCk1Q26wUX1WHYmU0ZcmF5fVd6AdsxVHYtpMKqAOaTHbZitIBdyYh3mKqAAeTAsWih7xjyYrpMM8mCmTC9JiuOxfSYcSAO8mB1UAkUBOkxteIz5MCMmJWLn4PjPkxPyY8ZMaVmc+TD/JhLIAAKYnGwTMmMBTEnJi5kwXyYYLMGnGVWTGgphhKRYKYYLMeCmOG0p7rilkxkKYMyeLCmDBTAwpioUwI2lOFMHsmMf4AIpijkxyhYbZxZB2OtzCnJh3hKFWlrQCOn9J9fDuviqtKfToq5MTVpV2zG1aX5a5J2Y+rS60mIa0vogDGtLxFoprSw8mCeTDdJjnkwGb03pMG/MJONFtaXYdBAyYDrSp8mEmTBdaXnygfyYsZML8mAmTHfJi/kxMyYqZMMdpQG0tL2BBtL42l4FMMNpR2TAjaXxtLyyY7mAJNpZG0oTaUNkxY2lzZMFwqD8TFTaU91x02lojsTNpXT8EIphDkxlmIpFMMcmGtzAopg9OwRQYVLMWivIxTCsfg1MxfGY3wmVEyP07F79jTL0USGkmjCSmKQrDkpgKUwLRYKlMTiWBpTC0pjGUw9KY3osIymN5B3dFhOiwrKY4UfNMWFT4wzFjy1D3KYOYsZi2L5TDB8Clix/2eD1MPySZFTFZ36xUxDRYCVMJKmC+hzSpgZUwsqYOVMa6eQVTCKpiEgRMLY5VMS9CTwEGqpiC1NJkmjVMZqmK1THksQxUwzJYFqnHqmJpqn6piDUwvARI1MMamBNTFOEbTUw7JmH8oKdWItTGQ+Zw6YcS5WNqYUdrWLB2ph7UwDqYR1MFQ2WdTAuphGywbqYd1MLmmLrLFephMsNFpYCdMbdWOIJz/lhA0wQaYHoouNWMLTELjCw0x4aYd9MJGmP/+Es6Vo0x+aYONMKl1sKO2Rph40waFYEasTW+WTTF0piU0x1Ao+0sWmmPTTEZpjM0xs5Y0FI2x/HWKMepjPKxj6Y/dMQWmBEAFCtii0xhVYm6sU78M3TBlpgvKwFaYStMFWmETTHVpjzSwtaYR9MfWmMdUyNpgm0wG6Y3OnK2mCPTBJVj9JRmGYGDk52mK7TFrFge0wvaY2H/P49ng91epj0L8w6YKMsepWNHTFjpge6ZDOlSdMOTRsnjJ1lh10xJFY7ILDZAUXTCcXFl0ww/wsasaumLXw266UN0wirmzdMMzgXyQy7phw0xCN+JSsAemEmrAQZi20xuFY49MSemNPTFnpgmywM5YHksHD9ivTANe7r0wiulW9MN+mNirC/phH0xf6Y/9MZ+WBfTCvpg30wmXQxFzaUDkV0toVhHdL96Y6csU7pSfTHfphn0xAGYV3SkBmNwxH3baQMxAAhsDMVFWEt0qQZiRRc0GYK3SzBmCR1xwZgcKx8GYhDMYhmBcrDIEnkMxwVY1DMGExnQzDdz4FywIdurDMQ+WBwzGTxkyKx4Z+D1MPZWEcrGEZjCqwxGYx0sLbpUqrBkZhLSwoaYql6fp2AEHG/aXUUwvDc7LS6/mKkzCMZif8xo3Yz/MNJmFYzAtdgP8xWSYykiVJmFSzH/5gBMxPGYPQ6HomLz0pQFiU1w7YADlcKjmNHzFCZgS9L2elNjMM1KLEzDFaVpQNvz003MOlmAVzEZZjnNKhelr7So6IPPGlb5i+DYXMoFTMApmNr0tqZjVcYESQa+cJbmBDzBW5gdMxzcgX/ESruPmbF25jH+AGbYzuRPHmMG3QmZj5l1pmYs1ROZmNTzEpaXM8xaeYwbFclpbwawgzisbFDs4dPMDnmALrDOZgBoFt9YBCkY4nALzAIUjG5A4SQovMAq8qizDeZh1N0Oy05JcBXmM3bVYuq9xhVeY19Sm+COCzH4gyFvU5HYnTIHNDAizDCxgwAUXmYb8Ud5mNHMSxZjZoZSxouLMdRiAYPkNhDougnFIHa+cx+BvzA16WVMxfGYEVcI4RDNzG35jzcxd+YLLMBXpdxfSV6Wb8wImY2/MdzbGj9C09qSSBD4wa5tFIemjrClZhDhAZWYfpoB3pSIVWLaVKtLS2lGU0VSCpqzAE/oWsxsdKQ3gAvcIazGcvBrtwjRg5aIbKwFazDUur1BY8UYTrMbUGq6zHKdj3cBPWYmhVPLtCP9H9ZgfhRA2YS7wdDmMy2CchDrG1sfYjbSk1GG2TF0FhxsxbEo4+1LPaimzDCiLpswcW6HlRCyyiPAUTxjDuUMK6RbMfJgMSuA9hhAJE7l4eDsOtmDI3Bv6W1sxvzQpr4CSoB4jDe4CCyBxOgNyAAaAL2zDGkgDsw/k0A6AEAACOzAYEzjswhxAdbS6dmC9UDnZjtIAF2YlKgZdmChzEIRi/lhskA+OUMQSEkDR3ZiqkVOfUXUAO+aOTeiUgQvsw6LI57MS9mHTmGvZg7JAyMY9ygCFQE+zBPZjlU532Yn7MfeAFa6B/ZjeWp/2YHsMUjmHZ9DUGVQcxTPAJEABEkHBzEC8SIcxgOYyHMSlQB1gDf6WGhpn+l54UHDmC+SDw5hePQ/kAhHMAwZcRzCzPB2DKyOYQqkVvpWz0pH6Wq9L3NsCi8JjmDTbBSigM2wtR0knMXjmN5zHkjRCcwY2Y2nMMTmMXQAzTyScwizMeZiP9wnJzAN1jO4BCGQ5XMcmrJOiQHhJRcxwuYyQy/TmO/xEa5jPpQuj4SJFdrmJ6Vls5huBBXBYjnMBUKm5zGAFiecw+OYeaOYThDJjHigD+cw/iMpQQASkEkMvq5g1cwpro6Qy6rmNFzHsCC+8RhbKcXMXIZUlzHyGWXjwRL4vXMES+BJzG45j5cx+OYMQy9XAN0RGNVBJFREhllXMdDUG0MrSGVNDL2hlFA0JrmEp/B6GWomwUuY/Qy5XeFlzBTmaY4BBuYTHMfe2Mc0uH6U0cxVel83MCQpc0zCmwYW9Lb2lG3Ma3pXFIF6Zj3VA9uYhbSg7mFJXGTQqp8xwM4IfMK3mNdzFaWp3cxMgMiPWCRuBm3FL6XnhRTUqg2VfFOL9zFtVzWHptgGAD8KEWqDzF54iFEQIeYiPEE7zC9UGqri/DY4V4OSUNAmCjzG4Sho8wqfYxAQG3uBc7BAuxJUZ8eYkmhV3pbvMQPLjk8wOdY4+canmDtnDp5gM8wBD83vS6/WMH0qTSrykVrWcEfSg2SOH0vOziR9LheYNg+AEZUXFUl5ipfkU+lNBcNPpeSXGV5jAsw1eYRCADXmJ25C83w59LNQAuvMfPpeR9C95iQ+RTeYJ2lCeKEJ7FVyA28xQ+Y13MGLGHKMomciyAyBzKdTkT3mNPzGd5gXsw/eYaoy+3mNJXWD5jKjLLMA4fMFd2O3NCj5iZLgnbK235Pj2KvVizbjp8xFG46IsB0ZViLEVdjOXgc24xfMbEWAMYFbiCV8xXhgNfMbKPPXzHlAA/cRLGs23ER9pftPjDGW8Gx8lQ3fMfrWlzXngdgdi4uWo8IsNEWJYLHxThyixkWYeDsMj2CqLC7vAL8xDzKU5AOuQAvCDX5gl8JBelrgy44ZfyzF76XMsxgwoA/SkdOhxzGJtQAiwGelP/MRAWLyTE56VP8xUmYoAsWAWC2Mu56WNjKeWlb/MEXpb78wF6UgCwmxlvLSkNBpALB7GXICxZel8AsUcZaCTBgFh9jKPGY6vsDAWLOoDDDi4Cxd0EPWQKYWPHCNIFjMiIzel8nCHeejQLDanjmCwKnYJAUMXeJpYBYFgXNA2BYySMaPQlwLGSRg8CwzxlUjAfgWL6AAqxw6wAxBYDCwIUYiosDOajesVpBYjWAWQWO/4C4+hL9KmbUI+8KvSp9fE0FjeVgDcYF9sPQWAaXAlxjqA1ymw4DyMwWMizAsFhHgxrBYRnIWwWHLegcFjkOpCZQKn8dwWOnEHc6jeCwThYKmdMc2nBsAqQBBCwxwAIQsS47OELDgRidXxYhY7ClBYIALmD8dA0TKEyYNWAVIWF0LAQCAZCxJO4uQsalwLNFGyFj5CxXnI+ugLZaFJYmrSoGWhNuIArS8oWG0LHPaU1Cw2hYQwsRiZSwwB6FgDCxnm4t2scSZY0LAjZADCxpW4fQsOSZSMLCksSb2wVxlBAsWL8OuMtmFgYCwjmlQZCX8ZWL6gJvq+oY73AjCUXYWOHgHAmV5QBIJlLH8HwWLqA1angmlwep4VwsHCADcLEVGW5SQ6cADwsCcaMk2HOQCvCwGIQ7wsKXKJ8LDaQCowAfhYVoy4joDlODHGVqPggRYhsMUEWBAtCdrSME1oRYJfSjMZSmMtshiKuwURYCUyhUWKF7Ak9jYixW4gm71e0OIKLF4NhEiwqRYrIsXKZekbApFjEixqRYTncQcTPSLGb5gciwWRYIosMtJdVMvjhGgQE2HYZ6MI0YJVMs75jCiw2RYoosFEmNGQVYdiX/xZRYrdIL0Za6MvE9j8exXhlmwkRarIAbBufDVjKdQlP7SsSmH+0pilhmixFKYylMK0WNaLCeph2ixtKY51Md0WM6LC/iaQdKLKYvvgL0WEuT22mV+iwYOlgYsT4caGLA9Fj5iwJG22mzGMWNu03jFipixkxY0lMVMWPqIMcphwFNXKYKHSmSmFLU3zFhD6dagWvFsMsWI8rErFjVixaxY9YsDIxk2LBbFiOK9Npw5uwLsWLNTF7Fj9iwgg5Q4sbRuZ4GKcBZTiwBKFWPva6edpnOIljm+8NxYG3jbcWLuLAXcGHixjxYp4sG57peLFoK63ix7xY+JDJ8WC+LAicbvixPxYffJDjpb+LF0pj/iwYgmQEsECWE77PAliQSxmpYkmjWCWPBLEQliSySUJYDO3C8RrcE0ypjYSwQoeeEsAiWERLDKpikSw5rYFEsWkFtRLFolj0SxkfhzEsSdQexLHItjcSx9jGdKsIlqUJLB5lij0wxJYEj87SWNJLFkliJyxzzWG96TiWHlLFC2bwuNqym89MLmWNpLBYVjNn8d5YhksDS1PFLDMljEKwIDOUssdBmAfTAqlgOSxC4wzksVyWOVLCOVhXGYhlYWY/UN6cFLFXEZhSxLcWo9MPEhjbMpilhM/N4pYLmjGpWMlLClliVSwD6YHQ/LKWHcrCGVjGzKCpYMksYqWKVLAY0ZfKxKpYI8sZtIYnLHqliNSw5c2HosdqWKd+C6lhYKxepY/UsaBWMNLD+VhjSwJpYJHASuZcjTBXPELSxplYy0sJOmDjLA2lhbSwPVYstMBWWH6rGZlh49LTpYOTEC3Rh9LBmljVZj7pYSCsGpWC9LE+phvSw+yK10sQO0D9LD+liOj5O5ZHSsEGWO9LFjlgr9soZYMMsAuWFntzTlhIyxCKAotMbg4ejLCrlhYyxYulZ3Sj/WYTLHvZZqqxyZYlMsBJiGeI1kth0yxbhGjMsPuZazLBDlhWywU7REBgvmWALLBdlgiywPZY/isOOZTnLDlliReM9pY28y5WWPTLDVliW0x6HpWssSHyZp0v6SgGyxVOlJssQGmOPMr4MavzKYFYvyUAOWA7LCdljXolYkgbssUWWOLLC9ljOzKhkoVkgbLLmk1MDli1iwLZYocscOWKt1KjlhDzK15lkMsCK9onLElIYpyw05YC9MJQDqjLHTPZ5yx9jGW8yi1JsXLBCtj3qxfloW0sT6mJXLH4Zg1yw0DgvlkyKZhbLFO/BLywM5YLUo8NWF3LAAVhS781BGFssdjVh4xH0swjywy5lRnEceWJPLDclhWyxZ5Y533BeWCYrEzlhrywN5YW8sI+WLvLCtXaHyxw5lJ8sM+WDarCBobXyw8JccFsIqvg/LCfljn0wLaYVdMbNGSp8AbMQV0xv5YCkjEJiAZ0oAVj9yxgFYEw3MBWB77NQWXQKwbZYKKUeBWCkrEelgIKwYwhF6IdBWKgzCwVhtNTPZYNvnTiWIQrFZyCDKxyLY5CsShWJJLAPqDnUxaFY1DMYRWIwrHZpg8edWFY9DMXBmHyrEzVgaywQTG+ysQRWPQrBEVhiKw6GYPXSwg1BCrBrVZyqwXhQ0QIZRWCbLFMVhqUxNFYessHRWB1WIbpZGKwTFY6isXZPhYrEdmUWqwhlY9CihxWE4rBcVhuKwxbhXisfPjr4rE9liSyx9pY2isP2ZXNOBekWRKx5fOMSsEK9n+2GsLjTiCjZlBZNFJWBXAHSVglSxXJYJssHJWOdLHXSb3SwClYf7YIpWEMlBKVjlWwKlY8ysapWMLLG9lj1KwKLRjSsZpWNJTE98kdKxY5YhcYbpWK5LF6VihbN+lYob05JZb5LHWWUQUBtYgsSQCZWInLD/HYzKxdll8ysFyRksrBWVhrKweaYq4sERmNsrE8WWfKwBGYq2s35WPj0rslinKxgVYDXS1cRtwrAR6UyKxAaYdysB5WIzTDPPLoqwWVYmKyiLpV8rFxWWHKx/lYrysAz4ESsth6WR0wwVY0qsUGxlaQzhVjHSxKCuTVsY2WF8rAfVEvKxMVYlXSnFWBhmLx6UEqxH7pxKsUlWJGrH44CZdLYgw8AvWlWFpLAZVh4yxmVYDO8tlWMg+FpVjkqwUDGPKscpZUMlAGvaBZtUVYIqsIOmOKrAuVjT0wMZY5HAYmWLKrEClhfCgMZ+SqsFVWAkxEvmWJmKtVYx1THVWDwE05lgwvzHllJqsed0GarHGWXWiw4lGZXDC+WFUrHtVh2LLApYJf4l1WHZuPnpj9JR0GYXqsdvDr6rD+pjvUwBFlgasTxZSGrGeYDhqxQ5lUasbWxkWLHa6WqKxE1YyKUUsoPwrDIXLpqxxaYWasHNWBTTE2liAqxC1Yi6sEtWCurHLViNyxa1Y1asL6mFWrHrVixJBG1YycsS7pcAzDbVh9WxJKYu8M7tWEEP2p5baUxaGY89MdWmCOrADrbjqxzlYYn7DGni6AIIWWwP8F1YxasZdWJQWB5QCvy90GYOMsIuOTurFRVh7qxpKYB6sOGdserFPVjnqxEel78sa9WAzvLck5+3NYnwT6sDAWF+0sGFpqtJnsloEMbH8MiUuA1iI4VqZA/GsSUQBBrEjqzoNoUYo+WsFLWMtVH8twoawIgYf0RezWFAbBeTiCv5NhyCccAjWFn7mI8gR0BSNYpRWHzWI3VnLjz6W46NYIckRrGFv3mnnQsaxoU4nwS4cYGxrAorigaxwNYKcBH97EBson9isax4IY2VWFrgATEtw2VKaxfYCV/+ULWBprD5Jw/XhtNYFGsXTWJ6vBIyjfrK2KAPGGZlyPBrGnnTp2QMRKaBuIjwMU2jG6BiawHNYxUDDjWD5wENICuax6+KIPkYDWFzIB81icy5yy8P3kAY6PaAUZECqJQ2E4kWsH7+tEgFi1hRuRpNljGy4z9MlrDY2W8PwpalBNIRfonN8By1juMASLcpmsQrWMZXFPwT9OwytYWhCarWLiMupdp1awJHgDWsNqeM1rD8dBbmV2tYjh8LrWD1rBj8zqmR+tYmiEYf6mZeFjoiFTxwQELF8WbWPbPgW1i9awGOaya8GSNOtrGWQBG6wZGA8wWOssJ9VUHirlmUvtYF2sfr2idekB1gPaw4K6SptbC+HlspW4TnawxD4g8Vf7WCXjHu1jA6xnx45u1dJEFRlnGmU9+glxlX6sRHWGnkuOYTCm0q8gfAVGnWNYlHNMoDhxidYzWy9rmq0PBLlxRdRadYjBNDCunAbCrlRuOVel6eMCDnWNSMu5LxkjKGRlqmhCruN7bG7ziS6x1AA3YdTXWFPnBF6RljAldYCYvCXWAbIAJqoy6xLy4mesXXWDZSDgaiG6xjdYAZ5TD4DhPhAEANlwESA0qeH9OI7rGd1gJABXdYcUqZ22rXCAjPhyO5lkAfusI8uIHrAuGC05LpM4prgY50JHrAOgaN6xVtl8esdwaBTxGyfip6x3PKK2yq8uD/IgOJg/bL89Y1JcIvWH/xB13iQ7L9tlwOyjcODXrBNRj16x09Ye2yufOI9Ihh2VHlxO9YR5cHvWFY1QczghJp4s4FzwakuGPrFWzgrk5Us4YsAGfWGvrDFgAL6x6dlmQAFfWLaFBp2UfVEi3wvZObfWLhGF31j36wkKIlADU/WCfrGf1g7ZwJ2ch2cUxgHfrH31h+9on9YmaBabOG/rARvoPG5v9YkhQf4BO7ED46CdRLrNlrLMSPQhK0rTgavi0QwiUQGLY2DrnGtNhb3VDuqKYgFg2HE/mQNicGxyDYC8Abx6gUnCZNgV2x8DYFBsVEgNQbFzgCDewEDYGLOApzCbsrYNhLcF6eIFegKQ2HrsoxZx2FxkScIhsbuOJIbAgMLN8x7Y4HrUBvNEobAfOrLZLVDY/r0YrzFobC+Ki6Gx0kQVxVNTJcueQ0yWY5xLyg/oBPeJaQTDsNgzvU3DYxTaGtdC4bAcNgRG4ZjoERuZ3ZfonEyLgBGxsi42HdF2wryWlvIopiBvaUkRsU9QHaPn71T3SEkdAdhuO2wGMbDL2XKJxjjY88cfCLHz/SJzgjtFpVc+oIYIuJebGbTzWXA1skR15V3wCPsueMjtGxYKKc+y3h7NEXHKqTJFxivAAxsfKmsV4FSLh20BwWQCgAcY2A4kW7cy1dQeqqZPMeY2BRkEWNj3iQJc4cSRHo3Mb2Us2XhQA8k4exsebIFDeR72V0EB7cKKeyu58i0Vg/yWFsIhvw1uy8u2EP6hmbAw/kPjYtu2RyihGxGhDjdpAp2EekkEE2PIQCZKLGhxITY8kidlVIgErhNgWlFBPQ4KcRg2EYBXRNhopxbLy2JsYtJT3gGhICCTBkdYRJsPtqqSbGn2V95R+9l1hWaloqwGHtTjMmxG44jRGDCpZPfTkrrcmxQ9o6udFwKj7nGsTiimxvto2hcXfZeIOSVNgY4o5TYO4S9g5ZSnG1NiU2xz2KWNAWU2FnRGOvKCL5akiVImAD3LFFGb5iNJxLTY+ohKwwvoPCq4TtewcrCuoidVuh6bHyWIB5xfTYbYUcM2AZgCDNg75VUjoTbIeM2NwdCjNjhmxYzYO3MeM2MjFCTNjhmxT64P+McM2FmbF0CDJmwmgq+ZsGQeLbwTbLjRZxyV6iRwcs2JUyErNjOHLOcGtZsZzhL/lQo8jNmx/8qDPEKwICObBvyoM8RIBIoRy/oKv2bEiOXdypXjgNfQSw5QzxF0CAxHK8F6ERy+oUHObE17jFVxNkiHT1K/ZeXsukOVbmwzkEkcSvOYnA7S0ipwdZGDllGca82OXHA6HzFRh7zYOQSue2q+bFgOUfmw0PGv5sf82Kfw17l5b+MqpYHw4yC2JJTGFVjDLK4LYM8vbNgBhbA7l7SUw0LY77sZC2I9eJwtio/tjrYcFsHMWNOiKmOUMxdOJYo9MXAJdRbA+HGe0xYBpDFsHymGh0rYtjx6Z2LYplsLi2EWnz4tgUhRBLYFoskS2GDLHEth14y6ZZ6KUeS2O4TCUtiRUxEDGY4sb0UZpbFIXw6WwxmG3f/Qy2GscpMtgByTC5lt9jHi2OfwyVra2Ww/LYXlsAE5T5bH8thAnLQTlIJy8E5YFbGCthUWxYWJgy42tBlDTA8dyNstSrYCVsKkhslbEGOVpWwY/mmVsU0WDlbH2ljEAC45eRVsO62J9bBj+ZPWx2rYtVsT0Qj1bFKtiSQzbx2xJyoRmDlbC6tgvCg7rYlJyok5VdbFGth0nLyTlvayqa2F9bGpOVbWwLUgGBnAk5RycoethcnK0rYXVsXa2CGwBpi6HWwM1Ywyy8UJmdbEZOVUkNBTltJyt62GycqatirWx0rYgpylk5Qqcr5OXKnLErYgpy362OqcrvUaA2xiR8htIJCgGUcsvNg0whmmo9zqa5GpIXERthu2wU6ovVVFominVExthYHKC6oWBy0ecC/EoJtiU2xqO6dl5EkQiBXGdOWbHAygAPpyvCvNTbEmmVSQwDJlHvRZZ4CzbEjjgWoBEDlSuVPW1NUhgUzgCWABbYguWAk1EkmGWNCEpxU2APPaBcYGQcqjTgw3UwSay6cHHBrMXFVzjzFxFGEg3gXNOHGgHyARV303U4Ztsf4uB8VWTPRcZw7bYEGcHM5e2nAOIIVDQKWsjJcT22EIGFJTi+2xNi4gdsH22JebAKQZv4BQ7YP1AcO2HzbDOThcGRfTagJMKCuFKnEn6Bjvk07YXGcLO2OphXu4BtQAq7YPOsGu2MXbEltirgBpbYrR+Jc5YXbFWzh12xqDlGqDOYuO4XCLOU5pwlGQaJShDWPWnH7th2bRjTlI9sSEpQyHF4OWqmwp7YqbAGe2ACwmWCA94A7zlUqGFe2HhADXtip8wfA4rLSiM5bikiANgHDLFIqO89Y+2H74VE5iX2wDx4OWuDqOF/bHP0SP2xO4Az9sMMuJ/bDvtjv2woLlSFyhuqH/bCAdjxh1gHYD58BuqEvDAgdiexAoHY1mAWB2De0q3UiIOxOcYs/cVB2GK7UgagnCwxwAWDsaq8rU7ESmXj9xO8KSkgEh2P/bGodjachKHYrFyodmLQ7Fv+BwPwPTaz3BFx2hv0s4dj3jBuHY3/SqMMPyXQEdhuOwNHYIjsMR2A6FX8dh8oRlMA7mOMoKoo7E43gqOxq2l+poHQPBo7C0djROxYnYhjsJK+o5GFMdgD8BzHYHkASx2IowBsdhsDLCVADjsVIms47D6CiCOwyIoHjsLR2E0FV8dhSOw3caFoVWrEKE7BjBhYdB1LlUTsWxKDE7DwPi6XLEnYYyhFJ2DVDEt2or8QicoCOqDyANk7EJUB5Ox7lwrnCAsIJDDAqohwaV9xlh0WetLOUfiQGWJTL6nY45kNo2oH4AFhB37w7hYuVAS3eJ25HA4Q4jLUnIPxmUrWPvzDrSgkFKUwlQY0EM5aUemdMJUZLuyo8zsZMJXmQDo1jj4VMRacOSmkpaKEQJFoTZKAxEDZSsbJSZHlQtTJBx9Z6OHCG52A1cpd4RkU4kXMiwtSHJa1cowKAfOxIclg5y2a5XcQFo/TRFYDfYi4y9rVAkQxIAAWRxNlwELsOKOM5HDG9h9Lo9elgVcGb2JF7nMnS/yoPmlmLsTYmNi7F0yWbCwCXYMT+RIAMS7B+QAM6xfeI5LsTtyMkeTuKy0ux6n6iosBl2PPHjQ9iruxC3YAccb12NzfB5dh7JwsxlAccYV2N9cr3KTiuxHuYLoy0qKFyMrFACNZUuUqIIyvlCE1bgvdjVuxkblgbsbV2BS3C7dhnFwDXYXgAR1cKC8hmRzSqB8JAALSjpSHjFTqUg2uw6zM9rsLN2BP7HhaXOuwJrIQVESTWIWEso9hmewxisyJSi92LC0qeJhNuwHiYhb+S92KyTGjdioO5IisqbsR/KCYzBZ6XJuwWbljLwVuPHXJCpuWTvA2zIcucfN2Gu7AjUgpxwfrlzLsct2P7Vi4LhwiAWY4bNy4N2I63gwhic3Lw3YHIiSkpd8Uqf/L6uxe3Y9uS4m5X3bWHdh1mYx3Y2QEKJeFO7FvUgNd0OU6elwByvJ67BLdi/XLjDYfScTURFu7HjozrJweXYV0tERtESfhPdglUQ3GM57sdG5VrcowKi3uxsa6PNy0xmI+7Hf5gvuwRMApfsT92IV7AuKC/uwdlge1y4D2JHcrA9iWnKoPYMdy/kJQCXT2EJsHLr+y7AcOW5Rh7Ca9hKpx/3YvvzfT8qTZCluUHEBCPYXtQM4bKrcqGmXSiB/wE6Uy5UWNR7Fs9gJ3L6PYs/MG7hMx7EG2VsexnzYnHsRT2MnzCsSXN3LHRlzrcd4ZWSHVKQAiewC08Ddy3PmHIMmk9gYV05PYqr8b+kP9PivFzKiwVPYcycXpyGDlRwPyG8wdPYtdytJAqV7Bg9hjVAQklXrsMz2PoGGn5hGexrPYNfsNu5XR7Ac9gV+xnPYOHsEr8u57FA9hRABdi6TVuOOlC5QF89iSEJk+YkXsUW8MqLG7ngr3LpRA4XsbXWBdeEAeV1fltJIV9yuL2Al7ClQyRSQKXQPMGWwABl7EsABZewLPYBxsd+5RfcrAeVO+xv3YDfsWhODHcvK9hA6JwYAiK8Lp4H9PmXNg5ewUHlWmmJDOK17D3MJh7BOvY3XsVIyL17FvXADewcjljJMEsZaN7HvuVp5B7aAk3sGyuEdcqZswRVwaWYoLscKuPbQHboASkw9JlC6lRq2DijXzdp4o0DvYRbtE72MSjUu9jXewKA4d3sbgOOm7We9hZu0yO533sBN2igHAB9gSIAkg4awsfnBvN+mEsIQ+wofY/wAGH2BfoXh9jOZRDa4PgFEgKCj7Hg6ig5RNhIY28HdGibLVx9j4+xyIQMlIFX2KT7BF9guPKsRlbjysuKMQJFUgS1JRiEoCK1WsRKz7BZyEITA/lq5AAbn2HSFgTQC8u15fYxPsYX2BL7GieXi+wtfY3jymX2GkAgF9hxPKlfYZPsFx5cyJEg6jq+w0gEzcgFx5br7GWFoG+xtRYmFCLR5QoTBHaIbdg+2g35wRXAEPsrzgDx3Lr7lLvsBQ5W77FhuWe+xrtoLP0X32PDcrrBiB+xGgYfYMUP2CH7De2ifbQjhQ0QiP32P1uFj9hjoB4/Yj20XsGMn7GZJCp+wRfobz4PP2EcKFKeD9bg3AghfsClqCC1FT+inXQOKoJfsWv2O3cpvuUlUQjdl0HwfL2Ns8qK9iEuwLeIC+cTvmK37Ao1TYXAjiMHfFcaZbc+Dq2VsvUUlK8/QDhpSD3AgvC85LSOsTYiBfQLoZGCgwqHpl/Y1H9C3JXPkuUnhh/l4UA+/sSPAIf7Fr+AAi1nclxJsM/2K8Us0qDSBxVzy2NoZSeM2nlYDCJ7An/YQTcV/2HqOTGjCf+xrrIfuaLAOAOAHKijNVBomEQIS3bzNQ8ggDgr8RpwIMAcPk6HVFDRbhX7xQXgk8AclGom7TsuIVphsXlV8gbAOAvQRc4rB4MxA4bK1PJyLg0sVgByPKuA4D3sWgOBm7T4DgoAQ/lAzAcM1GmwHEBYS8vLU3aCjygV5Uo8srwZYvLP5MOQCYB+gxjQ5eVHEZJA4HHMaQODd6m39h7JLchIoF6ZQOEeIGAQD0NLzmg/iUPGfN47RYaV6BxWeIILSowOEXJEJnxmBxZe45sAQKAFmLVjRDmkwBW4DwdRwOA8kqyjCuBxrXlXgcAa6KWlA8DhrhQFQG/gcIM5W2QiCDgfdponU6KqCIOCsVU43gD8BQtaJTy1KBrY+hEKjegB0g4TTkSsXA8HTGDgdcUTOE0wcYYKJZwjaSjlBwWAYVQcdqRKkRAkjD1Bwx2qCFyiPuBWFl5spEtRb6q0fcK4OP7g0nwQS8J4nqJqMFN5S9UDTeUTBx6ogaQ0F/KD9vCNmougJkxAXXEWRcO8HGQvIbcR1g4IEOIA5TsHD2DhAR5Dg4IAyvLZWcHE6DjVvL6NYtby780GJYAeDgS+xjLlzwcaYgMPEX7eXwkRB3lCHQH4ONY0oG4hchxTsAQIceOENguDBDilhgdoAWYqKZACO8pAwBwhwtGgdoS/gEE9RiYgBohwLT8EvsLMBDbmjZDhJEx2B4hIcKNYBnpCJgCUa0aygwWtILQFSHBZQDbUZaQ4C9BJkOKGHGUgC4hx2Q4xYgLkOJB8t5DiygA7C6lGCIUOJestFDjXpVBUAPkABtzITHFlDiRpg4lEVMcWV3JTHCJjh1TllQ4mocElgrCLC/iJ6OVIQiJocKE2OyqjuYhfqFKmENocA5gFisRuGCOhwFalmikarkBZJHUki+xxvHCbqgJ9dCx8r9DgBhxQVgwYcVYmEG8rW8jYNKj0cZRlaLuManEOngFjLNKg7+cP0pRrRRolqwFLqzEK+Su4yogUoLnoG0VzwqzLmNApdvkuvCqYFLK56ReS4JCjgUrSWCFtLp2qj9IaQpeiUXLCryFK3xapoED8WkuHFrCqRhEOjK9ny/8WiMgCdnrSYULr0cmFNp8BBLU9npQS1r2qdb2AcKnBLQsKWaYVlEKaMxB2GLjUCMaXgZKKsK4dFHmGJHRQQip6S1ukGBktBrConRVE6q4uwsI4eeS84cPqUtbSWDtV9Pl6YVEvJbDRVujwV5Kk149c9MtLKxHEdop15L3FIZKuWMpfxHA+2BCRxfYsIkcXGrJLxHEjgFWBOSKveSn52FAJgHyUXhEB56I+SpjqmPkp7ERZMJH6QJFSn/kClOBBdjmRxwq4p2ICBOLZHGirjQJwsSMTkcFyONjcuIICxZgdrltlcHyOJllAW+V+Vwgo403yihOMLuGCjjORwoo4uzRVjOgt8oSjif7oko4X5AMtLJkZVyizZRxGosoakdocrZPiKjiLDk6hyAw5VYckiuRkAB/xwsjlDUcd8wHB1jO+XtRxo9qiw5F64HyrOM9ztdALY4I0cZzsPiLAmjjFahtXQgYiIaOEMjQWjh6JxXryE/GC+ONknE2jjFahto4s6cKhsuhg1iKWq21uuCW/kL22qGdGBLgI8Rv3qD0cEY2M9HBbtjOdBpGl9v8T6OHI0q+URPZxBiYSjSoGOFg5hBjjjnhwY4Y6ADdijRQG5dD6XxjYl9FgBGOKFMQw9AoxwmklDghdcmvAnBHgw/fA4Os+McCm4Jh8rIIo4fKCPlFMcDR8Lh8qI+U0xx6bo9tUX/IPLUvZjjMxxU7c/McFj5ZzHEV+VBgBBK4fMcFBoALHCNkBCxxraoLIiUWOHARUlji63kggAQzkLguMQXDdPCUuwdjyvvEZWOPathVLhq3LNY41nCH+aHbHAhPBeQBUMaxscOQ2PEnDxLT/fKtY4lscFniE2UD4kiu/LXTAYLSvROBC0s9jhuxwZaQkCgT2OKUeDcszkJx6E4/scTErAynCDjgPxwzk4Zj9bZOGzbA/aDwVxpblfW0JTJRSnh5+W05wek4ROuRW5bfhHTjhv7KgxABccMjOAWwgr+WphQi4485yz8KKNQDuKouHLK44YvMST9PdwHrjjRIBYKK2NxG1XEsFixQxwdYPU4XccMsuDoVgKoh9xxj84vlEIeOCPHEn/itFwPU4dUS+rulQwTBeRLxwQ6kQJS84/GrcrOTiwsUxzoWScQ+OLVHA3DinxxxSiZtyy+OG9eRvjjhxxA44giGR+OFvHCcKyhew344td8U8SlknF/jjb/KL9AJeDcEAEAnDAOUtDlwE42lkcb5Zo1Mm+UbcI4E46dcFK4NUITX+VO2BEC8FCAXe1Pb8r4niha1vfljRWLKiB/YE4Tja6Ank4vLoNleDACptiCJ/KFxgPGADNgGbHDYTjqQAOE4Z9yhP5aNIBe+XAqYBE4SfMSOOKInBvOWgfkOZc0icRl4KHHHkTh/IAlE4GRcEpOGbHGR+VWBotryuicLeOMonE2shZJw1zYkiAd6eKTnAX1AEHLNMAlOcexOG6wEcTjIX4Q6kvRFdW3J4nE6HIcAr7/lZAKvMuEEnAkXQWvlPilVJSn05fUMCiTibmwobyEAKjROCMXFRvrQaFUk46ScQg4F4nF2JjeA4lE4N+yz/ZVtVFYCQP7L4h40mS5mChUnC2vI1JxRzl9ygDIuHkcr3QA7mx45i+dywk2B0nEB7RJxw3blx5SoZOPfFEOwiuArp+y8b+dl2GnHGMNj6VxS7ll4SxZOKVnFR+VO3LQK42ycTZOPejB5Ti10g9k4RBywvOCEzlzLgsAqnbAK76VPZUwIBpdoPJxYAVgrIR7ED1xDeThZlxvk4yBcbnOOfsq8OpIR5HZIOvyrZcFzbEhThYbKD5wsKcQyiAinEaBXIpw8HlsKcV7CLLPllHjJnLJAEWKceRuFinHBtjEpxcU4IacSjOOSnHRjhvnKT9ss1wM5AC9eXuTgn/K6mcZ/y6O2CynDhuD0GhH+YnKcd/NGBXBETj8pxp2AATGYVOBR+BmBVipxxzlwJMEkmNKnFiBWqsg9K4mCS0u5djnFQzjSEBBeEWGcAAFR8NBFdSGhp9dlcScY1OKanDjSXV5xrU4P6cZiQJmcqkrpXnK6jIN6cbuOJ+MWHPrZN0b6qW15YNOKmcvGYBhpw8vMBucI1OB16CqzgJpxIWhiucPM5a4XAzThbdYvC4JZy/6fNwCoDiVyoB/G4Dey8ifIBnF0SBVZw4igUmcIEFYunVhtjtpxQ6sFf8UzOD2nB/Th9pwKTYQDtQaYhSTmRAiEwpJgAnotO1uFOnA0AQJJx2ygzJsEc+orbBerQqHKDzljYAVEFcecv1tj7pxoWZli9S2YCenDT/A0jlWfUZZyujOHUXH+BVD/LAQVjt1HkFWczAXTqvp15SayJcb9ODiCrTnx4gqMuoQGcIkFfWnDVBVDRUQQV0GcJs5a53FXhpuGhQgV5hcZDOMLnGmEwJS07ismIK3DOA5AHwzix+JiM48XkQUqrsXCkIACPQ0zlpKkBXOOFpHLOUMZxLzYTGcez6KxnCd0AcZwZG49acOc5eJ1n4zinShBM4r6dHc5aJnH1Uh+grJM49acH7ZfZ9FrtjyZwP/gSmcVQejng0pRDg8x7EG8sCF6PKWIl0zjxmx9M4pYKvTTH4XALTjFLoLM4RhAZSrMmCu+Lic4MYs4KWcBLODlnEkcCR3hks4mWcLzOE5nEyzh+ZwS8qJxRNnZbbbUHtF9grjtI9YKs85bsXFFwLuZxvM4iWcNsFelnBSzjz6x0s4LYKpfWJI4GyzhLgqdHAitsD54Nn8uruWWI4iQAxWcDJQs5xUcLgGgAqs4OBII/OEP8vqzgepwbc4JyeP0FR1nBBIqtGB1+kfWcHJopznFdLjfhZigVABCO51LljSFAbykUKdly2cHnWFTsqVWjj5xhdl0b+DhRKCZD2ZgUgM9mYTmhLK1KdnEP1gnZwBeYV2cNIuDdnBoLjIngW7YaIKsyAJT8qc0YhUQ9ngRLSokmEaXCmURvFxSSY9LSwHOAFFSBji4QrqflkOcVowJiCvJzg3/g7E4iOcWa8gKXlXCVOHwB9llmWXc1MqnEG6iqpwegAoucV3eHkbREOXmyZazA5icCiFfwCuohXVbBwgVZWeLDPKCCpGzgl5xlKsxQK2QuHznArjjglxLeUtoK9iFYPJFALhuqBkgVwNRekuDWnCAMrK5x8zlbhcQUFYowmQhVNFFoQVuucAtbI8Cr92XG5wGRo0kKof5RbnHoNiNZx984LTuJ3QAbnDWLi1kgXc4PEKqsFe7nCfNiBFxfgVd02DyFc9JH8BWVRQz84gecCEFSMRXqIpsC1czUUfmWPAJjcqTzjarxU84pNyjPOOnbEZiJiAAK7YuecbuOPnnBIBWrPZii46ZcM5iqUCq+ThdFwcM4cGNOvOAlHH9rg+cB/WgQXRd8FUW+AN+oDUZNtlPRAWHyEMXBi8j95wKdl1xcBGAFTstuLhLMxsdloZcGfOC1CqMPAL5wF6CK+cdc0Ev7BXmh+QqBgVqpUKyFUP8ovBVUaF+oVnZy4/ZQSnH5IEWQrL84ZEK1ouLfnGc8wP5xiCAx5S4POAxCsswoQlxZ7qIRYX39P53GnARiHKyJa/6AbDKk1jhfLibgrMSwZcSyAuMMIjjeXYc1DTq+fy3PACUXFfUCZQrsy4Xf6eiuAnsqmzBYFx4SMLa8fAuOf7SMZpEFxfy4SsQc0YuQXHH1hUFxYIVdtAOguOn0rjoCH9LQYVvzYYr1KtjUlCjkmpNAVLm+Ze5duCoYnh/aBWVwNMIGQuOIXBShVNHEnEoO5ceiIiaXWBLhKFxToVqhcc6FRoXD5FisHLVoVGXmfQuHIXFJup1/Y+30cFcJDOAyBGLLi8AqEpaWMeEv9HucpVzjaQrM04OtsPSFXunFZwSYgqAi4uEeIIuBOQX8hWaYB/c4gsKpg5QvsuK8AxFxqS4y+yg2QKPnCPLjSwqorQIxsepOOubHJLhV7LtUl5JcAouGTCvfPjF5x0oVz4KsouFlCv8vhxlxIwuIvoe/qE9XXWLjdn1Htw4JcTEFRtCqSoBbQqSkEEJcaCuFwuA/QBsgr+LAwxcLkFVGnHqhVOfQGS474DPkFazCq0hUogrdIVwoKvOkLKCvKmZU11yV64NS3SYKxQQNBXjgr9i4JIyz2FbXbEiQgZ/Lzi4Q4ytEmKw7m/tSxwqmoVeWCTCFQ2wCeLjk/LVFEOcKxRpUy0uE6hjgrm/lBkIf4uGaCqBLitnLfHYlNkZouM5CstTjWwroS4SoiWEuG+XD3BW6UIkS4lYKy1OEn+DRLhD+YAF8P0K+UALiXBRkCARxCS40joPGSBf0GHhX4/K4IVuFaakuHydXbahHlwmS4SRcZUupA8BAEKtPROS4FdqXcuOjbD5LitPRBS4FdqYUuCjbFRAaWJQ54VTtsUEpbRCqFqVtggqml8+SwC6AqXD90Rya0CeYfBaeaXAGnB1LjYQq7VABgsXPAI/CpNLhcdQS84454VJBvRbi+Tg2lw9YV/aCe6FR+Eqm1RU7BvS4bpcXaFe+fGARUfwrUElAnYSbOIGXDuhUXlxJ84UOypVAOhXTY9iRlxPcyO3tQ2FQmXFHGgl8Es9lcZ4Qf1E+Cvv6gvgrtcIa/ytc2AWXBEaXvz5rC4vAK3aPHH8BtJr2voz4VEUKwF5UoABbLggZxm/l0wAHf2GSzlOKy9lwKFw88uQE6aIripAjitIQB4mKjd0WgfLicJhzlxXCYtgURWuurQFXLg/JQNy4gk8PImICgAXhW4wqzmY9JcOZmPSXHHzjVQrTy4AbdHZYCGXGvLgJwq13YZ0KpNgoivEMUhHQrMWlrK4D8uKRsrwoC9wqnO6KccZMuBjCsGbSJwqIK4EqcCc5UcCpBSrnAqyOs5N5XD+mJ7THijlvV4Al2FcOKpY6xAIrgIEUAkVLXgSfVNwbEmPgwjLoEgmz2Yb8klqjoriRIqQqkTFcFrwLTQSBhVx0B928q7Cb1JTFeXyMjTcE1RKSV5f8LCJXA4qgrnoOGg+V5cx5eeFCKvJDRR5K4Y0UFmfL7gAFOiVXku8E6NS6SQAHDCxqVA6QrQVE/sQyuCiwAYeVuGoRvYiLsSyuBclECrjeRx6pA7H4QKuDt8sj0BfbRAq4B3yryuNZXH8jgNvh/K4zJIQ65cFXAl+hhVxwXY/Dy+uYlCswm+X5c44q4ewy7EPElXEE+WlbomnIqTSutJQ5wSA/QQ1xFdK6nZRDgLj8uzFr/R1NE0rVhCqwgxRmj+xWLhIIA9yNXeKH6TBMSj/OU3/M2SUICQB1ZGUgBkxLosllOwXkWiToHG9gvkUnvg5IAGPWiqdVqdAXVY7+4OaFFg2EUirr0hVgAKwqAT1KIDDu3CNYJG1Rl3I90UCY6OkwBOqz8VQRfgEjkPFuG9FB7PCYlZZMgAbMbluKNHCyqCR0wQAAI5AN4QPAvgRADPK1SUVIIRN0YBKIgENCygRBkoW04TvaI3nzrcC17kMbm65cbtTIBAGyoDu7hMqAtgAbhALivF7agI2ApZIjYUKgAPybTIlrUyAyxa/jYP9PLBPGV3Qnh1q2YrrcdjGPfkGsK69FJB8gb8wWnVCc7SyUCEwBT7ljhQJVFQdktegibyo4A83RFWDOjakp2wA6orFaAeqK56FVRNG1eihO5zTYboACkeHnGllegL5YhUVeEkWjmHY0WyIDflBZ1AaqK0ogENLVOrzZexFBwNnVcCOKuIQ3kAF2RJcsoQAY42GHZJcIDeagVfIoaKsNULairpKjT/5jAgeouOzkJW1DkIDyKBzWgz6xb8oB8ipNRVOEFPxI6eQDNFXrXFtRXBEw79ctqKr1FYhjgVrxCnxc0Vs8AfNFd+UCJHhsJLViKGmyin8BBNG/KDXFZEwA7/gL8+trvVIihrZQ0rAYiDZybGK8oXriLLQrTgtZUD8IAtfCG2UDoq5MA+F9cZehc/Dp+CBAqgdo/7kZ4ZSbXB6lygZRldowzkRdFRrtGZchcor95cmpRGhAItvDN1iFMwqkVAiS/5aIZpH6Jj0CxqaoDtAD09HeFFZJDsgq7isw6kI9Fem3CZcjtCgpVI21GcfmIDvnfyxnJZZGg+ScXpBBNnFbyoziRLEFKsdF9Fd2iv1rgDVgjtgrtsQ9FbKireqjkqo8R4cqS67mEKfAgxVHJLnh486tOpLIjQAaHidaBmN6NnVUTSMhQR/biNHxxHYkvaa9FaBiupqgy/5bRgMGcEDFceitZbSUbRNnANuOM5LJHQFlRUerQnBIKyWJZGEXTTDRWxorvNQ/g8CtFc+IHi8Dnyp00VlaK/+YD9wCtSLvoq6toTgkbhyLCnCOKi/YAPwgOmqUDKCDzFbyj4orERY0X0L16CH1m9KjSYr9WgyeqPLKL0tELJgKgBgMV+YAG9FXKiv4xVmsxRMVwO0cTFXiirMGVSYqxCYMmKhh8lF9CMxUKYrZMVbZUUdFVvFG4igrAILP4vdyqzFXHIBOYxAWElsqLGK4WKGlYHchhH4xFdg5W0CxHNq9AOgaY2gwcYj6K78+jm6jSsA5qQ30VVqKsnqqVYB8xX0YIM/0OGKl5gB6tBfRVRYrK3oL6K0LFRgAF4xXnxBp0V3AUUSOJS8FScB/KB1xwFusTYyNUAEI+jssob+IipcfVALp7FO0BMZLnblNLsUDKCfIWbhUyorj0VrqKxFFU60m0wBTQAU7oYNgWlFVPAHSkilWRe8AxvuYsQD/LEINRDntKsVrKCddFTyip97TgBBMwEc1kYsBINbgYwA8hAOzKxYCWrFeJrHqxW3orGsVqXYdKgAJSF5xhtYqxIQHWKtKSCVZHz/AD0xNAAfWKtlFYNisVQQjYrKIgtgAUaIN6EFUCATYr2yJYQQTMBBkjG0FB3YqXfKHoCPYcO/llmxV3YrRrIAFoR7FVHjC8WKjok5sVTx8d2BK2vEbCixYrynYuLSwIcKBlE5RVyAAN0VXviQzyCFEHrWji+xiwEUvsS8KO/lkRxXQYrhAYcOKjx5Y6lVMojA4rq2YoOKyzyODiuBqiQ4rRsVMOK8KIHDiqEOiZHRgwE3eMGJ5TmAkpxXw4r/sVqR0czKFMNBCiBj4xUcVGu0dHFYB1FRxXcHQ4cVvB0JA6HTiurAA43REOoC2K15tBuVBjRXflA40VZr1LQQGiVDbNj5epHz8+8K/+QLCiRICAy4rJPipTwUGGoTKCmGDJcJTKIl2QXyqGRiudKjnRVi4ECGYI3QHwcDIvIfYwbqcapVe/wFYERMdowkRWRo+HONkiCfeXjgDv+BeHQvIMJ1FVAbE1xWhdIkuIKqKw/LMC2n1xV3+Bvbyq2KsSgGe7Gj3K7pQ9/chIqKfmir8QDCCSBBAHYVLgcESO+RT+4JxeQlsV3ZXdH8jgAF3YKDZRpUVLhAXDFdGnG5YDAMhfcwAmYAgIFHiq+Igx4qU8VGmKj1aKHeSAgqS2Rk8VCFWOPFUXivUlCTIhJVggOKvCSCszC2qi2orn5Uiy1WPFaniuIxUzSRVsoNXFN7ZZYJCtrhw8wW8VGmKt6qIDgFjQQF4q08VWvEZzPH3iqoxVTvUiGa5F1DyaG6AFdxXyKAjioHxke6yPULDM8zCYqo8ECx+YfFXFisnxW0NpBcsj1DAHSL7ioa8w5YqcpwXWKvbFb1itZRWI2pjsVLZwU4BF4XT1aX/HQRyIijAEUMAe6CO4gz4qtcV7tAWYKK9BFijRblgFegfYgK5MMgqCV2V8EgrgYSaFc8KMJhg19gaxg48QWKK4qKDiioGtBz+BbVc/9Yf00AiAFJRXGGgWsA4t6f8MA9SDfRq7F0ocKDGK0XFd5qAkhB+yRACVo3AZyAHMDWnvKMRoRXIjQgRWIsMwXXngg7LFUVGE8ZVFXqiu+GCYJpEPIwJ4RWIlrnHsKDCh4VJ4oaK07FZqUW7ngcEqvfEknYb8oKvMDzuDqsUkuIk+sJZGDzEFHohpYq5igLdUlX3LflGi+hyYBV9Y8mKxX+O17xcqi35QR6swZqTAlRGiu03A+tw5KCK2eLmQBKiokjigxR0BYkuK1O3Laio3Ki6orkrIdBK3FAKYJGBPDj4rN8VsFcGdJXQbA3KhZvktpaReGJENCJAkA6h/yBGzYqgQdwlX4HlSOUkbxsG0zfMRwlR2QDtXgblQRUVMhVBdgInwEPxXnwqkUAdHgFQAAESq94CS6JIUVB7AOQ8O9OjcfB9gUg14/MSnF/FvrgiJVXGVoiVAW0LaqJVtUl0R1xLEiVzlgPrFakSrE2zfBLQ0VjhKqliHX0XYmJv/kYrwqoMMjFX1istEjGCIFUoNUiB0iNxbWO7g68I94AoiQSIED8OA8wCI5QIiVS/jXbFcewH2xWHYrz8VG5cSwfPrsFaCz67AGcYE6Ibs2EXahnNhNm0CIA2u0Z3IIWkB8JXyFQNW4pyoHdAL+4l+wD3dhgnQv2AGMIC2NBusAM3QnBIrcAfolR1isGJVJErhiVp+Ktx8EdivGJU6PAOqgNgMcR2LHFA2CqxxR+rCf1gDrFeS5kq2rS3QtbC/WK9lFUE3CcEjIrBFvwR4wc4lRsgEuJX2AARiVZ+KgbFeMSqV9DyQApoo+gQOBIPsSt5EiVWBOiV28QZ6cD2mDMWrk0AxklAxK0ElRlJHeGUKqAviVTjoZCQPlrkFQAqABtXoRJKu2uMFoEhJV/EroMloe8GJGO9/HisAUQBJxowJK6olRK+GPxVXEqDsVVJKi/FbMSsnWAfQB5OAHR8M4lSySouJUZSQISVNxKsYlRyitDTDuQAX4YCNQW4ireTEJbTIKhrOgZaObysP8ZF+qA0dxgTwOMUeH2nNqnruhV8IJzY6gAThgIyPFELALpL0jYARKyrahuVBdRUBawVCY3RkHaSB8Src/Q5ErYiVieUUwAAkSrZJWuLg0pYWIFftbJz8HHgBZEqbSVKLEUklXkSpU2oFEq61gQxK50laUSs3wTcQJtoYnfMY0lSptWCJW9JAYx0jp5MrtKibCcDjfDARCsSFEQJVPfqFx4jW1LgeYVw8Nn9KPpV43hEbwdKMMONaCYmbTRwHwQkxcp6oi+CEgFS0E4bDavQs8ouEMSXtKydjcgTi3pOI0uX0FfAOUwncgRpXkoqAYz0PF0JmBmTJUAdVhF4n9UOi8sHGgH/wc/ltd60pqUlECpHAMxVBtRb8onelUEsBaVVrkgpkqCyVra1Q0lVFlgCJUu4rOtAUZK+aANE0QtJUHv0rSVLJK7Ild6StYAivmwuGoRowBPpZF+idJUlErXSVLUIJ4WngoE9JVZhwciV1siF3FcQZi1mhaAAAyVYJK08lRnuXByX+Er9yVJpK7AhNGSqmaW8CBnpwVjQQDcPxACH+K5iYcIYRICARKN4iFlmA2gJZXovOMBniIbmAMeBKZRKyVY5sQRKFMMEgpWVkq8F6F/IOClaWSvlgDViMGeIDnkeClfq0ELJg4UqMKVUFKyZeKZyAXGBriQtPo+FK2GtFBSqqdgdT0MGAvPQVw0C+XG+CVLkrOBgvlUFclbNzHD2UCiENyVFiAE/eFeSrN4y2kr9yVcRKh0lc8zGNQAnkra9ywZK9IlVwUA9JXWkrryVu5K28lSxSv3lwG4B/SVoAIQMlS+SvI4B2txh8q6htbbiBGSqCJXsUrgfUNa6Q/4KSZDRJXONAAKVhgsbliEBSuMpWc2gXCVYFKhrqL4PEwpWj+YYKVmX0BHVHZSodCAwUqRKERFK1Cla5SpyzAoUr8KV85sJs0N5SscaAEUryiw/lKiEgLAPFxAaXOQfqA5FK5ylVRSsrJU0Uqrh4gkaJkWuytQdbj3cB+H4wacfaSAQzQdRVRUrRxoBsVTmpXHIELJg94xnTsOVKkpAIWTHZxUPvZnLI+m8E02ExSv3JVcSBdvg1vAPf/Mq4EVwDlQwOW8WlKj8lZGSt0pV69FGcaqyAVdAGENAo8iAExNw47X4LEGLP/m+fDAUqswAe7tYUKCkWDSkhAore2EgG4f5FRT8GtsgNSEoDAYTCAd7OUfkhRUTrB07o9aWAGKGoWEl9ja7Ql5qZmUJAJZL7D+OhjCQe8YO1KlOKAdSrBEja7RDIw/4WUV5SxvWOpX04rt+oSGNTPQpL7GAahtkBtt4v4Ua0OMmhW1egUUqAqVVTsRV1DB3j98KK3K1mAK1K3ZqF8AAxhXYcIdOgaMARwlZ65AqJWvmw0kCYNKxwlZBoDFfJqNAzcCiN5IGlcMwAaeWLrQF8CzFK2fFWxSpFRXtUqRG04OVLNFRR5CYYAqqRlFgO1SoSOJWdA1XCFc1hiMShgKk6pt/AhUjsErCcVZ2KoxSC9PE9qgfUqJDlA+VCnSAx3mEpXvcx8foZX5Jp5Zp5ljSiFH5P4ieX5YootiZDZpoi0r5d4Pqmas+JZOUcJVtVou/YkfaTSoPBsQwHxQ0qKzER8K6dQgUbHNFofqQxM88q4RpwEd2HSgSq0qRwlGMVMEjJyjj0eCKv1rdY6iK2GFW7CtaPyQ3kUq6SRca2leaIQIkxOW4wbyGscOGFXbStAQQnsUEbyNtKuTOEiCs1QbzrBqkEsfED//D1ARzPzMjRcwY9zqMI4JLtA4FxTtJGgKzTUCbqhBnGuRoykhV0cB9YKM/GKbCJkQOqByzlrtKiaDFWcvYvouO4tPoYlAKG8nIXHTpXmQALQVOdK2YKPqIUIvDMwUTMlfLgZwlYcQHBpWvmwKSlLMuea8nOOABpVc0rbIYCBFcOOE3SuNriIiwEbyhR+dASHDeRFdrvtxp3CpOAGlPDXSoSkBnK4FDi5dKgBfJUpSvYDcoAWqVOlKnGlTGSuE4RGUq+qVuH6QnAGO/CSLyWgF93yD1tezDLkan/JVTsQobUU0UBDqD8+lGBgWJR4YowFK7QuAvQQ0ZoB90MqV1FK+eKF2QS7pVy8AhaVeoccbAGbej+sBLgFH4GfE8Al8Ow5HA/hSgZpaVr5sYoguqbARpUMQYjngARKhhiD/lE1xX6MAAiV1fiKG8qYwACJXSVAtcodG4QIlT5qj0jRUNKaR8K9SDxwIUfmVRUNNYuvg+qSjxwGgPQ14LZiAYYkHjgbH8EDeXUWwo0Ro2EIscG65VV+TxAD3XKggqajQQv+AnHjNpULFRdVwsYcAFnC/QWZwoWlw3iYkyK+yqJmREbCjuuw+rUiAeJcAr4YQn9g0AQWwoKvEZzhMzjHeijsh0R4lD2IVIwrn8ozqxuO55pAtAUW/2PbeG12VIVwPMcY1AMR2vxZBpTiAZRh/48s6Ag6uEg2sRWS4UUvANIUaK9EBXAmfq6j5iCgSOcSkpVyIkuFrrSQ5xw6DKg7JUWwQmNhzjhusk8GNBJqE4yoiogpKJKk4zjK1qQDuAC8ZURUQiGV3dK0SFYqbA9pX20rWS4QO0POlfBnEhvKFH4TTY3DKo5zKQbDUZVCwVNGVbAyKyYktknQOre45rUE/bBC0bF47j1kDVCFMmVFjKmiFWrSppNjj8xbGVEVEexlYrQEcZUlMrR8gLjKkcYG4ysqZUD5BPGV7jKqplT4youGBBMrl1UITK602DEytMogr1JcSa5+QMaoJjcvD3KpTEHCYdjS2f5bepGOzRXABzyVr2Sk3JZjcp3JU5GBZnABWwBW8kUStKsha1xeo8oQAEaoB7Vl1QQhRBqUMXPuFlqj5Cq6WphTg9d6GbsaRlZhrBhiQ9MrVmVfTKkxpQMyuYAC2NKzEAAtcC15mkVTGZVa1wFuwBccD7JSY0pmZVPsB6QA8zKtKQIGSuWZXVcJemVdK8aIFcm7DbDBsBoqtcTkEVplUyjm2ZWb/5DmVsTK8wuGUyuK0CqHhpCsovywj5STHFPkTS/LP7w+HyrD5Xh8tl+XM4wnzYaPyv/ukXUDgTp35RVDw/RMfkoIrIQt4AM1KUaVir+VQ8FwJWUUK4SBiWVvxMYo5X8DVd4hPmxibYrxVZMSHFjAzDj8Gw5eAURISEOOJrRSvCnsBsfwsUK1U2BoADB+iFH4oFKNLK9keG1+SIdTSP1lGVBHsaplfuAD8qhTFp4zlmiMFi+Cu3HFZWrp1mWVMtVY6SG4tD5fj3X0wFksJgQEuGbzAyHrMsrunUaLUXVlbQshImSMlxDWVM/SvAyhqysF1i/2x0GQZj1GZZE7wBZhAAMqZWVzXsMpOjSPnaZW7SF6BwzRYZ2lZbSriTg2X1DyA+rK40FSkogtZXvgNA2V15AYNlRUNDz/Shsr0bYqrWSmgBmnB0nKxHlJHgcvAZAYtagj8rhWTEPrlB9FBA0CY0iEaW3wAyEVGMAZlBMggh1Cg+srzEE+LStVlcXSqhvKAqp/AVzeMTplbKyuaZURo1mWVKSYHhAGqyoSojDMxEWVcocFFlRL8o1DhS/Lu2VmLKmUOOR/QZjjcxw1fl7PkBX5cOyqV+XCqQO+CdLKyllbSyqK/DUlBXWVRzKpVOAEyvvpW9RpQbyIxYdxFbGDVzpUEXYUaVsSoXulZEmlzpWC0qo8l4gVLD2O3StYAqFw0rnyN/ES58pgFGufIYwql3CsNyuQFX4irgUJGXlqryzX5Yb6AUyGcvLwvkIOcDxVEkfJ9am4zjN0qfnyl0AfgrCyyvsvJh8B2WVZLmTllV8AG5ZVdzQegAfLKuUCD3+DB+idXhRWVc1Sw1Fa8THIbCGoqjaQYHK3quBByq0gEVCAeWVMHK3MOFJrXg5V6TREOVcvAFQAIaiqwSDj5Y62Vuq4aZsIYGBycTtSIL+yCO5UF2vzDREKWwRoG5avAgC/JU6pGUkgIXkG4AcRQVb+MCZD/ZUd0rWPKi3cKbuCGiHtmI0aQM/aGDQaOQKVAEC2Xg+AWBMLF8KctgdNEMEi6IQkbkO98TnmLBHGE0Dr6Rn5IXtSpHiN36gz9rXyY/iY2aUFDAFiuAImC9EqH644CqHWAOK+H+iionUOtqFOUK9VPypGSTgtShPMATYkbjlcmej45V1FYBOVrAFPXiJN7USHi2MB2kAPGkBCIDDYGz2CAWglVoiewE0CLhGDOigzRR2poyFYae/CaBDQMIRTBcIw3IkGaKEuZm0KIKxpH5UUJma4JarL1ScjnAUJDMawyZ2ACsuXGtLP9Ae5o7s5HjcsctgRcLigALVElN7Ztcg7OQ/xSUXEDlyGFKYsQHrYk1YBJJRLLi4y5QfFA1yt1SR1tY7KKVuyYKUA1yuJsSGbk7KKmNiJ1UnZRRpMQBxQDBi984FsHFFokOMQNcqncU2zEablWAsFLYZzcq7qUyZJEhcoEEECCBzcrkFyyC5ablUnKnV0z1JJncUY0YajRMDslfjJ2UVA5Un84Z+cOkjgm5U9LlC5Gc3KoTbHv8sZMTyWJnZyW3Kg5Ftc+AdnKMCIiAA03KplOjE5Aa5W+/ME7Auv8NuciSCRjTQNcr5LEkAkC+cs0uXmAUcaIDBirkqHwwOVyqtnK4xjpuVTYsdjpV9yvOMRVcrqNE29YByxA1yqvXI4xTAeVMnfUozA1yq/gBzLlgdg7XKxpJARoga5X7QkO4AAmiBrldyBJo0SySRAw4ha5cD5RaonHxQezkvuVPRiArlQh4gsXIrbgEFyyQyMBYCTyrweLI8rrrmKIAKSkn7OVnxT6woGuV+QiOQJMtytxJSxBBq3GDXK+cWE2LGpsQGDEN0s2mocrldjIqsK7o8q8eVLPK+7AJkuRJ5Vo6kx5yIvKj5hlzyrsor2qjMWZvXKnVNMae165VF4k9AADXKj1+YguUt5VABAwFguz4QMONuljp5WmmN+ty7PKhDxEh4na5X2aJNeVdlFJLErDyrsooyUpLeV1BKYi5A1yrtlQNcrD8UdxiUPlYYJVD5WWAkM9agYcMFck7youEX68rxlya3Q5HlfHYBo0TC8q7KKxfEG45uLyp2YhiljbuVzOgTylq7yuHRL2WJQ+V1YJXfBGnOS9eHx2AGuVw1kUGiPzoXv2wuygneV+dHAbcsdyouEU48q7KKwUoeZKQLytxJToaJkFy+3KrAINW414uLB8rxFGnAQUPlUFojkCBV8rb4AKAcKvlWV6wICBV8rAggpWiex8IGHG/MRO8qNzgieKdHlYUDPIXqeLl9YUthQCnlbd0xZ0QNcr/zEuzEEHlSQvShCYUZldLMTMpfrlbpZkYYCVUxweVw3K3isbQEGD5WN4oDQKgYcSBHBdys9eGzcq7KKafKogAOLyoc0Qs3FAeViHiMnwe1yu/UZzLkSeVqajNNOBUuQUsRTWB9uVIeYsKUC1ytxJRGWjroU0vKgjRB54HqGKznUhtydPKy1RP+Slu5WWqJHDRc3K34AJXyrsopSCAirQ13KiQIFgKsBsCCBAtuV8y5WrlS1uX6aa/cr6kkyEpWgVf4MhUDFvCBAw4e65KHlZcuXJ0G4CqWqO13KjsxHNyoQeJViRFuVUULOblVq9iwFUC+ilKSBAqsAxPQwC+5WVOQqbE6PKs1JAgKuTgD2uxq0oG0JDLlchoCurjZcrgGcH6qZDeJGeEZHJ0gAV5agAAVjBAAAQmD1w5pgIMkOAi8FzFXeACry19BVBgqyAAIAAGEwQAAGJgegqyAAGvLSXlqAAB6MB3lrGCqQNkfDQVA7FYKsgACry0JFagAACTBAAAomC+CqV5au8tJeWnYKv3lq86ZCsgoSmd4AIAACowQAALRgbgqlwVSEKpsFUry1nFwX98DLUO8AEAACkYIAADYwJeWsIrT3lpOCqHBVG8tSAACvLRXloJCqkhVngERdwI6nDpAB2CqDBVK8tUoVf4KviFUhCqJFagQq1rcExkHeAAGCq9BViwEbwYO8ADsFXiK1AAAdGA9CqpA0UGmZ2AP0KoGFWQAAshVK8tQAAJJgIQq+IVfkKsAAAcYIUKq3lp6Cqd5agAALjBChV2sFSQNEhplj0B9CrBhVkwqmYVXMKsWFXLCrVhVGwqwTSCtBVOAjvL9X0qewqiYVVMKtmFWry15hVwitJYVbYKocFUzzBdocFeuGV8IAABowUIVaUKpXlqAABiMECFVLy02hVnrQc9TBY+jpAB/CqJFaDQqsoVQMKpXlrCK03hVypOUaHEQQHBFXxCqchVJQqsoVQCKqBFVRCriz8X96cEVZCKt+FUwiq4RVdVaDWNHSAHiFWAAAGMEJFWSBolUMtQq/YVavLT+FV2CrARVgAAdjAPBVjIGGzDLoKsMFUhCq6RVjIq9c6leErpACry0BhVTIqiUYs6al5FUry0CRVkQq4pJbUMGFFWxCq15aW8tQAAGRgB8tGAKC9ZmdgDiK1AAA8mCBCqbBVIQq/kVdyKqlII+GA+hVgQqhkVRqKoFFXLYJMgEB06Ig0HSAECFWxCq9BVaQqhUVSgxRdoAPTpnYA5oqgwVQyKrXlpairjRVTRdM0VXUKsNFWaOADOgqk6Z2AKvLSyFWAiqV5a8oq/zijudWFFWAAAWMFEVrCK0xRVq66FFdGaKvmFWkiql5ahQq1eWq8KtzxqgjxUDsDwq/wVfkKt50wTboSRVrgqoMVWNuneAAuCql5aMoqjeWlGKtP3SoHYN5agAAEjB/BV4itDkVeIrUAADiYMCKtnYqS7p5owugqpeWpAAFDFU7y1AAAhGCNNpOD0pu6T3HHSAHrFWNir390zu6OkAKGKpLFWGir390oe6WoVY6KqDFWYHpUD0ZoqwAANRgK8tBcVQ/OCjhwkirPhVwQqvkVYaKvJJpjCr/BVa8tA0VT0znEcBYbZhRVgQqxIVckKuEVqOirdzqLO1IUVRYKpFFWwiqoxVWZmJn+jqKtiFU5CrAhVO8tOwVSEKsCFWhiq6xVLgqgycmhai2gquI5Ao4A4qneWrEKuCFXxCqnhVkAAMIVXYKqXlqxCrPxV34q88VTvLUgACBCrYRVnKkTGuG+uyxriry1AhVegqlwVYAAEUwEoVVvLXiFU7y0FxVkAAHeWmqKo/FVLy1xFaUoq3MVXBKp/FVISq7BVdYqssOAYoHEVo7y1AAATGA7y1khV8QqjcVZ+KpQlWYSrsJVG8tStSLNOTTrAolZvVwzsAXIVfkKsKFV5Kp3gAWEquwVXuKuWFUZirxFaDIqwoVZxrjuciSSrDtwFggYpdMYZlaFWQSrV5a7EqrDBI0ujpADOCq3BViwESQgHSAA3lqBCqWJVvOmSQtHSAD0FVrCqd5aG8teIzJ0bjNFWxCrqxVhoq+edDqKpsFW7y17JVTsAA+dBbEGdgAeSq7JVkAAT4VYWKt50yHTo6QANgqoEVVaKoB8z0TxnYA/Iq/wVYaKqdHS2jo6QAsUq/UVQ6KqdFVBiqrx0YwqwiVRSKrQKTOwBCxV9gqp+Si3zlvFWAAABMB3lriK0xFarW4PHIHSABclULcRPUs7wAUiVe+KoMnKrkAAJ0Mr4TeWjvLRyFWNNoMUAYFqe0VWvLUBFUlirGm0DwANjQKZKrKlWNirfJ039GZXQGFKo3lrOSqIhVVc4EaQrFNjpABZCrxFam4qleWshKopFWiWpoR0UkquwVbEKoMFWISrLBV/gquwVa1uEzNTv6FnYAsQqyiVQMKpcFXBCq15ahwq1eWgYKsBFWhiqDpVb7Zbq5DFKvvFWJiqyhVTQqoMVZSbl2WWnRxdBVb0qloVYtKqfkpFtI0xVK8tBkVVvLQMFUwSrjtweOSX0VSvLSyFWfCqN5aS8tTsVWDKpTvQR+4WMqt4qleWhsKsvOqJdkArMTOoW8VVRKr2lWfiqt5aS8tMcVe35kqLyyTlFt6t/OOkALEKpsFWwyqvJVU8AN2pXSAFslUlCrAhVa8tGSVftKu3qrb6hhRVFEqxsVfArnbjS8irFpVNgqypjCWUIzoDKSqnJMUkqvQVTJKrXlpySqKJVikqwjXHE+SAHpbkZyZViQq9iVUhKo3FWySrZGl9xGeaVajKrhlWQAAKhVisqwIVcrKvFlWLARMJisEkSGVeaKucFV7Sq9pVWYqscHD/NnmlULCq6xVYitEIVaGKq3lo2CrZxVXtOaLiu8AD+FU5CrhFaBwq+4VctKpsFWxCqt5aeYq1K5L7kTAOwkiryRVdEqz8Vb7Kv9lWXnVIycftmDKonSAE+FViK1AAAsmBayr4hVb4qhoVZhKojlV7y1AAAZARRyqBMcqB2C0VcIrWaFXpyq/ZVCMqlJsnrKHqLRxyqxFaiEqhIVanKpolUuCrs5Vmc4CQbLGKqXlrxirZxVF0Oe0VXGKoTFVeyrfBVgAAd7/LpV0wq47cBOxlfpxNyqW5VXcqpeWt3KvEVrCK1IpVxg2di9MPKs7lV3CqQhVpUq8qVQ3KtcGy1SrTxVzcqueVVdKpXlr1SqWZV6/mJkTOTKurFU7y19RVPUq/wVUZKqPKBo5An2lvutZyVcxKv1FV/CqLxV7gq/PGmcoFFkAXyrIZVzkqtiVfuKtpFV3yrp5wdwmRkTMb0pflX+Cq35VTgqwIVSfKp3lpLy1AAA0mBVzg7lwtFeZ2APUKq3lpOCqgRVwCqiBVRhFKTEx0gAYFVkAAW+VdtKuXnBUWYxhVeoqkIVZvLXalXE05G3UndaKFcIMGlzzTkyqt5abgqhoVXYKoWFVAiq0FVK8tDMVeRKv0FWuCrYZVsQqrMVTCgHtFWhiqxFaTsqi2VQ7gmqwTWyrbZVDMqzaVdtKsaFUMKrNRVURVTnyDeKqyFU2yq7ZVgQqwRVYhKroVUiKrnpV4wEc6cjuDjplUBSqkxVeoq+uHIfjgWYBWE4TxVGcq+2VQMKtWFVBirW0K9j4M0VRHKtiFXQSrBRKYC6RlgH7DnJlU2SqApVnEqpaVaIqv/eg+w5rFVa4quIVf5KpKFUOKqDxVUjSr9VPypmEVrqirt5a+oqpMVd0KolGIBbZrhVgSqkIVQ4Ku0lUry15hV/gqqMVVFuHBqBFSUrsgcQqteWhQqpaFVLy0t5a8Uq64SvNKrsFUcKrOxVkAAWGVZkqv+lVodp3gAhSqpkVcMxm5UwPKZElV7OGeWVSWKpKFWry0FJV1MqvlTJDKoGFUby1/BVnwqsOVZhKuVFXxCqN5a9kq4ZjN66DifCJKqalMnQqyeVbI0uGVXCK0EhVT8laJTBKKpGVVpyqV5aqQqsZVdMqpwzoTKrC5V8yqtIVVKpSiCKsk4xhVyoqscVbzpikaJuKZshVIMqzWVavLTHFWHyqQhV8cquwVbvLSQlUTKqmhV/z4QXisygCSJxGqJnYAK8tNsVc5KqClVFCql5aegqkoVe7Kp3loTKrIJVqSqomVT3BUEJwhQU4ScJIqlwVckKqZlVfKqnBVm8qm6VQTKtKFViSqJlVdYqyAAHWKuglWAAAYMDQVX+CqtZVC4q3eWrBKrVFV+yrChVMiqz8VZRKpPlXvyr15aNCqv4VS4KuglUMSrDtwAhOaQnMITn6oryMYwVVEKq4oVdCqu9lWwqrQxV8KqvIVYiquRVXQSq6EAwzGYJwokqu7bqrmB5pVhkqwoVVKKp3lrviqQhVdCq+IVUYqtq4h4JxnYAfEq7iVRSKpBbLIyqLRVbgq+pVfoKv8FUby095agKq5otCSKoglV3CrdVVYK2UYVbYqvVVWQSrThVmwqzGuH+KtlWzCBpjpV2EqgKVSsKvWFWFCrmu6lwqueCn1FjGFX7Cr55VDwq44VcMKq2WxyrYdls1IqiYVavLSKlWoSqsa4XqqmJVT6quxaAaFozRVoMq8RWrzpgDGC8irwJVCwq34VStKqOFVbyr41VGVaZ2AEmqtsFVFSqplVUBoOkACsqtl0K4aFP3AhY8c7lRYKviFWWirWVVBSqjJVUEquWlUcKqN5aXCq4ucEl4TplUry0jBVnrQUpQAUEBk1o6iql5aAwq2IVRqqtRlVBirqRclrOKLwsKKo3lqfCq9xVo8q5aVfEKuclX9yqnYAB42cmVR4quLED6g5+VMFoq+mVdmEohIDj2oRVV1Eq8VVZKqpOVUEyqgxVVAwYUVaDKplFWBCr3pVE4lOIVY2KpqVUpKqKFVsjSsCbOTKthlWfCrnRVmPdO9VdkKtFVVayq7BVkYq0kVeuqoaKKuyqshVb6qnIVZkqvDlX4qqrhK7ZQG9PC34A6Ug5Kq8lVkAANYVRvLQKFWBSqkhVQYqhsHDZZmdgAcKrQxVhQq8KVchKvelX0ANIZV/gqnIVaSqsCFULCrlpVl51VEQPToFvFW4ar8NVOQqrsVUuqtYmxVSq8NVIQq2IVQCKsilV8qYFhcOoqqYVWsKuOVV0Kq6NVlgqneWjMKvulXEZBRJVGsq7sVcXOCrqD2irxFa8Qq7MJfDkGyFUsSrV5aQYquCooyqosFW5KrqZVouRZJVRCKvEVqRSqR8iEGquIVX8KpsFW6SrYXCXe5LQVUKqoXrp1ir4xVkAAZiVcqKrYlUNCqMNVcyq6VVTqquRVUNCq6RVuKqhjVTYKpcFWAAB8MEWAhanlqB+7ZQZx3IQAFLVUifZyZVa8tUkVSUKqyFW5KrNZVZSql6VV+Ks4VU6qr3NVTcFATiJCZA+uAR0AG/8102XYVVKKsC1WTCqQtV+SqspVZAAFBlVby0oRVdaqyLVXigEwlXwSrbBVnkq+DVaAqqXlrRaqxd82p5Ek8rqeXvvwpKrUtVq8tauVTxqvRVWYSqUJV9MqyAAHoKoeFXFiA15EutoKKgKpa0YyUFqrQxVcyqiiVbEKrslWuCrOlVIoq1wVUEKoElWBQVai0IUFXs1K2KpIlVkSqtZV9qqtEVT9KtEVoby0NhV02qmeCgJxAtDT+qq6l8/mq+rVSvLXGFWTqrHhVSwqgSVbC7HRAhLKNeWVx0qgLVSUKv8VVayrwxVaiq0IVSAquglWxCqBJVSIGIu4CV4FCKWcJpyZVwQqhjVW+KoYVWNaqGhVW8tWIVY9qo1VX0Sql5a+8tSdVRDqv3lroqrAhVgIqkiVUzKsQlV0irIAAAwqybVcEKqFlWQAAMxV/wqhkVbDKs9lWry0FxVBOqwoVS8qsW1X2CrbZVWWq2GVZ2KvC1XTqr/BV0wqgSVQdOTRABnNE+YKrFFFdVSnKp41W/SrHFVYitT4VYhKuYlXxCqGhVp4quZVaeKpnVWfir2lVJ8q0oVW4KpsFXWAA6xVDQqvtVWsKtgVWRirPxVsQqjJVeLKrc1WnARWoUcBQJnVdgYCtkCiSqd5aoMq/HVSvLW+FXiK1ChVzEqisVW4KsnVW+yqMlVhQq4RWv4KusFUBCq1RVIQqsqVSDKvC1UDCqWJVdgqwoVYWKphFUgKqpdV9mqzaVUhKqc1WuarSlUpSqZQAFkKpM1X2CrYJVsuq+XVTtKpeVXTqrRFayaqreWq0KvVFWYSqXdVH4qj3VVvKqXlroqqt5aW8tMqVVLKr+FVrCrW1V0KqoEVWKqq3lpxKrYFVmEq/OVc0KvIVUvKrQFVYcq0kVfMqp/4Ai6EwSASpOKKANWTiXowHaqgtVXKql6VZCqrRFU+yrgNVueNMEgMzETOpzgiBQVVdWqoLVdJqsDFW4KqWVVhKqouVZHKrfsI87JaCK8mq4zVW2KuYlWUarPZVNWtD+AIwRSJgDtirUhVXcqvFVSDqsl1V2aq0FVvuq80Vdpqtc1VdaqBDyle5HbVQb0F6rR0gAd5a5CqzFVSjquM1VIqrV5aegqrVVcTqteVU06rEJVfcqtBVYhKqglUwSqkJV8Eq73VVlqvNFWQSrQJVOmqj8VS+KoB1W1yq0FVC4q6CVfkqoa1UrarVdVJ0cHvcm/vRUPLPpUR9VvgqyiVW+qsK1W0SrCVVqaq5/Va/qq61U53RQ5crdQNvVRgapG1WwyrkhV2Bq5IVYSqqZlX0KqYJEFs4MvVf4KuEVr8SrJhVCOqukVeTqq/FX+Cq6xVe8tdFVX8KsxVUk6qEhVzkqz/VYcKt/1WwSrMdVeCcdrVQ8Kqi1WY91zcKUoMOkAIvqtM1VMGrFtVYmqpCVWYqv31XS6rD9Vjmqk/VYgav7yJGqI68iw+qskVavqsbyKZmRDYEXeqlQAEzKs+VUby0NAAU+qnvVf7KsQNWtzQMJ8l2qx4ANIZkCFUTKql5aqyq0HVZGKpKFU7y1PhVsCqlHVTvLRsFW4yrCVVCGaHpVaIrVAVXWAAGtVpsqhhVYEKvxlVjiqkJVa8tBkVSvLS21WtQoHGgeURHrCMh2n6VXsSAtBVON5QQFXjeR1FViyqlVV0GqgKVYEKpcFVry0ptVZ+q7xgpuwU9OLoGqshVLgqh9VSEKpf1XaqrrAAsSq/nVdqqrQVWtKrZhV0eq0GVeEaqH8ziiqEEM4LBE8VShKo8VXwaqwFVERqmJVZQav+FVdCrvZVgQqxaVU0KsglVIqqyhVXiqusVZiqpq1qQsFmZM/MiXnTDbYFENjdMEiwApBq2o1fUasaNXOqqpls1gAW/VS4Kvv1XgGqzJVrEq84VVjXDa1V6CrCJV8QqgSVSOVTv26hLAlHwUy2Io1SUKo61UxKrptVNTSpQ8i4zEdhS+6VC4g6Bq1eWjBKs+NWQSq0dV50q+jVVEarGNVjqrNZVf6q7dVWzqrmVV6CqC5VhQq7HVWvKv8FXj6rAhVbRqv4VR0aseNWiyEN+kzZaUg1UDqqA1Uz6q3OyzJAH5nH1qoT0BAmqYlVEEqhXVaDKtSVUvSrRDV1gAEPVW2KuG1WYmrYJVhWqpeWqkKvRVW/KqchVPuq5OVRBKpWlXqiqBdVICq2wVXIqteVUXiqIVVyEqyXVQbKrEmjkmreWVAuUIvctCrRlfApaqNVV2aq2k1UvLXpNUhCrRDV3Jqu/VYfqpCFXsqritVAUqsoVexqth1UkSrhFaOQqnCVQ0KuzVUtarPZVwpqtsVTpqtKFXimqDBVkpquvVXcqroOxaCqsYqcQqhWVb+KtntrIyr9jVS8tDpVYcauzCWDhZRNVsQqhkVTxqq/lUSp0pJVvJqp9VQW/TXvC5SqixV2qqnsVf3qgHFUNirLzqMDVd4AE4qqBiqlKq/pVdfK64VcmKsF4pSSqM5VUyq7jIMKKvAlVLy1k1VX+qilVZ3Koa1XemrIAAuSqqWVVvLVSVUc6rNFV3YOZ2AORqv1NXLSqNskQIquwVaSquWlVxqq0kcfmq7IVR3quAADayriJVfgqmtVb8KtDFXb6rMJVZ4qhvVb/BjNFVryqgxVoN2LEcijtlEkAGaqF2cPpAUSVTDKrhlV/6rdpVMqqqIVXlYAr5wQyr5pVO5q+GVeyapXlrTmrBdVc5qqIqjZdkhlV/CrpzVq8tO5VeWtg3NWgm46nA9ald4AOUKp6VUBGr9TVt0q5rVTkKrWFVHyrDhVa8tb4VS9KuEVoQirChVfBq65VUrqtWVUzGrxJV0Bq2A1Q7qviFVby1eDVmKq4bVWdKuCFXVmqXpVukqwc1d9nl9FV1Cq0RV5Cq/JVXUKqXlopSqpRV4Kqng1RgauQtWlCr+RVWOq9w1T6ar96wTrZeRVBFqui1WJqpQtW+CrmDVHSqpmVRMavCFWxCrbZVQmq1v9LUKtWFUyqq8UApEq+wVeqKr+FVtSqytVkwqjvVfWascFX4yqjtVBgqjVVeZKrONUdKqFdVklq1Q1eEKsglVYWqQhVPaqkbVUvKtXXSYbZiiVzFqpS1fWaqUtVgKqkJVLEq1S1RZaqgtVLy0ALVQSqlwVWjqqhFXkWr2dVwSq8YCNvLjyjS+ir7LVVaqtB8BiqpUAAAPo/LV11qL8qr3gD3cDwqqIdVcBq8oVakqojNW4Wqwa8Xa2Ey1Xdqpt1WRKqZxVHIqgYVXZKsgtVoWrvLVX+q3y1VBavD/BlCrgtV/Fqks1YdTEfSp1SqyJV6oqraVRKqomNXSaq4lVywq1eWplasOFXABQqYZ66q4e7GJarsFVlWrtpVisqpMVeIrVgVUKWq6rVswqhq1bS2gQtWayrYhVtkqp7VQ4qtRVWlKo7LVgFqqtVV2/1KFXDWqJVVqpqriVTYasxNU2CqLJVMhqt+gmgapatVlWqRrVC1q4IVQRKpLFU1WqV5a3lqreWn8KsolWYmq7ZVX+q/q1YEAHGtUGKBJrV+oq461adaqplXTWqmUo3+qvIVbNau2tVzCrFrV0RqhtVatavQvqslASrV4lqrWVe1asqtUZiqRTVhKqmEVavLRCFW9WrBNIHdMAa1X8KpgNUcaqzjVsMqneVZUqps2wCsxtNQFgqqG1a4apgtX+WrZSggVqjSpFjqt8FUsWqt5aV5qyy1apatQtW+CrMbVbhqwiVTjav5KB42rh4ABNq3ZEHu4A0ACRWq0lVSYq0GVa5Kpt1z+kBTNsLzAchbPlYRRtVc2q7NscumY8VUGgB3WxoGr64cdWyYfVYpqtUNV+yqKZVM8wMJVUlqlVDz5WFdFyZ3VP4APlYU19xVrYgGg+VhPuCi4eBYOTyrYXCAOlkVc1QeeW/1CCqqfjVU02CDZDdqtS1V4KrPxVzgq98VUGKqPPItszdhVzpqrWVYEaoYVU2arDTVbRqoKVaMavulXIGwktVt02MYVcJar3lp4oAWjVycqksVYnqvXlrQSqoVVq8tJs1exKuWFUk2q/hVSlq2BVfUKp41Ve2rMjVuUqaiwokqtP5wDdktqoLlNMFVcRKv5FV/Cr0VVwdqzE1ZBao6NW4Pg1zVTMsFeqFf0VfVXwmqa5Vz+q5E1dNqsobLIGxY5V2QqkzVV2aqlFXISrJhVWBqr81anKsLtVLy10TVSEqrE1aXapG8IbTkGDQyJsYRHGaKpUNX7mrpDVKrZG1suGal4GBbOAcHwChqk3VWbqvnlUSmqtLVq8tHqVQ0Ku77rfGAdCCYhKnO1beKvztVl2rjTwOyeJIzAbgFM2yDSrpVAoEqrWVWvLQMFVby0kVVX+qqhVT2aqXloCSqhFwXIbaxOWPav3tX2Cq2xVZIqksVR+Ks9tWlCrUlVf2q18VZKqsZlV0KrARVF5qr8VbRKr5FWfKrlhV6oqhXVVuKr+FVMmrW7VwQqgI1dEaqK1Vo6q9BV0lq7k1WOqu9lVUKq7tViEq80VcrqsKFUKGraRVmJqsu1a/aoq+wY4px7VUkqqUVQYKpwlWl6q7xVSRq2eQhgADftV5aKubY59q/lTCRKpwdVayrgHV0Rqy6VUEKr/1UUqroJVhQqpmVZAAFx1W66r6zV+wq9E1eyKsK1WpCqrdViEq1jskx2R4gAYj0aOgI6qqSVTTqumNXwSqfEIBfdQjQsS9kSVXY1R5xwjAAZ2AJtasgAClGr/BVL0qwAAERgrSqyVVXlqobVUUyr6zVwitGsVavLUN1UvSqRtV19qju1ZdKp3lq2yrztV+NUMt2I+KMj3DPKrXlV9QqgwVc1qoN1Ury0jdVWsq06VRCaoa1Vg6rxtVMOqwoVeGqvidXoqqV5atequB1cFqu/1XtiquxVWsq1oVUiquYlUgyrZhVGDq0Y1aUKo/FUgSqltV06q72VeCaqCFUairPlVkEq6CVWHKsrFVQ6qEdVzkqy0VbBKqmFVeOqBJVVB2FfAN5YCOcBkGh3gARFq85VeE6qDFWdOqWDA3TqxEyDrqr11UDOqjdVgolAKgF6CGdRAjFA0NgRjq8mVTDKqj1UWOq0HVkWquYVfvLR8dUzOqjbgDf+FDVZwquRVUmaqJzVgGqxmVRk6tDFUGKrsnV7EqpFVf4avrVU2Cqw7VLjqukAESKpmdV8qZRnVWMqrIVbrqvyFWTOrjdVO8tU3VYhKvnlWOirSVVIJqiG1dA6vktVCmqGFVMGqgoVeiqvRNX2CrTNVsQq0A1R+KtwNUZirLRVneqju1Sc6qoNVw6q+dVXuqx01fEKuTVUP6rW7VJTqisVQuKpKFVf6raRVZzqmp1avLSsdW/2rIXVpmqneWoRqtxlWgyq6jVkqq4l1ZFar7tUfiqFdVWQq7CVWIrQbFUCSqjbgI+aEjireKvCFWviqaFV88qlx1dfapZdWQABCJVIjqw4VULKruVXRTY9HVVjOOaVZmaoZFV/CqZXVxeSLQVdwjksRyj5p9VVyaqm01b8Ks+FW2yqfrV6rq8hHKaqodVUvaq9zVdaq2iVfPKtTVUmOrgTVlEq0bVdQavolVYurujV52qzBHNQ6qyFXZqrlpVsIq9M1VgjgVdWZarstVuWqiLVQ2qqDFUWI4jXV7wARVVTq6rKFURaqfxVVuqx0VfTqpcRxV2r4DVZqqymVTWqoMnLG2JOPsG5UdWClmqoglVUGqd9VZUqmVVbgqo7tUxmSQPEwLq2B1QJKrh8RpurqHVaqquyVSm6tTMTluqTi01RqlU1fRqpW1VdyrC3VU9ieB1XQqoMFUXmr5hVW8q9vzMMxmpbJPOFElVjMQXYVUvLSUtV/CqkJVZxqzaVRYquLnAwLEFNVSlqwUSv7AFE2xK2r/Ic4ZeN0MEGgDOBwUPglRVDYqpCVUWKvU1VlPwF4hGZq2i1YCKplFWRSrL6gb34OkAC4Kq3lVDaqonVmIquqtPd/mndXhCrTLVbJqhqVXVWk4IC+iq2LVKElGzbMbKp6VVNKruJAlQOeHDP5qtZtWXmqZzVU6q8FVSoAGCVXAAAGlVDYq8D1SKKoZFUv7ZQsizsANeWoS6tglVf6qvxVcjqlzVZMKokVpPmqm5wmMACNBryKr9lWkqqpRVW8q8B1VoBH3cBuyr/BV/cOXmIHGpRkVXvyrJpVgGqiD1Y2KuQBzCiqKVVGYqlhVWIqpABy8ire1VHWq5hVY0KrzdWYSrRFaI2q8TVXmaqWUY6DhRJV4VqyE1WkquUACnirelVkSqvQVS/tn/AA3p4Rgc4Iqj2VaZqtx1XwarFZVEnqr91XJatk9UKurMJVZUq+k1ZgqtXmwGSqN5a+Cqkm1NS6lN1zHSrhjVEbql5VSeqqDFXhg4mQMC6qkrVWUKrMNWzmrwVVSiqwhVSTDmRTIpPxcnwyYObooEGgELBxW8ws9+tUqu5VS5lnB4JyursygCrqmY1asqps1V3KrE0iehhRJVQMelqFVxGrp9VQYqj4ImzKuyFWLSqJ9VXyq/QzIZkVIVVpeqlpVgQqisVZ66qAHpdfZfMiqXqjmVUSqtiFUYWrIAACuq7nVbBKrrFVby1xgIBWREr1Tl6rK9U6eqKvVEJqhXVUIar7VU5yru3w3MqiwVel6qS9XderJgASGRKqVUiauJNVBiqFsiJ4qm3VbGauSyJaCqCiipXq3mVX5apa9X9mq2vVjYqn9IvN6uCFW76rZbV6aOAbpMN6veAD+CrRvVm3q9UVf2ao1NUuCqXpV0EqmsVV/quEVqbur0LVhYqwIVbbKtl0KpZFWZy+VhNTsrQkXysITerZXwB6dELeAoQCBCJmirEjV/gq+r1atHD0ADSxFnYAFKqmEVUUKroNUyhxJDVMSqu5VbSkUYqVaCr97VXrq0M1SSqrG9W4KrC9V9cOaxIroKtKlUrerydV5Lq1pVbjKoV1V26qYJVXLqmH1eK0nNSL7FZCgg8Pq+IYHVKt8NUi6r8hVBgqyV1dMar0VXsSq4lV0lqvg1VXqpONXcOrzLVVOqsu1QkqtvFVZCqN5aHCqwsVSx6pxyAX2qSfVWORb7IpT6p1FWI+rTJVBiqhJ1ZhaqrlWISr0fVF9qrg1ZiqoR1U7y0kdV2kqjj1XbKvYNWk6qPxV/wqxCVWc6scFU3eqgRV5Oq8d1Vlqp3lonyq+VVlA9elyDgThv1U0+r/DVLtq0oVdvqrMNW76rExVi0qp/VRNqscFXlOqSJVjvqv11RZarKFX5yrNnV1Lqq+1RAasZdUR2rlLVeiqhrVTpKsDtXHbgs0kzy9GT6ZAoCGiw36ruHV2sq5lVVCqtd9V0WrEhVVaq2kVfUKt+FVEWrswlrwRZjCKuapYKIMVE0EgoXq+L1ReqvQ9VlSrBdVxZqt+wlndlHFVJuqnfVDfwSQotl6paiDWABW1VyQqq+1fz6ur9XS2q99VKaqh9VeLKpONWlWqtZVeHqtNVUG6rLVUoqrytVwzGDTVehTkSVUB5F5NVcJq071ZAAAA1W1qrXfVEmqqdwLXkXOpw72x5pVY+qzvVeH6s/FVniqCVV0Rq4s1f0qqPQ55/gE9AVjObEYkNKoEdX2OqvxVzBqo/1ZEqttlVQ6rEnVT/qwoVd76pR1UDCqMxVEJqzHVUdquydVLy1ydVfwq8hVc/aul9VSSqbnV4Wq8d1fI6vo1WxOqbDV8Tq6HVa/6qq9WISrpXVGyq+I7IkqpL1TCiqqrVD4qzHcAZKuKFUi6EUI0woqiw1Zl6v3Oq1SrgTVk0q0RWrGape9zGyr4JVh5q4y1beKtPFUuer53Is9dbtVeUKpd1VPuqwvVmrq7IVRWqqLFUgKrYJVEbq5Y1QfKp3lUqjRjZVesq5ecHvREhlXsurCxV1MqwarCc7nwtWmWqyhV4wqkQNd6DHGQKJqI76oKYoYUVeIGrtlVtarzRVTBq6mVYhgnwDVGeq3TVuQaWb1VUQUWJzByqL1VF5quy1fBatXlqM+r8VVOKwV1VVSKpuFXmBr6RVpFqrbVS3BT21WRBpA1VJ2q44VS4GrdVV62qsQ0yWq4IVcdqpq1qv5paWgm+q8NVadqpOFVOqrQ1VQeqoINbVxC7rTNupjQAM0qv+CMWWl+1Xiuqs3VHrq4RWgJKvMmA/M5Z3wKcKfZwFq6u0lXpeq0y0GZS721aOam+lU8eqV5arQq6gNZXgHwDUsqrnPVDFqpUPJ+HRyiCK2qPvV7RhRJVX1yt2fCmSrARVZuqgXlYdohB9W7y1jPVVs5BHlZ0GtcFWISrfuV12icfFGs+GGDVm6rnuVlqiKblciKrIdVjBrx5yV3KqqVRvLTN1VjBrT32XPK7ANVcqrGDUM8qe9SdIALeWh+qvEVrc6qXFsKYq/WFHsGr6FU8arRg1IuhZecucGr+FUsSqN5a1gq37lVzQMKDlKirARVcSqk4NRKAEb5WTBq4hVDaqjMVSxKo+DUJ4pNWAIPqgYVaiKo+DVS2Izvp+oMT81aRKr2lVXBq7vgVzHAnleCKqRNUlCrFg1UtiHVcvsGsmlWgyqt5VHwa7JpBdoFHFURiqKpVnQS52AGZKpGDUhiknYA3XKl0GFMGsQlUtcqG9kPAQEH1SnKpKFUtcrvuVwK5FYNWbqpa5V48rreVWwaqkNcWIHMyTXQpNQYfTqw4NccGpa5UcppRUB3waiIVViGpa5Uh8rwRV9wa6wVS1yqL5UbnBXg1fdqrkNU7AB5YDQwoKQ1PwawI1UvLX+DVChqlaShm5cEVSCGoZDXFiA2GABGiNk4pj6qAVURCrxLEVc4ZkgNy8RB9VIhqLQ1d3wUQVYEzD6dUYhqdJVdoazpNGauXBFXiK0T5VxYgQblW8IEpDWhShWtwvDdBrUG7KvpDUH1JjtwYPKmV8FqqrN1WlXFDyywGXfaEvB6suVWISrow1MvK++wI6GoODWOOrjg10YaiaRHbyrGFWXBrQw1yoa6PlSYqrdlXShq8w1nSaXZiP/iQVDXvBrow1GGJeflcdKt+DWahqSw1xsKA0CnqGtBDVJhqkBVdfiZ5VdCGvNDXRhrGBVzUiG0NcwapLDXSCtqXA84lJ0NVtKpdDVX60bI47cxebILN6omYAGaq9UUp/ODz1SqilP5zy0A02IHnqmjIMtUgyNVEiq1rAX3qtcNRwTnysKLhrXdsHnqn8VOuGvysKaIpjw196gbtRIgQEn4QqCr1KE6gq/gNPD6tcDx0gBAAA+CCAAA+EBflojK0H5agAAJhAv5aUwEU1AKYKo+iDXCrmRVq6yIsQE+GtfDXvhqvw1kAAO+WomrUAAAiIB/LU/lpVBqL6lzsAQAADggz8tT+WomrUNVqQAAPw1L8tD+WoAAHEQN+Ws+GvSFUJ/xMhVgAAFBBnw1gAARhBPw1H8tSAAIAAFYQG+WlRGsAAA8IFRGpTVojK1IAAb8tK+WnRGsgAAvy0aI1VEat+WoAADEQD+WoAAHkQKoVRqblQOyPhqn5a9EaqiNW+GsojWAAB+EBvloPy0RlaKatfCNcZgn5UyAAAMED6VpiRrAAAbCDfhrJA0zsAQAAFggz4aqSNR/LTQjXDCq/A1uka/SNYZGoflopq0qI1GEaliNTfLQ/lpSRrSI1z4ap+WoAABYQbNWq6qp2FWmRqDI1iatBSNdZGrflq2Rr7I1jkalyNSxGrkjXPhrrjVwwqlVVPlYX9PwN3onw1YkahiNW+Go/DUWRqrI1KatB+WlJGrEjVORqsRVSxpamnKpGqSjUvy1+I1lkayAAElGoGVppRqJRiDA2dZ9M7ACyjUPy0co1eUa58NSMrRSjVURqio1VA2NBWJ/ehlfCqRqUo1ckayiNdVGsKjWCiUeHwdIAVSNSMrSflpGq1hhV9gavSNZ5GoflqGq0RlaVkaySNTfLWfDUfhqqI1gEa+wNS+GrfDUURqOI1IytD+WlNGpmjVairnYAgAAShB+o1gAAURAZ5gN4qwAACQgz4alNWokGpwzqAABcEAqjUfy1xo1Ckat8NVqKrzHR0gBAAAFCCGRqP5aSUa/KNQ/LUgACAABJEF2jWuRqjRV+I6OkAIAAEIQFaNTfLTejWQABbI1KatASNS6Kv2nQBjonw1N8tK+WtdGshjU/To7RVT4anVWimrTflorRqn5aCMa20VbEFmdgCPhqUY1aMa8yNQpGt50x19YtMgdIAM6NVRGtIjUaRqbo1Iytbc6pjOmijXPhq1I1D8tbCNVTGvctVSZ1jDML4apyNYmrQ/DUpq1+I18UavKNa9GvGjVvy1Fo1KElTJoLpGrQjUfRqfo19W6OkAIAADwQN8NVfLQxjUF919dUdIAQAAOggD8tBNWlfLTvlq0RrCY1bTaTg9KgdkBjViRqb5acEa7WNYZhhV3Q6iqL5aVEavpWsmaplMx9iqUzV7wAPWNTRGqzVqWxqPd0gY2OkAIAACQQJ+WlfLR2jUgxq3w1+sarNWu+GsdjVR7pID0dIAQAAEQgz4a3CNT9GrnFWh2VnYAQca/qNerGtvlrgxq35aq4qpfzM7AC1Vr9K0GI1T8tEGNYAAAkQfqNVBGr9jVVARJKavutf6NeJGsNVpxRqQo1Wcaj+WjnGumjWzRrbWgR4qmgNf9Goflp0RqQo1H8tPpWhTGosjXVRrFI1m5Va8VegtjpABHRqTo1ueNTh2uXKqDQCPiqaYKkdAEN1URGosjXgxrxo1kAAaqNRxGp4jWMRq5I170aj6NVZGtIjVXy0XI1zEa7iNVJGscjXoxqLI1lEaj8NaGqvQlWQAAoI1o0am+WqYAAGVqQABAo1Dca9SNRNGtnjVJRr3w1Z8a96NcvGqcjVWRqPw1V8tPpWotGoUjUzRrXo108ayyNXfLWfDWMSr0AAIca+KNZ9GqsjU6q0Zo1tka7CNZRGsTVp9K004170a16NYfGsNVqyRqBJVXEgE6IPAnEv9x0gASI15Ea8CNZJKoujWtRqP41IUal+WtLKuPsSqSqm5w6kqrLiMYZgujX9RqX5aICa1uNSDGvdjUOxrKB6+kq94AGdGscjV0RqH5amsa4yVTqKr0jX1Rqa50SEa1hNVfLQTjUy6ZHJVtsa1KNYxGv+lVjzo6QAgAAZBBnw1N8tfiNXRGoUDXrzoSsg7wARCNQpGp/jUQRqpE1MiakKVaaKttjVSJqP5aj8a3uNVFKsRiDvABAAApCBURrE1aN8tJyNbBGp+jUJSro747wAIiNR+GufDWGq0FI1MUAWqNZxGuwjWMRr241GUq4ONVfLRTVp8JrzzqgE6OkAIAAHoQF+Wt5GtDjUmJr3w1eia6BnO8AEAADYIDzGvbjXhf53gAgAAMhBGI1IytOWNTVKsYfBoJr+I1QSa9uNf+OlfHR0gAlE1z4alRNRkmuCTWuJqn5aYSajqVWZOn5UyAAAEECflo7Rqro13Ea6mNW02gGlX8qZDE1OqtJyNc+GvUjXxxqDpVVIAMaVRfap0jXPy0LE1IytHVWhQmvqTUiAIeDACrq5SNQxGpBjVwJqb5aBsq3R/JnuB6jXNxrHI1IManiNR+Gv4jXDJq+zCR0qvcNYe2S7jXvAAe41IMamSNXJGq1jVXzE7nIzpucdODDGoOTUhRrT41FCaqhNZZGv+lVMtJdY1U0aqiNetGom8KCWBnYAREaqiNcXGpGVpfhrBI1iMqp9WjqKsAACoIH0rVgjXoyqH5smMq3p1dPOGOTx2eqbE1OqtUiNbZGqMjVSNLaZVjCaqiNfTGofloaxrPw1biakaMKl6vGTVVxqY2MVIgXr1S7GofloZxqqI1IytRuNQxGv5lXwzwcgA0rq0mNclGs5jVuJqOI1BCawhxLLoTllXvABxE1T8tHVWiNGvQjWcRraI1vEagSNbnGqngBqyrbY1KUayiNZBGrZTUExqiU1IUa16NZymu4jV8RrVk1lia7nss7AH+jVwxrWU1Tka8GNXxGu4VXjg4QI1WatPpWrzGsSjXvRq6I1Gka8ONS7KtMDXoJrPw1uUaqyNaxGvYjWkRqP5aMKaj+WtVGu4jXzxr1/Vkl8Lf1a7KtEjX0RqH5aO0a7VNVPGuYjWWprrU1tqa32NT9Gql6TVVEAaAzsAFWNRpGpcjV8xr741Vqa2yNb6mvnjX1yrE0cxiROkACnGr6VoaxqqI16kasNNTqmsgADepqo01Asa2pNXmqqBcDX6r3gAIaalNNWmmq9jXXxqH5asaa1/GDjGufDUcxrPw13Ma7VNQPKrWIBHroQI11aarmNTzGoSjWepqf41Yka+tNUe919YxNprOY1taattNdVGtaTU3y0dVaXaasVkTPKveADsxq+01raaqqNSMrWkTV2JrR01+nGXtNTWmunTVWRrB01hSa2JNVVxmWDw/aqEk1SSa/qNWhGowjWhJqLE1N8tQ5NSaomflV0gBEk1TEavdNaNGsgAA7RrHI1Tca46Ne+GuPTXtxrahsZ6a94AImmtqjWPxrbI1N6au9NX0rQfTWsJrDk1tQ2PeVW+mv6VofpqaI1O8aw9NVmrSfTWIKqtMm3GmLDQHSAEMTU/pq/01T6aqeNRTGqvlrixqbk1d3wQTTMsHmdgAuxqIM1/6akKNWRGvdjXoZrsU1i4OeZNcmmvqjUd1pYg1xCq7utFL6tvNVU+r/o1G8az9NVpGqthwQYJ8rCzsOG8Va56pyiA9tl8rCXhQI/HDoqsHjUloUPPVF2qtjWM9TQ89URw5XFVSca/KwrqqnltUeerfFVHnqhJVVmbhFUx7hrslVQaAYJNB96v5tW7GrFM1ySqgyctpmv6VXueqhlVByqxZVaWatUzVLKqPPVUSmB7ADEKruVWXoBogiRZ5Dz1aQ0UMzUVKrGVVDyqufWLb6qDQBSE5Lccw+qmlVTOAGBVVkC9avgDKq12VXcqoFVXMoBDNV/KmM6NTqrVhTVtprXo1+ya+SNVkmrlVXKJYPPVKqqhRNdaqs1tUCZrRVspsFd4AOVGsqjVPxrQ1VyWayVbCfuHmTXZRrTU11kal1VZIGlbgruBr3gAw0a0VNT5Gr8jUORrnI1sqa2Imc3qrcDVRRqKs1Zka/dNaa3F3jW+Rq7I1tWalyNRiPWPzS5JqH5a4sa0iNRmqtozUpgNM1Vysa5KNR/LQzjWURrfY17ca1TUPlYXd6olqrrT4Zaql8NcOmuwjWfhrIs170aj8Ne7Gr6VpZq1IAAp8al+WoxmpojWmpqRvCzaqgtNXJGrsTX9Rr4I1naqyP3GVGoWTXpxrXo15saoFNVGqu/nw0i5h98/KmF1Nc/GpKTVEprV01LcamLNSxGrYjUcRqV41csa9SNdvGrFTVLqr3pEgVqaKNZGmo/log5q601c6qv21PypiljUjK0XI1tEatbNXDmpXMA7jZpxstsasJNS5Gq+zUpq1IAALCawbNfEZl7KK5JrGI1gAAORBQlwGZqlWNZ9msJTWHJqr1VWqtOqNarGq3jUYZqaaczsAJHNXRGtyjU/RrWYcIEaj8NcSmsuzUyGqf1VpgasLNRFmvDTUZproc10aa3lNdj+DA1W7jYAY1L8alyNehGvfjXvRrFo13ya8sAGLhk50DOwALo1kAAHiNfxGuBjXcRqvI1V/uZgBlHGrYjWMRrIAAGkaj+WrImrSRwkarWHltsamaNckmuBjVm5qLc1MjOUjVQzms0jXsRqkJsOmalibG2aoBjUjRrRc1SE2U3NSmmvNzV8aqZzs7OaxiNVpGt+qzzJrwE1kkah1NTqKpdTUsJr3U1CUa8W1edsmH1W4xrrU1b8tKhNcarWxaBmJF5k1rUalaNYsBHEcIgRrPk1wOalyNXWmr01XQnkDNVJrZflTAAmoXjVWRqm41kealaNVrmp1zVtxrIAA0WahSNdYAH+jUfy075agya8GNaDGsojVvhqqI1SetNGYB5qpLLhAgZ4tVvmq6mnG7GpfjV+pr8o1Vkai+NVZGsCjUPxqJo1cuah+Wromoflpbaqh81cWqxbNbogiItwO2qNc1M+atpNXPmqVzWL5q+laLkax+NRhGu2zW7Zr9s1h2a6RNZZGrxQAvy1S01t8aqyNYXmucjVWRqf410ialhNRVquJPIgOSatVfLqsmNfFGtsjW6JqD41R8a6fNQTmv3zV3xqOI1VkagZWqlGq0jXdaqG8AvWq67VT1GrojUbxqSk1oqa4lNZ6mozTXcRrGI1Tka4AtaRGqojWEprIAAeqtKSNbgWtbzX3SqnWAQUFS3HPNqsRTUgFrL41YBaziNdRGsFjVIFqt41zeayBNd5GpbzW/xqP81O2q1wNfPBUXdXccqKTVMr4MeNSmrQnjWJRq981IOanaNe9GsCjW0FrH41U2aqCNVempGVrvarzsWA0ubywLOQG3TW9JrsI12qa1AtRAWoGzW1JrvI1+CahNWnZGuZzWrprmI1Cata9Na0mpYjVoRrTAAeEasVNVPGr6VpJRq0c1D8tUwAK4msBzVPy1Ps1cMa+lNWI4kojV9RqiU1veavqNdvGuALUNxrH5azEawKNa4mvfDXMRqX5aQOap+WiDmvBjVipr6dVrqmX7NJrqqTAjW6hxs1oaahKNagWtejXPxqU1aGca16NVcmtRjXV5qmC15saibNXgWuyjXEpr+I1H0apvNeBGtCLVORrgc1oOa6wAIAADQQGiNQ/LW+zU95qwC1KUaqtNbfLU0jXjRqB81vsKDXVVgxAMIDxFr3s1YkaowtSMrRXTUpFrD81WEamVNUAmtyLUDK0DI1eBaj9NZNmpvjV2FrQY1z4ayDNd5GsmLX9K0541pgALItVmrTbzUd5qu81lEar9NX3muWXgdwUDFAygACpNXhGsgAAfy135ackag/NUwWpaLU3y02i1E0ahYtUsWvnjWm5rzi1eMa+Ytc0WrfDUXJrzs1jkahote+GvIjUgxqW41OqtPpWnLGtXzUv7ZFScRziFvVXIasHjX96rsDwg+quUQQFmtn1ULxJ59VrsqzaNRNGrnzVkRqTU1zEatfVQwRTo5Sb6qYI1neaxNWsoAA/loaABn41u8a+KNRnGqeLWZpqbU1Asa1fNZAAHbzX4lru81exa9otRUap+LiCHlL9VsnEfNNSQWtPRYoGr+9yaBqsmNVQWquLUL5qMI1L8at+NZXGolTWlpq0C1xKawFNYAWvgTWEGrBDQxBqnDOt+quvwq+61o81m/q8EQOFxVMDWylqw1iZ/q+jyNIZhlNXMkBUjVwiCdI1auaqHlzZGqypiWUxHQQlN4WDjX0xrKI1Uya6aNQfGuYTVyRrgC1tBaxjNRUWvCLWr5rmS1SYdNTgsbaqDQCgsEd81bGarY1aoeB2NUkerNS1yWoUcquOVU2TUWExfjVvjMf41eFZjEzV4mq3+kBJq1d1djCjlNUwcqFw1yZagBHPKatZXCKmqaggG4axQXKSnkSVWemrC41XKa6VNR6WpwzV0Rq+E1Hqa16NfempbjWXxrIi1wZqnPVDjGs5jXPhrY41x6ap7NRALShhpERqP5a9caiyNcMmt7SrvAA/k1fkal+WpbGvlTUeFqDY1/qa4DilEmpejUQxq7vgjxdN9NS8WvRzXssV3gAQca7iNbdGu29Wt6r3gAF8tcXNdSWsKtWVpqnI1rpakHNWNGprzXNxqvI1Akas4tWmrT6jU6q0GI1TEayAAEzmo/lofxqOI1tEarAtVcmvRzW7XZ5M1Zaq+c1dk5hPDW7nZVzVp/OL71cOzheTVoJr3k1cUa08tRvGubzWyRqYs1xKa+CNSV4GtuwnmqMs1x5anwtY/Go+TVfJrWFVF/OZ2AAdGu2LWXZre3VPC1E21W+aus9rpZr0zVeFqukADpGtsjVvy1LI140ak+NWIWqVzXvhrkC1iatSeNdzGrwjUGxqQo1xKa3CNR/LVMAAyRqX41ZFajQtdRGuVTXvRqwY105axi1QrBipTUrRqgk1DRaneNbJGqCLVURq2K1eqtTitUFGtQLV95rVE1xKar8NSzGvezVVpqLi1O2ah+WnigEQjX75rJ41oRakotWAWtaTUYJrak1oytFctYYWuCjVvRrhK1Mla+itSvGrnzWAJqpI1Lha/BNS9Gu9jWXlqkk170a/bNVxGu5TUq5qMNsRJ2Z71R5asQAhvlreNscVqirNSRWpkrWfZqdo1OqtZvNa+GsfLVzFrRlaoca3bNatGsojU3xrzi1MlaxJ8FdmnirUhWqIIAFFasAtQMrRpzU5prrzqRVqpjKoomu0rVXFr8k1J5a8BNZPGpbLXzFqZs1e2a5fNcDmqMrWXWqmrVTs6XJNaAWsCjUlVrt41ZVaqyNYKmtyLWORrU41JialdNbJWs+LX7lq6q1MNqvX0KUqkKjXuxr1I1k8ama1afGtqjXdVqoE1JiaoytbVGr6Vpa5qkk1wJahqtWXwRGzXV+IkI1RVasAta1WvBjXtVrIAA6sa2yNeRWv6rVnxraq1k8ay61aYAFaTVVVraC1n2alaNeNGoIrVCqY0bV/lav7DKjathiC82rGE1bUakStZPGrQYjVVqwC1TcavqNR/LR+LWxVqH5ahJayXRExDkjbinxqnI1bKa2yNXxGq8jWSVqzi1X6apuNR+GvErUNFrIa170a2qNbFGrurXYpqNM1tm2cz2hTgWFtX1w4HPgjK2HjNRLavk1Vy2qaW6CtqrANR9WosrUNFr3HwmVawKNQZWoojX3VqiRVwm2Zd1XOhChLUPsoNbV/KmGaVSuAB1tUVRYh4Kf1qoL1RdNk0zVIGrRAZ1m4c21aTGseTUvxqL41VMa36tRvGs1TWVlr3o1W2SEoNTfAj9LUTprwK1Cka9QtaMrU+zWn5rX81MiatgtSo0p9tXHnkjE5BAwCdNapWs1TVZq08UAzRa0iNfFGsPLVNFr+o11qau4tXfGtRzWCFrqI1tEaq8tfXmo3jUxQBrU1O2atgtanasSlQGSotBVmdqleqPvav+jViRrxY1EEasSNRnGs2LWQAApY1Bka98NXbWqX4yA4pK7VjtqOkAItWuflpFpqNs1y0ak8tTxGvnjUN2qR7V+WoGMnHSABOLUhRr061SRasiteKmqsjWJq0HI1K0a0wAGZGoTrWTxrh7VqrZa02FQ6qrtW15rzi1nyarOtawWuJTX51rm61c9qtlEJw6qrzXjFrWk1M0a0/NSYWoGVqd5q/i1mRah+WjXWvejXb2rR9Au9qs+1fvapZTW4Fqp81Dla3RNStGpgjUzZr04189ak+1feSo4dVzH0cC10xap+WpFWrqjUm5rd41SUa8ktbfGqwjV95qWE1L9q/wgKw6qodX72qL5a/EanaNRMmrojXKJrS61qUaqSNf0rVsjXgRrAo1eUaj8Nb5GrJzX7VqXo1UEah0tdKmtvjWnxqyS1Txau/NXPGqYLVCpqo61fqa6wACXWpnjVzxrb414EavKNVZGrWzVvhqko1pgABuNdImrYrXPhq6I15xa2iNZPGumrWn1qnI18Uaj6NZRGsQrXAVr+I1IMay+tU8WuYdVffhKHVY9qqu1d4WrflomJrfq1kEa1etR/LXvrUsOq2G17Dq6U2HMfS0rWENqMI1wDaiStWeWvAbVPy0WE10qaiKtTFACHTU6q1zC1ZlahhtXhGpGjWTxraG16Jar8NZPGt3jWKOrsvsKjqh8/mtXFlzX7lrQc1Jaa9BtRpWruVWTaZZ/VYCxXx1S8wEWdWFVrL41k8awKNfLWu3jWTxrb01iatEGNQLGp1Vrixrr61vea8UteIWt7zWKpqWk1e1ax0tfgmvijUvy0tnVD8MJPAOhAACdWS1rwC1CDa8aNUEmtbTWHlrTAAnEa0YtbfGqbjUbxqb5aWqa96NboWqkjX6Fq0C1Rha9CNSYWuKbWmAB3w1u2ahwtVmrTflp2Jrhi1z5ay4teMWtAjVtpqcG1MWa6wACRGv6jVvRqps1qyaxwtZ9mvyjUyJrKK1/JasAtV+GvMTVBRqam1X9auqNbJGv8LVURqOnVct4YTKC86t6dWAxrn5aW8au2tek2p5TU/RrhnVEgAeZtcYZkBjX6RqvY1EkatZtdM6ofhjnIJqQIT1ABZ1ejasLjUZNrXK1Sua4JtcqmpwjUSRrPk14qa96NZpGrsTXURrrI1t6apyNVE2t/ygwoBdnV3uaqtNVxGsnjXvhqpS1W2ayfNUrmowjWcRrP5aaTaliNfkmqbzXnFrfY1VxarCNYDmovLW3Nr2q1Dzq9MwE86uYmxbNr5U1PuaywtRKmv2bVjFrF41GEayiNU3GskbXtRqQi174amVNaYAG8jUEtrZ81zja9GtSfWoqLW3FqjK1gUa6utdVGqMrWhFr8E1cDauYtaYACmjVLFrf41kAAcZNaNGsnjUfprhm19hax/NdNGpgTX9Nqsq1FUaqiNXfLTyjUcxqdVad8tSiNR42vejXuFqn41tBa58NQS2upbX5JrHS1gTaxFtUqmtCbUhFrRlar9a6KtTNGtfloCRruXVH1wXl1VL6v9rUH1By/VCrqletdHWuzVr9KrVXV+jql11RX6q/lV/8wQ3VHranhHKnWtUzUuI53W1g5qshHPYjn8rU+trMX0atqp0JOW6ozdXhtrU3VabEah1dW6uPsS1uqvs01Rq581QSNi0FWDurGy1ISa8aNXRWoJTWnlqYU1+SakbwtO6s6zX8Jr0zA87qzIVXO6rF276o8V3V7QquZ+OcDluzU6NqqK1PsayxNbu6oU9VwVr621Pea8GNSrmpPdU/EA0E1ixa5ytUxGoflollqb3VBy+MjIEGgAYGDvAB2K11ha77Ne+6qVawJprGc1aMaxyNdO2t/dW84Z5s1XX2DXNfXGvmrU7RqhW1J9amFNfRGrBDgtRraK1U7arD1aIE3lTWPlrba12baqbNZPGtoTXTRrVK1nda4j1c7AHirXkeqaYgcalBjNR02sFTW0RqpI1RWaiVNaOWs/lrM1rFBcqB2C2VWx6qCrUURqps1v1a5eNU/LSWrWtJrZY1Uka5StdbCsPDVDA4DuIE5a8YCAq6pfDUNxqPo1+nq4WVS6mvIzXg5rTPVtLqKHNY7Wq0bXXVqn41MOa1eNWC2pwjWfy03a14kapiNVpGts9U2N0J01Dta2yNZpGvALXFlqDm1BCqpoNfpmt89Xmm4kwcWJSHz1UJGtyfDFg5AvV0/qxu1WLzztbXsBrovVYmRWPQPK6tE7WzeEBYgvXqrL1XIURGzWhZEmvVI2atTskp2rfLVv9JZO1a5aob1fjVA89XverCa1p2RWzIrN6vsyIjZq1vVOXqwb1f7mg89WhZFXvVQaAF71SIkTe9VA+rZEixparI1XP6ooyI6dr7O1gta4ZjLD6vJQqS+qQ21HnqkRtauarNSKOpFyfVDBmRJVQj6sDbW+dqMfVH3qz7ItjkW87V82r3y1aElUX1R52oDSKuZrY/VeuRBP1ZJHMs6JBoBk0i52yIv1R96pL9VZDIbG1bAavl1Xnmvr9V+tqhzVQXqvhwprC1i9XMoB5/V8JakZ3Bv6oHyJOprcy1aIEc/1WPoEv9XgKUcM1Obay9tS8WtRjW95q8m1/UagptQTGtJbWmFrjC1IUasptaMrVVjXvRqHC1oRapwtXLGqMrWvRrMdV3MalhNWAWr8LU6tr3o1irawltammrkjWxuqyu1yAahttKgGuKtWAAAqEDvlq3y1cA13g1fste7WqSTWndrK3sdIAActZR2tzzVEBq0k17wAF2NecWtDjUvRqJY1A8a/6NaWmqgrUyvgiy1dSagmNe3GsIIY6iqFU1O0auGtZEWpBjVhprwY1SHa9gNYs2uErUrRqL8170a0QtVw2v5zVA9BFRM0sa0iNSUWoUDVjOrXY1Jia0YtZj2tQvptpYqU1kkaoJNZRGrRrVQtqRo1GcavHtUFVn2HGeawcM1OPatZtcAWp1TVgJqko1u51UYeo9GsMjWvdrme1wzGNoNEYGu0IImBr1y1g0a1kVS1mp9zVeFrVo1lca7wNWVmuazWVZqvI1IUajrNTVmoCjXulrXVVEvaqoNClDg89VZBrkg1PpalXWKNcCTLQTxpTO1hta0oNUGgE9NWARqS/UchCZoNeV2rp3paCr2g1qvazrclrasq5VBhqq5wNXKq3tf1uW+DVVzglg1aoaqucBsGsvXg+lrdg1w4alCSmcGp97W540bg1/vaiUAAnys97Ui6Evg1CWalflUCGq1tVv8rIQ1Lva18KYWGrj7UcCrnvVi/dbmtWfKsJDX5WFyQ1qva7blQlmtbdLMhqg0A7IahENUGgB5DXC8r8rCwoa03lflYUlDVBoA5Q1QfalUNQYEA89Xn8qOg1QaAI0NZAKqz7WUCrVe1Doajz1enOXysI+hqFw1gYajz1a/aPB5UZ9rYw1ofaj/2MGGzl5Xd9rbeVd7iDz1S+7N0VgJ9rcrCZYa1gIJ32rn5WCaIPPVjYakbNcS6WQFU59qmBVQmauQVT72uGYy9zEpw1qAamcNYKqrnDUHhq9w1p/a6xyMuGtVHL5WEdw1SIqj71dVwG3DUEGAzw1FUqwVFPOGue9VNzFdw1bma/iQM/2qDUCKCqV+EysvM4JTeGuPArzSAJDM2qqe8NToKveACAAAqyEAADjkIAAA7IQAALOQgAAfMhIAAgAAVMhAAADZCAABByEAAAVkEb2t7zFmCqAI1P4a0dZF4KudgCAAAsyEAAB9kGgOqQHWQAAYB1CA65AdegOuwHXwRqYhVsA6wAADWQiA6sgdZAAFgHWAAB+yEAABNkNAOpQHVUDr6B1OA6jE8MZDhXdWAAB4yBQHVkDrAAA5ZCcDqUB1HA6ngdXwOoEHWYDqhB1KT8CgtfwOsAAD1kGQOqwHWAABayDIHWwDqOB1aA6zQde0Kv5UwSDq6B1Sg64YVc7ABQHWQDrOB1qA6swdW5GpV7V0gBIB1gAAAchRB1WA6wAADmQjg6yAAIAAGzIZgdZwOrQHWQABAAAdZCAAASyCwHWoDqrB1Ng6hgdXYOttVV0gBRB1sA6rQdY4OvcHVeDqfB1fg6oIdSEOssHXWDrBB1YUa8wVdwOs4HWAAA0yE4HWBDrIAAgQ6wAAKWQ8A6tQddAOuSHXBDrQh16Q62wdfQNhL1wfCrnYAgAAUMhpB1KA6wIdX4OtgHVkDr/B1WA66AdZAAEAABhkFgOoiHUNRqb4cjQ65oda0OuoHWcDrPB1XQ6yAAFgOs4HWAAB9yG6HUaDrlB1dp+O/tSwOooHUcDqOh1kw6vodQMOtz1xNRrnYAKw6vwdVYOomHXdDrph1cw6yAAAsOq6jUDPg6QA/g6jAdZ4OrIHUC9qy1MzsAQAAIWQnA61wdWQOsAADhkKkOrCHUZDrCB12oq1A7E8OpeHXvDrqB1cA6xQdVsOt4VXvAA0B10A6nIdWQOsAABBkIAADbIfaNdsmsgHWIDqtB1gAAIch/B1nA606Nc7ADQHVQjq7o1WmCOkAOCOshHWwjryh1kAAZgddAOskHWYxqdRV+I66EdTCOqJHV/Dq3h1yg6hBiiaKoCKKQDqMB1mA68kdRLwEB3rOwBIB1ZA6wIddwOtuHXWirtRVv06Y2DM7AB8HVYDr4B1gAAMsgMB1Io68UdRgOqJjXeirdJ0dIALQdfAOoMHWijrAh16I6wpQCaPTpABijrAAAw5AwjrSh1/g6zQdYEOr5HXRirG5V7wAXgdTkOsgAANDr+h1KI6tEdcLGuC7XvAAUB1gAAachAAAxZCsKqfkqdIAQIdY4Ov4HWAAB2yHgHUujqFY1UMNQAAOmQDo67gdf7Gp88zOwAPR14I6vwdTCOscHWUDqvR1Og6gMdaGOpcIAtir7R14w6jAdVMOqNHXv7oe2K7wACMdYmOo/3SYjqIR1VI63MdVOKveABSjqJR1uY6vPdO6OqVHWcDqUR1rg6xONZAujpABmjqsB1MY6gIddyOqVHVGjqdxVDY6iEdU2Or8HWAABOyDQHWAABqyEPFV+z5SrIzsAGEdRgOskHUYDr9R1gQ6pUdXIOt4HX8DrEB1KA6rUdYEOqvFVrSwbxViI660ddYOtgHX+DroB1y46vuNf+KqfFXOwBtR1uo6tQdblmrqgpogBAJVqB2LgdV0Or8HUPDroB1bA6yAAOIOvgHWwDrIB1Do6ygdQuOqXHXUDrnB1bg6jwdcwOvYHUxDq4h1CQ6/sdW8Ot4HXJDrJB1pQ67odbAOugHVaDqbB17A6nsdSSOtOHXcjruh16A67odZAOrQHXMDrKB1Ho6jgdf4OpOHU9DrIB10w6h8dU8OtMHWBDqUJ1FA66AdVgOsAAAmkIUOvgnWiDriJ1kAAICda8OpAnVrDrXh1rg64kdWQOsAAA7kCSOuO3CnBzhJVqCa94AI+OtgHXqDqyB12Q6h4dTOOrFHXwDrfx1Bg66gdUqOoQHWBDqMB1u46wpzG/eFITXOwAex1iE63odYAAEDICQdXpKuFSV0gAEB1v46nQdT4OpQHXsJqLB1Do6h4dZZKsPjh0gBPB1Do6xAdQ5KsuGLOwB9R1gAAXMgKB1ao699VGImpLHVsTq5E1h86BRNZaOr4HXEjr3J12LQUKVe8AG1HWAABdyDUlWA+YFR1So6jAdWaOqNHVWJrSxi/A6tAdXoOp7HWlDqyB1JA68YCIwik5HXcjreR1viamV8MyOtZHUp3pCpVv46/wdS/2rYGD2jqyJ14o6pUdakmuafB0gAHh1hg6vuNU1KpyTXvAAGh1qo66gdSyOplHVtNpOpV7NahAdUUOsgHWqjr+pV40q94ADCOp4HXwDqnB1nSavydH1OpIHX5DqlR1Eg6tAdYkGtGTXsBr6J1jE6rAdR0OpmTU/Do7B0eI6qEddQOomHXijrwh1yg69ZNeb2rpACCTrtB1ug6okdViOpVrX2mp9p1SU6w6dZBOv2HVIjrUR1zk6j6VRQWuYHWlDrmB1PY6j8dQdOp0HWwDrbk1NsQOyda2OoMHXgyqAK19o6qsdTMOqNHW/q1kZVOg6r0dcDOuYbLRdljDM4KakmVZCmtgHVHjrZx1Cg66ydfCmoXMyNDrFp1/g6xwdRimpy9XozrixAXMq1L1bhOsWnV+DqcZ1Y/GAWVRSmoz0zRDr+B1Ak6pKdcJOtEnXiTqKB17A6wIdYAAAnINAdc5Ov5TVijruB1kAAAMdYAAALIVIdTUOt2GyajqOZ1Pg6rQddAOrFHXbTq9S1fsKDlVLsOp7HVqDqHR1AY6zGdWIqtvTxWyr3gAAY6qsdQ8OsgABijqCx1yg62RjMPqtgHVQjqVZ1aA6nsdfMOtlnVizrMe6WtOJ1NaYGt1nX6zqex1kAAIodXwOu6HUkjq/B1Xw6htHIGmuRlWWzqlR11s6pmdSzOsgAA9jqSB18A6zwddAOsG9Xxpr3gAbs6g2derOohHUDDqacK+aao8daUOsKHXMzrrB1Ps6v2dQHOuXlVbXKHB1UI6/gdaqOqlHUaDqPp1yc6xuYqbWsAACRkKhOuoHVpzr4B1PU6nOdZUNmdgDTDr/B18A6kIdZAOuLnWlzrK8imHGfKdR0OqLnXpzrnJ1JHGWqVdVOprnV1zrnJ1JqiIDNXnOu4HVVzrmB1qA60qdWJOpZnXyTrT01vg2NGdRgOo3HWyDqUB1I86qsdfJOpfTWTzq6QAlo66edbdOpQHX6Tr7Z1+Q6tAdU6OpNnUHRgL5Afc67gdfAOoHnXiTrN51xI67edbvOqdnWaw4XNccGahqdVaOvXnW9Dr0J1Jc65QdUbDmwzV0gB+51g86x+dRhOuUHWkZrAp1Oo60odZxmtVYhUZr2nAJCqkbNUbcGdgDxjq951LGankVQb2us3BnTrrO1yiq3XtaYgS0iTaKrt/VAmahtCnP2tAXQuKrRM1nY6nIdd2OpbHXTjrJJ1KA6/UdcoOvEzU4LrTR1XY65sdVOOrbHWsTq2J1NU6pVVDJmoijWMLrSu1EAwLTNfypmyHWAABMyHgHWyDrdZ1MI6h0dZIOp2nUqZrOF13C62OdWgOvlnW9xoGx1nA6rhdbIOvRnXoDqXR1jmahA/CLWqvVUe5qmu1+ma4BnAcqp6HXMDqxJ1kg6vedeZmuppw+DrfZ1ng6zgdaKOt5nURzrTM1Ok6oedZouu0XW6LriR8FmamZVSwOvPnWGLrjF11c6sWdbt2tOAA2ZraiiDg6yadWQOoGnXyTr7M1xma7gdYZOsczXRcVnM19BOHSdXrOvdnVITrUx1pw642degOtgnUzDrph1Xma+JXB5mvk1WiDrIR1kw6mWdQGOpgnV+DrXB1oo6tQdagOounXvTruh14g6xAddYOuYHUyTq0x10w6ygdb+OpIHWmLqsB1pgABodUUOt/HVTDrHB1JA66AdaYAEgHXeLrjx1HA6iJdQbOphHVCTr2B1ts6uedQ+OpQHWlLqel1Vs6yAAO8OtoHUczrBB1gAAd8gkl1PmawnXI+KKxyKuyq0l1mg6o2dVkuriXU5Lq8l1BS6hYdUUupGXVjLryl1Jc6ypdb4OrpnW1LrXF1EoxKWROXmo9XqxZZzp1ey63QdWsOv7HV7zr2uI8qqukAK4OrgHUhDrph1Wi6+AdTouqdnWJZqRs1eqq1LNbKthNVVQDqvx1CQ67wdb4OoCHWVDqvl11i6v5dWCtiiHV8TrYh18Q6jwdRCuoqHWfLrOB13y635dTUOvPThK9qZXw/A67IdZAOuYHWvjr4B1t46qodXvOs2WyNZquC1oK6lwdeCuqSHVQrrUh1x86zgdYSuuJXWkrq0h1UC66NVe8AH1HWQDrhs1zsAVwdfqOqgXXos40Z1pQ6s+dXyuvYHVOzq5s1QaABbNQAgDHzUQLqyB1AY6zJdTHOuEXWyDquR1O061fUHSAGYHWijqsV1Ww6wrINdmtBnVkDrwZ1kAAcadYlOumHUFDqnZ1Q6qoi3Go6p8HVejqZh1Ry62SdbROv7HXlDqCh1Zw6+HNeCIEhzVuTq951y6q52AJZOtMHUDDqbQcWOa3SdWQOv0nUyDq951h6q7MdUJOpkHVGjqukMOk6qudXhOurnXTtrdh1sI6/hdXUutvVXo2qHV1aA6p1dfQuu5zVQDrsB1Bg6mYdXvOpq7UWzrel11s69odU8uqdnVS5reYIMua94AFgOtknUhDrMB1/g61idYtOpfnVQLhxcMDg65EdZQOqdHUIDq4p1jg65QdW22R1FXVTrKB1sg6/wdSZOuI1Wnqtrc1vI614dcgOqHXWmTq51VNGq94AO8upCHVTrqPc1LGq3ldWROoCHUmTriR1mq68ldUkMHVXXcjqeB1Tdakj1SWuujzXCjrZh1ss6xPNekMh1nVFrqpJ1aA6iQdTCOqgXVZ5q511/K6stdRV2ornWcDrdR140601dWYOtLzXARrgs1Fea52AKIOrGXU5TqHR1uy6zQde9OseXU2DqSR1lE6gmdekOusHXTDq311+Q6jotdtqs81Uj5rN81Pza94AJAuriXUITq1B1gAAHsgHx1nQ6yAAEqutEXXVDr2B1Gg67DddMOvInXsFqkN1jIGUfNUtmpPaBJarZV1my6ySdSRupw3WiDq8N1BG6z2dURusw3VYbrph1eKAaOdWoOrGXU5DrJR1xI6h4dVhuoo3U6nlBDQCJaFedcwOsZnU6Lr5p1+G69ddRhuqY3WJLrZ7a79tDwwMpU3gLUljqkp1c860UdWrOqGXXdDrcJ13A69ddY9OrUHWUDqih13s6uYdf7OvI3UqNLSC1s2q4EABQWshHXZDrgN1l06qYdRiuthXWMbqyB18E6xadZZusHzUxar+EgnBa91VedOoJXVErrKB1rK6z4dW5utI3WcDqvN1F2qvP8LwWvDHUlDr8l1Tw6uKdUyusUHXEbqyB14W6rzdR9qoULXfarfda+m6kydWMupcHUkrqYoAiA6jAdTFAHy3VqzqXB1iW6yAdTCOuvHUtjqwJ1ag67cdRwOpZHXejr8h1ME672ddhuugHX+zrTAAGg6vwdQ0OpM3XezqOZ1/E6wSdTTOraHUUDr4B1Og6vwdaIOuYHXrTrAh1S46xwddhuuoHXejqiR1Yk6iSdewOsgHVsTraJ1XI6ySdVuOtG3VDzqsB1Mw6rzdQzquVTwisAei1LOq4UdWQOsSnVqDrg11DQ66RdSEOoM3VqzqMN1BM61YdT4OrEnV1brNB16s6/+dfkus6XXprrOB1nU6sgdXhOvA3XQDrIN1eE66DdRaOqSHUfrraJ15A6rAdQhuvV1UsGA4i1J26leddIOpJHVVbqN11Py6lrdQ9uv2HVtrrxJ1T86j0daYAB+3VNjrsN1Z862AdYAADzIeAde+uotHXXbrIAAgAAZMgxt1Bg6iddf9usB3X4TqUB1MG619dSTuvg3WB6qji1ag6sUddYOqg3W9Dq8J1qw63HdbNupw3VXbruF1ta6sgdTkOvB3WaDrTAAho6nsdbwOsgABjjqJx1xI6tsdXnOpeHV+DrEB1SU61gdWUus3XWCDryJ1oJaxvVeCWr57WQlrbV1GA6sZdSHOsNnUxLqGN1KW68LdQ3quOpwwlrSH05s69ctYbuuN3WXrrdN1586mYdbEurC3Vcbqe51FXapEtaYGv/XVc7red1bQ6otdd0OqxLVv9ocS1hsCHodVNOuUAABjrIp1nA6jQAJkurp3U87qGd1TO6uDdYEOoHzXl7lWS1BboWWIPmmtEHWvDrEh1+Q6pCdQ6OqwHVAbreN1RI64odTHOp6HX+zriR1Mu6zodd0OulnU4brFp1sy6hPdcDuphXUo7qtl1WE6ubdbxutw3Ukjqnh16069AdbROqpnVejr/B1HRan41b3uTmECoGrkZV2e6uidcBOptnV2zq3t13S65kdVgOswHXaLrVh1Cm61LdR7upDLUSyYMZcJBq4OdWhOoMHXWzqMN1BG653dR3utu3UtbrFN1nA6hvdb7uta3U4bqDJ1S46hpdU0uvYHVSbqdF1A266mdZwOpEnU5LqPl1hQ6uLdVMOugHWvDr5l1AuapUtX+urGXVo7rxl17s66gdSzOp9HVTTr4913O6xndc5uuT3UD5rdDVmJ4fQ1fJqpN3XT7rhl1NWtJZGJvqsN3Uu7q3d1sE6iDdY3utQHVJ7qWd1Ke69fdUy6G1LWOgBpDMDQ6h/dQ+OqwHVdrrKt1qQ6xwdV5ut9hQGlr9F6Rpaj71SaWsSVU5GrvtEeRqxodVuOpM3XNbr5p1Xm61TgiaLmqNUQrqOB1Ji6jFddAOtvXUr7q0t1oB6vTdRJOsNXXQDqfR1946wQdYCqt9LUDGr3gA806/jdYJuuYHXCbrKJ1sA66pdVIOsu3X9Dqh11nO6godeHutWHXS7rm/Vaxqg2QETAF/3Xc8FtjVVRq70tf+OuRXW57rRD11c68Q9ZIevd3VkbqHx1SK6hIdfqOoHXW4Tqxl1FB66TdQEOsmHUJzr/Z1th6p41WOVReNWIrqAJ1Hg6vw9dwuoCPXWDqgj1Oi66vdd7OsMXXQDrbD1ih5draH8auTLWxlr9p1wY6tXdWsOsoHVjbqiR17Q622dT0urj3VSHqPd1lE6yAdVqOp9HVczqyB1AG6nNdavurk3V3brwR1j861YdW0usUPVirqlB1Ah6+MtQN0kTLXIHrj91VR6pTdaSavXQYZlrUy1e4a9MtZJfEzLXFeBsy1lJqgwNYoDg9NW0drfx1Nw614daWWrpADvrqZx1sA6sQ9YjuvrLVoBr3gAPQ67DdYEOoW3WELrIzVK0VPEdRgOp7HX5DrlB1fZagudcwOqXHUlzrhy17o6mMdQRWvzHWQjqq5ws5alAdQPOuUrXOwAop1ZnahNdVbOp3LV0gAeh1Gk61YdahOqOHWnLqal1zW6ordRzOqpnUszq5t1Bg6gTdcoOtfLWxdqhzVJS6pndfoetJ3Xh7qlx1kK63JdYquqkXUiLq491zS63CdbeOp9XW3HremsdIARydcJuuUHUrmqPvVv5a181bCzn+nVvTqHl1U060odd8et+3XfdrjzV/061Y9W8OtR3UR7qo912Q6tQAI7OpG3VqDqOT13K6281ahWpBPUCnro91pKZJucNhWuCzWZIE8K1uwqgitWDXj/XUSDrmh15860UdRKOtl3UtTqbB1tE6/FdcGusEHWmABxB1sg68dddVuvxPX5LrEB1ZE6vTdf0OpfnUrAAmLVAM67IdbPOqUHUPjrJt1kAAa09RsOrtPWmAAgD1Eg6liddSOq9HV9bruh1/s64Tdd0Os53XKDrFy1Pg6gM9aUOrxQDc7qql1Zy6kIdbCetKPVkDryj1ZQ61AdQXuqA3UvDrsN1AY6lo9dVOuYHXcDqYoAhp6l09SROq5nUxzrKj16a6kideCOojPXyeRvK1FC6yEdVhOqGnVkDqxR1i06/U9d0OrzPUFnqiz12061idVQeqQHWrDrSl18+65StdgQk8tW4Lr2B1W26rkdc2evYHUBnrWz13h6uedZAOu7PUoDrRR1qu6tAdcGOuAADELqLp1JK6s3dcUusXPV9nqmV1Ec60yzIFWqnPWljq5J1SE6xldS6euwHUWjq791su6hQ9dOepiHWznruz1+W6tgdSrut3PXKDr31sBVawAABmQr46zQda+OqwnV5rrud1A06/sdVQOskHXtHr8R1+e63edbAOscHX6jrMV1056jbdWROrWrXOwBud1Zh6/YdSzOqx3W8zq+d1/g6ubdf+esAvXAXqIR13Q61edVyOpOPUQTqIL17m61zdetutInX1LrSlUWm6sqdX4Oud3WIXrQD1GK67+ddOeoaHVHzrkB1QF67odUiet9XXUcxia1hx6oHdbLus4HUAXqWL12F6nIdbhet/HWSDq9N1EB61CdfReufnXQXqyL1pgASi9aPOpQPViXrwT1yF6hi9b3utwvXMXrIAAQF631dXBthBPU8XqPz1yo6789VuOowvV8XqsL1bF6nC9emeqdHWCnqZB1hF6yC9SResrPWwXrcLVj1ajwZaV2perVc2q3q1jm2dVdc4uolHWR7rZT1AQ664dbROqeHXZDrkB1/Z67AdbJesXPVKjqVz1a56hYdRuesyXVtnrrB1wV6z5dd8esYvWXnq9D1X567ZdTHOrYHV2nqHq1Jm2QW1fjWpoDVjnqmz1LZ61vdZaeoOXVlLrPL1Jy6rE9XUupUADiDqDD1Mi6qE9clOt5nW0TrML1Al6ti9aLuuwHUiQBSlUjS65pdUxepMvWQAB2L1IQ6ibdetOurXXnnqjz1Zu66c9Z2eqdnWi2rkZVEK643dfAOqKHW/bqGr1J56509dtOtv3XNLrph17y63odRAesgnVETrFr1Rp6109QNeo9PU2nreh1mV65+cKTWtdlVAHq1r1uk64A9aHOs+3U3rq951viqnFPFTWqinWjXrVL1PZ6x89R6eufPXltqVbVqfa1yAjFlmI3B2Trrh13Q6h1dbyOrSvX5LqjV1bh6godQXOqbPWaDrLL1wy6/sdb4Os4HVtbqjr1tE67q9c1et6vWtXqX51kogfuCrrarxSwC1rrW1evalbEJ6cUVPWRlqzbVM02LxdSzOq0HWcDq851Yc6yEdcjeo23UJjr8b1d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R1IYq/TbQytr/W0Nrb3NtSLmljbcqtqxW0arbiNt9q2zFbaQrWM22ErbENtto61A7IAADDgchWjStqs210ZrTa1gAAfOBAAAfcDqbaCXNAW2iVbVStqpW1sbbfltJ4mljbeptudW0Ibbp1tTq2jFbXgrUAABzwByttpc0m7pkx1gAALOBEVtxCtJTbX5trIS02xrAAAScAyraeVtTG2plzc7AFNW1fLbKFadK29lzc7AEAAAlwOVtuxW0tbaPxNwEm4bbTStqxW1Urb2VtOG2gSDaatplW1UraMVtUq2mjbZAAFDW28bbHNtkq2htbTStsoVpMbaOx1+G2ulbVttuVW2ArbdttJ62pADcLatNW1YbaVVtlq2yAANytoxW1UraIttfm2tVzdsmsw23Ybb9EtFEmkDbcQrVXW3Mra2Vt0K2gdbSQrXE22fbbh41TEm4bbdOtoXW17rbnttqq28hWkDtoRW1Srbp1tyK2glbVKtsIVqYrbENtyq29TbcQrQLW0qrar1tWq2rFbSqtudc1vGrD1tCK2jFbaltpfW0wrb+VtkAACrbfKtsVW32rbAdtxCtAVbVOtv1W02rbEVtpCtSAAAutsQ21TraWVtaK2pnbUjtoc21ObbLVtUq27FbUitq+W1orbEVt6O235bX/GsAAAZwIjtsQ22pba+VtZ22tnbYWtuM20rba1ttCK25VbYhtqRW00ra8dtBK2zXbcTtv1W1k7a5tt/K27JLYm5pAvB5JbxVtkq2qVbXytth21pub0Ntwa2l9bRFtv3W2KraSktbmakhNXc5GMMzdratVtC6259bSRtqU206rbC1tGq2mVbVxtpLc04Z0GtthK2shWoOtsCk3vAA6ttFW273bQ5toE21WSr3gApq2ihWkmtobc29baMVtgK2xFbfjtpbc06irzVtVK2yhWjytpGS2uTrRVtCG29TbSptse20F7aR1tQm2kTbV8trE21Mba5ktOCtchWuStrwVqIrbAAAE8AgrblktOEZaxNbJtuc22IbaJVtRW2/Fbfatvk23N7a29tHe2soDcYZkAADZwAatpZW3hrbg9AHUmydbcqtttW3HJb+VM7q2rjbTTtr220bua6QAdW2pTbSytolW1NSbnYAD620nbahtq6A3yCN6p1Je2vBWmXtp320Eral9tbU68pNR6tu122kK0WVtMq28hWovtsRW3dbavBAF9qhrbQQrUf20yraNVttq2pjbaNKufc0sbbyFaj+2wFbbytr2230raaNtGumhV1YAABjgQlbaRtq12067aottauq2ZNerhu5W28raBVtgAAcuAaVtFW2vjbVAdv2A0bJr3gA2B2oFbeFtt9W0ErbsVtlq2tnbWqtqx20ObbnVtJ62i4DYc5veADvbbC1ttB2l1bXAxpkfgUFrPdti62tzbdCttYO0nra6UtPa23fbbgdsc20tbbYK1OCtJrbTStpW22kK1EttfwGjlLXSADw22VbbAVtme2nlLdn1tTs3KsBAVtnO2zjbVStpc21ubbAVVMMmyFNQ+tqZW13ra+9tVK2tzbUito/W20rbKFakB25A7TKlpY810gBMDtMK2mbbertqxW0srbC9trMqnL1XAdoJW2kbaePNvXq4bbSqtpu23MrbVVtuu2smTYLKqpA127bn1tT22v3beXtv7K2Mpr5PNhh2ojbbrtskO1mHavDtlCtBdbW/tpF21oraDVtpCtI1bbPtu5k0Nbbj1tkh28DbSkdrSO0IrbkVtmR2w1bRgdodS3+woWNtmh2yQ7aytpkO3upalZ1Fu2p1bQhtoFW0orbltteB27rbf6lt91oW7bpVt1u2unbSytvtW0obanVteCtO9bVbtth23R5qg5V65a91bfStqz20JbboVtZR2pVbUMdtIVojHaxjt/R200DWmlogM1MHbfltNK2/7bcsdtWO3I7b+jtcK23NLbnKudgAxbaCFa2m2yAAMMdtGO2HHbMVtTG2oOTdtZsw227HaYVtAO22HbQztuOO2mebBDtBK2oLbSFtvjk2m1qL1tPx26Fbf1tuIVprrbO0tVnm94AACduC228HbWVtoJ2zMDWOmv5UyQnaQttWu24jbQqto322lybapViJ26FbZDttS23H7aHPNS4G7fbUGtrTW1UK0hdtlq2pzzb2BoJO277aVVtBK2rjbYAADbgLDbfbtpc833CZewNyW22k7fSdufW0OrbLVt8B22fbYuBq3TW+618jtVq2nY7YhtsZW0cnbGttXh22fbReltvnUsnbSFadJ2j9bYjtqnW3yraJVtsa2u9LW/Ouj20iHbyVtNK2oU7fatsa20ubbKTtSp2t9LSHdh1FVT7bH9tiR20w7dOtsPW0tHa8FawO2uBTefJuUzxhebvttiK2ghWmJtoN23k7b+Vt8O2wjbdttoRW0araaVtMK2v7bcKtuAg3OwA6tt6q2wlbV6tqxW12rb4MtrGakDbT+tr/W1InasjtRq2mVbdOtq9O0+naYTtWO2n5bcQrXK22MbaQFNN4qnBWlGdqg20zrbsjtvK2+M7ZAAC9O3CHb+NtkAAelbfSduCO3xea7Tt4h2h07S3tsp22yrbOjtVEGujLfxmt6O0wrafltg62yAAG1tpWO03HbxjtY+24xVc7AC7O0HHbeztMR2kIrZJlvrHVJ7bsVtLx20zbY9tplW1rbbENtCK2zbbXgdsV217bamNtTCmtxVe6tvU22pbbwNteK2qlbbOdt120LnbjttS5287bUxtsUy2skaPVtXq2wFbZjtsh228HaG1tju2mw7aIpofW1yra8VtiG2m87eFtr922a7b41tS62nXbdL6v0y0gbb51tqW2rQ7TodunW0aHbiFaC62p87ZWdosTjtlAD9tRh2k07WYdpAu1gXaSNtEF2tTNd2tqvO0Z7a6NtgG2srzVUqt/O3fLbSdtgF21zbdOtsXO1WnaCxAySq8dbaltoJW1LraSdt/52vC7TPtvRW23nb3ztMrqmrzcMqrq20WbaF1tPp2vzbSFlrpACAAA84Hk20sXa2LtjXm0PbbxdoQO1CrbqttvimuxdThnW4u3kK1BLt0624S7SllvcXVbKq6QA8R2yVbdIdpE21+7bKoN+WWg5VXVtrpW0z7aadtSx2lM7S3tsAABTwAztpU239ba6Vt5h29VbRqtpn222ZaQl1VWW1zNYftqx22/7bddtKZ2/tbQqtqF21YrbzDtwa2ltbXitt523kracVthCtdrLd5mukJzD6ruVtMq21LbQqtsgADNbbsdtmq27VbdjtpoO2OraXVtG229k7Uztr7W2W7a5VtFq2xVbYutoq22mAABVtj22/nbTqdoV21hXaiNtpW27s7Wsdpt22LHbC1tC62plbb8tsBW13raRdtyO2i1bXytq420ErbTAAte2ulbVQrTZW3HZaOstvmas8zUFdsNW0hXawrtEV2tVbVFdvx20xXaHVtdB2hK7dOtqSu3Lrb+1tsq2s7bWFdoyu3vKbfstn6m6bzd8tu1O2QHa9ttSq23XbaNdrYO2QqbYYNOCtQ3bRTtrjW2Krbcdt2q2+bzcjKr2u0unbsrtfy2qdbXCtrxy0r7avVt4x2jFbS+dvtW3wrbbrty3mukAOddqN22HXbcnNJMGmX9R9doOu2qrbFVtRKmtwrftqrs20WHa81tNa2qa7fWtsbW37eaNeNdIAKtbeDdtDVXY7ai1tUN2vfbaypr5dXMXbcVtVq2vzbTyprs233Xbrdtj12gHbYWtt320OXasdtx127Pbdi0Gu8243bbjtBN2567fcdsC1B0gAYtthK2kNbd4dt1y1KqaqCtQ5q+I7VVdrvW0IrbLztoF2tC7fgdq+80GqbmLt2K26q7XRtpNU325b0DtlO2qlbYodsz20Cba3ct9sGkbreatstW0gHbbVtrl2sK7SutphW1I3b51tXG2jFbRqtt+W1eXaR1t7sGvPbbOds523AraPVNoeWiE7TitqxW3xbbTbtY+2qPLe9dtr21Tra1rtlCtcvbbudqlW223amNtoa681bYStoy203uqMzVw22zrbQLdqvVU4XaALtkh2oC7cnBrhu1TrasVt8x2u27Tmpr/O2rXbqTtJ626vLQ1toR21r7acVtvy2hFbdcdpKu3Qba1FNL6QitTVjmviO3GHakjtE12mVbZtdo1W0VbaJVtNh23vLbukXeACirbLTtNK26DbZAAGR21Ybax9to+W7tbT6toVW2kK0jLtWm2407SYdrc21Dqbrc16G2mFbZ3du7u0NraNdtxd26jVdOpqNO3j3bTTtVaW/FbaPBunU2kXbyLt622sq7Xqtp7u0z3azDt7uameDTOdns23qbbvTtZt23oLQGdsRW2p3biNt6d2pjbXkES322ObaBttVK2sM7aepviC3yarFLtrm2mm7Q75tvU10gBAAApcBeraLTts+2l3zQ7dpWO0YranVtWe2qc7b/lv01WTeb/stC9dd1bRLtsgAAI7bVVtTq2hXbQ2tqbu2orbJLthCtNNbYvtq2u2UK1rAAOCtLFbZntqoO2zbbEjtNG298wIIVqr3Jx+aEtVZaquy7ZAAD5W2cnb2dtnO2xzbQKtvtW0VXaEjtfd24C7ZztoQu10bbNdtPq2ru7eJtqLO00raFdt0G2sgrUQ9tz83s3b8/N1GGmTbfitvIe2UPaOdtXO22h7eztpgu2MPb0VtQZ25NbQ3drVW0fnbmHt4F2xDbXigDp21vHbsrtLO2tnbV6tov22u3aC9tY+2ok8lVqt401N+bat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BphkAACnDHDeaJ82AAAY7X9fPq166QA5r5qRpS+qotvP2XmHPzeF5oCM4AABCGB885s+favNJ9nTA1h75gL88jecJlN53as+z7wAQAAA2mf558t84AAAuEwAANI67F5hR81k+c3RMslH3gAWN5rK8zZ+YUvMC3m35TdIAQAAAMMKL5l585pear7MuPmwLz/X5u9E1Q5vQAAjfnTrdIDu94AIw+eLVr9fn2LzGX5jm885+cj2POwBAHzoH5rK84nXsAAARtoAAG7lVOvWE+aZuPyars3zs/Z52AIAAEAEwAAIfyxlhs+84AAFiolfs7ZzrX7POwBbbzGF5oh8/ZecAAARDIAAGMGaC88g+cAAAWioWrQdvMbfnSnzMd55784AAFiGSr807ebwvNBPnAAA+P+P9nE5T8n5mUOPV+fkfMu3n+3zA75p283+edVvO3vmSozwVhyTE2rWthfOAAB75UAAC/AT+ectfNw/mEfzg755H86rebxQAi3mHbzRN5vC84AADkGd288AOYqsN0gBuHzgAATqUfzzb952J8/E+Y5vOI/nSfzaP5zxU+pusDvOoXnYbzIT5jC83k+fpvP2XnAAAjJqAAB1U2jvMo/m0fzM2qhx3RQWsAABeXhheeQfMy3myPz6F54n8wO+dl/MpKmi3TzWaxj8w5eb0vMa/nufzdA5mV8OLee9fNm3nAAA78qG/mZfzbA526wxVifeACm/mJ3zql55F85peZlvPKvnzPzqF56W88q+cAADpZub+Y0fMvfn3vzut5wAAO7RPb5vt857eaFlX8/nYbzEF5wAADTeqN5ix85LeYd/OAABQxUAACd2uxecAADRkXbecdvMa/m0fzGNhn6M3SAEAABomlV+cAADPau5efZ/Nc3nAAAAQyfvnAAAR6b63ncrzWr5iz8w7eYevNbXnAAA28aAAB4hgfPMx3nAAAWb4Ovno7zYP5yH86s7tMOMuP7nYA4H53m84AAHOGJi8+xecAAA6CoAACNrD980beeRfM/PmsrzIn5kP89becL/MO3ngHzH554m88reZjvOQAAqlagAAZX0XvzwP58t86D+Yh/OPO75/zOV5wv8+xed1vOAABAYxR/PlvnAAALBqAAAIFUlvNG3nh/zY/5yf81P+aXvOAAAtBnsvPuPnAAAZQyAAA2hjSvOuPn2Lzmn56C85e+evfMe3neVTqdB12VZO+dffPJPmF3zVv51W8zKqdaHM7tnknzIT52AC+xeeSvOIAXo8T6BJ6So8DpsgAD0vmMLzhf5wAAEb67F5+ACz4+Z7/Me3mgfzIP53v83niZR035pqHvzSH5+y85LeZFvOm/mHbzgAAahVXbzyt53t8z+efLfPPfnAAAYgyg/mPbzqH5wAAEJm9l5kW8xhec5vM83n2LzML5pn8/Zeel/Oq3mIfzWP27uw8jKoe/MZXngvzqF57d82/eZCfOm3nLbz2AFiOM98OedgCAABwY0AABZ2iredVvMJoadALAt5o980xee+fOIAWPbzgAAWDkT7zP554gC1+eadvPCPnrbzy752QCz+ed/xNFoa2ALnAF7gC32+cHfNo/nq8th757b85QBb3/MH/maALSgFjQ89XztMDXnqnCALGAFtAC6E+aSvM9/mYgLIAWp9U2QSfeAA+/mNHzQL5yW88zoBuvNO3mfzzL555W86teZ/PPt/nggLAT50S804+bUvMYPnULzo/5pi85LeeZ/MaPmQ/zf7563TUvGY/NVKvm0rzqF5wAALMMSN5+y84AAFLjDv860BeCAulKpAAAkJqAAAXs0lvMG3nf3zg75wAAID/q1Rqwk5wevWqOB3nvnzIf53gC2/edcAtCAX94zaTB94AEh+fYvOAAB+Y0AACmivYBcAAAx+k7ecAABBDPwBcAAAAcmdecAABSDIAADMov88+ABfLfNsam1a1b95yn81teZp/Mx3nAAAjFHY/mVbz1t53y8wTeb5fOS3myiThbe7YCzGOYk1Nxjmu29n+AdQC5oBcOAsnAW3bzJP5mX86OVQpfMovnL7zql5poC3IBdT/P/fnPbz45xgzDcz+Z/POjlUIQL6CZysc5gmfVw3VAXagL9QFsf8xH+cGAsd/n7ALgAALYZ4QLgAAWMURfzMF5o281cBduAuPAXngLV75m98yucfyq0kerD3zeT5zn88iBdR/MjjmZXwLF50N857+c0vOm/n27zAL5kT8/YBcAADyqrw+YdvMGPnAAAXjZ/nneALj/55/84Q+cAAC2luxebF/Mt/neALAgF+y82f+fsvNs/mDbzF753kC1r+ZvHOrOH5j1Mr4ZB858BZp/PW3nVbzHN5o285KBbkvPSgXZQL8oFg280qBZVAvqgXNQL9/5p/80beb1AsGgWjQLf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hDOiRq7y1/Ea3z19va7fDUsRqoW1TEa95NZZGtYctMCv+VMDOalyNfjGvHte/uv9VasRljN18d3dGderxrU3XaJlg2NaoZbUzX/RrsvXDsawxF8Ypvi9e3lqkvXYPa2J18Q69lIPR2v3m1Zxapatbg5fnbWeNqKvXX8tKxF2aZYvlo8tqf3XI7ry7xwh6+bjXteukvXnXrgvqyrGrzbWoRrAHXmEahEyzaZZwzqJpqhvXHXruO15xGogacjaG461xrr2CNeK2sOTWWa23k1bpa9t14sWumjXsevm81CUatly56moTVq22WTnXlgrmpTXJ6/yjV3NqVE1cra7RtZrGt/jWBa2jMHvutBl1/NWsnjVkRqr5adSa3l11Imr7zUFOuyI12BlxmtSna5lbV4Jqyc1Lka0wAGlWr1VphJrpo1Rlajt19xGvCrUNOupI1i3rgR1yomrEjUbxrAU1fOa08tRu6+mbXf42he793rmO14965+zUveu0Y1b3riu18dWuwjWFOuz412jao+139644jUA+v3S1RQrwSM2c647rVH2uhXXZxajiNRTGtfDVH2vxPX9patT1y1rb2MuZOuJ41cdrjURwx64YLXTevavXhGah+WrWWsBrUjFGufXJ5azu19U2tw/P8+vN411ka+hp7L65KTXFZrlH75gTgGNWPa5G9dT2u17XKGage18MK//teC+v2s1mvrme1zr66GOfIRqX5afhlmetZd5ol9duNrJ7X3jamhtbna6PjUmomrfXPPr0ZtbcUaRzUHevOvXewr5bNVImp1VplVqQ7XoEatlNTe65S9fTGXg0TKsa9310I6/2OcKJqGXXtFa9218F68wMvFtrTjnJXa3DNRi651Vr8eu1G1HEav5teEWp1dd0RrVDL7sG2NWq56999epDXbPXjEa+z15167RKP/RrmfXWEazu1ywmrN9e/Fq2vriEa8nNc2ickTWKVqsk1xim1SNVeWt/tfYov3gAD0alFNW9Gs6jVS63u/Xd8tY+18Xa/qjXV5by/XJ9a/BNRD6+IdenymMvXv7r9+Ndt67wjUf1q5I1qhlxCMytmpztc82WjC1eia0fLcuWsX9cMNr8bL45a7sy/9GttzWyRrd/XrqajHOy7mvNzWQAAiI1fStGYy4P498A3R2utPX7trh3NRF6+vjXeFq+I1O8a8GNSwmo7bU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Fl8ON/8d9DjWLFqebvJll/iNbK2pnu9kRq3o1n53slb4nG/CrX37fmDLMttqe70lWpYO+KGXMo3693+ly3Xa7QzevrfHTvLB3hitST2rRTWZZvcq1Geml8NTrW40rVUFr+Y1qsatpNXPd/rzWSOvLq1L637CNYoZfRDc8RqynXH4akDtaBWtSdfpq0YoAty3+912yt/dW99bf363jWb4it1amscjVAOXrFXMr4dmNS+t+I28TnfJlaJNl4K759Wsvu/u2v0Q3L63jONeFWqb6ez3fcHLx+33+72PG+va/H3egk1d936fN0MZbIe/YNbGDvsi18h71vd+vjdP3f681lD3nM7xv57oe+EPeQY1TTagQtSU6+YrXWlubI1A7agR775asYO/h/hZ7vnD3iY7xAm7829QJvtfXAea+vNcbd61jcA1rs/XZOavUNygm69BvPdqlHvx139I79gm8cjXurek1a6j36679o99eI0LXfUo3FUavbNdsd5Ju8qGXqE3Gj3qvNzNaqyTd7Xflrv9j3tFyzqd4028xevtYnRO3/R7/St8iO8ePfEs3Tj37R78Q96Ye8SzmMI1Tj3u2tWE99Ie8n+7ZHvAT3slb0jd7A286nebo13ka9hN6oZZtB16PfCM3G9r17byxGpT29mPfzc17Hr8BNfD/qse84NqUM1Fjr7W716J8kC+Fi7+HvLB3mJNwoW5Ku/uPfRHvqeb5e72/LUl0SsPeCHnmSb0ZN8a65p295Jvdk378tHM77e654jVk5rizvhK3rVNYZ69mzX8qPyxPMr4SQ78QZe09fVJv3i3PD3hfb8oAF5zXXXfonvjD32J768RsLu8oPe0XLC934J190m9ae/tPeT43MT38KtbqRq+TeEVvTTvYPrg579hGv7zf+EuFE1xFaiR77gd8UO/2Pf2Vvet37mNZFd8ebXT3ftPXfkbwYtRvd87tfxPeSDLYu31Q75hG5r29YnfTtvOJ31Vb3YmpKdfI1qEa3Iob3275UW7SJe1PfO7XdNaks70od4Q2/97f/bXXK1l2NVE99cTedPf7AAYKb4+N5Cm5l7UrbemnvC8are79ud+H9cb7eY436933h7wMF6e7U4vep83n4a8J7ySzdnu9fluwHLZl38q7zCt8jLfnOvu7vDT3lHNTHd68GdUpuRgvdxLsYL5xJ4r4NBnfgtvipbi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=";const {react, reactDOM, excalidrawLib} = window.eval.call(window, `(function() {${LZString.decompressFromBase64(EXCALIDRAW_PACKAGES)};return {react:React, reactDOM:ReactDOM, excalidrawLib: ExcalidrawLib};})();`);const PLUGIN_VERSION="1.8.20";function _interopNamespace(e){if(e&&e.__esModule)return e;var A=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var i=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(A,t,i.get?i:{enumerable:!0,get:function(){return e[t]}})}})),A.default=e,Object.freeze(A)}var obsidian_module__namespace=_interopNamespace(obsidian_module),React__namespace=_interopNamespace(React);let random$1=e=>crypto.getRandomValues(new Uint8Array(e)),customRandom=(e,A,t)=>{let i=(2<{let r="";for(;;){let A=t(n),s=n;for(;s--;)if(r+=e[A[s]&i]||"",r.length===a)return r}}},customAlphabet=(e,A=21)=>customRandom(e,A,random$1),nanoid$1=(e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce(((e,A)=>e+((A&=63)<36?A.toString(36):A<62?(A-26).toString(36).toUpperCase():A>62?"-":"_")),"");function JSON_parse(e){return JSON.parse(e.replaceAll("[","["))}/Mac|iPod|iPhone|iPad/.test(window.navigator.platform);const DEVICE={isDesktop:!document.body.hasClass("is-tablet")&&!document.body.hasClass("is-mobile"),isPhone:document.body.hasClass("is-phone"),isTablet:document.body.hasClass("is-tablet"),isMobile:document.body.hasClass("is-mobile"),isLinux:document.body.hasClass("mod-linux")&&!document.body.hasClass("is-android"),isMacOS:document.body.hasClass("mod-macos")&&!document.body.hasClass("is-ios"),isWindows:document.body.hasClass("mod-windows"),isIOS:document.body.hasClass("is-ios"),isAndroid:document.body.hasClass("is-android")},nanoid=customAlphabet("1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",8),KEYCODE={ESC:27},ROUNDNESS={LEGACY:1,PROPORTIONAL_RADIUS:2,ADAPTIVE_RADIUS:3},GITHUB_RELEASES="https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/",URLFETCHTIMEOUT=1e3,PLUGIN_ID="obsidian-excalidraw-plugin",SCRIPT_INSTALL_CODEBLOCK="excalidraw-script-install",SCRIPT_INSTALL_FOLDER="Downloaded",fileid=customAlphabet("1234567890abcdef",40),REG_LINKINDEX_INVALIDCHARS=/[<>:"\\|?*#]/g,REG_BLOCK_REF_CLEAN=/[!"#$%&()*+,.:;<=>?@^`{|}~\/\[\]\\]/g,IMAGE_TYPES=["jpeg","jpg","png","gif","svg","webp","bmp","ico"],EXPORT_TYPES=["svg","dark.svg","light.svg","png","dark.png","light.png"],MAX_IMAGE_SIZE=500,FRONTMATTER_KEY="excalidraw-plugin",FRONTMATTER_KEY_EXPORT_TRANSPARENT="excalidraw-export-transparent",FRONTMATTER_KEY_EXPORT_DARK="excalidraw-export-dark",FRONTMATTER_KEY_EXPORT_SVGPADDING="excalidraw-export-svgpadding",FRONTMATTER_KEY_EXPORT_PADDING="excalidraw-export-padding",FRONTMATTER_KEY_EXPORT_PNGSCALE="excalidraw-export-pngscale",FRONTMATTER_KEY_CUSTOM_PREFIX="excalidraw-link-prefix",FRONTMATTER_KEY_CUSTOM_URL_PREFIX="excalidraw-url-prefix",FRONTMATTER_KEY_CUSTOM_LINK_BRACKETS="excalidraw-link-brackets",FRONTMATTER_KEY_ONLOAD_SCRIPT="excalidraw-onload-script",FRONTMATTER_KEY_LINKBUTTON_OPACITY="excalidraw-linkbutton-opacity",FRONTMATTER_KEY_DEFAULT_MODE="excalidraw-default-mode",FRONTMATTER_KEY_FONT="excalidraw-font",FRONTMATTER_KEY_FONTCOLOR="excalidraw-font-color",FRONTMATTER_KEY_BORDERCOLOR="excalidraw-border-color",FRONTMATTER_KEY_MD_STYLE="excalidraw-css",FRONTMATTER_KEY_AUTOEXPORT="excalidraw-autoexport",VIEW_TYPE_EXCALIDRAW="excalidraw",ICON_NAME="excalidraw-icon",RERENDER_EVENT="excalidraw-embed-rerender",BLANK_DRAWING=`{"type":"excalidraw","version":2,"source":"${GITHUB_RELEASES+PLUGIN_VERSION}","elements":[],"appState":{"gridSize":null,"viewBackgroundColor":"#ffffff"}}`,DARK_BLANK_DRAWING=`{"type":"excalidraw","version":2,"source":"${GITHUB_RELEASES+PLUGIN_VERSION}","elements":[],"appState":{"theme":"dark","gridSize":null,"viewBackgroundColor":"#ffffff"}}`,FRONTMATTER=["---","","excalidraw-plugin: parsed","tags: [excalidraw]","","---","==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠==","",""].join("\n"),EMPTY_MESSAGE="Hit enter to create a new drawing",TEXT_DISPLAY_PARSED_ICON_NAME="quote-glyph",TEXT_DISPLAY_RAW_ICON_NAME="presentation",FULLSCREEN_ICON_NAME="fullscreen",SCRIPTENGINE_ICON_NAME="ScriptEngine",COLOR_NAMES=new Map;COLOR_NAMES.set("aliceblue","#f0f8ff"),COLOR_NAMES.set("antiquewhite","#faebd7"),COLOR_NAMES.set("aqua","#00ffff"),COLOR_NAMES.set("aquamarine","#7fffd4"),COLOR_NAMES.set("azure","#f0ffff"),COLOR_NAMES.set("beige","#f5f5dc"),COLOR_NAMES.set("bisque","#ffe4c4"),COLOR_NAMES.set("black","#000000"),COLOR_NAMES.set("blanchedalmond","#ffebcd"),COLOR_NAMES.set("blue","#0000ff"),COLOR_NAMES.set("blueviolet","#8a2be2"),COLOR_NAMES.set("brown","#a52a2a"),COLOR_NAMES.set("burlywood","#deb887"),COLOR_NAMES.set("cadetblue","#5f9ea0"),COLOR_NAMES.set("chartreuse","#7fff00"),COLOR_NAMES.set("chocolate","#d2691e"),COLOR_NAMES.set("coral","#ff7f50"),COLOR_NAMES.set("cornflowerblue","#6495ed"),COLOR_NAMES.set("cornsilk","#fff8dc"),COLOR_NAMES.set("crimson","#dc143c"),COLOR_NAMES.set("cyan","#00ffff"),COLOR_NAMES.set("darkblue","#00008b"),COLOR_NAMES.set("darkcyan","#008b8b"),COLOR_NAMES.set("darkgoldenrod","#b8860b"),COLOR_NAMES.set("darkgray","#a9a9a9"),COLOR_NAMES.set("darkgreen","#006400"),COLOR_NAMES.set("darkkhaki","#bdb76b"),COLOR_NAMES.set("darkmagenta","#8b008b"),COLOR_NAMES.set("darkolivegreen","#556b2f"),COLOR_NAMES.set("darkorange","#ff8c00"),COLOR_NAMES.set("darkorchid","#9932cc"),COLOR_NAMES.set("darkred","#8b0000"),COLOR_NAMES.set("darksalmon","#e9967a"),COLOR_NAMES.set("darkseagreen","#8fbc8f"),COLOR_NAMES.set("darkslateblue","#483d8b"),COLOR_NAMES.set("darkslategray","#2f4f4f"),COLOR_NAMES.set("darkturquoise","#00ced1"),COLOR_NAMES.set("darkviolet","#9400d3"),COLOR_NAMES.set("deeppink","#ff1493"),COLOR_NAMES.set("deepskyblue","#00bfff"),COLOR_NAMES.set("dimgray","#696969"),COLOR_NAMES.set("dodgerblue","#1e90ff"),COLOR_NAMES.set("firebrick","#b22222"),COLOR_NAMES.set("floralwhite","#fffaf0"),COLOR_NAMES.set("forestgreen","#228b22"),COLOR_NAMES.set("fuchsia","#ff00ff"),COLOR_NAMES.set("gainsboro","#dcdcdc"),COLOR_NAMES.set("ghostwhite","#f8f8ff"),COLOR_NAMES.set("gold","#ffd700"),COLOR_NAMES.set("goldenrod","#daa520"),COLOR_NAMES.set("gray","#808080"),COLOR_NAMES.set("green","#008000"),COLOR_NAMES.set("greenyellow","#adff2f"),COLOR_NAMES.set("honeydew","#f0fff0"),COLOR_NAMES.set("hotpink","#ff69b4"),COLOR_NAMES.set("indianred","#cd5c5c"),COLOR_NAMES.set("indigo","#4b0082"),COLOR_NAMES.set("ivory","#fffff0"),COLOR_NAMES.set("khaki","#f0e68c"),COLOR_NAMES.set("lavender","#e6e6fa"),COLOR_NAMES.set("lavenderblush","#fff0f5"),COLOR_NAMES.set("lawngreen","#7cfc00"),COLOR_NAMES.set("lemonchiffon","#fffacd"),COLOR_NAMES.set("lightblue","#add8e6"),COLOR_NAMES.set("lightcoral","#f08080"),COLOR_NAMES.set("lightcyan","#e0ffff"),COLOR_NAMES.set("lightgoldenrodyellow","#fafad2"),COLOR_NAMES.set("lightgrey","#d3d3d3"),COLOR_NAMES.set("lightgreen","#90ee90"),COLOR_NAMES.set("lightpink","#ffb6c1"),COLOR_NAMES.set("lightsalmon","#ffa07a"),COLOR_NAMES.set("lightseagreen","#20b2aa"),COLOR_NAMES.set("lightskyblue","#87cefa"),COLOR_NAMES.set("lightslategray","#778899"),COLOR_NAMES.set("lightsteelblue","#b0c4de"),COLOR_NAMES.set("lightyellow","#ffffe0"),COLOR_NAMES.set("lime","#00ff00"),COLOR_NAMES.set("limegreen","#32cd32"),COLOR_NAMES.set("linen","#faf0e6"),COLOR_NAMES.set("magenta","#ff00ff"),COLOR_NAMES.set("maroon","#800000"),COLOR_NAMES.set("mediumaquamarine","#66cdaa"),COLOR_NAMES.set("mediumblue","#0000cd"),COLOR_NAMES.set("mediumorchid","#ba55d3"),COLOR_NAMES.set("mediumpurple","#9370d8"),COLOR_NAMES.set("mediumseagreen","#3cb371"),COLOR_NAMES.set("mediumslateblue","#7b68ee"),COLOR_NAMES.set("mediumspringgreen","#00fa9a"),COLOR_NAMES.set("mediumturquoise","#48d1cc"),COLOR_NAMES.set("mediumvioletred","#c71585"),COLOR_NAMES.set("midnightblue","#191970"),COLOR_NAMES.set("mintcream","#f5fffa"),COLOR_NAMES.set("mistyrose","#ffe4e1"),COLOR_NAMES.set("moccasin","#ffe4b5"),COLOR_NAMES.set("navajowhite","#ffdead"),COLOR_NAMES.set("navy","#000080"),COLOR_NAMES.set("oldlace","#fdf5e6"),COLOR_NAMES.set("olive","#808000"),COLOR_NAMES.set("olivedrab","#6b8e23"),COLOR_NAMES.set("orange","#ffa500"),COLOR_NAMES.set("orangered","#ff4500"),COLOR_NAMES.set("orchid","#da70d6"),COLOR_NAMES.set("palegoldenrod","#eee8aa"),COLOR_NAMES.set("palegreen","#98fb98"),COLOR_NAMES.set("paleturquoise","#afeeee"),COLOR_NAMES.set("palevioletred","#d87093"),COLOR_NAMES.set("papayawhip","#ffefd5"),COLOR_NAMES.set("peachpuff","#ffdab9"),COLOR_NAMES.set("peru","#cd853f"),COLOR_NAMES.set("pink","#ffc0cb"),COLOR_NAMES.set("plum","#dda0dd"),COLOR_NAMES.set("powderblue","#b0e0e6"),COLOR_NAMES.set("purple","#800080"),COLOR_NAMES.set("rebeccapurple","#663399"),COLOR_NAMES.set("red","#ff0000"),COLOR_NAMES.set("rosybrown","#bc8f8f"),COLOR_NAMES.set("royalblue","#4169e1"),COLOR_NAMES.set("saddlebrown","#8b4513"),COLOR_NAMES.set("salmon","#fa8072"),COLOR_NAMES.set("sandybrown","#f4a460"),COLOR_NAMES.set("seagreen","#2e8b57"),COLOR_NAMES.set("seashell","#fff5ee"),COLOR_NAMES.set("sienna","#a0522d"),COLOR_NAMES.set("silver","#c0c0c0"),COLOR_NAMES.set("skyblue","#87ceeb"),COLOR_NAMES.set("slateblue","#6a5acd"),COLOR_NAMES.set("slategray","#708090"),COLOR_NAMES.set("snow","#fffafa"),COLOR_NAMES.set("springgreen","#00ff7f"),COLOR_NAMES.set("steelblue","#4682b4"),COLOR_NAMES.set("tan","#d2b48c"),COLOR_NAMES.set("teal","#008080"),COLOR_NAMES.set("thistle","#d8bfd8"),COLOR_NAMES.set("tomato","#ff6347"),COLOR_NAMES.set("turquoise","#40e0d0"),COLOR_NAMES.set("violet","#ee82ee"),COLOR_NAMES.set("wheat","#f5deb3"),COLOR_NAMES.set("white","#ffffff"),COLOR_NAMES.set("whitesmoke","#f5f5f5"),COLOR_NAMES.set("yellow","#ffff00"),COLOR_NAMES.set("yellowgreen","#9acd32");const DEFAULT_MD_EMBED_CSS='.snw-reference{display: none;}.excalidraw-md-host{padding:0px 10px}.excalidraw-md-footer{height:5px}foreignObject{background-color:transparent}p{display:block;margin-block-start:1em;margin-block-end:1em;margin-inline-start:0px;margin-inline-end:0px;color:inherit}table,tr,th,td{color:inherit;border:1px solid;border-collapse:collapse;padding:3px}th{font-weight:bold;border-bottom:double;background-color:silver}.copy-code-button{display:none}code[class*=language-],pre[class*=language-]{color:#393a34;font-family:"Consolas","Bitstream Vera Sans Mono","Courier New",Courier,monospace;direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;font-size:.9em;line-height:1.2em;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre>code[class*=language-]{font-size:1em}pre[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,code[class*=language-] ::-moz-selection{background:#C1DEF1}pre[class*=language-]::selection,pre[class*=language-] ::selection,code[class*=language-]::selection,code[class*=language-] ::selection{background:#C1DEF1}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;background-color:#0000001a}:not(pre)>code[class*=language-]{padding:.2em;padding-top:1px;padding-bottom:1px;background:#f8f8f8;border:1px solid #dddddd}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:green;font-style:italic}.token.namespace{opacity:.7}.token.string{color:#a31515}.token.punctuation,.token.operator{color:#393a34}.token.url,.token.symbol,.token.number,.token.boolean,.token.variable,.token.constant,.token.inserted{color:#36acaa}.token.atrule,.token.keyword,.token.attr-value,.language-autohotkey .token.selector,.language-json .token.boolean,.language-json .token.number,code[class*=language-css]{color:#00f}.token.function{color:#393a34}.token.deleted,.language-autohotkey .token.tag{color:#9a050f}.token.selector,.language-autohotkey .token.keyword{color:#00009f}.token.important{color:#e90}.token.important,.token.bold{font-weight:bold}.token.italic{font-style:italic}.token.class-name,.language-json .token.property{color:#2b91af}.token.tag,.token.selector{color:maroon}.token.attr-name,.token.property,.token.regex,.token.entity{color:red}.token.directive.tag .tag{background:#ffff00;color:#393a34}.line-numbers.line-numbers .line-numbers-rows{border-right-color:#a5a5a5}.line-numbers .line-numbers-rows>span:before{color:#2b91af}.line-highlight.line-highlight{background:rgba(193,222,241,.2);background:-webkit-linear-gradient(left,rgba(193,222,241,.2) 70%,rgba(221,222,241,0));background:linear-gradient(to right,rgba(193,222,241,.2) 70%,rgba(221,222,241,0))}blockquote{ font-style:italic;background-color:rgb(46,43,42,0.1);margin:0;margin-left:1em;border-radius:0 4px 4px 0;border:1px solid hsl(0,80%,32%);border-left-width:8px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;padding:10px 20px;margin-inline-start:30px;margin-inline-end:30px;}',SCRIPTENGINE_ICON='',DISK_ICON_NAME="save",PNG_ICON_NAME="save-png",PNG_ICON='',SVG_ICON_NAME="save-svg",SVG_ICON='',EXCALIDRAW_ICON='',VIRGIL_DATAURL="data:application/font-woff;charset=utf-8;base64,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",VIRGIL_FONT=` @font-face {font-family: "Virgil";src: url("${VIRGIL_DATAURL}") format("woff2");}`,CASCADIA_FONT=' @font-face {font-family: "Cascadia";src: url("data:application/font-woff;charset=utf-8;base64,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XVtdpV2uXdBeAV4OXmBecl6GXpteyl74X1Vfsl/PX+xgDWAtYDVgPWBQYGNga2B9YIZgj2CcYKlgtmDLYOFg7GElYVthfmGgYa1hwmHdYgNiN2JVYoli0GL6Yzpjc2PbZINkrGUYZUBlTWVeZaNl8GX9Zi9mPGZNZrdm/mdPZ59nq2e4Z8hoAWhDaE9oW2hoaMto12jnaPNo/2mBaipqmGqlarFrRWtSa79sG2wnbFRskGzBbM5s32z7bQ5tF20fbR9tH20fbX9tzm4ebp9u+W9jb75wGnBgcKRw1HEucZRx1nIxcoly1HMHc1Nzm3P+dEJ0rXTvdR11YXWIdcl2LHZrdnN2e3aidqp2zHbwdwd3LHc/d213qHfGd/14JHhLeHt4rnjWeON5EnkpeUd5nHnBefJ5+noCeiV6T3pyenp6hXqcewR7kXu5e+R8Dnw3fHF8qnztfPp9B30UfSF9Ln07fUh9VX1ifW99fH2JfZZ9o32wfb19yn3YfeZ9834Bfg5+Hn4yfkJ+U35hfnd+h37Vf2iAj4CrgNeBDYEzgVmBgIGmgbmBzYH4gh2CUoKHgr2C84M1g/iEM4SIhK6Ey4T9hR6FQIVbhXaFiYWcha+FwoXSheuGAoYZhjCGR4Zoho+GnYazhsGGzobjhviHBYcah0yHaIgsiE6IcIi1iNuJA4lciWqJgImViaqJvYnRie6KDIosikyKbIqBio+KpIqyir+KzIrZiueK+4sPiySLOYtdi3GLhIuRi5+Ls4vIi9aL44vxi/+MFIwojD2MUoxfjGyMeYyFjJiMq4y/jNKM840NjSeNO41bjXSNjo2ijc6N7o4PjieOPY5TjmaOd46Njp6OtI7NjuGO8o8JjxqPMY9Lj2WPe4+Rj6aPvI/Kj96P75AAkA6QHJAukE6QdJCCkJ6QvJDKkN6Q75ECkRORIZE7kU+RY5F+kZSRqZHCkdiR7pIIkiSSQJJckniSlJK3ksiS2JLrkwCTDpMhkzKTQ5NQk12TcJOMk6+TvJPVk/GT/5QSlCSUNJRElFKUa5R+lJGUrJTClNiU8ZUHlR2VN5VTlWqVf5WUla2VwJXWleaV/JYNlieWOpZQlmCWdpaHlqCWtJbJluyXBZcflziXTJdgl3qXjpeil8WX3Zf1mGqYsZkFmTmZg5mvmcaZ5Zpamr6bHZtFm7icHZyAnN6dG52E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") format("woff2");}';class Random{constructor(e){this.seed=e}next(){return this.seed?(2**31-1&(this.seed=Math.imul(48271,this.seed)))/2**31:Math.random()}}var commonjsGlobal="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},lzStringExports={},lzString={get exports(){return lzStringExports},set exports(e){lzStringExports=e}};function splitFolderAndFilename(e){const A=e.lastIndexOf("/"),t=-1==A?e:e.substring(A+1);return{folderpath:obsidian_module.normalizePath(e.substring(0,A)),filename:t,basename:t.replace(/\.[^/.]+$/,"")}}!function(e){var A=function(){var e=String.fromCharCode,A="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$",i={};function n(e,A){if(!i[e]){i[e]={};for(var t=0;t>>8,t[2*i+1]=r%256}return t},decompressFromUint8Array:function(A){if(null==A)return a.decompress(A);for(var t=new Array(A.length/2),i=0,n=t.length;i>=1}else{for(n=1,i=0;i>=1}0==--d&&(d=Math.pow(2,u),u++),delete s[c]}else for(n=r[c],i=0;i>=1;0==--d&&(d=Math.pow(2,u),u++),r[l]=h++,c=String(o)}if(""!==c){if(Object.prototype.hasOwnProperty.call(s,c)){if(c.charCodeAt(0)<256){for(i=0;i>=1}else{for(n=1,i=0;i>=1}0==--d&&(d=Math.pow(2,u),u++),delete s[c]}else for(n=r[c],i=0;i>=1;0==--d&&(d=Math.pow(2,u),u++)}for(n=2,i=0;i>=1;for(;;){if(p<<=1,m==A-1){g.push(t(p));break}m++}return g.join("")},decompress:function(e){return null==e?"":""==e?null:a._decompress(e.length,32768,(function(A){return e.charCodeAt(A)}))},_decompress:function(A,t,i){var n,a,r,s,o,l,c,d=[],h=4,u=4,g=3,p="",m=[],w={val:i(0),position:t,index:1};for(n=0;n<3;n+=1)d[n]=n;for(r=0,o=Math.pow(2,2),l=1;l!=o;)s=w.val&w.position,w.position>>=1,0==w.position&&(w.position=t,w.val=i(w.index++)),r|=(s>0?1:0)*l,l<<=1;switch(r){case 0:for(r=0,o=Math.pow(2,8),l=1;l!=o;)s=w.val&w.position,w.position>>=1,0==w.position&&(w.position=t,w.val=i(w.index++)),r|=(s>0?1:0)*l,l<<=1;c=e(r);break;case 1:for(r=0,o=Math.pow(2,16),l=1;l!=o;)s=w.val&w.position,w.position>>=1,0==w.position&&(w.position=t,w.val=i(w.index++)),r|=(s>0?1:0)*l,l<<=1;c=e(r);break;case 2:return""}for(d[3]=c,a=c,m.push(c);;){if(w.index>A)return"";for(r=0,o=Math.pow(2,g),l=1;l!=o;)s=w.val&w.position,w.position>>=1,0==w.position&&(w.position=t,w.val=i(w.index++)),r|=(s>0?1:0)*l,l<<=1;switch(c=r){case 0:for(r=0,o=Math.pow(2,8),l=1;l!=o;)s=w.val&w.position,w.position>>=1,0==w.position&&(w.position=t,w.val=i(w.index++)),r|=(s>0?1:0)*l,l<<=1;d[u++]=e(r),c=u-1,h--;break;case 1:for(r=0,o=Math.pow(2,16),l=1;l!=o;)s=w.val&w.position,w.position>>=1,0==w.position&&(w.position=t,w.val=i(w.index++)),r|=(s>0?1:0)*l,l<<=1;d[u++]=e(r),c=u-1,h--;break;case 2:return m.join("")}if(0==h&&(h=Math.pow(2,g),g++),d[c])p=d[c];else{if(c!==u)return null;p=a+a.charAt(0)}m.push(p),d[u++]=a+p.charAt(0),a=p,0==--h&&(h=Math.pow(2,g),g++)}}};return a}();null!=e&&(e.exports=A)}(lzString);const download=(e,A,t)=>{const i=document.createElement("a");i.setAttribute("href",(e?`${e},`:"")+A),i.setAttribute("download",t),i.style.display="none",document.body.appendChild(i),i.click(),document.body.removeChild(i)};function getIMGFilename(e,A){return`${e.substring(0,e.lastIndexOf("."))}.${A}`}function getNewUniqueFilepath(e,A,t){let i=obsidian_module.normalizePath(`${t}/${A}`),n=e.getAbstractFileByPath(i),a=0;const r=A.endsWith(".excalidraw.md")?".excalidraw.md":A.slice(A.lastIndexOf("."));for(;n;)i=obsidian_module.normalizePath(`${t}/${A.slice(0,A.lastIndexOf(r))}_${a}${r}`),a++,n=e.getAbstractFileByPath(i);return i}function getDrawingFilename(e){return e.drawingFilenamePrefix+(""!==e.drawingFilenameDateTime?window.moment().format(e.drawingFilenameDateTime):"")+(e.compatibilityMode?".excalidraw":e.useExcalidrawExtension?".excalidraw.md":".md")}function getEmbedFilename(e,A){return(A.drawingEmbedPrefixWithFilename?e:"")+A.drawingFilnameEmbedPostfix+(""!==A.drawingFilenameDateTime?window.moment().format(A.drawingFilenameDateTime):"")+(A.compatibilityMode?".excalidraw":A.useExcalidrawExtension?".excalidraw.md":".md")}async function checkAndCreateFolder(e){const A=app.vault;e=obsidian_module.normalizePath(e);const t=A.getAbstractFileByPathInsensitive(e);t&&t instanceof obsidian_module.TFolder||(t&&t instanceof obsidian_module.TFile&&new obsidian_module.Notice(`The folder cannot be created because it already exists as a file: ${e}.`),await A.createFolder(e))}const getURLImageExtension=e=>{const A=e.split("?")[0];return A.substring(A.lastIndexOf(".")+1)},getMimeType=e=>{switch(e){case"png":return"image/png";case"jpeg":case"jpg":return"image/jpeg";case"gif":return"image/gif";case"webp":return"image/webp";case"bmp":return"image/bmp";case"ico":return"image/x-icon";case"svg":case"md":return"image/svg+xml";default:return"application/octet-stream"}},getFileFromURL=async(e,A,t=1e3)=>{try{return await Promise.race([(async()=>new Promise((e=>setTimeout((()=>e(null)),t))))(),obsidian_module.requestUrl({url:e,method:"get",contentType:A,throw:!1})])}catch(A){return void errorlog({where:getFileFromURL,message:`URL did not load within timeout period of ${t}ms`,url:e})}},getDataURLFromURL=async(e,A,t=1e3)=>{const i=await getFileFromURL(e,A,t);return i&&200===i.status?await getDataURL(i.arrayBuffer,A):e},{exportToSvg:exportToSvg,exportToBlob:exportToBlob}=excalidrawLib;let versionUpdateChecked=!1;const checkExcalidrawVersion=async e=>{if(!versionUpdateChecked){versionUpdateChecked=!0;try{const e=async()=>JSON.parse(await obsidian_module.request({url:"https://api.github.com/repos/zsviczian/obsidian-excalidraw-plugin/releases?per_page=5&page=1"})),A=(await e()).map((e=>({version:e.tag_name,published:new Date(e.published_at)}))).filter((e=>e.version.match(/^\d+\.\d+\.\d+$/))).sort(((e,A)=>A.published-e.published))[0].version;isVersionNewerThanOther(A,PLUGIN_VERSION)&&new obsidian_module.Notice(`A newer version of Excalidraw is available in Community Plugins.\n\nYou are using ${PLUGIN_VERSION}.\nThe latest is ${A}`)}catch(e){errorlog({where:"Utils/checkExcalidrawVersion",error:e})}setTimeout((()=>versionUpdateChecked=!1),288e5)}};function wrapTextAtCharLength(e,A,t=!1,i=0){if(!A)return e;let n="";if(t){for(const t of e.split("\n")){const e=t.match(new RegExp(`(.){1,${A}}`,"g"));n+=e?`${e.join("\n")}\n`:"\n"}return n.replace(/\n$/,"")}const a=new RegExp(`(.{1,${A}})(\\s+|$\\n?)|([^\\s]{1,${A+i}})(\\s+|$\\n?)?`,"gm"),r=e.matchAll(a);let s;for(;!(s=r.next()).done;){n+=s.value[1]?s.value[1].trimEnd():s.value[3].trimEnd();const e=(s.value[2]?s.value[2].split("\n").length-1:0)+(s.value[4]?s.value[4].split("\n").length-1:0);n+="\n".repeat(e),0===e&&(n+="\n")}return n.replace(/\n$/,"")}new Random(Date.now());const rotate$1=(e,A,t,i,n)=>[(e-t)*Math.cos(n)-(A-i)*Math.sin(n)+t,(e-t)*Math.sin(n)+(A-i)*Math.cos(n)+i],rotatedDimensions=e=>{if(0===e.angle)return[e.x,e.y,e.width,e.height];const A=e.x+e.width/2,t=e.y+e.height/2,[i,n]=rotate$1(e.x,e.y,A,t,e.angle),[a,r]=rotate$1(e.x+e.width,e.y+e.height,A,t,e.angle);return[i{const s=1/t.value;return{x:(e-i)*s-a,y:(A-n)*s-r}},getDataURL=async(e,A)=>new Promise(((t,i)=>{const n=new FileReader;n.onload=()=>{const e=n.result;t(e)},n.onerror=e=>i(e),n.readAsDataURL(new Blob([new Uint8Array(e)],{type:A}))})),getFontDataURL=async(e,A,t,i)=>{let n="",a="",r="";const s=e.metadataCache.getFirstLinkpathDest(A,t);if(s){const A=await e.vault.readBinary(s),t=s.extension.startsWith("woff")?"application/font-woff":"font/truetype";a=null!=i?i:s.basename,r=await getDataURL(A,t),n=` @font-face {font-family: "${a}";src: url("${r}") format("${"ttf"===s.extension?"truetype":s.extension}");}`;const o=n.split(";base64,",2);n=`${o[0]};charset=utf-8;base64,${o[1]}`}return{fontDef:n,fontName:a,dataURL:r}},svgToBase64=e=>`data:image/svg+xml;base64,${btoa(unescape(encodeURIComponent(e.replaceAll(" "," "))))}`,getBinaryFileFromDataURL=e=>{if(!e)return null;const A=e.matchAll(/base64,(.*)/g).next(),t=window.atob(A.value[1]),i=t.length,n=new Uint8Array(i);for(let e=0;e{var i;try{return await exportToSvg({elements:e.elements,appState:Object.assign({exportBackground:A.withBackground,exportWithDarkMode:!!A.withTheme&&"light"!=(null===(i=e.appState)||void 0===i?void 0:i.theme)},e.appState),files:e.files,exportPadding:t})}catch(e){return null}},getPNG=async(e,A,t,i=1)=>{var n;try{return await exportToBlob({elements:e.elements,appState:Object.assign({exportBackground:A.withBackground,exportWithDarkMode:!!A.withTheme&&"light"!=(null===(n=e.appState)||void 0===n?void 0:n.theme)},e.appState),files:e.files,exportPadding:t,mimeType:"image/png",getDimensions:(e,A)=>({width:e*i,height:A*i,scale:i})})}catch(e){return errorlog({where:"Utils.getPNG",error:e}),null}},getQuickImagePreview=async(e,A,t)=>{if(!e.settings.displayExportedImageIfAvailable)return null;const i=getIMGFilename(A,t),n=e.app.vault.getAbstractFileByPath(i);return n&&n instanceof obsidian_module.TFile?"png"===t?await e.app.vault.readBinary(n):await e.app.vault.read(n):null},embedFontsInSVG=(e,A)=>{const t=null!=e.querySelector("text[font-family^='Virgil']"),i=null!=e.querySelector("text[font-family^='Cascadia']"),n=null!=e.querySelector("text[font-family^='LocalFont']"),a=e.querySelector("defs");return a&&(i||t||n)&&(a.innerHTML=``),e},getImageSize=async e=>new Promise(((A,t)=>{const i=new Image;i.onload=()=>{A({height:i.naturalHeight,width:i.naturalWidth})},i.onerror=t,i.src=e})),scaleLoadedImage=(e,A)=>{let t=!1;if(!A||!e)return{dirty:t,scene:e};for(const i of A){const[A,n]=[i.size.width,i.size.height],a=i.size.width/i.size.height;e.elements.filter((e=>"image"===e.type&&e.fileId===i.id)).forEach((e=>{const[r,s]=[e.width,e.height];if(i.shouldScale){if(a!=r/s){t=!0;const i=Math.sqrt(r*s*n/A),a=Math.sqrt(r*s*A/n);e.height=i,e.width=a,e.y+=(s-i)/2,e.x+=(r-a)/2}}else r===A&&s===n||(t=!0,e.height=n,e.width=A,e.y+=(s-n)/2,e.x+=(r-A)/2)}))}return{dirty:t,scene:e}},setDocLeftHandedMode=(e,A)=>{const t=A.createElement("style");t.id="excalidraw-left-handed",t.textContent=".excalidraw .App-bottom-bar{justify-content:flex-end;}";const i=A.getElementById(t.id);i&&A.head.removeChild(i),e&&A.head.appendChild(t)},setLeftHandedMode=e=>{const A=new Set;app.workspace.iterateAllLeaves((t=>{const i=app.isMobile?document:t.view.containerEl.ownerDocument;i&&(A.has(i)||(A.add(i),setDocLeftHandedMode(e,i)))}))},getLinkParts=(e,A)=>{var t;const i=e.match(/(^[^#\|]*)#?(\^)?([^\|]*)?\|?(\d*)x?(\d*)/);return{original:e,path:A&&""===i[1]?A.path:i[1],isBlockRef:"^"===i[2],ref:null===(t=i[3])||void 0===t?void 0:t.replaceAll(REG_BLOCK_REF_CLEAN,""),width:i[4]?parseInt(i[4]):void 0,height:i[5]?parseInt(i[5]):void 0}},compress=e=>lzStringExports.compressToBase64(e).replace(/(.{64})/g,"$1\n\n"),decompress=e=>lzStringExports.decompressFromBase64(e.replaceAll("\n","").replaceAll("\r","")),hasExportTheme=(e,A)=>{if(A){const t=e.app.metadataCache.getFileCache(A);if((null==t?void 0:t.frontmatter)&&null!=t.frontmatter["excalidraw-export-dark"])return!0}return!1},getExportTheme=(e,A,t)=>{if(A){const t=e.app.metadataCache.getFileCache(A);if((null==t?void 0:t.frontmatter)&&null!=t.frontmatter["excalidraw-export-dark"])return t.frontmatter["excalidraw-export-dark"]?"dark":"light"}return e.settings.exportWithTheme?t:"light"},hasExportBackground=(e,A)=>{if(A){const t=e.app.metadataCache.getFileCache(A);if((null==t?void 0:t.frontmatter)&&null!=t.frontmatter["excalidraw-export-transparent"])return!0}return!1},getWithBackground=(e,A)=>{if(A){const t=e.app.metadataCache.getFileCache(A);if((null==t?void 0:t.frontmatter)&&null!=t.frontmatter["excalidraw-export-transparent"])return!t.frontmatter["excalidraw-export-transparent"]}return e.settings.exportWithBackground},getExportPadding=(e,A)=>{if(A){const t=e.app.metadataCache.getFileCache(A);if(!(null==t?void 0:t.frontmatter))return e.settings.exportPaddingSVG;if(null!=t.frontmatter["excalidraw-export-padding"]){const e=parseInt(t.frontmatter["excalidraw-export-padding"]);if(!isNaN(e))return e}if(null!=t.frontmatter["excalidraw-export-svgpadding"]){const e=parseInt(t.frontmatter["excalidraw-export-svgpadding"]);if(!isNaN(e))return e}}return e.settings.exportPaddingSVG},getPNGScale=(e,A)=>{if(A){const t=e.app.metadataCache.getFileCache(A);if((null==t?void 0:t.frontmatter)&&null!=t.frontmatter["excalidraw-export-pngscale"]){const e=parseFloat(t.frontmatter["excalidraw-export-pngscale"]);if(!isNaN(e)&&e>0)return e}}return e.settings.pngExportScale},isVersionNewerThanOther=(e,A)=>{const t=e.match(/(\d*)\.(\d*)\.(\d*)/),i=A.match(/(\d*)\.(\d*)\.(\d*)/);return Boolean(t&&4===t.length&&i&&4===i.length&&!(isNaN(parseInt(t[1]))||isNaN(parseInt(t[2]))||isNaN(parseInt(t[3])))&&!(isNaN(parseInt(i[1]))||isNaN(parseInt(i[2]))||isNaN(parseInt(i[3])))&&(parseInt(t[1])>parseInt(i[1])||parseInt(t[1])>=parseInt(i[1])&&parseInt(t[2])>parseInt(i[2])||parseInt(t[1])>=parseInt(i[1])&&parseInt(t[2])>=parseInt(i[2])&&parseInt(t[3])>parseInt(i[3])))},getEmbeddedFilenameParts=e=>{const A=null==e?void 0:e.match(/([^#\^]*)((#\^)(group=|area=|taskbone)?([^\|]*)|(#)(group=|area=|taskbone)?([^\^\|]*))(.*)/);return A?{filepath:A[1],hasBlockref:Boolean(A[3]),hasGroupref:"group="===A[4]||"group="===A[7],hasTaskbone:"taskbone"===A[4]||"taskbone"===A[7],hasArearef:"area="===A[4]||"area="===A[7],blockref:A[5],hasSectionref:Boolean(A[6]),sectionref:A[8],linkpartReference:A[2],linkpartAlias:A[9]}:{filepath:e,hasBlockref:!1,hasGroupref:!1,hasTaskbone:!1,hasArearef:!1,blockref:"",hasSectionref:!1,sectionref:"",linkpartReference:"",linkpartAlias:""}},fragWithHTML=e=>createFragment((A=>A.createDiv().innerHTML=e)),errorlog=e=>{console.error(Object.assign({plugin:"Excalidraw"},e))},sleep$1=async e=>new Promise((A=>setTimeout(A,e))),log=console.log.bind(window.console),debug=console.log.bind(window.console),getContainerElement=(e,A)=>{var t;return e&&e.containerId&&null!==(t=A.elements.filter((A=>A.id===e.containerId))[0])&&void 0!==t?t:null},updateFrontmatterInString=(e,A)=>{if(!e)return e;for(const t of A){const A=new RegExp(`${t[0]}:\\s.*\\n`,"g");e=e.match(A)?e.replaceAll(A,`${t[0]}: ${t[1]}\n`):e.replace(/^---\n/,`---\n${t[0]}: ${t[1]}\n`)}return e},isHyperlink=e=>e&&!e.includes("\n")&&!e.includes("\r")&&e.match(/^https?:(\d*)?\/\/[^\s]*$/),hyperlinkIsImage=e=>{isHyperlink(e);const A=e.split("?")[0];return IMAGE_TYPES.contains(A.substring(A.lastIndexOf(".")+1))},hyperlinkIsYouTubeLink=e=>isHyperlink(e)&&(e.startsWith("https://youtu.be")||e.startsWith("https://www.youtube.com")||e.startsWith("https://youtube.com")||e.startsWith("https//www.youtu.be"))&&null!==e.match(/(youtu.be\/|v=)([^?\/\&]*)/),getYouTubeThumbnailLink=async e=>{const A=e.match(/(youtu.be\/|v=)([^?\/\&]*)/);if(!A||!A[2])return null;const t=A[2];let i=`https://i.ytimg.com/vi/${t}/maxresdefault.jpg`,n=await obsidian_module.requestUrl({url:i,method:"get",contentType:"image/jpeg",throw:!1});return n&&200===n.status?i:(i=`https://i.ytimg.com/vi/${t}/hq720.jpg`,n=await obsidian_module.requestUrl({url:i,method:"get",contentType:"image/jpeg",throw:!1}),n&&200===n.status?i:(i=`https://i.ytimg.com/vi/${t}/mqdefault.jpg`,n=await obsidian_module.requestUrl({url:i,method:"get",contentType:"image/jpeg",throw:!1}),n&&200===n.status?i:`https://i.ytimg.com/vi/${t}/default.jpg`))},labelCTRL=()=>DEVICE.isIOS||DEVICE.isMacOS?"CMD":"CTRL",labelALT=()=>DEVICE.isIOS||DEVICE.isMacOS?"OPT":"ALT",labelMETA=()=>DEVICE.isIOS||DEVICE.isMacOS?"CTRL":DEVICE.isWindows?"WIN":"META",labelSHIFT=()=>"SHIFT",isCTRL=e=>DEVICE.isIOS||DEVICE.isMacOS?e.metaKey:e.ctrlKey,isALT=e=>e.altKey,isMETA=e=>DEVICE.isIOS||DEVICE.isMacOS?e.ctrlKey:e.metaKey,isSHIFT=e=>e.shiftKey,mdPropModifier=e=>!isSHIFT(e)&&isCTRL(e)&&!isALT(e)&&isMETA(e),scaleToFullsizeModifier=e=>isSHIFT(e)&&!isCTRL(e)&&!isALT(e)&&isMETA(e)||!isSHIFT(e)&&isCTRL(e)&&isALT(e)&&!isMETA(e),linkClickModifierType=e=>isCTRL(e)&&!isALT(e)&&isSHIFT(e)&&!isMETA(e)?"active-pane":!isCTRL(e)||isALT(e)||isSHIFT(e)||isMETA(e)?isCTRL(e)&&isALT(e)&&!isSHIFT(e)&&!isMETA(e)?"new-pane":DEVICE.isDesktop&&isCTRL(e)&&isALT(e)&&isSHIFT(e)&&!isMETA(e)?"popout-window":isCTRL(e)&&isALT(e)&&isSHIFT(e)&&!isMETA(e)?"new-tab":mdPropModifier(e)?"md-properties":"active-pane":"new-tab",externalDragModifierType=e=>(isSHIFT(e)||!isCTRL(e)||isALT(e)||isMETA(e))&&(isSHIFT(e)||isCTRL(e)||isALT(e)||!isMETA(e))?(!isSHIFT(e)||isCTRL(e)||isALT(e)||isMETA(e))&&(isSHIFT(e)||isCTRL(e)||!isALT(e)||isMETA(e))?"image-url":"image-import":"insert-link",internalDragModifierType=e=>(!isSHIFT(e)||isCTRL(e)||isALT(e)||isMETA(e))&&(isSHIFT(e)||!isCTRL(e)||isALT(e)||isMETA(e))?scaleToFullsizeModifier(e)?"image-fullsize":"link":"image",emulateCTRLClickForLinks=e=>({shiftKey:e.shiftKey,ctrlKey:e.ctrlKey||!(DEVICE.isIOS||DEVICE.isMacOS),metaKey:e.metaKey||DEVICE.isIOS||DEVICE.isMacOS,altKey:e.altKey}),getParentOfClass=(e,A)=>{var t;let i=e.parentElement;for(;i&&!(i instanceof window.HTMLBodyElement)&&!i.classList.contains(A);)i=i.parentElement;return(null===(t=null==i?void 0:i.classList)||void 0===t?void 0:t.contains(A))?i:null},getLeaf=(e,A,t)=>{switch(linkClickModifierType(t)){case"active-pane":return A;case"new-tab":default:return(()=>{if(!e.settings.openInMainWorkspace)return app.workspace.getLeaf("tab");const[t,i]=getLeafLoc(A);return"main"===t?app.workspace.getLeaf("tab"):getNewOrAdjacentLeaf(e,A)})();case"new-pane":return getNewOrAdjacentLeaf(e,A);case"popout-window":return app.workspace.openPopoutLeaf()}},getLeafLoc=e=>{const A=e.id,t=app.workspace.getLayout(),i=e=>e.children.filter((e=>"leaf"!==e.type)).map((e=>i(e))).flat().concat(e.children.filter((e=>"leaf"===e.type)).map((e=>e.id))),n=i(t.main);return[t.main&&n.contains(A)?"main":t.floating&&i(t.floating).contains(A)?"popout":t.left&&i(t.left).contains(A)?"left":t.right&&i(t.right).contains(A)?"right":"hover",n]},getNewOrAdjacentLeaf=(e,A)=>{const[t,i]=getLeafLoc(A),n=()=>{var e;let t=app.workspace.getMostRecentLeaf();return t&&t!==A&&(null===(e=t.view)||void 0===e?void 0:e.containerEl.ownerDocument)===document||(t=null,i.forEach((e=>{var i;const n=app.workspace.getLeafById(e);!t&&(null===(i=n.view)||void 0===i?void 0:i.navigation)&&A!==n&&(t=n)}))),t};if(e.settings.openInMainWorkspace||["main","left","right"].contains(t)){if(!e.settings.openInAdjacentPane){if("main"===t)return app.workspace.createLeafBySplit(A);const e=n();return e?"empty"===e.view.getViewType()?e:app.workspace.createLeafBySplit(e):app.workspace.getLeaf(!0)}const i=n();return null!=i?i:app.workspace.getLeaf(!0)}if(!e.settings.openInAdjacentPane)return app.workspace.createLeafBySplit(A);if("hover"===t){const t=new Set;return app.workspace.iterateAllLeaves((e=>{e!==A&&A.containerEl.parentElement===e.containerEl.parentElement&&t.add(e)})),0===t.size?e.app.workspace.createLeafBySplit(A):Array.from(t)[0]}if("popout"===t){const e=new Set;return app.workspace.iterateAllLeaves((t=>{t!==A&&t.view.navigation&&t.view.containerEl.ownerDocument===A.view.containerEl.ownerDocument&&e.add(t)})),0===e.size?app.workspace.createLeafBySplit(A):Array.from(e)[0]}return e.app.workspace.createLeafBySplit(A)},getAttachmentsFolderAndFilePath=async(e,A,t)=>{let i=e.vault.getConfig("attachmentFolderPath");if(i&&i.startsWith("./")){const e=`${splitFolderAndFilename(A).folderpath}/`;i=obsidian_module.normalizePath(e+i.substring(2))}return i&&"/"!==i||(i=""),await checkAndCreateFolder(i),{folder:i,filepath:obsidian_module.normalizePath(""===i?t:`${i}/${t}`)}},isObsidianThemeDark=()=>document.body.classList.contains("theme-dark");var ar={},cz={},da={},de={},en={INSTALL_SCRIPT:"Install the script",UPDATE_SCRIPT:"Update available - Click to install",CHECKING_SCRIPT:"Checking for newer version - Click to reinstall",UNABLETOCHECK_SCRIPT:"Update check failed - Click to reinstall",UPTODATE_SCRIPT:"Script is up to date - Click to reinstall",OPEN_AS_EXCALIDRAW:"Open as Excalidraw Drawing",TOGGLE_MODE:"Toggle between Excalidraw and Markdown mode",CONVERT_NOTE_TO_EXCALIDRAW:"Convert empty note to Excalidraw Drawing",CONVERT_EXCALIDRAW:"Convert *.excalidraw to *.md files",CREATE_NEW:"Create new drawing",CONVERT_FILE_KEEP_EXT:"*.excalidraw => *.excalidraw.md",CONVERT_FILE_REPLACE_EXT:"*.excalidraw => *.md (Logseq compatibility)",DOWNLOAD_LIBRARY:"Export stencil library as an *.excalidrawlib file",OPEN_EXISTING_NEW_PANE:"Open existing drawing - IN A NEW PANE",OPEN_EXISTING_ACTIVE_PANE:"Open existing drawing - IN THE CURRENT ACTIVE PANE",TRANSCLUDE:"Embed a drawing",TRANSCLUDE_MOST_RECENT:"Embed the most recently edited drawing",TOGGLE_LEFTHANDED_MODE:"Toggle left-handed mode",NEW_IN_NEW_PANE:"Create new drawing - IN AN ADJACENT WINDOW",NEW_IN_NEW_TAB:"Create new drawing - IN A NEW TAB",NEW_IN_ACTIVE_PANE:"Create new drawing - IN THE CURRENT ACTIVE WINDOW",NEW_IN_POPOUT_WINDOW:"Create new drawing - IN A POPOUT WINDOW",NEW_IN_NEW_PANE_EMBED:"Create new drawing - IN AN ADJACENT WINDOW - and embed into active document",NEW_IN_NEW_TAB_EMBED:"Create new drawing - IN A NEW TAB - and embed into active document",NEW_IN_ACTIVE_PANE_EMBED:"Create new drawing - IN THE CURRENT ACTIVE WINDOW - and embed into active document",NEW_IN_POPOUT_WINDOW_EMBED:"Create new drawing - IN A POPOUT WINDOW - and embed into active document",EXPORT_SVG:"Save as SVG next to current file",EXPORT_PNG:"Save as PNG next to current file",EXPORT_SVG_WITH_SCENE:"Save as SVG with embedded Excalidraw Scene next to current file",EXPORT_PNG_WITH_SCENE:"Save as PNG with embedded Excalidraw Scene next to current file",TOGGLE_LOCK:"Toggle Text Element between edit RAW and PREVIEW",DELETE_FILE:"Delete selected image or Markdown file from Obsidian Vault",INSERT_LINK_TO_ELEMENT:`Copy markdown link for selected element to clipboard. ${labelCTRL()}+CLICK to copy 'group=' link. SHIFT+CLICK to copy an 'area=' link. ${labelALT()}+CLICK to watch a help video.`,INSERT_LINK_TO_ELEMENT_GROUP:"Copy 'group=' markdown link for selected element to clipboard.",INSERT_LINK_TO_ELEMENT_AREA:"Copy 'area=' markdown link for selected element to clipboard.",INSERT_LINK_TO_ELEMENT_NORMAL:"Copy markdown link for selected element to clipboard.",INSERT_LINK_TO_ELEMENT_ERROR:"Select a single element in the scene",INSERT_LINK_TO_ELEMENT_READY:"Link is READY and available on the clipboard",INSERT_LINK:"Insert link to file",INSERT_IMAGE:"Insert image or Excalidraw drawing from your vault",IMPORT_SVG:"Import an SVG file as Excalidraw strokes (limited SVG support, TEXT currently not supported)",INSERT_MD:"Insert markdown file from vault",INSERT_LATEX:`Insert LaTeX formula (e.g. \\binom{n}{k} = \\frac{n!}{k!(n-k)!}). ${labelALT()}+CLICK to watch a help video.`,ENTER_LATEX:"Enter a valid LaTeX expression",READ_RELEASE_NOTES:"Read latest release notes",RUN_OCR:"OCR: Grab text from freedraw scribble and pictures to clipboard",TRAY_MODE:"Toggle property-panel tray-mode",SEARCH:"Search for text in drawing",RESET_IMG_TO_100:"Set selected image element size to 100% of original",TEMPORARY_DISABLE_AUTOSAVE:"Disable autosave until next time Obsidian starts (only set this if you know what you are doing)",TEMPORARY_ENABLE_AUTOSAVE:"Enable autosave",INSTALL_SCRIPT_BUTTON:"Install or update Excalidraw Scripts",OPEN_AS_MD:"Open as Markdown",SAVE_AS_PNG:`Save as PNG into Vault (${labelCTRL()}+CLICK to export; SHIFT to embed scene)`,SAVE_AS_SVG:`Save as SVG into Vault (${labelCTRL()}+CLICK to export; SHIFT to embed scene)`,OPEN_LINK:"Open selected text as link\n(SHIFT+CLICK to open in a new pane)",EXPORT_EXCALIDRAW:"Export to an .Excalidraw file",LINK_BUTTON_CLICK_NO_TEXT:"Select a ImageElement, or select a TextElement that contains an internal or external link.\n",FILENAME_INVALID_CHARS:'File name cannot contain any of the following characters: * " \\ < > : | ? #',FORCE_SAVE:"Save (will also update transclusions)",RAW:"Change to PREVIEW mode (only effects text-elements with links or transclusions)",PARSED:"Change to RAW mode (only effects text-elements with links or transclusions)",NOFILE:"Excalidraw (no file)",COMPATIBILITY_MODE:"*.excalidraw file opened in compatibility mode. Convert to new format for full plugin functionality.",CONVERT_FILE:"Convert to new format",RELEASE_NOTES_NAME:"Display Release Notes after update",RELEASE_NOTES_DESC:"Toggle ON: Display release notes each time you update Excalidraw to a newer version.
Toggle OFF: Silent mode. You can still read release notes on GitHub.",NEWVERSION_NOTIFICATION_NAME:"Plugin update notification",NEWVERSION_NOTIFICATION_DESC:"Toggle ON: Show a notification when a new version of the plugin is available.
Toggle OFF: Silent mode. You need to check for plugin updates in Community Plugins.",FOLDER_NAME:"Excalidraw folder",FOLDER_DESC:"Default location for new drawings. If empty, drawings will be created in the Vault root.",FOLDER_EMBED_NAME:"Use Excalidraw folder when embedding a drawing into the active document",FOLDER_EMBED_DESC:"Define which folder to place the newly inserted drawing into when using the command palette action: 'Create a new drawing and embed into active document'.
Toggle ON: Use Excalidraw folder
Toggle OFF: Use the attachments folder defined in Obsidian settings.",TEMPLATE_NAME:"Excalidraw template file",TEMPLATE_DESC:"Full filepath to the Excalidraw template. E.g.: If your template is in the default Excalidraw folder and its name is Template.md, the setting would be: Excalidraw/Template.md (or just Excalidraw/Template - you may omit the .md file extension). If you are using Excalidraw in compatibility mode, then your template must be a legacy Excalidraw file as well such as Excalidraw/Template.excalidraw.",SCRIPT_FOLDER_NAME:"Excalidraw Automate script folder (CASE SeNSitiVE!)",SCRIPT_FOLDER_DESC:"The files you place in this folder will be treated as Excalidraw Automate scripts. You can access your scripts from Excalidraw via the Obsidian Command Palette. Assign hotkeys to your favorite scripts just like to any other Obsidian command. The folder may not be the root folder of your Vault. ",SAVING_HEAD:"Saving",COMPRESS_NAME:"Compress Excalidraw JSON in Markdown",COMPRESS_DESC:"By enabling this feature Excalidraw will store the drawing JSON in a Base64 compressed format using the LZ-String algorithm. This will reduce the chance of Excalidraw JSON cluttering your search results in Obsidian. As a side effect, this will also reduce the filesize of Excalidraw drawings. When you switch an Excalidraw drawing to Markdown view, using the options menu in Excalidraw, the file will be saved without compression, so that you can read and edit the JSON string. The drawing will be compressed again once you switch back to Excalidraw view. The setting only has effect 'point forward', meaning, existing drawings will not be effected by the setting until you open them and save them.
Toggle ON: Compress drawing JSON
Toggle OFF: Leave drawing JSON uncompressed",AUTOSAVE_INTERVAL_DESKTOP_NAME:"Interval for autosave on Desktop",AUTOSAVE_INTERVAL_DESKTOP_DESC:"The time interval between saves. Autosave will skip if there are no changes in the drawing. Excalidraw will also save the file when closing a workspace tab or navigating within Obsidian, but away from the active Excalidraw tab (i.e. clicking on the Obsidian ribbon or checking backlinks, etc.). Excalidraw will not be able to save your work when terminating Obsidian directly either by killing the Obsidian process, or clicking to close Obsidian altogether.",AUTOSAVE_INTERVAL_MOBILE_NAME:"Interval for autosave on Mobile",AUTOSAVE_INTERVAL_MOBILE_DESC:"I recommend a more frequent interval for Mobiles. Excalidraw will also save the file when closing a workspace tab or navigating within Obsidian, but away from the active Excalidraw tab (i.e. tapping on the Obsidian ribbon or checking backlinks, etc.). Excalidraw will not be able to save your work when terminating Obsidian directly (i.e. swiping it away). Also note, that when you switch apps on a Mobile device, sometimes Android and iOS closes Obsidian in the background to save system resources. In such a case Excalidraw will not be able to save the latest changes.",FILENAME_HEAD:"Filename",FILENAME_DESC:"

Click this link for the date and time format reference.

",FILENAME_SAMPLE:"Filename for a new drawing is: ",FILENAME_EMBED_SAMPLE:"Filename for a new embedded drawing is: ",FILENAME_PREFIX_NAME:"Filename prefix",FILENAME_PREFIX_DESC:"The first part of the filename",FILENAME_PREFIX_EMBED_NAME:"Filename prefix when embedding a new drawing into a markdown note",FILENAME_PREFIX_EMBED_DESC:"Should the filename of the newly inserted drawing start with the name of the active markdown note when using the command palette action: Create a new drawing and embed into active document?
Toggle ON: Yes, the filename of a new drawing should start with filename of the active document
Toggle OFF: No, filename of a new drawing should not include the filename of the active document",FILENAME_POSTFIX_NAME:"Custom text after markdown Note's name when embedding",FILENAME_POSTFIX_DESC:"Effects filename only when embedding into a markdown document. This text will be inserted after the note's name, but before the date.",FILENAME_DATE_NAME:"Filename Date",FILENAME_DATE_DESC:"The last part of the filename. Leave empty if you do not want a date.",FILENAME_EXCALIDRAW_EXTENSION_NAME:".excalidraw.md or .md",FILENAME_EXCALIDRAW_EXTENSION_DESC:"This setting does not apply if you use Excalidraw in compatibility mode, i.e. you are not using Excalidraw markdown files.
Toggle ON: filename ends with .excalidraw.md
Toggle OFF: filename ends with .md",DISPLAY_HEAD:"Display",LEFTHANDED_MODE_NAME:"Left-handed mode",LEFTHANDED_MODE_DESC:"Currently only has effect in tray-mode. If turned on, the tray will be on the right side.
Toggle ON: Left-handed mode.
Toggle OFF: Right-handed moded",MATCH_THEME_NAME:"New drawing to match Obsidian theme",MATCH_THEME_DESC:"If theme is dark, new drawing will be created in dark mode. This does not apply when you use a template for new drawings. Also this will not effect when you open an existing drawing. Those will follow the theme of the template/drawing respectively.
Toggle ON: Follow Obsidian Theme
Toggle OFF: Follow theme defined in your template",MATCH_THEME_ALWAYS_NAME:"Existing drawings to match Obsidian theme",MATCH_THEME_ALWAYS_DESC:"If theme is dark, drawings will be opened in dark mode. If your theme is light, they will be opened in light mode.
Toggle ON: Match Obsidian theme
Toggle OFF: Open with the same theme as last saved",MATCH_THEME_TRIGGER_NAME:"Excalidraw to follow when Obsidian Theme changes",MATCH_THEME_TRIGGER_DESC:"If this option is enabled open Excalidraw pane will switch to light/dark mode when Obsidian theme changes.
Toggle ON: Follow theme changes
Toggle OFF: Drawings are not effected by Obsidian theme changes",DEFAULT_OPEN_MODE_NAME:"Default mode when opening Excalidraw",DEFAULT_OPEN_MODE_DESC:"Specifies the mode how Excalidraw opens: Normal, Zen, or View mode. You may also set this behavior on a file level by adding the excalidraw-default-mode frontmatter key with a value of: normal, view, or zen to your document.",DEFAULT_PEN_MODE_NAME:"Pen mode",DEFAULT_PEN_MODE_DESC:"Should pen mode be automatically enabled when opening Excalidraw?",DEFAULT_PINCHZOOM_NAME:"Allow pinch zoom in pen mode",DEFAULT_PINCHZOOM_DESC:"Pinch zoom in pen mode when using the freedraw tool is disabled by default to prevent unwanted accidental zooming with your palm.
Toggle on: Enable pinch zoom in pen mode
Toggle off: Disable pinch zoom in pen mode",DEFAULT_WHEELZOOM_NAME:"Mouse wheel to zoom by default",DEFAULT_WHEELZOOM_DESC:`Toggle on: Mouse wheel to zoom; ${labelCTRL()} + mouse wheel to scroll
Toggle off: ${labelCTRL()} + mouse wheel to zoom; Mouse wheel to scroll`,ZOOM_TO_FIT_NAME:"Zoom to fit on view resize",ZOOM_TO_FIT_DESC:"Zoom to fit drawing when the pane is resized
Toggle ON: Zoom to fit
Toggle OFF: Auto zoom disabled",ZOOM_TO_FIT_ONOPEN_NAME:"Zoom to fit on file open",ZOOM_TO_FIT_ONOPEN_DESC:"Zoom to fit drawing when the drawing is first opened
Toggle ON: Zoom to fit
Toggle OFF: Auto zoom disabled",ZOOM_TO_FIT_MAX_LEVEL_NAME:"Zoom to fit max ZOOM level",ZOOM_TO_FIT_MAX_LEVEL_DESC:"Set the maximum level to which zoom to fit will enlarge the drawing. Minimum is 0.5 (50%) and maximum is 10 (1000%).",LINKS_HEAD:"Links and transclusion",LINKS_DESC:`${labelCTRL()}+CLICK on [[Text Elements]] to open them as links. If the selected text has more than one [[valid Obsidian links]], only the first will be opened. If the text starts as a valid web link (i.e. https:// or http://), then the plugin will open it in a browser. When Obsidian files change, the matching [[link]] in your drawings will also change. If you don't want text accidentally changing in your drawings use [[links|with aliases]].`,ADJACENT_PANE_NAME:"Open in adjacent pane",ADJACENT_PANE_DESC:`When ${labelCTRL()}+SHIFT clicking a link in Excalidraw, by default the plugin will open the link in a new pane. Turning this setting on, Excalidraw will first look for an existing adjacent pane, and try to open the link there. Excalidraw will look for the adjacent pane based on your focus/navigation history, i.e. the workpane that was active before you activated Excalidraw.`,MAINWORKSPACE_PANE_NAME:"Open in main workspace",MAINWORKSPACE_PANE_DESC:`When ${labelCTRL()}+SHIFT clicking a link in Excalidraw, by default the plugin will open the link in a new pane in the current active window. Turning this setting on, Excalidraw will open the link in an existing or new pane in the main workspace. `,LINK_BRACKETS_NAME:"Show [[brackets]] around links",LINK_BRACKETS_DESC:"In PREVIEW mode, when parsing Text Elements, place brackets around links. You can override this setting for a specific drawing by adding excalidraw-link-brackets: true/false to the file's frontmatter.",LINK_PREFIX_NAME:"Link prefix",LINK_PREFIX_DESC:'In PREVIEW mode, if the Text Element contains a link, precede the text with these characters. You can override this setting for a specific drawing by adding excalidraw-link-prefix: "📍 " to the file\'s frontmatter.',URL_PREFIX_NAME:"URL prefix",URL_PREFIX_DESC:'In PREVIEW mode, if the Text Element contains a URL link, precede the text with these characters. You can override this setting for a specific drawing by adding excalidraw-url-prefix: "🌐 " to the file\'s frontmatter.',PARSE_TODO_NAME:"Parse todo",PARSE_TODO_DESC:"Convert '- [ ] ' and '- [x] ' to checkpox and tick in the box.",TODO_NAME:"Open TODO icon",TODO_DESC:"Icon to use for open TODO items",DONE_NAME:"Completed TODO icon",DONE_DESC:"Icon to use for completed TODO items",HOVERPREVIEW_NAME:`Hover preview without pressing the ${labelCTRL()} key`,HOVERPREVIEW_DESC:`Toggle On: In Exalidraw view mode the hover preview for [[wiki links]] will be shown immediately, without the need to hold the ${labelCTRL()} key. In Excalidraw normal mode, the preview will be shown immediately only when hovering the blue link icon in the top right of the element.
Toggle Off: Hover preview is shown only when you hold the ${labelCTRL()} key while hovering the link.`,LINKOPACITY_NAME:"Opacity of link icon",LINKOPACITY_DESC:"Opacity of the link indicator icon in the top right corner of an element. 1 is opaque, 0 is transparent.",LINK_CTRL_CLICK_NAME:`${labelCTRL()}+CLICK on text with [[links]] or [](links) to open them`,LINK_CTRL_CLICK_DESC:"You can turn this feature off if it interferes with default Excalidraw features you want to use. If this is turned off, only the link button in the title bar of the drawing pane will open links.",TRANSCLUSION_WRAP_NAME:"Overflow wrap behavior of transcluded text",TRANSCLUSION_WRAP_DESC:"Number specifies the character count where the text should be wrapped. Set the text wrapping behavior of transcluded text. Turn this ON to force-wrap text (i.e. no overflow), or OFF to soft-wrap text (at the nearest whitespace).",TRANSCLUSION_DEFAULT_WRAP_NAME:"Transclusion word wrap default",TRANSCLUSION_DEFAULT_WRAP_DESC:"You can manually set/override word wrapping length using the `![[page#^block]]{NUMBER}` format. Normally you will not want to set a default, because if you transclude text inside a sticky note, then Excalidraw will automatically take care of word wrapping. Set this value to `0` if you do not want to set a default. ",PAGE_TRANSCLUSION_CHARCOUNT_NAME:"Page transclusion max char count",PAGE_TRANSCLUSION_CHARCOUNT_DESC:"The maximum number of characters to display from the page when transcluding an entire page with the ![[markdown page]] format.",QUOTE_TRANSCLUSION_REMOVE_NAME:"Quote translusion: remove leading '> ' from each line",QUOTE_TRANSCLUSION_REMOVE_DESC:"Remove the leading '> ' from each line of the transclusion. This will improve readability of quotes in text only transclusions
Toggle ON: Remove leading '> '
Toggle OFF: Do not remove leading '> ' (note it will still be removed from the first row due to Obsidian API functionality)",GET_URL_TITLE_NAME:"Use iframely to resolve page title",GET_URL_TITLE_DESC:"Use the http://iframely.server.crestify.com/iframely?url= to get title of page when dropping a link into Excalidraw",MD_HEAD:"Markdown-embed settings",MD_HEAD_DESC:"You can transclude formatted markdown documents into drawings as images SHIFT drop from the file explorer or using the command palette action.",MD_TRANSCLUDE_WIDTH_NAME:"Default width of a transcluded markdown document",MD_TRANSCLUDE_WIDTH_DESC:"The width of the markdown page. This effects the word wrapping when transcluding longer paragraphs, and the width of the image element. You can override the default width of an embedded file using the [[filename#heading|WIDTHxMAXHEIGHT]] syntax in markdown view mode under embedded files.",MD_TRANSCLUDE_HEIGHT_NAME:"Default maximum height of a transcluded markdown document",MD_TRANSCLUDE_HEIGHT_DESC:"The embedded image will be as high as the markdown text requires, but not higher than this value. You can override this value by editing the embedded image link in markdown view mode with the following syntax [[filename#^blockref|WIDTHxMAXHEIGHT]].",MD_DEFAULT_FONT_NAME:"The default font typeface to use for embedded markdown files.",MD_DEFAULT_FONT_DESC:'Set this value to "Virgil" or "Cascadia" or the filename of a valid .ttf, .woff, or .woff2 font e.g. MyFont.woff2 You can override this setting by adding the following frontmatter-key to the embedded markdown file: excalidraw-font: font_or_filename',MD_DEFAULT_COLOR_NAME:"The default font color to use for embedded markdown files.",MD_DEFAULT_COLOR_DESC:'Set this to any valid css color name e.g. "steelblue" (color names), or a valid hexadecimal color e.g. "#e67700", or any other valid css color string. You can override this setting by adding the following frontmatter-key to the embedded markdown file: excalidraw-font-color: steelblue',MD_DEFAULT_BORDER_COLOR_NAME:"The default border color to use for embedded markdown files.",MD_DEFAULT_BORDER_COLOR_DESC:'Set this to any valid css color name e.g. "steelblue" (color names), or a valid hexadecimal color e.g. "#e67700", or any other valid css color string. You can override this setting by adding the following frontmatter-key to the embedded markdown file: excalidraw-border-color: gray. Leave empty if you don\'t want a border. ',MD_CSS_NAME:"CSS file",MD_CSS_DESC:`The filename of the CSS to apply to markdown embeds. Provide the filename with extension (e.g. 'md-embed.css'). The css file may also be a plain markdown file (e.g. 'md-embed-css.md'), just make sure the content is written using valid css syntax. If you need to look at the HTML code you are applying the CSS to, then open Obsidian Developer Console (${DEVICE.isIOS||DEVICE.isMacOS?"CMD+OPT+i":"CTRL+SHIFT+i"}) and type in the following command: "ExcalidrawAutomate.mostRecentMarkdownSVG". This will display the most recent SVG generated by Excalidraw. Setting the font-family in the css is has limitations. By default only your operating system's standard fonts are available (see README for details). You can add one custom font beyond that using the setting above. You can override this css setting by adding the following frontmatter-key to the embedded markdown file: "excalidraw-css: css_file_in_vault|css-snippet".`,EMBED_HEAD:"Embed & Export",EMBED_REUSE_EXPORTED_IMAGE_NAME:"If found, use the already exported image for preview",EMBED_REUSE_EXPORTED_IMAGE_DESC:"This setting works in conjunction with the Auto-export SVG/PNG setting. If an exported image that matches the file name of the drawing is available, use that image instead of generating a preview image on the fly. This will result in faster previews especially when you have many embedded objects in the drawing, however, it may happen that your latest changes are not displayed and that the image will not automatically match your Obsidian theme in case you have changed the Obsidian theme since the export was created. This setting only applies to embedding images into markdown documents. For a number of reasons, the same approach cannot be used to expedite the loading of drawings with many embedded objects. See demonstration here.",EMBED_PREVIEW_SVG_NAME:"Display SVG in markdown preview",EMBED_PREVIEW_SVG_DESC:"Toggle ON: Embed drawing as an SVG image into the markdown preview.
Toggle OFF: Embed drawing as a PNG image. Note, that some of the image block referencing features do not work with PNG embeds.",PREVIEW_MATCH_OBSIDIAN_NAME:"Excalidraw preview to match Obsidian theme",PREVIEW_MATCH_OBSIDIAN_DESC:"Image preview in documents should match the Obsidian theme. If enabled, when Obsidian is in dark mode, Excalidraw images will render in dark mode. When Obsidian is in light mode, Excalidraw will render light mode as well. You may want to switch 'Export image with background' off for a more Obsidian-integrated look and feel.",EMBED_WIDTH_NAME:"Default width of embedded (transcluded) image",EMBED_WIDTH_DESC:"The default width of an embedded drawing. This applies to live preview edit and reading mode, as well as to hover previews. You can specify a custom width when embedding an image using the ![[drawing.excalidraw|100]] or [[drawing.excalidraw|100x100]] format.",EMBED_TYPE_NAME:"Type of file to insert into the document",EMBED_TYPE_DESC:"When you embed an image into a document using the command palette this setting will specify if Excalidraw should embed the original Excalidraw file or a PNG or an SVG copy. You need to enable auto-export PNG / SVG (see below under Export Settings) for those image types to be available in the dropdown. For drawings that do not have a a corresponding PNG or SVG readily available the command palette action will insert a broken link. You need to open the original drawing and initiate export manually. This option will not autogenerate PNG/SVG files, but will simply reference the already existing files.",EMBED_WIKILINK_NAME:"Embed SVG or PNG as Wiki link",EMBED_WIKILINK_DESC:"Toggle ON: Excalidraw will embed a [[wiki link]]. Toggle OFF: Excalidraw will embed a [markdown](link).",EXPORT_PNG_SCALE_NAME:"PNG export image scale",EXPORT_PNG_SCALE_DESC:"The size-scale of the exported PNG image",EXPORT_BACKGROUND_NAME:"Export image with background",EXPORT_BACKGROUND_DESC:"If turned off, the exported image will be transparent.",EXPORT_PADDING_NAME:"Image Padding",EXPORT_PADDING_DESC:"The padding (in pixels) around the exported SVG or PNG image. If you have curved lines close to the edge of the image they might get cropped during image export. You can increase this value to avoid cropping. You can also override this setting at a file level by adding the excalidraw-export-padding: 5 frontmatter key.",EXPORT_THEME_NAME:"Export image with theme",EXPORT_THEME_DESC:"Export the image matching the dark/light theme of your drawing. If turned off, drawings created in dark mode will appear as they would in light mode.",EXPORT_HEAD:"Auto-export Settings",EXPORT_SYNC_NAME:"Keep the .SVG and/or .PNG filenames in sync with the drawing file",EXPORT_SYNC_DESC:"When turned on, the plugin will automatically update the filename of the .SVG and/or .PNG files when the drawing in the same folder (and same name) is renamed. The plugin will also automatically delete the .SVG and/or .PNG files when the drawing in the same folder (and same name) is deleted. ",EXPORT_SVG_NAME:"Auto-export SVG",EXPORT_SVG_DESC:"Automatically create an SVG export of your drawing matching the title of your file. The plugin will save the *.SVG file in the same folder as the drawing. Embed the .svg file into your documents instead of Excalidraw making you embeds platform independent. While the auto-export switch is on, this file will get updated every time you edit the Excalidraw drawing with the matching name. You can override this setting on a file level by adding the excalidraw-autoexport frontmatter key. Valid values for this key are none,both,svg, and png",EXPORT_PNG_NAME:"Auto-export PNG",EXPORT_PNG_DESC:"Same as the auto-export SVG, but for *.PNG",EXPORT_BOTH_DARK_AND_LIGHT_NAME:"Export both dark- and light-themed image",EXPORT_BOTH_DARK_AND_LIGHT_DESC:"When enabled, Excalidraw will export two files instead of one: filename.dark.png, filename.light.png and/or filename.dark.svg and filename.light.svg
Double files will be exported both if auto-export SVG or PNG (or both) are enabled, as well as when clicking export on a single image.",COMPATIBILITY_HEAD:"Compatibility features",EXPORT_EXCALIDRAW_NAME:"Auto-export Excalidraw",EXPORT_EXCALIDRAW_DESC:"Same as the auto-export SVG, but for *.Excalidraw",SYNC_EXCALIDRAW_NAME:"Sync *.excalidraw with *.md version of the same drawing",SYNC_EXCALIDRAW_DESC:"If the modified date of the *.excalidraw file is more recent than the modified date of the *.md file then update the drawing in the .md file based on the .excalidraw file",COMPATIBILITY_MODE_NAME:"New drawings as legacy files",COMPATIBILITY_MODE_DESC:"By enabling this feature drawings you create with the ribbon icon, the command palette actions, and the file explorer are going to be all legacy *.excalidraw files. This setting will also turn off the reminder message when you open a legacy file for editing.",MATHJAX_NAME:"MathJax (LaTeX) javascript library host",MATHJAX_DESC:"If you are using LaTeX equiations in Excalidraw then the plugin needs to load a javascript library for that. Some users are unable to access certain host servers. If you are experiencing issues try changing the host here. You may need to restart Obsidian after closing settings, for this change to take effect.",NONSTANDARD_HEAD:"Non-Excalidraw.com supported features",NONSTANDARD_DESC:"These features are not available on excalidraw.com. When exporting the drawing to Excalidraw.com these features will appear different.",CUSTOM_PEN_NAME:"Number of custom pens",CUSTOM_PEN_DESC:"You will see these pens next to the Obsidian Menu on the canvas. You can customize the pens on the canvas by long-pressing the pen button.",EXPERIMENTAL_HEAD:"Experimental features",EXPERIMENTAL_DESC:"Some of these setting will not take effect immediately, only when the File Explorer is refreshed, or Obsidian restarted.",FIELD_SUGGESTER_NAME:"Enable Field Suggester",FIELD_SUGGESTER_DESC:"Field Suggester borrowed from Breadcrumbs and Templater plugins. The Field Suggester will show an autocomplete menu when you type excalidraw- or ea. with function description as hints on the individual items in the list.",FILETYPE_NAME:"Display type (✏️) for excalidraw.md files in File Explorer",FILETYPE_DESC:"Excalidraw files will receive an indicator using the emoji or text defined in the next setting.",FILETAG_NAME:"Set the type indicator for excalidraw.md files",FILETAG_DESC:"The text or emoji to display as type indicator.",INSERT_EMOJI:"Insert an emoji",LIVEPREVIEW_NAME:"Immersive image embedding in live preview editing mode",LIVEPREVIEW_DESC:"Turn this on to support image embedding styles such as ![[drawing|width|style]] in live preview editing mode. The setting will not effect the currently open documents. You need close the open documents and re-open them for the change to take effect.",ENABLE_FOURTH_FONT_NAME:"Enable fourth font option",ENABLE_FOURTH_FONT_DESC:"By turning this on, you will see a fourth font button on the properties panel for text elements. Files that use this fourth font will (partly) lose their platform independence. Depending on the custom font set in settings, they will look differently when loaded in another vault, or at a later time. Also the 4th font will display as system default font on excalidraw.com, or other Excalidraw versions.",FOURTH_FONT_NAME:"Forth font file",FOURTH_FONT_DESC:"Select a .ttf, .woff or .woff2 font file from your vault to use as the fourth font. If no file is selected, Excalidraw will use the Virgil font by default.",SCRIPT_SETTINGS_HEAD:"Settings for installed Scripts",TASKBONE_HEAD:"Taskbone Optical Character Recogntion",TASKBONE_DESC:"This is an experimental integration of optical character recognition into Excalidraw. Please note, that taskbone is an independent external service not provided by Excalidraw, nor the Excalidraw-Obsidian plugin project. The OCR service will grab legible text from freedraw lines and embedded pictures on your canvas and place the recognized text in the frontmatter of your drawing as well as onto clipboard. Having the text in the frontmatter will enable you to search in Obsidian for the text contents of these. Note, that the process of extracting the text from the image is not done locally, but via an online API. The taskbone service stores the image on its servers only as long as necessary for the text extraction. However, if this is a dealbreaker, then please don't use this feature.",TASKBONE_ENABLE_NAME:"Enable Taskbone",TASKBONE_ENABLE_DESC:"By enabling this service your agree to the Taskbone Terms and Conditions and the Privacy Policy.",TASKBONE_APIKEY_NAME:"Taskbone API Key",TASKBONE_APIKEY_DESC:"Taskbone offers a free service with a reasonable number of scans per month. If you want to use this feature more frequently, or you want to supoprt the developer of Taskbone (as you can imagine, there is no such thing as 'free', providing this awesome OCR service costs some money to the developer of Taskbone), you can purchase a paid API key from taskbone.com. In case you have purchased a key, simply overwrite this auto generated free-tier API-key with your paid key.",SELECT_FILE:"Select a file then press enter.",SELECT_FILE_WITH_OPTION_TO_SCALE:`Select a file then press ENTER, or SHIFT+${labelMETA()}+ENTER to insert at 100% scale.`,NO_MATCH:"No file matches your query.",SELECT_FILE_TO_LINK:"Select the file you want to insert the link for.",SELECT_DRAWING:"Select the image or drawing you want to insert",TYPE_FILENAME:"Type name of drawing to select.",SELECT_FILE_OR_TYPE_NEW:"Select existing drawing or type name of a new drawing then press Enter.",SELECT_TO_EMBED:"Select the drawing to insert into active document.",SELECT_MD:"Select the markdown document you want to insert",INFINITE_LOOP_WARNING:"EXCALIDRAW WARNING\nAborted loading embedded images due to infinite loop in file:\n",SCRIPT_EXECUTION_ERROR:"Script execution error. Please find error message on the developer console.",LOAD_FROM_BACKUP:"Excalidraw file was corrupted. Loading from backup file.",GOTO_FULLSCREEN:"Goto fullscreen mode",EXIT_FULLSCREEN:"Exit fullscreen mode",TOGGLE_FULLSCREEN:"Toggle fullscreen mode",OPEN_LINK_CLICK:"Navigate to selected element link",OPEN_LINK_PROPS:"Open markdown-embed properties or open link in new window"},enGB={},es={},fr={},hi={},id={},it={},ja={},ko={},nl={},no={},pl={},pt={},ptBR={},ro={},ru={},tr={},zhCN={INSTALL_SCRIPT:"安装此脚本",UPDATE_SCRIPT:"有可用更新 - 点击安装",CHECKING_SCRIPT:"检查更新中 - 点击重新安装",UNABLETOCHECK_SCRIPT:"检查更新失败 - 点击重新安装",UPTODATE_SCRIPT:"脚本已是最新 - 点击重新安装",OPEN_AS_EXCALIDRAW:"打开为 Excalidraw 绘图",TOGGLE_MODE:"在 Excalidraw 和 Markdown 模式之间切换",CONVERT_NOTE_TO_EXCALIDRAW:"转换空白笔记为 Excalidraw 绘图",CONVERT_EXCALIDRAW:"转换 *.excalidraw 为 *.md 文件",CREATE_NEW:"新建 Excalidraw 绘图",CONVERT_FILE_KEEP_EXT:"*.excalidraw => *.excalidraw.md",CONVERT_FILE_REPLACE_EXT:"*.excalidraw => *.md (兼容 Logseq)",DOWNLOAD_LIBRARY:"导出 stencil 库为 *.excalidrawlib 文件",OPEN_EXISTING_NEW_PANE:"打开已有的绘图 - 于新面板",OPEN_EXISTING_ACTIVE_PANE:"打开已有的绘图 - 于当前面板",TRANSCLUDE:"嵌入绘图(形如 ![[drawing]])到当前文档",TRANSCLUDE_MOST_RECENT:"嵌入最近编辑过的绘图(形如 ![[drawing]])到当前文档",TOGGLE_LEFTHANDED_MODE:"切换为左手模式",NEW_IN_NEW_PANE:"新建绘图 - 于新面板",NEW_IN_NEW_TAB:"新建绘图 - 于新页签",NEW_IN_ACTIVE_PANE:"新建绘图 - 于当前面板",NEW_IN_POPOUT_WINDOW:"新建绘图 - 于新窗口",NEW_IN_NEW_PANE_EMBED:"新建绘图 - 于新面板 - 并将其嵌入(形如 ![[drawing]])到当前文档",NEW_IN_NEW_TAB_EMBED:"新建绘图 - 于新页签 - 并将其嵌入(形如 ![[drawing]])到当前文档",NEW_IN_ACTIVE_PANE_EMBED:"新建绘图 - 于当前面板 - 并将其嵌入(形如 ![[drawing]])到当前文档",NEW_IN_POPOUT_WINDOW_EMBED:"新建绘图 - 于新窗口 - 并将其嵌入(形如 ![[drawing]])到当前文档",EXPORT_SVG:"导出 SVG 文件到当前目录",EXPORT_PNG:"导出 PNG 文件到当前目录",EXPORT_SVG_WITH_SCENE:"导出 SVG 文件(包含 Scene)到当前目录",EXPORT_PNG_WITH_SCENE:"导出 PNG 文件(包含 Scene)到当前目录",TOGGLE_LOCK:"文本元素:原文模式(RAW)⟺ 预览模式(PREVIEW)",DELETE_FILE:"从库中删除所选图像(或 MD-Embed)的源文件",INSERT_LINK_TO_ELEMENT:`复制所选元素的内部链接(形如 [[file#^elementID]])。\n按住 ${labelCTRL()} 可复制元素所在分组的内部链接(形如 [[file#^group=elementID]])。\n按住 SHIFT 可复制所选元素周围区域的内部链接(形如 [[file#^area=elementID]])。\n按住 ${labelALT()} 可观看视频演示。`,INSERT_LINK_TO_ELEMENT_GROUP:"复制所选元素所在分组的内部链接(形如 [[file#^group=elementID]])",INSERT_LINK_TO_ELEMENT_AREA:"复制所选元素周围区域的内部链接(形如 [[file#^area=elementID]])",INSERT_LINK_TO_ELEMENT_NORMAL:"复制所选元素的内部链接(形如 [[file#^elementID]])",INSERT_LINK_TO_ELEMENT_ERROR:"未选择画布里的单个元素",INSERT_LINK_TO_ELEMENT_READY:"链接已生成并复制到剪贴板",INSERT_LINK:"插入文件的内部链接(形如 [[drawing]])到当前绘图",INSERT_IMAGE:"插入图像(以图像形式嵌入)到当前绘图",IMPORT_SVG:"插入 SVG 矢量图形到当前绘图(支持有限,尚不支持文本)",INSERT_MD:"插入 Markdown 文档(以图像形式嵌入)到当前绘图",INSERT_LATEX:`插入 LaTeX 公式到当前绘图。按住 ${labelALT()} 可观看视频演示。`,ENTER_LATEX:"输入 LaTeX 表达式",READ_RELEASE_NOTES:"阅读本插件的更新说明",RUN_OCR:"OCR 识别涂鸦和图片里的文本并复制到剪贴板",TRAY_MODE:"绘图工具属性页:面板模式 ⟺ 托盘模式",SEARCH:"搜索文本",RESET_IMG_TO_100:"重设图像元素的尺寸为 100%",TEMPORARY_DISABLE_AUTOSAVE:"临时禁用自动保存功能,直到 Obsidian 退出(勿点,除非你清楚自己在干什么)",TEMPORARY_ENABLE_AUTOSAVE:"恢复启用自动保存功能",INSTALL_SCRIPT_BUTTON:"安装或更新 Excalidraw 脚本",OPEN_AS_MD:"打开为 Markdown 文件",SAVE_AS_PNG:`导出 PNG 到当前目录(按住 ${labelCTRL()} 设定导出路径;按住 SHIFT 在导出时包含 Scene)`,SAVE_AS_SVG:`导出 SVG 到当前目录(按住 ${labelCTRL()} 设定导出路径;按住 SHIFT 在导出时包含 Scene)`,OPEN_LINK:"打开所选元素里的链接 \n(按住 SHIFT 在新面板打开)",EXPORT_EXCALIDRAW:"导出为 .Excalidraw 文件",LINK_BUTTON_CLICK_NO_TEXT:"请选择一个含有链接的图形或文本元素。",FILENAME_INVALID_CHARS:'文件名不能含有以下符号: * " \\ < > : | ? #',FORCE_SAVE:"保存绘图(并更新嵌入了该绘图的面板)",RAW:"文本元素正以原文(RAW)模式显示链接。\n点击切换到预览(PREVIEW)模式",PARSED:"文本元素正以预览(PREVIEW)模式显示链接。\n点击切换到原文(RAW)模式",NOFILE:"Excalidraw(没有文件)",COMPATIBILITY_MODE:"*.excalidraw 文件正以兼容模式打开。需要转换为新格式才能使用插件的全部功能。",CONVERT_FILE:"转换为新格式",RELEASE_NOTES_NAME:"显示更新说明",RELEASE_NOTES_DESC:"开启:每次更新本插件后,显示最新发行版本的说明。
关闭:您仍可以在 GitHub 上阅读更新说明。",NEWVERSION_NOTIFICATION_NAME:"通知插件更新",NEWVERSION_NOTIFICATION_DESC:"开启:当本插件存在可用更新时,显示通知。
关闭:您需要手动检查本插件的更新(设置 - 第三方插件 - 检查更新)。",FOLDER_NAME:"Excalidraw 文件夹",FOLDER_DESC:"新绘图的默认存储路径。若为空,将在库的根目录中创建新绘图。",FOLDER_EMBED_NAME:"将 Excalidraw 文件夹用于“新建绘图”命令创建的绘图",FOLDER_EMBED_DESC:"在命令面板中执行“新建绘图”系列命令时,新绘图的存储路径。
开启:使用 Excalidraw 文件夹。
关闭:使用 Obsidian 设置的新附件默认位置。",TEMPLATE_NAME:"Excalidraw 模板文件",TEMPLATE_DESC:"Excalidraw 模板文件的完整路径。
如果您的模板在默认的 Excalidraw 文件夹中且文件名是 Template.md,则此项应设为 Excalidraw/Template.md(也可省略 .md 扩展名,即 Excalidraw/Template)。
如果您在兼容模式下使用 Excalidraw,那么您的模板文件也必须是旧的 *.excalidraw 格式,例如 Excalidraw/Template.excalidraw。",SCRIPT_FOLDER_NAME:"Excalidraw 自动化脚本的文件夹(大小写敏感!)",SCRIPT_FOLDER_DESC:"此文件夹用于存放 Excalidraw 自动化脚本。您可以在 Obsidian 命令面板中执行这些脚本,还可以为喜欢的脚本分配快捷键,就像为其他 Obsidian 命令分配快捷键一样。
该项不能设为库的根目录。",SAVING_HEAD:"保存",COMPRESS_NAME:"压缩 Excalidraw JSON",COMPRESS_DESC:"Excalidraw 绘图文件默认将元素记录为 JSON 格式。开启此项,可将元素的 JSON 数据以 BASE64 编码(使用 LZ-String 算法)。这样做的好处是:一方面可以避免原来的明文 JSON 数据干扰 Obsidian 的文本搜索结果,另一方面减小了绘图文件的体积。
当您通过功能区按钮或命令将绘图切换成 Markdown 模式时,数据将被解码回 JSON 格式以便阅读和编辑;而当您切换回 Excalidraw 模式时,数据就会被再次编码。
开启此项后,对于之前已存在的未压缩的绘图文件,需要重新打开并保存它们才能生效。",AUTOSAVE_INTERVAL_DESKTOP_NAME:"桌面端定期保存时间间隔",AUTOSAVE_INTERVAL_DESKTOP_DESC:"每隔多长时间触发一次自动保存。但如果当前绘图没有发生改变,将不会触发自动保存。当 Obsidian 应用内的焦点离开活动文档(如关闭工作空间、点击菜单栏、切换到其他页签或面板等)的时候,会触发自动保存。直接退出 Obsidian 应用(不管是终结进程还是点关闭按钮)不会触发自动保存。",AUTOSAVE_INTERVAL_MOBILE_NAME:"移动端定期保存时间间隔",AUTOSAVE_INTERVAL_MOBILE_DESC:"建议在移动端设置更短的自动保存时间间隔。当 Obsidian 应用内的焦点离开活动文档(如关闭工作空间、点击菜单栏、切换到其他页签或面板等)的时候,会触发自动保存。直接退出 Obsidian 应用(在应用切换器中划掉)不会触发自动保存。此外,当您切换到其他应用时,有时候系统会自动清理 Obsidian 后台以释放资源。这种情况下,Excalidraw 无法保存最新的变动。",FILENAME_HEAD:"文件名",FILENAME_DESC:"

点击阅读日期和时间格式参考

",FILENAME_SAMPLE:"“新建绘图”系列命令创建的文件名形如:",FILENAME_EMBED_SAMPLE:"“新建绘图并嵌入到当前文档”系列命令创建的文件名形如:",FILENAME_PREFIX_NAME:"“新建绘图”系列命令创建的文件名前缀",FILENAME_PREFIX_DESC:"执行“新建绘图”系列命令时,创建的绘图文件名的第一部分",FILENAME_PREFIX_EMBED_NAME:"“新建绘图并嵌入到当前文档”系列命令创建的文件名前缀",FILENAME_PREFIX_EMBED_DESC:"执行“新建绘图并嵌入到当前文档”系列命令时,创建的绘图文件名是否以当前文档名作为前缀?
开启:
关闭:否",FILENAME_POSTFIX_NAME:"“新建绘图并嵌入到当前文档”系列命令创建的文件名的中间部分",FILENAME_POSTFIX_DESC:"介于文件名前缀和日期时间之间的文本。仅对“新建绘图并嵌入到当前文档”系列命令创建的绘图生效。",FILENAME_DATE_NAME:"文件名里的日期时间",FILENAME_DATE_DESC:"文件名的最后一部分。允许留空。",FILENAME_EXCALIDRAW_EXTENSION_NAME:"文件扩展名(.excalidraw.md 或 .md)",FILENAME_EXCALIDRAW_EXTENSION_DESC:"该选项在兼容模式(即非 Excalidraw 专用 Markdown 文件)下不会生效。
开启:使用 .excalidraw.md 作为扩展名。
关闭:使用 .md 作为扩展名。",DISPLAY_HEAD:"显示",LEFTHANDED_MODE_NAME:"左手模式",LEFTHANDED_MODE_DESC:"目前只在托盘模式下生效。若开启此项,则托盘(绘图工具属性页)将位于右侧。
开启:左手模式。
关闭:右手模式。",MATCH_THEME_NAME:"使新建的绘图匹配 Obsidian 主题",MATCH_THEME_DESC:"如果 Obsidian 使用黑暗主题,新建的绘图文件也将使用黑暗主题。
但是若设置了模板,新建的绘图文件将跟随模板主题;另外,此功能不会作用于已有的绘图。
开启:跟随 Obsidian 主题风格。
关闭:跟随模板主题风格。",MATCH_THEME_ALWAYS_NAME:"使已有的绘图匹配 Obsidian 主题",MATCH_THEME_ALWAYS_DESC:"如果 Obsidian 使用黑暗主题,则绘图文件也将以黑暗主题打开;反之亦然。
开启:匹配 Obsidian 主题风格。
关闭:采用上次保存时的主题风格。",MATCH_THEME_TRIGGER_NAME:"Excalidraw 主题跟随 Obsidian 主题变化",MATCH_THEME_TRIGGER_DESC:"开启此项,则切换 Obsidian 的黑暗/明亮主题时,已打开的 Excalidraw 面板的主题会随之改变。
开启:跟随主题变化。
关闭:不跟随主题变化。",DEFAULT_OPEN_MODE_NAME:"Excalidraw 的默认运行模式",DEFAULT_OPEN_MODE_DESC:"设置 Excalidraw 的运行模式:普通模式(Normal)/禅模式(Zen)/阅读模式(View)。
您可为某个绘图单独设置此项,方法是在其 frontmatter 中添加形如 excalidraw-default-mode: normal/zen/view 的键值对。",DEFAULT_PEN_MODE_NAME:"触控笔模式(Pen mode)",DEFAULT_PEN_MODE_DESC:"打开绘图时,是否自动开启触控笔模式?",DEFAULT_PINCHZOOM_NAME:"允许在触控笔模式下进行双指缩放",DEFAULT_PINCHZOOM_DESC:"在触控笔模式下使用自由画笔工具时,双指缩放可能造成干扰。
开启: 允许在触控笔模式下进行双指缩放
关闭: 禁止在触控笔模式下进行双指缩放",DEFAULT_WHEELZOOM_NAME:"鼠标滚轮缩放页面",DEFAULT_WHEELZOOM_DESC:`开启:鼠标滚轮为缩放页面,${labelCTRL()}+鼠标滚轮为滚动页面
关闭:鼠标滚轮为滚动页面,${labelCTRL()}+鼠标滚轮为缩放页面`,ZOOM_TO_FIT_NAME:"调节面板尺寸后自动缩放页面",ZOOM_TO_FIT_DESC:"调节面板尺寸后,自适应地缩放页面
开启:自动缩放。
关闭:禁用自动缩放。",ZOOM_TO_FIT_ONOPEN_NAME:"打开绘图时自动缩放页面",ZOOM_TO_FIT_ONOPEN_DESC:"打开绘图文件时,自适应地缩放页面
开启:自动缩放。
关闭:禁用自动缩放。",ZOOM_TO_FIT_MAX_LEVEL_NAME:"自动缩放的最高级别",ZOOM_TO_FIT_MAX_LEVEL_DESC:"自动缩放画布时,允许放大的最高级别。该值不能低于 0.5(50%)且不能超过 10(1000%)。",LINKS_HEAD:"链接(Links) & 以文本形式嵌入到绘图中的文档(Transclusion)",LINKS_DESC:`按住 ${labelCTRL()} 并点击包含 [[链接]] 的文本元素可以打开其中的链接。如果所选文本元素包含多个 [[有效的内部链接]] ,只会打开第一个链接;如果所选文本元素包含有效的 URL 链接 (如 https://http://),插件会在浏览器中打开链接。
链接的源文件被重命名时,绘图中相应的 [[内部链接]] 也会同步更新。若您不愿绘图中的链接外观因此而变化,可使用 [[内部链接|别名]]。`,ADJACENT_PANE_NAME:"在相邻面板中打开",ADJACENT_PANE_DESC:`按住 ${labelCTRL()}+SHIFT 并点击绘图里的内部链接时,插件默认会在新面板中打开该链接。
若开启此项,Excalidraw 会先尝试寻找已有的相邻面板(按照右侧、左侧、上方、下方的顺序),并在其中打开该链接。如果找不到,再在新面板中打开。`,MAINWORKSPACE_PANE_NAME:"在主工作区中打开",MAINWORKSPACE_PANE_DESC:`按住 ${labelCTRL()}+SHIFT 并点击绘图里的内部链接时,插件默认会在当前窗口的新面板中打开该链接。
若开启此项,Excalidraw 会在主工作区的面板中打开该链接。`,LINK_BRACKETS_NAME:"在链接的两侧显示 [[中括号]]",LINK_BRACKETS_DESC:"文本元素处于预览(PREVIEW)模式时,在内部链接的两侧显示中括号。
您可为某个绘图单独设置此项,方法是在其 frontmatter 中添加形如 excalidraw-link-brackets: true/false 的键值对。",LINK_PREFIX_NAME:"内部链接的前缀",LINK_PREFIX_DESC:'文本元素处于预览(PREVIEW)模式时,如果其中包含链接,则添加此前缀。
您可为某个绘图单独设置此项,方法是在其 frontmatter 中添加形如 excalidraw-link-prefix: "📍 " 的键值对。',URL_PREFIX_NAME:"外部链接的前缀",URL_PREFIX_DESC:'文本元素处于预览(PREVIEW)模式时,如果其中包含外部链接,则添加此前缀。
您可为某个绘图单独设置此项,方法是在其 frontmatter 中添加形如 excalidraw-url-prefix: "🌐 " 的键值对。',PARSE_TODO_NAME:"待办任务(Todo)",PARSE_TODO_DESC:"将文本元素中的 - [ ]- [x] 前缀显示为方框。",TODO_NAME:"未完成项目",TODO_DESC:"未完成的待办项目的符号",DONE_NAME:"已完成项目",DONE_DESC:"已完成的待办项目的符号",HOVERPREVIEW_NAME:"鼠标悬停预览内部链接",HOVERPREVIEW_DESC:`开启:在 Excalidraw 阅读模式(View)下,鼠标悬停在 [[内部链接]] 上即可预览;而在普通模式(Normal)下, 鼠标悬停在内部链接右上角的蓝色标识上即可预览。
关闭:鼠标悬停在 [[内部链接]] 上,并且按住 ${labelCTRL()} 才能预览。`,LINKOPACITY_NAME:"链接标识的透明度",LINKOPACITY_DESC:"含有链接的元素,其右上角的链接标识的透明度。介于 0(全透明)到 1(不透明)之间。",LINK_CTRL_CLICK_NAME:`按住 ${labelCTRL()} 并点击含有 [[链接]] 或 [别名](链接) 的文本来打开链接`,LINK_CTRL_CLICK_DESC:"如果此功能影响到您使用某些原版 Excalidraw 功能,可将其关闭。关闭后,您只能通过绘图面板标题栏中的链接按钮来打开链接。",TRANSCLUSION_WRAP_NAME:"Transclusion 的折行方式",TRANSCLUSION_WRAP_DESC:"中的 number 表示嵌入的文本溢出时,在第几个字符处进行折行。
此开关控制具体的折行方式。若开启,则严格在 number 处折行,禁止溢出;若关闭,则允许在 number 位置后最近的空格处折行。",TRANSCLUSION_DEFAULT_WRAP_NAME:"Transclusion 的默认折行位置",TRANSCLUSION_DEFAULT_WRAP_DESC:"除了通过 ![[doc#^block]]{number} 中的 number 来控制折行位置,您也可以在此设置 number 的默认值。
一般设为 0 即可,表示不设置固定的默认值,这样当您需要嵌入文档到便签中时,Excalidraw 能更好地帮您自动处理。",PAGE_TRANSCLUSION_CHARCOUNT_NAME:"Transclusion 的最大显示字符数",PAGE_TRANSCLUSION_CHARCOUNT_DESC:"以 ![[内部链接]]![](内部链接) 的形式将文档以文本形式嵌入到绘图中时,该文档在绘图中可显示的最大字符数量。",QUOTE_TRANSCLUSION_REMOVE_NAME:"隐藏 Transclusion 行首的引用符号",QUOTE_TRANSCLUSION_REMOVE_DESC:"不显示 Transclusion 中每一行行首的 > 符号,以提高纯文本 Transclusion 的可读性。
开启:隐藏 > 符号
关闭:不隐藏 > 符号(注意,由于 Obsidian API 的原因,首行行首的 > 符号不会被隐藏)",GET_URL_TITLE_NAME:"使用 iframly 获取页面标题",GET_URL_TITLE_DESC:"拖放链接到 Excalidraw 时,使用 http://iframely.server.crestify.com/iframely?url= 来获取页面的标题。",MD_HEAD:"以图像形式嵌入到绘图中的 Markdown 文档(MD-Embed)",MD_HEAD_DESC:`您还可以将 Markdown 文档以图像形式(而非文本形式)嵌入到绘图中。方法是按住 ${labelCTRL()} 并从文件管理器中把文档拖入绘图,或者执行“以图像形式嵌入”系列命令。`,MD_TRANSCLUDE_WIDTH_NAME:"MD-Embed 的默认宽度",MD_TRANSCLUDE_WIDTH_DESC:"MD-Embed 的宽度。该选项会影响到折行,以及图像元素的宽度。
您可为绘图中的某个 MD-Embed 单独设置此项,方法是将绘图切换至 Markdown 模式,并修改相应的 [[Embed文件名#标题|宽度x最大高度]]。",MD_TRANSCLUDE_HEIGHT_NAME:"MD-Embed 的默认最大高度",MD_TRANSCLUDE_HEIGHT_DESC:"MD-Embed 的高度取决于 Markdown 文档内容的多少,但最大不会超过该值。
您可为绘图中的某个 MD-Embed 单独设置此项,方法是将绘图切换至 Markdown 模式,并修改相应的 [[Embed文件名#^块引ID|宽度x最大高度]]。",MD_DEFAULT_FONT_NAME:"MD-Embed 的默认字体",MD_DEFAULT_FONT_DESC:"可以设为 VirgilCasadia 或其他有效的 .ttf/.woff/.woff2 字体文件(如 我的字体.woff2)。
您可为某个 MD-Embed 单独设置此项,方法是在其源文件的 frontmatter 中添加形如 excalidraw-font: 字体名或文件名 的键值对。",MD_DEFAULT_COLOR_NAME:"MD-Embed 的默认文本颜色",MD_DEFAULT_COLOR_DESC:"可以填写 HTML 颜色名,如 steelblue(参考 HTML Color Names),或者有效的 16 进制颜色值,例如 #e67700,或者任何其他有效的 CSS 颜色。
您可为某个 MD-Embed 单独设置此项,方法是在其源文件的 frontmatter 中添加形如 excalidraw-font-color: steelblue 的键值对。",MD_DEFAULT_BORDER_COLOR_NAME:"MD-Embed 的默认边框颜色",MD_DEFAULT_BORDER_COLOR_DESC:"可以填写 HTML 颜色名,如 steelblue(参考 HTML Color Names),或者有效的 16 进制颜色值,例如 #e67700,或者任何其他有效的 CSS 颜色。
您可为某个 MD-Embed 单独设置此项,方法是在其源文件的 frontmatter 中添加形如 excalidraw-border-color: gray 的键值对。
如果您不想要边框,请留空。",MD_CSS_NAME:"MD-Embed 的默认 CSS 样式表",MD_CSS_DESC:"MD-Embed 图像所采用的 CSS 样式表文件名。需包含扩展名,例如 md-embed.css。允许使用 Markdown 文件(如 md-embed-css.md),但其内容应符合 CSS 语法。
如果您要查询 CSS 所作用的 HTML 节点,请在 Obsidian 开发者控制台(CTRL+SHIFT+i)中键入命令:ExcalidrawAutomate.mostRecentMarkdownSVG —— 这将显示 Excalidraw 最近生成的 SVG。
此外,在 CSS 中不能任意地设置字体,您一般只能使用系统默认的标准字体(详见 README),但可以通过上面的设置来额外添加一个自定义字体。
您可为某个 MD-Embed 单独设置此项,方法是在其源文件的 frontmatter 中添加形如 excalidraw-css: 库中的CSS文件或CSS片段 的键值对。",EMBED_HEAD:"嵌入到文档中的绘图(Embed) & 导出",EMBED_REUSE_EXPORTED_IMAGE_NAME:"将之前已导出的图像作为 Embed 的预览图(如果存在的话)",EMBED_REUSE_EXPORTED_IMAGE_DESC:"该选项与“自动导出 SVG/PNG 副本”选项配合使用。如果存在文件名相匹配的 SVG/PNG 副本,则将其作为 Embed 的预览图,而不再重新生成预览图。
该选项能够提高性能,尤其是当 Embed 中含有大量图像或 MD-Embed 时。但是,该选项也可能导致预览图无法立即响应你最新的修改,或者你对 Obsidian 主题风格的改变。
该选项仅作用于嵌入到文档中的绘图。由于种种原因,该技术无法用于加快绘图文件的打开速度。详见此说明。",EMBED_PREVIEW_SVG_NAME:"生成 SVG 格式的 Embed 预览图",EMBED_PREVIEW_SVG_DESC:"开启:在 Markdown 预览模式下,为 Embed 生成 SVG 格式的预览图。
关闭:为 Embed 生成 PNG 格式的预览图。注意:PNG 格式预览图不支持某些 绘图元素的块引用特性。",PREVIEW_MATCH_OBSIDIAN_NAME:"Embed 预览图匹配 Obsidian 主题",PREVIEW_MATCH_OBSIDIAN_DESC:"开启此项,则当 Obsidian 处于黑暗模式时,Embed 的预览图也会以黑暗模式渲染;当 Obsidian 处于明亮模式时,预览图也会以明亮模式渲染。
您可能还需要关闭“导出的图像包含背景”开关,来获得与 Obsidian 更加协调的观感。",EMBED_WIDTH_NAME:"Embed 预览图的默认宽度",EMBED_WIDTH_DESC:"该选项同时作用于 Obsidian 实时预览模式下的编辑视图和阅读视图,以及鼠标悬停时浮现的预览图。
您可为某个要嵌入到文档中的绘图(Embed)单独设置此项,方法是修改相应的链接格式为形如 ![[drawing.excalidraw|100]][[drawing.excalidraw|100x100]] 的格式。",EMBED_TYPE_NAME:"“嵌入绘图到当前文档”系列命令的源文件类型",EMBED_TYPE_DESC:"在命令面板中执行“嵌入绘图到当前文档”系列命令时,要嵌入绘图文件本身,还是嵌入其 PNG 或 SVG 副本。
如果您想选择 PNG 或 SVG 副本,需要先开启下方的“自动导出 PNG 副本”或“自动导出 SVG 副本”开关。
如果您选择了 PNG 或 SVG 副本,当副本不存在时,该命令将会插入一条损坏的链接,您需要打开绘图文件并手动导出副本才能修复 —— 也就是说,该选项不会自动帮您生成 PNG/SVG 副本,而只会引用已有的 PNG/SVG 副本。",EMBED_WIKILINK_NAME:"“嵌入绘图到当前文档”命令产生的内部链接类型",EMBED_WIKILINK_DESC:"开启:将产生 ![[Wiki 链接]]关闭:将产生 ![](Markdown 链接)。",EXPORT_PNG_SCALE_NAME:"导出的 PNG 图像的比例",EXPORT_PNG_SCALE_DESC:"导出的 PNG 图像的大小比例",EXPORT_BACKGROUND_NAME:"导出的图像包含背景",EXPORT_BACKGROUND_DESC:"如果关闭,将导出透明背景的图像。",EXPORT_PADDING_NAME:"导出的图像的空白边距",EXPORT_PADDING_DESC:"导出的 SVG/PNG 图像四周的空白边距(单位:像素)。
增加该值,可以避免在导出图像时,靠近图像边缘的图形被裁掉。
您可为某个绘图单独设置此项,方法是在其 frontmatter 中添加形如 excalidraw-export-padding: 5 的键值对。",EXPORT_THEME_NAME:"导出的图像包含主题",EXPORT_THEME_DESC:"导出与绘图的黑暗/明亮主题匹配的图像。如果关闭,在黑暗主题下导出的图像将和明亮主题一样。",EXPORT_HEAD:"导出设置",EXPORT_SYNC_NAME:"保持 SVG/PNG 文件名与绘图文件同步",EXPORT_SYNC_DESC:"打开后,当绘图文件被重命名时,插件将同步更新同文件夹下的同名 .SVG 和 .PNG 文件。当绘图文件被删除时,插件将自动删除同文件夹下的同名 .SVG 和 .PNG 文件。",EXPORT_SVG_NAME:"自动导出 SVG 副本",EXPORT_SVG_DESC:"自动导出和绘图文件同名的 SVG 副本。插件会将副本保存到绘图文件所在的文件夹中。在文档中嵌入这个 SVG 文件,相比直接嵌入绘图文件,具有更强的跨平台能力。
此开关开启时,每次您编辑 Excalidraw 绘图,其 SVG 文件副本都会同步更新。
您可为某个绘图单独设置此项,方法是在其 frontmatter 中添加形如 excalidraw-autoexport: none/both/svg/png的键值对",EXPORT_PNG_NAME:"自动导出 PNG 副本",EXPORT_PNG_DESC:"和“自动导出 SVG 副本”类似,但是导出格式为 *.PNG。",EXPORT_BOTH_DARK_AND_LIGHT_NAME:"同时导出黑暗和明亮风格的图像",EXPORT_BOTH_DARK_AND_LIGHT_DESC:"若开启,Excalidraw 将导出两个文件:filename.dark.png(或 filename.dark.svg)和 filename.light.png(或 filename.light.svg)。
该选项可作用于“自动导出 SVG 副本”、“自动导出 PNG 副本”,以及其他的手动的导出命令。",COMPATIBILITY_HEAD:"兼容性设置",EXPORT_EXCALIDRAW_NAME:"自动导出 Excalidraw 旧格式副本",EXPORT_EXCALIDRAW_DESC:"和“自动导出 SVG 副本”类似,但是导出格式为 *.excalidraw。",SYNC_EXCALIDRAW_NAME:"新旧格式绘图文件的内容保持同步",SYNC_EXCALIDRAW_DESC:"如果旧格式(*.excalidraw)绘图文件的修改日期比新格式(*.md)更新,则根据旧格式文件的内容来更新新格式文件。",COMPATIBILITY_MODE_NAME:"以旧格式创建新绘图",COMPATIBILITY_MODE_DESC:"开启此功能后,您通过功能区按钮、命令面板、文件浏览器等创建的绘图都将是旧格式(*.excalidraw)。此外,您打开旧格式绘图文件时将不再收到提醒消息。",MATHJAX_NAME:"MathJax (LaTeX) 的 javascript 库服务器",MATHJAX_DESC:"如果您在绘图中使用 LaTeX,插件需要从服务器获取并加载一个 javascript 库。如果您的网络无法访问某些库服务器,可以尝试通过此选项更换库服务器。更改此选项后,您可能需要重启 Obsidian 来使其生效。",NONSTANDARD_HEAD:"非 Excalidraw.com 官方支持的特性",NONSTANDARD_DESC:"这些特性不受 Excalidraw.com 官方支持。当导出绘图到 Excalidraw.com 时,这些特性将会发生变化。",CUSTOM_PEN_NAME:"自定义画笔的数量",CUSTOM_PEN_DESC:"在画布上的 Obsidian 菜单旁边切换自定义画笔。长按画笔按钮可以修改其样式。",EXPERIMENTAL_HEAD:"实验性功能",EXPERIMENTAL_DESC:"以下部分设置不会立即生效,需要刷新文件资源管理器或者重启 Obsidian 才会生效。",FIELD_SUGGESTER_NAME:"开启字段建议",FIELD_SUGGESTER_DESC:"开启后,当您在编辑器中输入 excalidraw- 或者 ea. 时,会弹出一个带有函数说明的自动补全提示菜单。
该功能借鉴了 Breadcrumbs 和 Templater 插件。",FILETYPE_NAME:"在文件浏览器中为 excalidraw.md 文件添加类型标识符(如 ✏️)",FILETYPE_DESC:"可通过下一项设置来自定义类型标识符。",FILETAG_NAME:"excalidraw.md 文件的类型标识符",FILETAG_DESC:"要显示为类型标识符的 emoji 或文本。",INSERT_EMOJI:"插入 emoji",LIVEPREVIEW_NAME:"嵌入绘图到文档时,模拟嵌入图像的语法",LIVEPREVIEW_DESC:"开启此项,则可在 Obsidian 实时预览模式的编辑视图下,用形如 ![[绘图|宽度|样式]] 的语法来嵌入绘图。
该选项不会在已打开的文档中立刻生效 —— 你需要重新打开此文档来使其生效。",ENABLE_FOURTH_FONT_NAME:"为文本元素启用本地字体",ENABLE_FOURTH_FONT_DESC:"开启此项后,文本元素的属性面板里会多出一个本地字体按钮。
使用了本地字体的绘图文件,将会失去一部分跨平台能力 —— 若将绘图文件移动到其他库中打开,显示效果可能会截然不同;若在 excalidraw.com 或者其他版本的 Excalidraw 中打开,使用本地字体的文本会变回系统默认字体。",FOURTH_FONT_NAME:"本地字体文件",FOURTH_FONT_DESC:"选择库文件夹中的一个 .ttf, .woff 或 .woff2 字体文件作为本地字体文件。若未选择文件,则使用默认的 Virgil 字体。",SCRIPT_SETTINGS_HEAD:"已安装脚本的设置",TASKBONE_HEAD:"Taskbone OCR(光学符号识别)",TASKBONE_DESC:"这是一个将 OCR 融入 Excalidraw 的实验性功能。请注意,Taskbone 是一项独立的外部服务,而不是由 Excalidraw 或 Obsidian-excalidraw-plugin 项目提供的。OCR 能够对画布上用自由画笔工具写下的涂鸦或者嵌入的图像进行文本识别,并将识别出来的文本写入绘图文件的 frontmatter,同时复制到剪贴板。之所以要写入 frontmatter 是为了便于您在 Obsidian 中能够搜索到这些文本。注意,识别的过程不是在本地进行的,而是通过在线 API,图像会被上传到 taskbone 的服务器(仅用于识别目的)。如果您对此敏感,请不要使用这个功能。",TASKBONE_ENABLE_NAME:"启用 Taskbone",TASKBONE_ENABLE_DESC:"启用这个功能意味着你同意 Taskbone 条款及细则 以及 隐私政策.",TASKBONE_APIKEY_NAME:"Taskbone API Key",TASKBONE_APIKEY_DESC:"Taskbone 的免费 API key 提供了一定数量的每月识别次数。如果您非常频繁地使用此功能,或者想要支持 Taskbone 的开发者(您懂的,没有人能用爱发电,Taskbone 开发者也需要投入资金才能持续运行这项 OCR 服务)您可以到 taskbone.com 购买一个商用 API key。购买后请将它填写到旁边这个文本框里,替换掉原本自动生成的免费 API key。",SELECT_FILE:"选择一个文件后按回车。",SELECT_FILE_WITH_OPTION_TO_SCALE:`选择一个文件后按回车,或者 SHIFT+${labelMETA()}+ENTER 以 100% 尺寸插入。`,NO_MATCH:"查询不到匹配的文件。",SELECT_FILE_TO_LINK:"选择要插入(链接)到当前绘图中的文件。",SELECT_DRAWING:"选择要插入(以图像形式嵌入)到当前绘图中的图像。",TYPE_FILENAME:"键入要选择的绘图名称。",SELECT_FILE_OR_TYPE_NEW:"选择已有绘图,或者新绘图的类型,然后按回车。",SELECT_TO_EMBED:"选择要插入(嵌入)到当前文档中的绘图。",SELECT_MD:"选择要插入(以图像形式嵌入)到当前绘图中的 Markdown 文档。",INFINITE_LOOP_WARNING:"EXCALIDRAW 警告\n停止加载嵌入的图像,因为此文件中存在死循环:\n",SCRIPT_EXECUTION_ERROR:"脚本运行错误。请在开发者控制台中查看错误信息。",LOAD_FROM_BACKUP:"Excalidraw 文件已损坏。尝试从备份文件中加载。",GOTO_FULLSCREEN:"进入全屏模式",EXIT_FULLSCREEN:"退出全屏模式",TOGGLE_FULLSCREEN:"切换全屏模式",OPEN_LINK_CLICK:"打开所选的图形或文本元素里的链接",OPEN_LINK_PROPS:"编辑所选 MD-Embed 的内部链接,或者打开所选的图形或文本元素里的链接"},zhTW={};const localeMap={ar:ar,cs:cz,da:da,de:de,en:en,"en-gb":enGB,es:es,fr:fr,hi:hi,id:id,it:it,ja:ja,ko:ko,nl:nl,nn:no,pl:pl,pt:pt,"pt-br":ptBR,ro:ro,ru:ru,tr:tr,"zh-cn":zhCN,"zh-tw":zhTW},locale=localeMap[obsidian_module.moment.locale()];function t$d(e){return locale||errorlog({where:"helpers.t",message:"Error: Excalidraw locale not found",locale:obsidian_module.moment.locale()}),locale&&locale[e]||en[e]}var html2canvasExports={},html2canvas$1={get exports(){return html2canvasExports},set exports(e){html2canvasExports=e}};html2canvas$1.exports=function(){ /*! ***************************************************************************** Copyright (c) Microsoft Corporation. @@ -16,6 +16,6 @@ const EXCALIDRAW_PACKAGES = "PQKhCgAIUgBAbAlgYwKYDsDOrICVUCGyALlDAE6EkB0ADuQPYAm ***************************************************************************** */ var e=function(A,t){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,A){e.__proto__=A}||function(e,A){for(var t in A)Object.prototype.hasOwnProperty.call(A,t)&&(e[t]=A[t])},e(A,t)};function A(A,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function i(){this.constructor=A}e(A,t),A.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}var t=function(){return t=Object.assign||function(e){for(var A,t=1,i=arguments.length;t0&&n[n.length-1])||6!==a[0]&&2!==a[0])){r=0;continue}if(3===a[0]&&(!n||a[1]>n[0]&&a[1]=55296&&n<=56319&&t>10),r%1024+56320)),(n+1===t||i.length>16384)&&(a+=String.fromCharCode.apply(String,i),i.length=0)}return a},c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",d="undefined"==typeof Uint8Array?[]:new Uint8Array(256),h=0;h=0){if(e<55296||e>56319&&e<=65535)return A=((A=this.index[e>>5])<<2)+(31&e),this.data[A];if(e<=65535)return A=((A=this.index[2048+(e-55296>>5)])<<2)+(31&e),this.data[A];if(e>11),A=this.index[A],A+=e>>5&63,A=((A=this.index[A])<<2)+(31&e),this.data[A];if(e<=1114111)return this.data[this.highValueIndex]}return this.errorValue},e}(),f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",B="undefined"==typeof Uint8Array?[]:new Uint8Array(256),E=0;E>4,c[o++]=(15&i)<<4|n>>2,c[o++]=(3&n)<<6|63&a;return l}(e),r=Array.isArray(a)?function(e){for(var A=e.length,t=[],i=0;i0;){var r=i[--a];if(Array.isArray(e)?-1!==e.indexOf(r):e===r)for(var s=t;s<=i.length;){var o;if((o=i[++s])===A)return!0;if(o!==b)break}if(r!==b)break}return!1},ie=function(e,A){for(var t=e;t>=0;){var i=A[t];if(i!==b)return i;t--}return 0},ne=function(e,A,t,i,n){if(0===t[i])return z;var a=i-1;if(Array.isArray(n)&&!0===n[a])return z;var r=a-1,s=a+1,o=A[a],l=r>=0?A[r]:0,c=A[s];if(2===o&&3===c)return z;if(-1!==Z.indexOf(o))return"!";if(-1!==Z.indexOf(c))return z;if(-1!==q.indexOf(c))return z;if(8===ie(a,A))return Y;if(11===j.get(e[a]))return z;if((o===N||o===D)&&11===j.get(e[s]))return z;if(7===o||7===c)return z;if(9===o)return z;if(-1===[b,C,v].indexOf(o)&&9===c)return z;if(-1!==[y,F,x,U,L].indexOf(c))return z;if(ie(a,A)===I)return z;if(te(23,I,a,A))return z;if(te([y,F],S,a,A))return z;if(te(12,12,a,A))return z;if(o===b)return Y;if(23===o||23===c)return z;if(16===c||16===o)return Y;if(-1!==[C,v,S].indexOf(c)||14===o)return z;if(36===l&&-1!==Ae.indexOf(o))return z;if(o===L&&36===c)return z;if(c===T)return z;if(-1!==J.indexOf(c)&&o===Q||-1!==J.indexOf(o)&&c===Q)return z;if(o===M&&-1!==[P,N,D].indexOf(c)||-1!==[P,N,D].indexOf(o)&&c===k)return z;if(-1!==J.indexOf(o)&&-1!==_.indexOf(c)||-1!==_.indexOf(o)&&-1!==J.indexOf(c))return z;if(-1!==[M,k].indexOf(o)&&(c===Q||-1!==[I,v].indexOf(c)&&A[s+1]===Q)||-1!==[I,v].indexOf(o)&&c===Q||o===Q&&-1!==[Q,L,U].indexOf(c))return z;if(-1!==[Q,L,U,y,F].indexOf(c))for(var d=a;d>=0;){if((h=A[d])===Q)return z;if(-1===[L,U].indexOf(h))break;d--}if(-1!==[M,k].indexOf(c))for(d=-1!==[y,F].indexOf(o)?r:a;d>=0;){var h;if((h=A[d])===Q)return z;if(-1===[L,U].indexOf(h))break;d--}if(V===o&&-1!==[V,K,H,R].indexOf(c)||-1!==[K,H].indexOf(o)&&-1!==[K,G].indexOf(c)||-1!==[G,R].indexOf(o)&&c===G)return z;if(-1!==ee.indexOf(o)&&-1!==[T,k].indexOf(c)||-1!==ee.indexOf(c)&&o===M)return z;if(-1!==J.indexOf(o)&&-1!==J.indexOf(c))return z;if(o===U&&-1!==J.indexOf(c))return z;if(-1!==J.concat(Q).indexOf(o)&&c===I&&-1===X.indexOf(e[s])||-1!==J.concat(Q).indexOf(c)&&o===F)return z;if(41===o&&41===c){for(var u=t[a],g=1;u>0&&41===A[--u];)g++;if(g%2!=0)return z}return o===N&&c===D?z:Y},ae=function(e,A){A||(A={lineBreak:"normal",wordBreak:"normal"});var t=function(e,A){void 0===A&&(A="strict");var t=[],i=[],n=[];return e.forEach((function(e,a){var r=j.get(e);if(r>50?(n.push(!0),r-=50):n.push(!1),-1!==["normal","auto","loose"].indexOf(A)&&-1!==[8208,8211,12316,12448].indexOf(e))return i.push(a),t.push(16);if(4===r||11===r){if(0===a)return i.push(a),t.push(O);var s=t[a-1];return-1===$.indexOf(s)?(i.push(i[a-1]),t.push(s)):(i.push(a),t.push(O))}return i.push(a),31===r?t.push("strict"===A?S:P):r===W||29===r?t.push(O):43===r?e>=131072&&e<=196605||e>=196608&&e<=262141?t.push(P):t.push(O):void t.push(r)})),[i,t,n]}(e,A.lineBreak),i=t[0],n=t[1],a=t[2];"break-all"!==A.wordBreak&&"break-word"!==A.wordBreak||(n=n.map((function(e){return-1!==[Q,O,W].indexOf(e)?P:e})));var r="keep-all"===A.wordBreak?a.map((function(A,t){return A&&e[t]>=19968&&e[t]<=40959})):void 0;return[i,n,r]},re=function(){function e(e,A,t,i){this.codePoints=e,this.required="!"===A,this.start=t,this.end=i}return e.prototype.slice=function(){return l.apply(void 0,this.codePoints.slice(this.start,this.end))},e}(),se=45,oe=43,le=-1,ce=function(e){return e>=48&&e<=57},de=function(e){return ce(e)||e>=65&&e<=70||e>=97&&e<=102},he=function(e){return 10===e||9===e||32===e},ue=function(e){return function(e){return function(e){return e>=97&&e<=122}(e)||function(e){return e>=65&&e<=90}(e)}(e)||function(e){return e>=128}(e)||95===e},ge=function(e){return ue(e)||ce(e)||e===se},pe=function(e){return e>=0&&e<=8||11===e||e>=14&&e<=31||127===e},me=function(e,A){return 92===e&&10!==A},we=function(e,A,t){return e===se?ue(A)||me(A,t):!!ue(e)||!(92!==e||!me(e,A))},fe=function(e,A,t){return e===oe||e===se?!!ce(A)||46===A&&ce(t):ce(46===e?A:e)},Be=function(e){var A=0,t=1;e[A]!==oe&&e[A]!==se||(e[A]===se&&(t=-1),A++);for(var i=[];ce(e[A]);)i.push(e[A++]);var n=i.length?parseInt(l.apply(void 0,i),10):0;46===e[A]&&A++;for(var a=[];ce(e[A]);)a.push(e[A++]);var r=a.length,s=r?parseInt(l.apply(void 0,a),10):0;69!==e[A]&&101!==e[A]||A++;var o=1;e[A]!==oe&&e[A]!==se||(e[A]===se&&(o=-1),A++);for(var c=[];ce(e[A]);)c.push(e[A++]);var d=c.length?parseInt(l.apply(void 0,c),10):0;return t*(n+s*Math.pow(10,-r))*Math.pow(10,o*d)},Ee={type:2},be={type:3},Ce={type:4},ve={type:13},ye={type:8},Fe={type:21},xe={type:9},Te={type:10},Se={type:11},Ie={type:12},Ue={type:14},Qe={type:23},ke={type:1},Me={type:25},Le={type:24},Oe={type:26},Ne={type:27},De={type:28},He={type:29},Re={type:31},Pe={type:32},Ve=function(){function e(){this._value=[]}return e.prototype.write=function(e){this._value=this._value.concat(o(e))},e.prototype.read=function(){for(var e=[],A=this.consumeToken();A!==Pe;)e.push(A),A=this.consumeToken();return e},e.prototype.consumeToken=function(){var e=this.consumeCodePoint();switch(e){case 34:return this.consumeStringToken(34);case 35:var A=this.peekCodePoint(0),t=this.peekCodePoint(1),i=this.peekCodePoint(2);if(ge(A)||me(t,i)){var n=we(A,t,i)?2:1;return{type:5,value:this.consumeName(),flags:n}}break;case 36:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),ve;break;case 39:return this.consumeStringToken(39);case 40:return Ee;case 41:return be;case 42:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),Ue;break;case oe:if(fe(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case 44:return Ce;case se:var a=e,r=this.peekCodePoint(0),s=this.peekCodePoint(1);if(fe(a,r,s))return this.reconsumeCodePoint(e),this.consumeNumericToken();if(we(a,r,s))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();if(r===se&&62===s)return this.consumeCodePoint(),this.consumeCodePoint(),Le;break;case 46:if(fe(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case 47:if(42===this.peekCodePoint(0))for(this.consumeCodePoint();;){var o=this.consumeCodePoint();if(42===o&&47===(o=this.consumeCodePoint()))return this.consumeToken();if(o===le)return this.consumeToken()}break;case 58:return Oe;case 59:return Ne;case 60:if(33===this.peekCodePoint(0)&&this.peekCodePoint(1)===se&&this.peekCodePoint(2)===se)return this.consumeCodePoint(),this.consumeCodePoint(),Me;break;case 64:var c=this.peekCodePoint(0),d=this.peekCodePoint(1),h=this.peekCodePoint(2);if(we(c,d,h))return{type:7,value:this.consumeName()};break;case 91:return De;case 92:if(me(e,this.peekCodePoint(0)))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();break;case 93:return He;case 61:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),ye;break;case 123:return Se;case 125:return Ie;case 117:case 85:var u=this.peekCodePoint(0),g=this.peekCodePoint(1);return u!==oe||!de(g)&&63!==g||(this.consumeCodePoint(),this.consumeUnicodeRangeToken()),this.reconsumeCodePoint(e),this.consumeIdentLikeToken();case 124:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),xe;if(124===this.peekCodePoint(0))return this.consumeCodePoint(),Fe;break;case 126:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),Te;break;case le:return Pe}return he(e)?(this.consumeWhiteSpace(),Re):ce(e)?(this.reconsumeCodePoint(e),this.consumeNumericToken()):ue(e)?(this.reconsumeCodePoint(e),this.consumeIdentLikeToken()):{type:6,value:l(e)}},e.prototype.consumeCodePoint=function(){var e=this._value.shift();return void 0===e?-1:e},e.prototype.reconsumeCodePoint=function(e){this._value.unshift(e)},e.prototype.peekCodePoint=function(e){return e>=this._value.length?-1:this._value[e]},e.prototype.consumeUnicodeRangeToken=function(){for(var e=[],A=this.consumeCodePoint();de(A)&&e.length<6;)e.push(A),A=this.consumeCodePoint();for(var t=!1;63===A&&e.length<6;)e.push(A),A=this.consumeCodePoint(),t=!0;if(t)return{type:30,start:parseInt(l.apply(void 0,e.map((function(e){return 63===e?48:e}))),16),end:parseInt(l.apply(void 0,e.map((function(e){return 63===e?70:e}))),16)};var i=parseInt(l.apply(void 0,e),16);if(this.peekCodePoint(0)===se&&de(this.peekCodePoint(1))){this.consumeCodePoint(),A=this.consumeCodePoint();for(var n=[];de(A)&&n.length<6;)n.push(A),A=this.consumeCodePoint();return{type:30,start:i,end:parseInt(l.apply(void 0,n),16)}}return{type:30,start:i,end:i}},e.prototype.consumeIdentLikeToken=function(){var e=this.consumeName();return"url"===e.toLowerCase()&&40===this.peekCodePoint(0)?(this.consumeCodePoint(),this.consumeUrlToken()):40===this.peekCodePoint(0)?(this.consumeCodePoint(),{type:19,value:e}):{type:20,value:e}},e.prototype.consumeUrlToken=function(){var e=[];if(this.consumeWhiteSpace(),this.peekCodePoint(0)===le)return{type:22,value:""};var A=this.peekCodePoint(0);if(39===A||34===A){var t=this.consumeStringToken(this.consumeCodePoint());return 0===t.type&&(this.consumeWhiteSpace(),this.peekCodePoint(0)===le||41===this.peekCodePoint(0))?(this.consumeCodePoint(),{type:22,value:t.value}):(this.consumeBadUrlRemnants(),Qe)}for(;;){var i=this.consumeCodePoint();if(i===le||41===i)return{type:22,value:l.apply(void 0,e)};if(he(i))return this.consumeWhiteSpace(),this.peekCodePoint(0)===le||41===this.peekCodePoint(0)?(this.consumeCodePoint(),{type:22,value:l.apply(void 0,e)}):(this.consumeBadUrlRemnants(),Qe);if(34===i||39===i||40===i||pe(i))return this.consumeBadUrlRemnants(),Qe;if(92===i){if(!me(i,this.peekCodePoint(0)))return this.consumeBadUrlRemnants(),Qe;e.push(this.consumeEscapedCodePoint())}else e.push(i)}},e.prototype.consumeWhiteSpace=function(){for(;he(this.peekCodePoint(0));)this.consumeCodePoint()},e.prototype.consumeBadUrlRemnants=function(){for(;;){var e=this.consumeCodePoint();if(41===e||e===le)return;me(e,this.peekCodePoint(0))&&this.consumeEscapedCodePoint()}},e.prototype.consumeStringSlice=function(e){for(var A="";e>0;){var t=Math.min(5e4,e);A+=l.apply(void 0,this._value.splice(0,t)),e-=t}return this._value.shift(),A},e.prototype.consumeStringToken=function(e){for(var A="",t=0;;){var i=this._value[t];if(i===le||void 0===i||i===e)return{type:0,value:A+=this.consumeStringSlice(t)};if(10===i)return this._value.splice(0,t),ke;if(92===i){var n=this._value[t+1];n!==le&&void 0!==n&&(10===n?(A+=this.consumeStringSlice(t),t=-1,this._value.shift()):me(i,n)&&(A+=this.consumeStringSlice(t),A+=l(this.consumeEscapedCodePoint()),t=-1))}t++}},e.prototype.consumeNumber=function(){var e=[],A=4,t=this.peekCodePoint(0);for(t!==oe&&t!==se||e.push(this.consumeCodePoint());ce(this.peekCodePoint(0));)e.push(this.consumeCodePoint());t=this.peekCodePoint(0);var i=this.peekCodePoint(1);if(46===t&&ce(i))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),A=8;ce(this.peekCodePoint(0));)e.push(this.consumeCodePoint());t=this.peekCodePoint(0),i=this.peekCodePoint(1);var n=this.peekCodePoint(2);if((69===t||101===t)&&((i===oe||i===se)&&ce(n)||ce(i)))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),A=8;ce(this.peekCodePoint(0));)e.push(this.consumeCodePoint());return[Be(e),A]},e.prototype.consumeNumericToken=function(){var e=this.consumeNumber(),A=e[0],t=e[1],i=this.peekCodePoint(0),n=this.peekCodePoint(1),a=this.peekCodePoint(2);return we(i,n,a)?{type:15,number:A,flags:t,unit:this.consumeName()}:37===i?(this.consumeCodePoint(),{type:16,number:A,flags:t}):{type:17,number:A,flags:t}},e.prototype.consumeEscapedCodePoint=function(){var e=this.consumeCodePoint();if(de(e)){for(var A=l(e);de(this.peekCodePoint(0))&&A.length<6;)A+=l(this.consumeCodePoint());he(this.peekCodePoint(0))&&this.consumeCodePoint();var t=parseInt(A,16);return 0===t||function(e){return e>=55296&&e<=57343}(t)||t>1114111?65533:t}return e===le?65533:e},e.prototype.consumeName=function(){for(var e="";;){var A=this.consumeCodePoint();if(ge(A))e+=l(A);else{if(!me(A,this.peekCodePoint(0)))return this.reconsumeCodePoint(A),e;e+=l(this.consumeEscapedCodePoint())}}},e}(),Ke=function(){function e(e){this._tokens=e}return e.create=function(A){var t=new Ve;return t.write(A),new e(t.read())},e.parseValue=function(A){return e.create(A).parseComponentValue()},e.parseValues=function(A){return e.create(A).parseComponentValues()},e.prototype.parseComponentValue=function(){for(var e=this.consumeToken();31===e.type;)e=this.consumeToken();if(32===e.type)throw new SyntaxError("Error parsing CSS component value, unexpected EOF");this.reconsumeToken(e);var A=this.consumeComponentValue();do{e=this.consumeToken()}while(31===e.type);if(32===e.type)return A;throw new SyntaxError("Error parsing CSS component value, multiple values found when expecting only one")},e.prototype.parseComponentValues=function(){for(var e=[];;){var A=this.consumeComponentValue();if(32===A.type)return e;e.push(A),e.push()}},e.prototype.consumeComponentValue=function(){var e=this.consumeToken();switch(e.type){case 11:case 28:case 2:return this.consumeSimpleBlock(e.type);case 19:return this.consumeFunction(e)}return e},e.prototype.consumeSimpleBlock=function(e){for(var A={type:e,values:[]},t=this.consumeToken();;){if(32===t.type||qe(t,e))return A;this.reconsumeToken(t),A.values.push(this.consumeComponentValue()),t=this.consumeToken()}},e.prototype.consumeFunction=function(e){for(var A={name:e.value,values:[],type:18};;){var t=this.consumeToken();if(32===t.type||3===t.type)return A;this.reconsumeToken(t),A.values.push(this.consumeComponentValue())}},e.prototype.consumeToken=function(){var e=this._tokens.shift();return void 0===e?Pe:e},e.prototype.reconsumeToken=function(e){this._tokens.unshift(e)},e}(),Ge=function(e){return 15===e.type},We=function(e){return 17===e.type},Xe=function(e){return 20===e.type},ze=function(e){return 0===e.type},Ye=function(e,A){return Xe(e)&&e.value===A},je=function(e){return 31!==e.type},Je=function(e){return 31!==e.type&&4!==e.type},Ze=function(e){var A=[],t=[];return e.forEach((function(e){if(4===e.type){if(0===t.length)throw new Error("Error parsing function args, zero tokens for arg");return A.push(t),void(t=[])}31!==e.type&&t.push(e)})),t.length&&A.push(t),A},qe=function(e,A){return 11===A&&12===e.type||28===A&&29===e.type||2===A&&3===e.type},_e=function(e){return 17===e.type||15===e.type},$e=function(e){return 16===e.type||_e(e)},eA=function(e){return e.length>1?[e[0],e[1]]:[e[0]]},AA={type:17,number:0,flags:4},tA={type:16,number:50,flags:4},iA={type:16,number:100,flags:4},nA=function(e,A,t){var i=e[0],n=e[1];return[aA(i,A),aA(void 0!==n?n:i,t)]},aA=function(e,A){if(16===e.type)return e.number/100*A;if(Ge(e))switch(e.unit){case"rem":case"em":return 16*e.number;default:return e.number}return e.number},rA="grad",sA="turn",oA=function(e,A){if(15===A.type)switch(A.unit){case"deg":return Math.PI*A.number/180;case rA:return Math.PI/200*A.number;case"rad":return A.number;case sA:return 2*Math.PI*A.number}throw new Error("Unsupported angle type")},lA=function(e){return 15===e.type&&("deg"===e.unit||e.unit===rA||"rad"===e.unit||e.unit===sA)},cA=function(e){switch(e.filter(Xe).map((function(e){return e.value})).join(" ")){case"to bottom right":case"to right bottom":case"left top":case"top left":return[AA,AA];case"to top":case"bottom":return dA(0);case"to bottom left":case"to left bottom":case"right top":case"top right":return[AA,iA];case"to right":case"left":return dA(90);case"to top left":case"to left top":case"right bottom":case"bottom right":return[iA,iA];case"to bottom":case"top":return dA(180);case"to top right":case"to right top":case"left bottom":case"bottom left":return[iA,AA];case"to left":case"right":return dA(270)}return 0},dA=function(e){return Math.PI*e/180},hA=function(e,A){if(18===A.type){var t=EA[A.name];if(void 0===t)throw new Error('Attempting to parse an unsupported color function "'+A.name+'"');return t(e,A.values)}if(5===A.type){if(3===A.value.length){var i=A.value.substring(0,1),n=A.value.substring(1,2),a=A.value.substring(2,3);return pA(parseInt(i+i,16),parseInt(n+n,16),parseInt(a+a,16),1)}if(4===A.value.length){i=A.value.substring(0,1),n=A.value.substring(1,2),a=A.value.substring(2,3);var r=A.value.substring(3,4);return pA(parseInt(i+i,16),parseInt(n+n,16),parseInt(a+a,16),parseInt(r+r,16)/255)}if(6===A.value.length)return i=A.value.substring(0,2),n=A.value.substring(2,4),a=A.value.substring(4,6),pA(parseInt(i,16),parseInt(n,16),parseInt(a,16),1);if(8===A.value.length)return i=A.value.substring(0,2),n=A.value.substring(2,4),a=A.value.substring(4,6),r=A.value.substring(6,8),pA(parseInt(i,16),parseInt(n,16),parseInt(a,16),parseInt(r,16)/255)}if(20===A.type){var s=CA[A.value.toUpperCase()];if(void 0!==s)return s}return CA.TRANSPARENT},uA=function(e){return 0==(255&e)},gA=function(e){var A=255&e,t=255&e>>8,i=255&e>>16,n=255&e>>24;return A<255?"rgba("+n+","+i+","+t+","+A/255+")":"rgb("+n+","+i+","+t+")"},pA=function(e,A,t,i){return(e<<24|A<<16|t<<8|Math.round(255*i)<<0)>>>0},mA=function(e,A){if(17===e.type)return e.number;if(16===e.type){var t=3===A?1:255;return 3===A?e.number/100*t:Math.round(e.number/100*t)}return 0},wA=function(e,A){var t=A.filter(Je);if(3===t.length){var i=t.map(mA),n=i[0],a=i[1],r=i[2];return pA(n,a,r,1)}if(4===t.length){var s=t.map(mA),o=(n=s[0],a=s[1],r=s[2],s[3]);return pA(n,a,r,o)}return 0};function fA(e,A,t){return t<0&&(t+=1),t>=1&&(t-=1),t<1/6?(A-e)*t*6+e:t<.5?A:t<2/3?6*(A-e)*(2/3-t)+e:e}var BA=function(e,A){var t=A.filter(Je),i=t[0],n=t[1],a=t[2],r=t[3],s=(17===i.type?dA(i.number):oA(e,i))/(2*Math.PI),o=$e(n)?n.number/100:0,l=$e(a)?a.number/100:0,c=void 0!==r&&$e(r)?aA(r,1):1;if(0===o)return pA(255*l,255*l,255*l,1);var d=l<=.5?l*(o+1):l+o-l*o,h=2*l-d,u=fA(h,d,s+1/3),g=fA(h,d,s),p=fA(h,d,s-1/3);return pA(255*u,255*g,255*p,c)},EA={hsl:BA,hsla:BA,rgb:wA,rgba:wA},bA=function(e,A){return hA(e,Ke.create(A).parseComponentValue())},CA={ALICEBLUE:4042850303,ANTIQUEWHITE:4209760255,AQUA:16777215,AQUAMARINE:2147472639,AZURE:4043309055,BEIGE:4126530815,BISQUE:4293182719,BLACK:255,BLANCHEDALMOND:4293643775,BLUE:65535,BLUEVIOLET:2318131967,BROWN:2771004159,BURLYWOOD:3736635391,CADETBLUE:1604231423,CHARTREUSE:2147418367,CHOCOLATE:3530104575,CORAL:4286533887,CORNFLOWERBLUE:1687547391,CORNSILK:4294499583,CRIMSON:3692313855,CYAN:16777215,DARKBLUE:35839,DARKCYAN:9145343,DARKGOLDENROD:3095837695,DARKGRAY:2846468607,DARKGREEN:6553855,DARKGREY:2846468607,DARKKHAKI:3182914559,DARKMAGENTA:2332068863,DARKOLIVEGREEN:1433087999,DARKORANGE:4287365375,DARKORCHID:2570243327,DARKRED:2332033279,DARKSALMON:3918953215,DARKSEAGREEN:2411499519,DARKSLATEBLUE:1211993087,DARKSLATEGRAY:793726975,DARKSLATEGREY:793726975,DARKTURQUOISE:13554175,DARKVIOLET:2483082239,DEEPPINK:4279538687,DEEPSKYBLUE:12582911,DIMGRAY:1768516095,DIMGREY:1768516095,DODGERBLUE:512819199,FIREBRICK:2988581631,FLORALWHITE:4294635775,FORESTGREEN:579543807,FUCHSIA:4278255615,GAINSBORO:3705462015,GHOSTWHITE:4177068031,GOLD:4292280575,GOLDENROD:3668254975,GRAY:2155905279,GREEN:8388863,GREENYELLOW:2919182335,GREY:2155905279,HONEYDEW:4043305215,HOTPINK:4285117695,INDIANRED:3445382399,INDIGO:1258324735,IVORY:4294963455,KHAKI:4041641215,LAVENDER:3873897215,LAVENDERBLUSH:4293981695,LAWNGREEN:2096890111,LEMONCHIFFON:4294626815,LIGHTBLUE:2916673279,LIGHTCORAL:4034953471,LIGHTCYAN:3774873599,LIGHTGOLDENRODYELLOW:4210742015,LIGHTGRAY:3553874943,LIGHTGREEN:2431553791,LIGHTGREY:3553874943,LIGHTPINK:4290167295,LIGHTSALMON:4288707327,LIGHTSEAGREEN:548580095,LIGHTSKYBLUE:2278488831,LIGHTSLATEGRAY:2005441023,LIGHTSLATEGREY:2005441023,LIGHTSTEELBLUE:2965692159,LIGHTYELLOW:4294959359,LIME:16711935,LIMEGREEN:852308735,LINEN:4210091775,MAGENTA:4278255615,MAROON:2147483903,MEDIUMAQUAMARINE:1724754687,MEDIUMBLUE:52735,MEDIUMORCHID:3126187007,MEDIUMPURPLE:2473647103,MEDIUMSEAGREEN:1018393087,MEDIUMSLATEBLUE:2070474495,MEDIUMSPRINGGREEN:16423679,MEDIUMTURQUOISE:1221709055,MEDIUMVIOLETRED:3340076543,MIDNIGHTBLUE:421097727,MINTCREAM:4127193855,MISTYROSE:4293190143,MOCCASIN:4293178879,NAVAJOWHITE:4292783615,NAVY:33023,OLDLACE:4260751103,OLIVE:2155872511,OLIVEDRAB:1804477439,ORANGE:4289003775,ORANGERED:4282712319,ORCHID:3664828159,PALEGOLDENROD:4008225535,PALEGREEN:2566625535,PALETURQUOISE:2951671551,PALEVIOLETRED:3681588223,PAPAYAWHIP:4293907967,PEACHPUFF:4292524543,PERU:3448061951,PINK:4290825215,PLUM:3718307327,POWDERBLUE:2967529215,PURPLE:2147516671,REBECCAPURPLE:1714657791,RED:4278190335,ROSYBROWN:3163525119,ROYALBLUE:1097458175,SADDLEBROWN:2336560127,SALMON:4202722047,SANDYBROWN:4104413439,SEAGREEN:780883967,SEASHELL:4294307583,SIENNA:2689740287,SILVER:3233857791,SKYBLUE:2278484991,SLATEBLUE:1784335871,SLATEGRAY:1887473919,SLATEGREY:1887473919,SNOW:4294638335,SPRINGGREEN:16744447,STEELBLUE:1182971135,TAN:3535047935,TEAL:8421631,THISTLE:3636451583,TOMATO:4284696575,TRANSPARENT:0,TURQUOISE:1088475391,VIOLET:4001558271,WHEAT:4125012991,WHITE:4294967295,WHITESMOKE:4126537215,YELLOW:4294902015,YELLOWGREEN:2597139199},vA={name:"background-clip",initialValue:"border-box",prefix:!1,type:1,parse:function(e,A){return A.map((function(e){if(Xe(e))switch(e.value){case"padding-box":return 1;case"content-box":return 2}return 0}))}},yA={name:"background-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},FA=function(e,A){var t=hA(e,A[0]),i=A[1];return i&&$e(i)?{color:t,stop:i}:{color:t,stop:null}},xA=function(e,A){var t=e[0],i=e[e.length-1];null===t.stop&&(t.stop=AA),null===i.stop&&(i.stop=iA);for(var n=[],a=0,r=0;ra?n.push(o):n.push(a),a=o}else n.push(null)}var l=null;for(r=0;re.optimumDistance)?{optimumCorner:A,optimumDistance:s}:e}),{optimumDistance:n?1/0:-1/0,optimumCorner:null}).optimumCorner},UA=function(e,A){var t=dA(180),i=[];return Ze(A).forEach((function(A,n){if(0===n){var a=A[0];if(20===a.type&&-1!==["top","left","right","bottom"].indexOf(a.value))return void(t=cA(A));if(lA(a))return void(t=(oA(e,a)+dA(270))%dA(360))}var r=FA(e,A);i.push(r)})),{angle:t,stops:i,type:1}},QA="closest-side",kA="farthest-side",MA="closest-corner",LA="farthest-corner",OA="circle",NA="ellipse",DA="cover",HA="contain",RA=function(e,A){var t=0,i=3,n=[],a=[];return Ze(A).forEach((function(A,r){var s=!0;if(0===r?s=A.reduce((function(e,A){if(Xe(A))switch(A.value){case"center":return a.push(tA),!1;case"top":case"left":return a.push(AA),!1;case"right":case"bottom":return a.push(iA),!1}else if($e(A)||_e(A))return a.push(A),!1;return e}),s):1===r&&(s=A.reduce((function(e,A){if(Xe(A))switch(A.value){case OA:return t=0,!1;case NA:return t=1,!1;case HA:case QA:return i=0,!1;case kA:return i=1,!1;case MA:return i=2,!1;case DA:case LA:return i=3,!1}else if(_e(A)||$e(A))return Array.isArray(i)||(i=[]),i.push(A),!1;return e}),s)),s){var o=FA(e,A);n.push(o)}})),{size:i,shape:t,stops:n,position:a,type:2}},PA=function(e,A){if(22===A.type){var t={url:A.value,type:0};return e.cache.addImage(A.value),t}if(18===A.type){var i=KA[A.name];if(void 0===i)throw new Error('Attempting to parse an unsupported image function "'+A.name+'"');return i(e,A.values)}throw new Error("Unsupported image type "+A.type)};var VA,KA={"linear-gradient":function(e,A){var t=dA(180),i=[];return Ze(A).forEach((function(A,n){if(0===n){var a=A[0];if(20===a.type&&"to"===a.value)return void(t=cA(A));if(lA(a))return void(t=oA(e,a))}var r=FA(e,A);i.push(r)})),{angle:t,stops:i,type:1}},"-moz-linear-gradient":UA,"-ms-linear-gradient":UA,"-o-linear-gradient":UA,"-webkit-linear-gradient":UA,"radial-gradient":function(e,A){var t=0,i=3,n=[],a=[];return Ze(A).forEach((function(A,r){var s=!0;if(0===r){var o=!1;s=A.reduce((function(e,A){if(o)if(Xe(A))switch(A.value){case"center":return a.push(tA),e;case"top":case"left":return a.push(AA),e;case"right":case"bottom":return a.push(iA),e}else($e(A)||_e(A))&&a.push(A);else if(Xe(A))switch(A.value){case OA:return t=0,!1;case NA:return t=1,!1;case"at":return o=!0,!1;case QA:return i=0,!1;case DA:case kA:return i=1,!1;case HA:case MA:return i=2,!1;case LA:return i=3,!1}else if(_e(A)||$e(A))return Array.isArray(i)||(i=[]),i.push(A),!1;return e}),s)}if(s){var l=FA(e,A);n.push(l)}})),{size:i,shape:t,stops:n,position:a,type:2}},"-moz-radial-gradient":RA,"-ms-radial-gradient":RA,"-o-radial-gradient":RA,"-webkit-radial-gradient":RA,"-webkit-gradient":function(e,A){var t=dA(180),i=[],n=1;return Ze(A).forEach((function(A,t){var a=A[0];if(0===t){if(Xe(a)&&"linear"===a.value)return void(n=1);if(Xe(a)&&"radial"===a.value)return void(n=2)}if(18===a.type)if("from"===a.name){var r=hA(e,a.values[0]);i.push({stop:AA,color:r})}else if("to"===a.name)r=hA(e,a.values[0]),i.push({stop:iA,color:r});else if("color-stop"===a.name){var s=a.values.filter(Je);if(2===s.length){r=hA(e,s[1]);var o=s[0];We(o)&&i.push({stop:{type:16,number:100*o.number,flags:o.flags},color:r})}}})),1===n?{angle:(t+dA(180))%dA(360),stops:i,type:n}:{size:3,shape:0,stops:i,position:[],type:n}}},GA={name:"background-image",initialValue:"none",type:1,prefix:!1,parse:function(e,A){if(0===A.length)return[];var t=A[0];return 20===t.type&&"none"===t.value?[]:A.filter((function(e){return Je(e)&&function(e){return!(20===e.type&&"none"===e.value||18===e.type&&!KA[e.name])}(e)})).map((function(A){return PA(e,A)}))}},WA={name:"background-origin",initialValue:"border-box",prefix:!1,type:1,parse:function(e,A){return A.map((function(e){if(Xe(e))switch(e.value){case"padding-box":return 1;case"content-box":return 2}return 0}))}},XA={name:"background-position",initialValue:"0% 0%",type:1,prefix:!1,parse:function(e,A){return Ze(A).map((function(e){return e.filter($e)})).map(eA)}},zA={name:"background-repeat",initialValue:"repeat",prefix:!1,type:1,parse:function(e,A){return Ze(A).map((function(e){return e.filter(Xe).map((function(e){return e.value})).join(" ")})).map(YA)}},YA=function(e){switch(e){case"no-repeat":return 1;case"repeat-x":case"repeat no-repeat":return 2;case"repeat-y":case"no-repeat repeat":return 3;default:return 0}};!function(e){e.AUTO="auto",e.CONTAIN="contain",e.COVER="cover"}(VA||(VA={}));var jA,JA={name:"background-size",initialValue:"0",prefix:!1,type:1,parse:function(e,A){return Ze(A).map((function(e){return e.filter(ZA)}))}},ZA=function(e){return Xe(e)||$e(e)},qA=function(e){return{name:"border-"+e+"-color",initialValue:"transparent",prefix:!1,type:3,format:"color"}},_A=qA("top"),$A=qA("right"),et=qA("bottom"),At=qA("left"),tt=function(e){return{name:"border-radius-"+e,initialValue:"0 0",prefix:!1,type:1,parse:function(e,A){return eA(A.filter($e))}}},it=tt("top-left"),nt=tt("top-right"),at=tt("bottom-right"),rt=tt("bottom-left"),st=function(e){return{name:"border-"+e+"-style",initialValue:"solid",prefix:!1,type:2,parse:function(e,A){switch(A){case"none":return 0;case"dashed":return 2;case"dotted":return 3;case"double":return 4}return 1}}},ot=st("top"),lt=st("right"),ct=st("bottom"),dt=st("left"),ht=function(e){return{name:"border-"+e+"-width",initialValue:"0",type:0,prefix:!1,parse:function(e,A){return Ge(A)?A.number:0}}},ut=ht("top"),gt=ht("right"),pt=ht("bottom"),mt=ht("left"),wt={name:"color",initialValue:"transparent",prefix:!1,type:3,format:"color"},ft={name:"direction",initialValue:"ltr",prefix:!1,type:2,parse:function(e,A){return"rtl"===A?1:0}},Bt={name:"display",initialValue:"inline-block",prefix:!1,type:1,parse:function(e,A){return A.filter(Xe).reduce((function(e,A){return e|Et(A.value)}),0)}},Et=function(e){switch(e){case"block":case"-webkit-box":return 2;case"inline":return 4;case"run-in":return 8;case"flow":return 16;case"flow-root":return 32;case"table":return 64;case"flex":case"-webkit-flex":return 128;case"grid":case"-ms-grid":return 256;case"ruby":return 512;case"subgrid":return 1024;case"list-item":return 2048;case"table-row-group":return 4096;case"table-header-group":return 8192;case"table-footer-group":return 16384;case"table-row":return 32768;case"table-cell":return 65536;case"table-column-group":return 131072;case"table-column":return 262144;case"table-caption":return 524288;case"ruby-base":return 1048576;case"ruby-text":return 2097152;case"ruby-base-container":return 4194304;case"ruby-text-container":return 8388608;case"contents":return 16777216;case"inline-block":return 33554432;case"inline-list-item":return 67108864;case"inline-table":return 134217728;case"inline-flex":return 268435456;case"inline-grid":return 536870912}return 0},bt={name:"float",initialValue:"none",prefix:!1,type:2,parse:function(e,A){switch(A){case"left":return 1;case"right":return 2;case"inline-start":return 3;case"inline-end":return 4}return 0}},Ct={name:"letter-spacing",initialValue:"0",prefix:!1,type:0,parse:function(e,A){return 20===A.type&&"normal"===A.value?0:17===A.type||15===A.type?A.number:0}};!function(e){e.NORMAL="normal",e.STRICT="strict"}(jA||(jA={}));var vt,yt={name:"line-break",initialValue:"normal",prefix:!1,type:2,parse:function(e,A){return"strict"===A?jA.STRICT:jA.NORMAL}},Ft={name:"line-height",initialValue:"normal",prefix:!1,type:4},xt=function(e,A){return Xe(e)&&"normal"===e.value?1.2*A:17===e.type?A*e.number:$e(e)?aA(e,A):A},Tt={name:"list-style-image",initialValue:"none",type:0,prefix:!1,parse:function(e,A){return 20===A.type&&"none"===A.value?null:PA(e,A)}},St={name:"list-style-position",initialValue:"outside",prefix:!1,type:2,parse:function(e,A){return"inside"===A?0:1}},It={name:"list-style-type",initialValue:"none",prefix:!1,type:2,parse:function(e,A){switch(A){case"disc":return 0;case"circle":return 1;case"square":return 2;case"decimal":return 3;case"cjk-decimal":return 4;case"decimal-leading-zero":return 5;case"lower-roman":return 6;case"upper-roman":return 7;case"lower-greek":return 8;case"lower-alpha":return 9;case"upper-alpha":return 10;case"arabic-indic":return 11;case"armenian":return 12;case"bengali":return 13;case"cambodian":return 14;case"cjk-earthly-branch":return 15;case"cjk-heavenly-stem":return 16;case"cjk-ideographic":return 17;case"devanagari":return 18;case"ethiopic-numeric":return 19;case"georgian":return 20;case"gujarati":return 21;case"gurmukhi":case"hebrew":return 22;case"hiragana":return 23;case"hiragana-iroha":return 24;case"japanese-formal":return 25;case"japanese-informal":return 26;case"kannada":return 27;case"katakana":return 28;case"katakana-iroha":return 29;case"khmer":return 30;case"korean-hangul-formal":return 31;case"korean-hanja-formal":return 32;case"korean-hanja-informal":return 33;case"lao":return 34;case"lower-armenian":return 35;case"malayalam":return 36;case"mongolian":return 37;case"myanmar":return 38;case"oriya":return 39;case"persian":return 40;case"simp-chinese-formal":return 41;case"simp-chinese-informal":return 42;case"tamil":return 43;case"telugu":return 44;case"thai":return 45;case"tibetan":return 46;case"trad-chinese-formal":return 47;case"trad-chinese-informal":return 48;case"upper-armenian":return 49;case"disclosure-open":return 50;case"disclosure-closed":return 51;default:return-1}}},Ut=function(e){return{name:"margin-"+e,initialValue:"0",prefix:!1,type:4}},Qt=Ut("top"),kt=Ut("right"),Mt=Ut("bottom"),Lt=Ut("left"),Ot={name:"overflow",initialValue:"visible",prefix:!1,type:1,parse:function(e,A){return A.filter(Xe).map((function(e){switch(e.value){case"hidden":return 1;case"scroll":return 2;case"clip":return 3;case"auto":return 4;default:return 0}}))}},Nt={name:"overflow-wrap",initialValue:"normal",prefix:!1,type:2,parse:function(e,A){return"break-word"===A?"break-word":"normal"}},Dt=function(e){return{name:"padding-"+e,initialValue:"0",prefix:!1,type:3,format:"length-percentage"}},Ht=Dt("top"),Rt=Dt("right"),Pt=Dt("bottom"),Vt=Dt("left"),Kt={name:"text-align",initialValue:"left",prefix:!1,type:2,parse:function(e,A){switch(A){case"right":return 2;case"center":case"justify":return 1;default:return 0}}},Gt={name:"position",initialValue:"static",prefix:!1,type:2,parse:function(e,A){switch(A){case"relative":return 1;case"absolute":return 2;case"fixed":return 3;case"sticky":return 4}return 0}},Wt={name:"text-shadow",initialValue:"none",type:1,prefix:!1,parse:function(e,A){return 1===A.length&&Ye(A[0],"none")?[]:Ze(A).map((function(A){for(var t={color:CA.TRANSPARENT,offsetX:AA,offsetY:AA,blur:AA},i=0,n=0;n1?1:0],this.overflowWrap=vi(e,Nt,A.overflowWrap),this.paddingTop=vi(e,Ht,A.paddingTop),this.paddingRight=vi(e,Rt,A.paddingRight),this.paddingBottom=vi(e,Pt,A.paddingBottom),this.paddingLeft=vi(e,Vt,A.paddingLeft),this.paintOrder=vi(e,wi,A.paintOrder),this.position=vi(e,Gt,A.position),this.textAlign=vi(e,Kt,A.textAlign),this.textDecorationColor=vi(e,ti,null!==(t=A.textDecorationColor)&&void 0!==t?t:A.color),this.textDecorationLine=vi(e,ii,null!==(i=A.textDecorationLine)&&void 0!==i?i:A.textDecoration),this.textShadow=vi(e,Wt,A.textShadow),this.textTransform=vi(e,Xt,A.textTransform),this.transform=vi(e,zt,A.transform),this.transformOrigin=vi(e,Zt,A.transformOrigin),this.visibility=vi(e,qt,A.visibility),this.webkitTextStrokeColor=vi(e,fi,A.webkitTextStrokeColor),this.webkitTextStrokeWidth=vi(e,Bi,A.webkitTextStrokeWidth),this.wordBreak=vi(e,_t,A.wordBreak),this.zIndex=vi(e,$t,A.zIndex)}return e.prototype.isVisible=function(){return this.display>0&&this.opacity>0&&0===this.visibility},e.prototype.isTransparent=function(){return uA(this.backgroundColor)},e.prototype.isTransformed=function(){return null!==this.transform},e.prototype.isPositioned=function(){return 0!==this.position},e.prototype.isPositionedWithZIndex=function(){return this.isPositioned()&&!this.zIndex.auto},e.prototype.isFloating=function(){return 0!==this.float},e.prototype.isInlineLevel=function(){return li(this.display,4)||li(this.display,33554432)||li(this.display,268435456)||li(this.display,536870912)||li(this.display,67108864)||li(this.display,134217728)},e}(),bi=function(e,A){this.content=vi(e,ci,A.content),this.quotes=vi(e,gi,A.quotes)},Ci=function(e,A){this.counterIncrement=vi(e,di,A.counterIncrement),this.counterReset=vi(e,hi,A.counterReset)},vi=function(e,A,t){var i=new Ve,n=null!=t?t.toString():A.initialValue;i.write(n);var a=new Ke(i.read());switch(A.type){case 2:var r=a.parseComponentValue();return A.parse(e,Xe(r)?r.value:A.initialValue);case 0:return A.parse(e,a.parseComponentValue());case 1:return A.parse(e,a.parseComponentValues());case 4:return a.parseComponentValue();case 3:switch(A.format){case"angle":return oA(e,a.parseComponentValue());case"color":return hA(e,a.parseComponentValue());case"image":return PA(e,a.parseComponentValue());case"length":var s=a.parseComponentValue();return _e(s)?s:AA;case"length-percentage":var o=a.parseComponentValue();return $e(o)?o:AA;case"time":return ei.parse(e,a.parseComponentValue())}}},yi=function(e,A){var t=function(e){switch(e.getAttribute("data-html2canvas-debug")){case"all":return 1;case"clone":return 2;case"parse":return 3;case"render":return 4;default:return 0}}(e);return 1===t||A===t},Fi=function(e,A){this.context=e,this.textNodes=[],this.elements=[],this.flags=0,yi(A,3),this.styles=new Ei(e,window.getComputedStyle(A,null)),Un(A)&&(this.styles.animationDuration.some((function(e){return e>0}))&&(A.style.animationDuration="0s"),null!==this.styles.transform&&(A.style.transform="none")),this.bounds=s(this.context,A),yi(A,4)&&(this.flags|=16)},xi="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Ti="undefined"==typeof Uint8Array?[]:new Uint8Array(256),Si=0;Si=0){if(e<55296||e>56319&&e<=65535)return A=((A=this.index[e>>5])<<2)+(31&e),this.data[A];if(e<=65535)return A=((A=this.index[2048+(e-55296>>5)])<<2)+(31&e),this.data[A];if(e>11),A=this.index[A],A+=e>>5&63,A=((A=this.index[A])<<2)+(31&e),this.data[A];if(e<=1114111)return this.data[this.highValueIndex]}return this.errorValue},e}(),Qi="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ki="undefined"==typeof Uint8Array?[]:new Uint8Array(256),Mi=0;Mi>10),r%1024+56320)),(n+1===t||i.length>16384)&&(a+=String.fromCharCode.apply(String,i),i.length=0)}return a},Pi=function(e,A){var t,i,n,a=function(e){var A,t,i,n,a,r=.75*e.length,s=e.length,o=0;"="===e[e.length-1]&&(r--,"="===e[e.length-2]&&r--);var l="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&void 0!==Uint8Array.prototype.slice?new ArrayBuffer(r):new Array(r),c=Array.isArray(l)?l:new Uint8Array(l);for(A=0;A>4,c[o++]=(15&i)<<4|n>>2,c[o++]=(3&n)<<6|63&a;return l}(e),r=Array.isArray(a)?function(e){for(var A=e.length,t=[],i=0;i=55296&&n<=56319&&t=t)return{done:!0,value:null};for(var e=Vi;ir.x||n.y>r.y;return r=n,0===A||s}));return e.body.removeChild(A),s}(document);return Object.defineProperty(ji,"SUPPORT_WORD_BREAKING",{value:e}),e},get SUPPORT_SVG_DRAWING(){var e=function(e){var A=new Image,t=e.createElement("canvas"),i=t.getContext("2d");if(!i)return!1;A.src="data:image/svg+xml,";try{i.drawImage(A,0,0),t.toDataURL()}catch(e){return!1}return!0}(document);return Object.defineProperty(ji,"SUPPORT_SVG_DRAWING",{value:e}),e},get SUPPORT_FOREIGNOBJECT_DRAWING(){var e="function"==typeof Array.from&&"function"==typeof window.fetch?function(e){var A=e.createElement("canvas"),t=100;A.width=t,A.height=t;var i=A.getContext("2d");if(!i)return Promise.reject(!1);i.fillStyle="rgb(0, 255, 0)",i.fillRect(0,0,t,t);var n=new Image,a=A.toDataURL();n.src=a;var r=zi(t,t,0,0,n);return i.fillStyle="red",i.fillRect(0,0,t,t),Yi(r).then((function(A){i.drawImage(A,0,0);var n=i.getImageData(0,0,t,t).data;i.fillStyle="red",i.fillRect(0,0,t,t);var r=e.createElement("div");return r.style.backgroundImage="url("+a+")",r.style.height="100px",Xi(n)?Yi(zi(t,t,0,0,r)):Promise.reject(!1)})).then((function(e){return i.drawImage(e,0,0),Xi(i.getImageData(0,0,t,t).data)})).catch((function(){return!1}))}(document):Promise.resolve(!1);return Object.defineProperty(ji,"SUPPORT_FOREIGNOBJECT_DRAWING",{value:e}),e},get SUPPORT_CORS_IMAGES(){var e=void 0!==(new Image).crossOrigin;return Object.defineProperty(ji,"SUPPORT_CORS_IMAGES",{value:e}),e},get SUPPORT_RESPONSE_TYPE(){var e="string"==typeof(new XMLHttpRequest).responseType;return Object.defineProperty(ji,"SUPPORT_RESPONSE_TYPE",{value:e}),e},get SUPPORT_CORS_XHR(){var e="withCredentials"in new XMLHttpRequest;return Object.defineProperty(ji,"SUPPORT_CORS_XHR",{value:e}),e},get SUPPORT_NATIVE_TEXT_SEGMENTATION(){var e=!("undefined"==typeof Intl||!Intl.Segmenter);return Object.defineProperty(ji,"SUPPORT_NATIVE_TEXT_SEGMENTATION",{value:e}),e}},Ji=function(e,A){this.text=e,this.bounds=A},Zi=function(e,A){var t=A.ownerDocument;if(t){var i=t.createElement("html2canvaswrapper");i.appendChild(A.cloneNode(!0));var n=A.parentNode;if(n){n.replaceChild(i,A);var a=s(e,i);return i.firstChild&&n.replaceChild(i.firstChild,i),a}}return r.EMPTY},qi=function(e,A,t){var i=e.ownerDocument;if(!i)throw new Error("Node has no owner document");var n=i.createRange();return n.setStart(e,A),n.setEnd(e,A+t),n},_i=function(e){if(ji.SUPPORT_NATIVE_TEXT_SEGMENTATION){var A=new Intl.Segmenter(void 0,{granularity:"grapheme"});return Array.from(A.segment(e)).map((function(e){return e.segment}))}return function(e){for(var A,t=Wi(e),i=[];!(A=t.next()).done;)A.value&&i.push(A.value.slice());return i}(e)},$i=function(e,A){return 0!==A.letterSpacing?_i(e):function(e,A){if(ji.SUPPORT_NATIVE_TEXT_SEGMENTATION){var t=new Intl.Segmenter(void 0,{granularity:"word"});return Array.from(t.segment(e)).map((function(e){return e.segment}))}return An(e,A)}(e,A)},en=[32,160,4961,65792,65793,4153,4241],An=function(e,A){for(var t,i=function(e,A){var t=o(e),i=ae(t,A),n=i[0],a=i[1],r=i[2],s=t.length,l=0,c=0;return{next:function(){if(c>=s)return{done:!0,value:null};for(var e=z;c0)if(ji.SUPPORT_RANGE_BOUNDS){var n=qi(i,s,A.length).getClientRects();if(n.length>1){var o=_i(A),l=0;o.forEach((function(A){a.push(new Ji(A,r.fromDOMRectList(e,qi(i,l+s,A.length).getClientRects()))),l+=A.length}))}else a.push(new Ji(A,r.fromDOMRectList(e,n)))}else{var c=i.splitText(A.length);a.push(new Ji(A,Zi(e,i))),i=c}else ji.SUPPORT_RANGE_BOUNDS||(i=i.splitText(A.length));s+=A.length})),a}(e,this.text,t,A)},nn=function(e,A){switch(A){case 1:return e.toLowerCase();case 3:return e.replace(an,rn);case 2:return e.toUpperCase();default:return e}},an=/(^|\s|:|-|\(|\))([a-z])/g,rn=function(e,A,t){return e.length>0?A+t.toUpperCase():e},sn=function(e){function t(A,t){var i=e.call(this,A,t)||this;return i.src=t.currentSrc||t.src,i.intrinsicWidth=t.naturalWidth,i.intrinsicHeight=t.naturalHeight,i.context.cache.addImage(i.src),i}return A(t,e),t}(Fi),on=function(e){function t(A,t){var i=e.call(this,A,t)||this;return i.canvas=t,i.intrinsicWidth=t.width,i.intrinsicHeight=t.height,i}return A(t,e),t}(Fi),ln=function(e){function t(A,t){var i=e.call(this,A,t)||this,n=new XMLSerializer,a=s(A,t);return t.setAttribute("width",a.width+"px"),t.setAttribute("height",a.height+"px"),i.svg="data:image/svg+xml,"+encodeURIComponent(n.serializeToString(t)),i.intrinsicWidth=t.width.baseVal.value,i.intrinsicHeight=t.height.baseVal.value,i.context.cache.addImage(i.svg),i}return A(t,e),t}(Fi),cn=function(e){function t(A,t){var i=e.call(this,A,t)||this;return i.value=t.value,i}return A(t,e),t}(Fi),dn=function(e){function t(A,t){var i=e.call(this,A,t)||this;return i.start=t.start,i.reversed="boolean"==typeof t.reversed&&!0===t.reversed,i}return A(t,e),t}(Fi),hn=[{type:15,flags:0,unit:"px",number:3}],un=[{type:16,flags:0,number:50}],gn="checkbox",pn="radio",mn="password",wn=707406591,fn=function(e){function t(A,t){var i,n,a,s=e.call(this,A,t)||this;switch(s.type=t.type.toLowerCase(),s.checked=t.checked,s.value=0===(a=(n=t).type===mn?new Array(n.value.length+1).join("•"):n.value).length?n.placeholder||"":a,s.type!==gn&&s.type!==pn||(s.styles.backgroundColor=3739148031,s.styles.borderTopColor=s.styles.borderRightColor=s.styles.borderBottomColor=s.styles.borderLeftColor=2779096575,s.styles.borderTopWidth=s.styles.borderRightWidth=s.styles.borderBottomWidth=s.styles.borderLeftWidth=1,s.styles.borderTopStyle=s.styles.borderRightStyle=s.styles.borderBottomStyle=s.styles.borderLeftStyle=1,s.styles.backgroundClip=[0],s.styles.backgroundOrigin=[0],s.bounds=(i=s.bounds).width>i.height?new r(i.left+(i.width-i.height)/2,i.top,i.height,i.height):i.width0)t.textNodes.push(new tn(e,n,t.styles));else if(In(n))if(Wn(n)&&n.assignedNodes)n.assignedNodes().forEach((function(A){return vn(e,A,t,i)}));else{var r=yn(e,n);r.styles.isVisible()&&(xn(n,r,i)?r.flags|=4:Tn(r.styles)&&(r.flags|=2),-1!==Cn.indexOf(n.tagName)&&(r.flags|=8),t.elements.push(r),n.slot,n.shadowRoot?vn(e,n.shadowRoot,r,i):Kn(n)||On(n)||Gn(n)||vn(e,n,r,i))}},yn=function(e,A){return Rn(A)?new sn(e,A):Dn(A)?new on(e,A):On(A)?new ln(e,A):kn(A)?new cn(e,A):Mn(A)?new dn(e,A):Ln(A)?new fn(e,A):Gn(A)?new Bn(e,A):Kn(A)?new En(e,A):Pn(A)?new bn(e,A):new Fi(e,A)},Fn=function(e,A){var t=yn(e,A);return t.flags|=4,vn(e,A,t,t),t},xn=function(e,A,t){return A.styles.isPositionedWithZIndex()||A.styles.opacity<1||A.styles.isTransformed()||Nn(e)&&t.styles.isTransparent()},Tn=function(e){return e.isPositioned()||e.isFloating()},Sn=function(e){return e.nodeType===Node.TEXT_NODE},In=function(e){return e.nodeType===Node.ELEMENT_NODE},Un=function(e){return In(e)&&void 0!==e.style&&!Qn(e)},Qn=function(e){return"object"==typeof e.className},kn=function(e){return"LI"===e.tagName},Mn=function(e){return"OL"===e.tagName},Ln=function(e){return"INPUT"===e.tagName},On=function(e){return"svg"===e.tagName},Nn=function(e){return"BODY"===e.tagName},Dn=function(e){return"CANVAS"===e.tagName},Hn=function(e){return"VIDEO"===e.tagName},Rn=function(e){return"IMG"===e.tagName},Pn=function(e){return"IFRAME"===e.tagName},Vn=function(e){return"STYLE"===e.tagName},Kn=function(e){return"TEXTAREA"===e.tagName},Gn=function(e){return"SELECT"===e.tagName},Wn=function(e){return"SLOT"===e.tagName},Xn=function(e){return e.tagName.indexOf("-")>0},zn=function(){function e(){this.counters={}}return e.prototype.getCounterValue=function(e){var A=this.counters[e];return A&&A.length?A[A.length-1]:1},e.prototype.getCounterValues=function(e){return this.counters[e]||[]},e.prototype.pop=function(e){var A=this;e.forEach((function(e){return A.counters[e].pop()}))},e.prototype.parse=function(e){var A=this,t=e.counterIncrement,i=e.counterReset,n=!0;null!==t&&t.forEach((function(e){var t=A.counters[e.counter];t&&0!==e.increment&&(n=!1,t.length||t.push(1),t[Math.max(0,t.length-1)]+=e.increment)}));var a=[];return n&&i.forEach((function(e){var t=A.counters[e.counter];a.push(e.counter),t||(t=A.counters[e.counter]=[]),t.push(e.reset)})),a},e}(),Yn={integers:[1e3,900,500,400,100,90,50,40,10,9,5,4,1],values:["M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"]},jn={integers:[9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["Ք","Փ","Ւ","Ց","Ր","Տ","Վ","Ս","Ռ","Ջ","Պ","Չ","Ո","Շ","Ն","Յ","Մ","Ճ","Ղ","Ձ","Հ","Կ","Ծ","Խ","Լ","Ի","Ժ","Թ","Ը","Է","Զ","Ե","Դ","Գ","Բ","Ա"]},Jn={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,400,300,200,100,90,80,70,60,50,40,30,20,19,18,17,16,15,10,9,8,7,6,5,4,3,2,1],values:["י׳","ט׳","ח׳","ז׳","ו׳","ה׳","ד׳","ג׳","ב׳","א׳","ת","ש","ר","ק","צ","פ","ע","ס","נ","מ","ל","כ","יט","יח","יז","טז","טו","י","ט","ח","ז","ו","ה","ד","ג","ב","א"]},Zn={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["ჵ","ჰ","ჯ","ჴ","ხ","ჭ","წ","ძ","ც","ჩ","შ","ყ","ღ","ქ","ფ","ჳ","ტ","ს","რ","ჟ","პ","ო","ჲ","ნ","მ","ლ","კ","ი","თ","ჱ","ზ","ვ","ე","დ","გ","ბ","ა"]},qn=function(e,A,t,i,n,a){return et?ra(e,n,a.length>0):i.integers.reduce((function(A,t,n){for(;e>=t;)e-=t,A+=i.values[n];return A}),"")+a},_n=function(e,A,t,i){var n="";do{t||e--,n=i(e)+n,e/=A}while(e*A>=A);return n},$n=function(e,A,t,i,n){var a=t-A+1;return(e<0?"-":"")+(_n(Math.abs(e),a,i,(function(e){return l(Math.floor(e%a)+A)}))+n)},ea=function(e,A,t){void 0===t&&(t=". ");var i=A.length;return _n(Math.abs(e),i,!1,(function(e){return A[Math.floor(e%i)]}))+t},Aa=function(e,A,t,i,n,a){if(e<-9999||e>9999)return ra(e,4,n.length>0);var r=Math.abs(e),s=n;if(0===r)return A[0]+s;for(var o=0;r>0&&o<=4;o++){var l=r%10;0===l&&li(a,1)&&""!==s?s=A[l]+s:l>1||1===l&&0===o||1===l&&1===o&&li(a,2)||1===l&&1===o&&li(a,4)&&e>100||1===l&&o>1&&li(a,8)?s=A[l]+(o>0?t[o-1]:"")+s:1===l&&o>0&&(s=t[o-1]+s),r=Math.floor(r/10)}return(e<0?i:"")+s},ta="十百千萬",ia="拾佰仟萬",na="マイナス",aa="마이너스",ra=function(e,A,t){var i=t?". ":"",n=t?"、":"",a=t?", ":"",r=t?" ":"";switch(A){case 0:return"•"+r;case 1:return"◦"+r;case 2:return"◾"+r;case 5:var s=$n(e,48,57,!0,i);return s.length<4?"0"+s:s;case 4:return ea(e,"〇一二三四五六七八九",n);case 6:return qn(e,1,3999,Yn,3,i).toLowerCase();case 7:return qn(e,1,3999,Yn,3,i);case 8:return $n(e,945,969,!1,i);case 9:return $n(e,97,122,!1,i);case 10:return $n(e,65,90,!1,i);case 11:return $n(e,1632,1641,!0,i);case 12:case 49:return qn(e,1,9999,jn,3,i);case 35:return qn(e,1,9999,jn,3,i).toLowerCase();case 13:return $n(e,2534,2543,!0,i);case 14:case 30:return $n(e,6112,6121,!0,i);case 15:return ea(e,"子丑寅卯辰巳午未申酉戌亥",n);case 16:return ea(e,"甲乙丙丁戊己庚辛壬癸",n);case 17:case 48:return Aa(e,"零一二三四五六七八九",ta,"負",n,14);case 47:return Aa(e,"零壹貳參肆伍陸柒捌玖",ia,"負",n,15);case 42:return Aa(e,"零一二三四五六七八九",ta,"负",n,14);case 41:return Aa(e,"零壹贰叁肆伍陆柒捌玖",ia,"负",n,15);case 26:return Aa(e,"〇一二三四五六七八九","十百千万",na,n,0);case 25:return Aa(e,"零壱弐参四伍六七八九","拾百千万",na,n,7);case 31:return Aa(e,"영일이삼사오육칠팔구","십백천만",aa,a,7);case 33:return Aa(e,"零一二三四五六七八九","十百千萬",aa,a,0);case 32:return Aa(e,"零壹貳參四五六七八九","拾百千",aa,a,7);case 18:return $n(e,2406,2415,!0,i);case 20:return qn(e,1,19999,Zn,3,i);case 21:return $n(e,2790,2799,!0,i);case 22:return $n(e,2662,2671,!0,i);case 22:return qn(e,1,10999,Jn,3,i);case 23:return ea(e,"あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん");case 24:return ea(e,"いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす");case 27:return $n(e,3302,3311,!0,i);case 28:return ea(e,"アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン",n);case 29:return ea(e,"イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス",n);case 34:return $n(e,3792,3801,!0,i);case 37:return $n(e,6160,6169,!0,i);case 38:return $n(e,4160,4169,!0,i);case 39:return $n(e,2918,2927,!0,i);case 40:return $n(e,1776,1785,!0,i);case 43:return $n(e,3046,3055,!0,i);case 44:return $n(e,3174,3183,!0,i);case 45:return $n(e,3664,3673,!0,i);case 46:return $n(e,3872,3881,!0,i);default:return $n(e,48,57,!0,i)}},sa="data-html2canvas-ignore",oa=function(){function e(e,A,t){if(this.context=e,this.options=t,this.scrolledElements=[],this.referenceElement=A,this.counters=new zn,this.quoteDepth=0,!A.ownerDocument)throw new Error("Cloned element does not have an owner document");this.documentElement=this.cloneNode(A.ownerDocument.documentElement,!1)}return e.prototype.toIFrame=function(e,A){var t=this,a=ca(e,A);if(!a.contentWindow)return Promise.reject("Unable to find iframe window");var r=e.defaultView.pageXOffset,s=e.defaultView.pageYOffset,o=a.contentWindow,l=o.document,c=ua(a).then((function(){return i(t,void 0,void 0,(function(){var e,t;return n(this,(function(i){switch(i.label){case 0:return this.scrolledElements.forEach(fa),o&&(o.scrollTo(A.left,A.top),!/(iPad|iPhone|iPod)/g.test(navigator.userAgent)||o.scrollY===A.top&&o.scrollX===A.left||(this.context.logger.warn("Unable to restore scroll position for cloned document"),this.context.windowBounds=this.context.windowBounds.add(o.scrollX-A.left,o.scrollY-A.top,0,0))),e=this.options.onclone,void 0===(t=this.clonedReferenceElement)?[2,Promise.reject("Error finding the "+this.referenceElement.nodeName+" in the cloned document")]:l.fonts&&l.fonts.ready?[4,l.fonts.ready]:[3,2];case 1:i.sent(),i.label=2;case 2:return/(AppleWebKit)/g.test(navigator.userAgent)?[4,ha(l)]:[3,4];case 3:i.sent(),i.label=4;case 4:return"function"==typeof e?[2,Promise.resolve().then((function(){return e(l,t)})).then((function(){return a}))]:[2,a]}}))}))}));return l.open(),l.write(ma(document.doctype)+""),wa(this.referenceElement.ownerDocument,r,s),l.replaceChild(l.adoptNode(this.documentElement),l.documentElement),l.close(),c},e.prototype.createElementClone=function(e){if(yi(e,2),Dn(e))return this.createCanvasClone(e);if(Hn(e))return this.createVideoClone(e);if(Vn(e))return this.createStyleClone(e);var A=e.cloneNode(!1);return Rn(A)&&(Rn(e)&&e.currentSrc&&e.currentSrc!==e.src&&(A.src=e.currentSrc,A.srcset=""),"lazy"===A.loading&&(A.loading="eager")),Xn(A)?this.createCustomElementClone(A):A},e.prototype.createCustomElementClone=function(e){var A=document.createElement("html2canvascustomelement");return pa(e.style,A),A},e.prototype.createStyleClone=function(e){try{var A=e.sheet;if(A&&A.cssRules){var t=[].slice.call(A.cssRules,0).reduce((function(e,A){return A&&"string"==typeof A.cssText?e+A.cssText:e}),""),i=e.cloneNode(!1);return i.textContent=t,i}}catch(e){if(this.context.logger.error("Unable to access cssRules property",e),"SecurityError"!==e.name)throw e}return e.cloneNode(!1)},e.prototype.createCanvasClone=function(e){var A;if(this.options.inlineImages&&e.ownerDocument){var t=e.ownerDocument.createElement("img");try{return t.src=e.toDataURL(),t}catch(A){this.context.logger.info("Unable to inline canvas contents, canvas is tainted",e)}}var i=e.cloneNode(!1);try{i.width=e.width,i.height=e.height;var n=e.getContext("2d"),a=i.getContext("2d");if(a)if(!this.options.allowTaint&&n)a.putImageData(n.getImageData(0,0,e.width,e.height),0,0);else{var r=null!==(A=e.getContext("webgl2"))&&void 0!==A?A:e.getContext("webgl");if(r){var s=r.getContextAttributes();!1===(null==s?void 0:s.preserveDrawingBuffer)&&this.context.logger.warn("Unable to clone WebGL context as it has preserveDrawingBuffer=false",e)}a.drawImage(e,0,0)}return i}catch(A){this.context.logger.info("Unable to clone canvas as it is tainted",e)}return i},e.prototype.createVideoClone=function(e){var A=e.ownerDocument.createElement("canvas");A.width=e.offsetWidth,A.height=e.offsetHeight;var t=A.getContext("2d");try{return t&&(t.drawImage(e,0,0,A.width,A.height),this.options.allowTaint||t.getImageData(0,0,A.width,A.height)),A}catch(A){this.context.logger.info("Unable to clone video as it is tainted",e)}var i=e.ownerDocument.createElement("canvas");return i.width=e.offsetWidth,i.height=e.offsetHeight,i},e.prototype.appendChildNode=function(e,A,t){In(A)&&("SCRIPT"===A.tagName||A.hasAttribute(sa)||"function"==typeof this.options.ignoreElements&&this.options.ignoreElements(A))||this.options.copyStyles&&In(A)&&Vn(A)||e.appendChild(this.cloneNode(A,t))},e.prototype.cloneChildNodes=function(e,A,t){for(var i=this,n=e.shadowRoot?e.shadowRoot.firstChild:e.firstChild;n;n=n.nextSibling)if(In(n)&&Wn(n)&&"function"==typeof n.assignedNodes){var a=n.assignedNodes();a.length&&a.forEach((function(e){return i.appendChildNode(A,e,t)}))}else this.appendChildNode(A,n,t)},e.prototype.cloneNode=function(e,A){if(Sn(e))return document.createTextNode(e.data);if(!e.ownerDocument)return e.cloneNode(!1);var t=e.ownerDocument.defaultView;if(t&&In(e)&&(Un(e)||Qn(e))){var i=this.createElementClone(e);i.style.transitionProperty="none";var n=t.getComputedStyle(e),a=t.getComputedStyle(e,":before"),r=t.getComputedStyle(e,":after");this.referenceElement===e&&Un(i)&&(this.clonedReferenceElement=i),Nn(i)&&Ca(i);var s=this.counters.parse(new Ci(this.context,n)),o=this.resolvePseudoContent(e,i,a,Li.BEFORE);Xn(e)&&(A=!0),Hn(e)||this.cloneChildNodes(e,i,A),o&&i.insertBefore(o,i.firstChild);var l=this.resolvePseudoContent(e,i,r,Li.AFTER);return l&&i.appendChild(l),this.counters.pop(s),(n&&(this.options.copyStyles||Qn(e))&&!Pn(e)||A)&&pa(n,i),0===e.scrollTop&&0===e.scrollLeft||this.scrolledElements.push([i,e.scrollLeft,e.scrollTop]),(Kn(e)||Gn(e))&&(Kn(i)||Gn(i))&&(i.value=e.value),i}return e.cloneNode(!1)},e.prototype.resolvePseudoContent=function(e,A,t,i){var n=this;if(t){var a=t.content,r=A.ownerDocument;if(r&&a&&"none"!==a&&"-moz-alt-content"!==a&&"none"!==t.display){this.counters.parse(new Ci(this.context,t));var s=new bi(this.context,t),o=r.createElement("html2canvaspseudoelement");pa(t,o),s.content.forEach((function(A){if(0===A.type)o.appendChild(r.createTextNode(A.value));else if(22===A.type){var t=r.createElement("img");t.src=A.value,t.style.opacity="1",o.appendChild(t)}else if(18===A.type){if("attr"===A.name){var i=A.values.filter(Xe);i.length&&o.appendChild(r.createTextNode(e.getAttribute(i[0].value)||""))}else if("counter"===A.name){var a=A.values.filter(Je),l=a[0],c=a[1];if(l&&Xe(l)){var d=n.counters.getCounterValue(l.value),h=c&&Xe(c)?It.parse(n.context,c.value):3;o.appendChild(r.createTextNode(ra(d,h,!1)))}}else if("counters"===A.name){var u=A.values.filter(Je),g=(l=u[0],u[1]);if(c=u[2],l&&Xe(l)){var p=n.counters.getCounterValues(l.value),m=c&&Xe(c)?It.parse(n.context,c.value):3,w=g&&0===g.type?g.value:"",f=p.map((function(e){return ra(e,m,!1)})).join(w);o.appendChild(r.createTextNode(f))}}}else if(20===A.type)switch(A.value){case"open-quote":o.appendChild(r.createTextNode(pi(s.quotes,n.quoteDepth++,!0)));break;case"close-quote":o.appendChild(r.createTextNode(pi(s.quotes,--n.quoteDepth,!1)));break;default:o.appendChild(r.createTextNode(A.value))}})),o.className=Ba+" "+Ea;var l=i===Li.BEFORE?" "+Ba:" "+Ea;return Qn(A)?A.className.baseValue+=l:A.className+=l,o}}},e.destroy=function(e){return!!e.parentNode&&(e.parentNode.removeChild(e),!0)},e}();!function(e){e[e.BEFORE=0]="BEFORE",e[e.AFTER=1]="AFTER"}(Li||(Li={}));var la,ca=function(e,A){var t=e.createElement("iframe");return t.className="html2canvas-container",t.style.visibility="hidden",t.style.position="fixed",t.style.left="-10000px",t.style.top="0px",t.style.border="0",t.width=A.width.toString(),t.height=A.height.toString(),t.scrolling="no",t.setAttribute(sa,"true"),e.body.appendChild(t),t},da=function(e){return new Promise((function(A){e.complete?A():e.src?(e.onload=A,e.onerror=A):A()}))},ha=function(e){return Promise.all([].slice.call(e.images,0).map(da))},ua=function(e){return new Promise((function(A,t){var i=e.contentWindow;if(!i)return t("No window assigned for iframe");var n=i.document;i.onload=e.onload=function(){i.onload=e.onload=null;var t=setInterval((function(){n.body.childNodes.length>0&&"complete"===n.readyState&&(clearInterval(t),A(e))}),50)}}))},ga=["all","d","content"],pa=function(e,A){for(var t=e.length-1;t>=0;t--){var i=e.item(t);-1===ga.indexOf(i)&&A.style.setProperty(i,e.getPropertyValue(i))}return A},ma=function(e){var A="";return e&&(A+=""),A},wa=function(e,A,t){e&&e.defaultView&&(A!==e.defaultView.pageXOffset||t!==e.defaultView.pageYOffset)&&e.defaultView.scrollTo(A,t)},fa=function(e){var A=e[0],t=e[1],i=e[2];A.scrollLeft=t,A.scrollTop=i},Ba="___html2canvas___pseudoelement_before",Ea="___html2canvas___pseudoelement_after",ba='{\n content: "" !important;\n display: none !important;\n}',Ca=function(e){va(e,"."+Ba+":before"+ba+"\n ."+Ea+":after"+ba)},va=function(e,A){var t=e.ownerDocument;if(t){var i=t.createElement("style");i.textContent=A,e.appendChild(i)}},ya=function(){function e(){}return e.getOrigin=function(A){var t=e._link;return t?(t.href=A,t.href=t.href,t.protocol+t.hostname+t.port):"about:blank"},e.isSameOrigin=function(A){return e.getOrigin(A)===e._origin},e.setContext=function(A){e._link=A.document.createElement("a"),e._origin=e.getOrigin(A.location.href)},e._origin="about:blank",e}(),Fa=function(){function e(e,A){this.context=e,this._options=A,this._cache={}}return e.prototype.addImage=function(e){var A=Promise.resolve();return this.has(e)?A:ka(e)||Ia(e)?((this._cache[e]=this.loadImage(e)).catch((function(){})),A):A},e.prototype.match=function(e){return this._cache[e]},e.prototype.loadImage=function(e){return i(this,void 0,void 0,(function(){var A,t,i,a,r=this;return n(this,(function(n){switch(n.label){case 0:return A=ya.isSameOrigin(e),t=!Ua(e)&&!0===this._options.useCORS&&ji.SUPPORT_CORS_IMAGES&&!A,i=!Ua(e)&&!A&&!ka(e)&&"string"==typeof this._options.proxy&&ji.SUPPORT_CORS_XHR&&!t,A||!1!==this._options.allowTaint||Ua(e)||ka(e)||i||t?(a=e,i?[4,this.proxy(a)]:[3,2]):[2];case 1:a=n.sent(),n.label=2;case 2:return this.context.logger.debug("Added image "+e.substring(0,256)),[4,new Promise((function(e,A){var i=new Image;i.onload=function(){return e(i)},i.onerror=A,(Qa(a)||t)&&(i.crossOrigin="anonymous"),i.src=a,!0===i.complete&&setTimeout((function(){return e(i)}),500),r._options.imageTimeout>0&&setTimeout((function(){return A("Timed out ("+r._options.imageTimeout+"ms) loading image")}),r._options.imageTimeout)}))];case 3:return[2,n.sent()]}}))}))},e.prototype.has=function(e){return void 0!==this._cache[e]},e.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},e.prototype.proxy=function(e){var A=this,t=this._options.proxy;if(!t)throw new Error("No proxy defined");var i=e.substring(0,256);return new Promise((function(n,a){var r=ji.SUPPORT_RESPONSE_TYPE?"blob":"text",s=new XMLHttpRequest;s.onload=function(){if(200===s.status)if("text"===r)n(s.response);else{var e=new FileReader;e.addEventListener("load",(function(){return n(e.result)}),!1),e.addEventListener("error",(function(e){return a(e)}),!1),e.readAsDataURL(s.response)}else a("Failed to proxy resource "+i+" with status code "+s.status)},s.onerror=a;var o=t.indexOf("?")>-1?"&":"?";if(s.open("GET",""+t+o+"url="+encodeURIComponent(e)+"&responseType="+r),"text"!==r&&s instanceof XMLHttpRequest&&(s.responseType=r),A._options.imageTimeout){var l=A._options.imageTimeout;s.timeout=l,s.ontimeout=function(){return a("Timed out ("+l+"ms) proxying "+i)}}s.send()}))},e}(),xa=/^data:image\/svg\+xml/i,Ta=/^data:image\/.*;base64,/i,Sa=/^data:image\/.*/i,Ia=function(e){return ji.SUPPORT_SVG_DRAWING||!Ma(e)},Ua=function(e){return Sa.test(e)},Qa=function(e){return Ta.test(e)},ka=function(e){return"blob"===e.substr(0,4)},Ma=function(e){return"svg"===e.substr(-3).toLowerCase()||xa.test(e)},La=function(){function e(e,A){this.type=0,this.x=e,this.y=A}return e.prototype.add=function(A,t){return new e(this.x+A,this.y+t)},e}(),Oa=function(e,A,t){return new La(e.x+(A.x-e.x)*t,e.y+(A.y-e.y)*t)},Na=function(){function e(e,A,t,i){this.type=1,this.start=e,this.startControl=A,this.endControl=t,this.end=i}return e.prototype.subdivide=function(A,t){var i=Oa(this.start,this.startControl,A),n=Oa(this.startControl,this.endControl,A),a=Oa(this.endControl,this.end,A),r=Oa(i,n,A),s=Oa(n,a,A),o=Oa(r,s,A);return t?new e(this.start,i,r,o):new e(o,s,a,this.end)},e.prototype.add=function(A,t){return new e(this.start.add(A,t),this.startControl.add(A,t),this.endControl.add(A,t),this.end.add(A,t))},e.prototype.reverse=function(){return new e(this.end,this.endControl,this.startControl,this.start)},e}(),Da=function(e){return 1===e.type},Ha=function(e){var A=e.styles,t=e.bounds,i=nA(A.borderTopLeftRadius,t.width,t.height),n=i[0],a=i[1],r=nA(A.borderTopRightRadius,t.width,t.height),s=r[0],o=r[1],l=nA(A.borderBottomRightRadius,t.width,t.height),c=l[0],d=l[1],h=nA(A.borderBottomLeftRadius,t.width,t.height),u=h[0],g=h[1],p=[];p.push((n+s)/t.width),p.push((u+c)/t.width),p.push((a+g)/t.height),p.push((o+d)/t.height);var m=Math.max.apply(Math,p);m>1&&(n/=m,a/=m,s/=m,o/=m,c/=m,d/=m,u/=m,g/=m);var w=t.width-s,f=t.height-d,B=t.width-c,E=t.height-g,b=A.borderTopWidth,C=A.borderRightWidth,v=A.borderBottomWidth,y=A.borderLeftWidth,F=aA(A.paddingTop,e.bounds.width),x=aA(A.paddingRight,e.bounds.width),T=aA(A.paddingBottom,e.bounds.width),S=aA(A.paddingLeft,e.bounds.width);this.topLeftBorderDoubleOuterBox=n>0||a>0?Ra(t.left+y/3,t.top+b/3,n-y/3,a-b/3,la.TOP_LEFT):new La(t.left+y/3,t.top+b/3),this.topRightBorderDoubleOuterBox=n>0||a>0?Ra(t.left+w,t.top+b/3,s-C/3,o-b/3,la.TOP_RIGHT):new La(t.left+t.width-C/3,t.top+b/3),this.bottomRightBorderDoubleOuterBox=c>0||d>0?Ra(t.left+B,t.top+f,c-C/3,d-v/3,la.BOTTOM_RIGHT):new La(t.left+t.width-C/3,t.top+t.height-v/3),this.bottomLeftBorderDoubleOuterBox=u>0||g>0?Ra(t.left+y/3,t.top+E,u-y/3,g-v/3,la.BOTTOM_LEFT):new La(t.left+y/3,t.top+t.height-v/3),this.topLeftBorderDoubleInnerBox=n>0||a>0?Ra(t.left+2*y/3,t.top+2*b/3,n-2*y/3,a-2*b/3,la.TOP_LEFT):new La(t.left+2*y/3,t.top+2*b/3),this.topRightBorderDoubleInnerBox=n>0||a>0?Ra(t.left+w,t.top+2*b/3,s-2*C/3,o-2*b/3,la.TOP_RIGHT):new La(t.left+t.width-2*C/3,t.top+2*b/3),this.bottomRightBorderDoubleInnerBox=c>0||d>0?Ra(t.left+B,t.top+f,c-2*C/3,d-2*v/3,la.BOTTOM_RIGHT):new La(t.left+t.width-2*C/3,t.top+t.height-2*v/3),this.bottomLeftBorderDoubleInnerBox=u>0||g>0?Ra(t.left+2*y/3,t.top+E,u-2*y/3,g-2*v/3,la.BOTTOM_LEFT):new La(t.left+2*y/3,t.top+t.height-2*v/3),this.topLeftBorderStroke=n>0||a>0?Ra(t.left+y/2,t.top+b/2,n-y/2,a-b/2,la.TOP_LEFT):new La(t.left+y/2,t.top+b/2),this.topRightBorderStroke=n>0||a>0?Ra(t.left+w,t.top+b/2,s-C/2,o-b/2,la.TOP_RIGHT):new La(t.left+t.width-C/2,t.top+b/2),this.bottomRightBorderStroke=c>0||d>0?Ra(t.left+B,t.top+f,c-C/2,d-v/2,la.BOTTOM_RIGHT):new La(t.left+t.width-C/2,t.top+t.height-v/2),this.bottomLeftBorderStroke=u>0||g>0?Ra(t.left+y/2,t.top+E,u-y/2,g-v/2,la.BOTTOM_LEFT):new La(t.left+y/2,t.top+t.height-v/2),this.topLeftBorderBox=n>0||a>0?Ra(t.left,t.top,n,a,la.TOP_LEFT):new La(t.left,t.top),this.topRightBorderBox=s>0||o>0?Ra(t.left+w,t.top,s,o,la.TOP_RIGHT):new La(t.left+t.width,t.top),this.bottomRightBorderBox=c>0||d>0?Ra(t.left+B,t.top+f,c,d,la.BOTTOM_RIGHT):new La(t.left+t.width,t.top+t.height),this.bottomLeftBorderBox=u>0||g>0?Ra(t.left,t.top+E,u,g,la.BOTTOM_LEFT):new La(t.left,t.top+t.height),this.topLeftPaddingBox=n>0||a>0?Ra(t.left+y,t.top+b,Math.max(0,n-y),Math.max(0,a-b),la.TOP_LEFT):new La(t.left+y,t.top+b),this.topRightPaddingBox=s>0||o>0?Ra(t.left+Math.min(w,t.width-C),t.top+b,w>t.width+C?0:Math.max(0,s-C),Math.max(0,o-b),la.TOP_RIGHT):new La(t.left+t.width-C,t.top+b),this.bottomRightPaddingBox=c>0||d>0?Ra(t.left+Math.min(B,t.width-y),t.top+Math.min(f,t.height-v),Math.max(0,c-C),Math.max(0,d-v),la.BOTTOM_RIGHT):new La(t.left+t.width-C,t.top+t.height-v),this.bottomLeftPaddingBox=u>0||g>0?Ra(t.left+y,t.top+Math.min(E,t.height-v),Math.max(0,u-y),Math.max(0,g-v),la.BOTTOM_LEFT):new La(t.left+y,t.top+t.height-v),this.topLeftContentBox=n>0||a>0?Ra(t.left+y+S,t.top+b+F,Math.max(0,n-(y+S)),Math.max(0,a-(b+F)),la.TOP_LEFT):new La(t.left+y+S,t.top+b+F),this.topRightContentBox=s>0||o>0?Ra(t.left+Math.min(w,t.width+y+S),t.top+b+F,w>t.width+y+S?0:s-y+S,o-(b+F),la.TOP_RIGHT):new La(t.left+t.width-(C+x),t.top+b+F),this.bottomRightContentBox=c>0||d>0?Ra(t.left+Math.min(B,t.width-(y+S)),t.top+Math.min(f,t.height+b+F),Math.max(0,c-(C+x)),d-(v+T),la.BOTTOM_RIGHT):new La(t.left+t.width-(C+x),t.top+t.height-(v+T)),this.bottomLeftContentBox=u>0||g>0?Ra(t.left+y+S,t.top+E,Math.max(0,u-(y+S)),g-(v+T),la.BOTTOM_LEFT):new La(t.left+y+S,t.top+t.height-(v+T))};!function(e){e[e.TOP_LEFT=0]="TOP_LEFT",e[e.TOP_RIGHT=1]="TOP_RIGHT",e[e.BOTTOM_RIGHT=2]="BOTTOM_RIGHT",e[e.BOTTOM_LEFT=3]="BOTTOM_LEFT"}(la||(la={}));var Ra=function(e,A,t,i,n){var a=(Math.sqrt(2)-1)/3*4,r=t*a,s=i*a,o=e+t,l=A+i;switch(n){case la.TOP_LEFT:return new Na(new La(e,l),new La(e,l-s),new La(o-r,A),new La(o,A));case la.TOP_RIGHT:return new Na(new La(e,A),new La(e+r,A),new La(o,l-s),new La(o,l));case la.BOTTOM_RIGHT:return new Na(new La(o,A),new La(o,A+s),new La(e+r,l),new La(e,l));case la.BOTTOM_LEFT:default:return new Na(new La(o,l),new La(o-r,l),new La(e,A+s),new La(e,A))}},Pa=function(e){return[e.topLeftBorderBox,e.topRightBorderBox,e.bottomRightBorderBox,e.bottomLeftBorderBox]},Va=function(e){return[e.topLeftPaddingBox,e.topRightPaddingBox,e.bottomRightPaddingBox,e.bottomLeftPaddingBox]},Ka=function(e,A,t){this.offsetX=e,this.offsetY=A,this.matrix=t,this.type=0,this.target=6},Ga=function(e,A){this.path=e,this.target=A,this.type=1},Wa=function(e){this.opacity=e,this.type=2,this.target=6},Xa=function(e){return 1===e.type},za=function(e,A){return e.length===A.length&&e.some((function(e,t){return e===A[t]}))},Ya=function(e){this.element=e,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]},ja=function(){function e(e,A){if(this.container=e,this.parent=A,this.effects=[],this.curves=new Ha(this.container),this.container.styles.opacity<1&&this.effects.push(new Wa(this.container.styles.opacity)),null!==this.container.styles.transform){var t=this.container.bounds.left+this.container.styles.transformOrigin[0].number,i=this.container.bounds.top+this.container.styles.transformOrigin[1].number,n=this.container.styles.transform;this.effects.push(new Ka(t,i,n))}if(0!==this.container.styles.overflowX){var a=Pa(this.curves),r=Va(this.curves);za(a,r)?this.effects.push(new Ga(a,6)):(this.effects.push(new Ga(a,2)),this.effects.push(new Ga(r,4)))}}return e.prototype.getEffects=function(e){for(var A=-1===[2,3].indexOf(this.container.styles.position),t=this.parent,i=this.effects.slice(0);t;){var n=t.effects.filter((function(e){return!Xa(e)}));if(A||0!==t.container.styles.position||!t.parent){if(i.unshift.apply(i,n),A=-1===[2,3].indexOf(t.container.styles.position),0!==t.container.styles.overflowX){var a=Pa(t.curves),r=Va(t.curves);za(a,r)||i.unshift(new Ga(r,6))}}else i.unshift.apply(i,n);t=t.parent}return i.filter((function(A){return li(A.target,e)}))},e}(),Ja=function(e,A,t,i){e.container.elements.forEach((function(n){var a=li(n.flags,4),r=li(n.flags,2),s=new ja(n,e);li(n.styles.display,2048)&&i.push(s);var o=li(n.flags,8)?[]:i;if(a||r){var l=a||n.styles.isPositioned()?t:A,c=new Ya(s);if(n.styles.isPositioned()||n.styles.opacity<1||n.styles.isTransformed()){var d=n.styles.zIndex.order;if(d<0){var h=0;l.negativeZIndex.some((function(e,A){return d>e.element.container.styles.zIndex.order?(h=A,!1):h>0})),l.negativeZIndex.splice(h,0,c)}else if(d>0){var u=0;l.positiveZIndex.some((function(e,A){return d>=e.element.container.styles.zIndex.order?(u=A+1,!1):u>0})),l.positiveZIndex.splice(u,0,c)}else l.zeroOrAutoZIndexOrTransformedOrOpacity.push(c)}else n.styles.isFloating()?l.nonPositionedFloats.push(c):l.nonPositionedInlineLevel.push(c);Ja(s,c,a?c:t,o)}else n.styles.isInlineLevel()?A.inlineLevel.push(s):A.nonInlineLevel.push(s),Ja(s,A,t,o);li(n.flags,8)&&Za(n,o)}))},Za=function(e,A){for(var t=e instanceof dn?e.start:1,i=e instanceof dn&&e.reversed,n=0;n0&&e.intrinsicHeight>0){var i=Ar(e),n=Va(A);this.path(n),this.ctx.save(),this.ctx.clip(),this.ctx.drawImage(t,0,0,e.intrinsicWidth,e.intrinsicHeight,i.left,i.top,i.width,i.height),this.ctx.restore()}},t.prototype.renderNodeContent=function(e){return i(this,void 0,void 0,(function(){var A,i,a,s,o,l,c,d,h,u,g,p,m,w,f,B,E,b;return n(this,(function(n){switch(n.label){case 0:this.applyEffects(e.getEffects(4)),A=e.container,i=e.curves,a=A.styles,s=0,o=A.textNodes,n.label=1;case 1:return s0&&y>0&&(f=i.ctx.createPattern(p,"repeat"),i.renderRepeat(E,f,x,T))):function(e){return 2===e.type}(t)&&(B=tr(e,A,[null,null,null]),E=B[0],b=B[1],C=B[2],v=B[3],y=B[4],F=0===t.position.length?[tA]:t.position,x=aA(F[0],v),T=aA(F[F.length-1],y),S=function(e,A,t,i,n){var a=0,r=0;switch(e.size){case 0:0===e.shape?a=r=Math.min(Math.abs(A),Math.abs(A-i),Math.abs(t),Math.abs(t-n)):1===e.shape&&(a=Math.min(Math.abs(A),Math.abs(A-i)),r=Math.min(Math.abs(t),Math.abs(t-n)));break;case 2:if(0===e.shape)a=r=Math.min(SA(A,t),SA(A,t-n),SA(A-i,t),SA(A-i,t-n));else if(1===e.shape){var s=Math.min(Math.abs(t),Math.abs(t-n))/Math.min(Math.abs(A),Math.abs(A-i)),o=IA(i,n,A,t,!0),l=o[0],c=o[1];r=s*(a=SA(l-A,(c-t)/s))}break;case 1:0===e.shape?a=r=Math.max(Math.abs(A),Math.abs(A-i),Math.abs(t),Math.abs(t-n)):1===e.shape&&(a=Math.max(Math.abs(A),Math.abs(A-i)),r=Math.max(Math.abs(t),Math.abs(t-n)));break;case 3:if(0===e.shape)a=r=Math.max(SA(A,t),SA(A,t-n),SA(A-i,t),SA(A-i,t-n));else if(1===e.shape){s=Math.max(Math.abs(t),Math.abs(t-n))/Math.max(Math.abs(A),Math.abs(A-i));var d=IA(i,n,A,t,!1);l=d[0],c=d[1],r=s*(a=SA(l-A,(c-t)/s))}}return Array.isArray(e.size)&&(a=aA(e.size[0],i),r=2===e.size.length?aA(e.size[1],n):a),[a,r]}(t,x,T,v,y),I=S[0],U=S[1],I>0&&U>0&&(Q=i.ctx.createRadialGradient(b+x,C+T,0,b+x,C+T,I),xA(t.stops,2*I).forEach((function(e){return Q.addColorStop(e.stop,gA(e.color))})),i.path(E),i.ctx.fillStyle=Q,I!==U?(k=e.bounds.left+.5*e.bounds.width,M=e.bounds.top+.5*e.bounds.height,O=1/(L=U/I),i.ctx.save(),i.ctx.translate(k,M),i.ctx.transform(1,0,0,L,0,0),i.ctx.translate(-k,-M),i.ctx.fillRect(b,O*(C-M)+M,v,y*O),i.ctx.restore()):i.ctx.fill())),n.label=6;case 6:return A--,[2]}}))},i=this,a=0,r=e.styles.backgroundImage.slice(0).reverse(),o.label=1;case 1:return a0?2!==l.style?[3,5]:[4,this.renderDashedDottedBorder(l.color,l.width,r,e.curves,2)]:[3,11]:[3,13];case 4:return n.sent(),[3,11];case 5:return 3!==l.style?[3,7]:[4,this.renderDashedDottedBorder(l.color,l.width,r,e.curves,3)];case 6:return n.sent(),[3,11];case 7:return 4!==l.style?[3,9]:[4,this.renderDoubleBorder(l.color,l.width,r,e.curves)];case 8:return n.sent(),[3,11];case 9:return[4,this.renderSolidBorder(l.color,r,e.curves)];case 10:n.sent(),n.label=11;case 11:r++,n.label=12;case 12:return s++,[3,3];case 13:return[2]}}))}))},t.prototype.renderDashedDottedBorder=function(e,A,t,a,r){return i(this,void 0,void 0,(function(){var i,s,o,l,c,d,h,u,g,p,m,w,f,B,E,b;return n(this,(function(n){return this.ctx.save(),i=function(e,A){switch(A){case 0:return _a(e.topLeftBorderStroke,e.topRightBorderStroke);case 1:return _a(e.topRightBorderStroke,e.bottomRightBorderStroke);case 2:return _a(e.bottomRightBorderStroke,e.bottomLeftBorderStroke);default:return _a(e.bottomLeftBorderStroke,e.topLeftBorderStroke)}}(a,t),s=qa(a,t),2===r&&(this.path(s),this.ctx.clip()),Da(s[0])?(o=s[0].start.x,l=s[0].start.y):(o=s[0].x,l=s[0].y),Da(s[1])?(c=s[1].end.x,d=s[1].end.y):(c=s[1].x,d=s[1].y),h=0===t||2===t?Math.abs(o-c):Math.abs(l-d),this.ctx.beginPath(),3===r?this.formatPath(i):this.formatPath(s.slice(0,2)),u=A<3?3*A:2*A,g=A<3?2*A:A,3===r&&(u=A,g=A),p=!0,h<=2*u?p=!1:h<=2*u+g?(u*=m=h/(2*u+g),g*=m):(w=Math.floor((h+g)/(u+g)),f=(h-w*u)/(w-1),g=(B=(h-(w+1)*u)/w)<=0||Math.abs(g-f){const a=await tex2dataURL(e,n);if(a){const e=[];e.push({mimeType:a.mimeType,id:A,dataURL:a.dataURL,created:a.created,size:a.size,hasSVGwithBitmap:!1,shouldScale:!0}),i(e,t)}};async function tex2dataURL(e,A){let t=0;for(;!A.mathjax&&!A.mathjaxLoaderFinished&&t<10;)await sleep$1(100),t++;A.mathjaxLoaderFinished||errorlog({where:"text2dataURL",fn:tex2dataURL,message:"mathjaxLoader not ready, using fallback. Try reloading Obsidian or restarting the Excalidraw plugin"});try{return await mathjaxSVG(e,A)}catch(t){await sleep$1(100);try{return await mathjaxSVG(e,A)}catch(t){await sleep$1(100);try{return await mathjaxSVG(e,A)}catch(t){return A.mathjax?new obsidian_module.Notice("Unknown error loading LaTeX. Using fallback solution. Try closing and reopening this drawing."):new obsidian_module.Notice("LaTeX support did not load. Using fallback solution. Try checking your network connection."),await mathjaxImage2html(e)}}}}async function mathjaxSVG(e,A){const t=A.mathjax.tex2svg(e,{display:!0,scale:4}).querySelector("svg");if(t){const e=svgToBase64(t.outerHTML);return{mimeType:"image/svg+xml",fileId:fileid(),dataURL:e,created:Date.now(),size:await getImageSize(e)}}return null}async function mathjaxImage2html(e){const A=document.body.createDiv();A.style.display="table";const t=window.MathJax.tex2chtml(e,{display:!0,scale:4});t.style.margin="3px",t.style.color="black";const i=t.querySelector("mjx-assistive-mml");i&&i.parentElement.removeChild(i),A.appendChild(t),window.MathJax.typeset();const n=await html2canvas(A,{backgroundColor:null});return document.body.removeChild(A),{mimeType:"image/png",fileId:fileid(),dataURL:n.toDataURL(),created:Date.now(),size:{height:n.height,width:n.width}}}const THEME_FILTER="invert(100%) hue-rotate(180deg) saturate(1.25)",markdownRendererRecursionWatcthdog=new Set;class EmbeddedFile{constructor(e,A,t){this.file=null,this.isSVGwithBitmap=!1,this.img="",this.imgInverted="",this.mtime=0,this.mimeType="application/octet-stream",this.size={height:0,width:0},this.attemptCounter=0,this.isHyperlink=!1,this.plugin=e,this.resetImage(A,t)}resetImage(e,A){if(this.imgInverted=this.img="",this.mtime=0,A.startsWith("https://")||A.startsWith("http://"))return this.isHyperlink=!0,void(this.hyperlink=A);this.linkParts=getLinkParts(A),this.hostPath=e,this.linkParts.path?(this.linkParts.width||(this.linkParts.width=this.plugin.settings.mdSVGwidth),this.linkParts.height||(this.linkParts.height=this.plugin.settings.mdSVGmaxHeight),this.file=app.metadataCache.getFirstLinkpathDest(this.linkParts.path,e),this.file||0==this.attemptCounter++&&new obsidian_module.Notice(`Excalidraw Warning: could not find image file: ${A}`,5e3)):new obsidian_module.Notice(`Excalidraw Error\nIncorrect embedded filename: ${A}`)}fileChanged(){return!this.isHyperlink&&(this.file||(this.file=app.metadataCache.getFirstLinkpathDest(this.linkParts.path,this.hostPath),this.file)?this.mtime!=this.file.stat.mtime:(this.attemptCounter++,!1))}setImage(e,A,t,i,n){if(this.file||this.isHyperlink){switch(this.fileChanged()&&(this.imgInverted=this.img=""),this.mtime=this.isHyperlink?0:this.file.stat.mtime,this.size=t,this.mimeType=A,i&&n){case!0:this.imgInverted=e;break;case!1:this.img=e}this.isSVGwithBitmap=n}}isLoaded(e){if(!this.isHyperlink){if(!this.file&&(this.file=app.metadataCache.getFirstLinkpathDest(this.linkParts.path,this.hostPath),!this.file))return this.attemptCounter++,!0;if(this.fileChanged())return!1}return this.isSVGwithBitmap&&e?""!==this.imgInverted:""!==this.img}getImage(e){return this.file||this.isHyperlink?e&&this.isSVGwithBitmap?this.imgInverted:this.img:""}shouldScale(){return this.isHyperlink||!Boolean(this.linkParts&&this.linkParts.original&&this.linkParts.original.endsWith("|100%"))}}class EmbeddedFilesLoader{constructor(e,A){this.terminate=!1,this.plugin=e,this.isDark=A,this.uid=nanoid()}async getObsidianImage(e,A){if(!this.plugin||!e)return null;const t=e instanceof EmbeddedFile&&e.isHyperlink,i=e instanceof EmbeddedFile?e.hyperlink:"",n=e instanceof EmbeddedFile?e.file:e;if(n&&markdownRendererRecursionWatcthdog.has(n))return new obsidian_module.Notice(`Loading of ${n.path}. Please check if there is an inifinite loop of one file embedded in the other.`),null;const a=t?null:e instanceof EmbeddedFile?e.linkParts:{original:n.path,path:n.path,isBlockRef:!1,ref:null,width:this.plugin.settings.mdSVGwidth,height:this.plugin.settings.mdSVGmaxHeight};let r=!1;const s=!t&&this.plugin.isExcalidrawFile(n);if(!t&&!IMAGE_TYPES.contains(n.extension)&&!s&&"md"!==n.extension)return null;const o=t?null:await app.vault.readBinary(n),l=s?await(async e=>{const t=hasExportTheme(this.plugin,n)?getExportTheme(this.plugin,n,"light"):void 0,i={withBackground:!!hasExportBackground(this.plugin,n)&&getWithBackground(this.plugin,n),withTheme:!!t},a=await createSVG(n.path,!0,i,this,t,null,null,[],this.plugin,A+1,getExportPadding(this.plugin,n)),s=a.querySelectorAll("image:not([href^='data:image/svg'])");return s.length>0&&(r=!0),r&&e&&s.forEach((e=>{var A;const t=null===(A=e.parentElement)||void 0===A?void 0:A.id;a.querySelectorAll(`use[href='#${t}']`).forEach((e=>{e.setAttribute("filter",THEME_FILTER)}))})),!r&&a.getAttribute("hasbitmap")&&(r=!0),svgToBase64(a.outerHTML)})(this.isDark):null;let c="image/svg+xml";const d=t?getURLImageExtension(i):n.extension;s||(c=getMimeType(d));let h=t?e instanceof EmbeddedFile?await getDataURLFromURL(e.hyperlink,c):null:null!=l?l:"svg"===n.extension?await getSVGData(app,n):"md"===n.extension?null:await getDataURL(o,c);if(!t&&!h){markdownRendererRecursionWatcthdog.add(n);const e=await this.convertMarkdownToSVG(this.plugin,n,a,A);markdownRendererRecursionWatcthdog.delete(n),h=e.dataURL,r=e.hasSVGwithBitmap}try{const e=await getImageSize(h);return{mimeType:c,fileId:await generateIdFromFile(t?(new TextEncoder).encode(h):o),dataURL:h,created:t?0:n.stat.mtime,hasSVGwithBitmap:r,size:e}}catch(e){return null}}async loadSceneFiles(e,A,t){var i,n;if(t>4)return void new obsidian_module.Notice(t$d("INFINITE_LOOP_WARNING")+t.toString(),6e3);const a=e.getFileEntries();let r;void 0===this.isDark&&(this.isDark="dark"===(null===(n=null===(i=null==e?void 0:e.scene)||void 0===i?void 0:i.appState)||void 0===n?void 0:n.theme));const s=[];for(;!this.terminate&&!(r=a.next()).done;){const e=r.value[1];if(e.isLoaded(this.isDark))e.isSVGwithBitmap&&s.push({mimeType:e.mimeType,id:r.value[0],dataURL:e.getImage(this.isDark),created:e.mtime,size:e.size,hasSVGwithBitmap:e.isSVGwithBitmap,shouldScale:e.shouldScale()});else{const A=await this.getObsidianImage(e,t);A&&s.push({mimeType:A.mimeType,id:r.value[0],dataURL:A.dataURL,created:A.created,size:A.size,hasSVGwithBitmap:A.hasSVGwithBitmap,shouldScale:e.shouldScale()})}}let o;const l=e.getEquationEntries();for(;!this.terminate&&!(o=l.next()).done;)if(!e.getEquation(o.value[0]).isLoaded){const e=o.value[1].latex,A=await tex2dataURL(e,this.plugin);A&&s.push({mimeType:A.mimeType,id:o.value[0],dataURL:A.dataURL,created:A.created,size:A.size,hasSVGwithBitmap:!1,shouldScale:!0})}if(!this.terminate)try{A(s,this.isDark)}catch(e){errorlog({where:"EmbeddedFileLoader.loadSceneFiles",error:e})}}async convertMarkdownToSVG(e,A,t,i){var n,a,r,s;let o=!1;const l=await getTransclusion(t,e.app,A);let c=(null!==(n=l.leadingHashes)&&void 0!==n?n:"")+l.contents;""===c&&(c="# Empty markdown file\nCTRL+Click here to open the file for editing in the current active pane, or CTRL+SHIFT+Click to open it in an adjacent pane.");const d=e.app.metadataCache.getFileCache(A);let h,u=e.settings.mdFont;switch((null==d?void 0:d.frontmatter)&&Boolean(d.frontmatter["excalidraw-font"])&&(u=d.frontmatter["excalidraw-font"]),u){case"Virgil":h=VIRGIL_FONT;break;case"Cascadia":h=CASCADIA_FONT;break;case"":h="";break;default:const t=await getFontDataURL(e.app,u,A.path);h=t.fontDef,u=t.fontName}(null==d?void 0:d.frontmatter)&&null!==d.frontmatter.banner&&(c=c.replace(/banner:\s*.*/,""));const g=(null==d?void 0:d.frontmatter)&&null!==(a=d.frontmatter["excalidraw-font-color"])&&void 0!==a?a:e.settings.mdFontColor;let p=(null==d?void 0:d.frontmatter)&&null!==(r=d.frontmatter["excalidraw-css"])&&void 0!==r?r:"",m=!1;if(p&&""!=p){const t=e.app.metadataCache.getFirstLinkpathDest(p,A.path);t&&(p=await e.app.vault.read(t),m=!0)}if(!m)if(e.settings.mdCSS&&""!==e.settings.mdCSS){const t=e.app.metadataCache.getFirstLinkpathDest(e.settings.mdCSS,A.path);p+=t?`\n${await e.app.vault.read(t)}`:DEFAULT_MD_EMBED_CSS}else p+=DEFAULT_MD_EMBED_CSS;const w=(null==d?void 0:d.frontmatter)&&null!==(s=d.frontmatter["excalidraw-border-color"])&&void 0!==s?s:e.settings.mdBorderColor;w&&""!==w&&!p.match(/svg/i)&&(p+=`svg{border:2px solid;color:${w};transform:scale(.95)}`);let f=` width="${t.width}px" height="100000"`,B=` width="${t.width}px" height="100%"`;const E=(e,A,t)=>`${t?``:""}${e}${A}${""!==h?``:""}`,b=createDiv();b.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),b.setAttribute("class","excalidraw-md-host"),""!==u&&(b.style.fontFamily=u),b.style.overflow="auto",b.style.display="block",b.style.color=g&&""!==g?g:"initial",await obsidian_module.MarkdownRenderer.renderMarkdown(c,b,A.path,e),b.querySelectorAll(":scope > *[class^='frontmatter']").forEach((e=>b.removeChild(e)));const C=Array.from(b.querySelectorAll("span[class='internal-embed']"));for(let t=0;t{const A=e.style,t=window.getComputedStyle(e);let i="";for(const e in A)A.hasOwnProperty(e)&&(i+=`${e}: ${t[e]};`);e.setAttribute("style",i)}));const T=(new XMLSerializer).serializeToString(F),S=(new XMLSerializer).serializeToString(x);document.body.removeChild(v);const I=new DOMParser,U=I.parseFromString(E(T,S),"image/svg+xml").firstElementChild,Q=createDiv();Q.appendChild(U),document.body.appendChild(Q);const k=U.querySelector(".excalidraw-md-footer").scrollHeight,M=U.querySelector(".excalidraw-md-host").scrollHeight+k,L=M<=t.height?M:t.height;document.body.removeChild(Q),f=` width="${t.width}px" height="${L}px"`,B=` width="${t.width}px" height="${L}px"`,b.style.height=L-k+"px",b.style.overflow="hidden";const O=b.querySelectorAll("img:not([src^='data:image/svg+xml'])");O.length>0&&(o=!0),o&&this.isDark&&O.forEach((e=>{e instanceof HTMLImageElement&&(e.style.filter=THEME_FILTER)}));const N=E((new XMLSerializer).serializeToString(b),'',p);return e.ea.mostRecentMarkdownSVG=I.parseFromString(N,"image/svg+xml").firstElementChild,{dataURL:svgToBase64(N),hasSVGwithBitmap:o}}}const getSVGData=async(e,A)=>{const t=await e.vault.read(A);return svgToBase64(t)},generateIdFromFile=async e=>{let A;try{const t=await window.crypto.subtle.digest("SHA-1",e);A=Array.from(new Uint8Array(t)).map((e=>e.toString(16).padStart(2,"0"))).join("")}catch(e){errorlog({where:"EmbeddedFileLoader.generateIdFromFile",error:e}),A=fileid()}return A},{wrapText:wrapText,getFontString:getFontString,getMaxContainerWidth:getMaxContainerWidth}=excalidrawLib;var AutoexportPreference;!function(e){e[e.none=0]="none",e[e.both=1]="both",e[e.png=2]="png",e[e.svg=3]="svg",e[e.inherit=4]="inherit"}(AutoexportPreference||(AutoexportPreference={}));const REGEX_LINK={ //![[link|alias]] [alias](link){num} -EXPR:/(!)?(\[\[([^|\]]+)\|?([^\]]+)?]]|\[([^\]]*)]\(([^)]*)\))(\{(\d+)\})?/g,getRes:e=>e.matchAll(REGEX_LINK.EXPR),isTransclusion:e=>!!e.value[1],getLink:e=>e.value[3]?e.value[3]:e.value[6],isWikiLink:e=>!!e.value[3],getAliasOrLink:e=>REGEX_LINK.isWikiLink(e)?e.value[4]?e.value[4]:e.value[3]:e.value[5]?e.value[5]:e.value[6],getWrapLength:(e,A)=>{const t=parseInt(e.value[8]);return isNaN(t)?A>0?A:null:t}},DRAWING_REG=/\n# Drawing\n[^`]*(```json\n)([\s\S]*?)```\n/gm,DRAWING_REG_FALLBACK=/\n# Drawing\n(```json\n)?(.*)(```)?(%%)?/gm,DRAWING_COMPRESSED_REG=/(\n# Drawing\n[^`]*(?:```compressed\-json\n))([\s\S]*?)(```\n)/gm,DRAWING_COMPRESSED_REG_FALLBACK=/(\n# Drawing\n(?:```compressed\-json\n)?)(.*)((```)?(%%)?)/gm,REG_LINKINDEX_HYPERLINK=/^\w+:\/\//,isCompressedMD=e=>null!==e.match(/```compressed\-json\n/gm),getDecompressedScene=e=>{let A,t=e.matchAll(DRAWING_COMPRESSED_REG);return A=t.next(),A.done&&(t=e.matchAll(DRAWING_COMPRESSED_REG_FALLBACK),A=t.next()),A.value&&A.value.length>1?[decompress(A.value[2]),A]:[null,A]},changeThemeOfExcalidrawMD=e=>{const A=isCompressedMD(e);let t=A?getDecompressedScene(e)[0]:e;return t?(isObsidianThemeDark?1===(t.match(/"theme"\s*:\s*"light"\s*,/g)||[]).length&&(t=t.replace(/"theme"\s*:\s*"light"\s*,/,'"theme": "dark",')):1===(t.match(/"theme"\s*:\s*"dark"\s*,/g)||[]).length&&(t=t.replace(/"theme"\s*:\s*"dark"\s*,/,'"theme": "light",')),A?e.replace(DRAWING_COMPRESSED_REG,`$1${compress(t)}$3`):t):e};function getJSON(e){let A,t;if(isCompressedMD(e)){const[A,t]=getDecompressedScene(e);return A?{scene:A.substring(0,A.lastIndexOf("}")+1),pos:t.value.index}:{scene:e,pos:t.value?t.value.index:0}}if(A=e.matchAll(DRAWING_REG),t=A.next(),t.done&&(A=e.matchAll(DRAWING_REG_FALLBACK),t=A.next()),t.value&&t.value.length>1){const e=t.value[2];return{scene:e.substr(0,e.lastIndexOf("}")+1),pos:t.value.index}}return{scene:e,pos:t.value?t.value.index:0}}function getMarkdownDrawingSection(e,A){return A?`%%\n# Drawing\n\`\`\`compressed-json\n${compress(e)}\n\`\`\`\n%%`:`%%\n# Drawing\n\`\`\`json\n${e}\n\`\`\`\n%%`}const estimateMaxLineLen=(e,A)=>{if(!A||!e)return null;if(e===A)return null;let t=0;const i=e.split("\n");if(1===i.length)return null;for(const e of i){const A=e.trim();A.length>t&&(t=A.length)}return t},wrap=(e,A)=>A?wrapTextAtCharLength(e,A,!1,0):e;class ExcalidrawData{constructor(e){this.plugin=e,this.textElements=null,this.elementLinks=null,this.scene=null,this.deletedElements=[],this.file=null,this.autoexportPreference=AutoexportPreference.inherit,this.textMode=TextMode.raw,this.loaded=!1,this.files=null,this.equations=null,this.compatibilityMode=!1,this.selectedElementIds={},this.disableCompression=!1,this.app=e.app,this.files=new Map,this.equations=new Map}initializeNonInitializedFields(){var e,A,t;if(!this.scene||!this.scene.elements)return;const i=null!==(e=this.scene.source.split("https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/")[1])&&void 0!==e?e:"1.8.16",n=this.scene.elements;for(const e of n){if(e.boundElements){const A=new Map;e.boundElements.forEach((e=>{A.set(e.id,e.type)}));const t=Array.from(A,(([e,A])=>({id:e,type:A})));t.length!==e.boundElements.length&&(e.boundElements=t)}e.boundElementIds&&(e.boundElements||(e.boundElements=[]),e.boundElements=e.boundElements.concat(e.boundElementIds.map((e=>({type:"arrow",id:e})))),delete e.boundElementIds),"text"!==e.type||e.containerId||(e.containerId=null),null===e.x&&(e.x=0),null===e.y&&(e.y=0),null===(null===(A=e.startBinding)||void 0===A?void 0:A.focus)&&(e.startBinding.focus=0),null===(null===(t=e.endBinding)||void 0===t?void 0:t.focus)&&(e.endBinding.focus=0),null===e.fontSize&&(e.fontSize=20)}try{n.filter((e=>"text"===e.type&&e.containerId&&n.some((A=>A.id===e.containerId&&A.boundElements.length>0&&A.boundElements.some((A=>"text"===A.type&&A.id!==e.id&&A.id.length>8)))))).forEach((e=>{try{const A=n.filter((A=>A.id===e.containerId))[0],t=A.boundElements.filter((e=>!("text"===e.type&&!n.some((A=>A.id===e.id)))));A.boundElements=[{id:e.id,type:"text"}].concat(t)}catch(e){}}));const e=!isVersionNewerThanOther(i,"1.8.16");n.filter((e=>e.boundElements&&e.boundElements.length>0)).forEach((A=>{var t;e&&!(null===(t=A.customData)||void 0===t?void 0:t.legacyTextWrap)&&(A.customData=Object.assign(Object.assign({},A.customData),{legacyTextWrap:!0}));const i=A.boundElements.filter((e=>n.some((A=>A.id===e.id))));i.length!==A.boundElements.length&&(A.boundElements=i)})),n.filter((e=>"text"===e.type&&e.containerId&&!n.some((A=>A.id===e.containerId)))).forEach((e=>{e.containerId=null}))}catch(e){}}async loadData(e,A,t){if(!A)return!1;if(this.loaded=!1,this.selectedElementIds={},this.textElements=new Map,this.elementLinks=new Map,this.file!=A&&(this.files.clear(),this.equations.clear()),this.file=A,this.compatibilityMode=!1,this.setShowLinkBrackets(),this.setLinkPrefix(),this.setUrlPrefix(),this.setAutoexportPreferences(),this.scene=null,this.plugin.settings.syncExcalidraw){const e=`${A.path.substring(0,A.path.lastIndexOf(".md"))}.excalidraw`,t=this.app.vault.getAbstractFileByPath(e);if(t&&t instanceof obsidian_module.TFile&&t.stat.mtime>A.stat.mtime){const e=await this.app.vault.read(t);this.scene=JSON.parse(e)}}let i=null;i=(()=>{const A=getJSON(e);if(-1===A.pos)throw new Error("Excalidraw JSON not found in the file");return this.scene||(this.scene=JSON_parse(A.scene)),A})(),this.deletedElements=this.scene.elements.filter((e=>e.isDeleted)),this.scene.elements=this.scene.elements.filter((e=>!e.isDeleted)),this.scene.files||(this.scene.files={}),hasExportTheme(this.plugin,this.file)?this.scene.appState.theme=getExportTheme(this.plugin,this.file,"light"):this.plugin.settings.matchThemeAlways&&(this.scene.appState.theme=isObsidianThemeDark()?"dark":"light"),this.initializeNonInitializedFields();let n=(e=e.substring(0,i.pos)).search(/(^%%\n)?# Text Elements\n/m);if(-1===n)return await this.setTextMode(t,!1),this.loaded=!0,!0;n+=e.match(/((^%%\n)?# Text Elements\n)/m)[0].length,e=e.substring(n),n=0;const a=" ^12345678\n\n".length;let r,s=e.matchAll(/\s\^(.{8})[\n]+/g);for(;!(r=s.next()).done;){let A=e.substring(n,r.value.index);const t=r.value[1],i=this.scene.elements.filter((e=>e.id===t))[0];if(i)if("text"!==i.type)i.link!==A&&(i.link=A,i.version++,i.versionNonce++),this.elementLinks.set(t,A);else{const e=estimateMaxLineLen(i.text,i.originalText),n=A.matchAll(/^%%\*\*\*>>>text element-link:(\[\[[^<*\]]*]])<<<\*\*\*%%/gm).next();n.done||(A=A.replace(/^%%\*\*\*>>>text element-link:\[\[[^<*\]]*]]<<<\*\*\*%%/gm,""),i.link=n.value[1]);const a=await this.parse(A);i.rawText=A,this.textElements.set(t,{raw:A,parsed:a.parsed,wrapAt:e}),a.link&&(i.link=a.link),!i||i.rawText&&""!==i.rawText||(i.rawText=A)}n=r.value.index+a}for(s=(e=e.substring(e.indexOf("# Embedded files\n")+"# Embedded files\n".length)).matchAll(/([\w\d]*):\s*\[\[([^\]]*)]]\n/gm);!(r=s.next()).done;){const e=new EmbeddedFile(this.plugin,this.file.path,r.value[2]);this.setFile(r.value[1],e)}for(s=e.matchAll(/([\w\d]*):\s*(https?:\/\/[^\s]*)\n/gm);!(r=s.next()).done;){const e=new EmbeddedFile(this.plugin,null,r.value[2]);this.setFile(r.value[1],e)}for(s=e.matchAll(/([\w\d]*):\s*\$\$(.*)(\$\$\s*\n)/gm);!(r=s.next()).done;)this.setEquation(r.value[1],{latex:r.value[2],isLoaded:!1});return this.findNewTextElementsInScene(),this.findNewElementLinksInScene(),await this.setTextMode(t,!0),this.loaded=!0,!0}async loadLegacyData(e,A){return!!A&&(this.loaded=!1,this.selectedElementIds={},this.compatibilityMode=!0,this.file=A,this.textElements=new Map,this.elementLinks=new Map,this.setShowLinkBrackets(),this.setLinkPrefix(),this.setUrlPrefix(),this.scene=JSON.parse(e),this.scene.files||(this.scene.files={}),this.initializeNonInitializedFields(),this.plugin.settings.matchThemeAlways&&(this.scene.appState.theme=isObsidianThemeDark()?"dark":"light"),this.files.clear(),this.equations.clear(),this.findNewTextElementsInScene(),this.findNewElementLinksInScene(),await this.setTextMode(TextMode.raw,!0),this.loaded=!0,!0)}async setTextMode(e,A=!1){this.scene&&(this.textMode=e,await this.updateSceneTextElements(A))}updateTextElement(e,A,t,i=!1,n){if(i||A!=e.text){const i=_measureText(A,e.fontSize,e.fontFamily);e.text=A,e.originalText=t,e.containerId&&"arrow"!==n||(e.width=i.w),e.height=i.h,e.baseline=i.baseline}}async updateSceneTextElements(e=!1){var A,t,i,n;const a=null===(A=this.scene.elements)||void 0===A?void 0:A.filter((e=>"text"===e.type));for(const A of a){const a=getContainerElement(A,this.scene),r=null!==(i=null!==(t=await this.getText(A.id))&&void 0!==t?t:A.originalText)&&void 0!==i?i:A.text,s=null===(n=this.textElements.get(A.id))||void 0===n?void 0:n.wrapAt;this.updateTextElement(A,s?wrapText(r,getFontString({fontSize:A.fontSize,fontFamily:A.fontFamily}),getMaxContainerWidth(a)):r,r,e,null==a?void 0:a.type)}}async getText(e){const A=this.textElements.get(e);return A?this.textMode===TextMode.parsed?(A.parsed||this.textElements.set(e,{raw:A.raw,parsed:(await this.parse(A.raw)).parsed,wrapAt:A.wrapAt}),A.parsed):A.raw:null}findNewElementLinksInScene(){var e;let A=!1;const t=null===(e=this.scene.elements)||void 0===e?void 0:e.filter((e=>"text"!==e.type&&e.link&&e.link.startsWith("[[")&&!this.elementLinks.has(e.id)));if(0===t.length)return A;let i,n=JSON.stringify(this.scene);for(const e of t)i=e.id,e.id.length>8&&(A=!0,i=nanoid(),n=n.replaceAll(e.id,i)),this.elementLinks.set(i,e.link);return this.scene=JSON.parse(n),A}findNewTextElementsInScene(e={}){var A;this.selectedElementIds=e;const t=null===(A=this.scene.elements)||void 0===A?void 0:A.filter((e=>"text"===e.type));let i,n=JSON.stringify(this.scene),a=!1;for(const e of t)if(i=e.id,e.id.length>8){if(a=!0,i=nanoid(),this.selectedElementIds[e.id]&&(delete this.selectedElementIds[e.id],this.selectedElementIds[i]=!0),n=n.replaceAll(e.id,i),this.textElements.has(e.id)){const A=this.textElements.get(e.id);this.textElements.set(i,{raw:A.raw,parsed:A.parsed,wrapAt:A.wrapAt}),this.textElements.delete(e.id)}if(!this.textElements.has(i)){const A=e.rawText&&""!==e.rawText?e.rawText:e.text,t=estimateMaxLineLen(e.text,e.originalText);this.textElements.set(i,{raw:A,parsed:null,wrapAt:t}),this.parseasync(i,A,t)}}else if(!this.textElements.has(e.id)){const A=e.rawText&&""!==e.rawText?e.rawText:e.text,t=estimateMaxLineLen(e.text,e.originalText);this.textElements.set(i,{raw:A,parsed:null,wrapAt:t}),this.parseasync(i,A,t)}return a&&(this.scene=JSON.parse(n)),a}updateElementLinksFromScene(){var e;for(const A of this.elementLinks.keys()){const t=null===(e=this.scene.elements)||void 0===e?void 0:e.filter((e=>"text"!==e.type&&e.id===A&&e.link&&e.link.startsWith("[[")));0===t.length?this.elementLinks.delete(A):this.elementLinks.set(A,t[0].link)}}async updateTextElementsFromScene(){var e,A,t;for(const i of this.textElements.keys()){const n=null===(e=this.scene.elements)||void 0===e?void 0:e.filter((e=>"text"===e.type&&e.id===i));if(0===n.length)this.textElements.delete(i);else{const e=await this.getText(i),a=this.scene.prevTextMode===TextMode.parsed?n[0].rawText:null!==(A=n[0].originalText)&&void 0!==A?A:n[0].text;if(e!==(null!==(t=n[0].originalText)&&void 0!==t?t:n[0].text)){const e=estimateMaxLineLen(n[0].text,n[0].originalText);this.textElements.set(i,{raw:a,parsed:(await this.parse(a)).parsed,wrapAt:e})}}}}async parseasync(e,A,t){this.textElements.set(e,{raw:A,parsed:(await this.parse(A)).parsed,wrapAt:t})}parseLinks(e,A,t){return e.substring(A,t.value.index)+(this.showLinkBrackets?"[[":"")+REGEX_LINK.getAliasOrLink(t)+(this.showLinkBrackets?"]]":"")}async getTransclusion(e){const A=getLinkParts(e,this.file),t=this.app.metadataCache.getFirstLinkpathDest(A.path,this.file.path);return await getTransclusion(A,this.app,t,this.plugin.settings.pageTransclusionCharLimit)}async parse(e){e=this.parseCheckbox(e);let A="",t=null,i=0;const n=REGEX_LINK.getRes(e);let a,r=!1,s=!1;for(e.match(REG_LINKINDEX_HYPERLINK)&&(t=e,s=!0);!(a=n.next()).done;){if(!t){const e=REGEX_LINK.getLink(a);t=e.match(REG_LINKINDEX_HYPERLINK)?e:`[[${e}]]`}if(REGEX_LINK.isTransclusion(a)){let t=this.parseCheckbox((await this.getTransclusion(REGEX_LINK.getLink(a))).contents).replaceAll(/%%[^%]*%%/gm,"");this.plugin.settings.removeTransclusionQuoteSigns&&(t=t.replaceAll(/\n\s*>\s?/gm,"\n")),A+=e.substring(i,a.value.index)+wrapTextAtCharLength(t,REGEX_LINK.getWrapLength(a,this.plugin.settings.wordWrappingDefault),this.plugin.settings.forceWrap)}else{const t=this.parseLinks(e,i,a);t&&(A+=t,s||r||(REGEX_LINK.getLink(a).match(REG_LINKINDEX_HYPERLINK)?s=!0:r=!0))}i=a.value.index+a.value[0].length}return A+=e.substring(i,e.length),r&&(A=this.linkPrefix+A),s&&(A=this.urlPrefix+A),{parsed:A,link:t}}parseCheckbox(e){return this.plugin.settings.parseTODO?e.replaceAll(/^- \[\s] /g,`${this.plugin.settings.todo} `).replaceAll(/\n- \[\s] /g,`\n${this.plugin.settings.todo} `).replaceAll(/^- \[[^\s]] /g,`${this.plugin.settings.done} `).replaceAll(/\n- \[[^\s]] /g,`\n${this.plugin.settings.done} `):e}quickParse(e){if((e=>{const A=REGEX_LINK.getRes(e);let t;for(;!(t=A.next()).done;)if(REGEX_LINK.isTransclusion(t))return!0;return!1})(e))return[null,null];e=this.parseCheckbox(e);let A="",t=null,i=0;const n=REGEX_LINK.getRes(e);let a,r=!1,s=!1;for(e.match(REG_LINKINDEX_HYPERLINK)&&(t=e,s=!0);!(a=n.next()).done;){if(!t){const e=REGEX_LINK.getLink(a);t=e.match(REG_LINKINDEX_HYPERLINK)?e:`[[${e}]]`}const n=this.parseLinks(e,i,a);n&&(A+=n,s||r||(REGEX_LINK.getLink(a).match(REG_LINKINDEX_HYPERLINK)?s=!0:r=!0)),i=a.value.index+a.value[0].length}return A+=e.substring(i,e.length),r&&(A=this.linkPrefix+A),s&&(A=this.urlPrefix+A),[A,t]}generateMD(e=[]){let A="# Text Elements\n";for(const e of this.textElements.keys()){const t=this.scene.elements.filter((A=>A.id===e));let i=this.textElements.get(e).raw;t&&1===t.length&&t[0].link&&t[0].rawText===t[0].originalText&&t[0].link.match(/^\[\[[^\]]*]]$/g)&&(i=`%%***>>>text element-link:${t[0].link}<<<***%%`+i),A+=`${i} ^${e}\n\n`}for(const e of this.elementLinks.keys())A+=`${this.elementLinks.get(e)} ^${e}\n\n`;if(A+=this.equations.size>0||this.files.size>0?"\n# Embedded files\n":"",this.equations.size>0)for(const e of this.equations.keys())A+=`${e}: $$${this.equations.get(e).latex}$$\n`;if(this.files.size>0)for(const e of this.files.keys()){const t=/(^[^#\|]*)/,i=this.files.get(e);i.isHyperlink?A+=`${e}: ${i.hyperlink}\n`:A+=`${e}: [[${i.file?i.linkParts.original.replace(t,app.metadataCache.fileToLinktext(i.file,this.file.path)):i.linkParts.original}]]\n`}return A+=this.equations.size>0||this.files.size>0?"\n":"",A+getMarkdownDrawingSection(JSON.stringify({type:this.scene.type,version:this.scene.version,source:this.scene.source,elements:this.scene.elements.concat(e),appState:this.scene.appState,files:this.scene.files},null,"\t"),!this.disableCompression&&this.plugin.settings.compress)}async saveDataURLtoVault(e,A,t){var i;const n=this.scene;let a=`Pasted Image ${window.moment().format("YYYYMMDDHHmmss_SSS")}`;switch(A){case"image/png":default:a+=".png";break;case"image/jpeg":a+=".jpg";break;case"image/svg+xml":a+=".svg";break;case"image/gif":a+=".gif"}const r=(await getAttachmentsFolderAndFilePath(this.app,this.file.path,a)).filepath,s=await this.app.vault.createBinary(r,getBinaryFileFromDataURL(e)),o=new EmbeddedFile(this.plugin,this.file.path,r);return o.setImage(e,A,{height:0,width:0},"dark"===(null===(i=n.appState)||void 0===i?void 0:i.theme),"image/svg+xml"===A),this.setFile(t,o),s}async syncFiles(){let e=!1;const A=this.scene,t=A.elements.filter((e=>"image"===e.type)).map((e=>e.fileId));if(this.files.forEach(((A,i)=>{t.contains(i)||(this.files.delete(i),e=!0)})),this.equations.forEach(((A,i)=>{t.contains(i)||(this.equations.delete(i),e=!0)})),!A.files||0===Object.keys(A.files).length)return!1;const i=new Set;t.forEach((t=>{if(i.has(t)){const n=this.getFile(t),a=this.getEquation(t);if(n&&(n.isHyperlink||n.file&&("md"!==n.file.extension||this.plugin.isExcalidrawFile(n.file))))return;const r=fileid();A.elements.filter((e=>e.fileId===t))[0].fileId=r,e=!0,i.add(r),n&&this.setFile(r,new EmbeddedFile(this.plugin,this.file.path,n.linkParts.original)),a&&this.setEquation(r,{latex:a.latex,isLoaded:!1})}i.add(t)}));for(const t of Object.keys(A.files))this.hasFile(t)||this.hasEquation(t)||(e=!0,await this.saveDataURLtoVault(A.files[t].dataURL,A.files[t].mimeType,t));return e}async syncElements(e,A){this.scene=e;let t=!1;return this.compatibilityMode||(t=await this.syncFiles(),this.scene.files={}),this.updateElementLinksFromScene(),t=t||this.setLinkPrefix()||this.setUrlPrefix()||this.setShowLinkBrackets()||this.findNewElementLinksInScene(),await this.updateTextElementsFromScene(),t||this.findNewTextElementsInScene(A)}async updateScene(e){this.scene=JSON_parse(e),this.updateElementLinksFromScene();const A=this.setLinkPrefix()||this.setUrlPrefix()||this.setShowLinkBrackets()||this.findNewElementLinksInScene();return await this.updateTextElementsFromScene(),!(!A&&!this.findNewTextElementsInScene()||(await this.updateSceneTextElements(),0))}getRawText(e){var A;return null===(A=this.textElements.get(e))||void 0===A?void 0:A.raw}getParsedText(e){const A=this.textElements.get(e);return A?[wrap(A.parsed,A.wrapAt),A.parsed,null]:[null,null,null]}setTextElement(e,A,t,i){const n=estimateMaxLineLen(A,t),[a,r]=this.quickParse(t);return a?(this.textElements.set(e,{raw:t,parsed:a,wrapAt:n}),[wrap(a,n),a,r]):(this.parse(t).then((A=>{const a=A.parsed;this.textElements.set(e,{raw:t,parsed:a,wrapAt:n}),a&&i(wrap(a,n),a)})),[null,null,null])}async addTextElement(e,A,t){let i=estimateMaxLineLen(A,t);this.textElements.has(e)&&(i=this.textElements.get(e).wrapAt);const n=await this.parse(t);return this.textElements.set(e,{raw:t,parsed:n.parsed,wrapAt:i}),[wrap(n.parsed,i),n.parsed,n.link]}deleteTextElement(e){this.textElements.delete(e)}getOpenMode(){const e=this.app.metadataCache.getFileCache(this.file);let A="view-mobile"===this.plugin.settings.defaultMode?DEVICE.isPhone?"view":"normal":this.plugin.settings.defaultMode;switch((null==e?void 0:e.frontmatter)&&null!=e.frontmatter["excalidraw-default-mode"]&&(A=e.frontmatter["excalidraw-default-mode"]),A){case"zen":return{viewModeEnabled:!1,zenModeEnabled:!0};case"view":return{viewModeEnabled:!0,zenModeEnabled:!1};default:return{viewModeEnabled:!1,zenModeEnabled:!1}}}getLinkOpacity(){const e=this.app.metadataCache.getFileCache(this.file);let A=this.plugin.settings.linkOpacity;return(null==e?void 0:e.frontmatter)&&null!=e.frontmatter["excalidraw-linkbutton-opacity"]&&(A=e.frontmatter["excalidraw-linkbutton-opacity"]),A}getOnLoadScript(){const e=this.app.metadataCache.getFileCache(this.file);return(null==e?void 0:e.frontmatter)&&null!=e.frontmatter["excalidraw-onload-script"]?e.frontmatter["excalidraw-onload-script"]:null}setLinkPrefix(){const e=this.linkPrefix,A=this.app.metadataCache.getFileCache(this.file);return(null==A?void 0:A.frontmatter)&&null!=A.frontmatter["excalidraw-link-prefix"]?this.linkPrefix=A.frontmatter["excalidraw-link-prefix"]:this.linkPrefix=this.plugin.settings.linkPrefix,e!=this.linkPrefix}setUrlPrefix(){const e=this.urlPrefix,A=this.app.metadataCache.getFileCache(this.file);return(null==A?void 0:A.frontmatter)&&null!=A.frontmatter["excalidraw-url-prefix"]?this.urlPrefix=A.frontmatter["excalidraw-url-prefix"]:this.urlPrefix=this.plugin.settings.urlPrefix,e!=this.urlPrefix}setAutoexportPreferences(){const e=this.app.metadataCache.getFileCache(this.file);if((null==e?void 0:e.frontmatter)&&null!=e.frontmatter["excalidraw-autoexport"])switch(e.frontmatter["excalidraw-autoexport"].toLowerCase()){case"none":this.autoexportPreference=AutoexportPreference.none;break;case"both":this.autoexportPreference=AutoexportPreference.both;break;case"png":this.autoexportPreference=AutoexportPreference.png;break;case"svg":this.autoexportPreference=AutoexportPreference.svg;break;default:this.autoexportPreference=AutoexportPreference.inherit}else this.autoexportPreference=AutoexportPreference.inherit}setShowLinkBrackets(){const e=this.showLinkBrackets,A=this.app.metadataCache.getFileCache(this.file);return(null==A?void 0:A.frontmatter)&&null!=A.frontmatter["excalidraw-link-brackets"]?this.showLinkBrackets=0!=A.frontmatter["excalidraw-link-brackets"]:this.showLinkBrackets=this.plugin.settings.showLinkBrackets,e!=this.showLinkBrackets}setFile(e,A){if(!A)return;if(this.files.set(e,A),A.isHyperlink)return void this.plugin.filesMaster.set(e,{isHyperlink:!0,path:A.hyperlink,blockrefData:null,hasSVGwithBitmap:A.isSVGwithBitmap});if(!A.file)return;const t=A.linkParts.original.split("#");this.plugin.filesMaster.set(e,{isHyperlink:!1,path:A.file.path+(A.shouldScale()?"":"|100%"),blockrefData:1===t.length?null:t[1],hasSVGwithBitmap:A.isSVGwithBitmap})}getFiles(){return Object.values(this.files)}getFile(e){let A=this.files.get(e);if(A)return A;const t=this.plugin.filesMaster.get(e);return t?(A=new EmbeddedFile(this.plugin,this.file.path,t.blockrefData?t.path+"#"+t.blockrefData:t.path),this.files.set(e,A),A):A}getFileEntries(){return this.files.entries()}deleteFile(e){this.files.delete(e)}hasFile(e){if(this.files.has(e))return!0;if(this.plugin.filesMaster.has(e)){const A=this.plugin.filesMaster.get(e);if(A.isHyperlink)return this.files.set(e,new EmbeddedFile(this.plugin,this.file.path,A.path)),!0;const t=A.path.split("|")[0].split("#")[0];if(!this.app.vault.getAbstractFileByPath(t))return this.plugin.filesMaster.delete(e),!0;const i=A.path.endsWith("100%"),n=new EmbeddedFile(this.plugin,this.file.path,(A.blockrefData?t+"#"+A.blockrefData:t)+(i?"|100%":""));return this.files.set(e,n),!0}return!1}setEquation(e,A){this.equations.set(e,{latex:A.latex,isLoaded:A.isLoaded}),this.plugin.equationsMaster.set(e,A.latex)}getEquation(e){let A=this.equations.get(e);if(A)return A;const t=this.plugin.equationsMaster.get(e);return t?(this.equations.set(e,{latex:t,isLoaded:!1}),{latex:t,isLoaded:!1}):A}getEquationEntries(){return this.equations.entries()}deleteEquation(e){this.equations.delete(e)}hasEquation(e){return!!this.equations.has(e)||!!this.plugin.equationsMaster.has(e)&&(this.equations.set(e,{latex:this.plugin.equationsMaster.get(e),isLoaded:!1}),!0)}}const getTransclusion=async(e,A,t,i)=>{var n,a,r,s,o,l,c,d,h;if(!e.path)return{contents:e.original.trim(),lineNum:0};if(!(t&&t instanceof obsidian_module.TFile))return{contents:e.original.trim(),lineNum:0};const u=await A.vault.read(t);if(!e.ref)return i?{contents:u.substring(0,i).trim(),lineNum:0}:{contents:u.trim(),lineNum:0};const g=(await A.metadataCache.blockCache.getForFile({isCancelled:()=>!1},t)).blocks.filter((e=>"comment"!=e.node.type));if(!g)return{contents:e.original.trim(),lineNum:0};if(e.isBlockRef){let A=null===(n=g.filter((A=>A.node.id==e.ref))[0])||void 0===n?void 0:n.node;if(!A)return{contents:e.original.trim(),lineNum:0};["blockquote"].includes(A.type)&&(A=A.children[0]);const t=A.position.start.offset,i=A.position.start.line,a=A.position.end.offset;return{contents:u.substring(t,a).replaceAll(/ \^\S*$|^\^\S*$/gm,"").trim(),lineNum:i}}const p=g.filter((e=>0===e.display.search(/^#+\s/)));let m=null,w=0,f=null,B=1;for(let A=0;AB;)e++;return e===p.length&&p[e-1].node.depth>B?{leadingHashes:"#".repeat(B)+" ",contents:u.substring(m).trim(),lineNum:w}:(f=p[e].node.position.start.offset-1,{leadingHashes:"#".repeat(B)+" ",contents:u.substring(m,f).trim(),lineNum:w})}const t=p[A].node.children[0],i=null===(r=null===(a=p[A].node.data)||void 0===a?void 0:a.hProperties)||void 0===r?void 0:r.dataHeading,n=null==t?void 0:t.children;!m&&((null===(s=null==t?void 0:t.value)||void 0===s?void 0:s.replaceAll(REG_BLOCK_REF_CLEAN,""))===e.ref||(null===(o=null==t?void 0:t.title)||void 0===o?void 0:o.replaceAll(REG_BLOCK_REF_CLEAN,""))===e.ref||(null==i?void 0:i.replaceAll(REG_BLOCK_REF_CLEAN,""))===e.ref||n&&(null===(c=null===(l=n[0])||void 0===l?void 0:l.value)||void 0===c?void 0:c.replaceAll(REG_BLOCK_REF_CLEAN,""))===e.ref)&&(m=null===(d=p[A].node.children[0])||void 0===d?void 0:d.position.start.offset,B=p[A].node.depth,w=null===(h=p[A].node.children[0])||void 0===h?void 0:h.position.start.line)}return m?{leadingHashes:"#".repeat(B)+" ",contents:u.substring(m).trim(),lineNum:w}:{contents:e.original.trim(),lineNum:0}};class Prompt extends obsidian_module.Modal{constructor(e,A,t,i,n){super(e),this.prompt_text=A,this.default_value=t,this.placeholder=i,this.prompt_desc=n}onOpen(){this.titleEl.setText(this.prompt_text),this.createForm()}onClose(){this.contentEl.empty()}createForm(){var e;let A=this.contentEl.createDiv();A.addClass("excalidraw-prompt-div"),this.prompt_desc&&(A=A.createDiv(),A.style.width="100%",A.createEl("p").innerHTML=this.prompt_desc);const t=A.createEl("form");t.addClass("excalidraw-prompt-form"),t.type="submit",t.onsubmit=e=>{e.preventDefault(),this.resolve(this.promptEl.value),this.close()},this.promptEl=t.createEl("input"),this.promptEl.type="text",this.promptEl.placeholder=this.placeholder,this.promptEl.value=null!==(e=this.default_value)&&void 0!==e?e:"",this.promptEl.addClass("excalidraw-prompt-input"),this.promptEl.select()}async openAndGetValue(e){this.resolve=e,this.open()}}class GenericInputPrompt extends obsidian_module.Modal{static Prompt(e,A,t,i,n){return new GenericInputPrompt(e,A,t,i,n).waitForClose}constructor(e,A,t,i,n){super(e),this.header=A,this.didSubmit=!1,this.submitClickCallback=()=>this.submit(),this.cancelClickCallback=()=>this.cancel(),this.submitEnterCallback=e=>{"Enter"===e.key&&(e.preventDefault(),this.submit())},this.placeholder=t,this.input=i,this.buttons=n,this.waitForClose=new Promise(((e,A)=>{this.resolvePromise=e,this.rejectPromise=A})),this.display(),this.open()}display(){this.contentEl.empty(),this.titleEl.textContent=this.header;const e=this.contentEl.createDiv();this.inputComponent=this.createInputField(e,this.placeholder,this.input),this.createButtonBar(e)}createInputField(e,A,t){const i=new obsidian_module.TextComponent(e);return i.inputEl.style.width="100%",i.setPlaceholder(null!=A?A:"").setValue(null!=t?t:"").onChange((e=>this.input=e)).inputEl.addEventListener("keydown",this.submitEnterCallback),i}createButton(e,A,t){const i=new obsidian_module.ButtonComponent(e);return i.setButtonText(A).onClick(t),i}createButtonBar(e){const A=e.createDiv();if(this.buttons&&this.buttons.length>0){let e=null;for(const t of this.buttons){const i=new obsidian_module.ButtonComponent(A);i.setButtonText(t.caption).onClick((e=>{const A=t.action(this.input);A&&(this.input=A),this.submit()})),e=null!=e?e:i}e&&(e.setCta().buttonEl.style.marginRight="0")}else this.createButton(A,"Ok",this.submitClickCallback).setCta().buttonEl.style.marginRight="0";this.createButton(A,"Cancel",this.cancelClickCallback),A.style.display="flex",A.style.flexDirection="row-reverse",A.style.justifyContent="flex-start",A.style.marginTop="1rem"}submit(){this.didSubmit=!0,this.close()}cancel(){this.close()}resolveInput(){this.didSubmit?this.resolvePromise(this.input):this.rejectPromise("No input given.")}removeInputListener(){var e,A;null===(A=null===(e=this.inputComponent)||void 0===e?void 0:e.inputEl)||void 0===A||A.removeEventListener("keydown",this.submitEnterCallback)}onOpen(){super.onOpen(),this.inputComponent.inputEl.focus(),this.inputComponent.inputEl.select()}onClose(){super.onClose(),this.resolveInput(),this.removeInputListener()}}class GenericSuggester extends obsidian_module.FuzzySuggestModal{static Suggest(e,A,t,i,n){return new GenericSuggester(e,A,t,i,n).promise}constructor(e,A,t,i,n){var a;super(e),this.displayItems=A,this.items=t,this.hint=i,this.instructions=n,this.limit=20,this.setPlaceholder(null!==(a=this.hint)&&void 0!==a?a:""),n&&this.setInstructions(this.instructions),this.promise=new Promise(((e,A)=>{this.resolvePromise=e,this.rejectPromise=A})),this.open()}getItemText(e){return this.displayItems[this.items.indexOf(e)]}getItems(){return this.items}selectSuggestion(e,A){this.resolved=!0,super.selectSuggestion(e,A)}onChooseItem(e){this.resolved=!0,this.resolvePromise(e)}onClose(){super.onClose(),this.resolved||this.rejectPromise(this.inputEl.value)}}class NewFileActions extends obsidian_module.Modal{constructor(e,A,t,i){super(e.app),this.plugin=e,this.path=A,this.keys=t,this.view=i}onOpen(){this.createForm()}async onClose(){}openFile(e){e&&getLeaf(this.plugin,this.view.leaf,this.keys).openFile(e,{active:!0})}createForm(){this.titleEl.setText("New File"),this.contentEl.createDiv({cls:"excalidraw-prompt-center",text:"File does not exist. Do you want to create it?"}),this.contentEl.createDiv({cls:"excalidraw-prompt-center filepath",text:this.path}),this.contentEl.createDiv({cls:"excalidraw-prompt-center"},(e=>{e.style.textAlign="right";const A=()=>this.path&&""!==this.path?!!this.view.file||(new obsidian_module.Notice("Unknown error. It seems as if your drawing was closed or the drawing file is missing"),!1):(new obsidian_module.Notice("Error: Filename for new file may not be empty"),!1),t=async e=>{if(!this.path.includes("/")){const e=new RegExp(`${this.view.file.name}$`,"g");this.path=this.view.file.path.replace(e,this.path)}return this.path.match(/\.md$/)||(this.path=`${this.path}.md`),checkAndCreateFolder(splitFolderAndFilename(this.path).folderpath),await this.app.vault.create(this.path,e)};e.createEl("button",{text:"Create Markdown"}).onclick=async()=>{if(!A)return;const e=await t("");this.openFile(e),this.close()},e.createEl("button",{text:"Create Excalidraw"}).onclick=async()=>{if(!A)return;const e=await t(await this.plugin.getBlankDrawing());await sleep$1(200),this.openFile(e),this.close()},e.createEl("button",{text:"Never Mind"}).onclick=()=>{this.close()}}))}}class ScriptEngine{constructor(e){this.plugin=e,this.scriptIconMap={},this.loadScripts(),this.registerEventHandlers()}registerEventHandlers(){const e=e=>{if(!e.endsWith(".svg"))return;const A=app.vault.getAbstractFileByPath(getIMGFilename(e,"md"));A&&A instanceof obsidian_module.TFile&&(this.unloadScript(this.getScriptName(A),A.path),this.loadScript(A))};this.plugin.registerEvent(app.vault.on("delete",(async A=>{A instanceof obsidian_module.TFile&&A.path.startsWith(this.scriptPath)&&(this.unloadScript(this.getScriptName(A),A.path),e(A.path))}))),this.plugin.registerEvent(app.vault.on("create",(async A=>{A instanceof obsidian_module.TFile&&A.path.startsWith(this.scriptPath)&&(this.loadScript(A),e(A.path))}))),this.plugin.registerEvent(app.vault.on("rename",(async(A,t)=>{if(!(A instanceof obsidian_module.TFile))return;const i=t.startsWith(this.scriptPath),n=A.path.startsWith(this.scriptPath);i&&(this.unloadScript(this.getScriptName(t),t),e(t)),n&&(this.loadScript(A),e(A.path))})))}updateScriptPath(){this.scriptPath!==this.plugin.settings.scriptFolderPath&&(this.scriptPath&&this.unloadScripts(),this.loadScripts())}getListofScripts(){if(this.scriptPath=this.plugin.settings.scriptFolderPath,app.vault.getAbstractFileByPath(this.scriptPath))return app.vault.getFiles().filter((e=>e.path.startsWith(this.scriptPath)&&"md"===e.extension));this.scriptPath=null}loadScripts(){var e;null===(e=this.getListofScripts())||void 0===e||e.forEach((e=>this.loadScript(e)))}getScriptName(e){let A="",t="";e instanceof obsidian_module.TFile?(A=e.basename,t=e.path):(A=splitFolderAndFilename(e).basename,t=e);const i=t.split(`${this.scriptPath}/`)[1],n=i.lastIndexOf("/");return n>-1?i.substring(0,n+1)+A:A}async addScriptIconToMap(e,A){const t=getIMGFilename(e,"svg"),i=app.vault.getAbstractFileByPath(t),n=i&&i instanceof obsidian_module.TFile?await app.vault.read(i):null;this.scriptIconMap=Object.assign({},this.scriptIconMap);const a=splitFolderAndFilename(A);this.scriptIconMap[e]={name:a.filename,group:"/"===a.folderpath?"":a.folderpath,svgString:n},this.updateToolPannels()}loadScript(e){if("md"!==e.extension)return;const A=this.getScriptName(e);this.addScriptIconToMap(e.path,A),this.plugin.addCommand({id:A,name:`(Script) ${A}`,checkCallback:t=>{if(t)return Boolean(app.workspace.getActiveViewOfType(ExcalidrawView));const i=app.workspace.getActiveViewOfType(ExcalidrawView);return!!i&&((async()=>{const t=await app.vault.read(e);t&&this.executeScript(i,t,A,e)})(),!0)}})}unloadScripts(){const e=app.vault.getFiles().filter((e=>e.path.startsWith(this.scriptPath)));e.forEach((e=>{this.unloadScript(this.getScriptName(e),e.path)}))}unloadScript(e,A){if(!A.endsWith(".md"))return;delete this.scriptIconMap[A],this.scriptIconMap=Object.assign({},this.scriptIconMap),this.updateToolPannels();const t=`${PLUGIN_ID}:${e}`;app.commands.commands[t]&&delete app.commands.commands[t]}async executeScript(e,A,t,i){if(!e||!A||!t)return;this.plugin.ea.reset(),this.plugin.ea.setView(e),this.plugin.ea.activeScript=t;const n=Object.getPrototypeOf((async()=>{})).constructor;let a=null;return a=await new n("ea","utils",A)(this.plugin.ea,{inputPrompt:(e,A,t,i)=>ScriptEngine.inputPrompt(app,e,A,t,i),suggester:(e,A,t,i)=>ScriptEngine.suggester(app,e,A,t,i),scriptFile:i}),this.plugin.ea.activeScript=null,a}updateToolPannels(){app.workspace.getLeavesOfType("excalidraw").forEach((e=>{var A,t;null===(t=null===(A=e.view.toolsPanelRef)||void 0===A?void 0:A.current)||void 0===t||t.updateScriptIconMap(this.scriptIconMap)}))}static async inputPrompt(e,A,t,i,n){try{return await GenericInputPrompt.Prompt(e,A,t,i,n)}catch(e){return}}static async suggester(e,A,t,i,n){try{return await GenericSuggester.Suggest(e,A,t,i,n)}catch(e){return}}}var t$c={d:(e,A)=>{for(var t in A)t$c.o(A,t)&&!t$c.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},r$e={};t$c.d(r$e,{QA:()=>w$1,ZP:()=>j$1,qt:()=>x$1,MX:()=>$});const e$d={red:"hsl(0, 100%, 50%)",orange:"hsl(30, 100%, 50%)",yellow:"hsl(60, 100%, 50%)","lime green":"hsl(90, 100%, 50%)",green:"hsl(120, 100%, 50%)","blue green":"hsl(150, 100%, 50%)",cyan:"hsl(180, 100%, 50%)","sky blue":"hsl(210, 100%, 50%)",blue:"hsl(240, 100%, 50%)",purple:"hsl(270, 100%, 50%)",magenta:"hsl(300, 100%, 50%)",pink:"hsl(330, 100%, 50%)"};function s$a(e,A,t){return Math.max(e,Math.min(A,t))}function n$c(e,A){return+e.toFixed(A>=0?A:0)}function a$c(e){const A=e%360;return A<0?A+360:A}function i$a(e){return void 0!==e?s$a(0,e,1):1}function o$b(e){return Math.floor(Math.random()*e)}function h$4(e){var A;const{Cmin:t,Cmax:i,H:n,delta:a}=function(e){const[A,t,i]=Object.values(e).map((e=>e/255)),n=Math.max(A,t,i),a=Math.min(A,t,i),r=n-a;return{Cmin:a,Cmax:n,H:0===r?0:n===A?(t-i)/r%6:n===t?(i-A)/r+2:(A-t)/r+4,delta:r}}(e),r=(i+t)/2,s=0===a?0:a/(1-Math.abs(2*r-1));return{h:a$c(60*n),s:100*s,l:100*r,a:null!==(A=e.a)&&void 0!==A?A:1}}function u$8(e){const{h:A,s:t,l:i,a:n}=e,a=i/100,r=t/100,s=(1-Math.abs(2*a-1))*r,o=s*(1-Math.abs(A/60%2-1)),l=a-s/2,c=A<60||300<=A&&A<360?s:120<=A&&A<240?0:o,d=240<=A&&A<360?0:60<=A&&A<180?s:o,h=A<120?0:180<=A&&A<300?s:o,[u,g,p]=[c,d,h].map((e=>255*(e+l)));return{r:u,g:g,b:p,a:null!=n?n:1}}function l$5(e){const[A,t,i,n]=Object.values(e).map((e=>parseInt(e,16)));return{r:A,g:t,b:i,a:n?n/255:1}}const c$a=/^#?([\da-f])([\da-f])([\da-f])([\da-f])?$|^#?([\da-f]{2})([\da-f]{2})([\da-f]{2})?([\da-f]{2})?$/gi,f$3=/hsla?\s*\(\s*([+-]?\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function d$2({h:e,s:A,l:t,a:i}){return[u$8({h:a$c(e),s:s$a(0,A,100),l:s$a(0,t,100),a:i$a(i)}),"hsl"]}const g$2=/rgba?\s*\(\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function b$5({r:e,g:A,b:t,a:i}){return[{r:s$a(0,e,255),g:s$a(0,A,255),b:s$a(0,t,255),a:i$a(i)},"rgb"]}var p$3,v$2,m$1=function(e,A,t,i,n){if("m"===i)throw new TypeError("Private method is not writable");if("a"===i&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof A?e!==A||!n:!A.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===i?n.call(e,t):n?n.value=t:A.set(e,t),t},y$1=function(e,A,t,i){if("a"===t&&!i)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof A?e!==A||!i:!A.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===t?i:"a"===t?i.call(e):i?i.value:A.get(e)};class w$1{constructor(e){var A,t;p$3.set(this,{r:0,g:0,b:0,a:1}),v$2.set(this,"rgb");const i=w$1.Parsers.map((A=>A(e))).find((e=>"invalid"!==e[1]));i?(A=this,t=this,[{set value(e){m$1(A,p$3,e,"f")}}.value,{set value(e){m$1(t,v$2,e,"f")}}.value]=i):m$1(this,v$2,"invalid","f")}get red(){return y$1(this,p$3,"f").r}get blue(){return y$1(this,p$3,"f").b}get green(){return y$1(this,p$3,"f").g}get alpha(){return y$1(this,p$3,"f").a}get hue(){return h$4(y$1(this,p$3,"f")).h}get saturation(){return h$4(y$1(this,p$3,"f")).s}get lightness(){return h$4(y$1(this,p$3,"f")).l}get format(){return y$1(this,v$2,"f")}isValid(){return"invalid"!==y$1(this,v$2,"f")}rgba(){return y$1(this,p$3,"f")}hsla(){return h$4(y$1(this,p$3,"f"))}hexa({round:e=!1}={}){return function(e,A=!1){let{r:t,g:i,b:n,a:a}=e;a&&(a*=255),A&&([t,i,n,a]=[t,i,n,a].map((e=>e&&Math.round(e))));const[r,s,o,l]=[t,i,n,null!=a?a:255].map((e=>e.toString(16).padStart(2,"0").toUpperCase()));return{r:r,g:s,b:o,a:l}}(y$1(this,p$3,"f"),e)}stringRGB({alpha:e=!0,precision:A=[0,0,0,1]}={}){const[t,i,n,a]=Object.values(y$1(this,p$3,"f")).map(((e,t)=>n$c(e,A[t])));return e?`rgba(${t}, ${i}, ${n}, ${a})`:`rgb(${t}, ${i}, ${n})`}stringHEX({alpha:e=!0}={}){const[A,t,i,n]=Object.values(this.hexa({round:!0}));return`#${A}${t}${i}${e?n:""}`}stringHSL({alpha:e=!0,precision:A=[0,0,0,1]}={}){const[t,i,n,a]=Object.values(this.hsla()).map(((e,t)=>n$c(e,A[t])));return e?`hsla(${t}, ${i}%, ${n}%, ${a})`:`hsl(${t}, ${i}%, ${n}%)`}hueTo(e){var A;const{h:t,s:i,l:n,a:a}=this.hsla(),r="number"==typeof e?a$c(e):Number(null!==(A=e$d[e].match(/\d{1,3}/))&&void 0!==A?A:t);return m$1(this,p$3,u$8({h:r,s:i,l:n,a:a}),"f"),this}hueBy(e){const{h:A,s:t,l:i,a:n}=this.hsla();return m$1(this,p$3,u$8({h:a$c(A+e),s:t,l:i,a:n}),"f"),this}saturationTo(e){const{h:A,l:t,a:i}=this.hsla();return m$1(this,p$3,u$8({h:A,s:s$a(0,e,100),l:t,a:i}),"f"),this}saturateBy(e){const{h:A,s:t,l:i,a:n}=this.hsla();return m$1(this,p$3,u$8({h:A,s:s$a(0,t+e,100),l:i,a:n}),"f"),this}desaturateBy(e){return this.saturateBy(-1*e)}lightnessTo(e){const{h:A,s:t,a:i}=this.hsla();return m$1(this,p$3,u$8({h:A,s:t,l:s$a(0,e,100),a:i}),"f"),this}lighterBy(e){const{h:A,s:t,l:i,a:n}=this.hsla();return m$1(this,p$3,u$8({h:A,s:t,l:s$a(0,i+e,100),a:n}),"f"),this}darkerBy(e){return this.lighterBy(-1*e)}alphaTo(e){return m$1(this,p$3,Object.assign(Object.assign({},y$1(this,p$3,"f")),{a:s$a(0,e,1)}),"f"),this}alphaBy(e){return m$1(this,p$3,Object.assign(Object.assign({},y$1(this,p$3,"f")),{a:s$a(0,y$1(this,p$3,"f").a+e,1)}),"f"),this}invert({alpha:e=!1}={}){const{r:A,g:t,b:i,a:n}=y$1(this,p$3,"f");return m$1(this,p$3,{r:255-A,g:255-t,b:255-i,a:e?1-n:n},"f"),this}grayscale(){return this.desaturateBy(100)}rotate(e){return this.hueBy(e)}}function $(){return new w$1({r:o$b(255),g:o$b(255),b:o$b(255),a:Math.random()})}function x$1(e){(e=e.filter(((e,A,t)=>t.indexOf(e)===A))).forEach((e=>e(w$1)))}p$3=new WeakMap,v$2=new WeakMap,w$1.Parsers=[function(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{r:A,g:t,b:i}=e;return void 0!==A&&void 0!==t&&void 0!==i&&"number"==typeof A}(e))return b$5(e);if("string"==typeof e){g$2.lastIndex=0;const A=g$2.exec(e);if(A){const[e,t,i,n]=A.filter((e=>void 0!==e)).slice(1).map(((e,A)=>e.includes("%")?+e.slice(0,-1)*(A<3?2.55:.01):+e));return b$5({r:e,g:t,b:i,a:n})}}return[{r:0,g:0,b:0,a:1},"invalid"]},function(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{r:A,g:t,b:i}=e;return void 0!==A&&void 0!==t&&void 0!==i&&"string"==typeof A}(e))return[l$5(e),"hex"];if("string"==typeof e){c$a.lastIndex=0;const A=c$a.exec(e);if(A){const[e,t,i,n]=A.filter((e=>void 0!==e)).slice(1).map((e=>1===e.length?e.repeat(2):e));return[l$5({r:e,g:t,b:i,a:null!=n?n:"FF"}),"hex"]}}return[{r:0,g:0,b:0,a:1},"invalid"]},function(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{h:A,s:t,l:i}=e;return void 0!==A&&void 0!==t&&void 0!==i}(e))return d$2(e);if("string"==typeof e){f$3.lastIndex=0;const A=f$3.exec(e);if(A){const[e,t,i,n]=A.filter((e=>void 0!==e)).slice(1).map(((e,A)=>e.includes("%")?+e.slice(0,-1)*(0===A?3.59:A<3?1:.01):+e));return d$2({h:e,s:t,l:i,a:n})}}return[{r:0,g:0,b:0,a:1},"invalid"]}];const j$1=e=>new w$1(e);r$e.QA;var O$1=r$e.ZP,B=r$e.qt;r$e.MX;var e$c={d:(e,A)=>{for(var t in A)e$c.o(A,t)&&!e$c.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},a$b={};function t$b(e){const A=e%360;return A<0?A+360:A}e$c.d(a$b,{Z:()=>n$b});const n$b=e=>{e.prototype.harmony=function({type:A="analogous",effect:t="tones",amount:i=5}={}){const{h:n,s:a,l:r,a:s}=this.hsla();switch("monochromatic"===A&&(o=i,i=Math.max(2,Math.min(o,10))),A){case"analogous":return[-30,0,30].map((A=>new e({h:t$b(n+A),s:a,l:r,a:s})));case"complementary":return[0,180].map((A=>new e({h:t$b(n+A),s:a,l:r,a:s})));case"split-complementary":return[0,150,210].map((A=>new e({h:t$b(n+A),s:a,l:r,a:s})));case"double-split-complementary":return[-30,0,30,150,210].map((A=>new e({h:t$b(n+A),s:a,l:r,a:s})));case"triad":return[0,120,240].map((A=>new e({h:t$b(n+A),s:a,l:r,a:s})));case"rectangle":return[0,60,180,240].map((A=>new e({h:t$b(n+A),s:a,l:r,a:s})));case"square":return[0,90,180,270].map((A=>new e({h:t$b(n+A),s:a,l:r,a:s})));case"monochromatic":{const A="tones"===t?a:r;let o=("tints"===t?100-A:A)/i;o="tints"===t?o:-1*o;const l=[A];for(let e=0;enew e({h:n,s:A,l:r,a:s}))):l.map((A=>new e({h:n,s:a,l:A,a:s})))}}var o}};var r$d=a$b.Z,a$a={d:(e,A)=>{for(var t in A)a$a.o(A,t)&&!a$a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},t$a={};a$a.d(t$a,{Z:()=>k});const e$b=6/29,n$a=Math.pow(e$b,3),c$9=Math.pow(29/3,3),r$c={x:.96422,y:1,z:.82521};function u$7(e,A){return[e[0][0]*A[0]+e[0][1]*A[1]+e[0][2]*A[2],e[1][0]*A[0]+e[1][1]*A[1]+e[1][2]*A[2],e[2][0]*A[0]+e[2][1]*A[1]+e[2][2]*A[2]]}function s$9(e,A,t){return Math.max(e,Math.min(A,t))}function o$a(e){const A=e%360;return A<0?A+360:A}function l$4(e){const[A,t,i]=Object.values(e).map((e=>e/255)),n=Math.max(A,t,i),a=Math.min(A,t,i),r=n-a;return{Cmin:a,Cmax:n,H:0===r?0:n===A?(t-i)/r%6:n===t?(i-A)/r+2:(A-t)/r+4,delta:r}}function b$4(e){var A;const{Cmin:t,Cmax:i,H:n,delta:a}=l$4(e),r=(i+t)/2,s=0===a?0:a/(1-Math.abs(2*r-1));return{h:o$a(60*n),s:100*s,l:100*r,a:null!==(A=e.a)&&void 0!==A?A:1}}function h$3(e){var A;const{Cmax:t,H:i,delta:n}=l$4(e),a=0===n?0:n/t;return{h:o$a(60*i),s:100*a,v:100*t,a:null!==(A=e.a)&&void 0!==A?A:1}}function v$1(e){const{h:A,a:t}=b$4(e),{r:i,g:n,b:a}=e;return{h:A,w:Math.min(i,n,a)/2.55,b:100*(1-Math.max(i,n,a)/255),a:t}}function i$9(e){const[A,t,i]=u$7([[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],Object.values(e).map((e=>{return 100*(A=e,(A/=255)<.04045?A/12.92:Math.pow((A+.055)/1.055,2.4));var A})));return function(e){const[A,t,i]=u$7([[1.0479298208405488,.022946793341019088,-.05019222954313557],[.029627815688159344,.990434484573249,-.01707382502938514],[-.009243058152591178,.015055144896577895,.7518742899580008]],Object.values(e));return{x:A,y:t,z:i,a:e.a}}({x:A,y:t,z:i,a:e.a})}function m(e){const A=Object.values(i$9(e)).map(((e,A)=>e/(100*Object.values(r$c)[A]))).map((e=>e>n$a?Math.cbrt(e):(c$9*e+16)/116));return{l:116*A[1]-16,a:500*(A[0]-A[1]),b:200*(A[1]-A[2]),alpha:e.a}}function p$2(e){const{l:A,a:t,b:i}=m(e),n=180*Math.atan2(i,t)/Math.PI;return{l:A,c:Math.sqrt(Math.pow(t,2)+Math.pow(i,2)),h:o$a(n),a:e.a}}function f$2(e){const[A,t,i]=Object.values(i$9(e)).map((e=>e/100)),n=t/r$c.y,a=A&&t&&i?A+15*t+3*i:19,r=4*A/a,s=9*t/a,o=r$c.x+15*r$c.y+3*r$c.z,l=4*r$c.x/o,c=9*r$c.y/o;let d=n>n$a?116*Math.cbrt(n)-16:c$9*n,h=13*d*(r-l),u=13*d*(s-c);return d===Number(-0)&&(d=0),h===Number(-0)&&(h=0),u===Number(-0)&&(u=0),{l:d,u:h,v:u,a:e.a}}function M(e){const{x:A,y:t,z:i}=i$9(e),[n,a,r]=u$7([[2/3,0,0],[0,1,0],[-.5,1.5,.5]],[A,t,i]);return{u:n,v:a,w:r,a:e.a}}function w(e){let{r:A,g:t,b:i}=e;const n=Math.min(A,t,i);[A,t,i]=[A,t,i].map((e=>e-n));const a=Math.max(A,t,i);let r=Math.min(A,t);A-=r,t-=r,i&&t&&(i/=2,t/=2),r+=t,i+=t;const s=Math.max(A,r,i);if(s){const e=a/s;[A,r,i]=[A,r,i].map((A=>A*e))}return[A,r,i]=[A,r,i].map((e=>e+n)),{r:A,y:r,b:i,a:e.a}}function O(e){const{r:A,g:t,b:i,a:n}=e,a=1-Math.max(A,t,i)/255,[r,s,o]=1===a?[0,0,0]:[A,t,i].map((e=>100*(1-e/255-a)/(1-a)));return{c:r,m:s,y:o,k:100*a,a:n}}function j(e){const{h:A,s:t,v:i,a:n}=e,a=i/100,r=a*(t/100),s=r*(1-Math.abs(A/60%2-1)),o=a-r,l=A<60||300<=A&&A<360?r:120<=A&&A<240?0:s,c=240<=A&&A<360?0:60<=A&&A<180?r:s,d=A<120?0:180<=A&&A<300?r:s,[h,u,g]=[l,c,d].map((e=>255*(e+o)));return{r:h,g:u,b:g,a:null!=n?n:1}}function x(e){const[A,t,i]=Object.values(function(e){const[A,t,i]=u$7([[.9554734527042182,-.023098536874261423,.0632593086610217],[-.028369706963208136,1.0099954580058226,.021041398966943008],[.012314001688319899,-.020507696433477912,1.3303659366080753]],Object.values(e));return{x:A,y:t,z:i,a:e.a}}(e)).map((e=>e/100)),[n,a,r]=u$7([[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],[A,t,i]).map((e=>{return s$9(0,255*((A=e)>.0031308?1.055*Math.pow(A,1/2.4)-.055:12.92*A),255);var A}));return{r:n,g:a,b:r,a:e.a}}function y(e){const{l:A,a:t,b:i}=e,n=(A+16)/116,a=n+t/500,r=n-i/200,s=Object.values(r$c),[o,l,c]=[a,n,r].map(((e,A)=>(e>e$b?Math.pow(e,3):3*Math.pow(e$b,2)*(e-4/29))*s[A]*100));return x({x:o,y:l,z:c,a:e.alpha})}const k=e=>{e.prototype.mix=function({color:A="#fff",ratio:t=.5,colorspace:i="luv"}={}){const n=this.rgba(),a=(A instanceof e?A:new e(A)).rgba();let r,s;switch(t=s$9(0,t,1),i){case"hsl":r=Object.values(b$4(n)),s=Object.values(b$4(a));break;case"hsv":r=Object.values(h$3(n)),s=Object.values(h$3(a));break;case"hwb":r=Object.values(v$1(n)),s=Object.values(v$1(a));break;case"lab":r=Object.values(m(n)),s=Object.values(m(a));break;case"lch":r=Object.values(p$2(n)),s=Object.values(p$2(a));break;case"luv":r=Object.values(f$2(n)),s=Object.values(f$2(a));break;case"ryb":r=Object.values(w(n)),s=Object.values(w(a));break;case"uvw":r=Object.values(M(n)),s=Object.values(M(a));break;case"xyz":r=Object.values(i$9(n)),s=Object.values(i$9(a));break;case"cmyk":r=Object.values(O(n)),s=Object.values(O(a));break;default:r=Object.values(n),s=Object.values(a)}const[o,l,c,d,h]=r.map(((e,A)=>r[A]*(1-t)+s[A]*t));switch(i){case"hsl":return new e(function(e){const{h:A,s:t,l:i,a:n}=e,a=i/100,r=t/100,s=(1-Math.abs(2*a-1))*r,o=s*(1-Math.abs(A/60%2-1)),l=a-s/2,c=A<60||300<=A&&A<360?s:120<=A&&A<240?0:o,d=240<=A&&A<360?0:60<=A&&A<180?s:o,h=A<120?0:180<=A&&A<300?s:o,[u,g,p]=[c,d,h].map((e=>255*(e+l)));return{r:u,g:g,b:p,a:null!=n?n:1}}({h:o,s:l,l:c,a:d}));case"hsv":return new e(j({h:o,s:l,v:c,a:d}));case"hwb":return new e(function(e){const{h:A,b:t,w:i,a:n}=e;return j({h:A,s:100===t?0:100-i/(100-t)*100,v:100-t,a:n})}({h:o,w:l,b:c,a:d}));case"lab":return new e(y({l:o,a:l,b:c,alpha:d}));case"lch":return new e(function(e){const{l:A,c:t,h:i}=e;return y({l:A,a:t*Math.cos(i*Math.PI/180),b:t*Math.sin(i*Math.PI/180),alpha:e.a})}({l:o,c:l,h:c,a:d}));case"luv":return new e(function(e){const{l:A,u:t,v:i}=e,n=A>c$9*n$a?Math.pow((A+16)/116,3):A/c$9,a=r$c.x+15*r$c.y+3*r$c.z,r=(52*A/(t&&A?t+13*A*(4*r$c.x/a):1)-1)/3,s=-5*n,o=n*(39*A/(i&&A?i+13*A*(9*r$c.y/a):1)-5),l=r===-1/3?o-s:(o-s)/(r- -1/3);return x({x:100*l,y:100*n,z:100*(r*l+s),a:e.a})}({l:o,u:l,v:c,a:d}));case"ryb":return new e(function(e){let{r:A,y:t,b:i}=e;const n=Math.min(A,t,i);[A,t,i]=[A,t,i].map((e=>e-n));const a=Math.max(A,t,i);let r=Math.min(t,i);t-=r,i-=r,i&&r&&(i*=2,r*=2),A+=t,r+=t;const s=Math.max(A,r,i);if(s){const e=a/s;[A,r,i]=[A,r,i].map((A=>A*e))}return[A,r,i]=[A,r,i].map((e=>e+n)),{r:A,g:r,b:i,a:e.a}}({r:o,y:l,b:c,a:d}));case"uvw":return new e(function(e){const{u:A,v:t,w:i}=e,[n,a,r]=u$7([[1.5,0,0],[0,1,0],[1.5,-3,2]],[A,t,i]);return x({x:n,y:a,z:r,a:e.a})}({u:o,v:l,w:c,a:d}));case"xyz":return new e(x({x:o,y:l,z:c,a:d}));case"cmyk":return new e(function(e){const{c:A,m:t,y:i,k:n,a:a}=e,[r,s,o]=[A,t,i].map((e=>255*(1-e/100)*(1-n/100)));return{r:r,g:s,b:o,a:a}}({c:o,m:l,y:c,k:d,a:h}));default:return new e({r:o,g:l,b:c,a:d})}}};var z=t$a.Z,r$b={d:(e,A)=>{for(var t in A)r$b.o(A,t)&&!r$b.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},b$3={};r$b.d(b$3,{Z:()=>n$9});const g$1=["rgb(0,0,0)","rgb(0,0,51)","rgb(0,0,102)","rgb(0,0,153)","rgb(0,0,204)","rgb(0,0,255)","rgb(0,51,0)","rgb(0,51,51)","rgb(0,51,102)","rgb(0,51,153)","rgb(0,51,204)","rgb(0,51,255)","rgb(0,102,0)","rgb(0,102,51)","rgb(0,102,102)","rgb(0,102,153)","rgb(0,102,204)","rgb(0,102,255)","rgb(0,153,0)","rgb(0,153,51)","rgb(0,153,102)","rgb(0,153,153)","rgb(0,153,204)","rgb(0,153,255)","rgb(0,204,0)","rgb(0,204,51)","rgb(0,204,102)","rgb(0,204,153)","rgb(0,204,204)","rgb(0,204,255)","rgb(0,255,0)","rgb(0,255,51)","rgb(0,255,102)","rgb(0,255,153)","rgb(0,255,204)","rgb(0,255,255)","rgb(51,0,0)","rgb(51,0,51)","rgb(51,0,102)","rgb(51,0,153)","rgb(51,0,204)","rgb(51,0,255)","rgb(51,51,0)","rgb(51,51,51)","rgb(51,51,102)","rgb(51,51,153)","rgb(51,51,204)","rgb(51,51,255)","rgb(51,102,0)","rgb(51,102,51)","rgb(51,102,102)","rgb(51,102,153)","rgb(51,102,204)","rgb(51,102,255)","rgb(51,153,0)","rgb(51,153,51)","rgb(51,153,102)","rgb(51,153,153)","rgb(51,153,204)","rgb(51,153,255)","rgb(51,204,0)","rgb(51,204,51)","rgb(51,204,102)","rgb(51,204,153)","rgb(51,204,204)","rgb(51,204,255)","rgb(51,255,0)","rgb(51,255,51)","rgb(51,255,102)","rgb(51,255,153)","rgb(51,255,204)","rgb(51,255,255)","rgb(102,0,0)","rgb(102,0,51)","rgb(102,0,102)","rgb(102,0,153)","rgb(102,0,204)","rgb(102,0,255)","rgb(102,51,0)","rgb(102,51,51)","rgb(102,51,102)","rgb(102,51,153)","rgb(102,51,204)","rgb(102,51,255)","rgb(102,102,0)","rgb(102,102,51)","rgb(102,102,102)","rgb(102,102,153)","rgb(102,102,204)","rgb(102,102,255)","rgb(102,153,0)","rgb(102,153,51)","rgb(102,153,102)","rgb(102,153,153)","rgb(102,153,204)","rgb(102,153,255)","rgb(102,204,0)","rgb(102,204,51)","rgb(102,204,102)","rgb(102,204,153)","rgb(102,204,204)","rgb(102,204,255)","rgb(102,255,0)","rgb(102,255,51)","rgb(102,255,102)","rgb(102,255,153)","rgb(102,255,204)","rgb(102,255,255)","rgb(153,0,0)","rgb(153,0,51)","rgb(153,0,102)","rgb(153,0,153)","rgb(153,0,204)","rgb(153,0,255)","rgb(153,51,0)","rgb(153,51,51)","rgb(153,51,102)","rgb(153,51,153)","rgb(153,51,204)","rgb(153,51,255)","rgb(153,102,0)","rgb(153,102,51)","rgb(153,102,102)","rgb(153,102,153)","rgb(153,102,204)","rgb(153,102,255)","rgb(153,153,0)","rgb(153,153,51)","rgb(153,153,102)","rgb(153,153,153)","rgb(153,153,204)","rgb(153,153,255)","rgb(153,204,0)","rgb(153,204,51)","rgb(153,204,102)","rgb(153,204,153)","rgb(153,204,204)","rgb(153,204,255)","rgb(153,255,0)","rgb(153,255,51)","rgb(153,255,102)","rgb(153,255,153)","rgb(153,255,204)","rgb(153,255,255)","rgb(204,0,0)","rgb(204,0,51)","rgb(204,0,102)","rgb(204,0,153)","rgb(204,0,204)","rgb(204,0,255)","rgb(204,51,0)","rgb(204,51,51)","rgb(204,51,102)","rgb(204,51,153)","rgb(204,51,204)","rgb(204,51,255)","rgb(204,102,0)","rgb(204,102,51)","rgb(204,102,102)","rgb(204,102,153)","rgb(204,102,204)","rgb(204,102,255)","rgb(204,153,0)","rgb(204,153,51)","rgb(204,153,102)","rgb(204,153,153)","rgb(204,153,204)","rgb(204,153,255)","rgb(204,204,0)","rgb(204,204,51)","rgb(204,204,102)","rgb(204,204,153)","rgb(204,204,204)","rgb(204,204,255)","rgb(204,255,0)","rgb(204,255,51)","rgb(204,255,102)","rgb(204,255,153)","rgb(204,255,204)","rgb(204,255,255)","rgb(255,0,0)","rgb(255,0,51)","rgb(255,0,102)","rgb(255,0,153)","rgb(255,0,204)","rgb(255,0,255)","rgb(255,51,0)","rgb(255,51,51)","rgb(255,51,102)","rgb(255,51,153)","rgb(255,51,204)","rgb(255,51,255)","rgb(255,102,0)","rgb(255,102,51)","rgb(255,102,102)","rgb(255,102,153)","rgb(255,102,204)","rgb(255,102,255)","rgb(255,153,0)","rgb(255,153,51)","rgb(255,153,102)","rgb(255,153,153)","rgb(255,153,204)","rgb(255,153,255)","rgb(255,204,0)","rgb(255,204,51)","rgb(255,204,102)","rgb(255,204,153)","rgb(255,204,204)","rgb(255,204,255)","rgb(255,255,0)","rgb(255,255,51)","rgb(255,255,102)","rgb(255,255,153)","rgb(255,255,204)","rgb(255,255,255)"];function t$9(e){return(e/=255)<.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function o$9(e,A=[0,0,0,1]){var t,i;return null!==(i=null===(t=e.match(/\d{1,3}/g))||void 0===t?void 0:t.map((e=>+e)))&&void 0!==i?i:A}const n$9=e=>{e.prototype.brightness=function({precision:e=4,percentage:A=!1}={}){const{r:t,g:i,b:n}=this.rgba(),a=+((.299*t+.587*i+.114*n)/255).toFixed(e);return A?100*a:a},e.prototype.luminance=function({precision:e=4,percentage:A=!1}={}){const{r:t,g:i,b:n}=this.rgba(),a=+(.2126*t$9(t)+.7152*t$9(i)+.0722*t$9(n)).toFixed(e);return A?100*a:a},e.prototype.contrast=function({bgColor:A="#fff",precision:t=4,ratio:i=!1}={}){const n=this.luminance(),a=(A instanceof e?A:new e(A)).luminance(),r=((Math.max(n,a)+.05)/(Math.min(n,a)+.05)).toFixed(t);return i?r+":1":+r},e.prototype.readableOn=function({bgColor:e="#fff",size:A="body",level:t="minimum"}={}){const i=this.contrast({bgColor:e});return"body"===A&&"enhanced"===t?i>=7:"large"===A&&"minimum"===t?i>=3:i>=4.5},e.prototype.equalTo=function(A="#fff"){const t=Object.values(this.rgba()),i=Object.values((A instanceof e?A:new e(A)).rgba());return t.toString()===i.toString()},e.prototype.isLight=function(){return this.brightness()>=.5},e.prototype.isDark=function(){return!this.isLight()},e.prototype.isCool=function(){const{h:e}=this.hsla();return 75<=e&&e<255},e.prototype.isWarm=function(){return!this.isCool()},e.prototype.isTinted=function(){return this.hsla().l>50},e.prototype.isShaded=function(){return this.hsla().l<50},e.prototype.isToned=function(){return this.hsla().s<100},e.prototype.isPureHue=function({reason:e=!0}={}){return this.isTinted()?!!e&&{pure:!1,reason:"tinted"}:this.isShaded()?!!e&&{pure:!1,reason:"shaded"}:this.isToned()?!!e&&{pure:!1,reason:"toned"}:!e||{pure:!0,reason:"N/A"}},e.prototype.closestCool=function(){const{h:e}=this.hsla();return this.isCool()?this:this.hueTo(e<75?75:254)},e.prototype.closestWarm=function(){const{h:e}=this.hsla();return this.isWarm()?this:this.hueTo(e<165?74:255)},e.prototype.closestPureHue=function(){const{h:A,a:t}=this.hsla(),{r:i,g:n,b:a,a:r}=function(e){const{h:A,s:t,l:i,a:n}=e,a=i/100,r=t/100,s=(1-Math.abs(2*a-1))*r,o=s*(1-Math.abs(A/60%2-1)),l=a-s/2,c=A<60||300<=A&&A<360?s:120<=A&&A<240?0:o,d=240<=A&&A<360?0:60<=A&&A<180?s:o,h=A<120?0:180<=A&&A<300?s:o,[u,g,p]=[c,d,h].map((e=>255*(e+l)));return{r:u,g:g,b:p,a:null!=n?n:1}}({h:A,s:100,l:50,a:t});return new e({r:i,g:n,b:a,a:r})},e.prototype.closestWebSafe=function(){const{r:A,g:t,b:i,a:n}=this.rgba();let[a,r,s]=new Array(3).fill(0),o=Number.POSITIVE_INFINITY,l={r:A,g:t,b:i,a:n};for(let e=0;e{for(var t in A)r$a.o(A,t)&&!r$a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},g={};r$a.d(g,{Z:()=>a$9});const e$9={maroon:"rgb(128,0,0)","dark red":"rgb(139,0,0)",brown:"rgb(165,42,42)",firebrick:"rgb(178,34,34)",crimson:"rgb(220,20,60)",red:"rgb(255,0,0)",tomato:"rgb(255,99,71)",coral:"rgb(255,127,80)","indian red":"rgb(205,92,92)","light coral":"rgb(240,128,128)","dark salmon":"rgb(233,150,122)",salmon:"rgb(250,128,114)","light salmon":"rgb(255,160,122)","orange red":"rgb(255,69,0)","dark orange":"rgb(255,140,0)",orange:"rgb(255,165,0)",gold:"rgb(255,215,0)","dark golden rod":"rgb(184,134,11)","golden rod":"rgb(218,165,32)","pale golden rod":"rgb(238,232,170)","dark khaki":"rgb(189,183,107)",khaki:"rgb(240,230,140)",olive:"rgb(128,128,0)",yellow:"rgb(255,255,0)","yellow green":"rgb(154,205,50)","dark olive green":"rgb(85,107,47)","olive drab":"rgb(107,142,35)","lawn green":"rgb(124,252,0)","chart reuse":"rgb(127,255,0)","green yellow":"rgb(173,255,47)","dark green":"rgb(0,100,0)",green:"rgb(0,128,0)","forest green":"rgb(34,139,34)",lime:"rgb(0,255,0)","lime green":"rgb(50,205,50)","light green":"rgb(144,238,144)","pale green":"rgb(152,251,152)","dark sea green":"rgb(143,188,143)","medium spring green":"rgb(0,250,154)","spring green":"rgb(0,255,127)","sea green":"rgb(46,139,87)","medium aqua marine":"rgb(102,205,170)","medium sea green":"rgb(60,179,113)","light sea green":"rgb(32,178,170)","dark slate gray":"rgb(47,79,79)",teal:"rgb(0,128,128)","dark cyan":"rgb(0,139,139)",cyan:"rgb(0,255,255)",aqua:"rgb(0,255,255)","light cyan":"rgb(224,255,255)","dark turquoise":"rgb(0,206,209)",turquoise:"rgb(64,224,208)","medium turquoise":"rgb(72,209,204)","pale turquoise":"rgb(175,238,238)","aqua marine":"rgb(127,255,212)","powder blue":"rgb(176,224,230)","cadet blue":"rgb(95,158,160)","steel blue":"rgb(70,130,180)","corn flower blue":"rgb(100,149,237)","deep sky blue":"rgb(0,191,255)","dodger blue":"rgb(30,144,255)","light blue":"rgb(173,216,230)","sky blue":"rgb(135,206,235)","light sky blue":"rgb(135,206,250)","midnight blue":"rgb(25,25,112)",navy:"rgb(0,0,128)","dark blue":"rgb(0,0,139)","medium blue":"rgb(0,0,205)",blue:"rgb(0,0,255)","royal blue":"rgb(65,105,225)","blue violet":"rgb(138,43,226)",indigo:"rgb(75,0,130)","dark slate blue":"rgb(72,61,139)","slate blue":"rgb(106,90,205)","medium slate blue":"rgb(123,104,238)","medium purple":"rgb(147,112,219)","dark magenta":"rgb(139,0,139)","dark violet":"rgb(148,0,211)","dark orchid":"rgb(153,50,204)","medium orchid":"rgb(186,85,211)",purple:"rgb(128,0,128)",thistle:"rgb(216,191,216)",plum:"rgb(221,160,221)",violet:"rgb(238,130,238)",magenta:"rgb(255,0,255)",fuchsia:"rgb(255,0,255)",orchid:"rgb(218,112,214)","medium violet red":"rgb(199,21,133)","pale violet red":"rgb(219,112,147)","deep pink":"rgb(255,20,147)","hot pink":"rgb(255,105,180)","light pink":"rgb(255,182,193)",pink:"rgb(255,192,203)","antique white":"rgb(250,235,215)",beige:"rgb(245,245,220)",bisque:"rgb(255,228,196)","blanched almond":"rgb(255,235,205)",wheat:"rgb(245,222,179)","corn silk":"rgb(255,248,220)","lemon chiffon":"rgb(255,250,205)","light golden rod yellow":"rgb(250,250,210)","light yellow":"rgb(255,255,224)","saddle brown":"rgb(139,69,19)",sienna:"rgb(160,82,45)",chocolate:"rgb(210,105,30)",peru:"rgb(205,133,63)","sandy brown":"rgb(244,164,96)","burly wood":"rgb(222,184,135)",tan:"rgb(210,180,140)","rosy brown":"rgb(188,143,143)",moccasin:"rgb(255,228,181)","navajo white":"rgb(255,222,173)","peach puff":"rgb(255,218,185)","misty rose":"rgb(255,228,225)","lavender blush":"rgb(255,240,245)",linen:"rgb(250,240,230)","old lace":"rgb(253,245,230)","papaya whip":"rgb(255,239,213)","sea shell":"rgb(255,245,238)","mint cream":"rgb(245,255,250)","slate gray":"rgb(112,128,144)","light slate gray":"rgb(119,136,153)","light steel blue":"rgb(176,196,222)",lavender:"rgb(230,230,250)","floral white":"rgb(255,250,240)","alice blue":"rgb(240,248,255)","ghost white":"rgb(248,248,255)",honeydew:"rgb(240,255,240)",ivory:"rgb(255,255,240)",azure:"rgb(240,255,255)",snow:"rgb(255,250,250)",black:"rgb(0,0,0)","dim gray":"rgb(105,105,105)","dim grey":"rgb(105,105,105)",gray:"rgb(128,128,128)",grey:"rgb(128,128,128)","dark gray":"rgb(169,169,169)","dark grey":"rgb(169,169,169)",silver:"rgb(192,192,192)","light gray":"rgb(211,211,211)","light grey":"rgb(211,211,211)",gainsboro:"rgb(220,220,220)",gainsborough:"rgb(220,220,220)","white smoke":"rgb(245,245,245)",white:"rgb(255,255,255)",transparent:"rgba(0,0,0,0)"};function b$2(e,A=[0,0,0,1]){var t,i;return null!==(i=null===(t=e.match(/\d{1,3}/g))||void 0===t?void 0:t.map((e=>+e)))&&void 0!==i?i:A}const a$9=e=>{e.prototype.name=function({exact:e=!0}={}){const{r:A,g:t,b:i,a:n}=this.rgba();if(0===n)return"transparent";const[a,r]=[Object.keys(e$9),Object.values(e$9)];let s;if(e){const e=this.stringRGB({alpha:!1}).replace(/\s/g,"");s=a.find((A=>e$9[A]===e))}else{let e=Number.POSITIVE_INFINITY;for(let n=0;n{for(var t in A)t$8.o(A,t)&&!t$8.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},a$8={};t$8.d(a$8,{Z:()=>d$1});const n$8=6/29,r$9=Math.pow(n$8,3),o$8=Math.pow(29/3,3),e$8={x:.96422,y:1,z:.82521};function c$8(e,A){return[e[0][0]*A[0]+e[0][1]*A[1]+e[0][2]*A[2],e[1][0]*A[0]+e[1][1]*A[1]+e[1][2]*A[2],e[2][0]*A[0]+e[2][1]*A[1]+e[2][2]*A[2]]}function s$8(e,A,t){return Math.max(e,Math.min(A,t))}function u$6(e){const A=e%360;return A<0?A+360:A}function i$8(e){const{l:A,a:t,b:i}=function(e){const A=Object.values(function(e){const[A,t,i]=c$8([[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],Object.values(e).map((e=>{return 100*(A=e,(A/=255)<.04045?A/12.92:Math.pow((A+.055)/1.055,2.4));var A})));return function(e){const[A,t,i]=c$8([[1.0479298208405488,.022946793341019088,-.05019222954313557],[.029627815688159344,.990434484573249,-.01707382502938514],[-.009243058152591178,.015055144896577895,.7518742899580008]],Object.values(e));return{x:A,y:t,z:i,a:e.a}}({x:A,y:t,z:i,a:e.a})}(e)).map(((e,A)=>e/(100*Object.values(e$8)[A]))).map((e=>e>r$9?Math.cbrt(e):(o$8*e+16)/116));return{l:116*A[1]-16,a:500*(A[0]-A[1]),b:200*(A[1]-A[2]),alpha:e.a}}(e),n=180*Math.atan2(i,t)/Math.PI;return{l:A,c:Math.sqrt(Math.pow(t,2)+Math.pow(i,2)),h:u$6(n),a:e.a}}function h$2(e){const{l:A,c:t,h:i}=e;return function(e){const{l:A,a:t,b:i}=e,n=(A+16)/116,a=n+t/500,r=n-i/200,s=Object.values(e$8),[o,l,c]=[a,n,r].map(((e,A)=>(e>n$8?Math.pow(e,3):3*Math.pow(n$8,2)*(e-4/29))*s[A]*100));return function(e){const[A,t,i]=Object.values(function(e){const[A,t,i]=c$8([[.9554734527042182,-.023098536874261423,.0632593086610217],[-.028369706963208136,1.0099954580058226,.021041398966943008],[.012314001688319899,-.020507696433477912,1.3303659366080753]],Object.values(e));return{x:A,y:t,z:i,a:e.a}}(e)).map((e=>e/100)),[n,a,r]=c$8([[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],[A,t,i]).map((e=>{return s$8(0,255*((A=e)>.0031308?1.055*Math.pow(A,1/2.4)-.055:12.92*A),255);var A}));return{r:n,g:a,b:r,a:e.a}}({x:o,y:l,z:c,a:e.alpha})}({l:A,a:t*Math.cos(i*Math.PI/180),b:t*Math.sin(i*Math.PI/180),alpha:e.a})}const l$2=/lcha?\s*\(\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*([+-]?\d*\.?\d+%?)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function p$1({l:e,c:A,h:t,a:i}){return[h$2({l:s$8(0,e,100),c:s$8(0,A,230),h:u$6(t),a:(n=i,void 0!==n?s$8(0,n,1):1)}),"lch"];var n}function f$1(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{l:A,c:t,h:i}=e;return void 0!==A&&void 0!==t&&void 0!==i}(e))return p$1(e);if("string"==typeof e){l$2.lastIndex=0;const A=l$2.exec(e);if(A){const[e,t,i,n]=A.filter((e=>void 0!==e)).slice(1).map(((e,A)=>e.includes("%")?+e.slice(0,-1)*(0===A?1:1===A?2.3:2===A?3.59:.01):+e));return p$1({l:e,c:t,h:i,a:n})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const d$1=e=>{e.prototype.lcha=function(){return i$8(this.rgba())},e.prototype.stringLCH=function({alpha:e=!0,precision:A=[0,0,0,1]}={}){const[t,i,n,a]=Object.values(this.lcha()).map(((e,t)=>function(e,A){return+e.toFixed(A>=0?A:0)}(e,A[t])));return e?`lcha(${t}%, ${i}, ${n}, ${a})`:`lch(${t}%, ${i}, ${n})`},e.Parsers.push(f$1)};var b$1=a$8.Z,t$7={d:(e,A)=>{for(var t in A)t$7.o(A,t)&&!t$7.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},n$7={};t$7.d(n$7,{Z:()=>l$1});const r$8=Math.pow(6/29,3),e$7=Math.pow(29/3,3);function o$7(e,A){return[e[0][0]*A[0]+e[0][1]*A[1]+e[0][2]*A[2],e[1][0]*A[0]+e[1][1]*A[1]+e[1][2]*A[2],e[2][0]*A[0]+e[2][1]*A[1]+e[2][2]*A[2]]}function a$7(e,A,t){return Math.max(e,Math.min(A,t))}function u$5(e){const{l:A,u:t,v:i}=e,n=A>e$7*r$8?Math.pow((A+16)/116,3):A/e$7,a=(52*A/(t&&A?t+13*A*.20916005282038627:1)-1)/3,r=-5*n,s=n*(39*A/(i&&A?i+13*A*(9/18.43985):1)-5),o=a===-1/3?s-r:(s-r)/(a- -1/3);return function(e){const[A,t,i]=Object.values(function(e){const[A,t,i]=o$7([[.9554734527042182,-.023098536874261423,.0632593086610217],[-.028369706963208136,1.0099954580058226,.021041398966943008],[.012314001688319899,-.020507696433477912,1.3303659366080753]],Object.values(e));return{x:A,y:t,z:i,a:e.a}}(e)).map((e=>e/100)),[n,a,r]=o$7([[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],[A,t,i]).map((e=>{return a$7(0,255*((A=e)>.0031308?1.055*Math.pow(A,1/2.4)-.055:12.92*A),255);var A}));return{r:n,g:a,b:r,a:e.a}}({x:100*o,y:100*n,z:100*(a*o+r),a:e.a})}const c$7=/color\s*\(\s*luva?\s*(\d*\.?\d+%?)\s*,?\s*([+-]?\d*\.?\d+%?)\s*,?\s*([+-]?\d*\.?\d+%?)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function s$7({l:e,u:A,v:t,a:i}){return[u$5({l:a$7(0,e,100),u:a$7(-100,A,100),v:a$7(-100,t,100),a:(n=i,void 0!==n?a$7(0,n,1):1)}),"luv"];var n}function i$7(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{l:A,u:t,v:i}=e;return void 0!==A&&void 0!==t&&null!=i}(e))return s$7(e);if("string"==typeof e){c$7.lastIndex=0;const A=c$7.exec(e);if(A){const[e,t,i,n]=A.filter((e=>void 0!==e)).slice(1).map(((e,A)=>e.includes("%")?+e.slice(0,-1)*(A<3?1:.01):+e));return s$7({l:e,u:t,v:i,a:n})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const l$1=e=>{e.prototype.luva=function(){return function(e){const[A,t,i]=Object.values(function(e){const[A,t,i]=o$7([[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],Object.values(e).map((e=>{return 100*(A=e,(A/=255)<.04045?A/12.92:Math.pow((A+.055)/1.055,2.4));var A})));return function(e){const[A,t,i]=o$7([[1.0479298208405488,.022946793341019088,-.05019222954313557],[.029627815688159344,.990434484573249,-.01707382502938514],[-.009243058152591178,.015055144896577895,.7518742899580008]],Object.values(e));return{x:A,y:t,z:i,a:e.a}}({x:A,y:t,z:i,a:e.a})}(e)).map((e=>e/100)),n=t/1,a=A&&t&&i?A+15*t+3*i:19,r=4*A/a,s=9*t/a;let o=n>r$8?116*Math.cbrt(n)-16:e$7*n,l=13*o*(r-.20916005282038627),c=13*o*(s-.48807338454488514);return o===Number(-0)&&(o=0),l===Number(-0)&&(l=0),c===Number(-0)&&(c=0),{l:o,u:l,v:c,a:e.a}}(this.rgba())},e.prototype.stringLUV=function({alpha:e=!0,precision:A=[0,0,0,1]}={}){const[t,i,n,a]=Object.values(this.luva()).map(((e,t)=>function(e,A){return+e.toFixed(A>=0?A:0)}(e,A[t])));return e?`color(luva ${t}%, ${i}%, ${n}%, ${a})`:`color(luv ${t}%, ${i}%, ${n}%)`},e.Parsers.push(i$7)};var v=n$7.Z,t$6={d:(e,A)=>{for(var t in A)t$6.o(A,t)&&!t$6.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},a$6={};t$6.d(a$6,{Z:()=>d});const n$6=6/29,r$7=Math.pow(n$6,3),e$6=Math.pow(29/3,3),o$6={x:.96422,y:1,z:.82521};function c$6(e,A){return[e[0][0]*A[0]+e[0][1]*A[1]+e[0][2]*A[2],e[1][0]*A[0]+e[1][1]*A[1]+e[1][2]*A[2],e[2][0]*A[0]+e[2][1]*A[1]+e[2][2]*A[2]]}function s$6(e,A,t){return Math.max(e,Math.min(A,t))}function u$4(e){return void 0!==e?s$6(0,e,1):1}function i$6(e){const A=Object.values(function(e){const[A,t,i]=c$6([[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],Object.values(e).map((e=>{return 100*(A=e,(A/=255)<.04045?A/12.92:Math.pow((A+.055)/1.055,2.4));var A})));return function(e){const[A,t,i]=c$6([[1.0479298208405488,.022946793341019088,-.05019222954313557],[.029627815688159344,.990434484573249,-.01707382502938514],[-.009243058152591178,.015055144896577895,.7518742899580008]],Object.values(e));return{x:A,y:t,z:i,a:e.a}}({x:A,y:t,z:i,a:e.a})}(e)).map(((e,A)=>e/(100*Object.values(o$6)[A]))).map((e=>e>r$7?Math.cbrt(e):(e$6*e+16)/116));return{l:116*A[1]-16,a:500*(A[0]-A[1]),b:200*(A[1]-A[2]),alpha:e.a}}function l(e){const{l:A,a:t,b:i}=e,n=(A+16)/116,a=n+t/500,r=n-i/200,s=Object.values(o$6),[o,l,c]=[a,n,r].map(((e,A)=>(e>n$6?Math.pow(e,3):3*Math.pow(n$6,2)*(e-4/29))*s[A]*100));return function(e){const[A,t,i]=Object.values(function(e){const[A,t,i]=c$6([[.9554734527042182,-.023098536874261423,.0632593086610217],[-.028369706963208136,1.0099954580058226,.021041398966943008],[.012314001688319899,-.020507696433477912,1.3303659366080753]],Object.values(e));return{x:A,y:t,z:i,a:e.a}}(e)).map((e=>e/100)),[n,a,r]=c$6([[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],[A,t,i]).map((e=>{return s$6(0,255*((A=e)>.0031308?1.055*Math.pow(A,1/2.4)-.055:12.92*A),255);var A}));return{r:n,g:a,b:r,a:e.a}}({x:o,y:l,z:c,a:e.alpha})}const p=/laba?\s*\(\s*(\d*\.?\d+%?)\s*,?\s*([+-]?\d*\.?\d+)\s*,?\s*([+-]?\d*\.?\d+)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function b({l:e,a:A,b:t,alpha:i}){return[l({l:s$6(0,e,100),a:s$6(-160,A,160),b:s$6(-160,t,160),alpha:u$4(i)}),"lab"]}function f(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{l:A,a:t,b:i}=e;return void 0!==A&&void 0!==t&&void 0!==i}(e))return b(e);if("string"==typeof e){p.lastIndex=0;const A=p.exec(e);if(A){const[e,t,i,n]=A.filter((e=>void 0!==e)).slice(1).map(((e,A)=>e.includes("%")?+e.slice(0,-1)*(A<3?1:.01):+e));return b({l:e,a:t,b:i,alpha:n})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const d=e=>{e.prototype.laba=function(){return i$6(this.rgba())},e.prototype.stringLAB=function({alpha:e=!0,precision:A=[0,0,0,1]}={}){const[t,i,n,a]=Object.values(this.laba()).map(((e,t)=>function(e,A){return+e.toFixed(A>=0?A:0)}(e,A[t])));return e?`laba(${t}%, ${i}, ${n}, ${a})`:`lab(${t}%, ${i}, ${n})`},e.Parsers.push(f)};var h$1=a$6.Z,t$5={d:(e,A)=>{for(var t in A)t$5.o(A,t)&&!t$5.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},n$5={};function r$6(e,A){return[e[0][0]*A[0]+e[0][1]*A[1]+e[0][2]*A[2],e[1][0]*A[0]+e[1][1]*A[1]+e[1][2]*A[2],e[2][0]*A[0]+e[2][1]*A[1]+e[2][2]*A[2]]}function o$5(e,A,t){return Math.max(e,Math.min(A,t))}function e$5(e){const{u:A,v:t,w:i}=e,[n,a,r]=r$6([[1.5,0,0],[0,1,0],[1.5,-3,2]],[A,t,i]);return function(e){const[A,t,i]=Object.values(function(e){const[A,t,i]=r$6([[.9554734527042182,-.023098536874261423,.0632593086610217],[-.028369706963208136,1.0099954580058226,.021041398966943008],[.012314001688319899,-.020507696433477912,1.3303659366080753]],Object.values(e));return{x:A,y:t,z:i,a:e.a}}(e)).map((e=>e/100)),[n,a,r]=r$6([[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],[A,t,i]).map((e=>{return o$5(0,255*((A=e)>.0031308?1.055*Math.pow(A,1/2.4)-.055:12.92*A),255);var A}));return{r:n,g:a,b:r,a:e.a}}({x:n,y:a,z:r,a:e.a})}t$5.d(n$5,{Z:()=>s$5});const a$5=/color\s*\(\s*uvwa?\s*(\d*\.?\d+)\s*,?\s*([+-]?\d*\.?\d+)\s*,?\s*([+-]?\d*\.?\d+)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function u$3({u:e,v:A,w:t,a:i}){return[e$5({u:o$5(0,e,200/3*.96422),v:o$5(0,A,100),w:o$5(-48.211,t,191.2605),a:(n=i,void 0!==n?o$5(0,n,1):1)}),"uvw"];var n}function c$5(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{u:A,v:t,w:i}=e;return void 0!==A&&void 0!==t&&void 0!==i}(e))return u$3(e);if("string"==typeof e){a$5.lastIndex=0;const A=a$5.exec(e);if(A){const[e,t,i,n]=A.filter((e=>void 0!==e)).slice(1).map((e=>e.includes("%")?.01*+e.slice(0,-1):+e));return u$3({u:e,v:t,w:i,a:n})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const s$5=e=>{e.prototype.uvwa=function(){return function(e){const{x:A,y:t,z:i}=function(e){const[A,t,i]=r$6([[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],Object.values(e).map((e=>{return 100*(A=e,(A/=255)<.04045?A/12.92:Math.pow((A+.055)/1.055,2.4));var A})));return function(e){const[A,t,i]=r$6([[1.0479298208405488,.022946793341019088,-.05019222954313557],[.029627815688159344,.990434484573249,-.01707382502938514],[-.009243058152591178,.015055144896577895,.7518742899580008]],Object.values(e));return{x:A,y:t,z:i,a:e.a}}({x:A,y:t,z:i,a:e.a})}(e),[n,a,r]=r$6([[2/3,0,0],[0,1,0],[-.5,1.5,.5]],[A,t,i]);return{u:n,v:a,w:r,a:e.a}}(this.rgba())},e.prototype.stringUVW=function({alpha:e=!0,precision:A=[0,0,0,1]}={}){const[t,i,n,a]=Object.values(this.uvwa()).map(((e,t)=>function(e,A){return+e.toFixed(A>=0?A:0)}(e,A[t])));return e?`color(uvwa ${t}, ${i}, ${n}, ${a})`:`color(uvw ${t}, ${i}, ${n})`},e.Parsers.push(c$5)};var i$5=n$5.Z,t$4={d:(e,A)=>{for(var t in A)t$4.o(A,t)&&!t$4.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},n$4={};function r$5(e,A){return[e[0][0]*A[0]+e[0][1]*A[1]+e[0][2]*A[2],e[1][0]*A[0]+e[1][1]*A[1]+e[1][2]*A[2],e[2][0]*A[0]+e[2][1]*A[1]+e[2][2]*A[2]]}function o$4(e,A,t){return Math.max(e,Math.min(A,t))}function e$4(e){const[A,t,i]=Object.values(function(e){const[A,t,i]=r$5([[.9554734527042182,-.023098536874261423,.0632593086610217],[-.028369706963208136,1.0099954580058226,.021041398966943008],[.012314001688319899,-.020507696433477912,1.3303659366080753]],Object.values(e));return{x:A,y:t,z:i,a:e.a}}(e)).map((e=>e/100)),[n,a,r]=r$5([[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],[A,t,i]).map((e=>{return o$4(0,255*((A=e)>.0031308?1.055*Math.pow(A,1/2.4)-.055:12.92*A),255);var A}));return{r:n,g:a,b:r,a:e.a}}t$4.d(n$4,{Z:()=>u$2});const a$4=/color\s*\(\s*xyza?\s*(\d*\.?\d+)\s*,?\s*(\d*\.?\d+)\s*,?\s*(\d*\.?\d+)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function s$4({x:e,y:A,z:t,a:i}){return[e$4({x:o$4(0,e,96.422),y:o$4(0,A,100),z:o$4(0,t,82.521),a:(n=i,void 0!==n?o$4(0,n,1):1)}),"xyz"];var n}function c$4(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{x:A,y:t,z:i}=e;return void 0!==A&&void 0!==t&&void 0!==i}(e))return s$4(e);if("string"==typeof e){a$4.lastIndex=0;const A=a$4.exec(e);if(A){const[e,t,i,n]=A.filter((e=>void 0!==e)).slice(1).map((e=>e.includes("%")?.01*+e.slice(0,-1):+e));return s$4({x:e,y:t,z:i,a:n})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const u$2=e=>{e.prototype.xyza=function(){return function(e){const[A,t,i]=r$5([[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],Object.values(e).map((e=>{return 100*(A=e,(A/=255)<.04045?A/12.92:Math.pow((A+.055)/1.055,2.4));var A})));return function(e){const[A,t,i]=r$5([[1.0479298208405488,.022946793341019088,-.05019222954313557],[.029627815688159344,.990434484573249,-.01707382502938514],[-.009243058152591178,.015055144896577895,.7518742899580008]],Object.values(e));return{x:A,y:t,z:i,a:e.a}}({x:A,y:t,z:i,a:e.a})}(this.rgba())},e.prototype.stringXYZ=function({alpha:e=!0,precision:A=[0,0,0,1]}={}){const[t,i,n,a]=Object.values(this.xyza()).map(((e,t)=>function(e,A){return+e.toFixed(A>=0?A:0)}(e,A[t])));return e?`color(xyza ${t}, ${i}, ${n}, ${a})`:`color(xyz ${t}, ${i}, ${n})`},e.Parsers.push(c$4)};var i$4=n$4.Z,t$3={d:(e,A)=>{for(var t in A)t$3.o(A,t)&&!t$3.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},n$3={};function r$4(e,A,t){return Math.max(e,Math.min(A,t))}function a$3(e){const A=e%360;return A<0?A+360:A}function o$3(e){const{h:A,a:t}=function(e){var A;const{Cmin:t,Cmax:i,H:n,delta:a}=function(e){const[A,t,i]=Object.values(e).map((e=>e/255)),n=Math.max(A,t,i),a=Math.min(A,t,i),r=n-a;return{Cmin:a,Cmax:n,H:0===r?0:n===A?(t-i)/r%6:n===t?(i-A)/r+2:(A-t)/r+4,delta:r}}(e),r=(i+t)/2,s=0===a?0:a/(1-Math.abs(2*r-1));return{h:a$3(60*n),s:100*s,l:100*r,a:null!==(A=e.a)&&void 0!==A?A:1}}(e),{r:i,g:n,b:a}=e;return{h:A,w:Math.min(i,n,a)/2.55,b:100*(1-Math.max(i,n,a)/255),a:t}}function e$3(e){const{h:A,b:t,w:i,a:n}=e;return function(e){const{h:A,s:t,v:i,a:n}=e,a=i/100,r=a*(t/100),s=r*(1-Math.abs(A/60%2-1)),o=a-r,l=A<60||300<=A&&A<360?r:120<=A&&A<240?0:s,c=240<=A&&A<360?0:60<=A&&A<180?r:s,d=A<120?0:180<=A&&A<300?r:s,[h,u,g]=[l,c,d].map((e=>255*(e+o)));return{r:h,g:u,b:g,a:null!=n?n:1}}({h:A,s:100===t?0:100-i/(100-t)*100,v:100-t,a:n})}t$3.d(n$3,{Z:()=>u$1});const s$3=/hwba?\s*\(\s*([+-]?\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function i$3({h:e,w:A,b:t,a:i}){return[e$3({h:a$3(e),w:r$4(0,A,100),b:r$4(0,t,100),a:(n=i,void 0!==n?r$4(0,n,1):1)}),"hwb"];var n}function c$3(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{h:A,w:t,b:i}=e;return void 0!==A&&void 0!==t&&void 0!==i}(e))return i$3(e);if("string"==typeof e){s$3.lastIndex=0;const A=s$3.exec(e);if(A){const[e,t,i,n]=A.filter((e=>void 0!==e)).slice(1).map(((e,A)=>e.includes("%")?+e.slice(0,-1)*(0===A?3.59:A<3?1:.01):+e));return i$3({h:e,w:t,b:i,a:n})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const u$1=e=>{e.prototype.hwba=function(){return o$3(this.rgba())},e.prototype.stringHWB=function({alpha:e=!0,precision:A=[0,0,0,1]}={}){const[t,i,n,a]=Object.values(this.hwba()).map(((e,t)=>function(e,A){return+e.toFixed(A>=0?A:0)}(e,A[t])));return e?`hwba(${a$3(t)}, ${i}%, ${n}%, ${a})`:`hwb(${a$3(t)}, ${i}%, ${n}%)`},e.Parsers.push(c$3)};var h=n$3.Z,t$2={d:(e,A)=>{for(var t in A)t$2.o(A,t)&&!t$2.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},n$2={};function r$3(e,A,t){return Math.max(e,Math.min(A,t))}function s$2(e){const A=e%360;return A<0?A+360:A}function e$2(e){const{h:A,s:t,v:i,a:n}=e,a=i/100,r=a*(t/100),s=r*(1-Math.abs(A/60%2-1)),o=a-r,l=A<60||300<=A&&A<360?r:120<=A&&A<240?0:s,c=240<=A&&A<360?0:60<=A&&A<180?r:s,d=A<120?0:180<=A&&A<300?r:s,[h,u,g]=[l,c,d].map((e=>255*(e+o)));return{r:h,g:u,b:g,a:null!=n?n:1}}t$2.d(n$2,{Z:()=>c$2});const a$2=/hsva?\s*\(\s*([+-]?\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function o$2({h:e,s:A,v:t,a:i}){return[e$2({h:s$2(e),s:r$3(0,A,100),v:r$3(0,t,100),a:(n=i,void 0!==n?r$3(0,n,1):1)}),"hsv"];var n}function i$2(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{h:A,s:t,v:i}=e;return void 0!==A&&void 0!==t&&void 0!==i}(e))return o$2(e);if("string"==typeof e){a$2.lastIndex=0;const A=a$2.exec(e);if(A){const[e,t,i,n]=A.filter((e=>void 0!==e)).slice(1).map(((e,A)=>e.includes("%")?+e.slice(0,-1)*(0===A?3.59:A<3?1:.01):+e));return o$2({h:e,s:t,v:i,a:n})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const c$2=e=>{e.prototype.hsva=function(){return function(e){var A;const{Cmax:t,H:i,delta:n}=function(e){const[A,t,i]=Object.values(e).map((e=>e/255)),n=Math.max(A,t,i),a=Math.min(A,t,i),r=n-a;return{Cmin:a,Cmax:n,H:0===r?0:n===A?(t-i)/r%6:n===t?(i-A)/r+2:(A-t)/r+4,delta:r}}(e),a=0===n?0:n/t;return{h:s$2(60*i),s:100*a,v:100*t,a:null!==(A=e.a)&&void 0!==A?A:1}}(this.rgba())},e.prototype.stringHSV=function({alpha:e=!0,precision:A=[0,0,0,1]}={}){const[t,i,n,a]=Object.values(this.hsva()).map(((e,t)=>function(e,A){return+e.toFixed(A>=0?A:0)}(e,A[t])));return e?`hsva(${s$2(t)}, ${i}%, ${n}%, ${a})`:`hsv(${s$2(t)}, ${i}%, ${n}%)`},e.Parsers.push(i$2)};var u=n$2.Z,t$1={d:(e,A)=>{for(var t in A)t$1.o(A,t)&&!t$1.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},r$2={};function n$1(e,A,t){return Math.max(e,Math.min(A,t))}function o$1(e){let{r:A,y:t,b:i}=e;const n=Math.min(A,t,i);[A,t,i]=[A,t,i].map((e=>e-n));const a=Math.max(A,t,i);let r=Math.min(t,i);t-=r,i-=r,i&&r&&(i*=2,r*=2),A+=t,r+=t;const s=Math.max(A,r,i);if(s){const e=a/s;[A,r,i]=[A,r,i].map((A=>A*e))}return[A,r,i]=[A,r,i].map((e=>e+n)),{r:A,g:r,b:i,a:e.a}}t$1.d(r$2,{Z:()=>i$1});const a$1=/color\s*\(\s*ryba?\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function e$1({r:e,y:A,b:t,a:i}){return[o$1({r:n$1(0,e,255),y:n$1(0,A,255),b:n$1(0,t,255),a:(n=i,void 0!==n?n$1(0,n,1):1)}),"ryb"];var n}function s$1(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{r:A,y:t,b:i}=e;return void 0!==A&&void 0!==t&&void 0!==i}(e))return e$1(e);if("string"==typeof e){a$1.lastIndex=0;const A=a$1.exec(e);if(A){const[e,t,i,n]=A.filter((e=>void 0!==e)).slice(1).map(((e,A)=>e.includes("%")?+e.slice(0,-1)*(A<3?2.55:.01):+e));return e$1({r:e,y:t,b:i,a:n})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const i$1=e=>{e.prototype.ryba=function(){return function(e){let{r:A,g:t,b:i}=e;const n=Math.min(A,t,i);[A,t,i]=[A,t,i].map((e=>e-n));const a=Math.max(A,t,i);let r=Math.min(A,t);A-=r,t-=r,i&&t&&(i/=2,t/=2),r+=t,i+=t;const s=Math.max(A,r,i);if(s){const e=a/s;[A,r,i]=[A,r,i].map((A=>A*e))}return[A,r,i]=[A,r,i].map((e=>e+n)),{r:A,y:r,b:i,a:e.a}}(this.rgba())},e.prototype.stringRYB=function({alpha:e=!0,precision:A=[0,0,0,1]}={}){const[t,i,n,a]=Object.values(this.ryba()).map(((e,t)=>function(e,A){return+e.toFixed(A>=0?A:0)}(e,A[t])));return e?`color(ryba ${t}, ${i}, ${n}, ${a})`:`color(ryb ${t}, ${i}, ${n})`},e.Parsers.push(s$1)};var c$1=r$2.Z,t={d:(e,A)=>{for(var i in A)t.o(A,i)&&!t.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:A[i]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},n={};function e(e,A,t){return Math.max(e,Math.min(A,t))}function r$1(e){const{c:A,m:t,y:i,k:n,a:a}=e,[r,s,o]=[A,t,i].map((e=>255*(1-e/100)*(1-n/100)));return{r:r,g:s,b:o,a:a}}t.d(n,{Z:()=>i});const c=/device-cmyka?\s*\(\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?),?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function o({c:A,m:t,y:i,k:n,a:a}){return[r$1({c:e(0,A,100),m:e(0,t,100),y:e(0,i,100),k:e(0,n,100),a:(r=a,void 0!==r?e(0,r,1):1)}),"cmyk"];var r}function a(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{c:A,m:t,y:i,k:n}=e;return void 0!==A&&void 0!==t&&void 0!==i&&void 0!==n}(e))return o(e);if("string"==typeof e){c.lastIndex=0;const A=c.exec(e);if(A){const[e,t,i,n,a]=A.filter((e=>void 0!==e)).slice(1).map(((e,A)=>e.includes("%")?+e.slice(0,-1)*(A<4?1:.01):+e));return o({c:e,m:t,y:i,k:n,a:a})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const i=e=>{e.prototype.cmyka=function(){return function(e){const{r:A,g:t,b:i,a:n}=e,a=1-Math.max(A,t,i)/255,[r,s,o]=1===a?[0,0,0]:[A,t,i].map((e=>100*(1-e/255-a)/(1-a)));return{c:r,m:s,y:o,k:100*a,a:n}}(this.rgba())},e.prototype.stringCMYK=function({alpha:e=!0,precision:A=[0,0,0,0,1]}={}){const[t,i,n,a,r]=Object.values(this.cmyka()).map(((e,t)=>function(e,A){return+e.toFixed(A>=0?A:0)}(e,A[t])));return e?`device-cmyk(${t}, ${i}, ${n}, ${a}, ${r})`:`device-cmyk(${t}, ${i}, ${n}, ${a})`},e.Parsers.push(a)};var s=n.Z;class ExcalidrawScene{constructor(e=[]){this.type="excalidraw",this.version=2,this.source=GITHUB_RELEASES+PLUGIN_VERSION,this.elements=[],this.elements=e}toExJSON(){return Object.assign(Object.assign({},this),{elements:this.elements.map((e=>Object.assign({},e)))})}}var ARRAY_TYPE="undefined"!=typeof Float32Array?Float32Array:Array;function create$1(){var e=new ARRAY_TYPE(16);return ARRAY_TYPE!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function clone(e){var A=new ARRAY_TYPE(16);return A[0]=e[0],A[1]=e[1],A[2]=e[2],A[3]=e[3],A[4]=e[4],A[5]=e[5],A[6]=e[6],A[7]=e[7],A[8]=e[8],A[9]=e[9],A[10]=e[10],A[11]=e[11],A[12]=e[12],A[13]=e[13],A[14]=e[14],A[15]=e[15],A}function fromValues$1(e,A,t,i,n,a,r,s,o,l,c,d,h,u,g,p){var m=new ARRAY_TYPE(16);return m[0]=e,m[1]=A,m[2]=t,m[3]=i,m[4]=n,m[5]=a,m[6]=r,m[7]=s,m[8]=o,m[9]=l,m[10]=c,m[11]=d,m[12]=h,m[13]=u,m[14]=g,m[15]=p,m}function multiply(e,A,t){var i=A[0],n=A[1],a=A[2],r=A[3],s=A[4],o=A[5],l=A[6],c=A[7],d=A[8],h=A[9],u=A[10],g=A[11],p=A[12],m=A[13],w=A[14],f=A[15],B=t[0],E=t[1],b=t[2],C=t[3];return e[0]=B*i+E*s+b*d+C*p,e[1]=B*n+E*o+b*h+C*m,e[2]=B*a+E*l+b*u+C*w,e[3]=B*r+E*c+b*g+C*f,B=t[4],E=t[5],b=t[6],C=t[7],e[4]=B*i+E*s+b*d+C*p,e[5]=B*n+E*o+b*h+C*m,e[6]=B*a+E*l+b*u+C*w,e[7]=B*r+E*c+b*g+C*f,B=t[8],E=t[9],b=t[10],C=t[11],e[8]=B*i+E*s+b*d+C*p,e[9]=B*n+E*o+b*h+C*m,e[10]=B*a+E*l+b*u+C*w,e[11]=B*r+E*c+b*g+C*f,B=t[12],E=t[13],b=t[14],C=t[15],e[12]=B*i+E*s+b*d+C*p,e[13]=B*n+E*o+b*h+C*m,e[14]=B*a+E*l+b*u+C*w,e[15]=B*r+E*c+b*g+C*f,e}function create(){var e=new ARRAY_TYPE(3);return ARRAY_TYPE!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function fromValues(e,A,t){var i=new ARRAY_TYPE(3);return i[0]=e,i[1]=A,i[2]=t,i}function transformMat4(e,A,t){var i=A[0],n=A[1],a=A[2],r=t[3]*i+t[7]*n+t[11]*a+t[15];return r=r||1,e[0]=(t[0]*i+t[4]*n+t[8]*a+t[12])/r,e[1]=(t[1]*i+t[5]*n+t[9]*a+t[13])/r,e[2]=(t[2]*i+t[6]*n+t[10]*a+t[14])/r,e}Math.hypot||(Math.hypot=function(){for(var e=0,A=arguments.length;A--;)e+=arguments[A]*arguments[A];return Math.sqrt(e)}),create();const random=new Random(Date.now()),randomInteger=()=>Math.floor(random.next()*2**31),randomId=()=>nanoid$1();function dimensionsFromPoints(e){const A=e.map((([e])=>e)),t=e.map((([,e])=>e)),i=Math.min(...A),n=Math.min(...t);return[Math.max(...A)-i,Math.max(...t)-n]}function getWindingOrder(e){return e.reduce(((e,[A,t],i,n)=>{const a=n[i+1];return((a?a[0]:0)-A)*((a?a[1]:0)+t)+e}),0)>0?"clockwise":"counterclockwise"}var chromaExports={},chroma$1={get exports(){return chromaExports},set exports(e){chromaExports=e}};chroma$1.exports=function(){for(var e=function(e,A,t){return void 0===A&&(A=0),void 0===t&&(t=1),et?t:e},A=e,t={},i=0,n=["Boolean","Number","String","Function","Array","Date","RegExp","Undefined","Null"];i255)&&(e._clipped=!0),e[t]=A(e[t],0,255)):3===t&&(e[t]=A(e[t],0,1));return e},limit:e,type:r,unpack:function(e,A){return void 0===A&&(A=null),e.length>=3?Array.prototype.slice.call(e):"object"==s(e[0])&&A?A.split("").filter((function(A){return void 0!==e[0][A]})).map((function(A){return e[0][A]})):e[0]},last:function(e){if(e.length<2)return null;var A=e.length-1;return"string"==o(e[A])?e[A].toLowerCase():null},PI:l,TWOPI:2*l,PITHIRD:l/3,DEG2RAD:l/180,RAD2DEG:180/l},d={format:{},autodetect:[]},h=c.last,u=c.clip_rgb,g=c.type,p=d,m=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=this;if("object"===g(e[0])&&e[0].constructor&&e[0].constructor===this.constructor)return e[0];var i=h(e),n=!1;if(!i){n=!0,p.sorted||(p.autodetect=p.autodetect.sort((function(e,A){return A.p-e.p})),p.sorted=!0);for(var a=0,r=p.autodetect;a4?e[4]:1;return 1===a?[0,0,0,r]:[t>=1?0:255*(1-t)*(1-a),i>=1?0:255*(1-i)*(1-a),n>=1?0:255*(1-n)*(1-a),r]},F=B,x=w,T=d,S=c.unpack,I=c.type,U=C;x.prototype.cmyk=function(){return U(this._rgb)},F.cmyk=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(x,[null].concat(e,["cmyk"])))},T.format.cmyk=y,T.autodetect.push({p:2,test:function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];if(e=S(e,"cmyk"),"array"===I(e)&&4===e.length)return"cmyk"}});var Q=c.unpack,k=c.last,M=function(e){return Math.round(100*e)/100},L=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=Q(e,"hsla"),i=k(e)||"lsa";return t[0]=M(t[0]||0),t[1]=M(100*t[1])+"%",t[2]=M(100*t[2])+"%","hsla"===i||t.length>3&&t[3]<1?(t[3]=t.length>3?t[3]:1,i="hsla"):t.length=3,i+"("+t.join(",")+")"},O=c.unpack,N=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=(e=O(e,"rgba"))[0],i=e[1],n=e[2];t/=255,i/=255,n/=255;var a,r,s=Math.min(t,i,n),o=Math.max(t,i,n),l=(o+s)/2;return o===s?(a=0,r=Number.NaN):a=l<.5?(o-s)/(o+s):(o-s)/(2-o-s),t==o?r=(i-n)/(o-s):i==o?r=2+(n-t)/(o-s):n==o&&(r=4+(t-i)/(o-s)),(r*=60)<0&&(r+=360),e.length>3&&void 0!==e[3]?[r,a,l,e[3]]:[r,a,l]},D=c.unpack,H=c.last,R=L,P=N,V=Math.round,K=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=D(e,"rgba"),i=H(e)||"rgb";return"hsl"==i.substr(0,3)?R(P(t),i):(t[0]=V(t[0]),t[1]=V(t[1]),t[2]=V(t[2]),("rgba"===i||t.length>3&&t[3]<1)&&(t[3]=t.length>3?t[3]:1,i="rgba"),i+"("+t.slice(0,"rgb"===i?3:4).join(",")+")")},G=c.unpack,W=Math.round,X=function(){for(var e,A=[],t=arguments.length;t--;)A[t]=arguments[t];var i,n,a,r=(A=G(A,"hsl"))[0],s=A[1],o=A[2];if(0===s)i=n=a=255*o;else{var l=[0,0,0],c=[0,0,0],d=o<.5?o*(1+s):o+s-o*s,h=2*o-d,u=r/360;l[0]=u+1/3,l[1]=u,l[2]=u-1/3;for(var g=0;g<3;g++)l[g]<0&&(l[g]+=1),l[g]>1&&(l[g]-=1),6*l[g]<1?c[g]=h+6*(d-h)*l[g]:2*l[g]<1?c[g]=d:3*l[g]<2?c[g]=h+(d-h)*(2/3-l[g])*6:c[g]=h;i=(e=[W(255*c[0]),W(255*c[1]),W(255*c[2])])[0],n=e[1],a=e[2]}return A.length>3?[i,n,a,A[3]]:[i,n,a,1]},z=X,Y=d,j=/^rgb\(\s*(-?\d+),\s*(-?\d+)\s*,\s*(-?\d+)\s*\)$/,J=/^rgba\(\s*(-?\d+),\s*(-?\d+)\s*,\s*(-?\d+)\s*,\s*([01]|[01]?\.\d+)\)$/,Z=/^rgb\(\s*(-?\d+(?:\.\d+)?)%,\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*\)$/,q=/^rgba\(\s*(-?\d+(?:\.\d+)?)%,\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,_=/^hsl\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*\)$/,$=/^hsla\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,ee=Math.round,Ae=function(e){var A;if(e=e.toLowerCase().trim(),Y.format.named)try{return Y.format.named(e)}catch(e){}if(A=e.match(j)){for(var t=A.slice(1,4),i=0;i<3;i++)t[i]=+t[i];return t[3]=1,t}if(A=e.match(J)){for(var n=A.slice(1,5),a=0;a<4;a++)n[a]=+n[a];return n}if(A=e.match(Z)){for(var r=A.slice(1,4),s=0;s<3;s++)r[s]=ee(2.55*r[s]);return r[3]=1,r}if(A=e.match(q)){for(var o=A.slice(1,5),l=0;l<3;l++)o[l]=ee(2.55*o[l]);return o[3]=+o[3],o}if(A=e.match(_)){var c=A.slice(1,4);c[1]*=.01,c[2]*=.01;var d=z(c);return d[3]=1,d}if(A=e.match($)){var h=A.slice(1,4);h[1]*=.01,h[2]*=.01;var u=z(h);return u[3]=+A[4],u}};Ae.test=function(e){return j.test(e)||J.test(e)||Z.test(e)||q.test(e)||_.test(e)||$.test(e)};var te=B,ie=w,ne=d,ae=c.type,re=K,se=Ae;ie.prototype.css=function(e){return re(this._rgb,e)},te.css=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(ie,[null].concat(e,["css"])))},ne.format.css=se,ne.autodetect.push({p:5,test:function(e){for(var A=[],t=arguments.length-1;t-- >0;)A[t]=arguments[t+1];if(!A.length&&"string"===ae(e)&&se.test(e))return"css"}});var oe=w,le=B,ce=c.unpack;d.format.gl=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=ce(e,"rgba");return t[0]*=255,t[1]*=255,t[2]*=255,t},le.gl=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(oe,[null].concat(e,["gl"])))},oe.prototype.gl=function(){var e=this._rgb;return[e[0]/255,e[1]/255,e[2]/255,e[3]]};var de=c.unpack,he=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t,i=de(e,"rgb"),n=i[0],a=i[1],r=i[2],s=Math.min(n,a,r),o=Math.max(n,a,r),l=o-s,c=100*l/255,d=s/(255-l)*100;return 0===l?t=Number.NaN:(n===o&&(t=(a-r)/l),a===o&&(t=2+(r-n)/l),r===o&&(t=4+(n-a)/l),(t*=60)<0&&(t+=360)),[t,c,d]},ue=c.unpack,ge=Math.floor,pe=function(){for(var e,A,t,i,n,a,r=[],s=arguments.length;s--;)r[s]=arguments[s];var o,l,c,d=(r=ue(r,"hcg"))[0],h=r[1],u=r[2];u*=255;var g=255*h;if(0===h)o=l=c=u;else{360===d&&(d=0),d>360&&(d-=360),d<0&&(d+=360);var p=ge(d/=60),m=d-p,w=u*(1-h),f=w+g*(1-m),B=w+g*m,E=w+g;switch(p){case 0:o=(e=[E,B,w])[0],l=e[1],c=e[2];break;case 1:o=(A=[f,E,w])[0],l=A[1],c=A[2];break;case 2:o=(t=[w,E,B])[0],l=t[1],c=t[2];break;case 3:o=(i=[w,f,E])[0],l=i[1],c=i[2];break;case 4:o=(n=[B,w,E])[0],l=n[1],c=n[2];break;case 5:o=(a=[E,w,f])[0],l=a[1],c=a[2]}}return[o,l,c,r.length>3?r[3]:1]},me=c.unpack,we=c.type,fe=B,Be=w,Ee=d,be=he;Be.prototype.hcg=function(){return be(this._rgb)},fe.hcg=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(Be,[null].concat(e,["hcg"])))},Ee.format.hcg=pe,Ee.autodetect.push({p:1,test:function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];if(e=me(e,"hcg"),"array"===we(e)&&3===e.length)return"hcg"}});var Ce=c.unpack,ve=c.last,ye=Math.round,Fe=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=Ce(e,"rgba"),i=t[0],n=t[1],a=t[2],r=t[3],s=ve(e)||"auto";void 0===r&&(r=1),"auto"===s&&(s=r<1?"rgba":"rgb");var o="000000"+((i=ye(i))<<16|(n=ye(n))<<8|(a=ye(a))).toString(16);o=o.substr(o.length-6);var l="0"+ye(255*r).toString(16);switch(l=l.substr(l.length-2),s.toLowerCase()){case"rgba":return"#"+o+l;case"argb":return"#"+l+o;default:return"#"+o}},xe=/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,Te=/^#?([A-Fa-f0-9]{8}|[A-Fa-f0-9]{4})$/,Se=function(e){if(e.match(xe)){4!==e.length&&7!==e.length||(e=e.substr(1)),3===e.length&&(e=(e=e.split(""))[0]+e[0]+e[1]+e[1]+e[2]+e[2]);var A=parseInt(e,16);return[A>>16,A>>8&255,255&A,1]}if(e.match(Te)){5!==e.length&&9!==e.length||(e=e.substr(1)),4===e.length&&(e=(e=e.split(""))[0]+e[0]+e[1]+e[1]+e[2]+e[2]+e[3]+e[3]);var t=parseInt(e,16);return[t>>24&255,t>>16&255,t>>8&255,Math.round((255&t)/255*100)/100]}throw new Error("unknown hex color: "+e)},Ie=B,Ue=w,Qe=c.type,ke=d,Me=Fe;Ue.prototype.hex=function(e){return Me(this._rgb,e)},Ie.hex=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(Ue,[null].concat(e,["hex"])))},ke.format.hex=Se,ke.autodetect.push({p:4,test:function(e){for(var A=[],t=arguments.length-1;t-- >0;)A[t]=arguments[t+1];if(!A.length&&"string"===Qe(e)&&[3,4,5,6,7,8,9].indexOf(e.length)>=0)return"hex"}});var Le=c.unpack,Oe=c.TWOPI,Ne=Math.min,De=Math.sqrt,He=Math.acos,Re=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t,i=Le(e,"rgb"),n=i[0],a=i[1],r=i[2],s=Ne(n/=255,a/=255,r/=255),o=(n+a+r)/3,l=o>0?1-s/o:0;return 0===l?t=NaN:(t=(n-a+(n-r))/2,t/=De((n-a)*(n-a)+(n-r)*(a-r)),t=He(t),r>a&&(t=Oe-t),t/=Oe),[360*t,l,o]},Pe=c.unpack,Ve=c.limit,Ke=c.TWOPI,Ge=c.PITHIRD,We=Math.cos,Xe=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t,i,n,a=(e=Pe(e,"hsi"))[0],r=e[1],s=e[2];return isNaN(a)&&(a=0),isNaN(r)&&(r=0),a>360&&(a-=360),a<0&&(a+=360),(a/=360)<1/3?i=1-((n=(1-r)/3)+(t=(1+r*We(Ke*a)/We(Ge-Ke*a))/3)):a<2/3?n=1-((t=(1-r)/3)+(i=(1+r*We(Ke*(a-=1/3))/We(Ge-Ke*a))/3)):t=1-((i=(1-r)/3)+(n=(1+r*We(Ke*(a-=2/3))/We(Ge-Ke*a))/3)),[255*(t=Ve(s*t*3)),255*(i=Ve(s*i*3)),255*(n=Ve(s*n*3)),e.length>3?e[3]:1]},ze=c.unpack,Ye=c.type,je=B,Je=w,Ze=d,qe=Re;Je.prototype.hsi=function(){return qe(this._rgb)},je.hsi=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(Je,[null].concat(e,["hsi"])))},Ze.format.hsi=Xe,Ze.autodetect.push({p:2,test:function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];if(e=ze(e,"hsi"),"array"===Ye(e)&&3===e.length)return"hsi"}});var _e=c.unpack,$e=c.type,eA=B,AA=w,tA=d,iA=N;AA.prototype.hsl=function(){return iA(this._rgb)},eA.hsl=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(AA,[null].concat(e,["hsl"])))},tA.format.hsl=X,tA.autodetect.push({p:2,test:function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];if(e=_e(e,"hsl"),"array"===$e(e)&&3===e.length)return"hsl"}});var nA=c.unpack,aA=Math.min,rA=Math.max,sA=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t,i,n,a=(e=nA(e,"rgb"))[0],r=e[1],s=e[2],o=aA(a,r,s),l=rA(a,r,s),c=l-o;return n=l/255,0===l?(t=Number.NaN,i=0):(i=c/l,a===l&&(t=(r-s)/c),r===l&&(t=2+(s-a)/c),s===l&&(t=4+(a-r)/c),(t*=60)<0&&(t+=360)),[t,i,n]},oA=c.unpack,lA=Math.floor,cA=function(){for(var e,A,t,i,n,a,r=[],s=arguments.length;s--;)r[s]=arguments[s];var o,l,c,d=(r=oA(r,"hsv"))[0],h=r[1],u=r[2];if(u*=255,0===h)o=l=c=u;else{360===d&&(d=0),d>360&&(d-=360),d<0&&(d+=360);var g=lA(d/=60),p=d-g,m=u*(1-h),w=u*(1-h*p),f=u*(1-h*(1-p));switch(g){case 0:o=(e=[u,f,m])[0],l=e[1],c=e[2];break;case 1:o=(A=[w,u,m])[0],l=A[1],c=A[2];break;case 2:o=(t=[m,u,f])[0],l=t[1],c=t[2];break;case 3:o=(i=[m,w,u])[0],l=i[1],c=i[2];break;case 4:o=(n=[f,m,u])[0],l=n[1],c=n[2];break;case 5:o=(a=[u,m,w])[0],l=a[1],c=a[2]}}return[o,l,c,r.length>3?r[3]:1]},dA=c.unpack,hA=c.type,uA=B,gA=w,pA=d,mA=sA;gA.prototype.hsv=function(){return mA(this._rgb)},uA.hsv=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(gA,[null].concat(e,["hsv"])))},pA.format.hsv=cA,pA.autodetect.push({p:2,test:function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];if(e=dA(e,"hsv"),"array"===hA(e)&&3===e.length)return"hsv"}});var wA={Kn:18,Xn:.95047,Yn:1,Zn:1.08883,t0:.137931034,t1:.206896552,t2:.12841855,t3:.008856452},fA=wA,BA=c.unpack,EA=Math.pow,bA=function(e){return(e/=255)<=.04045?e/12.92:EA((e+.055)/1.055,2.4)},CA=function(e){return e>fA.t3?EA(e,1/3):e/fA.t2+fA.t0},vA=function(e,A,t){return e=bA(e),A=bA(A),t=bA(t),[CA((.4124564*e+.3575761*A+.1804375*t)/fA.Xn),CA((.2126729*e+.7151522*A+.072175*t)/fA.Yn),CA((.0193339*e+.119192*A+.9503041*t)/fA.Zn)]},yA=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=BA(e,"rgb"),i=t[0],n=t[1],a=t[2],r=vA(i,n,a),s=r[0],o=r[1],l=116*o-16;return[l<0?0:l,500*(s-o),200*(o-r[2])]},FA=wA,xA=c.unpack,TA=Math.pow,SA=function(e){return 255*(e<=.00304?12.92*e:1.055*TA(e,1/2.4)-.055)},IA=function(e){return e>FA.t1?e*e*e:FA.t2*(e-FA.t0)},UA=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t,i,n,a=(e=xA(e,"lab"))[0],r=e[1],s=e[2];return i=(a+16)/116,t=isNaN(r)?i:i+r/500,n=isNaN(s)?i:i-s/200,i=FA.Yn*IA(i),t=FA.Xn*IA(t),n=FA.Zn*IA(n),[SA(3.2404542*t-1.5371385*i-.4985314*n),SA(-.969266*t+1.8760108*i+.041556*n),SA(.0556434*t-.2040259*i+1.0572252*n),e.length>3?e[3]:1]},QA=c.unpack,kA=c.type,MA=B,LA=w,OA=d,NA=yA;LA.prototype.lab=function(){return NA(this._rgb)},MA.lab=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(LA,[null].concat(e,["lab"])))},OA.format.lab=UA,OA.autodetect.push({p:2,test:function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];if(e=QA(e,"lab"),"array"===kA(e)&&3===e.length)return"lab"}});var DA=c.unpack,HA=c.RAD2DEG,RA=Math.sqrt,PA=Math.atan2,VA=Math.round,KA=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=DA(e,"lab"),i=t[0],n=t[1],a=t[2],r=RA(n*n+a*a),s=(PA(a,n)*HA+360)%360;return 0===VA(1e4*r)&&(s=Number.NaN),[i,r,s]},GA=c.unpack,WA=yA,XA=KA,zA=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=GA(e,"rgb"),i=t[0],n=t[1],a=t[2],r=WA(i,n,a),s=r[0],o=r[1],l=r[2];return XA(s,o,l)},YA=c.unpack,jA=c.DEG2RAD,JA=Math.sin,ZA=Math.cos,qA=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=YA(e,"lch"),i=t[0],n=t[1],a=t[2];return isNaN(a)&&(a=0),[i,ZA(a*=jA)*n,JA(a)*n]},_A=c.unpack,$A=qA,et=UA,At=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=(e=_A(e,"lch"))[0],i=e[1],n=e[2],a=$A(t,i,n),r=a[0],s=a[1],o=a[2],l=et(r,s,o);return[l[0],l[1],l[2],e.length>3?e[3]:1]},tt=c.unpack,it=At,nt=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=tt(e,"hcl").reverse();return it.apply(void 0,t)},at=c.unpack,rt=c.type,st=B,ot=w,lt=d,ct=zA;ot.prototype.lch=function(){return ct(this._rgb)},ot.prototype.hcl=function(){return ct(this._rgb).reverse()},st.lch=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(ot,[null].concat(e,["lch"])))},st.hcl=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(ot,[null].concat(e,["hcl"])))},lt.format.lch=At,lt.format.hcl=nt,["lch","hcl"].forEach((function(e){return lt.autodetect.push({p:2,test:function(){for(var A=[],t=arguments.length;t--;)A[t]=arguments[t];if(A=at(A,e),"array"===rt(A)&&3===A.length)return e}})}));var dt={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflower:"#6495ed",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",laserlemon:"#ffff54",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrod:"#fafad2",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",maroon2:"#7f0000",maroon3:"#b03060",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",purple2:"#7f007f",purple3:"#a020f0",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},ht=d,ut=c.type,gt=dt,pt=Se,mt=Fe;w.prototype.name=function(){for(var e=mt(this._rgb,"rgb"),A=0,t=Object.keys(gt);A0;)A[t]=arguments[t+1];if(!A.length&&"string"===ut(e)&>[e.toLowerCase()])return"named"}});var wt=c.unpack,ft=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=wt(e,"rgb");return(t[0]<<16)+(t[1]<<8)+t[2]},Bt=c.type,Et=function(e){if("number"==Bt(e)&&e>=0&&e<=16777215)return[e>>16,e>>8&255,255&e,1];throw new Error("unknown num color: "+e)},bt=B,Ct=w,vt=d,yt=c.type,Ft=ft;Ct.prototype.num=function(){return Ft(this._rgb)},bt.num=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(Ct,[null].concat(e,["num"])))},vt.format.num=Et,vt.autodetect.push({p:5,test:function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];if(1===e.length&&"number"===yt(e[0])&&e[0]>=0&&e[0]<=16777215)return"num"}});var xt=B,Tt=w,St=d,It=c.unpack,Ut=c.type,Qt=Math.round;Tt.prototype.rgb=function(e){return void 0===e&&(e=!0),!1===e?this._rgb.slice(0,3):this._rgb.slice(0,3).map(Qt)},Tt.prototype.rgba=function(e){return void 0===e&&(e=!0),this._rgb.slice(0,4).map((function(A,t){return t<3?!1===e?A:Qt(A):A}))},xt.rgb=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(Tt,[null].concat(e,["rgb"])))},St.format.rgb=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=It(e,"rgba");return void 0===t[3]&&(t[3]=1),t},St.autodetect.push({p:3,test:function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];if(e=It(e,"rgba"),"array"===Ut(e)&&(3===e.length||4===e.length&&"number"==Ut(e[3])&&e[3]>=0&&e[3]<=1))return"rgb"}});var kt=Math.log,Mt=function(e){var A,t,i,n=e/100;return n<66?(A=255,t=n<6?0:-155.25485562709179-.44596950469579133*(t=n-2)+104.49216199393888*kt(t),i=n<20?0:.8274096064007395*(i=n-10)-254.76935184120902+115.67994401066147*kt(i)):(A=351.97690566805693+.114206453784165*(A=n-55)-40.25366309332127*kt(A),t=325.4494125711974+.07943456536662342*(t=n-50)-28.0852963507957*kt(t),i=255),[A,t,i,1]},Lt=Mt,Ot=c.unpack,Nt=Math.round,Dt=B,Ht=w,Rt=d,Pt=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];for(var t,i=Ot(e,"rgb"),n=i[0],a=i[2],r=1e3,s=4e4,o=.4;s-r>o;){var l=Lt(t=.5*(s+r));l[2]/l[0]>=a/n?s=t:r=t}return Nt(t)};Ht.prototype.temp=Ht.prototype.kelvin=Ht.prototype.temperature=function(){return Pt(this._rgb)},Dt.temp=Dt.kelvin=Dt.temperature=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(Ht,[null].concat(e,["temp"])))},Rt.format.temp=Rt.format.kelvin=Rt.format.temperature=Mt;var Vt=c.unpack,Kt=Math.cbrt,Gt=Math.pow,Wt=Math.sign,Xt=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=Vt(e,"rgb"),i=t[0],n=t[1],a=t[2],r=[zt(i/255),zt(n/255),zt(a/255)],s=r[0],o=r[1],l=r[2],c=Kt(.4122214708*s+.5363325363*o+.0514459929*l),d=Kt(.2119034982*s+.6806995451*o+.1073969566*l),h=Kt(.0883024619*s+.2817188376*o+.6299787005*l);return[.2104542553*c+.793617785*d-.0040720468*h,1.9779984951*c-2.428592205*d+.4505937099*h,.0259040371*c+.7827717662*d-.808675766*h]};function zt(e){var A=Math.abs(e);return A<.04045?e/12.92:(Wt(e)||1)*Gt((A+.055)/1.055,2.4)}var Yt=c.unpack,jt=Math.pow,Jt=Math.sign,Zt=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=(e=Yt(e,"lab"))[0],i=e[1],n=e[2],a=jt(t+.3963377774*i+.2158037573*n,3),r=jt(t-.1055613458*i-.0638541728*n,3),s=jt(t-.0894841775*i-1.291485548*n,3);return[255*qt(4.0767416621*a-3.3077115913*r+.2309699292*s),255*qt(-1.2684380046*a+2.6097574011*r-.3413193965*s),255*qt(-.0041960863*a-.7034186147*r+1.707614701*s),e.length>3?e[3]:1]};function qt(e){var A=Math.abs(e);return A>.0031308?(Jt(e)||1)*(1.055*jt(A,1/2.4)-.055):12.92*e}var _t=c.unpack,$t=c.type,ei=B,Ai=w,ti=d,ii=Xt;Ai.prototype.oklab=function(){return ii(this._rgb)},ei.oklab=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(Ai,[null].concat(e,["oklab"])))},ti.format.oklab=Zt,ti.autodetect.push({p:3,test:function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];if(e=_t(e,"oklab"),"array"===$t(e)&&3===e.length)return"oklab"}});var ni=c.unpack,ai=Xt,ri=KA,si=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=ni(e,"rgb"),i=t[0],n=t[1],a=t[2],r=ai(i,n,a),s=r[0],o=r[1],l=r[2];return ri(s,o,l)},oi=c.unpack,li=qA,ci=Zt,di=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=(e=oi(e,"lch"))[0],i=e[1],n=e[2],a=li(t,i,n),r=a[0],s=a[1],o=a[2],l=ci(r,s,o);return[l[0],l[1],l[2],e.length>3?e[3]:1]},hi=c.unpack,ui=c.type,gi=B,pi=w,mi=d,wi=si;pi.prototype.oklch=function(){return wi(this._rgb)},gi.oklch=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(pi,[null].concat(e,["oklch"])))},mi.format.oklch=di,mi.autodetect.push({p:3,test:function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];if(e=hi(e,"oklch"),"array"===ui(e)&&3===e.length)return"oklch"}});var fi=w,Bi=c.type;fi.prototype.alpha=function(e,A){return void 0===A&&(A=!1),void 0!==e&&"number"===Bi(e)?A?(this._rgb[3]=e,this):new fi([this._rgb[0],this._rgb[1],this._rgb[2],e],"rgb"):this._rgb[3]},w.prototype.clipped=function(){return this._rgb._clipped||!1};var Ei=w,bi=wA;Ei.prototype.darken=function(e){void 0===e&&(e=1);var A=this.lab();return A[0]-=bi.Kn*e,new Ei(A,"lab").alpha(this.alpha(),!0)},Ei.prototype.brighten=function(e){return void 0===e&&(e=1),this.darken(-e)},Ei.prototype.darker=Ei.prototype.darken,Ei.prototype.brighter=Ei.prototype.brighten,w.prototype.get=function(e){var A=e.split("."),t=A[0],i=A[1],n=this[t]();if(i){var a=t.indexOf(i)-("ok"===t.substr(0,2)?2:0);if(a>-1)return n[a];throw new Error("unknown channel "+i+" in mode "+t)}return n};var Ci=w,vi=c.type,yi=Math.pow;Ci.prototype.luminance=function(e){if(void 0!==e&&"number"===vi(e)){if(0===e)return new Ci([0,0,0,this._rgb[3]],"rgb");if(1===e)return new Ci([255,255,255,this._rgb[3]],"rgb");var A=this.luminance(),t=20,i=function(A,n){var a=A.interpolate(n,.5,"rgb"),r=a.luminance();return Math.abs(e-r)<1e-7||!t--?a:r>e?i(A,a):i(a,n)},n=(A>e?i(new Ci([0,0,0]),this):i(this,new Ci([255,255,255]))).rgb();return new Ci(n.concat([this._rgb[3]]))}return Fi.apply(void 0,this._rgb.slice(0,3))};var Fi=function(e,A,t){return.2126*(e=xi(e))+.7152*(A=xi(A))+.0722*xi(t)},xi=function(e){return(e/=255)<=.03928?e/12.92:yi((e+.055)/1.055,2.4)},Ti={},Si=w,Ii=c.type,Ui=Ti,Qi=function(e,A,t){void 0===t&&(t=.5);for(var i=[],n=arguments.length-3;n-- >0;)i[n]=arguments[n+3];var a=i[0]||"lrgb";if(Ui[a]||i.length||(a=Object.keys(Ui)[0]),!Ui[a])throw new Error("interpolation mode "+a+" is not defined");return"object"!==Ii(e)&&(e=new Si(e)),"object"!==Ii(A)&&(A=new Si(A)),Ui[a](e,A,t).alpha(e.alpha()+t*(A.alpha()-e.alpha()))},ki=w,Mi=Qi;ki.prototype.mix=ki.prototype.interpolate=function(e,A){void 0===A&&(A=.5);for(var t=[],i=arguments.length-2;i-- >0;)t[i]=arguments[i+2];return Mi.apply(void 0,[this,e,A].concat(t))};var Li=w;Li.prototype.premultiply=function(e){void 0===e&&(e=!1);var A=this._rgb,t=A[3];return e?(this._rgb=[A[0]*t,A[1]*t,A[2]*t,t],this):new Li([A[0]*t,A[1]*t,A[2]*t,t],"rgb")};var Oi=w,Ni=wA;Oi.prototype.saturate=function(e){void 0===e&&(e=1);var A=this.lch();return A[1]+=Ni.Kn*e,A[1]<0&&(A[1]=0),new Oi(A,"lch").alpha(this.alpha(),!0)},Oi.prototype.desaturate=function(e){return void 0===e&&(e=1),this.saturate(-e)};var Di=w,Hi=c.type;Di.prototype.set=function(e,A,t){void 0===t&&(t=!1);var i=e.split("."),n=i[0],a=i[1],r=this[n]();if(a){var s=n.indexOf(a)-("ok"===n.substr(0,2)?2:0);if(s>-1){if("string"==Hi(A))switch(A.charAt(0)){case"+":case"-":r[s]+=+A;break;case"*":r[s]*=+A.substr(1);break;case"/":r[s]/=+A.substr(1);break;default:r[s]=+A}else{if("number"!==Hi(A))throw new Error("unsupported value for Color.set");r[s]=A}var o=new Di(r,n);return t?(this._rgb=o._rgb,this):o}throw new Error("unknown channel "+a+" in mode "+n)}return r};var Ri=w;Ti.rgb=function(e,A,t){var i=e._rgb,n=A._rgb;return new Ri(i[0]+t*(n[0]-i[0]),i[1]+t*(n[1]-i[1]),i[2]+t*(n[2]-i[2]),"rgb")};var Pi=w,Vi=Math.sqrt,Ki=Math.pow;Ti.lrgb=function(e,A,t){var i=e._rgb,n=i[0],a=i[1],r=i[2],s=A._rgb,o=s[0],l=s[1],c=s[2];return new Pi(Vi(Ki(n,2)*(1-t)+Ki(o,2)*t),Vi(Ki(a,2)*(1-t)+Ki(l,2)*t),Vi(Ki(r,2)*(1-t)+Ki(c,2)*t),"rgb")};var Gi=w;Ti.lab=function(e,A,t){var i=e.lab(),n=A.lab();return new Gi(i[0]+t*(n[0]-i[0]),i[1]+t*(n[1]-i[1]),i[2]+t*(n[2]-i[2]),"lab")};var Wi=w,Xi=function(e,A,t,i){var n,a,r,s,o,l,c,d,h,u,g,p,m;return"hsl"===i?(r=e.hsl(),s=A.hsl()):"hsv"===i?(r=e.hsv(),s=A.hsv()):"hcg"===i?(r=e.hcg(),s=A.hcg()):"hsi"===i?(r=e.hsi(),s=A.hsi()):"lch"===i||"hcl"===i?(i="hcl",r=e.hcl(),s=A.hcl()):"oklch"===i&&(r=e.oklch().reverse(),s=A.oklch().reverse()),"h"!==i.substr(0,1)&&"oklch"!==i||(o=(n=r)[0],c=n[1],h=n[2],l=(a=s)[0],d=a[1],u=a[2]),isNaN(o)||isNaN(l)?isNaN(o)?isNaN(l)?p=Number.NaN:(p=l,1!=h&&0!=h||"hsv"==i||(g=d)):(p=o,1!=u&&0!=u||"hsv"==i||(g=c)):p=o+t*(l>o&&l-o>180?l-(o+360):l180?l+360-o:l-o),void 0===g&&(g=c+t*(d-c)),m=h+t*(u-h),new Wi("oklch"===i?[m,g,p]:[p,g,m],i)},zi=Xi,Yi=function(e,A,t){return zi(e,A,t,"lch")};Ti.lch=Yi,Ti.hcl=Yi;var ji=w;Ti.num=function(e,A,t){var i=e.num(),n=A.num();return new ji(i+t*(n-i),"num")};var Ji=Xi;Ti.hcg=function(e,A,t){return Ji(e,A,t,"hcg")};var Zi=Xi;Ti.hsi=function(e,A,t){return Zi(e,A,t,"hsi")};var qi=Xi;Ti.hsl=function(e,A,t){return qi(e,A,t,"hsl")};var _i=Xi;Ti.hsv=function(e,A,t){return _i(e,A,t,"hsv")};var $i=w;Ti.oklab=function(e,A,t){var i=e.oklab(),n=A.oklab();return new $i(i[0]+t*(n[0]-i[0]),i[1]+t*(n[1]-i[1]),i[2]+t*(n[2]-i[2]),"oklab")};var en=Xi;Ti.oklch=function(e,A,t){return en(e,A,t,"oklch")};var An=w,tn=c.clip_rgb,nn=Math.pow,an=Math.sqrt,rn=Math.PI,sn=Math.cos,on=Math.sin,ln=Math.atan2,cn=function(e,A){for(var t=e.length,i=[0,0,0,0],n=0;n.9999999&&(i[3]=1),new An(tn(i))},dn=B,hn=c.type,un=Math.pow,gn=function(e){var A="rgb",t=dn("#ccc"),i=0,n=[0,1],a=[],r=[0,0],s=!1,o=[],l=!1,c=0,d=1,h=!1,u={},g=!0,p=1,m=function(e){if((e=e||["#fff","#000"])&&"string"===hn(e)&&dn.brewer&&dn.brewer[e.toLowerCase()]&&(e=dn.brewer[e.toLowerCase()]),"array"===hn(e)){1===e.length&&(e=[e[0],e[0]]),e=e.slice(0);for(var A=0;A2?function(e){if(null!=s){for(var A=s.length-1,t=0;t=s[t];)t++;return t-1}return 0}(e)/(s.length-2):d!==c?(e-c)/(d-c):1,l=f(l),i||(l=w(l)),1!==p&&(l=un(l,p)),l=r[0]+l*(1-r[0]-r[1]),l=Math.min(1,Math.max(0,l));var h=Math.floor(1e4*l);if(g&&u[h])n=u[h];else{if("array"===hn(o))for(var m=0;m=B&&m===a.length-1){n=o[m];break}if(l>B&&l2){var l=e.map((function(A,t){return t/(e.length-1)})),h=e.map((function(e){return(e-c)/(d-c)}));h.every((function(e,A){return l[A]===e}))||(f=function(e){if(e<=0||e>=1)return e;for(var A=0;e>=h[A+1];)A++;var t=(e-h[A])/(h[A+1]-h[A]);return l[A]+t*(l[A+1]-l[A])})}}return n=[c,d],b},b.mode=function(e){return arguments.length?(A=e,E(),b):A},b.range=function(e,A){return m(e),b},b.out=function(e){return l=e,b},b.spread=function(e){return arguments.length?(i=e,b):i},b.correctLightness=function(e){return null==e&&(e=!0),h=e,E(),w=h?function(e){for(var A=B(0,!0).lab()[0],t=B(1,!0).lab()[0],i=A>t,n=B(e,!0).lab()[0],a=A+(t-A)*e,r=n-a,s=0,o=1,l=20;Math.abs(r)>.01&&l-- >0;)i&&(r*=-1),r<0?(s=e,e+=.5*(o-e)):(o=e,e+=.5*(s-e)),r=(n=B(e,!0).lab()[0])-a;return e}:function(e){return e},b},b.padding=function(e){return null!=e?("number"===hn(e)&&(e=[e,e]),r=e,b):r},b.colors=function(A,t){arguments.length<2&&(t="hex");var i=[];if(0===arguments.length)i=o.slice(0);else if(1===A)i=[b(.5)];else if(A>1){var a=n[0],r=n[1]-a;i=pn(0,A,!1).map((function(e){return b(a+e/(A-1)*r)}))}else{e=[];var l=[];if(s&&s.length>2)for(var c=1,d=s.length,h=1<=d;h?cd;h?c++:c--)l.push(.5*(s[c-1]+s[c]));else l=n;i=l.map((function(e){return b(e)}))}return dn[t]&&(i=i.map((function(e){return e[t]()}))),i},b.cache=function(e){return null!=e?(g=e,b):g},b.gamma=function(e){return null!=e?(p=e,b):p},b.nodata=function(e){return null!=e?(t=dn(e),b):t},b};function pn(e,A,t){for(var i=[],n=ea;n?r++:r--)i.push(r);return i}var mn=w,wn=gn,fn=B,Bn=function(e,A,t){if(!Bn[t])throw new Error("unknown blend mode "+t);return Bn[t](e,A)},En=function(e){return function(A,t){var i=fn(t).rgb(),n=fn(A).rgb();return fn.rgb(e(i,n))}},bn=function(e){return function(A,t){var i=[];return i[0]=e(A[0],t[0]),i[1]=e(A[1],t[1]),i[2]=e(A[2],t[2]),i}};Bn.normal=En(bn((function(e){return e}))),Bn.multiply=En(bn((function(e,A){return e*A/255}))),Bn.screen=En(bn((function(e,A){return 255*(1-(1-e/255)*(1-A/255))}))),Bn.overlay=En(bn((function(e,A){return A<128?2*e*A/255:255*(1-2*(1-e/255)*(1-A/255))}))),Bn.darken=En(bn((function(e,A){return e>A?A:e}))),Bn.lighten=En(bn((function(e,A){return e>A?e:A}))),Bn.dodge=En(bn((function(e,A){return 255===e||(e=A/255*255/(1-e/255))>255?255:e}))),Bn.burn=En(bn((function(e,A){return 255*(1-(1-A/255)/(e/255))})));for(var Cn=Bn,vn=c.type,yn=c.clip_rgb,Fn=c.TWOPI,xn=Math.pow,Tn=Math.sin,Sn=Math.cos,In=B,Un=w,Qn=Math.floor,kn=Math.random,Mn=r,Ln=Math.log,On=Math.pow,Nn=Math.floor,Dn=Math.abs,Hn=function(e,A){void 0===A&&(A=null);var t={min:Number.MAX_VALUE,max:-1*Number.MAX_VALUE,sum:0,values:[],count:0};return"object"===Mn(e)&&(e=Object.values(e)),e.forEach((function(e){A&&"object"===Mn(e)&&(e=e[A]),null==e||isNaN(e)||(t.values.push(e),t.sum+=e,et.max&&(t.max=e),t.count+=1)})),t.domain=[t.min,t.max],t.limits=function(e,A){return Rn(t,e,A)},t},Rn=function(e,A,t){void 0===A&&(A="equal"),void 0===t&&(t=7),"array"==Mn(e)&&(e=Hn(e));var i=e.min,n=e.max,a=e.values.sort((function(e,A){return e-A}));if(1===t)return[i,n];var r=[];if("c"===A.substr(0,1)&&(r.push(i),r.push(n)),"e"===A.substr(0,1)){r.push(i);for(var s=1;s 0");var o=Math.LOG10E*Ln(i),l=Math.LOG10E*Ln(n);r.push(i);for(var c=1;c200&&(B=!1)}for(var O={},N=0;N=360;)g-=360;r[u]=g}else r[u]=r[u]/s[u];return h/=i,new An(r,A).alpha(h>.99999?1:h,!0)},la.bezier=function(e){var A=function(e){var A,t,i,n,a,r,s;if(e=e.map((function(e){return new mn(e)})),2===e.length)A=e.map((function(e){return e.lab()})),a=A[0],r=A[1],n=function(e){var A=[0,1,2].map((function(A){return a[A]+e*(r[A]-a[A])}));return new mn(A,"lab")};else if(3===e.length)t=e.map((function(e){return e.lab()})),a=t[0],r=t[1],s=t[2],n=function(e){var A=[0,1,2].map((function(A){return(1-e)*(1-e)*a[A]+2*(1-e)*e*r[A]+e*e*s[A]}));return new mn(A,"lab")};else if(4===e.length){var o;i=e.map((function(e){return e.lab()})),a=i[0],r=i[1],s=i[2],o=i[3],n=function(e){var A=[0,1,2].map((function(A){return(1-e)*(1-e)*(1-e)*a[A]+3*(1-e)*(1-e)*e*r[A]+3*(1-e)*e*e*s[A]+e*e*e*o[A]}));return new mn(A,"lab")}}else{if(!(e.length>=5))throw new RangeError("No point in running bezier with only one color.");var l,c,d;l=e.map((function(e){return e.lab()})),d=e.length-1,c=function(e){for(var A=[1,1],t=1;ti?(t+.05)/(i+.05):(i+.05)/(t+.05)},la.deltaE=function(e,A,t,i,n){void 0===t&&(t=1),void 0===i&&(i=1),void 0===n&&(n=1);var a=function(e){return 360*e/(2*_n)},r=function(e){return 2*_n*e/360};e=new Kn(e),A=new Kn(A);var s=Array.from(e.lab()),o=s[0],l=s[1],c=s[2],d=Array.from(A.lab()),h=d[0],u=d[1],g=d[2],p=(o+h)/2,m=(Gn(Wn(l,2)+Wn(c,2))+Gn(Wn(u,2)+Wn(g,2)))/2,w=.5*(1-Gn(Wn(m,7)/(Wn(m,7)+Wn(25,7)))),f=l*(1+w),B=u*(1+w),E=Gn(Wn(f,2)+Wn(c,2)),b=Gn(Wn(B,2)+Wn(g,2)),C=(E+b)/2,v=a(Yn(c,f)),y=a(Yn(g,B)),F=v>=0?v:v+360,x=y>=0?y:y+360,T=jn(F-x)>180?(F+x+360)/2:(F+x)/2,S=1-.17*Jn(r(T-30))+.24*Jn(r(2*T))+.32*Jn(r(3*T+6))-.2*Jn(r(4*T-63)),I=x-F;I=jn(I)<=180?I:x<=F?I+360:I-360,I=2*Gn(E*b)*Zn(r(I)/2);var U=h-o,Q=b-E,k=1+.015*Wn(p-50,2)/Gn(20+Wn(p-50,2)),M=1+.045*C,L=1+.015*C*S,O=30*qn(-Wn((T-275)/25,2)),N=-2*Gn(Wn(C,7)/(Wn(C,7)+Wn(25,7)))*Zn(2*r(O)),D=Gn(Wn(U/(t*k),2)+Wn(Q/(i*M),2)+Wn(I/(n*L),2)+N*(Q/(i*M))*(I/(n*L)));return zn(0,Xn(100,D))},la.distance=function(e,A,t){void 0===t&&(t="lab"),e=new $n(e),A=new $n(A);var i=e.get(t),n=A.get(t),a=0;for(var r in i){var s=(i[r]||0)-(n[r]||0);a+=s*s}return Math.sqrt(a)},la.limits=Pn.limits,la.valid=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];try{return new(Function.prototype.bind.apply(ea,[null].concat(e))),!0}catch(e){return!1}},la.scales=ia,la.colors=dt,la.brewer=oa,la}();var chroma=chromaExports;function hexWithAlpha(e,A){return chroma(e).alpha(A).css()}function has(e,A){return e.hasAttribute(A)}function get(e,A,t){return e.getAttribute(A)||t||""}function getNum(e,A,t){const i=Number(get(e,A));return Number.isNaN(i)?t||0:i}const attrHandlers={stroke:({el:e,exVals:A})=>{const t=get(e,"stroke");A.strokeColor=has(e,"stroke-opacity")?hexWithAlpha(t,getNum(e,"stroke-opacity")):t},"stroke-opacity":({el:e,exVals:A})=>{A.strokeColor=hexWithAlpha(get(e,"stroke","#000000"),getNum(e,"stroke-opacity"))},"stroke-width":({el:e,exVals:A})=>{A.strokeWidth=getNum(e,"stroke-width")},fill:({el:e,exVals:A})=>{const t=get(e,"fill");A.backgroundColor="none"===t?"#00000000":t},"fill-opacity":({el:e,exVals:A})=>{A.backgroundColor=hexWithAlpha(get(e,"fill","#000000"),getNum(e,"fill-opacity"))},opacity:({el:e,exVals:A})=>{A.opacity=getNum(e,"opacity",100)}};function presAttrsToElementValues(e){return[...e.attributes].reduce(((A,t)=>{const i=t.name;return Object.keys(attrHandlers).includes(i)&&attrHandlers[i]({el:e,exVals:A}),A}),{})}function filterAttrsToElementValues(e){const A={};return has(e,"x")&&(A.x=getNum(e,"x")),has(e,"y")&&(A.y=getNum(e,"y")),has(e,"width")&&(A.width=getNum(e,"width")),has(e,"height")&&(A.height=getNum(e,"height")),A}function pointsAttrToPoints(e){let A=[];return has(e,"points")&&(A=get(e,"points").split(" ").map((e=>e.split(",").map(parseFloat)))),A}function getGroupAttrs(e){return e.reduce(((e,{element:A})=>{const t=presAttrsToElementValues(A);return Object.assign(Object.assign({},e),t)}),{})}class Group{constructor(e){this.id=randomId(),this.element=e}}function createExElement(){return{id:randomId(),x:0,y:0,strokeColor:"#000000",backgroundColor:"#000000",fillStyle:"solid",strokeWidth:1,strokeStyle:"solid",roundness:null,roughness:0,opacity:100,width:0,height:0,angle:0,seed:Math.floor(random.next()*2**31),version:0,versionNonce:0,isDeleted:!1,groupIds:[],boundElementIds:null}}function createExRect(){return Object.assign(Object.assign({},createExElement()),{type:"rectangle"})}function createExLine(){return Object.assign(Object.assign({},createExElement()),{type:"line",points:[]})}function createExEllipse(){return Object.assign(Object.assign({},createExElement()),{type:"ellipse"})}function createExDraw(){return Object.assign(Object.assign({},createExElement()),{type:"line",points:[]})}const transformFunctions={matrix:"matrix",matrix3d:"matrix3d",perspective:"perspective",rotate:"rotate",rotate3d:"rotate3d",rotateX:"rotateX",rotateY:"rotateY",rotateZ:"rotateZ",scale:"scale",scale3d:"scale3d",scaleX:"scaleX",scaleY:"scaleY",scaleZ:"scaleZ",skew:"skew",skewX:"skewX",skewY:"skewY",translate:"translate",translate3d:"translate3d",translateX:"translateX",translateY:"translateY",translateZ:"translateZ"},transformFunctionsArr=Object.keys(transformFunctions),defaultUnits={matrix:"",matrix3d:"",perspective:"perspective",rotate:"deg",rotate3d:"deg",rotateX:"deg",rotateY:"deg",rotateZ:"deg",scale:"",scale3d:"",scaleX:"",scaleY:"",scaleZ:"",skew:"skew",skewX:"deg",skewY:"deg",translate:"px",translate3d:"px",translateX:"px",translateY:"px",translateZ:"px"},svgTransformToCSSTransform=e=>{const A=e.match(/(\w+)\(([^)]*)\)/g);if(!A)return"";const t=A.map((e=>{const A=e.split("(")[0];if(!A)throw new Error("Unable to find transform name");if(!transformFunctionsArr.includes(A))throw new Error(`transform function name "${A}" is not valid`);const t=e.match(/([-+]?[0-9]*\.?[0-9]+)([a-z])*/g);if(!t)return{type:A,values:[]};let i=t.map((e=>{const[t,i]=e.matchAll(/([-+]?[0-9]*\.?[0-9]+)|([a-z])*/g);return{unit:i[0]||defaultUnits[A],value:t[0]}}));return i&&"rotate"===A&&(null==i?void 0:i.length)>1&&(i=[i[0]]),{type:A,values:i}}));return t.map((({type:e,values:A})=>`${e}(${A.map((({unit:e,value:A})=>`${A}${e}`)).join(", ")})`)).join(" ")};function getElementMatrix(e){if(e.hasAttribute("transform")){const A=new DOMMatrix(svgTransformToCSSTransform(e.getAttribute("transform")||""));return multiply(create$1(),create$1(),A.toFloat32Array())}return create$1()}function getTransformMatrix(e,A){return A.map((({element:e})=>getElementMatrix(e))).concat([getElementMatrix(e)]).reduce(((e,A)=>multiply(e,e,A)),create$1())}function transformPoints(e,A){return e.map((([e,t])=>{const[i,n]=transformMat4(create(),fromValues(e,t,1),A);return[i,n]}))}function distance(e,A){return Math.sqrt(distanceSq(e,A))}function distanceSq(e,A){return Math.pow(e[0]-A[0],2)+Math.pow(e[1]-A[1],2)}function distanceToSegmentSq(e,A,t){const i=distanceSq(A,t);if(0===i)return distanceSq(e,A);let n=((e[0]-A[0])*(t[0]-A[0])+(e[1]-A[1])*(t[1]-A[1]))/i;return n=Math.max(0,Math.min(1,n)),distanceSq(e,lerp(A,t,n))}function lerp(e,A,t){return[e[0]+(A[0]-e[0])*t,e[1]+(A[1]-e[1])*t]}function flatness(e,A){const t=e[A+0],i=e[A+1],n=e[A+2],a=e[A+3];let r=3*i[0]-2*t[0]-a[0];r*=r;let s=3*i[1]-2*t[1]-a[1];s*=s;let o=3*n[0]-2*a[0]-t[0];o*=o;let l=3*n[1]-2*a[1]-t[1];return l*=l,r1&&n.push(t):n.push(t),n.push(e[A+3])}else{const i=.5,a=e[A+0],r=e[A+1],s=e[A+2],o=e[A+3],l=lerp(a,r,i),c=lerp(r,s,i),d=lerp(s,o,i),h=lerp(l,c,i),u=lerp(c,d,i),g=lerp(h,u,i);getPointsOnBezierCurveWithSplitting([a,l,h,g],0,t,n),getPointsOnBezierCurveWithSplitting([g,u,d,o],0,t,n)}return n}function simplify(e,A){return simplifyPoints(e,0,e.length,A)}function simplifyPoints(e,A,t,i,n){const a=n||[],r=e[A],s=e[t-1];let o=0,l=1;for(let i=A+1;io&&(o=A,l=i)}return Math.sqrt(o)>i?(simplifyPoints(e,A,l+1,i,a),simplifyPoints(e,l,t,i,a)):(a.length||a.push(r),a.push(s)),a}function pointsOnBezierCurves(e,A=.15,t){const i=[],n=(e.length-1)/3;for(let t=0;t0?simplifyPoints(i,0,i.length,t):i}const COMMAND=0,NUMBER=1,EOD=2,PARAMS={A:7,a:7,C:6,c:6,H:1,h:1,L:2,l:2,M:2,m:2,Q:4,q:4,S:4,s:4,T:2,t:2,V:1,v:1,Z:0,z:0};function tokenize(e){const A=new Array;for(;""!==e;)if(e.match(/^([ \t\r\n,]+)/))e=e.substr(RegExp.$1.length);else if(e.match(/^([aAcChHlLmMqQsStTvVzZ])/))A[A.length]={type:0,text:RegExp.$1},e=e.substr(RegExp.$1.length);else{if(!e.match(/^(([-+]?[0-9]+(\.[0-9]*)?|[-+]?\.[0-9]+)([eE][-+]?[0-9]+)?)/))return[];A[A.length]={type:1,text:`${parseFloat(RegExp.$1)}`},e=e.substr(RegExp.$1.length)}return A[A.length]={type:2,text:""},A}function isType(e,A){return e.type===A}function parsePath(e){const A=[],t=tokenize(e);let i="BOD",n=0,a=t[n];for(;!isType(a,2);){let r=0;const s=[];if("BOD"===i){if("M"!==a.text&&"m"!==a.text)return parsePath("M0,0"+e);n++,r=PARAMS[a.text],i=a.text}else isType(a,1)?r=PARAMS[i]:(n++,r=PARAMS[a.text],i=a.text);if(!(n+ri%2?e+t:e+A));a.push({key:"C",data:e}),A=e[4],t=e[5];break}case"Q":a.push({key:"Q",data:[...s]}),A=s[2],t=s[3];break;case"q":{const e=s.map(((e,i)=>i%2?e+t:e+A));a.push({key:"Q",data:e}),A=e[2],t=e[3];break}case"A":a.push({key:"A",data:[...s]}),A=s[5],t=s[6];break;case"a":A+=s[5],t+=s[6],a.push({key:"A",data:[s[0],s[1],s[2],s[3],s[4],A,t]});break;case"H":a.push({key:"H",data:[...s]}),A=s[0];break;case"h":A+=s[0],a.push({key:"H",data:[A]});break;case"V":a.push({key:"V",data:[...s]}),t=s[0];break;case"v":t+=s[0],a.push({key:"V",data:[t]});break;case"S":a.push({key:"S",data:[...s]}),A=s[2],t=s[3];break;case"s":{const e=s.map(((e,i)=>i%2?e+t:e+A));a.push({key:"S",data:e}),A=e[2],t=e[3];break}case"T":a.push({key:"T",data:[...s]}),A=s[0],t=s[1];break;case"t":A+=s[0],t+=s[1],a.push({key:"T",data:[A,t]});break;case"Z":case"z":a.push({key:"Z",data:[]}),A=i,t=n}return a}function normalize(e){const A=[];let t="",i=0,n=0,a=0,r=0,s=0,o=0;for(const{key:l,data:c}of e){switch(l){case"M":A.push({key:"M",data:[...c]}),[i,n]=c,[a,r]=c;break;case"C":A.push({key:"C",data:[...c]}),i=c[4],n=c[5],s=c[2],o=c[3];break;case"L":A.push({key:"L",data:[...c]}),[i,n]=c;break;case"H":i=c[0],A.push({key:"L",data:[i,n]});break;case"V":n=c[0],A.push({key:"L",data:[i,n]});break;case"S":{let e=0,a=0;"C"===t||"S"===t?(e=i+(i-s),a=n+(n-o)):(e=i,a=n),A.push({key:"C",data:[e,a,...c]}),s=c[0],o=c[1],i=c[2],n=c[3];break}case"T":{const[e,a]=c;let r=0,l=0;"Q"===t||"T"===t?(r=i+(i-s),l=n+(n-o)):(r=i,l=n);const d=i+2*(r-i)/3,h=n+2*(l-n)/3,u=e+2*(r-e)/3,g=a+2*(l-a)/3;A.push({key:"C",data:[d,h,u,g,e,a]}),s=r,o=l,i=e,n=a;break}case"Q":{const[e,t,a,r]=c,l=i+2*(e-i)/3,d=n+2*(t-n)/3,h=a+2*(e-a)/3,u=r+2*(t-r)/3;A.push({key:"C",data:[l,d,h,u,a,r]}),s=e,o=t,i=a,n=r;break}case"A":{const e=Math.abs(c[0]),t=Math.abs(c[1]),a=c[2],r=c[3],s=c[4],o=c[5],l=c[6];0===e||0===t?(A.push({key:"C",data:[i,n,o,l,o,l]}),i=o,n=l):i===o&&n===l||(arcToCubicCurves(i,n,o,l,e,t,a,r,s).forEach((function(e){A.push({key:"C",data:e})})),i=o,n=l);break}case"Z":A.push({key:"Z",data:[]}),i=a,n=r}t=l}return A}function degToRad(e){return Math.PI*e/180}function rotate(e,A,t){return[e*Math.cos(t)-A*Math.sin(t),e*Math.sin(t)+A*Math.cos(t)]}function arcToCubicCurves(e,A,t,i,n,a,r,s,o,l){const c=degToRad(r);let d=[],h=0,u=0,g=0,p=0;if(l)[h,u,g,p]=l;else{[e,A]=rotate(e,A,-c),[t,i]=rotate(t,i,-c);const r=(e-t)/2,l=(A-i)/2;let d=r*r/(n*n)+l*l/(a*a);d>1&&(d=Math.sqrt(d),n*=d,a*=d);const m=n*n,w=a*a,f=m*w-m*l*l-w*r*r,B=m*l*l+w*r*r,E=(s===o?-1:1)*Math.sqrt(Math.abs(f/B));g=E*n*l/a+(e+t)/2,p=E*-a*r/n+(A+i)/2,h=Math.asin(parseFloat(((A-p)/a).toFixed(9))),u=Math.asin(parseFloat(((i-p)/a).toFixed(9))),eu&&(h-=2*Math.PI),!o&&u>h&&(u-=2*Math.PI)}let m=u-h;if(Math.abs(m)>120*Math.PI/180){const e=u,A=t,s=i;u=o&&u>h?h+120*Math.PI/180*1:h+120*Math.PI/180*-1,d=arcToCubicCurves(t=g+n*Math.cos(u),i=p+a*Math.sin(u),A,s,n,a,r,0,o,[u,e,g,p])}m=u-h;const w=Math.cos(h),f=Math.sin(h),B=Math.cos(u),E=Math.sin(u),b=Math.tan(m/4),C=4/3*n*b,v=4/3*a*b,y=[e,A],F=[e+C*f,A-v*w],x=[t+C*E,i-v*B],T=[t,i];if(F[0]=2*y[0]-F[0],F[1]=2*y[1]-F[1],l)return[F,x,T].concat(d);{d=[F,x,T].concat(d);const e=[];for(let A=0;A{s.length>=4&&a.push(...pointsOnBezierCurves(s,A)),s=[]},l=()=>{o(),a.length&&(n.push(a),a=[])};for(const{key:e,data:A}of i)switch(e){case"M":l(),r=[A[0],A[1]],a.push(r);break;case"L":o(),a.push([A[0],A[1]]);break;case"C":if(!s.length){const e=a.length?a[a.length-1]:r;s.push([e[0],e[1]])}s.push([A[0],A[1]]),s.push([A[2],A[3]]),s.push([A[4],A[5]]);break;case"Z":o(),a.push([r[0],r[1]])}if(l(),!t)return n;const c=[];for(const e of n){const A=simplify(e,t);A.length&&c.push(A)}return c}const SUPPORTED_TAGS=["svg","path","g","use","circle","ellipse","rect","polyline","polygon"],nodeValidator=e=>SUPPORTED_TAGS.includes(e.tagName)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT;function createTreeWalker(e){return document.createTreeWalker(e,NodeFilter.SHOW_ALL,{acceptNode:nodeValidator})}const presAttrs=(e,A)=>Object.assign(Object.assign(Object.assign({},getGroupAttrs(A)),presAttrsToElementValues(e)),filterAttrsToElementValues(e)),skippedUseAttrs=["id"],allwaysPassedUseAttrs=["x","y","width","height","href","xlink:href"],getDefElWithCorrectAttrs=(e,A)=>[...A.attributes].reduce(((t,i)=>(skippedUseAttrs.includes(i.value)||e.hasAttribute(i.name)&&!allwaysPassedUseAttrs.includes(i.name)||t.setAttribute(i.name,A.getAttribute(i.name)||""),t)),e.cloneNode()),walkers={svg:e=>{walk(e,e.tw.nextNode())},g:e=>{const A=Object.assign(Object.assign({},e),{tw:createTreeWalker(e.tw.currentNode),groups:[...e.groups,new Group(e.tw.currentNode)]});walk(A,A.tw.nextNode()),walk(e,e.tw.nextSibling())},use:e=>{const{root:A,tw:t,scene:i}=e,n=t.currentNode,a=n.getAttribute("href")||n.getAttribute("xlink:href");if(!a)throw new Error("unable to get id of use element");const r=A.querySelector(a);if(!r)throw new Error(`unable to find def element with id: ${a}`);const s=new ExcalidrawScene,o=getDefElWithCorrectAttrs(r,n);walk(Object.assign(Object.assign({},e),{scene:s,tw:createTreeWalker(o)}),o);const l=s.elements.pop();l&&i.elements.push(l),walk(e,e.tw.nextNode())},circle:e=>{const{tw:A,scene:t,groups:i}=e,n=A.currentNode,a=getNum(n,"r",0),r=2*a,s=getNum(n,"x",0)+getNum(n,"cx",0)-a,o=getNum(n,"y",0)+getNum(n,"cy",0)-a,l=getTransformMatrix(n,i),c=fromValues$1(r,0,0,0,0,r,0,0,0,0,1,0,s,o,0,1),d=multiply(create$1(),l,c),h=Object.assign(Object.assign(Object.assign({},createExEllipse()),presAttrs(n,i)),{x:d[12],y:d[13],width:d[0],height:d[5],groupIds:i.map((e=>e.id))});t.elements.push(h),walk(e,A.nextNode())},ellipse:e=>{const{tw:A,scene:t,groups:i}=e,n=A.currentNode,a=getNum(n,"rx",0),r=getNum(n,"ry",0),s=getNum(n,"cx",0),o=getNum(n,"cy",0),l=getNum(n,"x",0)+s-a,c=getNum(n,"y",0)+o-r,d=2*a,h=2*r,u=getTransformMatrix(n,i),g=fromValues$1(d,0,0,0,0,h,0,0,0,0,1,0,l,c,0,1),p=multiply(create$1(),u,g),m=Object.assign(Object.assign(Object.assign({},createExEllipse()),presAttrs(n,i)),{x:p[12],y:p[13],width:p[0],height:p[5],groupIds:i.map((e=>e.id))});t.elements.push(m),walk(e,A.nextNode())},line:e=>{walk(e,e.tw.nextNode())},polygon:e=>{const{tw:A,scene:t,groups:i}=e,n=A.currentNode,a=transformPoints(pointsAttrToPoints(n),getTransformMatrix(n,i)),r=a[0][0],s=a[0][1],o=a.map((([e,A])=>[e-r,A-s])),[l,c]=dimensionsFromPoints(o),d=Object.assign(Object.assign(Object.assign(Object.assign({},createExLine()),getGroupAttrs(i)),presAttrsToElementValues(n)),{points:o.concat([[0,0]]),x:r,y:s,width:l,height:c});t.elements.push(d),walk(e,e.tw.nextNode())},polyline:e=>{const{tw:A,scene:t,groups:i}=e,n=A.currentNode,a=getTransformMatrix(n,i),r=transformPoints(pointsAttrToPoints(n),a),s=r[0][0],o=r[0][1],l=r.map((([e,A])=>[e-s,A-o])),[c,d]=dimensionsFromPoints(l),h=has(n,"fill"),u=get(n,"fill"),g=!h||h&&"none"!==u,p=Object.assign(Object.assign(Object.assign(Object.assign({},createExLine()),getGroupAttrs(i)),presAttrsToElementValues(n)),{points:l.concat(g?[[0,0]]:[]),x:s,y:o,width:c,height:d});t.elements.push(p),walk(e,e.tw.nextNode())},rect:e=>{const{tw:A,scene:t,groups:i}=e,n=A.currentNode,a=getNum(n,"x",0),r=getNum(n,"y",0),s=getNum(n,"width",0),o=getNum(n,"height",0),l=getTransformMatrix(n,i),c=fromValues$1(s,0,0,0,0,o,0,0,0,0,1,0,a,r,0,1),d=multiply(create$1(),l,c),h=n.hasAttribute("rx")||n.hasAttribute("ry"),u=Object.assign(Object.assign(Object.assign({},createExRect()),presAttrs(n,i)),{x:d[12],y:d[13],width:d[0],height:d[5],roundness:h?{type:ROUNDNESS.LEGACY}:null});t.elements.push(u),walk(e,e.tw.nextNode())},path:e=>{const{tw:A,scene:t,groups:i}=e,n=A.currentNode,a=getTransformMatrix(n,i),r=pointsOnPath(get(n,"d")),s=get(n,"fill","black"),o=get(n,"fill-rule","nonzero");let l=[],c=randomId();switch(o){case"nonzero":let e="clockwise";l=r.map(((A,t)=>{const r=transformPoints(A,clone(a)),o=r[0][0],l=r[0][1],[d,h]=dimensionsFromPoints(r),u=r.map((([e,A])=>[e-o,A-l])),g=getWindingOrder(u);0===t&&(e=g,c=randomId());let p=s;return e!==g&&(p="#FFFFFF"),Object.assign(Object.assign(Object.assign(Object.assign({},createExDraw()),{strokeWidth:0,strokeColor:"#00000000"}),presAttrs(n,i)),{points:u,backgroundColor:p,width:d,height:h,x:o+getNum(n,"x",0),y:l+getNum(n,"y",0),groupIds:[c]})}));break;case"evenodd":l=r.map(((e,A)=>{const t=transformPoints(e,clone(a)),r=t[0][0],s=t[0][1],[o,l]=dimensionsFromPoints(t),d=t.map((([e,A])=>[e-r,A-s]));return 0===A&&(c=randomId()),Object.assign(Object.assign(Object.assign({},createExDraw()),presAttrs(n,i)),{points:d,width:o,height:l,x:r+getNum(n,"x",0),y:s+getNum(n,"y",0)})}))}t.elements=t.elements.concat(l),walk(e,A.nextNode())}};function walk(e,A){if(!A)return;const t=A.nodeName;walkers[t]&&walkers[t](e)}const svgToExcalidraw=e=>{const A=(new DOMParser).parseFromString(e,"image/svg+xml"),t=A.querySelectorAll("parsererror"),i=t.length>0;let n=null;if(i)console.error("There were errors while parsing the given SVG: ",[...t].map((e=>e.innerHTML)));else{const e=createTreeWalker(A),t=new ExcalidrawScene;walk({tw:e,scene:t,groups:[],root:A},e.nextNode()),n=t.elements}return{hasErrors:i,errors:i?t:null,content:n}};B([r$d,z,e$a,l$3,b$1,v,h$1,i$5,i$4,h,u,c$1,s]);const{determineFocusDistance:determineFocusDistance,intersectElementWithLine:intersectElementWithLine,getCommonBoundingBox:getCommonBoundingBox,getMaximumGroups:getMaximumGroups,measureText:measureText}=excalidrawLib,GAP=4;class ExcalidrawAutomate{get obsidian(){return obsidian_module__namespace}constructor(e,A){this.targetView=null,this.mostRecentMarkdownSVG=null,this.onViewUnloadHook=null,this.onViewModeChangeHook=null,this.onLinkHoverHook=null,this.onLinkClickHook=null,this.onDropHook=null,this.onCanvasColorChangeHook=null,this.activeScript=null,this.plugin=e,this.reset(),this.targetView=A}getViewLastPointerPosition(){var e;return this.targetView&&(null===(e=this.targetView)||void 0===e?void 0:e._loaded)?this.targetView.currentPosition:(errorMessage("targetView not set","getExcalidrawAPI()"),null)}getAPI(e){return new ExcalidrawAutomate(this.plugin,e)}setFillStyle(e){switch(e){case 0:return this.style.fillStyle="hachure","hachure";case 1:return this.style.fillStyle="cross-hatch","cross-hatch";default:return this.style.fillStyle="solid","solid"}}setStrokeStyle(e){switch(e){case 0:return this.style.strokeStyle="solid","solid";case 1:return this.style.strokeStyle="dashed","dashed";default:return this.style.strokeStyle="dotted","dotted"}}setStrokeSharpness(e){return 0===e?(this.style.roundness={type:ROUNDNESS.LEGACY},"round"):(this.style.roundness=null,"sharp")}setFontFamily(e){switch(e){case 1:return this.style.fontFamily=4,getFontFamily(4);case 2:return this.style.fontFamily=2,getFontFamily(2);case 3:return this.style.fontFamily=3,getFontFamily(3);default:return this.style.fontFamily=1,getFontFamily(1)}}setTheme(e){return 0===e?(this.canvas.theme="light","light"):(this.canvas.theme="dark","dark")}addToGroup(e){const A=nanoid();return e.forEach((e=>{var t,i;null===(i=null===(t=this.elementsDict[e])||void 0===t?void 0:t.groupIds)||void 0===i||i.push(A)})),A}async toClipboard(e){const A=e?await getTemplate(this.plugin,e,!1,new EmbeddedFilesLoader(this.plugin),0):null;let t=A?A.elements:[];t=t.concat(this.getElements()),navigator.clipboard.writeText(JSON.stringify({type:"excalidraw/clipboard",elements:t}))}getElements(){const e=[],A=Object.keys(this.elementsDict);for(let t=0;t{let A=e.plaintext?e.plaintext+"\n\n":"";const t=this.getElements().filter((e=>"text"===e.type));return A+="# Text Elements\n",t.forEach((e=>{var t,i;A+=`${null!==(t=e.rawText)&&void 0!==t?t:null!==(i=e.originalText)&&void 0!==i?i:e.text} ^${e.id}\n\n`})),this.getElements().filter((e=>"text"!==e.type&&e.link)).forEach((e=>{A+=`${e.link} ^${e.id}\n\n`})),A+=Object.keys(this.imagesDict).length>0?"\n# Embedded files\n":"",Object.keys(this.imagesDict).forEach((e=>{const t=this.imagesDict[e];t.latex?A+=`${e}: $$${t.latex}$$\n`:A+=`${e}: [[${t.file}]]\n`})),A})()+getMarkdownDrawingSection(JSON.stringify(G,null,"\t"),this.plugin.settings.compress))}async createSVG(e,A=!1,t,i,n,a){return n||(n=this.plugin.settings.previewMatchObsidianTheme?isObsidianThemeDark()?"dark":"light":this.plugin.settings.exportWithTheme?void 0:"light"),n&&!t&&(t={withBackground:this.plugin.settings.exportWithBackground,withTheme:!0}),i||(i=new EmbeddedFilesLoader(this.plugin,n?"dark"===n:void 0)),await createSVG(e,A,t,i,n,this.canvas.theme,this.canvas.viewBackgroundColor,this.getElements(),this.plugin,0,a,this.imagesDict)}async createPNG(e,A=1,t,i,n,a){return n||(n=this.plugin.settings.previewMatchObsidianTheme?isObsidianThemeDark()?"dark":"light":this.plugin.settings.exportWithTheme?void 0:"light"),n&&!t&&(t={withBackground:this.plugin.settings.exportWithBackground,withTheme:!0}),i||(i=new EmbeddedFilesLoader(this.plugin,n?"dark"===n:void 0)),await createPNG(e,A,t,i,n,this.canvas.theme,this.canvas.viewBackgroundColor,this.getElements(),this.plugin,0,a,this.imagesDict)}wrapText(e,A){return wrapTextAtCharLength(e,A,this.plugin.settings.forceWrap)}boxedElement(e,A,t,i,n,a){return{id:e,type:A,x:t,y:i,width:n,height:a,angle:this.style.angle,strokeColor:this.style.strokeColor,backgroundColor:this.style.backgroundColor,fillStyle:this.style.fillStyle,strokeWidth:this.style.strokeWidth,strokeStyle:this.style.strokeStyle,roughness:this.style.roughness,opacity:this.style.opacity,roundness:this.style.strokeSharpness?"round"===this.style.strokeSharpness?{type:ROUNDNESS.LEGACY}:null:this.style.roundness,seed:Math.floor(1e5*Math.random()),version:1,versionNonce:Math.floor(1e9*Math.random()),updated:Date.now(),isDeleted:!1,groupIds:[],boundElements:[],link:null,locked:!1}}addRect(e,A,t,i){const n=nanoid();return this.elementsDict[n]=this.boxedElement(n,"rectangle",e,A,t,i),n}addDiamond(e,A,t,i){const n=nanoid();return this.elementsDict[n]=this.boxedElement(n,"diamond",e,A,t,i),n}addEllipse(e,A,t,i){const n=nanoid();return this.elementsDict[n]=this.boxedElement(n,"ellipse",e,A,t,i),n}addBlob(e,A,t,i){const n=.5*i,a=.5*t,r=a/9,s=.8*n,o=[],l=(t,i)=>{const l=t+Math.random()*r-r/2;o.push([l+Math.random()*r-r/2+t%2*r/6+e,i*Math.sqrt(n*n*(1-l*l/(a*a)))+Math.random()*s-s/2+t%2*s/6+A])};let c;for(c=r/2-a;c<=a-r/2;c+=a/6)l(c,1);for(c=a-r/2;c>=r/2-a;c-=a/6)l(c,-1);o.push(o[0]);const d=this.addLine((e=>{const A=getLineBox(e),n=t/A.w,a=i/A.h;let r;for(r=0;r500){const e=500/Math.max(r.size.width,r.size.height);r.size.width=e*r.size.width,r.size.height=e*r.size.height}return this.elementsDict[n]=this.boxedElement(n,"image",e,A,r.size.width,r.size.height),this.elementsDict[n].fileId=s,this.elementsDict[n].scale=[1,1],n}async addLaTex(e,A,t){const i=nanoid(),n=await tex2dataURL(t,this.plugin);return n?(this.imagesDict[n.fileId]={mimeType:n.mimeType,id:n.fileId,dataURL:n.dataURL,created:n.created,file:null,hasSVGwithBitmap:!1,latex:t},this.elementsDict[i]=this.boxedElement(i,"image",e,A,n.size.width,n.size.height),this.elementsDict[i].fileId=n.fileId,this.elementsDict[i].scale=[1,1],i):null}connectObjects(e,A,t,i,n){if(!this.elementsDict[e]||!this.elementsDict[t])return;if(["line","arrow","freedraw"].includes(this.elementsDict[e].type)||["line","arrow","freedraw"].includes(this.elementsDict[t].type))return;const a=(null==n?void 0:n.padding)?n.padding:10,r=(null==n?void 0:n.numberOfPoints)?n.numberOfPoints:0,s=(e,A)=>{switch(e){case"bottom":return[(A.x+(A.x+A.width))/2,A.y+A.height+a];case"left":return[A.x-a,(A.y+(A.y+A.height))/2];case"right":return[A.x+A.width+a,(A.y+(A.y+A.height))/2];default:return[(A.x+(A.x+A.width))/2,A.y-a]}};let o,l,c,d;const h=this.elementsDict[e],u=this.elementsDict[t];if(!A||!i){const e=h.x+h.width/2,t=u.x+u.width/2,n=h.y+h.height/2,a=u.y+u.height/2;if(!A){const A=intersectElementWithLine(h,[t,a],[e,n],4);0===A.length?[o,l]=[e,n]:[o,l]=A[0]}if(!i){const A=intersectElementWithLine(u,[e,n],[t,a],4);0===A.length?[c,d]=[t,a]:[c,d]=A[0]}}A&&([o,l]=s(A,this.elementsDict[e])),i&&([c,d]=s(i,this.elementsDict[t]));const g=r+2,p=[];for(let e=0;eMath.PI/2&&(i-=Math.PI),this.style.angle=i;const a=this.addText(t.x+t.points[1][0]/2-n.width/2,t.y+t.points[1][1]/2-n.height,A);return this.style.angle=0,a}clear(){this.elementsDict={},this.imagesDict={}}reset(){this.clear(),this.activeScript=null,this.style={strokeColor:"#000000",backgroundColor:"transparent",angle:0,fillStyle:"hachure",strokeWidth:1,strokeStyle:"solid",roughness:1,opacity:100,roundness:null,fontFamily:1,fontSize:20,textAlign:"left",verticalAlign:"top",startArrowHead:null,endArrowHead:"arrow"},this.canvas={theme:"light",viewBackgroundColor:"#FFFFFF",gridSize:0}}isExcalidrawFile(e){return this.plugin.isExcalidrawFile(e)}setView(e){if(!e){const e=app.workspace.getActiveViewOfType(ExcalidrawView);if(e instanceof ExcalidrawView)this.targetView=e;else{const e=app.workspace.getLeavesOfType("excalidraw");if(!e||0==e.length)return;this.targetView=e[0].view}}if("active"==e){const e=app.workspace.getActiveViewOfType(ExcalidrawView);if(!(e instanceof ExcalidrawView))return;this.targetView=e}if("first"==e){const e=app.workspace.getLeavesOfType("excalidraw");if(!e||0==e.length)return;this.targetView=e[0].view}return e instanceof ExcalidrawView&&(this.targetView=e),this.targetView}getExcalidrawAPI(){var e;return this.targetView&&(null===(e=this.targetView)||void 0===e?void 0:e._loaded)?this.targetView.excalidrawAPI:(errorMessage("targetView not set","getExcalidrawAPI()"),null)}getViewElements(){var e;if(!this.targetView||!(null===(e=this.targetView)||void 0===e?void 0:e._loaded))return errorMessage("targetView not set","getViewElements()"),[];const A=this.targetView.excalidrawAPI;return A?A.getSceneElements():[]}deleteViewElements(e){var A,t,i;if(!this.targetView||!(null===(A=this.targetView)||void 0===A?void 0:A._loaded))return errorMessage("targetView not set","deleteViewElements()"),!1;const n=null===(i=null===(t=this.targetView)||void 0===t?void 0:t.excalidrawRef)||void 0===i?void 0:i.current;if(!n)return!1;const a=n.getSceneElements(),r=n.getAppState();return this.targetView.updateScene({elements:a.filter((A=>!e.includes(A))),appState:r,commitToHistory:!0}),!0}getViewSelectedElement(){const e=this.getViewSelectedElements();return e?e[0]:null}getViewSelectedElements(){var e;return this.targetView&&(null===(e=this.targetView)||void 0===e?void 0:e._loaded)?this.targetView.getViewSelectedElements():(errorMessage("targetView not set","getViewSelectedElements()"),[])}getViewFileForImageElement(e){var A,t,i,n;return this.targetView&&(null===(A=this.targetView)||void 0===A?void 0:A._loaded)?e&&"image"===e.type?null===(n=null===(i=null===(t=this.targetView)||void 0===t?void 0:t.excalidrawData)||void 0===i?void 0:i.getFile(e.fileId))||void 0===n?void 0:n.file:(errorMessage("Must provide an image element as input","getViewFileForImageElement()"),null):(errorMessage("targetView not set","getViewFileForImageElement()"),null)}copyViewElementsToEAforEditing(e){e.forEach((e=>{this.elementsDict[e.id]=cloneElement(e)}))}setViewModeEnabled(e){var A,t,i;if(!this.targetView||!(null===(A=this.targetView)||void 0===A?void 0:A._loaded))return void errorMessage("targetView not set","viewToggleFullScreen()");const n=this.targetView;n.updateScene({appState:{viewModeEnabled:e}}),null===(i=null===(t=n.toolsPanelRef)||void 0===t?void 0:t.current)||void 0===i||i.setExcalidrawViewMode(e)}viewUpdateScene(e,A=!1){var t;this.targetView&&(null===(t=this.targetView)||void 0===t?void 0:t._loaded)?this.targetView.updateScene(e,A):errorMessage("targetView not set","viewToggleFullScreen()")}viewZoomToElements(e,A){var t;this.targetView&&(null===(t=this.targetView)||void 0===t?void 0:t._loaded)?this.targetView.zoomToElements(e,A):errorMessage("targetView not set","viewToggleFullScreen()")}viewToggleFullScreen(e=!1){var A,t,i;if(!this.targetView||!(null===(A=this.targetView)||void 0===A?void 0:A._loaded))return void errorMessage("targetView not set","viewToggleFullScreen()");const n=this.targetView,a=n.isFullscreen();e&&(n.updateScene({appState:{viewModeEnabled:!a},commitToHistory:!1}),null===(i=null===(t=this.targetView.toolsPanelRef)||void 0===t?void 0:t.current)||void 0===i||i.setExcalidrawViewMode(!a)),a?n.exitFullscreen():n.gotoFullscreen()}connectObjectWithViewSelectedElement(e,A,t,i){const n=this.getViewSelectedElement();if(!n)return!1;const a=n.id;return this.elementsDict[a]=n,this.connectObjects(e,A,a,t,i),delete this.elementsDict[a],!0}async addElementsToView(e=!1,A=!0,t=!1){var i;if(!this.targetView||!(null===(i=this.targetView)||void 0===i?void 0:i._loaded))return errorMessage("targetView not set","addElementsToView()"),!1;const n=this.getElements();return await this.targetView.addElements(n,e,A,this.imagesDict,t)}registerThisAsViewEA(){var e;return this.targetView&&(null===(e=this.targetView)||void 0===e?void 0:e._loaded)?(this.targetView.setHookServer(this),!0):(errorMessage("targetView not set","addElementsToView()"),!1)}deregisterThisAsViewEA(){var e;return this.targetView&&(null===(e=this.targetView)||void 0===e?void 0:e._loaded)?(this.targetView.setHookServer(this),!0):(errorMessage("targetView not set","addElementsToView()"),!1)}getEmbeddedFilesLoader(e){return new EmbeddedFilesLoader(this.plugin,e)}getExportSettings(e,A){return{withBackground:e,withTheme:A}}getBoundingBox(e){const A=getCommonBoundingBox(e);return{topX:A.minX,topY:A.minY,width:A.maxX-A.minX,height:A.maxY-A.minY}}getMaximumGroups(e){return getMaximumGroups(e)}getLargestElement(e){if(!e||0===e.length)return null;let A=e[0];const t=e=>e.height*e.width;let i=t(e[0]);for(let n=1;ni&&(i=a,A=e[n])}return A}getCommonGroupForElements(e){const A=e.map((e=>e.groupIds)).reduce(((e,A)=>A.filter((A=>e.includes(A)))));return A.length>0?A[0]:null}getElementsInTheSameGroupWithElement(e,A){if(!e||!A)return[];const t="text"===e.type&&e.containerId?A.filter((A=>A.id===e.containerId)):[];return 0===e.groupIds.length?1===t.length?[e,t[0]]:[e]:1===t.length?A.filter((A=>A.groupIds.some((A=>e.groupIds.includes(A)))||A===t[0])):A.filter((A=>A.groupIds.some((A=>e.groupIds.includes(A)))))}intersectElementWithLine(e,A,t,i){return intersectElementWithLine(e,A,t,i)}getScriptSettings(){var e;return this.activeScript?null!==(e=this.plugin.settings.scriptEngineSettings[this.activeScript])&&void 0!==e?e:{}:null}async setScriptSettings(e){if(!this.activeScript)return null;this.plugin.settings.scriptEngineSettings[this.activeScript]=e,await this.plugin.saveSettings()}openFileInNewOrAdjacentLeaf(e){if(!(e&&e instanceof obsidian_module.TFile))return null;if(!this.targetView)return null;const A=getNewOrAdjacentLeaf(this.plugin,this.targetView.leaf);return A.openFile(e,{active:!0}),A}measureText(e){var A,t;const i=_measureText(e,this.style.fontSize,this.style.fontFamily);return{width:null!==(A=i.w)&&void 0!==A?A:0,height:null!==(t=i.h)&&void 0!==t?t:0}}async getOriginalImageSize(e){var A;if(!this.targetView||!(null===(A=this.targetView)||void 0===A?void 0:A._loaded))return errorMessage("targetView not set","getOriginalImageSize()"),null;if(!e||"image"!==e.type)return errorMessage("Please provide a single image element as input","getOriginalImageSize()"),null;const t=this.targetView.excalidrawData.getFile(e.fileId);if(!t)return errorMessage("Please provide a single image element as input","getOriginalImageSize()"),null;const i="dark"===this.getExcalidrawAPI().getAppState().theme,n=t.getImage(i);return await getImageSize(n)}verifyMinimumPluginVersion(e){return verifyMinimumPluginVersion(e)}isExcalidrawView(e){return e instanceof ExcalidrawView}selectElementsInView(e){var A;this.targetView&&(null===(A=this.targetView)||void 0===A?void 0:A._loaded)?e&&0!==e.length&&this.getExcalidrawAPI().selectElements(e):errorMessage("targetView not set","selectElementsInView()")}generateElementId(){return nanoid()}cloneElement(e){const A=JSON.parse(JSON.stringify(e));return A.id=nanoid(),A}moveViewElementToZIndex(e,A){var t;if(!this.targetView||!(null===(t=this.targetView)||void 0===t?void 0:t._loaded))return void errorMessage("targetView not set","moveViewElementToZIndex()");const i=this.getExcalidrawAPI(),n=this.getViewElements(),a=n.filter((A=>A.id===e));if(0===a.length)return void errorMessage(`Element (id: ${e}) not found`,"moveViewElementToZIndex");if(A>=n.length)return void i.bringToFront(a);if(A<0)return void i.sendToBack(a);const r=n.indexOf(a[0]);n.splice(A,0,n.splice(r,1)[0]),this.targetView.updateScene({elements:n,commitToHistory:!0})}hexStringToRgb(e){const A=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return[parseInt(A[1],16),parseInt(A[2],16),parseInt(A[3],16)]}rgbToHexString(e){return O$1({r:e[0],g:e[1],b:e[2]}).stringHEX({alpha:!1})}hslToRgb(e){const A=O$1({h:e[0],s:e[1],l:e[2]});return[A.red,A.green,A.blue]}rgbToHsl(e){const A=O$1({r:e[0],g:e[1],b:e[2]});return[A.hue,A.saturation,A.lightness]}colorNameToHex(e){return COLOR_NAMES.has(e.toLowerCase().trim())?COLOR_NAMES.get(e.toLowerCase().trim()):e.trim()}getCM(e){if(e)return"string"==typeof e&&(e=this.colorNameToHex(e)),O$1(e);log("Creates a CM object. Visit https://github.com/lbragile/ColorMaster for documentation.")}importSVG(e){const A=svgToExcalidraw(e);return A.hasErrors?(new obsidian_module.Notice(`There were errors while parsing the given SVG:\n${[...A.errors].map((e=>e.innerHTML))}`),!1):(this.copyViewElementsToEAforEditing(A.content),!0)}}async function initExcalidrawAutomate(e){await initFonts();const A=new ExcalidrawAutomate(e);return window.ExcalidrawAutomate=A,A}function destroyExcalidrawAutomate(){delete window.ExcalidrawAutomate}function normalizeLinePoints(e){const A=[],[t,i]=e[0];for(let n=0;n-1||A.search("excalidraw-plugin: locked\n")>-1;await a.loadData(A,l,o?TextMode.parsed:TextMode.raw);let d=A.search("# Text Elements\n");-1==d&&(d=A.search("# Drawing\n"));let h=a.scene;t&&await i.loadSceneFiles(a,(e=>{if(e&&0!==e.length){for(const A of e)A.hasSVGwithBitmap&&(c=!0),a.scene.files[A.id]={mimeType:A.mimeType,id:A.id,dataURL:A.dataURL,created:A.created};h=scaleLoadedImage(a.scene,e).scene}}),n);let u=h.elements;if(s.hasGroupref){const A=s.hasSectionref?getTextElementsMatchingQuery(h.elements,["# "+s.sectionref],!0):h.elements.filter((e=>e.id===s.blockref));A.length>0&&(u=e.ea.getElementsInTheSameGroupWithElement(A[0],h.elements))}return s.hasTaskbone&&(u=u.filter((A=>{var t;return"freedraw"===A.type||"image"===A.type&&!e.isExcalidrawFile(null===(t=a.getFile(A.fileId))||void 0===t?void 0:t.file)}))),{elements:u,appState:h.appState,frontmatter:A.substring(0,d),files:h.files,hasSVGwithBitmap:c}}return{elements:[],appState:{},frontmatter:null,files:[],hasSVGwithBitmap:c}}async function createPNG(e,A=1,t,i,n,a,r,s=[],o,l,c,d){var h,u,g,p,m,w,f;i||(i=new EmbeddedFilesLoader(o)),c=null!=c?c:o.settings.exportPaddingSVG;const B=e?await getTemplate(o,e,!0,i,l):null;let E=null!==(h=null==B?void 0:B.elements)&&void 0!==h?h:[];E=E.concat(s);const b=null!=d?d:{};return(null==B?void 0:B.files)&&Object.values(B.files).forEach((e=>{b[e.id]=e})),await getPNG({type:"excalidraw",version:2,source:GITHUB_RELEASES+PLUGIN_VERSION,elements:E,appState:{theme:null!==(g=null!=n?n:null===(u=null==B?void 0:B.appState)||void 0===u?void 0:u.theme)&&void 0!==g?g:a,viewBackgroundColor:null!==(m=null===(p=null==B?void 0:B.appState)||void 0===p?void 0:p.viewBackgroundColor)&&void 0!==m?m:r},files:b},{withBackground:null!==(w=null==t?void 0:t.withBackground)&&void 0!==w?w:o.settings.exportWithBackground,withTheme:null!==(f=null==t?void 0:t.withTheme)&&void 0!==f?f:o.settings.exportWithTheme},c,A)}async function createSVG(e,A=!1,t,i,n,a,r,s=[],o,l,c,d){var h,u,g,p,m,w,f;i||(i=new EmbeddedFilesLoader(o));const B=e?await getTemplate(o,e,!0,i,l):null;let E=null!==(h=null==B?void 0:B.elements)&&void 0!==h?h:[];E=E.concat(s),c=null!=c?c:o.settings.exportPaddingSVG;const b=null!=d?d:{};(null==B?void 0:B.files)&&Object.values(B.files).forEach((e=>{b[e.id]=e}));const C=await getSVG({type:"excalidraw",version:2,source:GITHUB_RELEASES+PLUGIN_VERSION,elements:E,appState:{theme:null!==(g=null!=n?n:null===(u=null==B?void 0:B.appState)||void 0===u?void 0:u.theme)&&void 0!==g?g:a,viewBackgroundColor:null!==(m=null===(p=null==B?void 0:B.appState)||void 0===p?void 0:p.viewBackgroundColor)&&void 0!==m?m:r},files:b},{withBackground:null!==(w=null==t?void 0:t.withBackground)&&void 0!==w?w:o.settings.exportWithBackground,withTheme:null!==(f=null==t?void 0:t.withTheme)&&void 0!==f?f:o.settings.exportWithTheme},c),v=getEmbeddedFilenameParts(e);if(!v.hasGroupref&&(v.hasBlockref||v.hasSectionref)){let e=v.hasSectionref?getTextElementsMatchingQuery(E,["# "+v.sectionref],!0):E.filter((e=>e.id===v.blockref));if(e.length>0){const A=e[0].containerId;A&&(e=e.concat(E.filter((e=>e.id===A))));const t=o.ea.getBoundingBox(e),i=o.ea.getBoundingBox(E);C.viewBox.baseVal.x=t.topX-i.topX,C.viewBox.baseVal.y=t.topY-i.topY,C.viewBox.baseVal.width=t.width+2*c,C.viewBox.baseVal.height=t.height+2*c}}return(null==B?void 0:B.hasSVGwithBitmap)&&C.setAttribute("hasbitmap","true"),A?embedFontsInSVG(C,o):C}function estimateLineBound(e){let A=1/0,t=1/0,i=-1/0,n=-1/0;for(const[a,r]of e)A=Math.min(A,a),t=Math.min(t,r),i=Math.max(i,a),n=Math.max(n,r);return[A,t,i,n]}function estimateBounds(e){const A=getCommonBoundingBox(e);return[A.minX,A.minY,A.maxX,A.maxY]}function repositionElementsToCursor(e,A,t=!1){const[i,n,a,r]=estimateBounds(e);let[s,o]=[0,0];return[s,o]=t?[A.x-(i+a)/2,A.y-(n+r)/2]:[A.x-i,A.y-n],e.forEach((e=>{e.x=e.x+s,e.y=e.y+o})),e}function errorMessage(e,A){switch(e){case"targetView not set":errorlog({where:"ExcalidrawAutomate",source:A,message:"targetView not set, or no longer active. Use setView before calling this function"});break;case"mobile not supported":errorlog({where:"ExcalidrawAutomate",source:A,message:"this function is not avalable on Obsidian Mobile"});break;default:errorlog({where:"ExcalidrawAutomate",source:A,message:"unknown error"})}}const insertLaTeXToView=e=>{const A=e.plugin.app,t=e.plugin.ea;new Prompt(A,t$d("ENTER_LATEX"),"","\\color{red}\\oint_S {E_n dA = \\frac{1}{{\\varepsilon _0 }}} Q_{inside}").openAndGetValue((async A=>{A&&(t.reset(),await t.addLaTex(0,0,A),t.setView(e),t.addElementsToView(!0,!1,!0))}))},search=async e=>{const A=e.plugin.ea;A.reset(),A.setView(e);const t=A.getViewElements().filter((e=>"text"===e.type));if(0===t.length)return;let i=await ScriptEngine.inputPrompt(e.plugin.app,"Search for","use quotation marks for exact match","");if(!i)return;const n=i.matchAll(/"(.*?)"/g);let a,r=[];for(;!(a=n.next()).done;)r.push(a.value[1]);i=i.replaceAll(/"(.*?)"/g,""),r=r.concat(i.split(" ").filter((e=>0!==e.length))),A.targetView.selectElementsMatchingQuery(t,r)},getTextElementsMatchingQuery=(e,A,t=!1)=>e&&0!==e.length&&A&&0!==A.length?e.filter((e=>"text"===e.type&&A.some((A=>{if(t){const t=e.rawText.toLowerCase().split("\n")[0].trim().match(/^#*(# .*)/);return!(!t||2!==t.length)&&t[1]===A.toLowerCase()}return e.rawText.toLowerCase().replaceAll("\n"," ").trim().match(A.toLowerCase())})))):[],cloneElement=e=>Object.assign(Object.assign({},e),{version:e.version+1,updated:Date.now(),versionNonce:Math.floor(1e9*Math.random())}),verifyMinimumPluginVersion=e=>PLUGIN_VERSION===e||isVersionNewerThanOther(PLUGIN_VERSION,e),URL$1="https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master/ea-scripts/index-new.md";class ScriptInstallPrompt extends obsidian_module.Modal{constructor(e){super(e.app),this.plugin=e}async onOpen(){this.contentEl.classList.add("excalidraw-scriptengine-install"),this.containerEl.classList.add("excalidraw-scriptengine-install");try{const e=await obsidian_module.request({url:URL$1});if(!e)return new obsidian_module.Notice("Error opening the Excalidraw Script Store page. Please double check that you can access the website. I've logged the link in developer console (press CTRL+SHIFT+i)",5e3),log(URL$1),void this.close();await obsidian_module.MarkdownRenderer.renderMarkdown(e,this.contentEl,"",this.plugin),this.contentEl.querySelectorAll("h1[data-heading],h2[data-heading],h3[data-heading]").forEach((e=>{e.setAttribute("id",e.getAttribute("data-heading"))})),this.contentEl.querySelectorAll("a.internal-link").forEach((e=>{e.removeAttribute("target")}))}catch(e){errorlog({where:"ScriptInstallPrompt.onOpen",error:e}),new obsidian_module.Notice("Could not open ScriptEngine repository"),this.close()}}onClose(){this.contentEl.empty()}}function r(e){var A,t,i="";if("string"==typeof e||"number"==typeof e)i+=e;else if("object"==typeof e)if(Array.isArray(e))for(A=0;A{e.view instanceof ExcalidrawView&&e.view.updatePinnedCustomPens()})),this.plugin.saveSettings();const e=this.plugin.settings.customPens[this.pen],A=this.view.excalidrawAPI;setPen(e,A),A.setActiveTool({type:"freedraw"})}}async createForm(){const e=e=>{let A="";if(COLOR_NAMES.has(e))return[COLOR_NAMES.get(e),A];const t=(new Option).style;if(t.color=e,t.color){const e=t.color.match(/^[^\d]*(\d*)[^\d]*(\d*)[^\d]*(\d*)[^\d]*([\d\.]*)?/);return e?(A=e[4]?(Math.round(255*parseFloat(e[4]))<<0).toString(16).padStart(2,"0"):"",[`#${(parseInt(e[1])<<0).toString(16).padStart(2,"0")}${(parseInt(e[2])<<0).toString(16).padStart(2,"0")}${(parseInt(e[3])<<0).toString(16).padStart(2,"0")}`,A]):[null,A]}return[null,A]},A=this.plugin.settings.customPens[this.pen],t=this.contentEl;let i,n,a,r,s;t.createEl("h1",{text:"Pen settings"}),new obsidian_module.Setting(t).setName("Pen type").setDesc("Select type of pen").addDropdown((e=>{e.addOption("default","Excalidraw Default").addOption("highlighter","Highlighter").addOption("finetip","Fine tip pen").addOption("fountain","Fountain pen").addOption("marker","Marker with Outline").addOption("thick-thin","Mindmap Thick-Thin").addOption("thin-thick-thin","Mindmap Thin-Thick-Thin").setValue(A.type).onChange((e=>{this.dirty=!0,A.type=e}))})).addButton((e=>e.setButtonText("Apply").onClick((()=>{this.dirty=!0,A.strokeColor=PENS[A.type].strokeColor,A.backgroundColor=PENS[A.type].backgroundColor,A.fillStyle=PENS[A.type].fillStyle,A.strokeWidth=PENS[A.type].strokeWidth,A.roughness=PENS[A.type].roughness,A.penOptions=Object.assign({},PENS[A.type].penOptions),t.empty(),this.createForm()})))),i=new obsidian_module.Setting(t).setName(fragWithHTML(A.freedrawOnly?"Stroke & fill applies to: Freedraw only":"Stroke & fill applies to: All shapes")).setDesc(fragWithHTML('"All shapes" means that if for example, you select a blue pen with dashed fill and then switch to a different tool (e.g. to a line, a circle, an arrow - i.e. not the freedraw tool), those will all have the same blue line and dashed fill.
"Only applies to the freedraw line" means that if for example you are writing black text, and you select a custom pen (e.g. a yellow highlighter), then after using the highlighter you switch to another tool, the previous settings (e.g. black stroke color) will apply to the new shape.')).addToggle((e=>e.setValue(A.freedrawOnly).onChange((e=>{this.dirty=!0,i.setName(fragWithHTML(e?"Stroke & fill applies to: Freedraw only":"Stroke & fill applies to: All shapes")),A.freedrawOnly=e}))));let o,l,c,d,h,u,g,[p,m]=e(A.strokeColor),w=!1;s=new obsidian_module.Setting(t).setName(fragWithHTML(Boolean(A.strokeColor)?"Stroke color: Preset color":"Stroke color: Current")).setDesc(fragWithHTML("Use current stroke color of the canvas, or set a specific preset color for the pen")).addToggle((t=>t.setValue(!Boolean(A.strokeColor)).onChange((t=>{this.dirty=!0,n.settingEl.style.display=t?"none":"",s.setName(fragWithHTML(t?"Stroke color: Current":"Stroke color: Preset color")),t?delete A.strokeColor:(r.getValue()||([p,m]=e("black"),a.setValue(p),r.setValue("black")),A.strokeColor=r.getValue())})))),n=new obsidian_module.Setting(t).setName("Select stroke color").addButton((t=>t.setButtonText("Use Canvas Current").onClick((()=>{var t,i;const n=this.api.getAppState(),s=null!==(i=null===(t=n.resetCustomPen)||void 0===t?void 0:t.currentItemStrokeColor)&&void 0!==i?i:n.currentItemStrokeColor;[p,m]=e(s),A.strokeColor=s,this.dirty=!0,r.setValue(s),w=!0,a.setValue(p)})))).addText((t=>{r=t,t.setValue(A.strokeColor).onChange((t=>{w=!0,this.dirty=!0,A.strokeColor=t,[p,m]=e(t),p&&a.setValue(p)}))})).addColorPicker((e=>{a=e,e.setValue(null!=p?p:"#000000").onChange((e=>{w?w=!1:(this.dirty=!0,A.strokeColor=e+m,r.setValue(e+m))}))})),n.settingEl.style.display=Boolean(A.strokeColor)?"":"none";let[f,B]=e(A.backgroundColor);o=new obsidian_module.Setting(t).setName(fragWithHTML(Boolean(A.backgroundColor)?"Background color: Preset color":"Background color: Current")).setDesc(fragWithHTML("Toggle to use the current background color of the canvas; or a preset color")).addToggle((t=>t.setValue(!Boolean(A.backgroundColor)).onChange((t=>{this.dirty=!0,o.setName(fragWithHTML(t?"Background color: Current":"Background color: Preset color")),c.settingEl.style.display=t?"none":"",l.settingEl.style.display=t||"transparent"===A.backgroundColor?"none":"",t?delete A.backgroundColor:(h.getValue()||([f,B]=e("black"),d.setValue(f),h.setValue("black")),u.setValue(!1))})))),c=new obsidian_module.Setting(t).setName(fragWithHTML("transparent"===A.backgroundColor?"Background: Transparent":"Color: Preset color")).setDesc("Background has color or is transparent").addToggle((e=>{u=e,e.setValue("transparent"===A.backgroundColor).onChange((e=>{this.dirty=!0,l.settingEl.style.display=e?"none":"",g.settingEl.style.display=e?"none":"",c.setName(fragWithHTML(e?"Background: Transparent":"Color: Preset color")),A.backgroundColor=e?"transparent":d.getValue()}))})),c.settingEl.style.display=Boolean(A.backgroundColor)?"":"none";let E,b,C,v,y,F,x,T,S,I=!1;l=new obsidian_module.Setting(t).setName("Background color").addButton((t=>t.setButtonText("Use Canvas Current").onClick((()=>{var t,i;const n=this.api.getAppState(),a=null!==(i=null===(t=n.resetCustomPen)||void 0===t?void 0:t.currentItemBackgroundColor)&&void 0!==i?i:n.currentItemBackgroundColor;[f,B]=e(a),A.backgroundColor=a,this.dirty=!0,h.setValue(a),I=!0,d.setValue(f)})))).addText((t=>{h=t,t.setValue(A.backgroundColor).onChange((t=>{I=!0,this.dirty=!0,A.backgroundColor=t,[f,B]=e(t),f&&d.setValue(f)}))})).addColorPicker((e=>{d=e,e.setValue(null!=f?f:"#000000").onChange((e=>{I?I=!1:(this.dirty=!0,A.backgroundColor=e+B,h.setValue(e+B))}))})),l.settingEl.style.display=Boolean(A.backgroundColor)&&"transparent"!==A.backgroundColor?"":"none",g=new obsidian_module.Setting(t).setName("Fill Style").addDropdown((e=>e.addOption("","Unset").addOption("dots","Dots (⚠ VERY SLOW performance on large objects!)").addOption("zigzag","Zigzag").addOption("zigzag-line","Zigzag-line").addOption("dashed","Dashed").addOption("hachure","Hachure").addOption("cross-hatch","Cross-hatch").addOption("solid","Solid").setValue(A.fillStyle).onChange((e=>{this.dirty=!0,A.fillStyle=e})))),g.settingEl.style.display=Boolean(A.backgroundColor)&&"transparent"!==A.backgroundColor?"":"none",E=new obsidian_module.Setting(t).setName(fragWithHTML(`Sloppiness: ${null===A.roughness?"Not Set":A.roughness<=.5?"Architect (":A.roughness<=1.5?"Artist (":"Cartoonist ("}${null===A.roughness?"":`${A.roughness})`}`)).setDesc("Line sloppiness of the shape fill pattern").addSlider((e=>e.setLimits(-.5,3,.5).setValue(null===A.roughness?-.5:A.roughness).onChange((e=>{this.dirty=!0,A.roughness=-.5===e?null:e,E.setName(fragWithHTML(`Sloppiness: ${null===A.roughness?"Not Set":A.roughness<=.5?"Architect (":A.roughness<=1.5?"Artist (":"Cartoonist ("}${null===A.roughness?"":`${A.roughness})`}`))})))),b=new obsidian_module.Setting(t).setName(fragWithHTML(`Stroke Width ${0===A.strokeWidth?"Not Set":A.strokeWidth}`)).addSlider((e=>e.setLimits(0,5,.5).setValue(A.strokeWidth).onChange((e=>{this.dirty=!0,A.strokeWidth=e,b.setName(fragWithHTML(`Stroke Width ${0===A.strokeWidth?"Not Set":A.strokeWidth}`))})))),new obsidian_module.Setting(t).setName("Highlighter pen?").addToggle((e=>e.setValue(A.penOptions.highlighter).onChange((e=>{this.dirty=!0,A.penOptions.highlighter=e})))),new obsidian_module.Setting(t).setName("Pressure sensitve pen?").setDesc(fragWithHTML("toggle on: pressure sensitive
toggle off: constant pressure")).addToggle((e=>e.setValue(!A.penOptions.constantPressure).onChange((e=>{this.dirty=!0,A.penOptions.constantPressure=!e,C.settingEl.style.display=A.penOptions.constantPressure?"none":""})))),A.penOptions.hasOutline&&0===A.penOptions.outlineWidth&&(A.penOptions.outlineWidth=.5,this.dirty=!0),!A.penOptions.hasOutline&&A.penOptions.outlineWidth>0&&(A.penOptions.outlineWidth=0,this.dirty=!0),v=new obsidian_module.Setting(t).setName(fragWithHTML(0===A.penOptions.outlineWidth?"No outline":`Outline width ${A.penOptions.outlineWidth}`)).setDesc("If the stroke has an outline, this will mean the stroke color is the outline color, and the background color is the pen stroke's fill color. If the pen does not have an outline then the pen color is the stroke color. The Fill Style setting applies to the fill style of the enclosed shape, not of the line itself. The line can only have solid fill.").addSlider((e=>e.setLimits(0,8,.5).setValue(A.penOptions.outlineWidth).onChange((e=>{this.dirty=!0,A.penOptions.outlineWidth=e,A.penOptions.hasOutline=e>0,v.setName(fragWithHTML(0===A.penOptions.outlineWidth?"No outline":`Outline width ${A.penOptions.outlineWidth}`))})))),t.createEl("h2",{text:"Perfect Freehand settings"}),t.createEl("p").innerHTML='Read the Perfect Freehand documentation following this link.',y=new obsidian_module.Setting(t).setName(fragWithHTML(`Thinnning ${A.penOptions.options.thinning}`)).setDesc(fragWithHTML("The effect of pressure on the stroke's size.
To create a stroke with a steady line, set the thinning option to 0.
To create a stroke that gets thinner with pressure instead of thicker, use a negative number for the thinning option.")).addSlider((e=>e.setLimits(-1,1,.05).setValue(A.penOptions.options.thinning).onChange((e=>{this.dirty,y.setName(fragWithHTML(`Thinnning ${e}`)),A.penOptions.options.thinning=e})))),F=new obsidian_module.Setting(t).setName(fragWithHTML(`Smoothing ${A.penOptions.options.smoothing}`)).setDesc(fragWithHTML("How much to soften the stroke's edges.")).addSlider((e=>e.setLimits(0,1,.05).setValue(A.penOptions.options.smoothing).onChange((e=>{this.dirty,F.setName(fragWithHTML(`Smoothing ${e}`)),A.penOptions.options.smoothing=e})))),x=new obsidian_module.Setting(t).setName(fragWithHTML(`Streamline ${A.penOptions.options.streamline}`)).setDesc(fragWithHTML("\tHow much to streamline the stroke.")).addSlider((e=>e.setLimits(0,1,.05).setValue(A.penOptions.options.streamline).onChange((e=>{this.dirty,x.setName(fragWithHTML(`Streamline ${e}`)),A.penOptions.options.streamline=e})))),new obsidian_module.Setting(t).setName("Easing function").setDesc(fragWithHTML('An easing function for the tapering effect. For more info click here')).addDropdown((e=>e.addOptions(EASINGFUNCTIONS).setValue(A.penOptions.options.easing).onChange((e=>{this.dirty=!0,A.penOptions.options.easing=e})))),C=new obsidian_module.Setting(t).setName("Simulate Pressure").setDesc("Whether to simulate pressure based on velocity.").addDropdown((e=>e.addOption("true","Always").addOption("false","Never").addOption("","Yes for mouse, No for pen").setValue(!0===A.penOptions.options.simulatePressure?"true":!1===A.penOptions.options.simulatePressure?"false":"").onChange((e=>{switch(this.dirty=!0,e){case"true":A.penOptions.options.simulatePressure=!0;break;case"false":A.penOptions.options.simulatePressure=!1;break;default:delete A.penOptions.options.simulatePressure}})))),C.settingEl.style.display=A.penOptions.constantPressure?"none":"",t.createEl("h3",{text:"Start"}),t.createEl("p",{text:"Tapering options for the start of the line."}),new obsidian_module.Setting(t).setName("Cap Start").setDesc("Whether to draw a cap").addToggle((e=>e.setValue(A.penOptions.options.start.cap).onChange((e=>{this.dirty=!0,A.penOptions.options.start.cap=e})))),T=new obsidian_module.Setting(t).setName(fragWithHTML(`Taper: ${!0===A.penOptions.options.start.taper?"true":A.penOptions.options.start.taper}`)).setDesc("The distance to taper. If set to true, the taper will be the total length of the stroke.").addSlider((e=>e.setLimits(0,151,1).setValue("boolean"==typeof A.penOptions.options.start.taper?151:A.penOptions.options.start.taper).onChange((e=>{this.dirty,A.penOptions.options.start.taper=151===e||e,T.setName(fragWithHTML(`Taper: ${!0===A.penOptions.options.start.taper?"true":A.penOptions.options.start.taper}`))})))),new obsidian_module.Setting(t).setName("Easing function").setDesc(fragWithHTML('An easing function for the tapering effect. For more info click here')).addDropdown((e=>e.addOptions(EASINGFUNCTIONS).setValue(A.penOptions.options.start.easing).onChange((e=>{this.dirty=!0,A.penOptions.options.start.easing=e})))),t.createEl("h3",{text:"End"}),t.createEl("p",{text:"Tapering options for the end of the line."}),new obsidian_module.Setting(t).setName("Cap End").setDesc("Whether to draw a cap").addToggle((e=>e.setValue(A.penOptions.options.end.cap).onChange((e=>{this.dirty=!0,A.penOptions.options.end.cap=e})))),S=new obsidian_module.Setting(t).setName(fragWithHTML(`Taper: ${!0===A.penOptions.options.end.taper?"true":A.penOptions.options.end.taper}`)).setDesc("The distance to taper. If set to true, the taper will be the total length of the stroke.").addSlider((e=>e.setLimits(0,151,1).setValue("boolean"==typeof A.penOptions.options.end.taper?151:A.penOptions.options.end.taper).onChange((e=>{this.dirty,A.penOptions.options.end.taper=151===e||e,S.setName(fragWithHTML(`Taper: ${!0===A.penOptions.options.end.taper?"true":A.penOptions.options.end.taper}`))})))),new obsidian_module.Setting(t).setName("Easing function").setDesc(fragWithHTML('An easing function for the tapering effect. For more info click here')).addDropdown((e=>e.addOptions(EASINGFUNCTIONS).setValue(A.penOptions.options.end.easing).onChange((e=>{this.dirty=!0,A.penOptions.options.end.easing=e}))))}}const ICONS={ExportImage:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("g",{strokeWidth:"1.25"},React__namespace.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),React__namespace.createElement("path",{d:"M15 8h.01"}),React__namespace.createElement("path",{d:"M12 20h-5a3 3 0 0 1 -3 -3v-10a3 3 0 0 1 3 -3h10a3 3 0 0 1 3 3v5"}),React__namespace.createElement("path",{d:"M4 15l4 -4c.928 -.893 2.072 -.893 3 0l4 4"}),React__namespace.createElement("path",{d:"M14 14l1 -1c.617 -.593 1.328 -.793 2.009 -.598"}),React__namespace.createElement("path",{d:"M19 16v6"}),React__namespace.createElement("path",{d:"M22 19l-3 3l-3 -3"}))),Discord:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",stroke:"none",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",viewBox:"0 0 640 512"},React__namespace.createElement("path",{d:"M524.531,69.836a1.5,1.5,0,0,0-.764-.7A485.065,485.065,0,0,0,404.081,32.03a1.816,1.816,0,0,0-1.923.91,337.461,337.461,0,0,0-14.9,30.6,447.848,447.848,0,0,0-134.426,0,309.541,309.541,0,0,0-15.135-30.6,1.89,1.89,0,0,0-1.924-.91A483.689,483.689,0,0,0,116.085,69.137a1.712,1.712,0,0,0-.788.676C39.068,183.651,18.186,294.69,28.43,404.354a2.016,2.016,0,0,0,.765,1.375A487.666,487.666,0,0,0,176.02,479.918a1.9,1.9,0,0,0,2.063-.676A348.2,348.2,0,0,0,208.12,430.4a1.86,1.86,0,0,0-1.019-2.588,321.173,321.173,0,0,1-45.868-21.853,1.885,1.885,0,0,1-.185-3.126c3.082-2.309,6.166-4.711,9.109-7.137a1.819,1.819,0,0,1,1.9-.256c96.229,43.917,200.41,43.917,295.5,0a1.812,1.812,0,0,1,1.924.233c2.944,2.426,6.027,4.851,9.132,7.16a1.884,1.884,0,0,1-.162,3.126,301.407,301.407,0,0,1-45.89,21.83,1.875,1.875,0,0,0-1,2.611,391.055,391.055,0,0,0,30.014,48.815,1.864,1.864,0,0,0,2.063.7A486.048,486.048,0,0,0,610.7,405.729a1.882,1.882,0,0,0,.765-1.352C623.729,277.594,590.933,167.465,524.531,69.836ZM222.491,337.58c-28.972,0-52.844-26.587-52.844-59.239S193.056,219.1,222.491,219.1c29.665,0,53.306,26.82,52.843,59.239C275.334,310.993,251.924,337.58,222.491,337.58Zm195.38,0c-28.971,0-52.843-26.587-52.843-59.239S388.437,219.1,417.871,219.1c29.667,0,53.307,26.82,52.844,59.239C470.715,310.993,447.538,337.58,417.871,337.58Z"})),Github:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{d:"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4"}),React__namespace.createElement("path",{d:"M9 18c-4.51 2-5-2-7-2"})),YouTube:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{d:"M12 19c-2.3 0-6.4-.2-8.1-.6-.7-.2-1.2-.7-1.4-1.4-.3-1.1-.5-3.4-.5-5s.2-3.9.5-5c.2-.7.7-1.2 1.4-1.4C5.6 5.2 9.7 5 12 5s6.4.2 8.1.6c.7.2 1.2.7 1.4 1.4.3 1.1.5 3.4.5 5s-.2 3.9-.5 5c-.2.7-.7 1.2-1.4 1.4-1.7.4-5.8.6-8.1.6 0 0 0 0 0 0z"}),React__namespace.createElement("polygon",{points:"10 15 15 12 10 9"})),heart:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{d:"M20.42 4.58a5.4 5.4 0 0 0-7.65 0l-.77.78-.77-.78a5.4 5.4 0 0 0-7.65 0C1.46 6.7 1.33 10.28 4 13l8 8 8-8c2.67-2.72 2.54-6.3.42-8.42z"})),twitter:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{d:"M22 4s-.7 2.1-2 3.4c1.6 10-9.4 17.3-18 11.6 2.2.1 4.4-.6 6-2C3 15.5.5 9.6 3 5c2.2 2.6 5.6 4.1 9 4-.9-4.2 4-6.6 7-3.8 1.1 0 3-1.2 3-1.2z"})),exportLibrary:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 200 190",fill:"var(--icon-fill-color)"},React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{strokeWidth:"0",d:"M50 10h20v20H50"}),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",d:"M50 10h20m-20 0h20m0 0v20m0-20v20m0 0H50m20 0H50m0 0V10m0 20V10"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{strokeWidth:"0",d:"M90 10h20v20H90"}),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",d:"M90 10h20m-20 0h20m0 0v20m0-20v20m0 0H90m20 0H90m0 0V10m0 20V10"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{strokeWidth:"0",d:"M130 10h20v20h-20"}),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",d:"M130 10h20m-20 0h20m0 0v20m0-20v20m0 0h-20m20 0h-20m0 0V10m0 20V10"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{strokeWidth:"0",d:"M170 10h20v20h-20"}),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",d:"M170 10h20m-20 0h20m0 0v20m0-20v20m0 0h-20m20 0h-20m0 0V10m0 20V10"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{strokeWidth:"0",d:"M70 50h60v80h20l-50 50-50-50h20V50"}),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",d:"M70 50h60m-60 0h60m0 0v80m0-80v80m0 0h20m-20 0h20m0 0-50 50m50-50-50 50m0 0-50-50m50 50-50-50m0 0h20m-20 0h20m0 0V50m0 80V50m0 0s0 0 0 0m0 0s0 0 0 0m0 0s0 0 0 0m0 0s0 0 0 0"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{strokeWidth:"0",d:"M10 10h20v20H10"}),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",d:"M10 10h20m-20 0h20m0 0v20m0-20v20m0 0H10m20 0H10m0 0V10m0 20V10"}))),insertImage:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",fill:"var(--icon-fill-color)",stroke:"none"},React__namespace.createElement("path",{d:"M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm-6 336H54a6 6 0 0 1-6-6V118a6 6 0 0 1 6-6h404a6 6 0 0 1 6 6v276a6 6 0 0 1-6 6zM128 152c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zM96 352h320v-80l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L192 304l-39.515-39.515c-4.686-4.686-12.284-4.686-16.971 0L96 304v48z"})),insertMD:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 384 512",fill:"var(--icon-fill-color)",stroke:"none"},React__namespace.createElement("path",{d:"M288 248v28c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-28c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm-12 72H108c-6.6 0-12 5.4-12 12v28c0 6.6 5.4 12 12 12h168c6.6 0 12-5.4 12-12v-28c0-6.6-5.4-12-12-12zm108-188.1V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V48C0 21.5 21.5 0 48 0h204.1C264.8 0 277 5.1 286 14.1L369.9 98c9 8.9 14.1 21.2 14.1 33.9zm-128-80V128h76.1L256 51.9zM336 464V176H232c-13.3 0-24-10.7-24-24V48H48v416h288z"})),insertLaTeX:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 576 512",stroke:"none",fill:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"M571.31 251.31l-22.62-22.62c-6.25-6.25-16.38-6.25-22.63 0L480 274.75l-46.06-46.06c-6.25-6.25-16.38-6.25-22.63 0l-22.62 22.62c-6.25 6.25-6.25 16.38 0 22.63L434.75 320l-46.06 46.06c-6.25 6.25-6.25 16.38 0 22.63l22.62 22.62c6.25 6.25 16.38 6.25 22.63 0L480 365.25l46.06 46.06c6.25 6.25 16.38 6.25 22.63 0l22.62-22.62c6.25-6.25 6.25-16.38 0-22.63L525.25 320l46.06-46.06c6.25-6.25 6.25-16.38 0-22.63zM552 0H307.65c-14.54 0-27.26 9.8-30.95 23.87l-84.79 322.8-58.41-106.1A32.008 32.008 0 0 0 105.47 224H24c-13.25 0-24 10.74-24 24v48c0 13.25 10.75 24 24 24h43.62l88.88 163.73C168.99 503.5 186.3 512 204.94 512c17.27 0 44.44-9 54.28-41.48L357.03 96H552c13.25 0 24-10.75 24-24V24c0-13.26-10.75-24-24-24z"})),insertLink:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",stroke:"none",fill:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z"})),exportSVG:React__namespace.createElement("svg",{viewBox:"0 0 28 28",stroke:"var(--icon-fill-color)",fill:"var(--icon-fill-color)",strokeWidth:"1"},React__namespace.createElement("text",{style:{fontSize:"28px",fontWeight:"bold"},x:"4",y:"24"},"S")),exportPNG:React__namespace.createElement("svg",{viewBox:"0 0 28 28",stroke:"var(--icon-fill-color)",fill:"var(--icon-fill-color)",strokeWidth:"1"},React__namespace.createElement("text",{style:{fontSize:"28px",fontWeight:"bold"},x:"4",y:"24"},"P")),exportExcalidraw:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 100",stroke:"var(--icon-fill-color)",strokeWidth:"2"},React__namespace.createElement("g",{transform:"translate(30,5)"},React__namespace.createElement("path",{d:"M14.45 1.715c-2.723 2.148-6.915 5.797-10.223 8.93l-2.61 2.445.477 3.207c.258 1.75.738 5.176 1.031 7.582.332 2.406.66 4.668.773 4.996.145.438 0 .656-.406.656-.699 0-.734-.183 1.176 5.832.7 2.297 1.363 4.414 1.434 4.633.074.254.367.363.699.254.332-.145.515-.438.406-.691-.113-.293.074-.586.367-.696.403-.144.367-.437-.258-1.492-.992-1.64-3.53-15.64-3.675-20.164-.11-3.207-.11-3.242 1.25-5.066 1.324-1.786 4.375-4.485 9.078-7.91 1.324-.985 2.648-2.079 3.015-2.446.551-.656.809-.472 5.442 4.414 2.683 2.805 5.664 5.688 6.617 6.414l1.766 1.313-1.36 2.844c-.734 1.53-3.715 7.437-6.656 13.054-6.137 11.813-4.887 10.68-12.02 10.79l-4.632.038-1.547 1.75c-1.617 1.86-1.836 2.551-1.063 3.72.293.398.512 1.054.512 1.456 0 .656.258.766 1.73.84.918.035 1.762.145 1.875.254.11.11.258 2.371.368 5.031l.144 4.813-2.46 5.25C1.616 72.516 0 76.527 0 77.84c0 .691.148 1.273.293 1.273.367 0 .367-.035 15.332-30.988 6.95-14.363 13.531-27.89 14.633-30.113 1.101-2.227 2.094-4.266 2.168-4.559.074-.328-2.461-2.844-6.508-6.379C22.281 3.864 19.082.95 18.785.621c-.844-1.023-2.094-.695-4.336 1.094zM15.7 43.64c-1.692 3.246-1.766 3.28-6.4 3.5-4.081.218-4.152.183-4.152-.582 0-.438-.148-1.024-.332-1.313-.222-.328-.074-.914.442-1.715l.808-1.238h3.676c2.024-.04 4.34-.184 5.149-.328.808-.149 1.507-.219 1.578-.184.074.035-.293.875-.77 1.86zm-3.09 5.832c-.294.765-1.067 2.37-1.692 3.574-1.027 2.043-1.137 2.113-1.395 1.277-.148-.511-.257-2.008-.296-3.355-.036-2.66-.11-2.625 2.98-2.809l.992-.035zm0 0"}),React__namespace.createElement("path",{d:"M15.55 10.39c-.66.473-.843.95-.843 2.153 0 1.422.11 1.64 1.102 2.039.992.402 1.25.367 2.39-.398 1.508-1.024 1.543-1.278.442-2.918-.957-1.422-1.914-1.676-3.09-.875zm2.098 1.313c.586 1.02.22 1.785-.882 1.785-.993 0-1.434-.984-.883-1.968.441-.801 1.285-.727 1.765.183zm0 0M38.602 18.594c0 .183-.22.363-.477.363-.219 0-.844 1.023-1.324 2.262-1.469 3.793-16.176 32.629-16.211 31.718 0-.472-.223-.8-.59-.8-.516 0-.59.289-.367 1.71.219 1.641.074 2.008-5.149 12.071-2.941 5.723-6.101 11.703-7.02 13.305-.956 1.68-1.69 3.5-1.765 4.265-.11 1.313.035 1.496 3.235 4.23 1.84 1.606 4.191 3.61 5.222 4.52 4.63 4.196 6.801 5.871 7.387 5.762.883-.145 14.523-14.328 14.559-15.129 0-.367-.66-5.906-1.47-12.324-1.398-10.938-2.722-23.734-2.573-24.973.109-.765-.442-4.633-.844-6.308-.332-1.313-.184-1.86 2.46-7.84 1.544-3.535 3.567-7.875 4.45-9.625.844-1.75 1.582-3.281 1.582-3.39 0-.11-.258-.18-.55-.18-.298 0-.555.144-.555.363zm-8.454 27.234c.403 2.55 1.211 8.676 1.801 13.598 1.14 9.043 2.461 19.07 2.832 21.62.219 1.278.07 1.532-2.316 4.157-4.156 4.629-8.567 9.188-10.074 10.356l-1.399 1.093-7.168-6.636c-6.617-6.051-7.168-6.672-6.765-7.403.222-.398 2.097-3.789 4.156-7.508 2.058-3.718 4.777-8.68 6.027-11.011 1.29-2.371 2.465-4.41 2.684-4.52.258-.148.332 3.535.258 11.375-.149 11.703-.11 11.739 1.066 11.485.148 0 .258-5.907.258-13.09V56.293l3.86-7.656c2.132-4.23 3.898-7.621 3.972-7.586.07.039.441 2.187.808 4.777zm0 0"}))),search:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",stroke:"var(--icon-fill-color)",fill:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"M500.3 443.7l-119.7-119.7c27.22-40.41 40.65-90.9 33.46-144.7C401.8 87.79 326.8 13.32 235.2 1.723C99.01-15.51-15.51 99.01 1.724 235.2c11.6 91.64 86.08 166.7 177.6 178.9c53.8 7.189 104.3-6.236 144.7-33.46l119.7 119.7c15.62 15.62 40.95 15.62 56.57 0C515.9 484.7 515.9 459.3 500.3 443.7zM79.1 208c0-70.58 57.42-128 128-128s128 57.42 128 128c0 70.58-57.42 128-128 128S79.1 278.6 79.1 208z"})),ocr:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{d:"m6 18 6-12 6 12"}),React__namespace.createElement("path",{d:"M8 14h8"}),React__namespace.createElement("path",{d:"M3 7V5a2 2 0 0 1 2-2h2"}),React__namespace.createElement("path",{d:"M17 3h2a2 2 0 0 1 2 2v2"}),React__namespace.createElement("path",{d:"M21 17v2a2 2 0 0 1-2 2h-2"}),React__namespace.createElement("path",{d:"M7 21H5a2 2 0 0 1-2-2v-2"})),scriptEngine:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 100",stroke:"var(--icon-fill-color)",fill:"var(--icon-fill-color)",strokeLinecap:"round",strokeWidth:"4"},React__namespace.createElement("g",{transform:"translate(-8,-8)"},React__namespace.createElement("path",{d:"M24.318 37.983c-1.234-1.232-8.433-3.903-7.401-7.387 1.057-3.484 9.893-12.443 13.669-13.517 3.776-1.074 6.142 6.523 9.012 7.073 2.87.55 6.797-1.572 8.207-3.694 1.384-2.148-3.147-7.413.15-9.168 3.298-1.755 16.389-2.646 19.611-1.284 3.247 1.363-1.611 7.335-.151 9.483 1.46 2.148 6.067 3.746 8.836 3.38 2.769-.368 4.154-6.733 7.728-5.633 3.575 1.1 12.36 8.828 13.67 12.233 1.308 3.406-5.186 5.423-5.79 8.2-.58 2.75-.026 6.705 2.265 8.355 2.266 1.65 9.642-1.78 11.404 1.598 1.762 3.38 1.007 15.35-.806 18.651-1.787 3.353-7.753-.367-9.969 1.31-2.215 1.65-3.901 5.92-3.373 8.67.504 2.777 7.754 4.48 6.445 7.885C96.49 87.543 87.15 95.454 83.5 96.685c-3.65 1.231-4.96-4.741-7.577-5.16-2.593-.393-6.57.707-8.03 2.75-1.436 2.017 2.668 7.806-.63 9.483-3.323 1.676-15.759 2.226-19.157.655-3.373-1.598.554-7.964-1.108-10.138-1.687-2.174-6.394-3.431-9.012-2.907-2.643.55-3.273 7.282-6.747 6.103-3.499-1.126-12.788-9.535-14.172-13.019-1.36-3.484 5.437-5.108 5.966-7.858.529-2.777-.68-7.073-2.744-8.697-2.064-1.624-7.93 2.41-9.642-1.126-1.737-3.537-2.441-16.765-.654-20.118 1.787-3.3 9.062 1.598 11.429.183 2.366-1.44 2.316-7.282 2.769-8.749m.126-.104c-1.234-1.232-8.433-3.903-7.401-7.387 1.057-3.484 9.893-12.443 13.669-13.517 3.776-1.074 6.142 6.523 9.012 7.073 2.87.55 6.797-1.572 8.207-3.694 1.384-2.148-3.147-7.413.15-9.168 3.298-1.755 16.389-2.646 19.611-1.284 3.247 1.363-1.611 7.335-.151 9.483 1.46 2.148 6.067 3.746 8.836 3.38 2.769-.368 4.154-6.733 7.728-5.633 3.575 1.1 12.36 8.828 13.67 12.233 1.308 3.406-5.186 5.423-5.79 8.2-.58 2.75-.026 6.705 2.265 8.355 2.266 1.65 9.642-1.78 11.404 1.598 1.762 3.38 1.007 15.35-.806 18.651-1.787 3.353-7.753-.367-9.969 1.31-2.215 1.65-3.901 5.92-3.373 8.67.504 2.777 7.754 4.48 6.445 7.885C96.49 87.543 87.15 95.454 83.5 96.685c-3.65 1.231-4.96-4.741-7.577-5.16-2.593-.393-6.57.707-8.03 2.75-1.436 2.017 2.668 7.806-.63 9.483-3.323 1.676-15.759 2.226-19.157.655-3.373-1.598.554-7.964-1.108-10.138-1.687-2.174-6.394-3.431-9.012-2.907-2.643.55-3.273 7.282-6.747 6.103-3.499-1.126-12.788-9.535-14.172-13.019-1.36-3.484 5.437-5.108 5.966-7.858.529-2.777-.68-7.073-2.744-8.697-2.064-1.624-7.93 2.41-9.642-1.126-1.737-3.537-2.441-16.765-.654-20.118 1.787-3.3 9.062 1.598 11.429.183 2.366-1.44 2.316-7.282 2.769-8.749",fill:"none",strokeWidth:"2"}),React__namespace.createElement("path",{d:"M81.235 56.502a23.3 23.3 0 0 1-1.46 8.068 20.785 20.785 0 0 1-1.762 3.72 24.068 24.068 0 0 1-5.337 6.26 22.575 22.575 0 0 1-3.449 2.358 23.726 23.726 0 0 1-7.803 2.803 24.719 24.719 0 0 1-8.333 0 24.102 24.102 0 0 1-4.028-1.074 23.71 23.71 0 0 1-3.776-1.729 23.259 23.259 0 0 1-6.369-5.265 23.775 23.775 0 0 1-2.416-3.353 24.935 24.935 0 0 1-1.762-3.72 23.765 23.765 0 0 1-1.083-3.981 23.454 23.454 0 0 1 0-8.173c.252-1.336.604-2.698 1.083-3.956a24.935 24.935 0 0 1 1.762-3.72 22.587 22.587 0 0 1 2.416-3.378c.881-1.048 1.888-2.017 2.946-2.908a24.38 24.38 0 0 1 3.423-2.357 23.71 23.71 0 0 1 3.776-1.73 21.74 21.74 0 0 1 4.028-1.047 23.437 23.437 0 0 1 8.333 0 24.282 24.282 0 0 1 7.803 2.777 26.198 26.198 0 0 1 3.45 2.357 24.62 24.62 0 0 1 5.336 6.287 20.785 20.785 0 0 1 1.762 3.72 21.32 21.32 0 0 1 1.083 3.955c.251 1.336.302 3.405.377 4.086.05.681.05-.68 0 0",fill:"none"}),React__namespace.createElement("path",{d:"M69.404 56.633c-6.596-3.3-13.216-6.6-19.51-9.744m19.51 9.744c-6.747-3.379-13.493-6.758-19.51-9.744m0 0v19.489m0-19.49v19.49m0 0c4.355-2.148 8.71-4.322 19.51-9.745m-19.51 9.745c3.978-1.965 7.93-3.956 19.51-9.745m0 0h0m0 0h0"}))),openLink:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{d:"M4 22h14a2 2 0 0 0 2-2V7.5L14.5 2H6a2 2 0 0 0-2 2v7"}),React__namespace.createElement("polyline",{points:"14 2 14 8 20 8"}),React__namespace.createElement("path",{d:"m10 18 3-3-3-3"}),React__namespace.createElement("path",{d:"M4 18v-1a2 2 0 0 1 2-2h6"})),openLinkProperties:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"3",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{d:"M4 22h14a2 2 0 0 0 2-2V7.5L14.5 2H6a2 2 0 0 0-2 2v7"}),React__namespace.createElement("polyline",{points:"14 2 14 8 20 8",fill:"var(--icon-fill-color)"}),React__namespace.createElement("path",{d:"m10 18 3-3-3-3"}),React__namespace.createElement("path",{d:"M4 18v-1a2 2 0 0 1 2-2h6"})),switchToMarkdown:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 640 512",stroke:"var(--icon-fill-color)",strokeWidth:"10",fill:"var(--icon-fill-color)"},React__namespace.createElement("path",{d:"M593.8 59.1H46.2C20.7 59.1 0 79.8 0 105.2v301.5c0 25.5 20.7 46.2 46.2 46.2h547.7c25.5 0 46.2-20.7 46.1-46.1V105.2c0-25.4-20.7-46.1-46.2-46.1zM338.5 360.6H277v-120l-61.5 76.9-61.5-76.9v120H92.3V151.4h61.5l61.5 76.9 61.5-76.9h61.5v209.2zm135.3 3.1L381.5 256H443V151.4h61.5V256H566z"})),gotoFullScreen:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 448 512",stroke:"var(--icon-fill-color)",fill:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"M128 32H32C14.31 32 0 46.31 0 64v96c0 17.69 14.31 32 32 32s32-14.31 32-32V96h64c17.69 0 32-14.31 32-32S145.7 32 128 32zM416 32h-96c-17.69 0-32 14.31-32 32s14.31 32 32 32h64v64c0 17.69 14.31 32 32 32s32-14.31 32-32V64C448 46.31 433.7 32 416 32zM128 416H64v-64c0-17.69-14.31-32-32-32s-32 14.31-32 32v96c0 17.69 14.31 32 32 32h96c17.69 0 32-14.31 32-32S145.7 416 128 416zM416 320c-17.69 0-32 14.31-32 32v64h-64c-17.69 0-32 14.31-32 32s14.31 32 32 32h96c17.69 0 32-14.31 32-32v-96C448 334.3 433.7 320 416 320z"})),exitFullScreen:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 448 512",stroke:"var(--icon-fill-color)",fill:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"M128 320H32c-17.69 0-32 14.31-32 32s14.31 32 32 32h64v64c0 17.69 14.31 32 32 32s32-14.31 32-32v-96C160 334.3 145.7 320 128 320zM416 320h-96c-17.69 0-32 14.31-32 32v96c0 17.69 14.31 32 32 32s32-14.31 32-32v-64h64c17.69 0 32-14.31 32-32S433.7 320 416 320zM320 192h96c17.69 0 32-14.31 32-32s-14.31-32-32-32h-64V64c0-17.69-14.31-32-32-32s-32 14.31-32 32v96C288 177.7 302.3 192 320 192zM128 32C110.3 32 96 46.31 96 64v64H32C14.31 128 0 142.3 0 160s14.31 32 32 32h96c17.69 0 32-14.31 32-32V64C160 46.31 145.7 32 128 32z"})),releaseNotes:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",stroke:"var(--icon-fill-color)",fill:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"M0 219.2v212.5c0 14.25 11.62 26.25 26.5 27C75.32 461.2 180.2 471.3 240 511.9V245.2C181.4 205.5 79.99 194.8 29.84 192C13.59 191.1 0 203.6 0 219.2zM482.2 192c-50.09 2.848-151.3 13.47-209.1 53.09C272.1 245.2 272 245.3 272 245.5v266.5c60.04-40.39 164.7-50.76 213.5-53.28C500.4 457.9 512 445.9 512 431.7V219.2C512 203.6 498.4 191.1 482.2 192zM352 96c0-53-43-96-96-96S160 43 160 96s43 96 96 96S352 149 352 96z"})),rawMode:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 60"},React__namespace.createElement("path",{stroke:"var(--icon-fill-color)",strokeWidth:"4",d:"M20 10H10m10 0H10m0 0v40m0-40v40m0 0h10m-10 0h10M40 10H30m10 0H30m0 0v40m0-40v40m0 0h10m-10 0h10M60 10h10m-10 0h10m0 0v40m0-40v40m0 0H60m10 0H60M80 10h10m-10 0h10m0 0v40m0-40v40m0 0H80m10 0H80"})),parsedMode:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 576 512",stroke:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"M574.1 280.4l-45.38-181.8c-5.875-23.63-21.62-44-43-55.75c-21.5-11.75-46.1-14.13-70.25-6.375l-15.25 5.125c-8.375 2.75-12.87 11.88-10 20.25l5 15.13c2.75 8.375 11.88 12.88 20.25 10.13l13.12-4.375c10.88-3.625 23-3.625 33.25 1.75c10.25 5.375 17.5 14.5 20.38 25.75l38.38 153.9c-22.12-6.875-49.75-12.5-81.13-12.5c-34.88 0-73.1 7-114.9 26.75H251.4C210.5 258.6 171.4 251.6 136.5 251.6c-31.38 0-59 5.625-81.12 12.5l38.38-153.9c2.875-11.25 10.12-20.38 20.5-25.75C124.4 79.12 136.5 79.12 147.4 82.74l13.12 4.375c8.375 2.75 17.5-1.75 20.25-10.13l5-15.13C188.6 53.49 184.1 44.37 175.6 41.62l-15.25-5.125c-23.13-7.75-48.75-5.375-70.13 6.375c-21.37 11.75-37.12 32.13-43 55.75L1.875 280.4C.6251 285.4 .0001 290.6 .0001 295.9v70.25C.0001 428.1 51.63 480 115.3 480h37.13c60.25 0 110.4-46 114.9-105.4l2.875-38.63h35.75l2.875 38.63C313.3 433.1 363.4 480 423.6 480h37.13c63.62 0 115.2-51 115.2-113.9V295.9C576 290.6 575.4 285.5 574.1 280.4zM203.4 369.7c-2 26-24.38 46.25-51 46.25H115.2C87 415.1 64 393.6 64 366.1v-37.5c18.12-6.5 43.38-13 72.62-13c23.88 0 47.25 4.375 69.88 13L203.4 369.7zM512 366.1c0 27.5-23 49.88-51.25 49.88h-37.13c-26.62 0-49-20.25-51-46.25l-3.125-41.13c22.62-8.625 46.13-13 70-13c29 0 54.38 6.5 72.5 13V366.1z"})),convertFile:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",viewBox:"0 110 700 340",xmlns:"http://www.w3.org/2000/svg",stroke:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"m593.95 239.4v-1.5742c-0.85547-1.8828-2.043-3.6016-3.5-5.0742l-52.5-52.5c-1.4688-1.457-3.1875-2.6445-5.0742-3.5h-1.5742c-1.4727-0.49219-3.0039-0.78516-4.5508-0.875h-124.25c-4.6406 0-9.0938 1.8438-12.375 5.125s-5.125 7.7344-5.125 12.375v87.5h-70v-105.88-1.0508c-0.089844-1.5469-0.38281-3.0781-0.875-4.5508v-1.5742c-0.85547-1.8828-2.043-3.6016-3.5-5.0742l-52.5-52.5c-1.4727-1.457-3.1914-2.6445-5.0742-3.5h-1.5742c-1.7031-0.875-3.5352-1.4688-5.4258-1.75h-123.55c-4.6406 0-9.0938 1.8438-12.375 5.125s-5.125 7.7344-5.125 12.375v245c0 4.6406 1.8438 9.0938 5.125 12.375s7.7344 5.125 12.375 5.125h175c4.6406 0 9.0938-1.8438 12.375-5.125s5.125-7.7344 5.125-12.375v-52.5h70v122.5c0 4.6406 1.8438 9.0938 5.125 12.375s7.7344 5.125 12.375 5.125h175c4.6406 0 9.0938-1.8438 12.375-5.125s5.125-7.7344 5.125-12.375v-192.5-1.0508c-0.14453-1.5547-0.5-3.0859-1.0508-4.5508zm-313.95 110.6h-140v-210h87.5v35c0 4.6406 1.8438 9.0938 5.125 12.375s7.7344 5.125 12.375 5.125h35v87.5h-52.5c-6.2539 0-12.031 3.3359-15.156 8.75s-3.125 12.086 0 17.5 8.9023 8.75 15.156 8.75h52.5zm140 70v-105h27.824l-5.0742 5.0742c-3.7031 3.1719-5.9141 7.7461-6.1055 12.617-0.1875 4.8711 1.668 9.6016 5.1133 13.051 3.4492 3.4453 8.1797 5.3008 13.051 5.1133 4.8711-0.19141 9.4453-2.4023 12.617-6.1055l35-35c3.2578-3.2773 5.0898-7.7148 5.0898-12.336 0-4.625-1.832-9.0586-5.0898-12.34l-35-35c-4.5078-3.8555-10.66-5.1719-16.348-3.4883-5.6875 1.6797-10.137 6.1289-11.816 11.816-1.6836 5.6914-0.37109 11.844 3.4883 16.348l5.0742 5.0742h-27.824v-69.824h87.5v35c0 4.6406 1.8438 9.0938 5.125 12.375s7.7344 5.125 12.375 5.125h35v157.5z"})),cog:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",fill:"var(--icon-fill-color)",stroke:"none"},React__namespace.createElement("path",{d:"M495.9 166.6C499.2 175.2 496.4 184.9 489.6 191.2L446.3 230.6C447.4 238.9 448 247.4 448 256C448 264.6 447.4 273.1 446.3 281.4L489.6 320.8C496.4 327.1 499.2 336.8 495.9 345.4C491.5 357.3 486.2 368.8 480.2 379.7L475.5 387.8C468.9 398.8 461.5 409.2 453.4 419.1C447.4 426.2 437.7 428.7 428.9 425.9L373.2 408.1C359.8 418.4 344.1 427 329.2 433.6L316.7 490.7C314.7 499.7 307.7 506.1 298.5 508.5C284.7 510.8 270.5 512 255.1 512C241.5 512 227.3 510.8 213.5 508.5C204.3 506.1 197.3 499.7 195.3 490.7L182.8 433.6C167 427 152.2 418.4 138.8 408.1L83.14 425.9C74.3 428.7 64.55 426.2 58.63 419.1C50.52 409.2 43.12 398.8 36.52 387.8L31.84 379.7C25.77 368.8 20.49 357.3 16.06 345.4C12.82 336.8 15.55 327.1 22.41 320.8L65.67 281.4C64.57 273.1 64 264.6 64 256C64 247.4 64.57 238.9 65.67 230.6L22.41 191.2C15.55 184.9 12.82 175.3 16.06 166.6C20.49 154.7 25.78 143.2 31.84 132.3L36.51 124.2C43.12 113.2 50.52 102.8 58.63 92.95C64.55 85.8 74.3 83.32 83.14 86.14L138.8 103.9C152.2 93.56 167 84.96 182.8 78.43L195.3 21.33C197.3 12.25 204.3 5.04 213.5 3.51C227.3 1.201 241.5 0 256 0C270.5 0 284.7 1.201 298.5 3.51C307.7 5.04 314.7 12.25 316.7 21.33L329.2 78.43C344.1 84.96 359.8 93.56 373.2 103.9L428.9 86.14C437.7 83.32 447.4 85.8 453.4 92.95C461.5 102.8 468.9 113.2 475.5 124.2L480.2 132.3C486.2 143.2 491.5 154.7 495.9 166.6V166.6zM256 336C300.2 336 336 300.2 336 255.1C336 211.8 300.2 175.1 256 175.1C211.8 175.1 176 211.8 176 255.1C176 300.2 211.8 336 256 336z"})),trayMode:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 640 512",stroke:"var(--icon-fill-color)",fill:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"M618.1 97.67c-13.02-4.375-27.45 .1562-35.72 11.16L464 266.7l-118.4-157.8c-8.266-11.03-22.64-15.56-35.72-11.16C296.8 102 288 114.2 288 128v256c0 17.69 14.33 32 32 32s32-14.31 32-32v-160l86.41 115.2c12.06 16.12 39.13 16.12 51.19 0L576 224v160c0 17.69 14.33 32 32 32s32-14.31 32-32v-256C640 114.2 631.2 102 618.1 97.67zM224 96.01H32c-17.67 0-32 14.31-32 32s14.33 32 32 32h64v223.1c0 17.69 14.33 31.99 32 31.99s32-14.3 32-31.99V160h64c17.67 0 32-14.31 32-32S241.7 96.01 224 96.01z"})),copyElementLink:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 260 260","aria-hidden":"true",focusable:"false",role:"img"},React__namespace.createElement("path",{stroke:"var(--icon-fill-color)",fill:"none",strokeLinecap:"round",strokeWidth:"8",d:"M10 10h40m-40 0h40m0 0v40m0-40v40m0 0H10m40 0H10m0 0V10m0 40V10M210 10h40m-40 0h40m0 0v40m0-40v40m0 0h-40m40 0h-40m0 0V10m0 40V10M210 210h40m-40 0h40m0 0v40m0-40v40m0 0h-40m40 0h-40m0 0v-40m0 40v-40M10 210h40m-40 0h40m0 0v40m0-40v40m0 0H10m40 0H10m0 0v-40m0 40v-40M30 210V50m0 160V50M50 30h160M50 30h160M230 50v160m0-160v160M50 230h160m-160 0h160"}),React__namespace.createElement("path",{stroke:"var(--icon-fill-color)",fill:"none",strokeLinecap:"round",strokeWidth:"16",d:"M110 90c-6.67 1.67-30 3.11-40 10-10 6.89-20 21.37-20 31.37S60 153.56 70 160c10 6.44 33.33 8.33 40 10m0-80c-6.67 1.67-30 3.11-40 10-10 6.89-20 21.37-20 31.37S60 153.56 70 160c10 6.44 33.33 8.33 40 10M150 90c6.67 1.67 30 3.11 40 10 10 6.89 20 21.37 20 31.37s-10 22.19-20 28.63c-10 6.44-33.33 8.33-40 10m0-80c6.67 1.67 30 3.11 40 10 10 6.89 20 21.37 20 31.37s-10 22.19-20 28.63c-10 6.44-33.33 8.33-40 10"}),React__namespace.createElement("path",{stroke:"var(--icon-fill-color)",fill:"none",strokeLinecap:"round",strokeWidth:"16",d:"M89.868 130.198c13.36-.03 66.78-.17 80.13-.2m-80.13.2c13.36-.03 66.78-.17 80.13-.2"})),importSVG:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 526 526"},React__namespace.createElement("g",{fillRule:"evenodd",strokeLinecap:"round"},React__namespace.createElement("path",{fill:"var(--input-bg-color)",strokeWidth:"0",d:"m133.462 71 .33-6.54.97-6.34 1.58-6.13 2.16-5.88 2.69-5.6 3.21-5.27 3.69-4.93 4.13-4.55 4.55-4.13 4.93-3.69 5.27-3.21 5.6-2.69 5.88-2.16 6.13-1.58 6.34-.97 6.54-.33h160v128l.16 3.28.49 3.18.79 3.07 1.07 2.94 1.35 2.8 1.6 2.63 1.84 2.47 2.06 2.27 2.27 2.06 2.47 1.84 2.63 1.6 2.8 1.35 2.94 1.07 3.07.79 3.18.49 3.28.16h128v288l-.33 6.54-.97 6.34-1.58 6.13-2.16 5.88-2.69 5.6-3.21 5.27-3.69 4.93-4.13 4.55-4.55 4.13-4.93 3.69-5.27 3.21-5.6 2.69-5.88 2.16-6.13 1.58-6.34.97-6.54.33h-256l-6.54-.33-6.34-.97-6.13-1.58-5.88-2.16-5.6-2.69-5.27-3.21-4.93-3.69-4.55-4.13-4.13-4.55-3.69-4.93-3.21-5.27-2.69-5.6-2.16-5.88-1.58-6.13-.97-6.34-.33-6.54V343h174.1l-39 39-1.65 1.83-1.43 1.94-1.22 2.05-.99 2.13-.77 2.2-.55 2.25-.33 2.29-.11 2.3.11 2.3.33 2.28.55 2.24.77 2.19.99 2.12 1.22 2.04 1.43 1.93 1.65 1.81 1.83 1.64 1.94 1.42 2.05 1.2 2.13.99 2.2.76 2.25.56 2.29.33 2.3.11 2.3-.1 2.28-.33 2.24-.54 2.19-.77 2.12-.98 2.04-1.21 1.93-1.43 1.81-1.65 80-80 1.65-1.83 1.43-1.94 1.22-2.05.99-2.13.77-2.2.55-2.25.33-2.29.11-2.3-.11-2.3-.33-2.28-.55-2.24-.77-2.19-.99-2.12-1.22-2.04-1.43-1.93-1.65-1.81-80-80-1.83-1.65-1.94-1.43-2.05-1.22-2.13-.99-2.2-.77-2.25-.55-2.29-.33-2.3-.11-2.3.11-2.28.33-2.24.55-2.19.77-2.12.99-2.04 1.22-1.93 1.43-1.81 1.65-1.64 1.83-1.42 1.94-1.2 2.05-.99 2.13-.76 2.2-.56 2.25-.33 2.29-.11 2.3.1 2.3.33 2.28.54 2.24.77 2.19.98 2.12 1.21 2.04 1.43 1.93 1.65 1.81 39 39h-174.1V71"}),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"18",d:"M133.462 71s0 0 0 0m0 0s0 0 0 0m0 0 .33-6.54m-.33 6.54c.13-2.57.26-5.13.33-6.54m0 0c.36-2.33.72-4.67.97-6.34m-.97 6.34c.35-2.26.69-4.53.97-6.34m0 0c.51-1.99 1.03-3.98 1.58-6.13m-1.58 6.13c.4-1.56.81-3.12 1.58-6.13m0 0c.81-2.22 1.62-4.43 2.16-5.88m-2.16 5.88c.45-1.22.9-2.44 2.16-5.88m0 0c.72-1.51 1.45-3.01 2.69-5.6m-2.69 5.6c.69-1.45 1.39-2.9 2.69-5.6m0 0c.93-1.52 1.86-3.05 3.21-5.27m-3.21 5.27c.97-1.59 1.94-3.18 3.21-5.27m0 0c.86-1.15 1.71-2.29 3.69-4.93m-3.69 4.93c.78-1.04 1.56-2.08 3.69-4.93m0 0c1.53-1.69 3.07-3.38 4.13-4.55m-4.13 4.55c1.54-1.69 3.07-3.38 4.13-4.55m0 0c1.03-.93 2.06-1.87 4.55-4.13m-4.55 4.13c.98-.89 1.97-1.78 4.55-4.13m0 0c1.64-1.23 3.28-2.46 4.93-3.69m-4.93 3.69c1.72-1.29 3.45-2.58 4.93-3.69m0 0c1.11-.68 2.23-1.35 5.27-3.21m-5.27 3.21c1.5-.91 3.01-1.83 5.27-3.21m0 0c1.87-.89 3.73-1.79 5.6-2.69m-5.6 2.69c2.09-1 4.17-2.01 5.6-2.69m0 0c1.72-.64 3.44-1.27 5.88-2.16m-5.88 2.16c1.94-.72 3.89-1.43 5.88-2.16m0 0c2.3-.59 4.6-1.19 6.13-1.58m-6.13 1.58c2.32-.6 4.65-1.2 6.13-1.58m0 0c2.06-.31 4.12-.63 6.34-.97m-6.34.97c2.34-.36 4.69-.72 6.34-.97m0 0c2.05-.1 4.09-.21 6.54-.33m-6.54.33c2.06-.1 4.12-.21 6.54-.33m0 0h160m-160 0h160m0 0v128m0-128v128m0 0s0 0 0 0m0 0s0 0 0 0m0 0 .16 3.28m-.16-3.28c.06 1.16.12 2.32.16 3.28m0 0c.13.82.26 1.64.49 3.18m-.49-3.18c.18 1.13.35 2.26.49 3.18m0 0c.24.95.49 1.91.79 3.07m-.79-3.07c.28 1.1.56 2.2.79 3.07m0 0c.39 1.06.78 2.13 1.07 2.94m-1.07-2.94c.42 1.15.84 2.3 1.07 2.94m0 0c.38.79.76 1.57 1.35 2.8m-1.35-2.8c.4.82.79 1.64 1.35 2.8m0 0c.45.75.91 1.5 1.6 2.63m-1.6-2.63c.4.65.8 1.31 1.6 2.63m0 0c.56.76 1.13 1.52 1.84 2.47m-1.84-2.47c.58.79 1.17 1.57 1.84 2.47m0 0c.75.82 1.5 1.65 2.06 2.27m-2.06-2.27c.75.82 1.5 1.65 2.06 2.27m0 0c.74.66 1.47 1.33 2.27 2.06m-2.27-2.06c.89.81 1.78 1.61 2.27 2.06m0 0c.69.51 1.37 1.02 2.47 1.84m-2.47-1.84c.68.5 1.35 1.01 2.47 1.84m0 0c.81.49 1.62.99 2.63 1.6m-2.63-1.6c.74.45 1.47.9 2.63 1.6m0 0c.72.35 1.43.69 2.8 1.35m-2.8-1.35c.61.3 1.22.59 2.8 1.35m0 0c.85.31 1.69.62 2.94 1.07m-2.94-1.07c1.03.38 2.07.75 2.94 1.07m0 0c.83.22 1.67.43 3.07.79m-3.07-.79 3.07.79m0 0c1.07.16 2.14.33 3.18.49m-3.18-.49c1.2.18 2.39.36 3.18.49m0 0 3.28.16m-3.28-.16c.97.04 1.93.09 3.28.16m0 0h128m-128 0h128m0 0v288m0-288v288m0 0s0 0 0 0m0 0s0 0 0 0m0 0c-.1 2.02-.2 4.04-.33 6.54m.33-6.54c-.13 2.52-.26 5.05-.33 6.54m0 0c-.33 2.14-.66 4.29-.97 6.34m.97-6.34c-.32 2.06-.63 4.12-.97 6.34m0 0c-.59 2.28-1.17 4.55-1.58 6.13m1.58-6.13c-.53 2.07-1.07 4.14-1.58 6.13m0 0c-.73 1.99-1.46 3.97-2.16 5.88m2.16-5.88c-.72 1.97-1.44 3.94-2.16 5.88m0 0c-.94 1.97-1.89 3.93-2.69 5.6m2.69-5.6c-.91 1.89-1.82 3.77-2.69 5.6m0 0c-.89 1.46-1.78 2.92-3.21 5.27m3.21-5.27c-.65 1.05-1.29 2.11-3.21 5.27m0 0c-1.13 1.51-2.25 3.01-3.69 4.93m3.69-4.93c-1.29 1.72-2.58 3.44-3.69 4.93m0 0c-1.29 1.42-2.58 2.84-4.13 4.55m4.13-4.55-4.13 4.55m0 0-4.55 4.13m4.55-4.13-4.55 4.13m0 0c-1.2.9-2.41 1.8-4.93 3.69m4.93-3.69-4.93 3.69m0 0c-1.56.95-3.13 1.9-5.27 3.21m5.27-3.21c-1.99 1.21-3.98 2.42-5.27 3.21m0 0c-1.8.86-3.6 1.73-5.6 2.69m5.6-2.69c-1.34.64-2.67 1.28-5.6 2.69m0 0c-2.24.82-4.48 1.65-5.88 2.16m5.88-2.16c-1.38.51-2.77 1.02-5.88 2.16m0 0c-1.46.38-2.93.76-6.13 1.58m6.13-1.58c-1.54.4-3.09.79-6.13 1.58m0 0c-2.12.32-4.24.65-6.34.97m6.34-.97c-2.47.38-4.94.75-6.34.97m0 0c-2.23.11-4.46.22-6.54.33m6.54-.33c-1.97.1-3.93.2-6.54.33m0 0h-256m256 0h-256m0 0s0 0 0 0m0 0s0 0 0 0m0 0c-2.33-.12-4.66-.24-6.54-.33m6.54.33c-1.33-.07-2.65-.13-6.54-.33m0 0c-1.88-.29-3.77-.58-6.34-.97m6.34.97c-2.07-.32-4.14-.63-6.34-.97m0 0c-1.52-.39-3.04-.79-6.13-1.58m6.13 1.58c-2.02-.52-4.04-1.04-6.13-1.58m0 0c-1.6-.59-3.19-1.17-5.88-2.16m5.88 2.16c-1.9-.7-3.8-1.39-5.88-2.16m0 0c-1.41-.68-2.82-1.36-5.6-2.69m5.6 2.69c-1.6-.77-3.2-1.54-5.6-2.69m0 0c-1.4-.86-2.81-1.71-5.27-3.21m5.27 3.21c-2.08-1.27-4.17-2.54-5.27-3.21m0 0c-1.72-1.29-3.43-2.57-4.93-3.69m4.93 3.69c-1.79-1.34-3.57-2.67-4.93-3.69m0 0c-1.18-1.07-2.36-2.15-4.55-4.13m4.55 4.13c-1.64-1.49-3.27-2.97-4.55-4.13m0 0c-1.07-1.19-2.15-2.37-4.13-4.55m4.13 4.55c-1.46-1.61-2.93-3.23-4.13-4.55m0 0-3.69-4.93m3.69 4.93c-.88-1.17-1.76-2.35-3.69-4.93m0 0c-.83-1.37-1.67-2.75-3.21-5.27m3.21 5.27c-1.15-1.89-2.3-3.79-3.21-5.27m0 0c-1.03-2.14-2.05-4.27-2.69-5.6m2.69 5.6c-.68-1.43-1.37-2.85-2.69-5.6m0 0c-.8-2.17-1.59-4.34-2.16-5.88m2.16 5.88c-.82-2.22-1.63-4.44-2.16-5.88m0 0c-.47-1.82-.94-3.64-1.58-6.13m1.58 6.13c-.37-1.44-.74-2.88-1.58-6.13m0 0-.97-6.34m.97 6.34c-.3-1.98-.61-3.97-.97-6.34m0 0c-.13-2.54-.26-5.07-.33-6.54m.33 6.54-.33-6.54m0 0V343m0 112V343m0 0h174.1m-174.1 0h174.1m0 0-39 39m39-39-39 39m0 0s0 0 0 0m0 0s0 0 0 0m0 0c-.65.72-1.3 1.44-1.65 1.83m1.65-1.83c-.34.38-.68.76-1.65 1.83m0 0c-.35.47-.7.95-1.43 1.94m1.43-1.94c-.38.5-.75 1.01-1.43 1.94m0 0c-.32.54-.64 1.08-1.22 2.05m1.22-2.05c-.38.64-.76 1.28-1.22 2.05m0 0c-.2.45-.41.89-.99 2.13m.99-2.13c-.38.82-.76 1.64-.99 2.13m0 0c-.18.53-.36 1.05-.77 2.2m.77-2.2c-.3.88-.61 1.75-.77 2.2m0 0c-.15.61-.3 1.22-.55 2.25m.55-2.25c-.16.68-.33 1.35-.55 2.25m0 0-.33 2.29m.33-2.29c-.13.9-.26 1.79-.33 2.29m0 0-.11 2.3m.11-2.3c-.03.59-.06 1.19-.11 2.3m0 0c.03.54.05 1.08.11 2.3m-.11-2.3c.03.72.07 1.44.11 2.3m0 0c.1.71.21 1.43.33 2.28m-.33-2.28c.1.71.21 1.42.33 2.28m0 0c.22.88.44 1.77.55 2.24m-.55-2.24c.16.66.33 1.32.55 2.24m0 0c.26.72.51 1.45.77 2.19m-.77-2.19c.25.69.49 1.39.77 2.19m0 0c.33.7.65 1.4.99 2.12m-.99-2.12c.37.79.74 1.57.99 2.12m0 0c.38.63.75 1.25 1.22 2.04m-1.22-2.04c.4.67.8 1.35 1.22 2.04m0 0c.38.52.77 1.05 1.43 1.93m-1.43-1.93c.38.52.77 1.05 1.43 1.93m0 0c.46.5.91 1 1.65 1.81m-1.65-1.81c.35.39.7.77 1.65 1.81m0 0c.37.33.75.67 1.83 1.64m-1.83-1.64c.43.39.87.78 1.83 1.64m0 0c.62.45 1.25.91 1.94 1.42m-1.94-1.42c.45.32.9.65 1.94 1.42m0 0c.53.3 1.05.61 2.05 1.2m-2.05-1.2c.43.25.86.5 2.05 1.2m0 0c.78.36 1.56.72 2.13.99m-2.13-.99c.54.25 1.08.5 2.13.99m0 0c.67.23 1.33.46 2.2.76m-2.2-.76c.51.17 1.03.35 2.2.76m0 0c.87.22 1.73.43 2.25.56m-2.25-.56c.79.2 1.57.39 2.25.56m0 0 2.29.33m-2.29-.33c.58.08 1.16.16 2.29.33m0 0c.91.04 1.82.09 2.3.11m-2.3-.11c.89.04 1.79.09 2.3.11m0 0c.48-.02.96-.04 2.3-.1m-2.3.1c.73-.03 1.47-.06 2.3-.1m0 0c.61-.09 1.22-.18 2.28-.33m-2.28.33c.58-.09 1.17-.17 2.28-.33m0 0c.79-.19 1.59-.38 2.24-.54m-2.24.54c.88-.21 1.75-.42 2.24-.54m0 0c.7-.25 1.4-.49 2.19-.77m-2.19.77c.5-.18 1.01-.35 2.19-.77m0 0c.56-.26 1.13-.52 2.12-.98m-2.12.98c.69-.31 1.37-.63 2.12-.98m0 0c.63-.37 1.25-.74 2.04-1.21m-2.04 1.21c.8-.48 1.6-.95 2.04-1.21m0 0c.67-.5 1.34-.99 1.93-1.43m-1.93 1.43c.52-.39 1.05-.78 1.93-1.43m0 0c.43-.39.87-.79 1.81-1.65m-1.81 1.65c.42-.38.83-.76 1.81-1.65m0 0 80-80m-80 80 80-80m0 0s0 0 0 0m0 0s0 0 0 0m0 0c.33-.37.67-.74 1.65-1.83m-1.65 1.83c.63-.7 1.27-1.4 1.65-1.83m0 0c.3-.4.59-.79 1.43-1.94m-1.43 1.94c.42-.57.84-1.13 1.43-1.94m0 0c.4-.68.8-1.35 1.22-2.05m-1.22 2.05c.47-.79.93-1.57 1.22-2.05m0 0c.28-.62.57-1.23.99-2.13m-.99 2.13c.3-.65.6-1.31.99-2.13m0 0c.26-.74.51-1.47.77-2.2m-.77 2.2.77-2.2m0 0 .55-2.25m-.55 2.25c.2-.84.41-1.68.55-2.25m0 0 .33-2.29m-.33 2.29c.11-.75.21-1.49.33-2.29m0 0c.03-.54.05-1.08.11-2.3m-.11 2.3c.04-.91.09-1.81.11-2.3m0 0c-.03-.7-.07-1.41-.11-2.3m.11 2.3c-.04-.75-.07-1.49-.11-2.3m0 0c-.08-.52-.15-1.04-.33-2.28m.33 2.28c-.09-.63-.18-1.26-.33-2.28m0 0-.55-2.24m.55 2.24c-.19-.79-.39-1.58-.55-2.24m0 0-.77-2.19m.77 2.19c-.25-.72-.51-1.44-.77-2.19m0 0c-.23-.5-.46-.99-.99-2.12m.99 2.12c-.39-.83-.78-1.66-.99-2.12m0 0c-.42-.7-.83-1.39-1.22-2.04m1.22 2.04c-.32-.53-.64-1.06-1.22-2.04m0 0c-.47-.64-.95-1.28-1.43-1.93m1.43 1.93c-.47-.63-.94-1.27-1.43-1.93m0 0c-.44-.49-.89-.98-1.65-1.81m1.65 1.81c-.64-.7-1.28-1.4-1.65-1.81m0 0-80-80m80 80-80-80m0 0s0 0 0 0m0 0s0 0 0 0m0 0c-.72-.65-1.44-1.3-1.83-1.65m1.83 1.65c-.68-.62-1.37-1.23-1.83-1.65m0 0c-.51-.38-1.02-.75-1.94-1.43m1.94 1.43c-.58-.43-1.17-.87-1.94-1.43m0 0c-.73-.43-1.45-.86-2.05-1.22m2.05 1.22c-.77-.45-1.53-.9-2.05-1.22m0 0c-.46-.21-.93-.43-2.13-.99m2.13.99-2.13-.99m0 0c-.83-.29-1.65-.57-2.2-.77m2.2.77c-.56-.19-1.12-.39-2.2-.77m0 0c-.65-.16-1.29-.31-2.25-.55m2.25.55c-.57-.14-1.13-.27-2.25-.55m0 0c-.74-.11-1.48-.21-2.29-.33m2.29.33c-.51-.07-1.02-.15-2.29-.33m0 0c-.77-.04-1.54-.07-2.3-.11m2.3.11c-.88-.04-1.76-.08-2.3-.11m0 0c-.49.02-.98.05-2.3.11m2.3-.11c-.88.04-1.77.09-2.3.11m0 0c-.62.09-1.23.18-2.28.33m2.28-.33c-.6.09-1.2.17-2.28.33m0 0c-.45.11-.91.22-2.24.55m2.24-.55c-.79.2-1.58.39-2.24.55m0 0c-.56.2-1.12.4-2.19.77m2.19-.77c-.51.18-1.01.36-2.19.77m0 0c-.85.4-1.7.8-2.12.99m2.12-.99c-.51.24-1.02.48-2.12.99m0 0c-.6.36-1.2.71-2.04 1.22m2.04-1.22c-.46.27-.91.55-2.04 1.22m0 0c-.49.36-.99.73-1.93 1.43m1.93-1.43-1.93 1.43m0 0c-.42.38-.85.77-1.81 1.65m1.81-1.65c-.69.63-1.39 1.27-1.81 1.65m0 0-1.64 1.83m1.64-1.83c-.54.6-1.08 1.21-1.64 1.83m0 0c-.53.73-1.07 1.47-1.42 1.94m1.42-1.94c-.36.5-.73 1-1.42 1.94m0 0c-.35.61-.7 1.21-1.2 2.05m1.2-2.05c-.33.58-.67 1.15-1.2 2.05m0 0c-.26.57-.53 1.15-.99 2.13m.99-2.13c-.39.85-.78 1.69-.99 2.13m0 0c-.24.7-.48 1.4-.76 2.2m.76-2.2c-.17.51-.35 1.01-.76 2.2m0 0c-.17.68-.33 1.35-.56 2.25m.56-2.25c-.2.79-.39 1.57-.56 2.25m0 0c-.09.65-.18 1.29-.33 2.29m.33-2.29c-.06.48-.13.95-.33 2.29m0 0c-.03.71-.07 1.43-.11 2.3m.11-2.3-.11 2.3m0 0c.04.86.08 1.73.1 2.3m-.1-2.3c.03.8.07 1.6.1 2.3m0 0c.13.88.25 1.76.33 2.28m-.33-2.28c.11.73.21 1.47.33 2.28m0 0c.18.74.36 1.49.54 2.24m-.54-2.24c.15.64.31 1.28.54 2.24m0 0c.2.57.4 1.15.77 2.19m-.77-2.19c.21.58.41 1.17.77 2.19m0 0c.23.5.46 1.01.98 2.12m-.98-2.12c.35.76.71 1.53.98 2.12m0 0c.38.64.76 1.29 1.21 2.04m-1.21-2.04 1.21 2.04m0 0c.45.6.89 1.21 1.43 1.93m-1.43-1.93c.3.4.6.81 1.43 1.93m0 0 1.65 1.81m-1.65-1.81c.47.52.94 1.03 1.65 1.81m0 0 39 39m-39-39 39 39m0 0h-174.1m174.1 0h-174.1m0 0V71m0 223.9V71m0 0s0 0 0 0m0 0s0 0 0 0m0 0s0 0 0 0m0 0s0 0 0 0"})),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeLinecap:"round",strokeWidth:"18",d:"M135 343.068H31m104 0H31m0 0s0 0 0 0m0 0s0 0 0 0m0 0c-.74-.04-1.48-.07-2.46-.12m2.46.12c-.77-.04-1.54-.08-2.46-.12m0 0c-.87-.14-1.75-.27-2.39-.37m2.39.37c-.55-.09-1.1-.17-2.39-.37m0 0c-.87-.22-1.74-.44-2.3-.59m2.3.59c-.62-.15-1.24-.31-2.3-.59m0 0c-.82-.29-1.64-.59-2.21-.8m2.21.8c-.52-.18-1.03-.37-2.21-.8m0 0c-.55-.26-1.09-.52-2.1-1.01m2.1 1.01c-.64-.31-1.28-.61-2.1-1.01m0 0c-.74-.45-1.48-.89-1.98-1.2m1.98 1.2c-.42-.25-.84-.51-1.98-1.2m0 0c-.7-.52-1.41-1.05-1.84-1.38m1.84 1.38c-.37-.28-.75-.56-1.84-1.38m0 0c-.4-.36-.8-.71-1.71-1.54m1.71 1.54c-.35-.31-.7-.63-1.71-1.54m0 0c-.43-.47-.85-.95-1.54-1.71m1.54 1.71c-.61-.68-1.23-1.36-1.54-1.71m0 0c-.29-.38-.58-.76-1.38-1.84m1.38 1.84c-.54-.71-1.08-1.43-1.38-1.84m0 0c-.46-.76-.92-1.52-1.2-1.98m1.2 1.98c-.45-.74-.89-1.47-1.2-1.98m0 0c-.37-.77-.74-1.53-1.01-2.1m1.01 2.1c-.3-.62-.6-1.25-1.01-2.1m0 0c-.2-.54-.39-1.07-.8-2.21m.8 2.21c-.2-.54-.4-1.09-.8-2.21m0 0c-.22-.85-.44-1.71-.59-2.3m.59 2.3c-.12-.46-.24-.92-.59-2.3m0 0c-.11-.72-.22-1.43-.37-2.39m.37 2.39c-.08-.48-.15-.96-.37-2.39m0 0c-.03-.74-.07-1.48-.12-2.46m.12 2.46c-.04-.79-.08-1.59-.12-2.46m0 0c.04-.74.07-1.49.12-2.46m-.12 2.46.12-2.46m0 0c.08-.53.16-1.07.37-2.39m-.37 2.39c.09-.56.17-1.12.37-2.39m0 0c.17-.69.35-1.38.59-2.3m-.59 2.3c.15-.61.31-1.23.59-2.3m0 0c.17-.48.34-.96.8-2.21m-.8 2.21c.2-.55.4-1.1.8-2.21m0 0c.25-.52.49-1.03 1.01-2.1m-1.01 2.1c.36-.76.73-1.52 1.01-2.1m0 0c.43-.72.87-1.44 1.2-1.98m-1.2 1.98c.27-.45.55-.91 1.2-1.98m0 0c.54-.73 1.09-1.47 1.38-1.84m-1.38 1.84c.4-.54.81-1.09 1.38-1.84m0 0c.53-.59 1.07-1.18 1.54-1.71m-1.54 1.71c.59-.66 1.19-1.32 1.54-1.71m0 0c.54-.49 1.08-.97 1.71-1.54m-1.71 1.54c.48-.43.95-.86 1.71-1.54m0 0c.46-.35.92-.7 1.84-1.38m-1.84 1.38c.5-.38 1.01-.76 1.84-1.38m0 0c.52-.32 1.04-.63 1.98-1.2m-1.98 1.2c.72-.44 1.44-.88 1.98-1.2m0 0 2.1-1.01m-2.1 1.01c.84-.4 1.67-.81 2.1-1.01m0 0c.45-.17.91-.33 2.21-.8m-2.21.8c.56-.21 1.12-.41 2.21-.8m0 0c.89-.23 1.79-.46 2.3-.59m-2.3.59c.48-.13.95-.25 2.3-.59m0 0c.51-.08 1.02-.16 2.39-.37m-2.39.37 2.39-.37m0 0c.52-.02 1.03-.05 2.46-.12m-2.46.12c.74-.03 1.48-.07 2.46-.12m0 0 103.34-.27m-103.34.27c30.04-.08 60.08-.16 103.34-.27"}),React__namespace.createElement("g",{fillRule:"evenodd",strokeLinecap:"round"},React__namespace.createElement("path",{fill:"var(--input-bg-color)",strokeWidth:"0",d:"M517.462 135h-128V7l128 128"}),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"18",d:"M517.462 135h-128m128 0h-128m0 0V7m0 128V7m0 0 128 128m-128-128 128 128m0 0s0 0 0 0m0 0s0 0 0 0m0 0s0 0 0 0m0 0s0 0 0 0"}))),obsidian:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 166 267"},React__namespace.createElement("path",{fill:"transparent",d:"M0 0h165.742v267.245H0z"}),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{fill:"#bd7efc",strokeWidth:"0",d:"M55.5 96.49 39.92 57.05 111.28 10l4.58 36.54L55.5 95.65"}),React__namespace.createElement("path",{fill:"none",stroke:"#410380",strokeWidth:".5",d:"M55.5 96.49c-5.79-14.66-11.59-29.33-15.58-39.44M55.5 96.49c-3.79-9.59-7.58-19.18-15.58-39.44m0 0C60.13 43.72 80.34 30.4 111.28 10M39.92 57.05C60.82 43.27 81.73 29.49 111.28 10m0 0c.97 7.72 1.94 15.45 4.58 36.54M111.28 10c1.14 9.12 2.29 18.24 4.58 36.54m0 0C95.41 63.18 74.96 79.82 55.5 95.65m60.36-49.11C102.78 57.18 89.71 67.82 55.5 95.65m0 0v.84m0-.84v.84"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{fill:"#e2c4ff",strokeWidth:"0",d:"m111.234 10.06 44.51 42.07-40.66-5.08-3.85-36.99"}),React__namespace.createElement("path",{fill:"none",stroke:"#410380",strokeWidth:".5",d:"M111.234 10.06c11.83 11.18 23.65 22.36 44.51 42.07m-44.51-42.07 44.51 42.07m0 0c-13.07-1.63-26.13-3.27-40.66-5.08m40.66 5.08c-11.33-1.41-22.67-2.83-40.66-5.08m0 0c-1.17-11.29-2.35-22.58-3.85-36.99m3.85 36.99c-1.47-14.17-2.95-28.33-3.85-36.99m0 0s0 0 0 0m0 0s0 0 0 0"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{fill:"#2f005e",strokeWidth:"0",d:"m10 127.778 45.77-32.99-15.57-38.08-30.2 71.07"}),React__namespace.createElement("path",{fill:"none",stroke:"#410380",strokeWidth:".5",d:"M10 127.778c16.85-12.14 33.7-24.29 45.77-32.99M10 127.778c16.59-11.95 33.17-23.91 45.77-32.99m0 0c-6.14-15.02-12.29-30.05-15.57-38.08m15.57 38.08c-4.08-9.98-8.16-19.96-15.57-38.08m0 0c-11.16 26.27-22.33 52.54-30.2 71.07m30.2-71.07c-10.12 23.81-20.23 47.61-30.2 71.07m0 0s0 0 0 0m0 0s0 0 0 0"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{fill:"#410380",strokeWidth:"0",d:"m40.208 235.61 15.76-140.4-45.92 32.92 30.16 107.48"}),React__namespace.createElement("path",{fill:"none",stroke:"#410380",strokeWidth:".5",d:"M40.208 235.61c3.7-33.01 7.41-66.02 15.76-140.4m-15.76 140.4c3.38-30.16 6.77-60.32 15.76-140.4m0 0c-10.83 7.76-21.66 15.53-45.92 32.92m45.92-32.92c-11.69 8.38-23.37 16.75-45.92 32.92m0 0c6.84 24.4 13.69 48.8 30.16 107.48m-30.16-107.48c6.67 23.77 13.33 47.53 30.16 107.48m0 0s0 0 0 0m0 0s0 0 0 0"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{fill:"#943feb",strokeWidth:"0",d:"m111.234 240.434-12.47 16.67-42.36-161.87 58.81-48.3 40.46 5.25-44.44 188.25"}),React__namespace.createElement("path",{fill:"none",stroke:"#410380",strokeWidth:".5",d:"M111.234 240.434c-3.79 5.06-7.57 10.12-12.47 16.67m12.47-16.67c-4.43 5.93-8.87 11.85-12.47 16.67m0 0c-16.8-64.17-33.59-128.35-42.36-161.87m42.36 161.87c-9.74-37.2-19.47-74.41-42.36-161.87m0 0c15.03-12.35 30.07-24.7 58.81-48.3m-58.81 48.3c22.49-18.47 44.97-36.94 58.81-48.3m0 0c9.48 1.23 18.95 2.46 40.46 5.25m-40.46-5.25c13.01 1.69 26.02 3.38 40.46 5.25m0 0c-10.95 46.41-21.91 92.82-44.44 188.25m44.44-188.25c-12.2 51.71-24.41 103.42-44.44 188.25m0 0s0 0 0 0m0 0s0 0 0 0"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{fill:"#6212b3",strokeWidth:"0",d:"m40.379 235.667 15.9-140.21 42.43 161.79-58.33-21.58"}),React__namespace.createElement("path",{fill:"none",stroke:"#410380",strokeWidth:".5",d:"M40.379 235.667c4.83-42.62 9.67-85.25 15.9-140.21m-15.9 140.21c5.84-51.52 11.69-103.03 15.9-140.21m0 0c10.98 41.87 21.96 83.74 42.43 161.79m-42.43-161.79c13.28 50.63 26.56 101.25 42.43 161.79m0 0c-11.8-4.37-23.6-8.74-58.33-21.58m58.33 21.58c-21.73-8.04-43.47-16.08-58.33-21.58m0 0s0 0 0 0m0 0s0 0 0 0"})))},saveIcon=e=>React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:e?"var(--color-accent)":"var(--icon-fill-color)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{d:"M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z"}),React__namespace.createElement("polyline",{points:"17 21 17 13 7 13 7 21"}),React__namespace.createElement("polyline",{points:"7 3 7 8 15 8"})),penIcon=e=>{var A,t,i,n,a,r,s,o,l,c,d,h;switch(e.type){case"highlighter":return React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{fill:null!==(A=e.strokeColor)&&void 0!==A?A:"var(--icon-fill-color)",strokeWidth:"2",d:"m9 11-6 6v3h9l3-3"}),React__namespace.createElement("path",{fill:"none",strokeWidth:"2",d:"m22 12-4.6 4.6a2 2 0 0 1-2.8 0l-5.2-5.2a2 2 0 0 1 0-2.8L14 4"}));case"finetip":return React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:null!==(t=e.strokeColor)&&void 0!==t?t:"var(--icon-fill-color)",stroke:null!==(i=e.strokeColor)&&void 0!==i?i:"var(--icon-fill-color)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{strokeWidth:"2",d:"M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"}));case"fountain":return React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{fill:null!==(n=e.strokeColor)&&void 0!==n?n:"var(--icon-fill-color)",d:"m12 19 7-7 3 3-7 7-3-3z"}),React__namespace.createElement("path",{fill:"none",d:"m18 13-1.5-7.5L2 2l3.5 14.5L13 18l5-5z"}),React__namespace.createElement("path",{fill:"none",d:"m2 2 7.586 7.586"}),React__namespace.createElement("circle",{fill:"none",cx:"11",cy:"11",r:"2"}));case"marker":return React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 576 512",fill:null!==(a=e.strokeColor)&&void 0!==a?a:"var(--icon-fill-color)",stroke:null!==(r=e.strokeColor)&&void 0!==r?r:"var(--icon-fill-color)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{d:"M331 315l158.4-215L460.1 70.6 245 229 331 315zm-187 5l0 0V248.3c0-15.3 7.2-29.6 19.5-38.6L436.6 8.4C444 2.9 453 0 462.2 0c11.4 0 22.4 4.5 30.5 12.6l54.8 54.8c8.1 8.1 12.6 19 12.6 30.5c0 9.2-2.9 18.2-8.4 25.6L350.4 396.5c-9 12.3-23.4 19.5-38.6 19.5H240l-25.4 25.4c-12.5 12.5-32.8 12.5-45.3 0l-50.7-50.7c-12.5-12.5-12.5-32.8 0-45.3L144 320zM23 466.3l63-63 70.6 70.6-31 31c-4.5 4.5-10.6 7-17 7H40c-13.3 0-24-10.7-24-24v-4.7c0-6.4 2.5-12.5 7-17z"}));case"thick-thin":return React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 108 106",strokeWidth:"2",fill:null!==(s=e.strokeColor)&&void 0!==s?s:"var(--icon-fill-color)",stroke:null!==(o=e.strokeColor)&&void 0!==o?o:"var(--icon-fill-color)"},React__namespace.createElement("path",{d:"m-.58 95.628.22-.89q.22-.89.49-2.44.26-1.54.77-3.35t1.31-3.43q.79-1.61.2-.26-.6 1.34-.03-.14.58-1.49 1.54-2.97.96-1.49 2.54-3.18 1.59-1.68 3.46-2.96 1.86-1.27.81-.54-1.04.73.6-.46 1.64-1.19 2.8-1.81 1.16-.63.16-.08-.99.54 1.21-.5 2.2-1.03 1.11-.58-1.1.45-.03-.07 1.06-.53 2.32-.82 1.26-.3 2.91-.52 1.64-.23 3.05-.18 1.4.05 2.5.12 1.09.07 2.25.24 1.16.17 2.3.49 1.15.32 2.11.78.96.47 2.21 1.01 1.25.55 2.37 1.04t2.34.89q1.22.4 2.5.65 1.29.25 2.44.33 1.16.08 2.35.17 1.18.08 2.26-.1 1.08-.19 2-1.1.92-.91 1.25-1.93.32-1.02.38-2.15t.57.21q.51 1.34-.03-.02-.55-1.37-.96-2.83-.41-1.45.5-.67.92.79-.03-.06-.95-.85-1.52-1.8-.57-.94-1.5-1.52-.93-.57-1.94-1.22-1.01-.65-1.97-1.88-.96-1.22-1.44-2.54-.49-1.32-.65-2.57-.17-1.24-.11-2.35.06-1.11.31-2.91.24-1.79.76-2.77.51-.97 1.29-1.8.77-.84 1.64-1.55.88-.72 1.9-1.33 1.03-.61 2.43-1.15 1.41-.55 2.69-.92 1.29-.37 2.81-.68 1.53-.31 2.83-.58 1.31-.27 2.78-.47 1.47-.2 2.58-.49 1.12-.28 2.19-.58 1.08-.31 2.13-.73 1.05-.42 2.44-1.32 1.39-.9 2.68-1.85 1.3-.95 2.25-1.87.95-.91 2.06-2 1.11-1.09 1.92-1.93.82-.84 1.54-1.82.71-.98 1.4-1.88.69-.9 1.38-1.96.69-1.07 1.25-2.04.55-.97 1.21-1.94.65-.96 1.35-1.79.69-.83 1.46-1.74.77-.9 1.66-1.73.89-.84 2.72-2.31 1.84-1.48 1.84-1.47v.01l-1.1 1.03q-1.1 1.02-1.77 1.92-.68.9-1.39 1.85-.71.96-1.41 1.91-.7.96-1.19 1.92-.48.95-.95 1.92-.46.96-.9 1.95-.43.99-1.02 2.16-.59 1.17-1.17 2.15-.58.97-1.23 2.13t-1.29 2.02q-.64.86-1.3 1.73-.66.88-1.42 1.78-.75.9-1.72 2.03-.97 1.14-1.81 1.89-.85.75-1.98 1.71-1.14.96-2.05 1.61-.91.64-2.42 1.38-1.51.73-2.71 1.21t-2.49.92q-1.3.44-2.35.69-1.06.24-2.1.59-1.03.34-2.06.74-1.03.4-2.29.94-1.26.54-2.27 1.11-1.01.58-1.57 1.57-.56.99-.81 2.06-.25 1.08.56 2.02.8.94-.21-.02-1.02-.96-.01-.48 1 .49 1.87 1.25.87.77 0 0-.88-.77.46-.01 1.34.75 2.6 1.68 1.26.94 2.08 2.03.81 1.09.01.27-.8-.82.3.26 1.11 1.08 1.71 2.1.61 1.02 1.21 2.25.6 1.24.92 2.36.32 1.12-.16.13-.49-.98.02.36.51 1.35.71 2.69.2 1.34.24 2.46.03 1.12-.09 2.42-.13 1.29-.72 3.21-.6 1.92-1.4 3.49-.81 1.58-1.77 2.83-.96 1.24-2.88 2.72-1.92 1.48-2.95 1.85-1.04.36-2.47.76-1.44.41-3.33.72-1.89.32-3.37.41-1.48.09-2.63.15-1.15.05-2.74-.06-1.59-.1-2.8-.29-1.2-.19-3.2-.63-1.99-.45-3.63-.92-1.63-.48-3.28-.79-1.65-.31-2.76-.2-1.11.1-2.21.42-1.11.32.39-.29 1.49-.6-.12.21-1.61.8-.39.19 1.21-.61.29.13-.92.74-1.83 1.34-.92.61.15-.19t.3-.05q-.77.75-1.58 1.57-.81.82.01-.18.82-1 .24.23t-.72 2.72q-.15 1.48-.08 2.4.07.91-.19 2.16-.26 1.26-.81 2.41-.55 1.16-1.36 2.15t-1.84 1.75q-1.03.77-2.21 1.27t-2.44.7q-1.27.2-2.53.1-1.28-.11-2.49-.52-1.22-.41-2.3-1.1-1.08-.68-1.96-1.61-.89-.92-1.52-2.04-.64-1.11-.99-2.34-.36-1.23-.41-2.51l-.04-1.27Z"}));case"thin-thick-thin":return React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 114 113",strokeWidth:"2",fill:null!==(l=e.strokeColor)&&void 0!==l?l:"var(--icon-fill-color)",stroke:null!==(c=e.strokeColor)&&void 0!==c?c:"var(--icon-fill-color)"},React__namespace.createElement("path",{d:"m10 103.405.13-1.22q.14-1.22 1.3-3.16 1.15-1.94 2.74-3.46 1.59-1.53 3.35-2.72 1.77-1.2 4-1.95 2.23-.76 4.45-1t4.86-.4q2.64-.15 5.14-.34 2.51-.19 4.85-.94 2.35-.75 4.55-1.71 2.21-.97 4.16-2.26 1.95-1.3 4.03-2.97 2.07-1.67 3.85-3.05 1.78-1.37 3.72-2.48 1.94-1.11 3.3-2.99 1.36-1.89 2.58-3.74 1.22-1.85-.63-3.42-1.85-1.57-3.82-2.86-1.97-1.3-4.11-2.08-2.15-.78-4.21-1.6-2.06-.81-4.02-1.96-1.96-1.14-3.71-2.48-1.74-1.33-3.37-2.77-1.63-1.43-3.23-3.62-1.6-2.18-2.23-4.64-.62-2.46-.36-4.96.27-2.49 1.19-4.46.91-1.97 2.42-3.7 1.5-1.73 3.5-3.15t4.11-2.28q2.1-.86 4.33-1.44 2.24-.58 4.92-.84 2.68-.26 4.83-.19t4.69.35q2.53.28 4.75.66 2.23.38 4.48.2 2.26-.19 4.43-1.3 2.17-1.12 4.2-2.36 2.04-1.24 3.93-2.43 1.9-1.19 3.84-2.14 1.95-.95 4.04-1.78 2.09-.83 4.56-2.28 2.46-1.46 2.46-1.45h.01q.01 0-1.38 1.3-1.38 1.29-3.08 2.59-1.7 1.3-3.5 2.5t-3.42 2.65q-1.62 1.45-3.18 3-1.57 1.56-3.37 3.13-1.8 1.57-3.6 2.91-1.81 1.33-3.92 2.12t-4.24.92q-2.13.14-4.31.26-2.18.12-4.5.39t-4.56.88q-2.25.61-4.24 1.6-1.99 1-3.83 2.29-1.83 1.29.18 2.44 2.01 1.15 4.2 1.92 2.2.78 4.34 1 2.15.22 4.4.69 2.25.46 4.34 1.16 2.08.71 4.33 1.91 2.25 1.21 4.11 2.73 1.87 1.52 3.68 4.03 1.82 2.5 2.74 5 .93 2.5 1.18 5.03.26 2.53-.04 4.81t-1.4 4.85q-1.09 2.58-2.4 4.26-1.3 1.68-3.1 3.44t-4.02 3.62q-2.23 1.85-4.32 3.07-2.08 1.23-4.34 1.99-2.25.76-4.46 1.96t-4.37 2.14q-2.15.93-4.22 1.81t-4.36 1.35q-2.3.46-4.52.82-2.22.35-4.76.38-2.54.04-4.87-.28t-4.67-.67q-2.34-.35-4.72-.54-2.39-.19-4.64.37-2.25.56-4.16 1.66-1.91 1.11-3.52 2.71-1.61 1.6-2.55 2.39l-.94.78Z"}));default:return React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",fill:null!==(d=e.strokeColor)&&void 0!==d?d:"var(--icon-fill-color)",stroke:null!==(h=e.strokeColor)&&void 0!==h?h:"var(--icon-fill-color)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{d:"M453.3 19.3l39.4 39.4c25 25 25 65.5 0 90.5l-52.1 52.1 0 0-1-1 0 0-16-16-96-96-17-17 52.1-52.1c25-25 65.5-25 90.5 0zM241 114.9c-9.4-9.4-24.6-9.4-33.9 0L105 217c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L173.1 81c28.1-28.1 73.7-28.1 101.8 0L288 94.1l17 17 96 96 16 16 1 1-17 17L229.5 412.5c-48 48-109.2 80.8-175.8 94.1l-25 5c-7.9 1.6-16-.9-21.7-6.6s-8.1-13.8-6.6-21.7l5-25c13.3-66.6 46.1-127.8 94.1-175.8L254.1 128 241 114.9z"}))}},stringToSVG=e=>(e=e.replace(/stroke\s*=\s*['"][^"']*['"]/g,"").replace(/[^-]width\s*=\s*['"][^"']*['"]/g,"").replace(/[^-]height\s*=\s*['"][^"']*['"]/g,"").replace("{const t=A.getAppState();A.updateScene({appState:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({currentStrokeOptions:e.penOptions},e.strokeWidth&&0!==e.strokeWidth?{currentItemStrokeWidth:e.strokeWidth}:null),e.backgroundColor?{currentItemBackgroundColor:e.backgroundColor}:null),e.strokeColor?{currentItemStrokeColor:e.strokeColor}:null),""===e.fillStyle?null:{currentItemFillStyle:e.fillStyle}),e.roughness?null:{currentItemRoughness:e.roughness}),e.freedrawOnly&&!t.resetCustomPen?{resetCustomPen:{currentItemStrokeWidth:t.currentItemStrokeWidth,currentItemBackgroundColor:t.currentItemBackgroundColor,currentItemStrokeColor:t.currentItemStrokeColor,currentItemFillStyle:t.currentItemFillStyle,currentItemRoughness:t.currentItemRoughness}}:null)})},resetStrokeOptions=(e,A,t)=>{A.updateScene({appState:Object.assign(Object.assign(Object.assign({},e?{currentItemStrokeWidth:e.currentItemStrokeWidth,currentItemBackgroundColor:e.currentItemBackgroundColor,currentItemStrokeColor:e.currentItemStrokeColor,currentItemFillStyle:e.currentItemFillStyle,currentItemRoughness:e.currentItemRoughness}:null),{resetCustomPen:null}),t?{currentStrokeOptions:null}:null)})};class ObsidianMenu{constructor(e,A,t){this.plugin=e,this.toolsRef=A,this.view=t,this.renderCustomPens=(e,A)=>{var t;return null===(t=A.customPens)||void 0===t?void 0:t.map(((t,i)=>{const n=this.plugin.settings.customPens[i];return A.resetCustomPen&&"freedraw"!==A.activeTool.type&&A.currentStrokeOptions===n.penOptions&&setTimeout((()=>resetStrokeOptions(A.resetCustomPen,this.view.excalidrawAPI,!1))),!A.resetCustomPen&&"freedraw"===A.activeTool.type&&A.currentStrokeOptions===n.penOptions&&n.freedrawOnly&&setTimeout((()=>setPen(this.activePen,this.view.excalidrawAPI))),this.activePen&&A.resetCustomPen&&"freedraw"===A.activeTool.type&&A.currentStrokeOptions===n.penOptions&&n.freedrawOnly&&(this.activePen.strokeWidth=A.currentItemStrokeWidth,this.activePen.backgroundColor=A.currentItemBackgroundColor,this.activePen.strokeColor=A.currentItemStrokeColor,this.activePen.fillStyle=A.currentItemFillStyle,this.activePen.roughness=A.currentItemRoughness),React__namespace.createElement("label",{key:i,className:clsx("ToolIcon ToolIcon_type_floating","ToolIcon_size_medium",{"is-mobile":e}),onClick:()=>{const e=Date.now();if(e-this.clickTimestamp[i]<500){const e=new PenSettingsModal(this.plugin,this.view,i);return void(async()=>{await this.plugin.loadSettings(),e.open()})()}this.clickTimestamp[i]=e;const A=this.view.excalidrawAPI,t=A.getAppState();t.currentStrokeOptions!==n.penOptions||"freedraw"!==t.activeTool.type?(this.activePen=Object.assign({},n),setPen(n,A),A.setActiveTool({type:"freedraw"})):resetStrokeOptions(t.resetCustomPen,A,!0)}},React__namespace.createElement("div",{className:"ToolIcon__icon","aria-label":n.type,style:Object.assign({},"freedraw"===A.activeTool.type&&A.currentStrokeOptions===n.penOptions?{background:"var(--color-primary)"}:{})},penIcon(n)))}))},this.renderPinnedScriptButtons=(e,A)=>{var t;return null===(t=null==A?void 0:A.pinnedScripts)||void 0===t?void 0:t.map(((A,t)=>{var i;const n=this.plugin.scriptEngine.scriptIconMap[A],a=null!==(i=null==n?void 0:n.name)&&void 0!==i?i:"",r=(null==n?void 0:n.svgString)?stringToSVG(n.svgString):ICONS.cog;let s=0;return React__namespace.createElement("label",{key:t,className:clsx("ToolIcon ToolIcon_type_floating","ToolIcon_size_medium",{"is-mobile":e}),onClick:()=>{s&&(window.clearTimeout(s),s=0,(async()=>{const e=app.vault.getAbstractFileByPath(A);e&&e instanceof obsidian_module.TFile&&this.plugin.scriptEngine.executeScript(this.view,await app.vault.read(e),this.plugin.scriptEngine.getScriptName(e),e)})())},onPointerDown:()=>{s=window.setTimeout((()=>{s=0,(async()=>{var e;await this.plugin.loadSettings();const t=this.plugin.settings.pinnedScripts.indexOf(A);t>-1&&(this.plugin.settings.pinnedScripts.splice(t,1),null===(e=this.view.excalidrawAPI)||void 0===e||e.setToast({message:`Pin removed: ${a}`,duration:3e3,closable:!0})),await this.plugin.saveSettings(),app.workspace.getLeavesOfType("excalidraw").forEach((e=>{e.view instanceof ExcalidrawView&&e.view.updatePinnedScripts()}))})()}),1500)}},React__namespace.createElement("div",{className:"ToolIcon__icon","aria-label":a},r))}))},this.renderButton=(e,A)=>React__namespace.createElement(React__namespace.Fragment,null,React__namespace.createElement("label",{className:clsx("ToolIcon ToolIcon_type_floating","ToolIcon_size_medium",{"is-mobile":e}),onClick:()=>{this.toolsRef.current.setTheme(A.theme),this.toolsRef.current.toggleVisibility(A.zenModeEnabled||e)}},React__namespace.createElement("div",{className:"ToolIcon__icon","aria-hidden":"true"},ICONS.obsidian)),this.renderCustomPens(e,A),this.renderPinnedScriptButtons(e,A)),this.clickTimestamp=Array.from({length:Object.keys(PENS).length},(()=>0))}}class ActionButton extends React__namespace.Component{constructor(e){super(e),this.toastMessageTimeout=0,this.longpressTimeout=0,this.state={visible:!0}}render(){return React__namespace.createElement("button",{style:{},className:"ToolIcon_type_button ToolIcon_size_small ToolIcon_type_button--show ToolIcon",title:this.props.title,onClick:e=>{this.toastMessageTimeout&&(window.clearTimeout(this.toastMessageTimeout),this.toastMessageTimeout=0,this.props.action(e)),this.longpressTimeout&&(window.clearTimeout(this.longpressTimeout),this.longpressTimeout=0)},onPointerDown:e=>{this.toastMessageTimeout=window.setTimeout((()=>{var e;null===(e=this.props.view.excalidrawAPI)||void 0===e||e.setToast({message:this.props.title,duration:3e3,closable:!0}),this.toastMessageTimeout=0}),400),this.longpressTimeout=window.setTimeout((()=>{var A;this.props.longpress?this.props.longpress(e):null===(A=this.props.view.excalidrawAPI)||void 0===A||A.setToast({message:"Cannot pin this action",duration:3e3,closable:!0}),this.longpressTimeout=0}),1500)}},React__namespace.createElement("div",{className:"ToolIcon__icon","aria-hidden":"true"},this.props.icon))}}const FIRST_RUN='\nThe Excalidraw Obsidian plugin is much more than "just" a drawing tool. To help you get started here\'s a showcase of the key Excalidraw plugin features.\n\nIf you\'d like to learn more, please subscribe to my YouTube channel: [Visual PKM](https://www.youtube.com/channel/UCC0gns4a9fhVkGkngvSumAQ) where I regularly share videos about Obsidian-Excalidraw and about tools and techniques for Visual Personal Knowledge Management.\n\nThank you & Enjoy!\n\n
\n\n
\n',RELEASE_NOTES={Intro:'After each update you\'ll be prompted with the release notes. You can disable this in plugin settings.\n\nI develop this plugin as a hobby, spending my free time doing this. If you find it valuable, then please say THANK YOU or...\n\n
\n',"1.8.17":'\n## New from Excalidraw.com\n- Improved text wrapping in the ellipse and diamond shapes [6172](https://github.com/excalidraw/excalidraw/pull/6172)\n\n## New\n- Updated slideshow script\n\n
\n\n
\n\n## Fixed: \n- "Save to..." in the Stencil Library menu now works as expected [#1032](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/1032)\n',"1.8.16":'\n**!!! Modifier keys have changed, please review the table below !!!**\n[Click this to see the new shortcuts overview image](https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master/images/excalidraw-modifiers.png)\n\n## Fixed \n- This version was extensively tested and developed on MacOS to remove usability issues.\n- New command palette action to create a new drawing in a new tab\n- Modifier keys to open links in the active window, splitting the current view to the right, in a new tab, or in a popout window now behave consistently both in Excalidraw and when clicking a drawing that is embedded in a markdown note.\n- Drag & Drop properly works from within Obsidian, from a web browser, and from the OS file explorer\n\n
\n\n
\n',"1.8.14":"\n## Fixed\n- text element link gets deleted when the drawing is reloaded\n","1.8.13":'\n## Fixed\n- When changing a text element in markdown mode, the change seem to have showed up when switching back to Excalidraw mode, but then lost these changes when loading the file the next time.\n- Scrolling through a page that has embedded drawings on Obsidian Mobile accidently opens the drawing in Excalidraw when touching the image. Now you need to press and hold to open the image in Excalidraw. [#1003](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/1003)\n- The scrollbar is no longer visible when presenting using the SlideShow script\n- Stroke properties could not be changed when custom pen settings had "Stroke & fill applies to: All shapes". It works now.\n\n## QoL\n- Custom pens will remember the stroke changes until you press the pen preset button again.\n - This is a bit hard to explain, let me try... Essentially, when you use a custom pen, it will keep the changes you made to the pen (like changing the stroke width) until you press the pen-prereset button again. So, for example, if you\'re using a mind mapping custom pen and change its color, and then switch to a different tool like text, when you switch back to the freedraw tool using the Excalidraw tools panel, the pen will still have the same color you set earlier, but if you press the mind mapping pen-preset button, it will default back to your custom pen settings including your preset color.\n- Added new buttons to load current stroke color and background color in the pen settings dialog. Also added an edit box so you can configure any valid color string (including with transparency) for pen stroke and background colors. [#991](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/991)\n',"1.8.11":'\n
\n\n
\n\n# New\n- Support for referencing images from the internet in Excalidraw drawings, including YouTube thumbnail support. [#913](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/913)\n - Link to images on the internet without creating a copy in your Vault by holding down the CTRL key while dropping the link or image.\n - Automatic conversion of image URLs and YouTube links into image elements with original links added as a link on the element when pasting. Note, that if you only want to paste the plain text link (not the image), first double-click the canvas to start a new text element, then paste the link.\n- Two new options added to plugin settings:\n - Make mouse wheel zoom by default [#474](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/474)\n - Allow pinch zoom in pen mode [#828](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/828)\n- Update to the [Set Grid](https://github.com/zsviczian/obsidian-excalidraw-plugin/blob/master/ea-scripts/Set%20Grid.svg) script now saves the grid setting for the current file.\n',"1.8.10":'\n
\n\n
\n\n# QoL improvements\n- You can structure icons in the Obsidian tools panel by moving scripts to folders\n![image|300](https://user-images.githubusercontent.com/14358394/212389592-306130d0-209a-49df-99bb-c538f2155b23.png)\n- I added useful actions to the hamburger menu in both tray-mode and normal-mode. \n![image|150](https://user-images.githubusercontent.com/14358394/212534508-9107fd19-27ab-4415-8abc-bc97c73afc0b.png)\n- I added a new Export Image dialog. You can access the new export screen from the hamburger-menu\n![image|200](https://user-images.githubusercontent.com/14358394/212534654-7a479e23-8d5d-452e-9a18-a9896278aa27.png)\n- Links in help now point to Obsidian-Excalidraw relevant content.\n- I added a welcome screen\n![image|150](https://user-images.githubusercontent.com/14358394/212534568-3cd1e8a1-5b20-4a30-96e4-40d7dac57e33.png)\n- I updated the alternative dark mode / dynamic styling [script](https://gist.github.com/zsviczian/c7223c5b4af30d5c88a0cae05300305c)\n',"1.8.9":"\n# Minor QoL improvements\n- When you open a second drawing in the same Excalidraw view (i.e. by navigating a link) and make a change to this drawing, and then press UNDO, the entire drawing disappeared. Redo brought the image back, however, this behavior was frustrating. Not anymore...\n- On iPad\n - when you open the command palette, autozoom resized the drawing. If the Obsidian command palette or some other modal window is shown Excalidraw will not resize the view.\n - when you add a link to the drawing using the Command Palette, sometimes the link was added in a far corner of the drawing outside the current view area. This should be fixed now.","1.8.8":`\n
\n\n
\n\n# New\n- The plugin now includes support for [Perfect Freehand](https://perfect-freehand-example.vercel.app/) pen-options. I've also added a new [Alternative Pens](https://github.com/zsviczian/obsidian-excalidraw-plugin/blob/master/ea-scripts/Alternative%20Pens.md) script.\n- Embed scene in exported PNG and SVG images [#860](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/860). This means that the export will be a normal PNG or SVG image with the added functionality that if someone loads the image into excalidraw.com it will open as a normal excalidraw file.\n - I've added 2 new Command Palette actions (export PNG, export SVG with embedded scene).\n - If you SHIFT click ${String.fromCharCode(96)} Save as PNG (or SVG)${String.fromCharCode(96)} in the workspace-tab menu, Excalidraw will embed the scene in the export.\n- I updated the [Organic Line](https://github.com/zsviczian/obsidian-excalidraw-plugin/blob/master/ea-scripts/Organic%20Line.md) script. It has an improved thick-to-thin look and a new thin-to-thick-to-thin line type.\n\n# Fixed\n- Intelligent image width setting [#955](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/955). Before this change, when the embedded image was small, the image would be extended to meet the image width setting in plugin settings. From now on, if the image is smaller than max-width, it will only extend to max-width. You can still set 100% width using custom CSS. See more on that [here](https://github.com/zsviczian/obsidian-excalidraw-plugin#embedded-images).\n\n# New in ExcalidrawAutomate\n- I added the ${String.fromCharCode(96)} plaintext${String.fromCharCode(96)} parameter to ${String.fromCharCode(96)}ExcalidrawAutomate.create${String.fromCharCode(96)} . Using this, you can add some text below the frontmatter but above the ${String.fromCharCode(96)}# Text Elements${String.fromCharCode(96)} section. Use this for example to add metadata to your file. (e.g. I use this in my Daily Quote template to add a Dataview field for the ${String.fromCharCode(96)}Author::${String.fromCharCode(96)} and add the quote with a standard block reference, so I can easily reference it in other files. I also add the ${String.fromCharCode(96)}#quote${String.fromCharCode(96)} tag to the file using this.)\n- The script running in the ScriptEngine now also receives the ${String.fromCharCode(96)}TFile${String.fromCharCode(96)} object for the script itself. You can access this object during execution via the ${String.fromCharCode(96)}utils.scriptFile${String.fromCharCode(96)} variable. \n`,"1.8.7":'\n## New from Excalidraw.com\n- Support shrinking text containers to their original height when text is removed [#6025](https://github.com/excalidraw/excalidraw/pull/6025)\n
\n\n
\n\n## Fixed\n- removed the white background when editing arrow-label [#6033](https://github.com/excalidraw/excalidraw/pull/6033)\n- Minor style tweaks\n - for embedding Excalidraw into Obsidian Canvas. e.g. dragging no longer accidentally creates an image copy of the drawing, and\n - style tweaks on the Excalidraw canvas\n\n## New\n- If you set a different text color and sticky note border color, now if you change the border color, the text color will not be changed.\n',"1.8.6":`\n## New from Excalidraw.com:\n- Better default radius for rectangles [#5553](https://github.com/excalidraw/excalidraw/pull/5553). Existing drawings will look unchanged, this applies only to new rectangles.\n![image|200](https://user-images.githubusercontent.com/5153846/206264345-59fd7436-e87b-4bc9-ade8-9e6f6a6fd8c1.png)\n> [!attention]- ExcalidrawAutomate technical details\n> - ${String.fromCharCode(96)}strokeSharpness${String.fromCharCode(96)} is now deprecated\n> - use roundness instead\n> - ${String.fromCharCode(96)}roundness === null${String.fromCharCode(96)} is legacy ${String.fromCharCode(96)}strokeSharpness = "sharp"${String.fromCharCode(96)}\n> - ${String.fromCharCode(96)}roundness = { type: RoundnessType; value?: number }${String.fromCharCode(96)}\n> - type: 1, LEGACY, type:2 PROPORTIONAL_RADIUS, type:3 ADAPTIVE_RADIUS: 3\n> - value:\n> - Radius represented as % of element's largest side (width/height).\n> DEFAULT_PROPORTIONAL_RADIUS = 0.25;\n> - Fixed radius for the ADAPTIVE_RADIUS algorithm. In pixels.\n> DEFAULT_ADAPTIVE_RADIUS = 32;\n\n## New\n- For Obsidian 1.1.6 and above\n - Improved embedding into Obsidian Canvas\n - Improved embedding into Markdown documents\n- Added setting under ${String.fromCharCode(96)}Display/Default mode when opening Excalidraw${String.fromCharCode(96)} to always open the drawing in view mode on Mobile, but in normal mode on desktop. [#939](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/939)\n\n## Fixed\n- Zoom reset tooltip appears twice [#942](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/942)\n- Hid export library from library menu as it does not work due to Obsidian limitations. Use the command palette export library instead.\n- Arrow with label did not get exported and embedded correctly [#941](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/941)\n![image|200](https://user-images.githubusercontent.com/22638687/207845868-b352ddb1-7994-4f13-a0b2-f2e19bd72935.png)\n`,"1.8.4":'\n## New from Excalidraw.com\n- Labels on Arrows!!! [#5723](https://github.com/excalidraw/excalidraw/pull/5723)\n - To add a label press "Enter" or "Double click" on the arrow\n - Use "Cmd/Ctrl+double click" to enter the line editor\n\n
\n\n
\n\n## New\n- **Changed behavior**: In the Obsidian markdown editor clicking an Excalidraw image will not open the image (to avoid accidentally opening the image on a tablet). To open a drawing for editing in Excalidraw double click or long-tap on it. [#920](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/920)\n\n## Fixed \n- Text stroke color is not honored when pasting a HEX color string to an Excalidraw canvas open in an Obsidian popout window [#921](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/921)\n- The new [multi-line >> multi-element paste behavior](https://github.com/excalidraw/excalidraw/pull/5786) introduced in the previous release did not work as expected in Obsidian. Now it does.\n',"1.8.2":`\nIntroducing the [Excalidraw Slideshow Script](https://github.com/zsviczian/obsidian-excalidraw-plugin/blob/master/ea-scripts/Slideshow.md) - available in the script store\n
\n\n
\n\n## Fixed\n- Obsidian tools panel gets misplaced after switching Obsidian workspace tabs\n\n## New in ExcalidrawAutomate\n- changed ${String.fromCharCode(96)}viewToggleFullScreen(forceViewMode: boolean = false): void${String.fromCharCode(96)}: the function will toggle view mode on when going to full screen and view mode off when terminating full screen.\n- new functions\n${String.fromCharCode(96,96,96)}typescript\nsetViewModeEnabled(enabled: boolean):void;\nviewUpdateScene(\n scene: {\n elements?: ExcalidrawElement[];\n appState?: AppState;\n files?: BinaryFileData;\n commitToHistory?: boolean;\n },\n restore: boolean = false,\n ):void;\nviewZoomToElements(\n selectElements: boolean,\n elements: ExcalidrawElement[]\n ):void;\n${String.fromCharCode(96,96,96)}\n\n`,"1.8.1":`\n## New and fixes from Excalidraw.com\n- New text paste behavior. Pasting multiline text will generate separate text elements unless you hold down the shift button while pasting [#5786](https://github.com/excalidraw/excalidraw/pull/5786)\n- line editor fixes [#5927](https://github.com/excalidraw/excalidraw/pull/5927)\n\n## Fixed\n- The Command Palette "Insert link" action now inserts the new link at the top drawing layer, not at the bottom.\n- Updated, hopefully, better organized, Plugin Readme.\n\n## New\n- Second attempt at moving to React 18. This upgrade is required to maintain alignment with the core Excalidraw product and to continue to benefit from Excalidraw.com enhancements.\n- Added options to Plugin Settings\n - to disable autozoom when loading a drawing for the first time [#907](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/907)\n - to modify autosave interval. You can now set an autosave interval for desktop and for mobile [#888](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/888)\n\n## New in ExcalidrawAutomate\n- Published the obsidian_module on the ExcalidrawAutomate object. ${String.fromCharCode(96)}ExcalidrawAutomate.obsidian${String.fromCharCode(96)}. Publishing this object will give script developers increased flexibility and control over script automation.\n`,"1.8.0":'\n
\n\n
\n\n## New\n- Optical Character Recognition (OCR). Introducing the MVP (minimum viable product) release of the integration of [Taskbone](https://taskbone.com) OCR into Excalidraw. See the new scan button on the Obsidian tools panel.\n- New and improved full-screen mode\n - Activate using the Obsidian tools panel, the Obsidian Command Palette, or the Alt+F11 shortcut\n - The ESC key no longer closes full-screen\n - Full-screen mode works properly on iOS as well\n- Improved Icon visibility on the Obsidian tools panel\n- Added 3 additional buttons to the tools panel\n - Force save\n - Open link (useful on Mobile devices). In the case of LaTeX equations, the button opens the equation properties.\n - Open the link in a new pane. In the case of embedded markdown documents, the button opens the embed properties.\n\n## Fixed\n- The [deconstruct selected elements into a new drawing](https://github.com/zsviczian/obsidian-excalidraw-plugin/blob/master/ea-scripts/Deconstruct%20selected%20elements%20into%20new%20drawing.md) script now also correctly decomposes transcluded text elements.\n',"1.7.30":"\nFix:\n- Forcing the embedded image to always scale to 100% (a feature introduced in [1.7.26](https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/1.7.26)) scaled the embedded excalidraw drawings incorrectly on devices with a pixel ratio of 2 or 3 (e.g. iPads). This is now fixed, however, this fix might retrospectively impact drawings that use this feature. Sorry for that.\n","1.7.29":"\n- This is a big update that accommodates the **UI redesign** on Excalidraw.com [#5780](https://github.com/excalidraw/excalidraw/pull/5780). The change on the surface may seem superficial, however, I had to tweak a number of things to make it work in Obsidian. I hope I found everything that broke and fixed it, if not, I'll try to fix it quickly...\n- This update also comes with changes under the hood that **fix issues with Excalidraw Automate** - paving the way for further scripts, plus some smaller bug fixes.\n- I **reworked text wrapping**. In some cases, text wrapping in SVG exports looked different compared to how the text looked in Excalidraw. This should now be fixed.\n- If you are using the **Experimental Dynamic Styling** of the Excalidraw Toolbar, then I recommend updating your styling script following base on [this](https://gist.github.com/zsviczian/c7223c5b4af30d5c88a0cae05300305c)\n","1.7.27":'## New\n- Import SVG drawing as an Excalidraw object. [#679](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/679)\n\n
\n\n
\n\n## Fixed\n- Large drawings freeze on the iPad when opening the file. I implemented a workaround whereby Excalidraw will avoid zoom-to-fit drawings with over 1000 elements. [#863](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/863)\n- Reintroduced copy/paste to the context menu\n',"1.7.26":'## Fixed\n- Transcluded block with a parent bullet does not embed sub-bullet [#853](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/853)\n- Transcluded text will now exclude ^block-references at end of lines\n- Phantom duplicates of the drawing appear when "zoom to fit" results in a zoom value below 10% and there are many objects on the canvas [#850](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/850)\n- CTRL+Wheel will increase/decrease zoom in steps of 5% matching the behavior of the "+" & "-" zoom buttons.\n- Latest updates from Excalidarw.com\n - Freedraw flip not scaling correctly [#5752](https://github.com/excalidraw/excalidraw/pull/5752)\n - Multiple elements resizing regressions [#5586](https://github.com/excalidraw/excalidraw/pull/5586)\n\n## New - power user features\n- Force the embedded image to always scale to 100%. Note: this is a very niche feature with a very particular behavior that I built primarily for myself (even more so than other features in Excalidraw Obsidian - also built primarily for myself 😉)... This will reset your embedded image to 100% size every time you open the Excalidraw drawing, or in case you have embedded an Excalidraw drawing on your canvas inserted using this function, every time you update the embedded drawing, it will be scaled back to 100% size. This means that even if you resize the image on the drawing, it will reset to 100% the next time you open the file or you modify the original embedded object. This feature is useful when you decompose a drawing into separate Excalidraw files, but when combined onto a single canvas you want the individual pieces to maintain their actual sizes. I use this feature to construct Book-on-a-Page summaries from atomic drawings.\n- I added an action to the command palette to temporarily disable/enable Excalidraw autosave. When autosave is disabled, Excalidraw will still save your drawing when changing to another Obsidian window, but it will not save every 10 seconds. On a mobile device (but also on a desktop) this can lead to data loss if you terminate Obsidian abruptly (i.e. swipe the application away, or close Obsidian without first closing the drawing). Use this feature if you find Excalidraw laggy.'};class ReleaseNotes extends obsidian_module.Modal{constructor(e,A,t){super(e),this.plugin=A,this.version=t}onOpen(){var e;this.containerEl.classList.add("excalidraw-release"),this.titleEl.setText(`Welcome to Excalidraw ${null!==(e=this.version)&&void 0!==e?e:""}`),this.createForm()}async onClose(){this.contentEl.empty(),await this.plugin.loadSettings(),this.plugin.settings.previousRelease=PLUGIN_VERSION,await this.plugin.saveSettings()}async createForm(){let e=this.plugin.settings.previousRelease;e=this.version===e?"0.0.0":e;const A=this.version?Object.keys(RELEASE_NOTES).filter((A=>"Intro"===A||isVersionNewerThanOther(A,e))).map((e=>`${"Intro"===e?"":`# ${e}\n`}${RELEASE_NOTES[e]}`)).slice(0,10).join("\n\n---\n"):FIRST_RUN;await obsidian_module.MarkdownRenderer.renderMarkdown(A,this.contentEl,"",this.plugin),this.contentEl.createEl("p",{text:""},(e=>{e.style.textAlign="right",e.createEl("button",{text:"Close"}).onclick=()=>this.close()}))}}const TOOLS_PANEL_WIDTH=228;class ToolsPanel extends React__namespace.Component{constructor(e){super(e),this.pos1=0,this.pos2=0,this.pos3=0,this.pos4=0,this.penDownX=0,this.penDownY=0,this.previousWidth=0,this.previousHeight=0,this.onRightEdge=!1,this.onBottomEdge=!1;const A=e.view.plugin.getPackage(e.view.ownerWindow).react;this.containerRef=A.createRef(),this.state={visible:e.visible,top:50,left:200,theme:"dark",excalidrawViewMode:!1,minimized:!1,isDirty:!1,isFullscreen:!1,isPreviewMode:!0,scriptIconMap:{}}}updateScriptIconMap(e){this.setState((()=>({scriptIconMap:e})))}setPreviewMode(e){this.setState((()=>({isPreviewMode:e})))}setFullscreen(e){this.setState((()=>({isFullscreen:e})))}setDirty(e){this.setState((()=>({isDirty:e})))}setExcalidrawViewMode(e){this.setState((()=>({excalidrawViewMode:e})))}toggleVisibility(e){this.setTopCenter(e),this.setState((e=>({visible:!e.visible})))}setTheme(e){this.setState((A=>({theme:e})))}setTopCenter(e){this.setState((()=>({left:(this.containerRef.current.clientWidth-228-(e?0:232))/2+this.containerRef.current.parentElement.offsetLeft+(e?0:232),top:64+this.containerRef.current.parentElement.offsetTop})))}updatePosition(e=0,A=0){this.setState((()=>{const{offsetTop:t,offsetLeft:i,clientWidth:n,clientHeight:a}=this.containerRef.current.firstElementChild,r=t-e,s=i-A,{clientWidth:o,clientHeight:l,offsetTop:c,offsetLeft:d}=this.containerRef.current.parentElement;return this.previousHeight=l,this.previousWidth=o,this.onBottomEdge=r>=l-a+c,this.onRightEdge=s>=o-n+d,{top:r{e.preventDefault(),Math.abs(this.penDownX-this.pos3)>5||Math.abs(this.penDownY-this.pos4)>5||this.setState((e=>({minimized:!e.minimized})))},onPointerDown:e=>{const A=e=>{e.preventDefault(),this.pos1=this.pos3-e.clientX,this.pos2=this.pos4-e.clientY,this.pos3=e.clientX,this.pos4=e.clientY,this.updatePosition(this.pos2,this.pos1)},t=()=>{var e,i;null===(e=this.props.view.ownerDocument)||void 0===e||e.removeEventListener("pointerup",t),null===(i=this.props.view.ownerDocument)||void 0===i||i.removeEventListener("pointermove",A)};e.preventDefault(),this.penDownX=this.pos3=e.clientX,this.penDownY=this.pos4=e.clientY,this.props.view.ownerDocument.addEventListener("pointerup",t),this.props.view.ownerDocument.addEventListener("pointermove",A)}},React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 228 26"},React__namespace.createElement("path",{stroke:"var(--icon-fill-color)",strokeWidth:"2",d:"M40,7 h148 M40,13 h148 M40,19 h148"}))),React__namespace.createElement("div",{className:"Island App-menu__left scrollbar",style:{maxHeight:"350px",width:"initial","--padding":2,display:this.state.minimized?"none":"block"}},React__namespace.createElement("div",{className:"panelColumn"},React__namespace.createElement("fieldset",null,React__namespace.createElement("legend",null,"Utility actions"),React__namespace.createElement("div",{className:"buttonList buttonListIcon"},React__namespace.createElement(ActionButton,{key:"scriptEngine",title:t$d("INSTALL_SCRIPT_BUTTON"),action:()=>{new ScriptInstallPrompt(this.props.view.plugin).open()},icon:ICONS.scriptEngine,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"release-notes",title:t$d("READ_RELEASE_NOTES"),action:()=>{new ReleaseNotes(this.props.view.app,this.props.view.plugin,PLUGIN_VERSION).open()},icon:ICONS.releaseNotes,view:this.props.view}),null===this.state.isPreviewMode?React__namespace.createElement(ActionButton,{key:"convert",title:t$d("CONVERT_FILE"),action:()=>{this.props.view.convertExcalidrawToMD()},icon:ICONS.convertFile,view:this.props.view}):React__namespace.createElement(ActionButton,{key:"viewmode",title:this.state.isPreviewMode?t$d("PARSED"):t$d("RAW"),action:()=>{this.state.isPreviewMode?this.props.view.changeTextMode(TextMode.raw):this.props.view.changeTextMode(TextMode.parsed)},icon:this.state.isPreviewMode?ICONS.rawMode:ICONS.parsedMode,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"tray-mode",title:t$d("TRAY_MODE"),action:()=>{this.props.view.toggleTrayMode()},icon:ICONS.trayMode,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"fullscreen",title:this.state.isFullscreen?t$d("EXIT_FULLSCREEN"):t$d("GOTO_FULLSCREEN"),action:()=>{this.state.isFullscreen?this.props.view.exitFullscreen():this.props.view.gotoFullscreen()},icon:this.state.isFullscreen?ICONS.exitFullScreen:ICONS.gotoFullScreen,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"search",title:t$d("SEARCH"),action:()=>{search(this.props.view)},icon:ICONS.search,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"ocr",title:t$d("RUN_OCR"),action:e=>{this.props.view.plugin.settings.taskboneEnabled?this.props.view.plugin.taskbone.getTextForView(this.props.view,isCTRL(e)):new obsidian_module.Notice("Taskbone OCR is not enabled. Please go to plugins settings to enable it.",4e3)},icon:ICONS.ocr,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"openLink",title:t$d("OPEN_LINK_CLICK"),action:e=>{const A=new MouseEvent("click",{ctrlKey:e.ctrlKey||!(DEVICE.isIOS||DEVICE.isMacOS),metaKey:e.metaKey||DEVICE.isIOS||DEVICE.isMacOS,shiftKey:e.shiftKey,altKey:e.altKey});this.props.view.handleLinkClick(A)},icon:ICONS.openLink,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"openLinkProperties",title:t$d("OPEN_LINK_PROPS"),action:()=>{const e=new MouseEvent("click",{ctrlKey:!0,metaKey:!0,shiftKey:!1,altKey:!1});this.props.view.handleLinkClick(e)},icon:ICONS.openLinkProperties,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"save",title:t$d("FORCE_SAVE"),action:()=>{this.props.view.forceSave()},icon:saveIcon(this.state.isDirty),view:this.props.view}))),React__namespace.createElement("fieldset",null,React__namespace.createElement("legend",null,"Export actions"),React__namespace.createElement("div",{className:"buttonList buttonListIcon"},React__namespace.createElement(ActionButton,{key:"lib",title:t$d("DOWNLOAD_LIBRARY"),action:()=>{this.props.view.plugin.exportLibrary()},icon:ICONS.exportLibrary,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"svg",title:t$d("EXPORT_SVG"),action:()=>{this.props.view.saveSVG(),new obsidian_module.Notice(`File saved: ${getIMGFilename(this.props.view.file.path,"svg")}`)},icon:ICONS.exportSVG,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"png",title:t$d("EXPORT_PNG"),action:()=>{this.props.view.savePNG(),new obsidian_module.Notice(`File saved: ${getIMGFilename(this.props.view.file.path,"png")}`)},icon:ICONS.exportPNG,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"excalidraw",title:t$d("EXPORT_EXCALIDRAW"),action:()=>{this.props.view.exportExcalidraw()},icon:ICONS.exportExcalidraw,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"md",title:t$d("OPEN_AS_MD"),action:()=>{this.props.view.openAsMarkdown()},icon:ICONS.switchToMarkdown,view:this.props.view}))),React__namespace.createElement("fieldset",null,React__namespace.createElement("legend",null,"Insert actions"),React__namespace.createElement("div",{className:"buttonList buttonListIcon"},React__namespace.createElement(ActionButton,{key:"image",title:t$d("INSERT_IMAGE"),action:()=>{this.props.centerPointer(),this.props.view.plugin.insertImageDialog.start(this.props.view)},icon:ICONS.insertImage,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"insertMD",title:t$d("INSERT_MD"),action:()=>{this.props.centerPointer(),this.props.view.plugin.insertMDDialog.start(this.props.view)},icon:ICONS.insertMD,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"latex",title:t$d("INSERT_LATEX"),action:e=>{isALT(e)?this.props.view.openExternalLink("https://youtu.be/r08wk-58DPk"):(this.props.centerPointer(),insertLaTeXToView(this.props.view))},icon:ICONS.insertLaTeX,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"link",title:t$d("INSERT_LINK"),action:()=>{this.props.centerPointer(),this.props.view.plugin.insertLinkDialog.start(this.props.view.file.path,this.props.view.addText)},icon:ICONS.insertLink,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"link-to-element",title:t$d("INSERT_LINK_TO_ELEMENT"),action:e=>{isALT(e)?this.props.view.openExternalLink("https://youtu.be/yZQoJg2RCKI"):this.props.view.copyLinkToSelectedElementToClipboard(isCTRL(e)?"group=":isSHIFT(e)?"area=":"")},icon:ICONS.copyElementLink,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"import-svg",title:t$d("IMPORT_SVG"),action:e=>{this.props.view.plugin.importSVGDialog.start(this.props.view)},icon:ICONS.importSVG,view:this.props.view}))),this.renderScriptButtons(!1),this.renderScriptButtons(!0)))))}renderScriptButtons(e){if(0===Object.keys(this.state.scriptIconMap).length)return"";const A=`${this.props.view.plugin.settings.scriptFolderPath}/Downloaded/`,t=t=>e?t.startsWith(A):!t.startsWith(A);if(0===Object.keys(this.state.scriptIconMap).filter((e=>t(e))).length)return"";const i=new Set;Object.keys(this.state.scriptIconMap).filter((e=>t(e))).forEach((e=>i.add(this.state.scriptIconMap[e].group)));const n=Array.from(i).sort(((e,A)=>e>A?1:-1));return n.push(n.shift()),React__namespace.createElement(React__namespace.Fragment,null,n.map((A=>React__namespace.createElement("fieldset",null,React__namespace.createElement("legend",null,e?A:""===A?"User":"User/"+A),React__namespace.createElement("div",{className:"buttonList buttonListIcon"},Object.entries(this.state.scriptIconMap).filter((([e,t])=>t.group===A)).sort().map((([e,A])=>React__namespace.createElement(ActionButton,{key:e,title:A.name,action:async()=>{const A=this.props.view,t=A.plugin,i=app.vault.getAbstractFileByPath(e);i&&i instanceof obsidian_module.TFile&&t.scriptEngine.executeScript(A,await app.vault.read(i),t.scriptEngine.getScriptName(i),i)},longpress:async()=>{const t=this.props.view,i=t.excalidrawAPI,n=t.plugin;await n.loadSettings();const a=n.settings.pinnedScripts.indexOf(e);a>-1?(n.settings.pinnedScripts.splice(a,1),null==i||i.setToast({message:`Pin removed: ${A.name}`,duration:3e3,closable:!0})):(n.settings.pinnedScripts.push(e),null==i||i.setToast({message:`Pinned: ${A.name}`,duration:3e3,closable:!0})),await n.saveSettings(),app.workspace.getLeavesOfType("excalidraw").forEach((e=>{e.view instanceof ExcalidrawView&&e.view.updatePinnedScripts()}))},icon:A.svgString?stringToSVG(A.svgString):ICONS.cog,view:this.props.view}))))))))}}const getElementsAtPointer=(e,A,t)=>A.filter((A=>{if(t&&A.type!==t)return!1;const[i,n,a,r]=rotatedDimensions(A);return i<=e.x&&i+a>=e.x&&n<=e.y&&n+r>=e.y})),getTextElementAtPointer=(e,A)=>{const t=A.excalidrawAPI;if(!t)return{id:null,text:null};const i=getElementsAtPointer(e,t.getSceneElements(),"text");if(0==i.length)return{id:null,text:null};if(1===i.length)return{id:i[0].id,text:i[0].text};const n=i.filter((e=>{const t=A.textMode===TextMode.parsed?A.excalidrawData.getRawText(e.id):e.text;return!!t&&(!!t.match(REG_LINKINDEX_HYPERLINK)||!!REGEX_LINK.getRes(t).next().value)}));return 0==n.length?{id:i[0].id,text:i[0].text}:{id:n[0].id,text:n[0].text}},getImageElementAtPointer=(e,A)=>{const t=A.excalidrawAPI;if(!t)return;const i=getElementsAtPointer(e,t.getSceneElements(),"image");return 0===i.length?{id:null,fileId:null}:i.length>=1?{id:i[0].id,fileId:i[0].fileId}:void 0},getElementWithLinkAtPointer=(e,A)=>{const t=A.excalidrawAPI;if(!t)return;const i=getElementsAtPointer(e,t.getSceneElements()).filter((e=>e.link));return 0===i.length?{id:null,text:null}:i.length>=1?{id:i[0].id,text:i[0].link}:void 0};class MenuLinks{constructor(e,A){this.render=(e,A)=>React__namespace.createElement("div",null,"Hello"),this.plugin=e,this.ref=A}}const getEA=e=>{try{return window.ExcalidrawAutomate.getAPI(e)}catch(e){return console.log({message:"Excalidraw not available",fn:getEA}),null}};class ExportDialog extends obsidian_module.Modal{constructor(e,A,t){super(app),this.plugin=e,this.view=A,this.file=t,this.dirty=!1,this.ea=getEA(this.view),this.api=this.ea.getExcalidrawAPI(),this.padding=getExportPadding(this.plugin,this.file),this.scale=getPNGScale(this.plugin,this.file),this.theme=getExportTheme(this.plugin,this.file,this.api.getAppState().theme),this.boundingBox=this.ea.getBoundingBox(this.ea.getViewElements()),this.embedScene=!1,this.saveToVault=!0,this.transparent=!getWithBackground(this.plugin,this.file),this.saveSettings=!1}onOpen(){this.containerEl.classList.add("excalidraw-release"),this.titleEl.setText("Export Image")}async onClose(){this.dirty=this.saveSettings}async createForm(){let e,A;this.contentEl.createEl("h1",{text:"Image settings"}),this.contentEl.createEl("p",{text:"Transparency only affects PNGs. Excalidraw files can only be exported outside the Vault. PNGs copied to clipboard may not include the scene."});const t=()=>{const e=Math.round(this.scale*this.boundingBox.width+2*this.padding),A=Math.round(this.scale*this.boundingBox.height+2*this.padding);return fragWithHTML(`The lager the scale, the larger the image.
Scale: ${this.scale}
Image size: ${e}x${A}`)},i=()=>fragWithHTML(`Current image padding is ${this.padding}`);A=new obsidian_module.Setting(this.contentEl).setName("Image padding").setDesc(i()).addSlider((n=>{n.setLimits(0,50,1).setValue(this.padding).onChange((n=>{this.padding=n,e.setDesc(t()),A.setDesc(i())}))})),e=new obsidian_module.Setting(this.contentEl).setName("PNG Scale").setDesc(t()).addSlider((A=>A.setLimits(.5,5,.5).setValue(this.scale).onChange((A=>{this.scale=A,e.setDesc(t())}))));const n=()=>`Export with ${this.theme} theme`,a=new obsidian_module.Setting(this.contentEl).setName(n()).setDesc(fragWithHTML("Toggle on: Export with light theme
Toggle off: Export with dark theme")).addToggle((e=>e.setValue("dark"!==this.theme).onChange((e=>{this.theme=e?"light":"dark",a.setName(n())})))),r=()=>`Export with ${this.transparent?"transparent ":""}background`,s=new obsidian_module.Setting(this.contentEl).setName(r()).setDesc(fragWithHTML("Toggle on: Export with transparent background
Toggle off: Export with background")).addToggle((e=>e.setValue(this.transparent).onChange((e=>{this.transparent=e,s.setName(r())})))),o=()=>this.saveSettings?"Save these settings as the preset for this image":"These are one-time settings",l=new obsidian_module.Setting(this.contentEl).setName(o()).setDesc(fragWithHTML("Saving these settings as preset will override general export settings for this image.
Toggle on: Save as preset for this image
Toggle off: Don't save as preset")).addToggle((e=>e.setValue(this.saveSettings).onChange((e=>{this.saveSettings=e,l.setName(o())}))));this.contentEl.createEl("h1",{text:"Export settings"});const c=()=>this.embedScene?"Embed scene":"Do not embed scene",d=new obsidian_module.Setting(this.contentEl).setName(c()).setDesc(fragWithHTML("Embed the Excalidraw scene into the PNG or SVG image
Toggle on: Embed scene
Toggle off: Do not embed scene")).addToggle((e=>e.setValue(this.embedScene).onChange((e=>{this.embedScene=e,d.setName(c())}))));if(DEVICE.isDesktop){const e=()=>this.saveToVault?"Save image to your Vault":"Export image outside your Vault",A=new obsidian_module.Setting(this.contentEl).setName(e()).setDesc(fragWithHTML("Toggle on: Save image to your Vault in the same folder as this drawing
Toggle off: Save image outside your Vault")).addToggle((t=>t.setValue(this.saveToVault).onChange((t=>{this.saveToVault=t,A.setName(e())}))))}const h=this.contentEl.createDiv({cls:"excalidraw-prompt-buttons-div"});h.createEl("button",{text:"PNG to File",cls:"excalidraw-prompt-button"}).onclick=()=>{this.saveToVault?this.view.savePNG():this.view.exportPNG(),this.close()},h.createEl("button",{text:"SVG to File",cls:"excalidraw-prompt-button"}).onclick=()=>{this.saveToVault?this.view.saveSVG():this.view.exportSVG(),this.close()},h.createEl("button",{text:"Excalidraw",cls:"excalidraw-prompt-button"}).onclick=()=>{this.view.exportExcalidraw(),this.close()},DEVICE.isDesktop&&(h.createEl("button",{text:"PNG to Clipboard",cls:"excalidraw-prompt-button"}).onclick=()=>{this.view.exportPNGToClipboard(),this.close()})}}var TextMode;!function(e){e.parsed="parsed",e.raw="raw"}(TextMode||(TextMode={}));const HIDE="excalidraw-hidden",SHOW="excalidraw-visible",addFiles=async(e,A,t)=>{if(!e||0===e.length||!A)return;const i=A.excalidrawAPI;if(!i)return;if(e=e.filter((e=>e&&e.size&&e.size.height>0&&e.size.width>0)),0===e.length)return;const n=scaleLoadedImage(A.getScene(),e);void 0===t&&(t=n.scene.appState.theme),n.dirty&&await A.updateScene({elements:n.scene.elements,appState:n.scene.appState,commitToHistory:!1});for(const i of e)if(A.excalidrawData.hasFile(i.id)&&A.excalidrawData.getFile(i.id).setImage(i.dataURL,i.mimeType,i.size,t,i.hasSVGwithBitmap),A.excalidrawData.hasEquation(i.id)){const e=A.excalidrawData.getEquation(i.id).latex;A.excalidrawData.setEquation(i.id,{latex:e,isLoaded:!0})}i.addFiles(e)},warningUnknowSeriousError=()=>{new obsidian_module.Notice("WARNING: Excalidraw ran into an unknown problem!\n\nThere is a risk that your most recent changes cannot be saved.\n\nTo be on the safe side...\n1) Please select your drawing using CTRL/CMD+A and make a copy with CTRL/CMD+C.\n2) Then create an empty drawing in a new pane by CTRL/CMD+clicking the Excalidraw ribbon button,\n3) and paste your work to the new document with CTRL/CMD+V.",6e4)};class ExcalidrawView extends obsidian_module.TextFileView{constructor(e,A){super(e),this.getScene=null,this.addElements=null,this.getSelectedTextElement=null,this.getSelectedImageElement=null,this.getSelectedElementWithLink=null,this.addText=null,this.refresh=null,this.excalidrawRef=null,this.excalidrawAPI=null,this.excalidrawWrapperRef=null,this.toolsPanelRef=null,this.linksAlwaysOpenInANewPane=!1,this.lastSaveTimestamp=0,this.modifierKeyDown={shiftKey:!1,metaKey:!1,ctrlKey:!1,altKey:!1},this.currentPosition={x:0,y:0},this.semaphores={popoutUnload:!1,viewunload:!1,scriptsReady:!1,justLoaded:!1,preventAutozoom:!1,autosaving:!1,dirty:null,preventReload:!1,isEditingText:!1,saving:!1,forceSaving:!1,hoverSleep:!1,wheelTimeout:null},this.autosaveTimer=null,this.textMode=TextMode.raw,this.compatibilityMode=!1,this.isEditingTextResetTimer=null,this.id=this.leaf.id,this.getHookServer=()=>{var e;return null!==(e=this.hookServer)&&void 0!==e?e:this.plugin.ea},this.preventReloadResetTimer=null,this.hiddenMobileLeaves=[],this.offsetLeft=0,this.offsetTop=0,this.blockTextModeChange=!1,this.isLoaded=!1,this.activeLoader=null,this.nextLoader=null,this.initialContainerSizeUpdate=!1,this.previousSceneVersion=0,this.previousBackgroundColor="",this.plugin=A,this.excalidrawData=new ExcalidrawData(A),this.hookServer=A.ea}setHookServer(e){this.hookServer=e||this.plugin.ea}preventAutozoom(){this.semaphores.preventAutozoom=!0,setTimeout((()=>this.semaphores.preventAutozoom=!1),1500)}saveExcalidraw(e){if(!e){if(!this.getScene)return!1;e=this.getScene()}const A=`${this.file.path.substring(0,this.file.path.lastIndexOf(".md"))}.excalidraw`,t=app.vault.getAbstractFileByPath(obsidian_module.normalizePath(A));t&&t instanceof obsidian_module.TFile?app.vault.modify(t,JSON.stringify(e,null,"\t")):app.vault.create(A,JSON.stringify(e,null,"\t"))}async exportExcalidraw(){this.getScene&&this.file&&(app.isMobile?new Prompt(app,"Please provide filename",this.file.basename,"filename, leave blank to cancel action").openAndGetValue((async e=>{if(!e)return;e=`${e}.excalidraw`;const A=splitFolderAndFilename(this.file.path).folderpath;await checkAndCreateFolder(A);const t=getNewUniqueFilepath(app.vault,e,A);app.vault.create(t,JSON.stringify(this.getScene(),null,"\t")),new obsidian_module.Notice(`Exported to ${t}`,6e3)})):download("data:text/plain;charset=utf-8",encodeURIComponent(JSON.stringify(this.getScene(),null,"\t")),`${this.file.basename}.excalidraw`))}async svg(e,A,t){const i=this.exportDialog,n={withBackground:i?!i.transparent:getWithBackground(this.plugin,this.file),withTheme:!0};return await getSVG(Object.assign(Object.assign({},e),{appState:Object.assign(Object.assign({},e.appState),{theme:null!=A?A:i?i.theme:getExportTheme(this.plugin,this.file,e.appState.theme),exportEmbedScene:void 0===t?!!i&&i.embedScene:t})}),n,i?i.padding:getExportPadding(this.plugin,this.file))}async saveSVG(e,A){if(!e){if(!this.getScene)return!1;e=this.getScene()}const t=async(t,i)=>{const n=app.vault.getAbstractFileByPath(obsidian_module.normalizePath(t)),a=await this.svg(e,i,A);if(!a)return;const r=(new XMLSerializer).serializeToString(embedFontsInSVG(a,this.plugin));n&&n instanceof obsidian_module.TFile?await app.vault.modify(n,r):await app.vault.create(t,r)};this.plugin.settings.autoExportLightAndDark?(await t(getIMGFilename(this.file.path,"dark.svg"),"dark"),await t(getIMGFilename(this.file.path,"light.svg"),"light")):await t(getIMGFilename(this.file.path,"svg"))}async exportSVG(e){if(!this.getScene||!this.file)return;let A=await this.svg(this.getScene(),void 0,e);A&&(A=embedFontsInSVG(A,this.plugin),download(null,svgToBase64(A.outerHTML),`${this.file.basename}.svg`))}async png(e,A,t){const i=this.exportDialog,n={withBackground:i?!i.transparent:getWithBackground(this.plugin,this.file),withTheme:!0};return await getPNG(Object.assign(Object.assign({},e),{appState:Object.assign(Object.assign({},e.appState),{theme:null!=A?A:i?i.theme:getExportTheme(this.plugin,this.file,e.appState.theme),exportEmbedScene:void 0===t?!!i&&i.embedScene:t})}),n,i?i.padding:getExportPadding(this.plugin,this.file),i?i.scale:getPNGScale(this.plugin,this.file))}async savePNG(e,A){if(!e){if(!this.getScene)return!1;e=this.getScene()}const t=async(t,i)=>{const n=app.vault.getAbstractFileByPath(obsidian_module.normalizePath(t)),a=await this.png(e,i,A);a&&(n&&n instanceof obsidian_module.TFile?await app.vault.modifyBinary(n,await a.arrayBuffer()):await app.vault.createBinary(t,await a.arrayBuffer()))};this.plugin.settings.autoExportLightAndDark?(await t(getIMGFilename(this.file.path,"dark.png"),"dark"),await t(getIMGFilename(this.file.path,"light.png"),"light")):await t(getIMGFilename(this.file.path,"png"))}async exportPNGToClipboard(e){if(!this.getScene||!this.file)return;const A=await this.png(this.getScene(),void 0,e);A&&await navigator.clipboard.write([new window.ClipboardItem({"image/png":A})])}async exportPNG(e){if(!this.getScene||!this.file)return;const A=await this.png(this.getScene(),void 0,e);if(!A)return;const t=new FileReader;t.readAsDataURL(A);const i=this;t.onloadend=function(){const e=t.result;download(null,e,`${i.file.basename}.png`)}}async save(e=!0,A=!1){if(!this.isLoaded)return;if(this.semaphores.saving)return;this.semaphores.saving=!0;let t=!1;if(this.getScene&&this.excalidrawAPI&&this.isLoaded&&this.file&&app.vault.getAbstractFileByPath(this.file.path)){try{const i=Boolean(null!==this.semaphores.dirty&&this.semaphores.dirty||this.semaphores.autosaving||A),n=this.getScene();if(this.compatibilityMode?await this.excalidrawData.syncElements(n):await this.excalidrawData.syncElements(n,this.excalidrawAPI.getAppState().selectedElementIds)&&!this.semaphores.popoutUnload&&await this.loadDrawing(!1,this.excalidrawAPI.getSceneElementsIncludingDeleted().filter((e=>e.isDeleted))),i&&(this.preventReloadResetTimer&&(clearTimeout(this.preventReloadResetTimer),this.preventReloadResetTimer=null),this.semaphores.preventReload=e,await super.save(),t=this.lastSaveTimestamp===this.file.stat.mtime&&!e&&A,this.lastSaveTimestamp=this.file.stat.mtime,this.clearDirty(),e)){const e=this;this.preventReloadResetTimer=setTimeout((()=>e.semaphores.preventReload=!1),2e3)}if(!t&&!this.semaphores.autosaving&&!this.semaphores.viewunload){const e=this.excalidrawData.autoexportPreference;(e===AutoexportPreference.inherit&&this.plugin.settings.autoexportSVG||e===AutoexportPreference.both||e===AutoexportPreference.svg)&&this.saveSVG(),(e===AutoexportPreference.inherit&&this.plugin.settings.autoexportPNG||e===AutoexportPreference.both||e===AutoexportPreference.png)&&this.savePNG(),!this.compatibilityMode&&this.plugin.settings.autoexportExcalidraw&&this.saveExcalidraw()}}catch(e){errorlog({where:"ExcalidrawView.save",fn:this.save,error:e}),warningUnknowSeriousError()}this.semaphores.saving=!1,t&&this.reload(!0,this.file)}else this.semaphores.saving=!1}getViewData(){var e,A,t;if(!this.getScene)return this.data;if(!this.excalidrawData.loaded)return this.data;const i=this.getScene();if(!this.compatibilityMode){let i=this.data.search(/(^%%\n)?# Text Elements\n/m);if(-1==i&&(i=this.data.search(/(%%\n)?# Drawing\n/)),-1==i)return this.data;const n=(null===(e=this.exportDialog)||void 0===e?void 0:e.dirty)&&(null===(A=this.exportDialog)||void 0===A?void 0:A.saveSettings)?[["excalidraw-export-padding",this.exportDialog.padding.toString()],["excalidraw-export-pngscale",this.exportDialog.scale.toString()],["excalidraw-export-dark","dark"===this.exportDialog.theme?"true":"false"],["excalidraw-export-transparent",this.exportDialog.transparent?"true":"false"],[FRONTMATTER_KEY,this.textMode===TextMode.raw?"raw":"parsed"]]:[[FRONTMATTER_KEY,this.textMode===TextMode.raw?"raw":"parsed"]];(null===(t=this.exportDialog)||void 0===t?void 0:t.dirty)&&(this.exportDialog.dirty=!1);let a=updateFrontmatterInString(this.data.substring(0,i),n);const r=/(^---[\w\W]*?---\n)(!\[\[.*?]]\n(%%\n)?)/m;a.match(r)&&(a=a.replace(r,"$1")),this.excalidrawData.disableCompression||(this.excalidrawData.disableCompression=this.isEditedAsMarkdownInOtherView());const s=a+this.excalidrawData.generateMD(this.excalidrawAPI.getSceneElementsIncludingDeleted().filter((e=>e.isDeleted)));return this.excalidrawData.disableCompression=!1,s}return this.compatibilityMode?JSON.stringify(i,null,"\t"):this.data}restoreMobileLeaves(){this.hiddenMobileLeaves.length>0&&(this.hiddenMobileLeaves.forEach((e=>{e[0].containerEl.style.display=e[1]})),this.hiddenMobileLeaves=[])}gotoFullscreen(){this.plugin.leafChangeTimeout&&(clearTimeout(this.plugin.leafChangeTimeout),this.plugin.leafChangeTimeout=null),this.excalidrawWrapperRef&&(this.toolsPanelRef&&this.toolsPanelRef.current&&this.toolsPanelRef.current.setFullscreen(!0),(e=>{for(;e&&!e.hasClass("workspace-split");)e.addClass(SHOW),e=e.parentElement;e&&e.addClass(SHOW);const A=this.ownerDocument;A.body.querySelectorAll(`div.workspace-split:not(.${SHOW})`).forEach((e=>e.addClass(HIDE))),A.body.querySelector(`div.workspace-leaf-content.${SHOW} > .view-header`).addClass(HIDE),A.body.querySelectorAll(`div.workspace-tab-container.${SHOW} > div.workspace-leaf:not(.${SHOW})`).forEach((e=>e.addClass(HIDE))),A.body.querySelectorAll(`div.workspace-tabs.${SHOW} > div.workspace-tab-header-container`).forEach((e=>e.addClass(HIDE))),A.body.querySelectorAll(`div.workspace-split.${SHOW} > div.workspace-tabs:not(.${SHOW})`).forEach((e=>e.addClass(HIDE))),A.body.querySelectorAll("div.workspace-ribbon").forEach((e=>e.addClass(HIDE))),A.body.querySelectorAll("div.mobile-navbar").forEach((e=>e.addClass(HIDE))),A.body.querySelectorAll("div.status-bar").forEach((e=>e.addClass(HIDE)))})(this.contentEl))}isFullscreen(){return Boolean(document.body.querySelector(".excalidraw-hidden"))}exitFullscreen(){this.toolsPanelRef&&this.toolsPanelRef.current&&this.toolsPanelRef.current.setFullscreen(!1);const e=this.ownerDocument;e.querySelectorAll(".excalidraw-hidden").forEach((e=>e.removeClass(HIDE))),e.querySelectorAll(".excalidraw-visible").forEach((e=>e.removeClass(SHOW)))}removeLinkTooltip(){const e=this.ownerDocument.body.querySelector("body>div.excalidraw-tooltip,div.excalidraw-tooltip--visible");e&&this.ownerDocument.body.removeChild(e)}handleLinkHookCall(e,A,t){if(this.getHookServer().onLinkClickHook)try{if(!this.getHookServer().onLinkClickHook(e,A,t,this,this.getHookServer()))return!0}catch(e){errorlog({where:"ExcalidrawView.onLinkOpen",fn:this.getHookServer().onLinkClickHook,error:e})}return!1}openExternalLink(e,A){return!!e.match(REG_LINKINDEX_HYPERLINK)&&(window.open(e,"_blank"),!0)}openTagSearch(e){const A=e.matchAll(/#([\p{Letter}\p{Emoji_Presentation}\p{Number}\/_-]+)/gu).next();if(!A.value||A.value.length<2)return;const t=app.workspace.getLeavesOfType("search");0!=t.length&&(t[0].view.setQuery(`tag:${A.value[1]}`),app.workspace.revealLeaf(t[0]),this.isFullscreen()&&this.exitFullscreen())}async linkClick(e,A,t,i,n){var a,r,s,o;A||(A={id:null,text:null}),t||(t={id:null,fileId:null}),i||(i={id:null,text:null}),n||(n={shiftKey:e.shiftKey,ctrlKey:e.ctrlKey,metaKey:e.metaKey,altKey:e.altKey});const l=linkClickModifierType(n);let c=null,d=null,h=null;if((null==A?void 0:A.id)||(null==i?void 0:i.id)){if(h=null!==(a=null==i?void 0:i.text)&&void 0!==a?a:this.textMode===TextMode.parsed?this.excalidrawData.getRawText(A.id):A.text,!h)return;h=h.replaceAll("\n","");const t=null!==(r=A.id)&&void 0!==r?r:i.id,n=this.excalidrawAPI.getSceneElements().filter((e=>e.id===t))[0];if(this.handleLinkHookCall(n,h,e))return;if(this.openExternalLink(h))return;const s=REGEX_LINK.getRes(h).next();if(!s.value)return void this.openTagSearch(h);if(h=REGEX_LINK.getLink(s),this.openExternalLink(h))return;if(h.search("#")>-1){const e=getLinkParts(h,this.file);d=`#${e.isBlockRef?"^":""}${e.ref}`,h=e.path}if(h.match(REG_LINKINDEX_INVALIDCHARS))return void new obsidian_module.Notice(t$d("FILENAME_INVALID_CHARS"),4e3);c=this.app.metadataCache.getFirstLinkpathDest(h,this.file.path)}if(null==t?void 0:t.id){if(this.excalidrawData.hasEquation(t.fileId)){const e=this.excalidrawData.getEquation(t.fileId).latex;return void new Prompt(app,t$d("ENTER_LATEX"),e,"").openAndGetValue((async A=>{A&&A!==e&&(this.excalidrawData.setEquation(t.fileId,{latex:A,isLoaded:!1}),await this.save(!1),await updateEquation(A,t.fileId,this,addFiles,this.plugin),this.setDirty(1))}))}if(await this.save(!1),this.excalidrawData.hasFile(t.fileId)){const e=this.excalidrawData.getFile(t.fileId);if(e.isHyperlink)return void window.open(e.hyperlink,"_blank");if("md-properties"===l&&"md"===e.file.extension&&!this.plugin.isExcalidrawFile(e.file))return void new Prompt(app,"Customize the link",e.linkParts.original,"","Do not add [[square brackets]] around the filename!
Follow this format when editing your link:
filename#^blockref|WIDTHxMAXHEIGHT").openAndGetValue((async A=>{A&&e.linkParts.original!==A&&(e.resetImage(this.file.path,A),await this.save(!1),await this.loadSceneFiles(),this.setDirty(2))}));h=e.file.path,c=e.file}}if(!h)return void new obsidian_module.Notice(t$d("LINK_BUTTON_CLICK_NO_TEXT"),2e4);const u=null!==(o=null!==(s=t.id)&&void 0!==s?s:A.id)&&void 0!==o?o:i.id,g=this.excalidrawAPI.getSceneElements().filter((e=>e.id===u))[0];if(!this.handleLinkHookCall(g,h,e))try{if("active-pane"!==l&&this.isFullscreen()&&this.exitFullscreen(),!c)return void new NewFileActions(this.plugin,h,n,this).open();this.linksAlwaysOpenInANewPane&&(n.ctrlKey=!0,n.altKey=!0);const e=getLeaf(this.plugin,this.leaf,n);await e.openFile(c,d?{active:!1,eState:{subpath:d}}:void 0)}catch(e){new obsidian_module.Notice(e,4e3)}}async handleLinkClick(e){this.removeLinkTooltip();const A=this.getSelectedTextElement(),t=(null==A?void 0:A.id)?null:this.getSelectedImageElement(),i=(null==t?void 0:t.id)||(null==A?void 0:A.id)?null:this.getSelectedElementWithLink();this.linkClick(e,A,t,i)}onResize(){var e,A;if(this.plugin.leafChangeTimeout)return;const t=this.excalidrawAPI;this.plugin.settings.zoomToFitOnResize&&this.excalidrawRef&&!this.semaphores.isEditingText&&t&&"text"!==(null===(A=null===(e=t.getAppState())||void 0===e?void 0:e.editingElement)||void 0===A?void 0:A.type)&&this.zoomToFit(!1)}getSceneVersion(e){return this.excalidrawGetSceneVersion||(this.excalidrawGetSceneVersion=this.plugin.getPackage(this.ownerWindow).excalidrawLib.getSceneVersion),this.excalidrawGetSceneVersion(e.filter((e=>!e.isDeleted)))}async forceSave(e=!1){this.semaphores.autosaving||this.semaphores.saving?e||new obsidian_module.Notice("Force Save aborted because saving is in progress)"):(this.preventReloadResetTimer&&(clearTimeout(this.preventReloadResetTimer),this.preventReloadResetTimer=null),this.semaphores.preventReload=!1,this.semaphores.forceSaving=!0,await this.save(!1,!0),this.plugin.triggerEmbedUpdates(),this.loadSceneFiles(),this.semaphores.forceSaving=!1,e||new obsidian_module.Notice("Save successful",1e3))}onload(){const e=Boolean(void 0===this.containerEl.onWindowMigrated);app.isMobile||e||this.containerEl.onWindowMigrated((()=>this.leaf.rebuildView()));const A=app.isMobile?document:this.containerEl.ownerDocument;this.ownerDocument=A,this.ownerWindow=this.ownerDocument.defaultView,this.plugin.getPackage(this.ownerWindow),this.semaphores.scriptsReady=!0,this.wheelEvent=e=>{this.semaphores.wheelTimeout&&clearTimeout(this.semaphores.wheelTimeout),this.semaphores.hoverSleep&&this.clearHoverPreview&&this.clearHoverPreview(),this.semaphores.wheelTimeout=setTimeout((()=>{clearTimeout(this.semaphores.wheelTimeout),this.semaphores.wheelTimeout=null}),1e3)},this.containerEl.addEventListener("wheel",this.wheelEvent,{passive:!1}),this.addAction("ScriptEngine",t$d("INSTALL_SCRIPT_BUTTON"),(()=>{new ScriptInstallPrompt(this.plugin).open()})),this.diskIcon=this.addAction("save",t$d("FORCE_SAVE"),(async()=>this.forceSave())),this.textIsRaw_Element=this.addAction("presentation",t$d("RAW"),(()=>this.changeTextMode(TextMode.parsed))),this.textIsParsed_Element=this.addAction("quote-glyph",t$d("PARSED"),(()=>this.changeTextMode(TextMode.raw))),this.linkAction_Element=this.addAction("link",t$d("OPEN_LINK"),(e=>this.handleLinkClick(e))),app.isMobile||this.addAction("fullscreen","Use the action on the Excalidraw Obsidian Panel or the Command Palette to exit fullscreen mode. You can set up a hotkey for toggling fullscreen mode in Obsidian settings under Hotkeys.",(()=>this.gotoFullscreen()));const t=this;app.workspace.onLayoutReady((async()=>{t.contentEl.addClass("excalidraw-view"),await t.addSlidingPanesListner(),t.addParentMoveObserver(),t.onKeyUp=e=>{t.modifierKeyDown={shiftKey:e.shiftKey,ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey}},t.onKeyDown=e=>{this.modifierKeyDown={shiftKey:e.shiftKey,ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey}},t.ownerWindow.addEventListener("keydown",t.onKeyDown,!1),t.ownerWindow.addEventListener("keyup",t.onKeyUp,!1)})),this.setupAutosaveTimer(),super.onload()}async addSlidingPanesListner(){const e=this;this.slidingPanesListner=()=>{e.refresh&&e.refresh()};let A=app.workspace.rootSplit;for(;!A;)await sleep(50),A=app.workspace.rootSplit;A.containerEl.addEventListener("scroll",this.slidingPanesListner)}removeSlidingPanesListner(){var e;this.slidingPanesListner&&(null===(e=app.workspace.rootSplit.containerEl)||void 0===e||e.removeEventListener("scroll",this.slidingPanesListner))}addParentMoveObserver(){var e;const A=null!==(e=getParentOfClass(this.containerEl,"popover"))&&void 0!==e?e:getParentOfClass(this.containerEl,"workspace-leaf");if(!A)return;const t=A.classList.contains("popover");this.offsetLeft=A.offsetLeft,this.offsetTop=A.offsetTop;const i=this;this.parentMoveObserver=new MutationObserver((async e=>{const A=e[0].target;if(!(A instanceof HTMLElement))return;const{offsetLeft:t,offsetTop:n}=A;t===i.offsetLeft&&n==i.offsetTop||(i.refresh&&i.refresh(),i.offsetLeft=t,i.offsetTop=n)})),this.parentMoveObserver.observe(A,{attributeOldValue:!0,attributeFilter:t?["data-x","data-y"]:["class","style"]})}removeParentMoveObserver(){this.parentMoveObserver&&this.parentMoveObserver.disconnect()}setTheme(e){const A=this.excalidrawAPI;if(!this.excalidrawRef||!A)return;if(this.file&&hasExportTheme(this.plugin,this.file))return;const t=A.getAppState();this.excalidrawData.scene.theme=e,this.updateScene({appState:Object.assign(Object.assign({},t),{theme:e}),commitToHistory:!1})}async changeTextMode(e,A=!0){if(this.compatibilityMode)return;if(this.blockTextModeChange)return;this.blockTextModeChange=!0,this.textMode=e,e===TextMode.parsed?(this.textIsRaw_Element.hide(),this.textIsParsed_Element.show()):(this.textIsRaw_Element.show(),this.textIsParsed_Element.hide()),this.toolsPanelRef&&this.toolsPanelRef.current&&this.toolsPanelRef.current.setPreviewMode(e===TextMode.parsed);const t=this.excalidrawAPI;t&&A&&(await this.save(),this.preventAutozoom(),await this.excalidrawData.loadData(this.data,this.file,this.textMode),this.excalidrawData.scene.appState.theme=t.getAppState().theme,await this.loadDrawing(!1),t.history.clear()),this.prevTextMode=this.textMode,this.blockTextModeChange=!1}setupAutosaveTimer(){const e=async()=>{var A;if(!this.isLoaded)return void(this.autosaveTimer=setTimeout(e,this.plugin.settings.autosaveInterval));const t=this.excalidrawAPI;if(!t)return void warningUnknowSeriousError();const i=t.getAppState(),n=null!==i.editingElement;if(this.refresh(),!this.semaphores.dirty||this.semaphores.dirty!=(null===(A=this.file)||void 0===A?void 0:A.path)||!this.plugin.settings.autosave||this.semaphores.forceSaving||this.semaphores.autosaving||n||null!==i.draggingElement)this.autosaveTimer=setTimeout(e,this.plugin.activeExcalidrawView===this&&this.semaphores.dirty&&this.plugin.settings.autosave?1e3:this.plugin.settings.autosaveInterval);else{if(this.autosaveTimer=null,this.excalidrawRef){this.semaphores.autosaving=!0;const e=this;this.save().then((()=>e.semaphores.autosaving=!1))}this.autosaveTimer=setTimeout(e,this.plugin.settings.autosaveInterval)}};this.autosaveTimer&&(clearTimeout(this.autosaveTimer),this.autosaveTimer=null),this.autosaveTimer=setTimeout(e,this.plugin.settings.autosaveInterval)}onunload(){var e,A,t,i,n,a;if(this.restoreMobileLeaves(),this.semaphores.viewunload=!0,this.semaphores.popoutUnload=this.ownerDocument!==document&&0===this.ownerDocument.body.querySelectorAll(".workspace-tab-header").length,null===(e=this.ownerWindow)||void 0===e||e.removeEventListener("keydown",this.onKeyDown,!1),null===(A=this.ownerWindow)||void 0===A||A.removeEventListener("keyup",this.onKeyUp,!1),this.containerEl.removeEventListener("wheel",this.wheelEvent,!1),this.getHookServer().onViewUnloadHook)try{this.getHookServer().onViewUnloadHook(this)}catch(e){errorlog({where:"ExcalidrawView.onunload",fn:this.getHookServer().onViewUnloadHook,error:e})}const r=null===(i=null===(t=this.containerEl)||void 0===t?void 0:t.ownerDocument)||void 0===i?void 0:i.body.querySelector("body>div.excalidraw-tooltip,div.excalidraw-tooltip--visible");r&&(null===(a=null===(n=this.containerEl)||void 0===n?void 0:n.ownerDocument)||void 0===a||a.body.removeChild(r)),this.removeParentMoveObserver(),this.removeSlidingPanesListner(),this.autosaveTimer&&(clearInterval(this.autosaveTimer),this.autosaveTimer=null)}async reload(e=!1,A){if(this.semaphores.preventReload)return void(this.semaphores.preventReload=!1);if(this.semaphores.saving)return;if(this.diskIcon.querySelector("svg").removeClass("excalidraw-dirty"),this.compatibilityMode)return void this.clearDirty();const t=this.excalidrawAPI;if(!this.excalidrawRef||!this.file||!t)return;const i=A&&A===this.file;i&&(this.data=await app.vault.read(A),this.preventAutozoom()),e?await this.excalidrawData.loadData(this.data,this.file,this.textMode):await this.excalidrawData.setTextMode(this.textMode),this.excalidrawData.scene.appState.theme=t.getAppState().theme,await this.loadDrawing(i),this.clearDirty()}async zoomToElementId(e,A){let t=0;for(;!this.excalidrawAPI&&t++<100;)await sleep(50);const i=this.excalidrawAPI;if(!i)return;const n=i.getSceneElements();let a=n.filter((A=>A.id===e));if(0!==a.length){if(A){const e=this.plugin.ea.getElementsInTheSameGroupWithElement(a[0],n);e.length>0&&(a=e)}this.preventAutozoom(),this.zoomToElements(!i.getAppState().viewModeEnabled,a)}}setEphemeralState(e){if(!e)return;const A=this;let t=null;e.match&&e.match.content&&e.match.matches&&1===e.match.matches.length&&2===e.match.matches[0].length&&(t=[e.match.content.substring(e.match.matches[0][0],e.match.matches[0][1])]);const i=getEmbeddedFilenameParts(e.subpath);i.hasBlockref&&setTimeout((()=>A.zoomToElementId(i.blockref,i.hasGroupref)),300),i.hasSectionref?t=[`# ${i.sectionref}`]:e.line&&e.line>0&&(t=[this.data.split("\n")[e.line-1]]),t&&setTimeout((async()=>{let e=0;for(;!A.excalidrawAPI&&e++<100;)await sleep(50);const n=A.excalidrawAPI;if(!n)return;const a=n.getSceneElements();A.selectElementsMatchingQuery(a,t,!n.getAppState().viewModeEnabled,i.hasSectionref,i.hasGroupref)}),300),super.setEphemeralState(e)}clear(){delete this.exportDialog;const e=this.excalidrawAPI;this.excalidrawRef&&e&&(this.activeLoader&&(this.activeLoader.terminate=!0,this.activeLoader=null),this.nextLoader=null,e.resetScene(),this.previousSceneVersion=0)}async setViewData(e,A=!1){this.isLoaded=!1,this.file&&(this.plugin.settings.showNewVersionNotification&&checkExcalidrawVersion(app),A&&this.clear(),this.lastSaveTimestamp=this.file.stat.mtime,e=this.data=e.replaceAll("\r\n","\n").replaceAll("\r","\n"),app.workspace.onLayoutReady((async()=>{if(this.compatibilityMode="excalidraw"===this.file.extension,await this.plugin.loadSettings(),this.compatibilityMode)this.textIsRaw_Element.hide(),this.textIsParsed_Element.hide(),this.linkAction_Element.hide(),this.textMode=TextMode.raw,await this.excalidrawData.loadLegacyData(e,this.file),this.plugin.settings.compatibilityMode||new obsidian_module.Notice(t$d("COMPATIBILITY_MODE"),4e3),this.excalidrawData.disableCompression=!0;else{this.linkAction_Element.show(),this.excalidrawData.disableCompression=!1;const A=getTextMode(e);this.changeTextMode(A,!1);try{if(!await this.excalidrawData.loadData(e,this.file,this.textMode))return}catch(e){return errorlog({where:"ExcalidrawView.setViewData",error:e}),new obsidian_module.Notice(`Error loading drawing:\n${e.message}${"Cannot read property 'index' of undefined"===e.message?"\n'# Drawing' section is likely missing":""}\n\nTry manually fixing the file or restoring an earlier version from sync history.`,1e4),void this.setMarkdownView()}}await this.loadDrawing(!0);const A=this.excalidrawData.getOnLoadScript();if(A){const e=this,t=this.file.basename+"-onlaod-script",i=()=>{e.excalidrawAPI?e.plugin.scriptEngine.executeScript(e,A,t,this.file):setTimeout(i,200)};i()}this.isLoaded=!0})))}async loadSceneFiles(){if(!this.excalidrawAPI)return;const e=new EmbeddedFilesLoader(this.plugin),A=e=>{this.nextLoader=null,this.activeLoader=e,e.loadSceneFiles(this.excalidrawData,((e,t)=>{e&&(addFiles(e,this,t),this.activeLoader=null,this.nextLoader?A(this.nextLoader):this.excalidrawData.getFiles().some((e=>{if(e&&!e.file&&e.attemptCounter<30){const e=this,A=this.file.path;return setTimeout((async()=>{e&&e.excalidrawAPI&&A===e.file.path&&e.loadSceneFiles()}),2e3),!0}return!1})))}),0)};this.activeLoader?this.nextLoader=e:A(e)}async synchronizeWithData(e){let A=0;for(;this.semaphores.saving&&A++<30;)await sleep(100);if(A>=30)return void errorlog({where:"ExcalidrawView.synchronizeWithData",message:`Aborting sync with received file (${this.file.path}) because semaphores.saving remained true for ower 3 seconds`,fn:this.synchronizeWithData});this.semaphores.saving=!0;let t=!1;try{const A=e.deletedElements.map((e=>e.id)),i=this.excalidrawAPI.getSceneElements().filter((e=>!A.contains(e.id))),n=i.map((e=>e.id)),a=A=>{switch(A.type){case"text":this.excalidrawData.textElements.set(A.id,e.textElements.get(A.id));break;case"image":e.getFile(A.fileId)?(this.excalidrawData.setFile(A.fileId,e.getFile(A.fileId)),t=!0):e.getEquation(A.fileId)&&(this.excalidrawData.setEquation(A.fileId,e.getEquation(A.fileId)),t=!0)}e.elementLinks.has(A.id)&&this.excalidrawData.elementLinks.set(A.id,e.elementLinks.get(A.id))};e.scene.elements.forEach(((A,r,s)=>{const o=i.filter((e=>e.id===A.id))[0];if(o&&(o.version0&&a.viewModeEnabled,l=this.isLoaded?s.getAppState().zenModeEnabled:a.zenModeEnabled;s.setLocalFont(this.plugin.settings.experimentalEnableFourthFont),this.updateScene({elements:n.elements.concat(null!=A?A:[]),files:n.files,commitToHistory:!0},e),this.updateScene({appState:Object.assign(Object.assign(Object.assign({},n.appState),this.excalidrawData.selectedElementIds?this.excalidrawData.selectedElementIds:{}),{zenModeEnabled:l,viewModeEnabled:o,linkOpacity:this.excalidrawData.getLinkOpacity(),trayModeEnabled:this.plugin.settings.defaultTrayMode,penMode:r,penDetected:r,allowPinchZoom:this.plugin.settings.allowPinchZoom,allowWheelZoom:this.plugin.settings.allowWheelZoom,pinnedScripts:this.plugin.settings.pinnedScripts,customPens:this.plugin.settings.customPens.slice(0,this.plugin.settings.numberOfCustomPens)})}),app.workspace.getActiveViewOfType(ExcalidrawView)===this.leaf.view&&this.excalidrawWrapperRef&&(null===(i=null===(t=this.excalidrawWrapperRef.current)||void 0===t?void 0:t.firstElementChild)||void 0===i||i.focus()),this.loadSceneFiles(),this.updateContainerSize(null,!0),this.initializeToolsIconPanelAfterLoading()}else this.instantiateExcalidraw({elements:n.elements,appState:Object.assign(Object.assign({},n.appState),{zenModeEnabled:a.zenModeEnabled,viewModeEnabled:n.elements.length>0&&a.viewModeEnabled,linkOpacity:this.excalidrawData.getLinkOpacity(),trayModeEnabled:this.plugin.settings.defaultTrayMode,penMode:r,penDetected:r,allowPinchZoom:this.plugin.settings.allowPinchZoom,allowWheelZoom:this.plugin.settings.allowWheelZoom,pinnedScripts:this.plugin.settings.pinnedScripts,customPens:this.plugin.settings.customPens.slice(0,this.plugin.settings.numberOfCustomPens)}),files:n.files,libraryItems:await this.getLibrary()});const o=null!==this.data.match(/```compressed\-json\n/gm);this.compatibilityMode||this.plugin.settings.compress===o||this.isEditedAsMarkdownInOtherView()||this.setDirty(4)}isEditedAsMarkdownInOtherView(){return app.workspace.getLeavesOfType("markdown").filter((e=>e.view.file===this.file)).length>0}setDirty(e){var A,t;this.semaphores.dirty=null===(A=this.file)||void 0===A?void 0:A.path,this.diskIcon.querySelector("svg").addClass("excalidraw-dirty"),!this.semaphores.viewunload&&(null===(t=this.toolsPanelRef)||void 0===t?void 0:t.current)&&this.toolsPanelRef.current.setDirty(!0),app.isMobile||obsidian_module.requireApiVersion("0.16.0")&&(this.leaf.tabHeaderInnerTitleEl.style.color="var(--color-accent)")}clearDirty(){var e;if(this.semaphores.viewunload)return;const A=this.excalidrawAPI;if(!A)return;this.semaphores.dirty=null,(null===(e=this.toolsPanelRef)||void 0===e?void 0:e.current)&&this.toolsPanelRef.current.setDirty(!1);const t=A.getSceneElements();t&&(this.previousSceneVersion=this.getSceneVersion(t)),this.diskIcon.querySelector("svg").removeClass("excalidraw-dirty"),app.isMobile||obsidian_module.requireApiVersion("0.16.0")&&(this.leaf.tabHeaderInnerTitleEl.style.color="")}initializeToolsIconPanelAfterLoading(){var e;if(this.semaphores.viewunload)return;const A=this.excalidrawAPI;if(!A)return;const t=A.getAppState(),i=null===(e=this.toolsPanelRef)||void 0===e?void 0:e.current;i&&(i.setTheme(t.theme),i.setExcalidrawViewMode(t.viewModeEnabled),i.setPreviewMode(this.compatibilityMode?null:this.textMode===TextMode.parsed),i.updateScriptIconMap(this.plugin.scriptEngine.scriptIconMap))}canAcceptExtension(e){return"excalidraw"===e}getDisplayText(){return this.file?this.file.basename:t$d("NOFILE")}getViewType(){return"excalidraw"}getIcon(){return ICON_NAME}setMarkdownView(){this.plugin.excalidrawFileModes[this.id||this.file.path]="markdown",this.plugin.setMarkdownView(this.leaf)}async openAsMarkdown(){!0===this.plugin.settings.compress&&(this.excalidrawData.disableCompression=!0,await this.save(!0,!0)),this.setMarkdownView()}async convertExcalidrawToMD(){await this.save(),this.plugin.openDrawing(await this.plugin.convertSingleExcalidrawToMD(this.file),"active-pane",!0)}async addYouTubeThumbnail(e){const A=await getYouTubeThumbnailLink(e),t=getEA(this),i=await t.addImage(0,0,A);t.getElement(i).link=e,t.addElementsToView(!0,!0,!0)}async addImageWithURL(e){const A=getEA(this);await A.addImage(0,0,e),A.addElementsToView(!0,!0,!0)}async addImageSaveToVault(e){const A=getEA(this),t=getMimeType(getURLImageExtension(e)),i=await getDataURLFromURL(e,t,3e3),n=await generateIdFromFile((new TextEncoder).encode(i)),a=await this.excalidrawData.saveDataURLtoVault(i,t,n);await A.addImage(0,0,a),A.addElementsToView(!0,!0,!0)}async addTextWithIframely(e){var A;const t=await this.addText(e),i=`http://iframely.server.crestify.com/iframely?url=${e}`;try{const n=JSON.parse(await obsidian_module.request({url:i}));if(!n||n.error||!(null===(A=n.meta)||void 0===A?void 0:A.title))return;const a=getEA(this),r=a.getViewElements().filter((e=>e.id===t));1===r.length&&(r[0].text=r[0].originalText=r[0].rawText=`[${n.meta.title}](${e})`,a.copyViewElementsToEAforEditing(r),a.addElementsToView(!1,!1,!1))}catch(e){}}onPaneMenu(e,A){this.excalidrawAPI&&this.getViewSelectedElements().some((e=>"text"===e.type))&&e.addItem((e=>{e.setTitle(t$d("OPEN_LINK")).setIcon("external-link").setSection("pane").onClick((e=>{this.handleLinkClick(e)}))})),this.compatibilityMode?e.addItem((e=>{e.setTitle(t$d("CONVERT_FILE")).onClick((()=>this.convertExcalidrawToMD())).setSection("pane")})):e.addItem((e=>{e.setTitle(t$d("OPEN_AS_MD")).setIcon("document").onClick((()=>{this.openAsMarkdown()})).setSection("pane")})).addItem((e=>{e.setTitle(t$d("EXPORT_EXCALIDRAW")).setIcon(ICON_NAME).onClick((async()=>{this.exportExcalidraw()})).setSection("pane")})),e.addItem((e=>{e.setTitle(t$d("SAVE_AS_PNG")).setIcon("save-png").setSection("pane").onClick((async e=>{this.getScene&&this.file&&(isCTRL(e)?this.exportPNG(isSHIFT(e)):(this.savePNG(void 0,isSHIFT(e)),new obsidian_module.Notice("PNG export is ready"+(isSHIFT(e)?" with embedded scene":""))))})).setSection("pane")})).addItem((e=>{e.setTitle(t$d("SAVE_AS_SVG")).setIcon("save-svg").setSection("pane").onClick((async e=>{this.getScene&&this.file&&(isCTRL(e)?this.exportSVG(isSHIFT(e)):(this.saveSVG(void 0,isSHIFT(e)),new obsidian_module.Notice("SVG export is ready"+(isSHIFT(e)?" with embedded scene":""))))}))})).addItem((e=>{e.setTitle(t$d("INSTALL_SCRIPT_BUTTON")).setIcon("ScriptEngine").setSection("pane").onClick((()=>{new ScriptInstallPrompt(this.plugin).open()}))})),super.onPaneMenu(e,A)}async getLibrary(){var e;const A=this.plugin.getStencilLibrary();return(null==A?void 0:A.library)?A.library:null!==(e=null==A?void 0:A.libraryItems)&&void 0!==e?e:[]}async instantiateExcalidraw(e){for(;!this.semaphores.scriptsReady;)await sleep(50);const A=this.plugin.getPackage(this.ownerWindow).react,t=this.plugin.getPackage(this.ownerWindow).reactDOM;this.clearDirty();const i=A.createElement((()=>{const t=A.useRef(null),i=A.useRef(null),n=A.useRef(null),[a,r]=A.useState({width:void 0,height:void 0});let s=null,o=null,l=null,c=Date.now(),d=!1;this.toolsPanelRef=i,this.obsidianMenu=new ObsidianMenu(this.plugin,i,this),this.menuLinks=new MenuLinks(this.plugin,n);const h=()=>{let e,A;const t=new Promise(((t,i)=>{e=t,A=i}));return t.resolve=e,t.reject=A,t},u=A.useMemo((()=>({current:{readyPromise:h()}})),[]);A.useEffect((()=>{u.current.readyPromise.then((e=>{var A;this.excalidrawAPI=e,e.setLocalFont(this.plugin.settings.experimentalEnableFourthFont),this.loadSceneFiles(),this.updateContainerSize(null,!0),null===(A=this.excalidrawWrapperRef.current.firstElementChild)||void 0===A||A.focus(),this.initializeToolsIconPanelAfterLoading()}))}),[u]),this.excalidrawRef=u,this.excalidrawWrapperRef=t,A.useEffect((()=>{r({width:this.contentEl.clientWidth,height:this.contentEl.clientHeight});const e=()=>{try{const e=this.contentEl.clientWidth,A=this.contentEl.clientHeight;if(0===e||0===A)return;r({width:e,height:A}),this.toolsPanelRef&&this.toolsPanelRef.current&&this.toolsPanelRef.current.updatePosition(),this.ownerDocument!==document&&this.refresh()}catch(e){errorlog({where:"Excalidraw React-Wrapper, onResize",error:e})}};return this.ownerWindow.addEventListener("resize",e),()=>{var A;return null===(A=this.ownerWindow)||void 0===A?void 0:A.removeEventListener("resize",e)}}),[t]),this.getSelectedTextElement=()=>{var e;const A=this.excalidrawAPI;if(!(null==u?void 0:u.current)||!A)return{id:null,text:null};if(A.getAppState().viewModeEnabled){if(s){const e=s;return s=null,e}return{id:null,text:null}}const t=A.getSceneElements().filter((e=>e.id===Object.keys(A.getAppState().selectedElementIds)[0]));if(0===t.length)return{id:null,text:null};if("text"===t[0].type)return{id:t[0].id,text:t[0].text};if(["image","arrow"].contains(t[0].type))return{id:null,text:null};const i=null===(e=t[0].boundElements)||void 0===e?void 0:e.filter((e=>"text"===e.type));if((null==i?void 0:i.length)>0){const e=A.getSceneElements().filter((e=>e.id===i[0].id));if(e.length>0)return{id:e[0].id,text:e[0].text}}if(0===t[0].groupIds.length)return{id:null,text:null};const n=t[0].groupIds[0],a=A.getSceneElements().filter((e=>{var A;return null===(A=e.groupIds)||void 0===A?void 0:A.includes(n)})).filter((e=>"text"===e.type));return 0===a.length?{id:null,text:null}:{id:t[0].id,text:t[0].text}},this.getSelectedImageElement=()=>{const e=this.excalidrawAPI;if(!e)return{id:null,fileId:null};if(e.getAppState().viewModeEnabled){if(o){const e=o;return o=null,e}return{id:null,fileId:null}}const A=e.getSceneElements().filter((A=>A.id==Object.keys(e.getAppState().selectedElementIds)[0]));if(0===A.length)return{id:null,fileId:null};if("image"==A[0].type)return{id:A[0].id,fileId:A[0].fileId};if("text"===A[0].type)return{id:null,fileId:null};if(0===A[0].groupIds.length)return{id:null,fileId:null};const t=A[0].groupIds[0],i=e.getSceneElements().filter((e=>{var A;return null===(A=e.groupIds)||void 0===A?void 0:A.includes(t)})).filter((e=>"image"==e.type));return 0===i.length?{id:null,fileId:null}:{id:i[0].id,fileId:i[0].fileId}},this.getSelectedElementWithLink=()=>{const e=this.excalidrawAPI;if(!e)return{id:null,text:null};if(e.getAppState().viewModeEnabled){if(l){const e=l;return l=null,e}return{id:null,text:null}}const A=e.getSceneElements().filter((A=>A.id==Object.keys(e.getAppState().selectedElementIds)[0]));if(0===A.length)return{id:null,text:null};if(A[0].link)return{id:A[0].id,text:A[0].link};if(0===A[0].groupIds.length)return{id:null,text:null};const t=A[0].groupIds[0],i=e.getSceneElements().filter((e=>{var A;return null===(A=e.groupIds)||void 0===A?void 0:A.includes(t)})).filter((e=>e.link));return 0===i.length?{id:null,text:null}:{id:i[0].id,text:i[0].link}},this.addText=async(e,A,t=!0)=>{var i,n,a,r,s;const o=this.excalidrawAPI;if(!(null==u?void 0:u.current)||!o)return;const l=o.getAppState(),c=this.plugin.ea.getAPI(this);c.style.strokeColor=null!==(i=l.currentItemStrokeColor)&&void 0!==i?i:"black",c.style.opacity=null!==(n=l.currentItemOpacity)&&void 0!==n?n:1,c.style.fontFamily=null!==(a=null!=A?A:l.currentItemFontFamily)&&void 0!==a?a:1,c.style.fontSize=null!==(r=l.currentItemFontSize)&&void 0!==r?r:20,c.style.textAlign=null!==(s=l.currentItemTextAlign)&&void 0!==s?s:"left";const{width:d,height:h}=l,g=viewportCoordsToSceneCoords({clientX:0,clientY:0},l),p=viewportCoordsToSceneCoords({clientX:d,clientY:h},l),m=g.x>this.currentPosition.x||p.xthis.currentPosition.y||p.y{const a=this.excalidrawAPI;if(!(null==u?void 0:u.current)||!a)return!1;const r=e.filter((e=>"text"==e.type));for(let e=0;ee.id)),o=a.getSceneElements(),l=[];for(let A=0;Ae.id===t))[0],l.push(t))}const c=n?o.concat(e.filter((e=>!l.includes(e.id)))):e.filter((e=>!l.includes(e.id))).concat(o);if(this.updateScene({elements:c,commitToHistory:!0},!0),i&&Object.keys(i).length>0){const e=[];Object.keys(i).forEach((A=>{if(e.push({mimeType:i[A].mimeType,id:i[A].id,dataURL:i[A].dataURL,created:i[A].created}),i[A].file||i[A].isHyperlink){const e=new EmbeddedFile(this.plugin,this.file.path,i[A].isHyperlink?i[A].hyperlink:i[A].file),t=a.getAppState();e.setImage(i[A].dataURL,i[A].mimeType,i[A].size,"dark"===t.theme,i[A].hasSVGwithBitmap),this.excalidrawData.setFile(i[A].id,e)}i[A].latex&&this.excalidrawData.setEquation(i[A].id,{latex:i[A].latex,isLoaded:!0})})),a.addFiles(e)}return t?await this.save(!1):this.setDirty(5),!0},this.getScene=()=>{const e=this.excalidrawAPI;if(!(null==u?void 0:u.current)||!e)return null;const A=e.getSceneElements(),t=e.getAppState(),i=e.getFiles();if(i){const e=A.filter((e=>"image"===e.type)).map((e=>e.fileId)),t=Object.keys(i).filter((A=>!e.contains(A)));t.forEach((e=>delete i[e]))}return{type:"excalidraw",version:2,source:GITHUB_RELEASES+PLUGIN_VERSION,elements:A,appState:{theme:t.theme,viewBackgroundColor:t.viewBackgroundColor,currentItemStrokeColor:t.currentItemStrokeColor,currentItemBackgroundColor:t.currentItemBackgroundColor,currentItemFillStyle:t.currentItemFillStyle,currentItemStrokeWidth:t.currentItemStrokeWidth,currentItemStrokeStyle:t.currentItemStrokeStyle,currentItemRoughness:t.currentItemRoughness,currentItemOpacity:t.currentItemOpacity,currentItemFontFamily:t.currentItemFontFamily,currentItemFontSize:t.currentItemFontSize,currentItemTextAlign:t.currentItemTextAlign,currentItemStartArrowhead:t.currentItemStartArrowhead,currentItemEndArrowhead:t.currentItemEndArrowhead,scrollX:t.scrollX,scrollY:t.scrollY,zoom:t.zoom,currentItemRoundness:t.currentItemRoundness,gridSize:t.gridSize,colorPalette:t.colorPalette,currentStrokeOptions:t.currentStrokeOptions,previousGridSize:t.previousGridSize},prevTextMode:this.prevTextMode,files:i}},this.refresh=()=>{if(0===this.contentEl.clientWidth||0===this.contentEl.clientHeight)return;const e=this.excalidrawAPI;(null==u?void 0:u.current)&&e&&e.refresh()};let g={x:0,y:0},p=null;this.clearHoverPreview=()=>{if(p){const e=new MouseEvent("click",{view:this.ownerWindow,bubbles:!0,cancelable:!0});p.dispatchEvent(e),p=null}};const m=e=>{var A,t,i,n,a;const r=null===(A=app.dragManager.draggable)||void 0===A?void 0:A.files;return r&&r[0]==this.file&&(r.shift(),app.dragManager.draggable.title=`${r.length} files`),["file","files"].includes(null===(t=app.dragManager.draggable)||void 0===t?void 0:t.type)?"link":(null===(i=e.types)||void 0===i?void 0:i.includes("text/html"))||(null===(n=e.types)||void 0===n?void 0:n.includes("text/plain"))||(null===(a=e.types)||void 0===a?void 0:a.includes("Files"))?"copy":void 0};let w=!1;const f=()=>{if(s=getTextElementAtPointer(this.currentPosition,this),s&&s.id){const e=new MouseEvent("click",{ctrlKey:!(DEVICE.isIOS||DEVICE.isMacOS)||this.modifierKeyDown.ctrlKey,metaKey:DEVICE.isIOS||DEVICE.isMacOS||this.modifierKeyDown.metaKey,shiftKey:this.modifierKeyDown.shiftKey,altKey:this.modifierKeyDown.altKey});return this.handleLinkClick(e),void(s=null)}if(o=getImageElementAtPointer(this.currentPosition,this),o&&o.id){const e=new MouseEvent("click",{ctrlKey:!(DEVICE.isIOS||DEVICE.isMacOS)||this.modifierKeyDown.ctrlKey,metaKey:DEVICE.isIOS||DEVICE.isMacOS||this.modifierKeyDown.metaKey,shiftKey:this.modifierKeyDown.shiftKey,altKey:this.modifierKeyDown.altKey});return this.handleLinkClick(e),void(o=null)}if(l=getElementWithLinkAtPointer(this.currentPosition,this),l&&l.id){const e=new MouseEvent("click",{ctrlKey:!(DEVICE.isIOS||DEVICE.isMacOS)||this.modifierKeyDown.ctrlKey,metaKey:DEVICE.isIOS||DEVICE.isMacOS||this.modifierKeyDown.metaKey,shiftKey:this.modifierKeyDown.shiftKey,altKey:this.modifierKeyDown.altKey});return this.handleLinkClick(e),void(l=null)}};let B=null;const E=(e,A)=>{var t,i;if(!B)return;if(null===(i=null===(t=this.excalidrawAPI)||void 0===t?void 0:t.getAppState())||void 0===i?void 0:i.editingElement)return;if(this.semaphores.wheelTimeout)return;if(!e){if(!this.currentPosition)return;e="";const t=getTextElementAtPointer(this.currentPosition,this);if(t&&t.text){A=this.excalidrawAPI.getSceneElements().filter((e=>e.id===t.id))[0];const i=this.textMode===TextMode.parsed?this.excalidrawData.getRawText(t.id):t.text;if(!i)return;if(i.match(REG_LINKINDEX_HYPERLINK))return;const n=REGEX_LINK.getRes(i).next();if(!n.value)return;if((e=REGEX_LINK.getLink(n)).match(REG_LINKINDEX_HYPERLINK))return}else{const t=getImageElementAtPointer(this.currentPosition,this);if(A=this.excalidrawAPI.getSceneElements().filter((e=>e.id===t.id))[0],!t||!t.fileId)return;if(!this.excalidrawData.hasFile(t.fileId))return;const i=this.excalidrawData.getFile(t.fileId);if(i.isHyperlink)return;const n=i.linkParts.ref?`#${i.linkParts.isBlockRef?"^":""}${i.linkParts.ref}`:"";e=i.file.path+n}}if(this.getHookServer().onLinkHoverHook)try{if(!this.getHookServer().onLinkHoverHook(A,e,this,this.getHookServer()))return}catch(e){errorlog({where:"ExcalidrawView.showHoverPreview",fn:this.getHookServer().onLinkHoverHook,error:e})}if(this.semaphores.hoverSleep)return;const n=app.metadataCache.getFirstLinkpathDest(e.split("#")[0],this.file.path);if(!n)return;if(this.ownerDocument.querySelector(`div.popover-title[data-path="${n.path}"]`))return;this.semaphores.hoverSleep=!0;const a=this;if(setTimeout((()=>a.semaphores.hoverSleep=!1),500),this.plugin.hover.linkText=e,this.plugin.hover.sourcePath=this.file.path,p=this.contentEl,app.workspace.trigger("hover-link",{event:B,source:"excalidraw",hoverParent:p,targetEl:p,linktext:this.plugin.hover.linkText,sourcePath:this.plugin.hover.sourcePath}),g=this.currentPosition,this.isFullscreen()){const e=this;setTimeout((()=>{var A,t,i,a;const r=null!==(a=null===(i=null===(t=null===(A=this.ownerDocument.querySelector(`div.popover-title[data-path="${n.path}"]`))||void 0===A?void 0:A.parentElement)||void 0===t?void 0:t.parentElement)||void 0===i?void 0:i.parentElement)&&void 0!==a?a:this.ownerDocument.body.querySelector("div.popover");r&&e.contentEl.append(r)}),400)}},{Excalidraw:b,MainMenu:C,WelcomeScreen:v}=this.plugin.getPackage(this.ownerWindow).excalidrawLib,y=A.createElement("div",{className:"excalidraw-wrapper",ref:t,key:"abc",tabIndex:0,onKeyDown:e=>{e.target!==y.ref.current&&(this.isFullscreen()&&e.keyCode===KEYCODE.ESC&&this.exitFullscreen(),!isCTRL(e)||isSHIFT(e)||isALT(e)||E())},onPointerDown:e=>{(isCTRL(e)||isMETA(e))&&(!this.plugin.settings.allowCtrlClick&&isMETA(e)||setTimeout((()=>{(this.getSelectedTextElement().id||this.getSelectedImageElement().id||this.getSelectedElementWithLink().id)&&this.handleLinkClick(e)})))},onMouseMove:e=>{B=e.nativeEvent},onMouseOver:()=>{this.clearHoverPreview()},onDragOver:e=>{const A=m(e.dataTransfer);if(A){this.draginfoDiv||(this.draginfoDiv=createDiv({cls:"excalidraw-draginfo"}),this.ownerDocument.body.appendChild(this.draginfoDiv));let t="";if(app.dragManager.draggable)switch(internalDragModifierType(e)){case"image":t="Embed image";break;case"image-fullsize":t="Embed image @100%";break;case"link":t="Insert link"}else if(1===e.dataTransfer.types.length&&e.dataTransfer.types.includes("Files"))t="External file";else switch(externalDragModifierType(e)){case"image-import":t="Import image to Vault";break;case"image-url":t="Insert image/thumbnail with URL";break;case"insert-link":t="Insert link"}this.draginfoDiv.innerText!==t&&(this.draginfoDiv.innerText=t);const i=e.clientY-8*parseFloat(getComputedStyle(this.draginfoDiv).fontSize)+"px",n=e.clientX-this.draginfoDiv.clientWidth/2+"px";return this.draginfoDiv.style.top!==i&&(this.draginfoDiv.style.top=i),this.draginfoDiv.style.left!==n&&(this.draginfoDiv.style.left=n),e.dataTransfer.dropEffect=A,e.preventDefault(),!1}},onDragLeave:()=>{this.draginfoDiv&&(this.ownerDocument.body.removeChild(this.draginfoDiv),delete this.draginfoDiv)}},A.createElement(b,{ref:u,width:a.width,height:a.height,UIOptions:{canvasActions:{loadScene:!1,saveScene:!1,saveAsScene:!1,export:!1,saveAsImage:!1,saveToActiveFile:!1}},initState:null==e?void 0:e.appState,initialData:e,detectScroll:!0,onPointerUpdate:e=>{if(this.currentPosition=e.pointer,p&&(Math.abs(g.x-e.pointer.x)>50||Math.abs(g.y-e.pointer.y)>50)&&this.clearHoverPreview(),w){if(!d&&"down"===e.button){if(d=!0,isCTRL(this.modifierKeyDown)||isMETA(this.modifierKeyDown))return void f();const e=Date.now();return e-c<600&&e-c>40&&f(),void(c=e)}"up"===e.button&&(d=!1),(isCTRL(this.modifierKeyDown)||this.excalidrawAPI.getAppState().isViewModeEnabled&&this.plugin.settings.hoverPreviewWithoutCTRL)&&E()}},libraryReturnUrl:"app://obsidian.md",autoFocus:!0,onChange:(e,A)=>{var t,i,n,a;const r=()=>{this.plugin.ea.onCanvasColorChangeHook&&this.plugin.ea.onCanvasColorChangeHook(this.plugin.ea,this,A.viewBackgroundColor)};if(w=A.viewModeEnabled,this.semaphores.justLoaded){if((null!==(a=null===(n=null===(i=null===(t=this.excalidrawData)||void 0===t?void 0:t.scene)||void 0===i?void 0:i.elements)||void 0===n?void 0:n.length)&&void 0!==a?a:0)>0&&0===e.length)return;return this.semaphores.justLoaded=!1,!this.semaphores.preventAutozoom&&this.plugin.settings.zoomToFitOnOpen&&this.zoomToFit(!1,!0),this.previousSceneVersion=this.getSceneVersion(e),this.previousBackgroundColor=A.viewBackgroundColor,void r()}if(!this.semaphores.dirty&&null===A.editingElement&&null===A.editingLinearElement){const t=this.getSceneVersion(e);((t>0||0===t&&e.length>0)&&t!==this.previousSceneVersion||A.viewBackgroundColor!==this.previousBackgroundColor&&this.file===this.excalidrawData.file)&&(this.previousSceneVersion=t,this.previousBackgroundColor=A.viewBackgroundColor,this.setDirty(6),r())}},onLibraryChange:e=>{(async()=>{const A={type:"excalidrawlib",version:2,source:GITHUB_RELEASES+PLUGIN_VERSION,libraryItems:e};this.plugin.setStencilLibrary(A),await this.plugin.saveSettings()})()},renderTopRightUI:this.obsidianMenu.renderButton,onPaste:e=>{if(e&&e.text&&hyperlinkIsYouTubeLink(e.text))return this.addYouTubeThumbnail(e.text),!1;if(e&&e.text&&hyperlinkIsImage(e.text))return this.addImageWithURL(e.text),!1;if(e.elements){const e=this;setTimeout((()=>e.save(!1)),300)}return!0},onThemeChange:async e=>{var A;this.excalidrawData.scene.appState.theme=e,this.loadSceneFiles(),null===(A=null==i?void 0:i.current)||void 0===A||A.setTheme(e)},ownerDocument:this.ownerDocument,ownerWindow:this.ownerWindow,onDrop:e=>{this.draginfoDiv&&(this.ownerDocument.body.removeChild(this.draginfoDiv),delete this.draginfoDiv);const A=this.excalidrawAPI;if(!A)return!1;const t=A.getAppState();this.currentPosition=viewportCoordsToSceneCoords({clientX:e.clientX,clientY:e.clientY},t);const i=app.dragManager.draggable,n=internalDragModifierType(e),a=externalDragModifierType(e),r=(A,t,n)=>{if(!this.getHookServer().onDropHook)return!1;try{return this.getHookServer().onDropHook({ea:this.getHookServer(),event:e,draggable:i,type:A,payload:{files:t,text:n},excalidrawFile:this.file,view:this,pointerPosition:this.currentPosition})}catch(e){return new obsidian_module.Notice("on drop hook error. See console log for details"),errorlog({where:"ExcalidrawView.onDrop",error:e}),!1}};switch(null==i?void 0:i.type){case"file":if(!r("file",[i.file],null)){if(i.file.path.match(REG_LINKINDEX_INVALIDCHARS))return new obsidian_module.Notice(t$d("FILENAME_INVALID_CHARS"),4e3),!1;if(["image","image-fullsize"].contains(n)&&(IMAGE_TYPES.contains(i.file.extension)||"md"===i.file.extension)){const e=this.plugin.ea;return e.reset(),e.setView(this),(async()=>{e.canvas.theme=A.getAppState().theme,await e.addImage(this.currentPosition.x,this.currentPosition.y,i.file,!("image-fullsize"===n)),e.addElementsToView(!1,!1,!0)})(),!1}this.addText(`[[${app.metadataCache.fileToLinktext(i.file,this.file.path,!0)}]]`)}return!1;case"files":return r("file",i.files,null)||(async()=>{if(["image","image-fullsize"].contains(n)){const e=this.plugin.ea;e.reset(),e.setView(this),e.canvas.theme=A.getAppState().theme;let t=0;for(const A of i.files)(IMAGE_TYPES.contains(A.extension)||"md"===A.extension)&&(await e.addImage(this.currentPosition.x+50*t,this.currentPosition.y+50*t,A,!("image-fullsize"===n)),t++,await e.addElementsToView(!1,!1,!0))}else{for(const e of i.files)await this.addText(`[[${app.metadataCache.fileToLinktext(e,this.file.path,!0)}]]`,void 0,!1),this.currentPosition.y+=2*t.currentItemFontSize;this.save(!1)}})(),!1}if(e.dataTransfer.types.includes("Files")){if(e.dataTransfer.types.includes("text/plain")){const A=e.dataTransfer.getData("text");if(A&&r("text",null,A))return!1;if(A&&"image-url"===a&&hyperlinkIsImage(A))return this.addImageWithURL(A),!1;if(A&&"insert-link"===a)return this.plugin.settings.iframelyAllowed&&A.match(/^https?:\/\/\S*$/)?(this.addTextWithIframely(A),!1):(this.addText(A),!1)}if(e.dataTransfer.types.includes("text/html")){const A=e.dataTransfer.getData("text/html").match(/src=["']([^"']*)["']/);if(A&&"image-url"===a&&hyperlinkIsImage(A[1]))return this.addImageWithURL(A[1]),!1;if(A&&"insert-link"===a)return this.plugin.settings.iframelyAllowed&&A[1].match(/^https?:\/\/\S*$/)?(this.addTextWithIframely(A[1]),!1):(this.addText(A[1]),!1)}return!0}if(e.dataTransfer.types.includes("text/plain")||e.dataTransfer.types.includes("text/uri-list")||e.dataTransfer.types.includes("text/html")){const A=e.dataTransfer.getData("text/html").match(/src=["']([^"']*)["']/),t=A?A[1]:"",i=e.dataTransfer.getData("text"),n=e.dataTransfer.getData("text/uri-list");let s=A?t:i;if(s&&""!==s||(s=n),!s||""===s)return!0;if(!r("text",null,s)){if(s&&"image-url"===a&&hyperlinkIsYouTubeLink(s))return this.addYouTubeThumbnail(s),!1;if(n&&"image-url"===a&&hyperlinkIsYouTubeLink(n))return this.addYouTubeThumbnail(n),!1;if(s&&"image-url"===a&&hyperlinkIsImage(s))return this.addImageWithURL(s),!1;if(n&&"image-url"===a&&hyperlinkIsImage(n))return this.addImageWithURL(n),!1;if(s&&"image-import"===a&&hyperlinkIsImage(s))return this.addImageSaveToVault(s),!1;if(n&&"image-import"===a&&hyperlinkIsImage(n))return this.addImageSaveToVault(n),!1;if(this.plugin.settings.iframelyAllowed&&s.match(/^https?:\/\/\S*$/))return this.addTextWithIframely(s),!1;if(s.startsWith("obsidian://open?vault=")){const A=e.dataTransfer.getData("text/html");if(A){const e=A.match(/href="app:\/\/obsidian\.md\/(.*?)"/);if(2===e.length){const A=decodeURIComponent(e[1]).split("#"),t=app.vault.getAbstractFileByPath(A[0]);if(t&&t instanceof obsidian_module.TFile){const e=app.metadataCache.fileToLinktext(t,this.file.path);return void this.addText(`[[${e+(A.length>1?"#"+A[1]+"|"+e:"")}]]`)}return this.addText(`[[${decodeURIComponent(e[1])}]]`),!1}}const t=s.split("file=");if(2===t.length)return this.addText(`[[${decodeURIComponent(t[1])}]]`),!1}this.addText(s.replace(/(!\[\[.*#[^\]]*\]\])/g,"$1{40}"))}return!1}return!r("unknown",null,null)},onBeforeTextEdit:e=>{var A;if(clearTimeout(this.isEditingTextResetTimer),this.isEditingTextResetTimer=null,this.semaphores.isEditingText=!0,this.compatibilityMode)return null!==(A=e.originalText)&&void 0!==A?A:e.text;return this.excalidrawData.getRawText(e.id)||e.rawText},onBeforeTextSubmit:(e,A,t,i)=>{const n=this.excalidrawAPI;if(!n)return[null,null,null];const a="PASTING EXCALIDRAW ELEMENTS AS A TEXT ELEMENT IS NOT ALLOWED";if(A.startsWith('{"type":"excalidraw/clipboard","elements":[{"'))return setTimeout((()=>{const A=this.excalidrawAPI.getSceneElements(),t=A.filter((A=>A.id===e.id));if(1===t.length){const e=cloneElement(t[0]);e.rawText=a,A[A.indexOf(t[0])]=e,this.excalidrawData.setTextElement(e.id,a,a,(()=>{})),this.updateScene({elements:A}),n.history.clear()}})),[a,a,null];if(this.semaphores.isEditingText=!0,this.isEditingTextResetTimer=setTimeout((()=>{this.semaphores.isEditingText=!1,this.isEditingTextResetTimer=null}),1500),i)return this.excalidrawData.deleteTextElement(e.id),this.setDirty(7),[null,null,null];const r=e.containerId;if(A!==e.text||t!==e.originalText||!this.excalidrawData.getRawText(e.id)){this.setDirty(8);const[i,a,s]=this.excalidrawData.setTextElement(e.id,A,t,(async(A,t)=>{var i,a;if(this.textMode===TextMode.raw)return;const r=this.excalidrawAPI.getSceneElements(),s=r.filter((A=>A.id===e.id));if(1===s.length){const e=cloneElement(s[0]),o=s[0].containerId?null===(a=null===(i=n.getSceneElements().filter((e=>e.id===s[0].containerId)))||void 0===i?void 0:i[0])||void 0===a?void 0:a.type:void 0;this.excalidrawData.updateTextElement(e,A,t,!0,o),r[r.indexOf(s[0])]=e,this.updateScene({elements:r}),e.containerId&&this.updateContainerSize(e.containerId)}n.history.clear()}));return i?(r&&this.updateContainerSize(r,!0),this.textMode===TextMode.raw?[A,t,s]:A===i?s?[i,a,s]:[null,null,null]:(n.history.clear(),[i,a,s])):[null,null,null]}return r&&this.updateContainerSize(r,!0),this.textMode===TextMode.parsed?this.excalidrawData.getParsedText(e.id):[null,null,null]},onLinkOpen:async(e,A)=>{var t;if(A.preventDefault(),!e)return;const i=e.link;if(!i||""===i)return;this.removeLinkTooltip();const n=null===(t=null==A?void 0:A.detail)||void 0===t?void 0:t.nativeEvent;this.handleLinkHookCall(e,e.link,n)||this.openExternalLink(e.link,isSHIFT(n)||isCTRL(n)||isMETA(n)||isALT(n)?void 0:e)||this.linkClick(n,null,null,{id:e.id,text:e.link},emulateCTRLClickForLinks(n))},onLinkHover:(e,A)=>{if(e&&(this.plugin.settings.hoverPreviewWithoutCTRL||isCTRL(A))){B=A,B.ctrlKey=!(DEVICE.isIOS||DEVICE.isMacOS)||B.ctrlKey,B.metaKey=DEVICE.isIOS||DEVICE.isMacOS||B.metaKey;const t=e.link;if(!t||""===t)return;if(t.startsWith("[[")){const A=t.match(/\[\[(?.*?)\]\]/);if(!A)return;let i=A.groups.link;E(i,e)}}},onViewModeChange:e=>{var A,t;if(this.semaphores.viewunload||null===(t=null===(A=this.toolsPanelRef)||void 0===A?void 0:A.current)||void 0===t||t.setExcalidrawViewMode(e),this.getHookServer().onViewModeChangeHook)try{this.getHookServer().onViewModeChangeHook(e,this,this.getHookServer())}catch(e){errorlog({where:"ExcalidrawView.onViewModeChange",fn:this.getHookServer().onViewModeChangeHook,error:e})}}},A.createElement(C,{},A.createElement(C.DefaultItems.ChangeCanvasBackground),A.createElement(C.DefaultItems.ToggleTheme),A.createElement(C.Separator),DEVICE.isPhone?null:A.createElement(C.Item,{icon:ICONS.trayMode,"aria-label":"Tray-mode offers an alternative, more spacious canvas",onSelect:()=>{this.toggleTrayMode()}},"Toggle tray-mode"),A.createElement(C.Item,{icon:saveIcon(!1),"aria-label":t$d("FORCE_SAVE"),onSelect:()=>{this.forceSave()}},"Save"),A.createElement(C.Item,{icon:ICONS.scriptEngine,"aria-label":"Explore the Excalidraw Script Library",onSelect:()=>{new ScriptInstallPrompt(this.plugin).open()}},"Script Library"),A.createElement(C.Item,{icon:ICONS.ExportImage,"aria-label":"Export image as PNG, SVG, or Excalidraw file",onSelect:()=>{this.exportDialog||(this.exportDialog=new ExportDialog(this.plugin,this,this.file),this.exportDialog.createForm()),this.exportDialog.open()}},"Export Image..."),A.createElement(C.Item,{icon:ICONS.switchToMarkdown,"aria-label":"Switch to markdown view",onSelect:()=>{this.openAsMarkdown()}},"Open as Markdown"),A.createElement(C.Separator),A.createElement(C.DefaultItems.Help),A.createElement(C.DefaultItems.ClearCanvas)),A.createElement(v,{},A.createElement(v.Center,{},A.createElement(v.Center.Logo),A.createElement(v.Center.Heading,{},'Type "Excalidraw" in the Command Palette',A.createElement("br"),"Explore the Obsidian Menu in the top right",A.createElement("br"),"Visit the Script Library",A.createElement("br"),"Find help in the hamburger-menu"),A.createElement(v.Center.Menu,{},A.createElement(v.Center.MenuItemLink,{icon:ICONS.YouTube,href:"https://www.youtube.com/@VisualPKM",shortcut:null,"aria-label":"Visual PKM YouTube Channel"}," Check out the Visual PKM YouTube channel."),A.createElement(v.Center.MenuItemLink,{icon:ICONS.Discord,href:"https://discord.gg/DyfAXFwUHc",shortcut:null,"aria-label":"Join the Visual Thinking Discord Server"}," Join the Visual Thinking Discord Server"),A.createElement(v.Center.MenuItemLink,{icon:ICONS.twitter,href:"https://twitter.com/zsviczian",shortcut:null,"aria-label":"Follow me on Twitter"}," Follow me on Twitter"),A.createElement(v.Center.MenuItemLink,{icon:ICONS.heart,href:"https://ko-fi.com/zsolt",shortcut:null,"aria-label":"Donate to support Excalidraw-Obsidian"},' Say "Thank You" & support the plugin.'))))),A.createElement(ToolsPanel,{ref:i,visible:!1,view:this,centerPointer:()=>{const e=this.excalidrawAPI;if(!u||!u.current||!e)return;const A=e.getAppState(),{width:t,height:i}=A;this.currentPosition=viewportCoordsToSceneCoords({clientX:t/2,clientY:i/2},A)}})),F=A.useRef(new ResizeObserver((e=>{if(!i||!i.current)return;const{width:A,height:t}=e[0].contentRect;if(0===A||0===t)return;const n=i.current.onRightEdge?i.current.previousWidth-A:0,a=i.current.onBottomEdge?i.current.previousHeight-t:0;i.current.updatePosition(a,n)})));return A.useEffect((()=>((null==i?void 0:i.current)&&F.current.observe(i.current.containerRef.current),()=>{F.current.unobserve(i.current.containerRef.current)})),[i,F]),A.createElement(A.Fragment,null,y)}));t.createRoot(this.contentEl).render(i)}updateContainerSize(e,A=!1){const t=this.excalidrawAPI;if(!t)return;const i=()=>{const A=e?t.getSceneElements().filter((A=>A.id===e&&"arrow"!==A.type)):t.getSceneElements().filter((e=>{var A;return"arrow"!==e.type&&(null===(A=e.boundElements)||void 0===A?void 0:A.map((e=>e.type)).includes("text"))}));A.length>0&&(this.initialContainerSizeUpdate&&(this.semaphores.justLoaded=!0),t.updateContainerSize(A)),this.initialContainerSizeUpdate=!1};A?setTimeout((()=>i()),50):i()}zoomToFit(e=!0,A=!1){if(document.body.querySelector("div.modal-container"))return;const t=this.excalidrawAPI;if(!t||!this.excalidrawRef||this.semaphores.isEditingText||this.semaphores.preventAutozoom)return;const i=this.plugin.settings.zoomToFitMaxLevel,n=t.getSceneElements().filter((e=>e.width<1e4&&e.height<1e4));app.isMobile&&n.length>1e3||n.length>2500?A&&t.scrollToContent():e?setTimeout((()=>t.zoomToFit(n,i,this.isFullscreen()?0:.05)),100):t.zoomToFit(n,i,this.isFullscreen()?0:.05)}updatePinnedScripts(){const e=this.excalidrawAPI;if(!e)return!1;e.updateScene({appState:{pinnedScripts:this.plugin.settings.pinnedScripts}})}updatePinnedCustomPens(){const e=this.excalidrawAPI;if(!e)return!1;e.updateScene({appState:{customPens:this.plugin.settings.customPens.slice(0,this.plugin.settings.numberOfCustomPens)}})}updatePinchZoom(){const e=this.excalidrawAPI;if(!e)return!1;e.updateScene({appState:{allowPinchZoom:this.plugin.settings.allowPinchZoom}})}updateWheelZoom(){const e=this.excalidrawAPI;if(!e)return!1;e.updateScene({appState:{allowWheelZoom:this.plugin.settings.allowWheelZoom}})}async toggleTrayMode(){const e=this.excalidrawAPI;if(!e)return!1;const A=e.getAppState();e.updateScene({appState:{trayModeEnabled:!A.trayModeEnabled}}),await this.plugin.loadSettings(),this.plugin.settings.defaultTrayMode=!A.trayModeEnabled,this.plugin.saveSettings()}selectElementsMatchingQuery(e,A,t=!0,i=!1,n=!1){let a=getTextElementsMatchingQuery(e.filter((e=>"text"===e.type)),A,i);if(0!==a.length){if(n){const A=this.plugin.ea.getElementsInTheSameGroupWithElement(a[0],e);A.length>0&&(a=A)}this.zoomToElements(t,a)}else new obsidian_module.Notice("I could not find a matching text element")}zoomToElements(e,A){const t=this.excalidrawAPI;if(!t)return;const i=this.plugin.settings.zoomToFitMaxLevel;e&&t.selectElements(A),t.zoomToFit(A,i,.05)}getViewSelectedElements(){var e;const A=this.excalidrawAPI;if(!A)return[];const t=null===(e=A.getAppState())||void 0===e?void 0:e.selectedElementIds;if(!t)return[];const i=Object.keys(t);if(!i)return[];const n=A.getSceneElements().filter((e=>i.includes(e.id))),a=n.filter((e=>e.boundElements&&e.boundElements.filter((e=>"text"===e.type)).length>0)).map((e=>e.boundElements.filter((e=>"text"===e.type)).map((e=>e.id))[0])),r=n.map((e=>e.id)).concat(a);return A.getSceneElements().filter((e=>r.contains(e.id)))}async copyLinkToSelectedElementToClipboard(e){const A=this.getViewSelectedElements();if(A.length<1)return void new obsidian_module.Notice(t$d("INSERT_LINK_TO_ELEMENT_ERROR"));let t;if(2===A.length){const e=A.filter((e=>"text"===e.type));1===e.length&&e[0].containerId&&1===A.filter((e=>e.boundElements.some((e=>"text"===e.type)))).length&&(t=e[0].id)}t||(t=1===A.length?A[0].id:this.plugin.ea.getLargestElement(A).id);const i=await ScriptEngine.inputPrompt(app,"Set link alias","Leave empty if you do not want to set an alias","");navigator.clipboard.writeText(`[[${this.file.path}#^${e}${t}${i?`|${i}`:""}]]`),new obsidian_module.Notice(t$d("INSERT_LINK_TO_ELEMENT_READY"))}updateScene(e,A=!1){const t=this.excalidrawAPI;if(!t)return;const i=e.elements&&A;i&&(e.elements=t.restore(e).elements);try{t.updateScene(e)}catch(A){if(errorlog({where:"ExcalidrawView.updateScene 1st attempt",fn:this.updateScene,error:A,scene:e,willDoSecondAttempt:!i}),i)warningUnknowSeriousError();else try{e.elements=t.restore(e).elements,t.updateScene(e)}catch(A){errorlog({where:"ExcalidrawView.updateScene 2nd attempt",fn:this.updateScene,error:A,scene:e}),warningUnknowSeriousError()}}}}function getTextMode(e){return e.search("excalidraw-plugin: parsed\n")>-1||e.search("excalidraw-plugin: locked\n")>-1?TextMode.parsed:TextMode.raw}const DEFAULT_SETTINGS={folder:"Excalidraw",embedUseExcalidrawFolder:!1,templateFilePath:"Excalidraw/Template.excalidraw",scriptFolderPath:"Excalidraw/Scripts",compress:!1,autosave:!0,autosaveInterval:15e3,autosaveIntervalDesktop:15e3,autosaveIntervalMobile:1e4,drawingFilenamePrefix:"Drawing ",drawingEmbedPrefixWithFilename:!0,drawingFilnameEmbedPostfix:" ",drawingFilenameDateTime:"YYYY-MM-DD HH.mm.ss",useExcalidrawExtension:!0,displaySVGInPreview:!0,displayExportedImageIfAvailable:!1,previewMatchObsidianTheme:!1,width:"400",isLeftHanded:!1,matchTheme:!1,matchThemeAlways:!1,matchThemeTrigger:!1,defaultMode:"normal",defaultPenMode:"never",allowPinchZoom:!1,allowWheelZoom:!1,zoomToFitOnOpen:!0,zoomToFitOnResize:!0,zoomToFitMaxLevel:2,linkPrefix:"📍",urlPrefix:"🌐",parseTODO:!1,todo:"☐",done:"🗹",hoverPreviewWithoutCTRL:!1,linkOpacity:1,openInAdjacentPane:!1,openInMainWorkspace:!0,showLinkBrackets:!0,allowCtrlClick:!0,forceWrap:!1,pageTransclusionCharLimit:200,wordWrappingDefault:0,removeTransclusionQuoteSigns:!0,iframelyAllowed:!0,pngExportScale:1,exportWithTheme:!0,exportWithBackground:!0,exportPaddingSVG:10,keepInSync:!1,autoexportSVG:!1,autoexportPNG:!1,autoExportLightAndDark:!1,autoexportExcalidraw:!1,embedType:"excalidraw",embedWikiLink:!0,syncExcalidraw:!1,experimentalFileType:!1,experimentalFileTag:"✏️",experimentalLivePreview:!0,experimentalEnableFourthFont:!1,experimantalFourthFont:"Virgil",fieldSuggester:!0,compatibilityMode:!1,drawingOpenCount:0,library:"deprecated",library2:{type:"excalidrawlib",version:2,source:GITHUB_RELEASES+PLUGIN_VERSION,libraryItems:[]},imageElementNotice:!0,mdSVGwidth:500,mdSVGmaxHeight:800,mdFont:"Virgil",mdFontColor:"Black",mdBorderColor:"Black",mdCSS:"",scriptEngineSettings:{},defaultTrayMode:!0,previousRelease:"0.0.0",showReleaseNotes:!0,showNewVersionNotification:!0,mathjaxSourceURL:"https://cdn.jsdelivr.net/npm/mathjax@3.2.1/es5/tex-svg.js",taskboneEnabled:!1,taskboneAPIkey:"",pinnedScripts:[],customPens:[Object.assign({},PENS.default),Object.assign({},PENS.highlighter),Object.assign({},PENS.finetip),Object.assign({},PENS.fountain),Object.assign({},PENS.marker),Object.assign({},PENS["thick-thin"]),Object.assign({},PENS["thin-thick-thin"]),Object.assign({},PENS.default),Object.assign({},PENS.default),Object.assign({},PENS.default)],numberOfCustomPens:0};class ExcalidrawSettingTab extends obsidian_module.PluginSettingTab{constructor(e,A){super(e,A),this.requestEmbedUpdate=!1,this.requestReloadDrawings=!1,this.requestUpdatePinnedPens=!1,this.reloadMathJax=!1,this.plugin=A}applySettingsUpdate(e=!1){e&&(this.requestReloadDrawings=!0)}async hide(){if(this.plugin.settings.scriptFolderPath=obsidian_module.normalizePath(this.plugin.settings.scriptFolderPath),"/"!==this.plugin.settings.scriptFolderPath&&""!==this.plugin.settings.scriptFolderPath||(this.plugin.settings.scriptFolderPath="Excalidraw/Scripts"),this.plugin.saveSettings(),this.requestUpdatePinnedPens&&app.workspace.getLeavesOfType("excalidraw").forEach((e=>{e.view instanceof ExcalidrawView&&e.view.updatePinnedCustomPens()})),this.requestReloadDrawings){const e=app.workspace.getLeavesOfType("excalidraw");for(const A of e)A.view instanceof ExcalidrawView&&(await A.view.save(!1),await A.view.reload(!0));this.requestEmbedUpdate=!0}this.requestEmbedUpdate&&this.plugin.triggerEmbedUpdates(),this.plugin.scriptEngine.updateScriptPath(),this.reloadMathJax&&this.plugin.loadMathJax()}async display(){var e;await this.plugin.loadSettings(),this.requestEmbedUpdate=!1,this.requestReloadDrawings=!1;const{containerEl:A}=this;A.addClass("excalidraw-settings"),this.containerEl.empty();const t=A.createDiv("coffee");t.addClass("ex-coffee-div"),t.createEl("a",{href:"https://ko-fi.com/zsolt"}).createEl("img",{attr:{src:"https://cdn.ko-fi.com/cdn/kofi3.png?v=3"}}).height=45,new obsidian_module.Setting(A).setName(t$d("RELEASE_NOTES_NAME")).setDesc(fragWithHTML(t$d("RELEASE_NOTES_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.showReleaseNotes).onChange((async e=>{this.plugin.settings.showReleaseNotes=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("NEWVERSION_NOTIFICATION_NAME")).setDesc(fragWithHTML(t$d("NEWVERSION_NOTIFICATION_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.showNewVersionNotification).onChange((async e=>{this.plugin.settings.showNewVersionNotification=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("FOLDER_NAME")).setDesc(fragWithHTML(t$d("FOLDER_DESC"))).addText((e=>e.setPlaceholder("Excalidraw").setValue(this.plugin.settings.folder).onChange((async e=>{this.plugin.settings.folder=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("FOLDER_EMBED_NAME")).setDesc(fragWithHTML(t$d("FOLDER_EMBED_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.embedUseExcalidrawFolder).onChange((async e=>{this.plugin.settings.embedUseExcalidrawFolder=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("TEMPLATE_NAME")).setDesc(fragWithHTML(t$d("TEMPLATE_DESC"))).addText((e=>e.setPlaceholder("Excalidraw/Template").setValue(this.plugin.settings.templateFilePath).onChange((async e=>{this.plugin.settings.templateFilePath=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("SCRIPT_FOLDER_NAME")).setDesc(fragWithHTML(t$d("SCRIPT_FOLDER_DESC"))).addText((e=>e.setPlaceholder("Excalidraw/Scripts").setValue(this.plugin.settings.scriptFolderPath).onChange((async e=>{this.plugin.settings.scriptFolderPath=e,this.applySettingsUpdate()})))),this.containerEl.createEl("h1",{text:t$d("SAVING_HEAD")}),new obsidian_module.Setting(A).setName(t$d("COMPRESS_NAME")).setDesc(fragWithHTML(t$d("COMPRESS_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.compress).onChange((async e=>{this.plugin.settings.compress=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("AUTOSAVE_INTERVAL_DESKTOP_NAME")).setDesc(fragWithHTML(t$d("AUTOSAVE_INTERVAL_DESKTOP_DESC"))).addDropdown((e=>e.addOption("15000","Frequent (every 15 seconds)").addOption("60000","Moderate (every 60 seconds)").addOption("300000","Rare (every 5 minutes)").addOption("900000","Practically never (every 15 minutes)").setValue(this.plugin.settings.autosaveIntervalDesktop.toString()).onChange((async e=>{this.plugin.settings.autosaveIntervalDesktop=parseInt(e),this.plugin.settings.autosaveInterval=app.isMobile?this.plugin.settings.autosaveIntervalMobile:this.plugin.settings.autosaveIntervalDesktop,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("AUTOSAVE_INTERVAL_MOBILE_NAME")).setDesc(fragWithHTML(t$d("AUTOSAVE_INTERVAL_MOBILE_DESC"))).addDropdown((e=>e.addOption("10000","Frequent (every 10 seconds)").addOption("30000","Moderate (every 30 seconds)").addOption("60000","Rare (every 1 minute)").addOption("300000","Practically never (every 5 minutes)").setValue(this.plugin.settings.autosaveIntervalMobile.toString()).onChange((async e=>{this.plugin.settings.autosaveIntervalMobile=parseInt(e),this.plugin.settings.autosaveInterval=app.isMobile?this.plugin.settings.autosaveIntervalMobile:this.plugin.settings.autosaveIntervalDesktop,this.applySettingsUpdate()})))),this.containerEl.createEl("h1",{text:t$d("FILENAME_HEAD")}),A.createDiv("",(e=>{e.innerHTML=t$d("FILENAME_DESC")}));const i=()=>`${t$d("FILENAME_SAMPLE")}${getDrawingFilename(this.plugin.settings)}
${t$d("FILENAME_EMBED_SAMPLE")}${getEmbedFilename("{NOTE_NAME}",this.plugin.settings)}`,n=A.createEl("p",{text:""});let a,r,s,o,l,c,d;n.innerHTML=i(),new obsidian_module.Setting(A).setName(t$d("FILENAME_PREFIX_NAME")).setDesc(fragWithHTML(t$d("FILENAME_PREFIX_DESC"))).addText((e=>e.setPlaceholder("Drawing ").setValue(this.plugin.settings.drawingFilenamePrefix).onChange((async A=>{this.plugin.settings.drawingFilenamePrefix=A.replaceAll(/[<>:"/\\|?*]/g,"_"),e.setValue(this.plugin.settings.drawingFilenamePrefix),n.innerHTML=i(),this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("FILENAME_PREFIX_EMBED_NAME")).setDesc(fragWithHTML(t$d("FILENAME_PREFIX_EMBED_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.drawingEmbedPrefixWithFilename).onChange((async e=>{this.plugin.settings.drawingEmbedPrefixWithFilename=e,n.innerHTML=i(),this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("FILENAME_POSTFIX_NAME")).setDesc(fragWithHTML(t$d("FILENAME_POSTFIX_DESC"))).addText((e=>e.setPlaceholder("").setValue(this.plugin.settings.drawingFilnameEmbedPostfix).onChange((async A=>{this.plugin.settings.drawingFilnameEmbedPostfix=A.replaceAll(/[<>:"/\\|?*]/g,"_"),e.setValue(this.plugin.settings.drawingFilnameEmbedPostfix),n.innerHTML=i(),this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("FILENAME_DATE_NAME")).setDesc(fragWithHTML(t$d("FILENAME_DATE_DESC"))).addText((e=>e.setPlaceholder("YYYY-MM-DD HH.mm.ss").setValue(this.plugin.settings.drawingFilenameDateTime).onChange((async A=>{this.plugin.settings.drawingFilenameDateTime=A.replaceAll(/[<>:"/\\|?*]/g,"_"),e.setValue(this.plugin.settings.drawingFilenameDateTime),n.innerHTML=i(),this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("FILENAME_EXCALIDRAW_EXTENSION_NAME")).setDesc(fragWithHTML(t$d("FILENAME_EXCALIDRAW_EXTENSION_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.useExcalidrawExtension).onChange((async e=>{this.plugin.settings.useExcalidrawExtension=e,n.innerHTML=i(),this.applySettingsUpdate()})))),this.containerEl.createEl("h1",{text:t$d("DISPLAY_HEAD")}),new obsidian_module.Setting(A).setName(t$d("LEFTHANDED_MODE_NAME")).setDesc(fragWithHTML(t$d("LEFTHANDED_MODE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.isLeftHanded).onChange((async e=>{this.plugin.settings.isLeftHanded=e,setLeftHandedMode(e),setTimeout((()=>setLeftHandedMode(e))),this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("MATCH_THEME_NAME")).setDesc(fragWithHTML(t$d("MATCH_THEME_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.matchTheme).onChange((async e=>{this.plugin.settings.matchTheme=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("MATCH_THEME_ALWAYS_NAME")).setDesc(fragWithHTML(t$d("MATCH_THEME_ALWAYS_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.matchThemeAlways).onChange((async e=>{this.plugin.settings.matchThemeAlways=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("MATCH_THEME_TRIGGER_NAME")).setDesc(fragWithHTML(t$d("MATCH_THEME_TRIGGER_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.matchThemeTrigger).onChange((async e=>{this.plugin.settings.matchThemeTrigger=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("DEFAULT_OPEN_MODE_NAME")).setDesc(fragWithHTML(t$d("DEFAULT_OPEN_MODE_DESC"))).addDropdown((e=>e.addOption("normal","Always in normal-mode").addOption("zen","Always in zen-mode").addOption("view","Always in view-mode").addOption("view-mobile","Usually normal, but view-mode on Phone").setValue(this.plugin.settings.defaultMode).onChange((async e=>{this.plugin.settings.defaultMode=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("DEFAULT_PEN_MODE_NAME")).setDesc(fragWithHTML(t$d("DEFAULT_PEN_MODE_DESC"))).addDropdown((e=>e.addOption("never","Never").addOption("mobile","On Obsidian Mobile").addOption("always","Always").setValue(this.plugin.settings.defaultPenMode).onChange((async e=>{this.plugin.settings.defaultPenMode=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("DEFAULT_PINCHZOOM_NAME")).setDesc(fragWithHTML(t$d("DEFAULT_PINCHZOOM_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.allowPinchZoom).onChange((async e=>{this.plugin.settings.allowPinchZoom=e,app.workspace.getLeavesOfType("excalidraw").forEach((e=>{e.view instanceof ExcalidrawView&&e.view.updatePinchZoom()})),this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("DEFAULT_WHEELZOOM_NAME")).setDesc(fragWithHTML(t$d("DEFAULT_WHEELZOOM_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.allowWheelZoom).onChange((async e=>{this.plugin.settings.allowWheelZoom=e,app.workspace.getLeavesOfType("excalidraw").forEach((e=>{e.view instanceof ExcalidrawView&&e.view.updateWheelZoom()})),this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("ZOOM_TO_FIT_ONOPEN_NAME")).setDesc(fragWithHTML(t$d("ZOOM_TO_FIT_ONOPEN_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.zoomToFitOnOpen).onChange((async e=>{this.plugin.settings.zoomToFitOnOpen=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("ZOOM_TO_FIT_NAME")).setDesc(fragWithHTML(t$d("ZOOM_TO_FIT_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.zoomToFitOnResize).onChange((async e=>{this.plugin.settings.zoomToFitOnResize=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("ZOOM_TO_FIT_MAX_LEVEL_NAME")).setDesc(fragWithHTML(t$d("ZOOM_TO_FIT_MAX_LEVEL_DESC"))).addSlider((e=>e.setLimits(.5,10,.5).setValue(this.plugin.settings.zoomToFitMaxLevel).onChange((async e=>{a.innerText=` ${e.toString()}`,this.plugin.settings.zoomToFitMaxLevel=e,this.applySettingsUpdate()})))).settingEl.createDiv("",(e=>{a=e,e.style.minWidth="2.3em",e.style.textAlign="right",e.innerText=` ${this.plugin.settings.zoomToFitMaxLevel.toString()}`})),this.containerEl.createEl("h1",{text:t$d("LINKS_HEAD")}),this.containerEl.createEl("span",void 0,(e=>e.innerHTML=t$d("LINKS_DESC"))),new obsidian_module.Setting(A).setName(t$d("ADJACENT_PANE_NAME")).setDesc(fragWithHTML(t$d("ADJACENT_PANE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.openInAdjacentPane).onChange((async e=>{this.plugin.settings.openInAdjacentPane=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("MAINWORKSPACE_PANE_NAME")).setDesc(fragWithHTML(t$d("MAINWORKSPACE_PANE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.openInMainWorkspace).onChange((async e=>{this.plugin.settings.openInMainWorkspace=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(fragWithHTML(t$d("LINK_BRACKETS_NAME"))).setDesc(fragWithHTML(t$d("LINK_BRACKETS_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.showLinkBrackets).onChange((e=>{this.plugin.settings.showLinkBrackets=e,this.applySettingsUpdate(!0)})))),new obsidian_module.Setting(A).setName(t$d("LINK_PREFIX_NAME")).setDesc(fragWithHTML(t$d("LINK_PREFIX_DESC"))).addText((e=>e.setPlaceholder(t$d("INSERT_EMOJI")).setValue(this.plugin.settings.linkPrefix).onChange((e=>{this.plugin.settings.linkPrefix=e,this.applySettingsUpdate(!0)})))),new obsidian_module.Setting(A).setName(t$d("URL_PREFIX_NAME")).setDesc(fragWithHTML(t$d("URL_PREFIX_DESC"))).addText((e=>e.setPlaceholder(t$d("INSERT_EMOJI")).setValue(this.plugin.settings.urlPrefix).onChange((e=>{this.plugin.settings.urlPrefix=e,this.applySettingsUpdate(!0)})))),new obsidian_module.Setting(A).setName(t$d("PARSE_TODO_NAME")).setDesc(fragWithHTML(t$d("PARSE_TODO_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.parseTODO).onChange((e=>{this.plugin.settings.parseTODO=e,r.setDisabled(!e),s.setDisabled(!e),this.applySettingsUpdate(!0)})))),new obsidian_module.Setting(A).setName(t$d("TODO_NAME")).setDesc(fragWithHTML(t$d("TODO_DESC"))).addText((e=>{r=e,e.setPlaceholder(t$d("INSERT_EMOJI")).setValue(this.plugin.settings.todo).onChange((e=>{this.plugin.settings.todo=e,this.applySettingsUpdate(!0)}))})),r.setDisabled(!this.plugin.settings.parseTODO),new obsidian_module.Setting(A).setName(t$d("DONE_NAME")).setDesc(fragWithHTML(t$d("DONE_DESC"))).setDisabled(!this.plugin.settings.parseTODO).addText((e=>{s=e,e.setPlaceholder(t$d("INSERT_EMOJI")).setValue(this.plugin.settings.done).onChange((e=>{this.plugin.settings.done=e,this.applySettingsUpdate(!0)}))})),s.setDisabled(!this.plugin.settings.parseTODO),new obsidian_module.Setting(A).setName(t$d("LINKOPACITY_NAME")).setDesc(fragWithHTML(t$d("LINKOPACITY_DESC"))).addSlider((e=>e.setLimits(0,1,.05).setValue(this.plugin.settings.linkOpacity).onChange((async e=>{o.innerText=` ${e.toString()}`,this.plugin.settings.linkOpacity=e,this.applySettingsUpdate(!0)})))).settingEl.createDiv("",(e=>{o=e,e.style.minWidth="2.3em",e.style.textAlign="right",e.innerText=` ${this.plugin.settings.linkOpacity.toString()}`})),new obsidian_module.Setting(A).setName(t$d("HOVERPREVIEW_NAME")).setDesc(fragWithHTML(t$d("HOVERPREVIEW_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.hoverPreviewWithoutCTRL).onChange((async e=>{this.plugin.settings.hoverPreviewWithoutCTRL=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("LINK_CTRL_CLICK_NAME")).setDesc(fragWithHTML(t$d("LINK_CTRL_CLICK_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.allowCtrlClick).onChange((async e=>{this.plugin.settings.allowCtrlClick=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("TRANSCLUSION_WRAP_NAME")).setDesc(fragWithHTML(t$d("TRANSCLUSION_WRAP_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.forceWrap).onChange((async e=>{this.plugin.settings.forceWrap=e,this.applySettingsUpdate(!0)})))).descEl.innerHTML=`![[doc#^ref]]{number} ${t$d("TRANSCLUSION_WRAP_DESC")}`,new obsidian_module.Setting(A).setName(t$d("PAGE_TRANSCLUSION_CHARCOUNT_NAME")).setDesc(fragWithHTML(t$d("PAGE_TRANSCLUSION_CHARCOUNT_DESC"))).addText((e=>e.setPlaceholder("Enter a number").setValue(this.plugin.settings.pageTransclusionCharLimit.toString()).onChange((async A=>{const t=parseInt(A);if(isNaN(t)&&""!==A)e.setValue(this.plugin.settings.pageTransclusionCharLimit.toString());else{if(this.requestEmbedUpdate=!0,""===A)return this.plugin.settings.pageTransclusionCharLimit=10,void this.applySettingsUpdate(!0);this.plugin.settings.pageTransclusionCharLimit=t,e.setValue(this.plugin.settings.pageTransclusionCharLimit.toString()),this.applySettingsUpdate(!0)}})))),new obsidian_module.Setting(A).setName(t$d("TRANSCLUSION_DEFAULT_WRAP_NAME")).setDesc(fragWithHTML(t$d("TRANSCLUSION_DEFAULT_WRAP_DESC"))).addText((e=>e.setPlaceholder("Enter a number").setValue(this.plugin.settings.wordWrappingDefault.toString()).onChange((async A=>{const t=parseInt(A);if(isNaN(t)&&""!==A)e.setValue(this.plugin.settings.wordWrappingDefault.toString());else{if(this.requestEmbedUpdate=!0,""===A)return this.plugin.settings.wordWrappingDefault=0,void this.applySettingsUpdate(!0);this.plugin.settings.wordWrappingDefault=t,e.setValue(this.plugin.settings.wordWrappingDefault.toString()),this.applySettingsUpdate(!0)}})))),new obsidian_module.Setting(A).setName(t$d("QUOTE_TRANSCLUSION_REMOVE_NAME")).setDesc(fragWithHTML(t$d("QUOTE_TRANSCLUSION_REMOVE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.removeTransclusionQuoteSigns).onChange((e=>{this.plugin.settings.removeTransclusionQuoteSigns=e,this.requestEmbedUpdate=!0,this.applySettingsUpdate(!0)})))),new obsidian_module.Setting(A).setName(t$d("GET_URL_TITLE_NAME")).setDesc(fragWithHTML(t$d("GET_URL_TITLE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.iframelyAllowed).onChange((async e=>{this.plugin.settings.iframelyAllowed=e,this.applySettingsUpdate()})))),this.containerEl.createEl("h1",{text:t$d("MD_HEAD")}),this.containerEl.createEl("p",{text:t$d("MD_HEAD_DESC")}),new obsidian_module.Setting(A).setName(t$d("MD_TRANSCLUDE_WIDTH_NAME")).setDesc(fragWithHTML(t$d("MD_TRANSCLUDE_WIDTH_DESC"))).addText((e=>e.setPlaceholder("Enter a number e.g. 500").setValue(this.plugin.settings.mdSVGwidth.toString()).onChange((async A=>{const t=parseInt(A);if(isNaN(t)&&""!==A)e.setValue(this.plugin.settings.mdSVGwidth.toString());else{if(this.requestEmbedUpdate=!0,""===A)return this.plugin.settings.mdSVGwidth=500,void this.applySettingsUpdate(!0);this.plugin.settings.mdSVGwidth=t,this.requestReloadDrawings=!0,e.setValue(this.plugin.settings.mdSVGwidth.toString()),this.applySettingsUpdate(!0)}})))),new obsidian_module.Setting(A).setName(t$d("MD_TRANSCLUDE_HEIGHT_NAME")).setDesc(fragWithHTML(t$d("MD_TRANSCLUDE_HEIGHT_DESC"))).addText((e=>e.setPlaceholder("Enter a number e.g. 800").setValue(this.plugin.settings.mdSVGmaxHeight.toString()).onChange((async A=>{const t=parseInt(A);if(isNaN(t)&&""!==A)e.setValue(this.plugin.settings.mdSVGmaxHeight.toString());else{if(this.requestEmbedUpdate=!0,""===A)return this.plugin.settings.mdSVGmaxHeight=800,void this.applySettingsUpdate(!0);this.plugin.settings.mdSVGmaxHeight=t,this.requestReloadDrawings=!0,e.setValue(this.plugin.settings.mdSVGmaxHeight.toString()),this.applySettingsUpdate(!0)}})))),new obsidian_module.Setting(A).setName(t$d("MD_DEFAULT_FONT_NAME")).setDesc(fragWithHTML(t$d("MD_DEFAULT_FONT_DESC"))).addDropdown((async e=>{e.addOption("Virgil","Virgil"),e.addOption("Cascadia","Cascadia"),this.app.vault.getFiles().filter((e=>["ttf","woff","woff2"].contains(e.extension))).forEach((A=>{e.addOption(A.path,A.name)})),e.setValue(this.plugin.settings.mdFont).onChange((e=>{this.requestReloadDrawings=!0,this.plugin.settings.mdFont=e,this.applySettingsUpdate(!0)}))})),new obsidian_module.Setting(A).setName(t$d("MD_DEFAULT_COLOR_NAME")).setDesc(fragWithHTML(t$d("MD_DEFAULT_COLOR_DESC"))).addText((e=>e.setPlaceholder("CSS Color-name|RGB-HEX").setValue(this.plugin.settings.mdFontColor).onChange((e=>{this.requestReloadDrawings=!0,this.plugin.settings.mdFontColor=e,this.applySettingsUpdate(!0)})))),new obsidian_module.Setting(A).setName(t$d("MD_DEFAULT_BORDER_COLOR_NAME")).setDesc(fragWithHTML(t$d("MD_DEFAULT_BORDER_COLOR_DESC"))).addText((e=>e.setPlaceholder("CSS Color-name|RGB-HEX").setValue(this.plugin.settings.mdBorderColor).onChange((e=>{this.requestReloadDrawings=!0,this.plugin.settings.mdBorderColor=e,this.applySettingsUpdate(!0)})))),new obsidian_module.Setting(A).setName(t$d("MD_CSS_NAME")).setDesc(fragWithHTML(t$d("MD_CSS_DESC"))).addText((e=>e.setPlaceholder("filename of css file in vault").setValue(this.plugin.settings.mdCSS).onChange((e=>{this.requestReloadDrawings=!0,this.plugin.settings.mdCSS=e,this.applySettingsUpdate(!0)})))),this.containerEl.createEl("h1",{text:t$d("EMBED_HEAD")}),new obsidian_module.Setting(A).setName(t$d("EMBED_PREVIEW_SVG_NAME")).setDesc(fragWithHTML(t$d("EMBED_PREVIEW_SVG_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.displaySVGInPreview).onChange((async e=>{this.plugin.settings.displaySVGInPreview=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("EMBED_REUSE_EXPORTED_IMAGE_NAME")).setDesc(fragWithHTML(t$d("EMBED_REUSE_EXPORTED_IMAGE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.displayExportedImageIfAvailable).onChange((async e=>{this.plugin.settings.displayExportedImageIfAvailable=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("PREVIEW_MATCH_OBSIDIAN_NAME")).setDesc(fragWithHTML(t$d("PREVIEW_MATCH_OBSIDIAN_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.previewMatchObsidianTheme).onChange((async e=>{this.plugin.settings.previewMatchObsidianTheme=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("EMBED_WIDTH_NAME")).setDesc(fragWithHTML(t$d("EMBED_WIDTH_DESC"))).addText((e=>e.setPlaceholder("400").setValue(this.plugin.settings.width).onChange((async e=>{this.plugin.settings.width=e,this.applySettingsUpdate(),this.requestEmbedUpdate=!0})))),new obsidian_module.Setting(A).setName(t$d("EMBED_TYPE_NAME")).setDesc(fragWithHTML(t$d("EMBED_TYPE_DESC"))).addDropdown((async e=>{l=e,l.addOption("excalidraw","excalidraw"),this.plugin.settings.autoexportPNG?l.addOption("PNG","PNG"):"PNG"===this.plugin.settings.embedType&&(this.plugin.settings.embedType="excalidraw",this.applySettingsUpdate()),this.plugin.settings.autoexportSVG?l.addOption("SVG","SVG"):"SVG"===this.plugin.settings.embedType&&(this.plugin.settings.embedType="excalidraw",this.applySettingsUpdate()),l.setValue(this.plugin.settings.embedType).onChange((async e=>{this.plugin.settings.embedType=e,this.applySettingsUpdate()}))})),new obsidian_module.Setting(A).setName(t$d("EMBED_WIKILINK_NAME")).setDesc(fragWithHTML(t$d("EMBED_WIKILINK_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.embedWikiLink).onChange((async e=>{this.plugin.settings.embedWikiLink=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("EXPORT_PNG_SCALE_NAME")).setDesc(fragWithHTML(t$d("EXPORT_PNG_SCALE_DESC"))).addSlider((e=>e.setLimits(1,5,.5).setValue(this.plugin.settings.pngExportScale).onChange((async e=>{c.innerText=` ${e.toString()}`,this.plugin.settings.pngExportScale=e,this.applySettingsUpdate()})))).settingEl.createDiv("",(e=>{c=e,e.style.minWidth="2.3em",e.style.textAlign="right",e.innerText=` ${this.plugin.settings.pngExportScale.toString()}`})),new obsidian_module.Setting(A).setName(t$d("EXPORT_BACKGROUND_NAME")).setDesc(fragWithHTML(t$d("EXPORT_BACKGROUND_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.exportWithBackground).onChange((async e=>{this.plugin.settings.exportWithBackground=e,this.applySettingsUpdate(),this.requestEmbedUpdate=!0})))),new obsidian_module.Setting(A).setName(t$d("EXPORT_PADDING_NAME")).setDesc(fragWithHTML(t$d("EXPORT_PADDING_DESC"))).addSlider((e=>e.setLimits(0,50,5).setValue(this.plugin.settings.exportPaddingSVG).onChange((async e=>{d.innerText=` ${e.toString()}`,this.plugin.settings.exportPaddingSVG=e,this.applySettingsUpdate()})))).settingEl.createDiv("",(e=>{d=e,e.style.minWidth="2.3em",e.style.textAlign="right",e.innerText=` ${this.plugin.settings.exportPaddingSVG.toString()}`})),new obsidian_module.Setting(A).setName(t$d("EXPORT_THEME_NAME")).setDesc(fragWithHTML(t$d("EXPORT_THEME_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.exportWithTheme).onChange((async e=>{this.plugin.settings.exportWithTheme=e,this.applySettingsUpdate(),this.requestEmbedUpdate=!0})))),this.containerEl.createEl("h1",{text:t$d("EXPORT_HEAD")}),new obsidian_module.Setting(A).setName(t$d("EXPORT_SYNC_NAME")).setDesc(fragWithHTML(t$d("EXPORT_SYNC_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.keepInSync).onChange((async e=>{this.plugin.settings.keepInSync=e,this.applySettingsUpdate()}))));const h=e=>{let A=0;for(A=0;Ae.setValue(this.plugin.settings.autoexportSVG).onChange((async e=>{e?l.addOption("SVG","SVG"):("SVG"===this.plugin.settings.embedType&&(l.setValue("excalidraw"),this.plugin.settings.embedType="excalidraw"),h("SVG")),this.plugin.settings.autoexportSVG=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("EXPORT_PNG_NAME")).setDesc(fragWithHTML(t$d("EXPORT_PNG_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.autoexportPNG).onChange((async e=>{e?l.addOption("PNG","PNG"):("PNG"===this.plugin.settings.embedType&&(l.setValue("excalidraw"),this.plugin.settings.embedType="excalidraw"),h("PNG")),this.plugin.settings.autoexportPNG=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("EXPORT_BOTH_DARK_AND_LIGHT_NAME")).setDesc(fragWithHTML(t$d("EXPORT_BOTH_DARK_AND_LIGHT_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.autoExportLightAndDark).onChange((async e=>{this.plugin.settings.autoExportLightAndDark=e,this.applySettingsUpdate()})))),this.containerEl.createEl("h1",{text:t$d("COMPATIBILITY_HEAD")}),new obsidian_module.Setting(A).setName(t$d("COMPATIBILITY_MODE_NAME")).setDesc(fragWithHTML(t$d("COMPATIBILITY_MODE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.compatibilityMode).onChange((async e=>{this.plugin.settings.compatibilityMode=e,n.innerHTML=i(),this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("EXPORT_EXCALIDRAW_NAME")).setDesc(fragWithHTML(t$d("EXPORT_EXCALIDRAW_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.autoexportExcalidraw).onChange((async e=>{this.plugin.settings.autoexportExcalidraw=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("SYNC_EXCALIDRAW_NAME")).setDesc(fragWithHTML(t$d("SYNC_EXCALIDRAW_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.syncExcalidraw).onChange((async e=>{this.plugin.settings.syncExcalidraw=e,this.applySettingsUpdate()})))),this.containerEl.createEl("h1",{text:t$d("NONSTANDARD_HEAD")}),this.containerEl.createEl("p",{text:t$d("NONSTANDARD_DESC")}),new obsidian_module.Setting(A).setName(t$d("CUSTOM_PEN_NAME")).setDesc(t$d("CUSTOM_PEN_DESC")).addDropdown((e=>e.addOption("0","0").addOption("1","1").addOption("2","2").addOption("3","3").addOption("4","4").addOption("5","5").addOption("6","6").addOption("7","7").addOption("8","8").addOption("9","9").addOption("10","10").setValue(this.plugin.settings.numberOfCustomPens.toString()).onChange((e=>{this.plugin.settings.numberOfCustomPens=parseInt(e),this.requestUpdatePinnedPens=!0,this.applySettingsUpdate(!1)})))),new obsidian_module.Setting(A).setName(t$d("ENABLE_FOURTH_FONT_NAME")).setDesc(fragWithHTML(t$d("ENABLE_FOURTH_FONT_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.experimentalEnableFourthFont).onChange((async e=>{this.requestReloadDrawings=!0,this.plugin.settings.experimentalEnableFourthFont=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("FOURTH_FONT_NAME")).setDesc(fragWithHTML(t$d("FOURTH_FONT_DESC"))).addDropdown((async e=>{e.addOption("Virgil","Virgil"),this.app.vault.getFiles().filter((e=>["ttf","woff","woff2"].contains(e.extension))).forEach((A=>{e.addOption(A.path,A.name)})),e.setValue(this.plugin.settings.experimantalFourthFont).onChange((e=>{this.requestReloadDrawings=!0,this.plugin.settings.experimantalFourthFont=e,this.applySettingsUpdate(!0),this.plugin.initializeFourthFont()}))})),this.containerEl.createEl("h1",{text:t$d("EXPERIMENTAL_HEAD")}),this.containerEl.createEl("p",{text:t$d("EXPERIMENTAL_DESC")}),new obsidian_module.Setting(A).setName(t$d("MATHJAX_NAME")).setDesc(t$d("MATHJAX_DESC")).addDropdown((e=>{e.addOption("https://cdn.jsdelivr.net/npm/mathjax@3.2.1/es5/tex-svg.js","jsdelivr").addOption("https://unpkg.com/mathjax@3.2.1/es5/tex-svg.js","unpkg").addOption("https://cdnjs.cloudflare.com/ajax/libs/mathjax/3.2.1/es5/tex-svg-full.min.js","cdnjs").setValue(this.plugin.settings.mathjaxSourceURL).onChange((e=>{this.plugin.settings.mathjaxSourceURL=e,this.reloadMathJax=!0,this.applySettingsUpdate()}))})),new obsidian_module.Setting(A).setName(t$d("FIELD_SUGGESTER_NAME")).setDesc(fragWithHTML(t$d("FIELD_SUGGESTER_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.fieldSuggester).onChange((async e=>{this.plugin.settings.fieldSuggester=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("FILETYPE_NAME")).setDesc(fragWithHTML(t$d("FILETYPE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.experimentalFileType).onChange((async e=>{this.plugin.settings.experimentalFileType=e,this.plugin.experimentalFileTypeDisplayToggle(e),this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("FILETAG_NAME")).setDesc(fragWithHTML(t$d("FILETAG_DESC"))).addText((e=>e.setPlaceholder(t$d("INSERT_EMOJI")).setValue(this.plugin.settings.experimentalFileTag).onChange((async e=>{this.plugin.settings.experimentalFileTag=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("LIVEPREVIEW_NAME")).setDesc(fragWithHTML(t$d("LIVEPREVIEW_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.experimentalLivePreview).onChange((async e=>{this.plugin.settings.experimentalLivePreview=e,this.applySettingsUpdate()})))),this.containerEl.createEl("h2",{text:t$d("TASKBONE_HEAD")}),this.containerEl.createEl("p",{text:t$d("TASKBONE_DESC")}),new obsidian_module.Setting(A).setName(t$d("TASKBONE_ENABLE_NAME")).setDesc(fragWithHTML(t$d("TASKBONE_ENABLE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.taskboneEnabled).onChange((async e=>{if(u.setDisabled(!e),this.plugin.settings.taskboneEnabled=e,""===this.plugin.settings.taskboneAPIkey){const e=await this.plugin.taskbone.initialize(!1);e&&u.setValue(e)}this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("TASKBONE_APIKEY_NAME")).setDesc(fragWithHTML(t$d("TASKBONE_APIKEY_DESC"))).addText((e=>{u=e,u.setValue(this.plugin.settings.taskboneAPIkey).onChange((async e=>{this.plugin.settings.taskboneAPIkey=e,this.applySettingsUpdate()})).setDisabled(!this.plugin.settings.taskboneEnabled)}));const g=null===(e=this.plugin.scriptEngine.getListofScripts())||void 0===e?void 0:e.map((e=>this.plugin.scriptEngine.getScriptName(e)));if(Object.keys(this.plugin.settings.scriptEngineSettings).length>0&&g){const e=(e,A)=>{const t=this.plugin.settings.scriptEngineSettings[e][A];return"object"==typeof t?t.height:null},t=(e,A)=>{const t=this.plugin.settings.scriptEngineSettings[e][A];return"object"==typeof t?t.value:t},i=(e,A,t)=>{"object"==typeof this.plugin.settings.scriptEngineSettings[e][A]?this.plugin.settings.scriptEngineSettings[e][A].value=t:this.plugin.settings.scriptEngineSettings[e][A]=t},n=(e,n,a)=>{new obsidian_module.Setting(A).setName(n).setDesc(fragWithHTML(null!=a?a:"")).addToggle((A=>A.setValue(t(e,n)).onChange((async A=>{i(e,n,A),this.applySettingsUpdate()}))))},a=(n,a,r,s)=>{s&&"[object Array]"===Object.prototype.toString.call(s)&&s.length>0?new obsidian_module.Setting(A).setName(a).setDesc(fragWithHTML(null!=r?r:"")).addDropdown((e=>{s.forEach((A=>e.addOption(A.toString(),A.toString()))),e.setValue(t(n,a)).onChange((async e=>{i(n,a,e),this.applySettingsUpdate()}))})):e(n,a)?new obsidian_module.Setting(A).setName(a).setDesc(fragWithHTML(null!=r?r:"")).addTextArea((A=>{A.inputEl.style.minHeight=e(n,a),A.inputEl.style.minWidth="400px",A.setValue(t(n,a)).onChange((async e=>{i(n,a,e),this.applySettingsUpdate()}))})):new obsidian_module.Setting(A).setName(a).setDesc(fragWithHTML(null!=r?r:"")).addText((e=>e.setValue(t(n,a)).onChange((async e=>{i(n,a,e),this.applySettingsUpdate()}))))},r=(e,n,a)=>{new obsidian_module.Setting(A).setName(n).setDesc(fragWithHTML(null!=a?a:"")).addText((A=>A.setPlaceholder("Enter a number").setValue(t(e,n).toString()).onChange((async a=>{const r=parseFloat(a);isNaN(r)&&""!==a?A.setValue(t(e,n).toString()):(i(e,n,isNaN(r)?0:r),this.applySettingsUpdate())}))))};this.containerEl.createEl("h1",{text:t$d("SCRIPT_SETTINGS_HEAD")}),Object.keys(this.plugin.settings.scriptEngineSettings).filter((e=>g.contains(e))).forEach((e=>{const A=this.plugin.settings.scriptEngineSettings[e],t=Object.values(A);0===t.length||t.length>0&&0===t.map((e=>e.hidden?0:1)).reduce(((e,A)=>e+A))||(this.containerEl.createEl("h3",{text:e}),Object.keys(A).forEach((t=>{var i;const s=A[t];switch(typeof(null!==(i=s.value)&&void 0!==i?i:s)){case"boolean":s.hidden||n(e,t,s.description);break;case"string":s.hidden||a(e,t,s.description,s.valueset);break;case"number":s.hidden||r(e,t,s.description)}})))}))}}}var openDialogAction;!function(e){e[e.openFile=0]="openFile",e[e.insertLinkToDrawing=1]="insertLinkToDrawing"}(openDialogAction||(openDialogAction={}));class OpenFileDialog extends obsidian_module.FuzzySuggestModal{constructor(e,A){super(e),this.app=e,this.action=openDialogAction.openFile,this.plugin=A,this.onNewPane=!1,this.limit=20,this.setInstructions([{command:t$d("TYPE_FILENAME"),purpose:""}]),this.inputEl.onkeyup=e=>{"Enter"==e.key&&this.action==openDialogAction.openFile&&this.containerEl.innerText.includes(EMPTY_MESSAGE)&&(this.plugin.createAndOpenDrawing(`${this.plugin.settings.folder}/${this.inputEl.value}.excalidraw.md`,this.onNewPane?"new-pane":"active-pane"),this.close())}}getItems(){return(this.app.vault.getFiles()||[]).filter((e=>this.plugin.isExcalidrawFile(e)))}getItemText(e){return e.path}onChooseItem(e){switch(this.action){case openDialogAction.openFile:this.plugin.openDrawing(e,this.onNewPane?"new-pane":"active-pane",!0);break;case openDialogAction.insertLinkToDrawing:this.plugin.embedDrawing(e)}}start(e,A){switch(this.action=e,this.onNewPane=A,e){case openDialogAction.openFile:this.emptyStateText=EMPTY_MESSAGE,this.setPlaceholder(t$d("SELECT_FILE_OR_TYPE_NEW"));break;case openDialogAction.insertLinkToDrawing:this.emptyStateText=t$d("NO_MATCH"),this.setPlaceholder(t$d("SELECT_TO_EMBED"))}this.open()}}class InsertLinkDialog extends obsidian_module.FuzzySuggestModal{constructor(e){super(e),this.app=e,this.limit=20,this.setInstructions([{command:t$d("SELECT_FILE"),purpose:""}]),this.setPlaceholder(t$d("SELECT_FILE_TO_LINK")),this.emptyStateText=t$d("NO_MATCH")}getItems(){return this.app.metadataCache.getLinkSuggestions().filter((e=>!e.path.match(REG_LINKINDEX_INVALIDCHARS)))}getItemText(e){return e.path+(e.alias?`|${e.alias}`:"")}onChooseItem(e){let A=e.path;e.file&&(A=this.app.metadataCache.fileToLinktext(e.file,this.drawingPath,!0)),this.addText(`[[${A+(e.alias?`|${e.alias}`:"")}]]`)}start(e,A){this.addText=A,this.drawingPath=e,this.open()}}class InsertImageDialog extends obsidian_module.FuzzySuggestModal{constructor(e){super(e.app),this.plugin=e,this.app=e.app,this.limit=20,this.setInstructions([{command:t$d("SELECT_FILE_WITH_OPTION_TO_SCALE"),purpose:""}]),this.setPlaceholder(t$d("SELECT_DRAWING")),this.emptyStateText=t$d("NO_MATCH"),this.inputEl.onkeyup=e=>{"Enter"===e.key&&scaleToFullsizeModifier(e)&&this.chooser.values&&(this.onChooseItem(this.chooser.values[this.chooser.selectedItem].item,new KeyboardEvent("keypress",{shiftKey:!0,metaKey:!(DEVICE.isIOS||DEVICE.isMacOS),ctrlKey:DEVICE.isIOS||DEVICE.isMacOS})),this.close())}}getItems(){return(this.app.vault.getFiles()||[]).filter((e=>(IMAGE_TYPES.contains(e.extension)||this.plugin.isExcalidrawFile(e))&&!e.path.match(REG_LINKINDEX_INVALIDCHARS)))}getItemText(e){return e.path}onChooseItem(e,A){const t=this.plugin.ea.getAPI(this.view);t.canvas.theme=this.view.excalidrawAPI.getAppState().theme;const i=scaleToFullsizeModifier(A);(async()=>{await t.addImage(0,0,e,!i),t.addElementsToView(!0,!1,!0)})()}start(e){this.view=e,this.open()}}class ImportSVGDialog extends obsidian_module.FuzzySuggestModal{constructor(e){super(e.app),this.plugin=e,this.app=e.app,this.limit=20,this.setInstructions([{command:t$d("SELECT_FILE"),purpose:""}]),this.setPlaceholder(t$d("SELECT_DRAWING")),this.emptyStateText=t$d("NO_MATCH")}getItems(){return(this.app.vault.getFiles()||[]).filter((e=>"svg"===e.extension&&!e.path.match(REG_LINKINDEX_INVALIDCHARS)))}getItemText(e){return e.path}async onChooseItem(e,A){if(!e)return;const t=this.plugin.ea;t.reset(),t.setView(this.view);const i=await app.vault.read(e);i&&""!==i&&(t.importSVG(i),t.addElementsToView(!0,!0,!0))}start(e){this.view=e,this.open()}}class InsertMDDialog extends obsidian_module.FuzzySuggestModal{constructor(e){super(e.app),this.plugin=e,this.app=e.app,this.limit=20,this.setInstructions([{command:t$d("SELECT_FILE"),purpose:""}]),this.setPlaceholder(t$d("SELECT_MD")),this.emptyStateText=t$d("NO_MATCH")}getItems(){return(this.app.vault.getFiles()||[]).filter((e=>"md"===e.extension&&!this.plugin.isExcalidrawFile(e)))}getItemText(e){return e.path}onChooseItem(e){const A=this.plugin.ea;A.reset(),A.setView(this.view),(async()=>{await A.addImage(0,0,e),A.addElementsToView(!0,!1,!0)})()}start(e){this.view=e,this.open()}}function around(e,A){const t=Object.keys(A).map((t=>around1(e,t,A[t])));return 1===t.length?t[0]:function(){t.forEach((e=>e()))}}function around1(e,A,t){const i=e[A],n=e.hasOwnProperty(A);let a=t(i);return i&&Object.setPrototypeOf(a,i),Object.setPrototypeOf(r,a),e[A]=r,s;function r(...t){return a===i&&e[A]===r&&s(),a.apply(this,t)}function s(){e[A]===r&&(n?e[A]=i:delete e[A]),a!==i&&(a=i,Object.setPrototypeOf(r,i||Function))}}let plugin$1,vault$1,metadataCache$1;const getDefaultWidth$1=e=>{const A=parseInt(e.settings.width);return isNaN(A)||0===A||null===A?"400":e.settings.width},initializeMarkdownPostProcessor=e=>{plugin$1=e,vault$1=e.app.vault,metadataCache$1=e.app.metadataCache},getIMG$1=async(e,A=!1)=>{var t;let i=e.file;if(!e.file){const A=vault$1.getAbstractFileByPath(null===(t=e.fname)||void 0===t?void 0:t.split("#")[0]);if(!(A&&A instanceof obsidian_module.TFile))return null;i=A}const n=getEmbeddedFilenameParts(e.fname);e.style=e.style.replaceAll(" ","-");const a=hasExportTheme(plugin$1,i)?getExportTheme(plugin$1,i,"light"):void 0,r={withBackground:getWithBackground(plugin$1,i),withTheme:!!a||plugin$1.settings.exportWithTheme},s=createEl("img");let o=`max-width:${e.fwidth}${e.fwidth.match(/\d$/)?"px":""}; `;e.fheight&&(o+=`height:${e.fheight}px;`),A||s.setAttribute("style",o),s.addClass(e.style);const l=null!=a?a:plugin$1.settings.previewMatchObsidianTheme?isObsidianThemeDark()?"dark":"light":plugin$1.settings.exportWithTheme?void 0:"light";l&&(r.withTheme=!0);const c=new EmbeddedFilesLoader(plugin$1,l?"dark"===l:void 0);if(!plugin$1.settings.displaySVGInPreview){const A=parseInt(e.fwidth),t=A>=2400?5:A>=1800?4:A>=1200?3:A>=600?2:1,a=n.hasGroupref?void 0:await getQuickImagePreview(plugin$1,i.path,"png"),o=null!=a?a:await createPNG(n.hasGroupref?n.filepath+n.linkpartReference:i.path,t,r,c,l,null,null,[],plugin$1,0);return o?(s.src=URL.createObjectURL(o),s):null}if(!n.hasBlockref&&!n.hasSectionref){const e=await getQuickImagePreview(plugin$1,i.path,"svg");if(e)return s.setAttribute("src",svgToBase64(e)),s}const d=(await createSVG(n.hasGroupref||n.hasBlockref||n.hasSectionref?n.filepath+n.linkpartReference:i.path,!0,r,c,l,null,null,[],plugin$1,0,getExportPadding(plugin$1,i))).outerHTML;let h=null;const u=document.createElement("div");u.innerHTML=d;const g=u.firstChild;return g instanceof SVGSVGElement&&(h=g),h?(h=embedFontsInSVG(h,plugin$1),s.setAttribute("src",svgToBase64(h.outerHTML)),s):null},createImgElement=async(e,A=!1)=>{const t=await getIMG$1(e,A);let i;t.setAttribute("fileSource",e.fname),e.fwidth&&t.setAttribute("w",e.fwidth),e.fheight&&t.setAttribute("h",e.fheight),t.setAttribute("draggable","false"),t.setAttribute("onCanvas",A?"true":"false");const n=e=>{if(e.target instanceof Element&&"img"!=e.target.tagName.toLowerCase())return;const A=t.getAttribute("fileSource");if(A){const t=A.match(/([^#]*)(.*)/);if(!t)return;plugin$1.openDrawing(vault$1.getAbstractFileByPath(t[1]),linkClickModifierType(e),!0,t[2])}};let a;return t.addEventListener("pointermove",(e=>{i&&(Math.abs(e.screenX-a.screenX)>10||Math.abs(e.screenY-a.screenY)>10)&&(clearTimeout(i),i=null)})),t.addEventListener("pointerdown",(e=>{var A;(null===(A=null==t?void 0:t.parentElement)||void 0===A?void 0:A.hasClass("canvas-node-content"))||(i=setTimeout((()=>n(e)),500),a=e)})),t.addEventListener("pointerup",(()=>{i&&clearTimeout(i),i=null})),t.addEventListener("dblclick",n),t.addEventListener(RERENDER_EVENT,(async e=>{e.stopPropagation();const A=t.parentElement,i=t.style.maxWidth,n=t.style.maxHeight,a=t.getAttribute("fileSource"),r="true"===t.getAttribute("onCanvas"),s=await createImgElement({fname:a,fwidth:t.getAttribute("w"),fheight:t.getAttribute("h"),style:t.getAttribute("class")},r);A.empty(),r||(s.style.maxHeight=n,s.style.maxWidth=i),s.setAttribute("fileSource",a),A.append(s)})),t},createImageDiv$1=async(e,A=!1)=>{const t=await createImgElement(e,A);return createDiv(e.style,(e=>e.append(t)))},processReadingMode$1=async(e,A)=>{var t;for(const i of e){const e=null===(t=i.getAttribute("src"))||void 0===t?void 0:t.split("#")[0];if(!e)continue;const n=metadataCache$1.getFirstLinkpathDest(e,A.sourcePath);if(n&&n instanceof obsidian_module.TFile&&plugin$1.isExcalidrawFile(n)){if(isTextOnlyEmbed$1(i))continue;i.parentElement.replaceChild(await processInternalEmbed$1(i,n),i)}}},processInternalEmbed$1=async(e,A)=>{const t={fname:"",fheight:"",fwidth:"",style:""},i=e.getAttribute("src");if(!i)return;t.fwidth=e.getAttribute("width")?e.getAttribute("width"):getDefaultWidth$1(plugin$1),t.fheight=e.getAttribute("height");let n=e.getAttribute("alt");t.style="excalidraw-svg",processAltText$1(i.split("#")[0],n,t);const a=getEmbeddedFilenameParts(i);return t.fname=(null==A?void 0:A.path)+(a.hasBlockref||a.hasSectionref?a.linkpartReference:""),t.file=A,await createImageDiv$1(t)},processAltText$1=(e,A,t)=>{var i,n;if(A&&!A.startsWith(e)){const a=A.match(/[^\|\d]*\|?((\d*%?)x?(\d*%?))?\|?(.*)/);t.fwidth=null!==(i=a[2])&&void 0!==i?i:t.fwidth,t.fheight=null!==(n=a[3])&&void 0!==n?n:t.fheight,a[4]&&!a[4].startsWith(e)&&(t.style=`excalidraw-svg-${a[4]}`),a[4]&&""!==a[4]||a[2]&&""!==a[2]||!a[0]||""===a[0]||(t.style=`excalidraw-svg-${a[0]}`)}},isTextOnlyEmbed$1=e=>{const A=e.getAttribute("src");if(!A)return!0;const t=getEmbeddedFilenameParts(A);return!(t.hasArearef||t.hasGroupref)&&(t.hasBlockref||t.hasSectionref)},tmpObsidianWYSIWYG$1=async(e,A)=>{const t=app.vault.getAbstractFileByPath(A.sourcePath);if(!(t instanceof obsidian_module.TFile))return;if(!plugin$1.isExcalidrawFile(t))return;if(A.remainingNestLevel<4)return;const i=A.containerEl;let n=i;for(;!n.hasClass("dataview")&&!n.hasClass("cm-preview-code-block")&&!n.hasClass("cm-embed-block")&&!n.hasClass("internal-embed")&&!n.hasClass("markdown-reading-view")&&!n.hasClass("markdown-embed")&&n.parentElement;)n=n.parentElement;if(n.hasClass("dataview")||n.hasClass("cm-preview-code-block")||n.hasClass("cm-embed-block"))return;const a={fname:A.sourcePath,fheight:"",fwidth:getDefaultWidth$1(plugin$1),style:"excalidraw-svg"};a.file=t;const r=n.hasClass("markdown-embed"),s=n.hasClass("markdown-reading-view");if(!n.hasClass("internal-embed")&&(r||s)){const A=Boolean(e.querySelector(".frontmatter"));if(e.empty(),!A)return void(e.parentElement===i&&i.removeChild(e));n.empty();const t=n.hasClass("canvas-node-content"),s=await createImageDiv$1(a,t);return r?(t&&(n.removeClass("markdown-embed"),n.addClass("media-embed"),n.addClass("image-embed")),!t&&s.firstChild instanceof HTMLElement&&(s.firstChild.style.maxHeight="100%",s.firstChild.style.maxWidth=null),void n.appendChild(s.firstChild)):void n.appendChild(s)}if(isTextOnlyEmbed$1(n))return;if(e.empty(),n.hasAttribute("ready"))return;n.setAttribute("ready",""),n.empty();const o=await processInternalEmbed$1(n,t);n.appendChild(o);let l=null;const c=new MutationObserver((e=>{var A;["alt","width","height"].contains(null===(A=e[0])||void 0===A?void 0:A.attributeName)&&(l&&clearTimeout(l),l=setTimeout((async()=>{l=null,n.empty();const e=await processInternalEmbed$1(n,t);n.appendChild(e)}),500))}));c.observe(n,{attributes:!0})},markdownPostProcessor=async(e,A)=>{var t;const i=e.querySelectorAll(".internal-embed");0!==i.length?Boolean(null===(t=A.frontmatter)||void 0===t?void 0:t.hasOwnProperty("excalidraw-plugin"))?e.style.display="none":await processReadingMode$1(i,A):tmpObsidianWYSIWYG$1(e,A)},hoverEvent=e=>{e.linktext?(plugin$1.hover.linkText=e.linktext,plugin$1.hover.sourcePath=e.sourcePath):plugin$1.hover.linkText=null},observer=new MutationObserver((async e=>{if(0==e.length)return;if(!plugin$1.hover.linkText)return;const A=metadataCache$1.getFirstLinkpathDest(plugin$1.hover.linkText,plugin$1.hover.sourcePath?plugin$1.hover.sourcePath:"");if(!A)return;if(!(A instanceof obsidian_module.TFile))return;if("excalidraw"!==A.extension)return;const t=getIMGFilename(A.path,"svg"),i=vault$1.getAbstractFileByPath(t);if(i&&i instanceof obsidian_module.TFile)return;const n=getIMGFilename(A.path,"png"),a=vault$1.getAbstractFileByPath(n);if(a&&a instanceof obsidian_module.TFile)return;if(!plugin$1.hover.linkText)return;if(1!=e.length)return;if(1!=e[0].addedNodes.length)return;if("popover hover-popover file-embed is-loaded"!=!e[0].addedNodes[0].classNames)return;const r=e[0].addedNodes[0];r.empty();const s=await getIMG$1({file:A,fname:A.path,fwidth:"300",fheight:null,style:"excalidraw-svg"}),o=createDiv("",(async e=>{e.appendChild(s),e.setAttribute("src",A.path),e.onClickEvent((A=>{A.stopImmediatePropagation();const t=e.getAttribute("src");t&&plugin$1.openDrawing(vault$1.getAbstractFileByPath(t),linkClickModifierType(A))}))}));r.appendChild(o)})),EXCALIDRAW_AUTOMATE_INFO=[{field:"plugin",code:null,desc:"The ExcalidrawPlugin object",after:""},{field:"elementsDict",code:null,desc:"The {} dictionary object, contains the ExcalidrawElements currently edited in Automate indexed by el.id",after:'[""]'},{field:"imagesDict",code:null,desc:"the images files including DataURL, indexed by fileId",after:'[""]'},{field:"style.strokeColor",code:"[string]",desc:"A valid css color. See W3 School Colors for more.",after:""},{field:"style.backgroundColor",code:"[string]",desc:"A valid css color. See W3 School Colors for more.",after:""},{field:"style.angle",code:"[number]",desc:"Rotation of the object in radian",after:""},{field:"style.fillStyle",code:"[string]",desc:"'hachure' | 'cross-hatch' | 'solid'",after:""},{field:"style.strokeWidth",code:"[number]",desc:null,after:""},{field:"style.strokeStyle",code:"[string]",desc:"'solid' | 'dashed' | 'dotted'",after:""},{field:"style.roughness",code:"[number]",desc:"0:Architect\n1:Artist\n2:Cartoonist",after:""},{field:"style.opacity",code:"[number]",desc:"100: Fully opaque\n0: Fully transparent",after:""},{field:"style.roundness",code:"[null | { type: RoundnessType; value?: number };]",desc:"set to null for 'sharp', else the stroke will be 'round'
type: 1==LEGACY,
2==PROPORTIONAL RADIUS,
3==ADAPTIVE RADIUS, value: adaptive factor defaults to 32",after:""},{field:"style.fontFamily",code:"[number]",desc:"1: Virgil, 2:Helvetica, 3:Cascadia, 4:LocalFont",after:""},{field:"style.fontSize",code:"[number]",desc:null,after:""},{field:"style.textAlign",code:"[string]",desc:"'left' | 'right' | 'center'",after:""},{field:"style.verticalAlign",code:"[string]",desc:"For future use, has no effect currently; 'top' | 'bottom' | 'middle'",after:""},{field:"style.startArrowHead",code:"[string]",desc:"'triangle' | 'dot' | 'arrow' | 'bar' | null",after:""},{field:"style.endArrowHead",code:"[string]",desc:"'triangle' | 'dot' | 'arrow' | 'bar' | null",after:""},{field:"canvas.theme",code:"[string]",desc:"'dark' | 'light'",after:""},{field:"canvas.viewBackgroundColor",code:"[string]",desc:"A valid css color.\nSee W3 School Colors for more.",after:""},{field:"canvas.gridSize",code:"[number]",desc:null,after:""},{field:"addToGroup",code:"addToGroup(objectIds: []): string;",desc:null,after:""},{field:"toClipboard",code:"toClipboard(templatePath?: string): void;",desc:"Copies current elements using template to clipboard, ready to be pasted into an excalidraw canvas",after:""},{field:"getElements",code:"getElements(): ExcalidrawElement[];",desc:"Get all elements from ExcalidrawAutomate elementsDict",after:""},{field:"getElement",code:"getElement(id: string): ExcalidrawElement;",desc:"Get single element from ExcalidrawAutomate elementsDict",after:""},{field:"create",code:'create(params?: {filename?: string, foldername?: string, templatePath?: string, onNewPane?: boolean, frontmatterKeys?: { "excalidraw-plugin"?: "raw" | "parsed", "excalidraw-link-prefix"?: string, "excalidraw-link-brackets"?: boolean, "excalidraw-url-prefix"?: string,},}): Promise;',desc:"Create a drawing and save it to filename.\nIf filename is null: default filename as defined in Excalidraw settings.\nIf folder is null: default folder as defined in Excalidraw settings\n",after:""},{field:"createSVG",code:"createSVG(templatePath?: string, embedFont?: boolean, exportSettings?: ExportSettings, loader?: EmbeddedFilesLoader, theme?: string,): Promise;",desc:"Use ExcalidrawAutomate.getExportSettings(boolean,boolean) to create an ExportSettings object.\nUse ExcalidrawAutomate.getEmbeddedFilesLoader(boolean?) to create an EmbeddedFilesLoader object.",after:""},{field:"createPNG",code:"createPNG(templatePath?: string, scale?: number, exportSettings?: ExportSettings, loader?: EmbeddedFilesLoader, theme?: string,): Promise;",desc:"Use ExcalidrawAutomate.getExportSettings(boolean,boolean) to create an ExportSettings object.\nUse ExcalidrawAutomate.getEmbeddedFilesLoader(boolean?) to create an EmbeddedFilesLoader object.",after:""},{field:"wrapText",code:"wrapText(text: string, lineLen: number): string;",desc:null,after:""},{field:"addRect",code:"addRect(topX: number, topY: number, width: number, height: number): string;",desc:null,after:""},{field:"addDiamond",code:"addDiamond(topX: number, topY: number, width: number, height: number): string;",desc:null,after:""},{field:"addEllipse",code:"addEllipse(topX: number, topY: number, width: number, height: number): string;",desc:null,after:""},{field:"addBlob",code:"addBlob(topX: number, topY: number, width: number, height: number): string;",desc:null,after:""},{field:"addText",code:'addText(topX: number, topY: number, text: string, formatting?: {wrapAt?: number; width?: number; height?: number; textAlign?: string; box?: boolean | "box" | "blob" | "ellipse" | "diamond"; boxPadding?: number;}, id?: string,): string;',desc:"If box is !null, then text will be boxed\nThe function returns the id of the TextElement. If the text element is boxed i.e. it is a sticky note, then the id of the container object",after:""},{field:"addLine",code:"addLine(points: [[x: number, y: number]]): string;",desc:null,after:""},{field:"addArrow",code:"addArrow(points: [[x: number, y: number]], formatting?: { startArrowHead?: string; endArrowHead?: string; startObjectId?: string; endObjectId?: string;},): string;",desc:null,after:""},{field:"addImage",code:"addImage(topX: number, topY: number, imageFile: TFile, scale: boolean): Promise;",desc:"set scale to false if you want to embed the image at 100% of its original size. Default is true which will insert a scaled image",after:""},{field:"addLaTex",code:"addLaTex(topX: number, topY: number, tex: string): Promise;",desc:null,after:""},{field:"connectObjects",code:"connectObjects(objectA: string, connectionA: ConnectionPoint, objectB: string, connectionB: ConnectionPoint, formatting?: {numberOfPoints?: number; startArrowHead?: string; endArrowHead?: string; padding?: number;},): string;",desc:'type ConnectionPoint = "top" | "bottom" | "left" | "right" | null\nWhen null is passed as ConnectionPoint then Excalidraw will automatically decide\nnumberOfPoints is the number of points on the line. Default is 0 i.e. line will only have a start and end point.\nArrowHead: "triangle"|"dot"|"arrow"|"bar"|null',after:""},{field:"addLabelToLine",code:"addLabelToLine(lineId: string, label: string): string;",desc:"Adds a text label to a line or arrow. Currently only works with a simple straight 2-point (start & end) line",after:""},{field:"clear",code:"clear(): void;",desc:"Clears elementsDict and imagesDict only",after:""},{field:"reset",code:"reset(): void;",desc:"clear() + reset all style values to default",after:""},{field:"isExcalidrawFile",code:"isExcalidrawFile(f: TFile): boolean;",desc:"Returns true if MD file is an Excalidraw file",after:""},{field:"targetView",code:"targetView: ExcalidrawView;",desc:"The Obsidian view currently edited",after:""},{field:"setView",code:'setView(view: ExcalidrawView | "first" | "active"): ExcalidrawView;',desc:null,after:""},{field:"getExcalidrawAPI",code:"getExcalidrawAPI(): any;",desc:"Excalidraw API",after:""},{field:"getViewElements",code:"getViewElements(): ExcalidrawElement[];",desc:"Get elements in View",after:""},{field:"deleteViewElements",code:"deleteViewElements(el: ExcalidrawElement[]): boolean;",desc:null,after:""},{field:"getViewSelectedElement",code:"getViewSelectedElement(): ExcalidrawElement;",desc:"Get the selected element in the view, if more are selected, get the first",after:""},{field:"getViewSelectedElements",code:"getViewSelectedElements(): ExcalidrawElement[];",desc:null,after:""},{field:"getViewFileForImageElement",code:"getViewFileForImageElement(el: ExcalidrawElement): TFile | null;",desc:"Returns the TFile file handle for the image element",after:""},{field:"copyViewElementsToEAforEditing",code:"copyViewElementsToEAforEditing(elements: ExcalidrawElement[]): void;",desc:"Copies elements from view to elementsDict for editing",after:""},{field:"viewToggleFullScreen",code:"viewToggleFullScreen(forceViewMode?: boolean): void;",desc:null,after:""},{field:"connectObjectWithViewSelectedElement",code:"connectObjectWithViewSelectedElement(objectA: string, connectionA: ConnectionPoint, connectionB: ConnectionPoint, formatting?: {numberOfPoints?: number; startArrowHead?: string; endArrowHead?: string; padding?: number;},): boolean;",desc:"Connect an object to the selected element in the view\nSee tooltip for connectObjects for details",after:""},{field:"addElementsToView",code:"addElementsToView(repositionToCursor?: boolean, save?: boolean, newElementsOnTop?: boolean,): Promise;",desc:"Adds elements from elementsDict to the current view\nrepositionToCursor: default is false\nsave: default is true\nnewElementsOnTop: default is false, i.e. the new elements get to the bottom of the stack\nnewElementsOnTop controls whether elements created with ExcalidrawAutomate are added at the bottom of the stack or the top of the stack of elements already in the view\nNote that elements copied to the view with copyViewElementsToEAforEditing retain their position in the stack of elements in the view even if modified using EA",after:""},{field:"onDropHook",code:'onDropHook(data: {ea: ExcalidrawAutomate, event: React.DragEvent, draggable: any, type: "file" | "text" | "unknown", payload: {files: TFile[], text: string,}, excalidrawFile: TFile, view: ExcalidrawView, pointerPosition: { x: number, y: number},}): boolean;',desc:"If set Excalidraw will call this function onDrop events.\nA return of true will stop the default onDrop processing in Excalidraw.\n\ndraggable is the Obsidian draggable object\nfiles is the array of dropped files\nexcalidrawFile is the file receiving the drop event\nview is the excalidraw view receiving the drop.\npointerPosition is the pointer position on canvas at the time of drop.",after:""},{field:"mostRecentMarkdownSVG",code:"mostRecentMarkdownSVG: SVGSVGElement;",desc:"Markdown renderer will drop a copy of the most recent SVG here for debugging purposes",after:""},{field:"getEmbeddedFilesLoader",code:"getEmbeddedFilesLoader(isDark?: boolean): EmbeddedFilesLoader;",desc:"Utility function to generate EmbeddedFilesLoader object",after:""},{field:"getExportSettings",code:"getExportSettings(withBackground: boolean, withTheme: boolean,): ExportSettings;",desc:"Utility function to generate ExportSettings object",after:""},{field:"getBoundingBox",code:"getBoundingBox(elements: ExcalidrawElement[]): {topX: number, topY: number, width: number, height: number,};",desc:"Gets the bounding box of elements. The bounding box is the box encapsulating all of the elements completely.",after:""},{field:"getMaximumGroups",code:"getMaximumGroups(elements: ExcalidrawElement[]): ExcalidrawElement[][];",desc:"Elements grouped by the highest level groups",after:""},{field:"getLargestElement",code:"getLargestElement(elements: ExcalidrawElement[]): ExcalidrawElement;",desc:"Gets the largest element from a group. useful when a text element is grouped with a box, and you want to connect an arrow to the box",after:""},{field:"intersectElementWithLine",code:"intersectElementWithLine(element: ExcalidrawBindableElement, a: readonly [number, number], b: readonly [number, number], gap?: number,): Point[];",desc:"If gap is given, the element is inflated by this value.\nReturns 2 or 0 intersection points between line going through `a` and `b` and the `element`, in ascending order of distance from `a`.",after:""},{field:"getCommonGroupForElements",code:"getCommonGroupForElements(elements: ExcalidrawElement[]): string;",desc:"Gets the groupId for the group that contains all the elements, or null if such a group does not exist",after:""},{field:"getElementsInTheSameGroupWithElement",code:"getElementsInTheSameGroupWithElement(element: ExcalidrawElement, elements: ExcalidrawElement[]): ExcalidrawElement[];",desc:"Gets all the elements from elements[] that share one or more groupIds with element.",after:""},{field:"activeScript",code:"activeScript: string;",desc:"Mandatory to set before calling the get and set ScriptSettings functions. Set automatically by the ScriptEngine\nSee for more details: Script Engine Help",after:""},{field:"getScriptSettings",code:"getScriptSettings(): {};",desc:"Returns script settings. Saves settings in plugin settings, under the activeScript key. See for more details: Script Engine Help",after:""},{field:"setScriptSettings",code:"setScriptSettings(settings: any): Promise;",desc:"Sets script settings.\nSee for more details: Script Engine Help",after:""},{field:"openFileInNewOrAdjacentLeaf",code:"openFileInNewOrAdjacentLeaf(file: TFile): WorkspaceLeaf;",desc:"Open a file in a new workspaceleaf or reuse an existing adjacent leaf depending on Excalidraw Plugin Settings",after:""},{field:"measureText",code:"measureText(text: string): { width: number; height: number };",desc:"Measures text size based on current style settings",after:""},{field:"verifyMinimumPluginVersion",code:"verifyMinimumPluginVersion(requiredVersion: string): boolean;",desc:'Returns true if plugin version is >= than required\nrecommended use:\nif(!ea.verifyMinimumPluginVersion || !ea.verifyMinimumPluginVersion("1.5.20")) {new Notice("message");return;}',after:""},{field:"selectElementsInView",code:"selectElementsInView(elements: ExcalidrawElement[]):void;",desc:"Elements provided will be set as selected in the targetView.",after:""},{field:"generateElementId",code:"generateElementId(): string;",desc:"Returns an 8 character long random id",after:""},{field:"cloneElement",code:"cloneElement(element: ExcalidrawElement): ExcalidrawElement;",desc:"Returns a clone of the element with a new element id",after:""},{field:"moveViewElementToZIndex",code:"moveViewElementToZIndex(elementId:number, newZIndex:number): void;",desc:"Moves the element to a specific position in the z-index",after:""},{field:"hexStringToRgb",code:"hexStringToRgb(color: string):number[];",desc:"Converts a HEX color to an RGB number array. #FF0000 to [255,0,0]",after:""},{field:"rgbToHexString",code:"rgbToHexString(color: number[]):string;",desc:"Converts an RGB number array to a HEX string. [255,0,0] to #FF0000",after:""},{field:"hslToRgb",code:"hslToRgb(color: number[]):number[];",desc:"Converts an HSL number array to an RGB number array. [0,100,50] to [255,0,0]",after:""},{field:"rgbToHsl",code:"rgbToHsl(color:number[]):number[];",desc:"Converts an RGB number array to an HSL number array. [255,0,0] to [0,100,50]",after:""},{field:"colorNameToHex",code:"colorNameToHex(color:string):string;",desc:"Converts a CSS color name to its HEX color equivalent. 'White' to #FFFFFF",after:""},{field:"obsidian",code:"obsidian",desc:"Access functions and objects available on the Obsidian Module",after:""},{field:"setViewModeEnabled",code:"setViewModeEnabled(enabled: boolean): void;",desc:"Sets Excalidraw in the targetView to view-mode",after:""},{field:"viewUpdateScene",code:"viewUpdateScene(scene:{elements?:ExcalidrawElement[],appState?: AppState,files?: BinaryFileData,commitToHistory?: boolean,},restore:boolean=false):void",desc:"Calls the ExcalidrawAPI updateScene function for the targetView. When restore=true, excalidraw will try to correct errors in the scene such as setting default values to missing element properties.",after:""},{field:"viewZoomToElements",code:"viewZoomToElements(selectElements: boolean,elements: ExcalidrawElement[]):void",desc:"Zoom tarteView to fit elements provided as input. elements === [] will zoom to fit the entire scene. SelectElements toggles whether the elements should be in a selected state at the end of the operation.",after:""}],EXCALIDRAW_SCRIPTENGINE_INFO=[{field:"inputPrompt",code:"inputPrompt: (header: string, placeholder?: string, value?: string, buttons?: [{caption:string, action:Function}]);",desc:"Opens a prompt that asks for an input.\nReturns a string with the input.\nYou need to await the result of inputPrompt.\nbuttons.action(input: string) => string\nThe button action function will receive the actual input string. If action returns null, input will be unchanged. If action returns a string, input will receive that value when the promise is resolved. example:\nlet fileType = '';\nconst filename = await utils.inputPrompt (\n 'Filename',\n '',\n '',\n, [\n {\n caption: 'Markdown',\n action: ()=>{fileType='md';return;}\n },\n {\n caption: 'Excalidraw',\n action: ()=>{fileType='ex';return;}\n }\n ]\n);",after:""},{field:"suggester",code:"suggester: (displayItems: string[], items: any[], hint?: string, instructions?:Instruction[]);",desc:"Opens a suggester. Displays the displayItems and returns the corresponding item from items[]\nYou need to await the result of suggester.\nIf the user cancels (ESC), suggester will return undefined\nHint and instructions are optional\n\ninterface Instruction {command: string;purpose: string;}",after:""},{field:"scriptFile",code:"scriptFile: TFile",desc:"The TFile of the currently running script",after:""}],FRONTMATTER_KEYS_INFO=[{field:"plugin",code:null,desc:"Denotes an excalidraw file. If key is not present, the file will not be recognized as an Excalidarw file. Valid values are 'parsed' and 'raw'",after:": parsed"},{field:"link-prefix",code:null,desc:"Set custom prefix to denote text element containing a valid internal link. Set to empty string if you do not want to show a prefix",after:': "📍"'},{field:"url-prefix",code:null,desc:"Set custom prefix to denote text element containing a valid external link. Set to empty string if you do not want to show a prefix",after:': "🌐"'},{field:"link-brackets",code:null,desc:"Set to true, if you want to display [[square brackets]] around the links in Text Elements",after:": true"},{field:"default-mode",code:null,desc:"Specifies how Excalidraw should open by default. Valid values are: view|zen",after:": view"},{field:"linkbutton-opacity",code:null,desc:"The opacity of the blue link button in the top right of the element overriding the respective setting in plugin settings. Valid values are between 0 and 1, where 0 means the button is transparent.",after:": 0.5"},{field:"onload-script",code:null,desc:"The value of this field will be executed as javascript code using the Script Engine environment. Use this to initiate custom actions or logic when loading your drawing.",after:': "new Notice(`Hello World!\\n\\nFile: ${ea.targetView.file.basename}`);"'},{field:"font",code:null,desc:"This key applies to Markdown Embeds. You can control the appearance of the embedded markdown file on a file by file bases by adding the this frontmatter key to your markdown document. Valid values are: Virgil|Cascadia|font_file_name.extension",after:": Virgil"},{field:"font-color",code:null,desc:"This key applies to Markdown Embeds. You can control the appearance of the embedded markdown file on a file by file bases by adding the this frontmatter key to your markdown document. Valid values are: css-color-name|#HEXcolor|any-other-html-standard-format",after:": SteelBlue"},{field:"border-color",code:null,desc:"This key applies to Markdown Embeds. You can control the appearance of the embedded markdown file on a file by file bases by adding the this frontmatter key to your markdown document. Valid values are: css-color-name|#HEXcolor|any-other-html-standard-format",after:": SteelBlue"},{field:"css",code:null,desc:'This key applies to Markdown Embeds. You can control the appearance of the embedded markdown file on a file by file bases by adding the this front matter keys to your markdown document. Valid values are: "css-filename|css snippet"',after:': ""'},{field:"export-transparent",code:null,desc:"If this key is present it will override the default excalidraw embed and export setting. true == Transparent / false == with background",after:": true"},{field:"export-dark",code:null,desc:"If this key is present it will override the default excalidraw embed and export setting. true == Dark mode / false == light mode",after:": true"},{field:"export-padding",code:null,desc:"If this key is present it will override the default excalidraw embed and export setting. This only affects both SVG and PNG export. Specify the export padding for the image.",after:": 5"},{field:"export-pngscale",code:null,desc:"If this key is present it will override the default excalidraw embed and export setting. This only affects export to PNG. Specify the export scale for the image. The typical range is between 0.5 and 5, but you can experiment with other values as well.",after:": 1"},{field:"autoexport",code:null,desc:"Override autoexport settings for this file. Valid values are\nnone\nboth\npng\nsvg",after:": png"}];class FieldSuggester extends obsidian_module.EditorSuggest{constructor(e){super(e.app),this.getSuggestions=e=>{const A=e.query.toLowerCase();return("ea"===this.suggestType?EXCALIDRAW_AUTOMATE_INFO:"utils"===this.suggestType?EXCALIDRAW_SCRIPTENGINE_INFO:FRONTMATTER_KEYS_INFO).map((e=>e.field)).filter((e=>e.toLowerCase().includes(A)))},this.plugin=e}onTrigger(e,A,t){var i,n,a,r,s;if(this.plugin.settings.fieldSuggester){const t=A.getLine(e.line).substring(0,e.ch),o=null!==(r=null!==(n=null===(i=t.match(/^excalidraw-(.*)$/))||void 0===i?void 0:i[1])&&void 0!==n?n:null===(a=t.match(/(^ea|\Wea)\.([\w\.]*)$/))||void 0===a?void 0:a[2])&&void 0!==r?r:null===(s=t.match(/(^utils|\Wutils)\.([\w\.]*)$/))||void 0===s?void 0:s[2];if(void 0!==o)return this.suggestType=t.match(/^excalidraw-(.*)$/)?"excalidraw":t.match(/(^ea|\Wea)\.([\w\.]*)$/)?"ea":"utils",this.latestTriggerInfo={end:e,start:{ch:e.ch-o.length,line:e.line},query:o},this.latestTriggerInfo}return null}renderSuggestion(e,A){const t=e.replace("ea"===this.suggestType?"ea.":"utils"===this.suggestType?"utils.":"excalidraw-",""),i=("ea"===this.suggestType?EXCALIDRAW_AUTOMATE_INFO:"utils"===this.suggestType?EXCALIDRAW_SCRIPTENGINE_INFO:FRONTMATTER_KEYS_INFO).find((A=>A.field===e));A.createEl("b",{text:t}),A.createEl("br"),i.code&&A.createEl("code",{text:i.code}),i.desc&&A.createDiv("div",(e=>e.innerHTML=i.desc))}selectSuggestion(e){var A;const{context:t}=this;if(t){const i="ea"===this.suggestType?EXCALIDRAW_AUTOMATE_INFO:"utils"===this.suggestType?EXCALIDRAW_SCRIPTENGINE_INFO:FRONTMATTER_KEYS_INFO,n=`${e}${null===(A=i.find((A=>A.field===e)))||void 0===A?void 0:A.after}`;if(t.editor.replaceRange(n,this.latestTriggerInfo.start,this.latestTriggerInfo.end),this.latestTriggerInfo.start.ch===this.latestTriggerInfo.end.ch){const e=this.latestTriggerInfo.end;e.ch+=n.length,t.editor.setCursor(e)}}}}class FrontmatterEditor{constructor(e){this.initialized=!1,this.dataWOfrontmatter=e;const A=(e=e.replaceAll("\r\n","\n").replaceAll("\r","\n")).split(/^---(?:.|\n)*(?:^---\n)/gm);2===A.length&&(this.dataWOfrontmatter=A[1],this.frontmatterStr=e.match(/^---((?:.|\n)*)(?:^---\n)/gm)[0].replaceAll(/(^---\n|^\n)/gm,"").trim()+"\n",this.initialized=!0)}hasKey(e){if(!this.initialized)return!1;const A=new RegExp(`^${e}:`,"gm");return Boolean(this.frontmatterStr.match(A))}setKey(e,A){if(this.initialized)if(A=A.replaceAll("\r\n","\n").replaceAll("\r","\n").replaceAll(":",";").trim().split("\n").join(" "),this.hasKey(e)){const t=new RegExp(`^${e}:.*\\n(?:\\s\\s.*\\n)*`,"gm");this.frontmatterStr=this.frontmatterStr.split(t).join("\n").trim()+`\n${e}: ${A}`}else this.frontmatterStr=this.frontmatterStr.trim()+`\n${e}: ${A}`}get data(){return this.initialized?["---",this.frontmatterStr,"---",this.dataWOfrontmatter].join("\n"):this.dataWOfrontmatter}}const TASKBONE_URL="https://api.taskbone.com/",TASKBONE_OCR_FN="execute?id=60f394af-85f6-40bc-9613-5d26dc283cbb";class Taskbone{get apiKey(){return this.plugin.settings.taskboneAPIkey}constructor(e){this.plugin=e}async initialize(e=!0){var A;if(""!==this.plugin.settings.taskboneAPIkey)return;const t=await obsidian_module.requestUrl({url:`${TASKBONE_URL}users/excalidraw-obsidian/identities`,method:"post",contentType:"application/json",throw:!1});if(!t)return;const i=null===(A=t.json)||void 0===A?void 0:A.apiKey;return i&&"string"==typeof i&&(e&&await this.plugin.loadSettings(),this.plugin.settings.taskboneAPIkey=i,e&&await this.plugin.saveSettings()),i}async getTextForView(e,A){await e.forceSave(!0);const t=e.excalidrawAPI.getSceneElements().filter((A=>{var t;return"freedraw"===A.type||"image"===A.type&&!this.plugin.isExcalidrawFile(null===(t=e.excalidrawData.getFile(A.fileId))||void 0===t?void 0:t.file)}));if(0===t.length)return void new obsidian_module.Notice("Aborting OCR because there are no image or freedraw elements on the canvas.",4e3);const i=new FrontmatterEditor(e.data);if(i.hasKey("taskbone-ocr")&&!A)return void new obsidian_module.Notice("The drawing has already been processed, you will find the result in the frontmatter in markdown view mode. If you ran the command from the Obsidian Panel in Excalidraw then you can CTRL(CMD)+click the command to force the rescaning.",4e3);const n=this.plugin.ea.getBoundingBox(t),a=n.width*n.height,r=Math.sqrt(36e4/a),s=Math.sqrt(a/16e6),o=r>1?r:s>1?1/s:1,l=new EmbeddedFilesLoader(this.plugin,!1),c=await createPNG(e.file.path+"#^taskbone",o,{withBackground:!0,withTheme:!0},l,"light",null,null,[],this.plugin,0),d=await this.getTextForImage(c);d&&(i.setKey("taskbone-ocr",d),e.data=i.data,e.save(!1),window.navigator.clipboard.writeText(d),new obsidian_module.Notice("I placed the recognized in the drawing's frontmatter and onto the system clipboard."))}async getTextForImage(e){""===this.apiKey&&await this.initialize();const A={records:[{image:await this.blobToBase64(e)}]},t=await obsidian_module.requestUrl({url:"https://api.taskbone.com/execute?id=60f394af-85f6-40bc-9613-5d26dc283cbb",method:"post",contentType:"application/json",body:JSON.stringify(A),headers:{authorization:`Bearer ${this.apiKey}`},throw:!1}),i=null==t?void 0:t.json;return i&&200===t.status?i.records[0].text:(new obsidian_module.Notice("Something went wrong while processing your request. Please check developer console for more information"),void log(t))}async blobToBase64(e){const A=await e.arrayBuffer(),t=new Uint8Array(A);for(var i="",n=t.byteLength,a=0;a{const A=parseInt(e.settings.width);return isNaN(A)||0===A||null===A?"400":e.settings.width},initializeMarkdownPostProcessor_Legacy=e=>{plugin=e,vault=e.app.vault,metadataCache=e.app.metadataCache},getIMG=async e=>{var A;let t=e.file;if(!e.file){const i=vault.getAbstractFileByPath(null===(A=e.fname)||void 0===A?void 0:A.split("#")[0]);if(!(i&&i instanceof obsidian_module.TFile))return null;t=i}const i=getEmbeddedFilenameParts(e.fname);e.style=e.style.replaceAll(" ","-");const n=hasExportTheme(plugin,t)?getExportTheme(plugin,t,"light"):void 0,a={withBackground:getWithBackground(plugin,t),withTheme:!!n||plugin.settings.exportWithTheme},r=createEl("img");let s=`max-width:${e.fwidth}px; width:100%;`;e.fheight&&(s+=`height:${e.fheight}px;`),r.setAttribute("style",s),r.addClass(e.style);const o=null!=n?n:plugin.settings.previewMatchObsidianTheme?isObsidianThemeDark()?"dark":"light":plugin.settings.exportWithTheme?void 0:"light";o&&(a.withTheme=!0);const l=new EmbeddedFilesLoader(plugin,o?"dark"===o:void 0);if(!plugin.settings.displaySVGInPreview){const A=parseInt(e.fwidth),n=A>=2400?5:A>=1800?4:A>=1200?3:A>=600?2:1,s=i.hasGroupref?void 0:await getQuickImagePreview(plugin,t.path,"png"),c=null!=s?s:await createPNG(i.hasGroupref?i.filepath+i.linkpartReference:t.path,n,a,l,o,null,null,[],plugin,0);return c?(r.src=URL.createObjectURL(c),r):null}if(!i.hasBlockref&&!i.hasSectionref){const e=await getQuickImagePreview(plugin,t.path,"svg");if(e)return r.setAttribute("src",svgToBase64(e)),r}const c=(await createSVG(i.hasGroupref||i.hasBlockref||i.hasSectionref?i.filepath+i.linkpartReference:t.path,!0,a,l,o,null,null,[],plugin,0,getExportPadding(plugin,t))).outerHTML;let d=null;const h=document.createElement("div");h.innerHTML=c;const u=h.firstChild;return u instanceof SVGSVGElement&&(d=u),d?(d=embedFontsInSVG(d,plugin),d.removeAttribute("width"),d.removeAttribute("height"),r.setAttribute("src",svgToBase64(d.outerHTML)),r):null},createImageDiv=async e=>{const A=await getIMG(e);return createDiv(e.style,(t=>{let i;t.append(A),t.setAttribute("src",e.fname),e.fwidth&&t.setAttribute("w",e.fwidth),e.fheight&&t.setAttribute("h",e.fheight);const n=e=>{if(e.target instanceof Element&&"img"!=e.target.tagName.toLowerCase())return;const A=t.getAttribute("src");if(A){const t=A.match(/([^#]*)(.*)/);if(!t)return;plugin.openDrawing(vault.getAbstractFileByPath(t[1]),linkClickModifierType(e),!0,t[2])}};let a;A.addEventListener("pointermove",(e=>{i&&(Math.abs(e.screenX-a.screenX)>10||Math.abs(e.screenY-a.screenY)>10)&&(clearTimeout(i),i=null)})),A.addEventListener("pointerdown",(e=>{i=setTimeout((()=>n(e)),500),a=e})),t.addEventListener("pointerup",(()=>{i&&clearTimeout(i),i=null})),t.addEventListener("dblclick",n),t.addEventListener(RERENDER_EVENT,(async e=>{e.stopPropagation(),t.empty();const A=await getIMG({fname:t.getAttribute("src"),fwidth:t.getAttribute("w"),fheight:t.getAttribute("h"),style:t.getAttribute("class")});t.append(A)}))}))},processReadingMode=async(e,A)=>{var t;for(const i of e){const e=null===(t=i.getAttribute("src"))||void 0===t?void 0:t.split("#")[0];if(!e)continue;const n=metadataCache.getFirstLinkpathDest(e,A.sourcePath);if(n&&n instanceof obsidian_module.TFile&&plugin.isExcalidrawFile(n)){if(isTextOnlyEmbed(i))continue;i.parentElement.replaceChild(await processInternalEmbed(i,n),i)}}},processInternalEmbed=async(e,A)=>{const t={fname:"",fheight:"",fwidth:"",style:""},i=e.getAttribute("src");if(!i)return;t.fwidth=e.getAttribute("width")?e.getAttribute("width"):getDefaultWidth(plugin),t.fheight=e.getAttribute("height");let n=e.getAttribute("alt");t.style="excalidraw-svg",processAltText(i.split("#")[0],n,t);const a=getEmbeddedFilenameParts(i);return t.fname=(null==A?void 0:A.path)+(a.hasBlockref||a.hasSectionref?a.linkpartReference:""),t.file=A,await createImageDiv(t)},processAltText=(e,A,t)=>{var i,n;if(A&&!A.startsWith(e)){const a=A.match(/[^\|\d]*\|?((\d*%?)x?(\d*%?))?\|?(.*)/);t.fwidth=null!==(i=a[2])&&void 0!==i?i:t.fwidth,t.fheight=null!==(n=a[3])&&void 0!==n?n:t.fheight,a[4]&&!a[4].startsWith(e)&&(t.style=`excalidraw-svg-${a[4]}`),a[4]&&""!==a[4]||a[2]&&""!==a[2]||!a[0]||""===a[0]||(t.style=`excalidraw-svg-${a[0]}`)}},isTextOnlyEmbed=e=>{const A=e.getAttribute("src");if(!A)return!0;const t=getEmbeddedFilenameParts(A);return!(t.hasArearef||t.hasGroupref)&&(t.hasBlockref||t.hasSectionref)},tmpObsidianWYSIWYG=async(e,A)=>{const t=app.vault.getAbstractFileByPath(A.sourcePath);t instanceof obsidian_module.TFile&&plugin.isExcalidrawFile(t)&&(A.remainingNestLevel<4||setTimeout((async()=>{let i=0;for(;!e.parentElement&&i++<=50;)await sleep(50);if(!e.parentElement)return;let n=e;for(;!n.hasClass("dataview")&&!n.hasClass("cm-preview-code-block")&&!n.hasClass("cm-embed-block")&&!n.hasClass("internal-embed")&&n.parentElement;)n=n.parentElement;if(n.hasClass("dataview")||n.hasClass("cm-preview-code-block")||n.hasClass("cm-embed-block"))return;const a={fname:A.sourcePath,fheight:"",fwidth:getDefaultWidth(plugin),style:"excalidraw-svg"};if(a.file=t,!n.hasClass("internal-embed")){e.empty();const A=e.parentElement;if(!A.hasClass("markdown-preview-section"))return;if(A.hasAttribute("ready"))return void A.removeChild(e);A.setAttribute("ready","");const t=await createImageDiv(a);return void e.appendChild(t)}if(isTextOnlyEmbed(n))return;if(e.empty(),n.hasAttribute("ready"))return;n.setAttribute("ready",""),n.empty();const r=await processInternalEmbed(n,t);n.appendChild(r);let s=null;const o=new MutationObserver((e=>{var A;["alt","width","height"].contains(null===(A=e[0])||void 0===A?void 0:A.attributeName)&&(s&&clearTimeout(s),s=setTimeout((async()=>{s=null,n.empty();const e=await processInternalEmbed(n,t);n.appendChild(e)}),500))}));o.observe(n,{attributes:!0})})))},markdownPostProcessor_Legacy=async(e,A)=>{var t;const i=e.querySelectorAll(".internal-embed");0!==i.length?Boolean(null===(t=A.frontmatter)||void 0===t?void 0:t.hasOwnProperty("excalidraw-plugin"))?e.style.display="none":await processReadingMode(i,A):tmpObsidianWYSIWYG(e,A)},hoverEvent_Legacy=e=>{e.linktext?(plugin.hover.linkText=e.linktext,plugin.hover.sourcePath=e.sourcePath):plugin.hover.linkText=null},observer_Legacy=new MutationObserver((async e=>{if(0==e.length)return;if(!plugin.hover.linkText)return;const A=metadataCache.getFirstLinkpathDest(plugin.hover.linkText,plugin.hover.sourcePath?plugin.hover.sourcePath:"");if(!A)return;if(!(A instanceof obsidian_module.TFile))return;if("excalidraw"!==A.extension)return;const t=getIMGFilename(A.path,"svg"),i=vault.getAbstractFileByPath(t);if(i&&i instanceof obsidian_module.TFile)return;const n=getIMGFilename(A.path,"png"),a=vault.getAbstractFileByPath(n);if(a&&a instanceof obsidian_module.TFile)return;if(!plugin.hover.linkText)return;if(1!=e.length)return;if(1!=e[0].addedNodes.length)return;if("popover hover-popover file-embed is-loaded"!=!e[0].addedNodes[0].classNames)return;const r=e[0].addedNodes[0];r.empty();const s=await getIMG({file:A,fname:A.path,fwidth:"300",fheight:null,style:"excalidraw-svg"}),o=createDiv("",(async e=>{e.appendChild(s),e.setAttribute("src",A.path),e.onClickEvent((A=>{A.stopImmediatePropagation();const t=e.getAttribute("src");t&&plugin.openDrawing(vault.getAbstractFileByPath(t),linkClickModifierType(A))}))}));r.appendChild(o)}));class ExcalidrawPlugin extends obsidian_module.Plugin{constructor(e,A){super(e,A),this.excalidrawFiles=new Set,this.excalidrawFileModes={},this._loaded=!1,this.activeExcalidrawView=null,this.lastActiveExcalidrawFilePath=null,this.hover={linkText:null,sourcePath:null},this.opencount=0,this.filesMaster=null,this.equationsMaster=null,this.mathjax=null,this.mathjaxDiv=null,this.mathjaxLoaderFinished=!1,this.fourthFontDef=VIRGIL_FONT,this.packageMap=new WeakMap,this.leafChangeTimeout=null,this.popScope=null,this.filesMaster=new Map,this.equationsMaster=new Map}getPackage(e){if(e===window)return{react:react,reactDOM:reactDOM,excalidrawLib:excalidrawLib};if(this.packageMap.has(e))return this.packageMap.get(e);const{react:A,reactDOM:t,excalidrawLib:i}=e.eval.call(e,`(function() {\n ${lzStringExports.decompressFromBase64(EXCALIDRAW_PACKAGES)};\n return {react:React,reactDOM:ReactDOM,excalidrawLib:ExcalidrawLib};\n })()`);return this.packageMap.set(e,{react:A,reactDOM:t,excalidrawLib:i}),{react:A,reactDOM:t,excalidrawLib:i}}async onload(){if(obsidian_module.addIcon(ICON_NAME,EXCALIDRAW_ICON),obsidian_module.addIcon("ScriptEngine",SCRIPTENGINE_ICON),obsidian_module.addIcon("save-png",PNG_ICON),obsidian_module.addIcon("save-svg",SVG_ICON),await this.loadSettings({reEnableAutosave:!0}),this.addSettingTab(new ExcalidrawSettingTab(this.app,this)),this.ea=await initExcalidrawAutomate(this),this.registerView("excalidraw",(e=>new ExcalidrawView(e,this))),this.registerExtensions(["excalidraw"],"excalidraw"),obsidian_module.requireApiVersion("1.1.6")?this.addMarkdownPostProcessor():this.addLegacyMarkdownPostProcessor(),this.registerInstallCodeblockProcessor(),this.addThemeObserver(),this.experimentalFileTypeDisplayToggle(this.settings.experimentalFileType),this.registerCommands(),this.registerEventListeners(),this.initializeFourthFont(),this.registerEditorSuggest(new FieldSuggester(this)),this.registerMonkeyPatches(),this.settings.showReleaseNotes){const e="0.0.0"===this.settings.previousRelease;isVersionNewerThanOther(PLUGIN_VERSION,this.settings.previousRelease)&&new ReleaseNotes(this.app,this,e?null:PLUGIN_VERSION).open()}this.switchToExcalidarwAfterLoad(),this.loadMathJax();const e=this;this.app.workspace.onLayoutReady((()=>{this.scriptEngine=new ScriptEngine(e)})),this.taskbone=new Taskbone(this)}initializeFourthFont(){this.app.workspace.onLayoutReady((async()=>{const e=await getFontDataURL(this.app,this.settings.experimantalFourthFont,"","LocalFont"),A=""===e.dataURL?VIRGIL_DATAURL:e.dataURL;this.fourthFontDef=e.fontDef;const t=new Set;app.workspace.iterateAllLeaves((e=>{const i=app.isMobile?document:e.view.containerEl.ownerDocument;if(!i)return;if(t.has(i))return;t.add(i);const n=i.createElement("style");n.id="local-font-stylesheet",n.textContent=`\n @font-face {\n font-family: 'LocalFont';\n src: url("${A}");\n font-display: swap;\n }\n `;const a=i.getElementById(n.id);i.head.appendChild(n),a&&i.head.removeChild(a),i.fonts.load("20px LocalFont")}))}))}loadMathJax(){const e=this;this.app.workspace.onLayoutReady((async()=>{await obsidian_module.loadMathJax();try{e.mathjaxDiv&&(document.body.removeChild(e.mathjaxDiv),e.mathjax=null,e.mathjaxLoaderFinished=!1),e.mathjaxDiv=document.body.createDiv(),e.mathjaxDiv.title="Excalidraw MathJax Support",e.mathjaxDiv.style.display="none";const A=e.mathjaxDiv.createEl("iframe");A.title="Excalidraw MathJax Support";const t=A.contentWindow.document,i=t.createElement("script");i.type="text/javascript",i.onload=()=>{const t=A.contentWindow;t.MathJax.startup.pagePromise.then((async()=>{const A=app.vault.getAbstractFileByPath("preamble.sty"),i=A&&A instanceof obsidian_module.TFile?await app.vault.read(A):null;try{i&&await t.MathJax.tex2svg(i)}catch(A){errorlog({where:e.loadMathJax,description:"Unexpected error while loading preamble.sty",error:A})}e.mathjax=t.MathJax,e.mathjaxLoaderFinished=!0}))},i.src=e.settings.mathjaxSourceURL,t.head.appendChild(i)}catch(A){new obsidian_module.Notice("Excalidraw: Error initializing LaTeX support"),e.mathjaxLoaderFinished=!0}}))}switchToExcalidarwAfterLoad(){const e=this;this.app.workspace.onLayoutReady((()=>{let A;for(A of app.workspace.getLeavesOfType("markdown"))A.view instanceof obsidian_module.MarkdownView&&e.isExcalidrawFile(A.view.file)&&(e.excalidrawFileModes[A.id||A.view.file.path]="excalidraw",e.setExcalidrawView(A))}))}forceSaveActiveView(e){if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(A.forceSave(),!0)}registerInstallCodeblockProcessor(){const e=async(e,A)=>{let t=null;try{const e=A.parentElement.querySelector(`a[href="#${A.previousElementSibling.getAttribute("data-heading")}"]`);e.style.paddingRight="10px",t=e.parentElement.createEl("button",null,(e=>{e.setText(t$d("UPDATE_SCRIPT")),e.addClass("mod-muted"),e.style.backgroundColor="var(--interactive-success)",e.style.display="none"}))}catch(A){errorlog({where:"this.registerInstallCodeblockProcessor",source:e,error:A})}e=e.trim(),A.createEl("button",null,(async A=>{var i;const n=e=>{switch(t&&(t.style.display="none"),e){case"CHECKING":A.setText(t$d("CHECKING_SCRIPT")),A.style.backgroundColor="var(--interactive-normal)";break;case"INSTALL":A.setText(t$d("INSTALL_SCRIPT")),A.style.backgroundColor="var(--interactive-accent)";break;case"UPTODATE":A.setText(t$d("UPTODATE_SCRIPT")),A.style.backgroundColor="var(--interactive-normal)";break;case"UPDATE":A.setText(t$d("UPDATE_SCRIPT")),A.style.backgroundColor="var(--interactive-success)",t&&(t.style.display=null);break;case"ERROR":A.setText(t$d("UNABLETOCHECK_SCRIPT")),A.style.backgroundColor="var(--interactive-normal)"}};A.addClass("mod-muted");let a=e;try{a=decodeURI(e)}catch(A){errorlog({where:"ExcalidrawPlugin.registerInstallCodeblockProcessor.codeblockProcessor.onClick",source:e,error:A})}const r=a.substring(a.lastIndexOf("/")+1),s=`${this.settings.scriptFolderPath}/Downloaded`,o=app.vault.getFiles().filter((e=>e.path.startsWith(s)&&e.name===r)).sort(((e,A)=>e.path>A.path?1:-1));let l=o[0];const c=null!==(i=null==l?void 0:l.path)&&void 0!==i?i:`${s}/${r}`,d=getIMGFilename(c,"svg");let h=this.app.vault.getAbstractFileByPath(d);if(n(l?"CHECKING":"INSTALL"),A.onclick=async()=>{const A=async(e,A,t)=>{const i=await obsidian_module.request({url:e});return!i||i.startsWith("404: Not Found")?null:(A?await this.app.vault.modify(A,i):(await checkAndCreateFolder(s),A=await this.app.vault.create(t,i)),A)};try{if(l=await A(e,l,c),!l)throw n("ERROR"),"File not found";h=await A(getIMGFilename(e,"svg"),h,d),n("UPTODATE"),new obsidian_module.Notice(`Installed: ${l.basename}`)}catch(e){new obsidian_module.Notice(`Error installing script: ${r}`),errorlog({where:"ExcalidrawPlugin.registerInstallCodeblockProcessor.codeblockProcessor.onClick",error:e})}},t&&(t.onclick=A.onclick),!(l&&l instanceof obsidian_module.TFile))return;const u=new Map;JSON.parse(await obsidian_module.request({url:"https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master/ea-scripts/directory-info.json"})).forEach((e=>u.set(e.fname,e.mtime)));const g=(e,A)=>{if(0===u.size||!u.has(e))return"ERROR";const t=u.get(e);return!A||t>A.stat.mtime?"UPDATE":"UPTODATE"},p=g(r,l),m=g(getIMGFilename(r,"svg"),h&&h instanceof obsidian_module.TFile?h:null);n("UPTODATE"===p&&"UPTODATE"===m||"UPTODATE"===p&&"ERROR"===m?"UPTODATE":"ERROR"===p?"ERROR":"UPDATE"===p||"UPDATE"===m?"UPDATE":"UPTODATE")}))};this.registerMarkdownCodeBlockProcessor(SCRIPT_INSTALL_CODEBLOCK,(async(A,t)=>{t.addEventListener(RERENDER_EVENT,(async i=>{i.stopPropagation(),t.empty(),e(A,t)})),e(A,t)}))}addMarkdownPostProcessor(){initializeMarkdownPostProcessor(this),this.registerMarkdownPostProcessor(markdownPostProcessor),this.registerEvent(this.app.workspace.on("hover-link",hoverEvent)),this.observer=observer,this.observer.observe(document,{childList:!0,subtree:!0})}addLegacyMarkdownPostProcessor(){initializeMarkdownPostProcessor_Legacy(this),this.registerMarkdownPostProcessor(markdownPostProcessor_Legacy),this.registerEvent(this.app.workspace.on("hover-link",hoverEvent_Legacy)),this.observer=observer_Legacy,this.observer.observe(document,{childList:!0,subtree:!0})}addThemeObserver(){this.themeObserver=new MutationObserver((async e=>{var A,t,i,n,a,r,s,o;if(!this.settings.matchThemeTrigger)return;if((null===(A=e[0])||void 0===A?void 0:A.oldValue)===(null===(i=null===(t=e[0])||void 0===t?void 0:t.target)||void 0===i?void 0:i.getAttribute("class")))return;if((null===(a=null===(n=e[0])||void 0===n?void 0:n.oldValue)||void 0===a?void 0:a.includes("theme-dark"))===(null===(o=null===(s=null===(r=e[0])||void 0===r?void 0:r.target)||void 0===s?void 0:s.classList)||void 0===o?void 0:o.contains("theme-dark")))return;const l=isObsidianThemeDark()?"dark":"light";this.app.workspace.getLeavesOfType("excalidraw").forEach((e=>{const A=e.view;A.file&&A.excalidrawRef&&A.setTheme(l)}))})),this.themeObserver.observe(document.body,{attributeOldValue:!0,attributeFilter:["class"]})}experimentalFileTypeDisplayToggle(e){e?this.experimentalFileTypeDisplay():(this.fileExplorerObserver&&this.fileExplorerObserver.disconnect(),this.fileExplorerObserver=null)}experimentalFileTypeDisplay(){const e=e=>{if(1!=e.childElementCount)return;const A=e.getAttribute("data-path");if(!A)return;const t=this.app.vault.getAbstractFileByPath(A);t&&t instanceof obsidian_module.TFile&&this.isExcalidrawFile(t)&&e.insertBefore(createDiv({cls:"nav-file-tag",text:this.settings.experimentalFileTag}),e.firstChild)};this.fileExplorerObserver=new MutationObserver((A=>{const t=A.filter((e=>e.addedNodes.length>0));t.forEach((A=>{A.addedNodes.forEach((A=>{A instanceof Element&&A.querySelectorAll(".nav-file-title").forEach(e)}))}))}));const A=this;this.app.workspace.onLayoutReady((()=>{document.querySelectorAll(".nav-file-title").forEach(e),A.fileExplorerObserver.observe(document.querySelector(".workspace"),{childList:!0,subtree:!0})}))}registerCommands(){this.openDialog=new OpenFileDialog(this.app,this),this.insertLinkDialog=new InsertLinkDialog(this.app),this.insertImageDialog=new InsertImageDialog(this),this.importSVGDialog=new ImportSVGDialog(this),this.insertMDDialog=new InsertMDDialog(this),this.addRibbonIcon(ICON_NAME,t$d("CREATE_NEW"),(async e=>{this.createAndOpenDrawing(getDrawingFilename(this.settings),linkClickModifierType(emulateCTRLClickForLinks(e)))})),this.registerEvent(this.app.workspace.on("file-menu",((e,A)=>{e.addItem((e=>{e.setTitle(t$d("CREATE_NEW")).setIcon(ICON_NAME).onClick((e=>{let t=A.path;A instanceof obsidian_module.TFile&&(t=obsidian_module.normalizePath(A.path.substr(0,A.path.lastIndexOf(A.name)))),this.createAndOpenDrawing(getDrawingFilename(this.settings),linkClickModifierType(emulateCTRLClickForLinks(e)),t)}))}))}))),this.registerEvent(this.app.workspace.on("file-menu",((e,A)=>{A instanceof obsidian_module.TFile&&"excalidraw"==A.extension&&e.addItem((e=>{e.setTitle(t$d("CONVERT_FILE_KEEP_EXT")).onClick((()=>{this.convertSingleExcalidrawToMD(A,!1,!1)}))}))}))),this.registerEvent(this.app.workspace.on("file-menu",((e,A)=>{A instanceof obsidian_module.TFile&&"excalidraw"==A.extension&&e.addItem((e=>{e.setTitle(t$d("CONVERT_FILE_REPLACE_EXT")).onClick((()=>{this.convertSingleExcalidrawToMD(A,!0,!0)}))}))}))),this.addCommand({id:"excalidraw-disable-autosave",name:t$d("TEMPORARY_DISABLE_AUTOSAVE"),checkCallback:e=>!!this.settings.autosave&&(e||(this.settings.autosave=!1),!0)}),this.addCommand({id:"excalidraw-enable-autosave",name:t$d("TEMPORARY_ENABLE_AUTOSAVE"),checkCallback:e=>!this.settings.autosave&&(e||(this.settings.autosave=!0),!0)}),this.addCommand({id:"excalidraw-download-lib",name:t$d("DOWNLOAD_LIBRARY"),callback:this.exportLibrary}),this.addCommand({id:"excalidraw-open",name:t$d("OPEN_EXISTING_NEW_PANE"),callback:()=>{this.openDialog.start(openDialogAction.openFile,!0)}}),this.addCommand({id:"excalidraw-open-on-current",name:t$d("OPEN_EXISTING_ACTIVE_PANE"),callback:()=>{this.openDialog.start(openDialogAction.openFile,!1)}}),this.addCommand({id:"excalidraw-insert-transclusion",name:t$d("TRANSCLUDE"),checkCallback:e=>e?Boolean(this.app.workspace.getActiveViewOfType(obsidian_module.MarkdownView)):(this.openDialog.start(openDialogAction.insertLinkToDrawing,!1),!0)}),this.addCommand({id:"excalidraw-insert-last-active-transclusion",name:t$d("TRANSCLUDE_MOST_RECENT"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(obsidian_module.MarkdownView))&&null!=this.lastActiveExcalidrawFilePath;const A=this.app.vault.getAbstractFileByPath(this.lastActiveExcalidrawFilePath);return A instanceof obsidian_module.TFile&&(this.embedDrawing(A),!0)}}),this.addCommand({id:"excalidraw-autocreate",name:t$d("NEW_IN_NEW_PANE"),callback:()=>{this.createAndOpenDrawing(getDrawingFilename(this.settings),"new-pane")}}),this.addCommand({id:"excalidraw-autocreate-newtab",name:t$d("NEW_IN_NEW_TAB"),callback:()=>{this.createAndOpenDrawing(getDrawingFilename(this.settings),"new-tab")}}),this.addCommand({id:"excalidraw-autocreate-on-current",name:t$d("NEW_IN_ACTIVE_PANE"),callback:()=>{this.createAndOpenDrawing(getDrawingFilename(this.settings),"active-pane")}}),this.addCommand({id:"excalidraw-autocreate-popout",name:t$d("NEW_IN_POPOUT_WINDOW"),checkCallback:e=>{if(e)return!app.isMobile;this.createAndOpenDrawing(getDrawingFilename(this.settings),"popout-window")}});const e=async e=>{const A=this.app.workspace.getActiveViewOfType(obsidian_module.MarkdownView);if(!A)return;const t=getEmbedFilename(A.file.basename,this.settings),i=this.settings.embedUseExcalidrawFolder?null:(await getAttachmentsFolderAndFilePath(this.app,A.file.path,t)).folder,n=await this.createDrawing(t,i);await this.embedDrawing(n),this.openDrawing(n,e,!0)};this.addCommand({id:"excalidraw-autocreate-and-embed",name:t$d("NEW_IN_NEW_PANE_EMBED"),checkCallback:A=>A?Boolean(this.app.workspace.getActiveViewOfType(obsidian_module.MarkdownView)):(e("new-pane"),!0)}),this.addCommand({id:"excalidraw-autocreate-and-embed-new-tab",name:t$d("NEW_IN_NEW_TAB_EMBED"),checkCallback:A=>A?Boolean(this.app.workspace.getActiveViewOfType(obsidian_module.MarkdownView)):(e("new-tab"),!0)}),this.addCommand({id:"excalidraw-autocreate-and-embed-on-current",name:t$d("NEW_IN_ACTIVE_PANE_EMBED"),checkCallback:A=>A?Boolean(this.app.workspace.getActiveViewOfType(obsidian_module.MarkdownView)):(e("active-pane"),!0)}),this.addCommand({id:"excalidraw-autocreate-and-embed-popout",name:t$d("NEW_IN_POPOUT_WINDOW_EMBED"),checkCallback:A=>A?!app.isMobile&&Boolean(this.app.workspace.getActiveViewOfType(obsidian_module.MarkdownView)):(e("popout-window"),!0)}),this.addCommand({id:"export-svg",name:t$d("EXPORT_SVG"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(A.saveSVG(),!0)}}),this.addCommand({id:"export-svg-scene",name:t$d("EXPORT_SVG_WITH_SCENE"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(A.saveSVG(void 0,!0),!0)}}),this.addCommand({id:"run-ocr",name:t$d("RUN_OCR"),checkCallback:e=>{const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return e?Boolean(A):!!A&&(this.settings.taskboneEnabled?(this.taskbone.getTextForView(A,!1),!0):(new obsidian_module.Notice("Taskbone OCR is not enabled. Please go to plugins settings to enable it.",4e3),!0))}}),this.addCommand({id:"search-text",name:t$d("SEARCH"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(search(A),!0)}}),this.addCommand({id:"fullscreen",name:t$d("TOGGLE_FULLSCREEN"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(A.isFullscreen()?A.exitFullscreen():A.gotoFullscreen(),!0)}}),this.addCommand({id:"export-png",name:t$d("EXPORT_PNG"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(A.savePNG(),!0)}}),this.addCommand({id:"export-png-scene",name:t$d("EXPORT_PNG_WITH_SCENE"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(A.savePNG(void 0,!0),!0)}}),this.forceSaveCommand=this.addCommand({id:"save",hotkeys:[{modifiers:["Ctrl"],key:"s"}],name:t$d("FORCE_SAVE"),checkCallback:e=>this.forceSaveActiveView(e)}),this.addCommand({id:"toggle-lock",hotkeys:[{modifiers:["Ctrl","Shift"],key:"e"}],name:t$d("TOGGLE_LOCK"),checkCallback:e=>{if(e)return!!Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView))&&!this.app.workspace.getActiveViewOfType(ExcalidrawView).compatibilityMode;const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!(!A||A.compatibilityMode||(A.changeTextMode(A.textMode===TextMode.parsed?TextMode.raw:TextMode.parsed),0))}}),this.addCommand({id:"scriptengine-store",name:t$d("INSTALL_SCRIPT_BUTTON"),checkCallback:e=>e?Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView)):(new ScriptInstallPrompt(this).open(),!0)}),this.addCommand({id:"delete-file",name:t$d("DELETE_FILE"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);if(A){this.ea.reset(),this.ea.setView(A);const e=this.ea.getViewSelectedElement();if("image"!==e.type)return new obsidian_module.Notice("Please select an image or embedded markdown document",4e3),!0;const t=this.ea.getViewFileForImageElement(e);return t?(this.app.vault.delete(t),this.ea.deleteViewElements([e]),!0):(new obsidian_module.Notice("Please select an image or embedded markdown document",4e3),!0)}return!1}}),this.addCommand({id:"insert-link",hotkeys:[{modifiers:["Ctrl","Shift"],key:"k"}],name:t$d("INSERT_LINK"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(this.insertLinkDialog.start(A.file.path,A.addText),!0)}}),this.addCommand({id:"insert-link-to-element",hotkeys:[{modifiers:["Ctrl","Shift"],key:"k"}],name:t$d("INSERT_LINK_TO_ELEMENT_NORMAL"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(A.copyLinkToSelectedElementToClipboard(""),!0)}}),this.addCommand({id:"insert-link-to-element-group",name:t$d("INSERT_LINK_TO_ELEMENT_GROUP"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(A.copyLinkToSelectedElementToClipboard("group="),!0)}}),this.addCommand({id:"insert-link-to-element-area",name:t$d("INSERT_LINK_TO_ELEMENT_AREA"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(A.copyLinkToSelectedElementToClipboard("area="),!0)}}),this.addCommand({id:"toggle-lefthanded-mode",name:t$d("TOGGLE_LEFTHANDED_MODE"),checkCallback:e=>{if(e){if(this.app.workspace.getActiveViewOfType(ExcalidrawView)){const e=this.app.workspace.getActiveViewOfType(ExcalidrawView),A=null==e?void 0:e.excalidrawAPI;return!!A&&!!A.getAppState().trayModeEnabled}return!1}return this.app.workspace.getActiveViewOfType(ExcalidrawView),(async()=>{const e=this.settings.isLeftHanded;await this.loadSettings({applyLefthandedMode:!1}),this.settings.isLeftHanded=!e,this.saveSettings(),setLeftHandedMode(!e),setTimeout((()=>setLeftHandedMode(!e)))})(),!0}}),this.addCommand({id:"reset-image-to-100",name:t$d("RESET_IMG_TO_100"),checkCallback:e=>{const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);if(!A)return!1;if(!A.excalidrawAPI)return!1;const t=A.getViewSelectedElements().filter((e=>"image"===e.type));if(1!==t.length)return e||new obsidian_module.Notice("Select a single image element and try again"),!1;const i=t[0];return A.excalidrawData.getFile(i.fileId)?!!e||void(async()=>{const e=new ExcalidrawAutomate(this,A),n=await e.getOriginalImageSize(i);if(n){e.copyViewElementsToEAforEditing(t);const A=e.getElement(i.id);A.width=n.width,A.height=n.height,e.addElementsToView(!1,!1,!1)}})():(e||new obsidian_module.Notice("Select a single image element and try again"),!1)}}),this.addCommand({id:"insert-image",name:t$d("INSERT_IMAGE"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(this.insertImageDialog.start(A),!0)}}),this.addCommand({id:"import-svg",name:t$d("IMPORT_SVG"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(this.importSVGDialog.start(A),!0)}}),this.addCommand({id:"release-notes",name:t$d("READ_RELEASE_NOTES"),checkCallback:e=>e?Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView)):(new ReleaseNotes(this.app,this,PLUGIN_VERSION).open(),!0)}),this.addCommand({id:"tray-mode",name:t$d("TRAY_MODE"),checkCallback:e=>{if(e){const e=this.app.workspace.getActiveViewOfType(ExcalidrawView);if(!e||!e.excalidrawRef)return!1;const A=e.excalidrawAPI.getAppState();return!A.zenModeEnabled&&!A.viewModeEnabled}const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!(!A||!A.excalidrawAPI||(A.toggleTrayMode(),0))}}),this.addCommand({id:"insert-md",name:t$d("INSERT_MD"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(this.insertMDDialog.start(A),!0)}}),this.addCommand({id:"insert-LaTeX-symbol",name:t$d("INSERT_LATEX"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(insertLaTeXToView(A),!0)}}),this.addCommand({id:"toggle-excalidraw-view",name:t$d("TOGGLE_MODE"),checkCallback:e=>{const A=this.app.workspace.getActiveFile();if(!A)return!1;const t=this.isExcalidrawFile(A);if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView))?!this.app.workspace.getActiveViewOfType(ExcalidrawView).compatibilityMode:t;const i=this.app.workspace.getActiveViewOfType(ExcalidrawView);if(i){const e=i.leaf;return this.excalidrawFileModes[e.id||A.path]="markdown",void this.setMarkdownView(e)}const n=this.app.workspace.getActiveViewOfType(obsidian_module.MarkdownView);if(n&&t){const e=n.leaf;return this.excalidrawFileModes[e.id||A.path]="excalidraw",void this.setExcalidrawView(e)}}}),this.addCommand({id:"convert-to-excalidraw",name:t$d("CONVERT_NOTE_TO_EXCALIDRAW"),checkCallback:e=>{const A=this.app.workspace.getActiveFile(),t=this.app.workspace.getActiveViewOfType(obsidian_module.MarkdownView);if(!A||!t)return!1;const i=0===A.stat.size;if(e)return i;i&&(async()=>{await this.app.vault.modify(A,await this.getBlankDrawing()),this.setExcalidrawView(t.leaf)})()}}),this.addCommand({id:"convert-excalidraw",name:t$d("CONVERT_EXCALIDRAW"),checkCallback:e=>{if(e){const e=this.app.vault.getFiles().filter((e=>"excalidraw"==e.extension));return e.length>0}return this.convertExcalidrawToMD(),!0}})}async convertSingleExcalidrawToMD(e,A=!1,t=!1){const i=await this.app.vault.read(e),n=e.name.substring(0,e.name.lastIndexOf(".excalidraw"))+(A?".md":".excalidraw.md"),a=getNewUniqueFilepath(this.app.vault,n,obsidian_module.normalizePath(e.path.substring(0,e.path.lastIndexOf(e.name))));log(a);const r=await this.app.vault.create(a,FRONTMATTER+await this.exportSceneToMD(i));return this.settings.keepInSync&&EXPORT_TYPES.forEach((A=>{const t=e.path.substring(0,e.path.lastIndexOf(".excalidraw"))+A,i=this.app.vault.getAbstractFileByPath(obsidian_module.normalizePath(t));if(i&&i instanceof obsidian_module.TFile){const e=a.substring(0,a.lastIndexOf(".md"))+A;this.app.fileManager.renameFile(i,e)}})),t||this.app.vault.delete(e),r}async convertExcalidrawToMD(e=!1,A=!1){const t=this.app.vault.getFiles().filter((e=>"excalidraw"==e.extension));for(const i of t)this.convertSingleExcalidrawToMD(i,e,A);new obsidian_module.Notice(`Converted ${t.length} files.`)}registerMonkeyPatches(){this.registerEvent(app.workspace.on("editor-menu",((e,A,t)=>{if(!(t&&t instanceof obsidian_module.MarkdownView))return;const i=t.file,n=t.leaf;if(!t.file)return;const a=this.app.metadataCache.getFileCache(i);(null==a?void 0:a.frontmatter)&&a.frontmatter[FRONTMATTER_KEY]&&e.addItem((e=>e.setTitle(t$d("OPEN_AS_EXCALIDRAW")).setIcon(ICON_NAME).setSection("excalidraw").onClick((()=>{this.excalidrawFileModes[n.id||i.path]="excalidraw",this.setExcalidrawView(n)}))))}))),this.registerEvent(app.workspace.on("file-menu",((e,A,t,i)=>{if(!(i&&i.view instanceof obsidian_module.MarkdownView))return;if(!(A instanceof obsidian_module.TFile))return;const n=this.app.metadataCache.getFileCache(A);(null==n?void 0:n.frontmatter)&&n.frontmatter[FRONTMATTER_KEY]&&(e.addItem((e=>{e.setTitle(t$d("OPEN_AS_EXCALIDRAW")).setIcon(ICON_NAME).setSection("pane").onClick((()=>{this.excalidrawFileModes[i.id||A.path]="excalidraw",this.setExcalidrawView(i)}))})),e.items.unshift(e.items.pop()))})));const e=this;this.register(around(obsidian_module.WorkspaceLeaf.prototype,{detach:A=>function(){var t;const i=null===(t=this.view)||void 0===t?void 0:t.getState();return(null==i?void 0:i.file)&&e.excalidrawFileModes[this.id||i.file]&&delete e.excalidrawFileModes[this.id||i.file],A.apply(this)},setViewState:A=>function(t,...i){var n;if(e._loaded&&"markdown"===t.type&&(null===(n=t.state)||void 0===n?void 0:n.file)&&"markdown"!==e.excalidrawFileModes[this.id||t.state.file]){const n=app.metadataCache.getCache(t.state.file);if((null==n?void 0:n.frontmatter)&&n.frontmatter[FRONTMATTER_KEY]){const n=Object.assign(Object.assign({},t),{type:"excalidraw"});return e.excalidrawFileModes[t.state.file]="excalidraw",A.apply(this,[n,...i])}}return A.apply(this,[t,...i])}}))}registerEventListeners(){const e=this;this.app.workspace.onLayoutReady((async()=>{e.registerEvent(app.vault.on("rename",(async(A,t)=>{A instanceof obsidian_module.TFile&&e.isExcalidrawFile(A)&&e.settings.keepInSync&&[EXPORT_TYPES,"excalidraw"].flat().forEach((async e=>{const i=getIMGFilename(t,e),n=app.vault.getAbstractFileByPath(obsidian_module.normalizePath(i));if(n&&n instanceof obsidian_module.TFile){const t=getIMGFilename(A.path,e);await app.fileManager.renameFile(n,t)}}))}))),e.registerEvent(app.vault.on("modify",(async A=>{app.workspace.getLeavesOfType("excalidraw").forEach((async t=>{const i=t.view;if(i.file&&(i.file.path===A.path||"excalidraw"===A.extension&&`${A.path.substring(0,A.path.lastIndexOf(".excalidraw"))}.md`===i.file.path)){if(i.semaphores.preventReload)return void(i.semaphores.preventReload=!1);if(i.lastSaveTimestamp+3e5{if(!(A instanceof obsidian_module.TFile))return;const t=this.excalidrawFiles.has(A);if(this.updateFileCache(A,void 0,!0),!t)return;const i=app.workspace.getLeavesOfType("excalidraw");for(let e=0;e{[EXPORT_TYPES,"excalidraw"].flat().forEach((async e=>{const t=getIMGFilename(A.path,e),i=app.vault.getAbstractFileByPath(obsidian_module.normalizePath(t));i&&i instanceof obsidian_module.TFile&&await app.vault.delete(i)}))}),500)}))),e.registerEvent(app.workspace.on("active-leaf-change",(async A=>{var t;e.leafChangeTimeout&&clearTimeout(e.leafChangeTimeout),e.leafChangeTimeout=setTimeout((()=>{e.leafChangeTimeout=null}),1e3);const i=e.activeExcalidrawView,n=A.view instanceof ExcalidrawView?A.view:null; +EXPR:/(!)?(\[\[([^|\]]+)\|?([^\]]+)?]]|\[([^\]]*)]\(([^)]*)\))(\{(\d+)\})?/g,getRes:e=>e.matchAll(REGEX_LINK.EXPR),isTransclusion:e=>!!e.value[1],getLink:e=>e.value[3]?e.value[3]:e.value[6],isWikiLink:e=>!!e.value[3],getAliasOrLink:e=>REGEX_LINK.isWikiLink(e)?e.value[4]?e.value[4]:e.value[3]:e.value[5]?e.value[5]:e.value[6],getWrapLength:(e,A)=>{const t=parseInt(e.value[8]);return isNaN(t)?A>0?A:null:t}},DRAWING_REG=/\n# Drawing\n[^`]*(```json\n)([\s\S]*?)```\n/gm,DRAWING_REG_FALLBACK=/\n# Drawing\n(```json\n)?(.*)(```)?(%%)?/gm,DRAWING_COMPRESSED_REG=/(\n# Drawing\n[^`]*(?:```compressed\-json\n))([\s\S]*?)(```\n)/gm,DRAWING_COMPRESSED_REG_FALLBACK=/(\n# Drawing\n(?:```compressed\-json\n)?)(.*)((```)?(%%)?)/gm,REG_LINKINDEX_HYPERLINK=/^\w+:\/\//,isCompressedMD=e=>null!==e.match(/```compressed\-json\n/gm),getDecompressedScene=e=>{let A,t=e.matchAll(DRAWING_COMPRESSED_REG);return A=t.next(),A.done&&(t=e.matchAll(DRAWING_COMPRESSED_REG_FALLBACK),A=t.next()),A.value&&A.value.length>1?[decompress(A.value[2]),A]:[null,A]},changeThemeOfExcalidrawMD=e=>{const A=isCompressedMD(e);let t=A?getDecompressedScene(e)[0]:e;return t?(isObsidianThemeDark?1===(t.match(/"theme"\s*:\s*"light"\s*,/g)||[]).length&&(t=t.replace(/"theme"\s*:\s*"light"\s*,/,'"theme": "dark",')):1===(t.match(/"theme"\s*:\s*"dark"\s*,/g)||[]).length&&(t=t.replace(/"theme"\s*:\s*"dark"\s*,/,'"theme": "light",')),A?e.replace(DRAWING_COMPRESSED_REG,`$1${compress(t)}$3`):t):e};function getJSON(e){let A,t;if(isCompressedMD(e)){const[A,t]=getDecompressedScene(e);return A?{scene:A.substring(0,A.lastIndexOf("}")+1),pos:t.value.index}:{scene:e,pos:t.value?t.value.index:0}}if(A=e.matchAll(DRAWING_REG),t=A.next(),t.done&&(A=e.matchAll(DRAWING_REG_FALLBACK),t=A.next()),t.value&&t.value.length>1){const e=t.value[2];return{scene:e.substr(0,e.lastIndexOf("}")+1),pos:t.value.index}}return{scene:e,pos:t.value?t.value.index:0}}function getMarkdownDrawingSection(e,A){return A?`%%\n# Drawing\n\`\`\`compressed-json\n${compress(e)}\n\`\`\`\n%%`:`%%\n# Drawing\n\`\`\`json\n${e}\n\`\`\`\n%%`}const estimateMaxLineLen=(e,A)=>{if(!A||!e)return null;if(e===A)return null;let t=0;const i=e.split("\n");if(1===i.length)return null;for(const e of i){const A=e.trim();A.length>t&&(t=A.length)}return t},wrap=(e,A)=>A?wrapTextAtCharLength(e,A,!1,0):e;class ExcalidrawData{constructor(e){this.plugin=e,this.textElements=null,this.elementLinks=null,this.scene=null,this.deletedElements=[],this.file=null,this.autoexportPreference=AutoexportPreference.inherit,this.textMode=TextMode.raw,this.loaded=!1,this.files=null,this.equations=null,this.compatibilityMode=!1,this.selectedElementIds={},this.disableCompression=!1,this.app=e.app,this.files=new Map,this.equations=new Map}initializeNonInitializedFields(){var e,A,t;if(!this.scene||!this.scene.elements)return;const i=null!==(e=this.scene.source.split("https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/")[1])&&void 0!==e?e:"1.8.16",n=this.scene.elements;for(const e of n){if(e.boundElements){const A=new Map;e.boundElements.forEach((e=>{A.set(e.id,e.type)}));const t=Array.from(A,(([e,A])=>({id:e,type:A})));t.length!==e.boundElements.length&&(e.boundElements=t)}e.boundElementIds&&(e.boundElements||(e.boundElements=[]),e.boundElements=e.boundElements.concat(e.boundElementIds.map((e=>({type:"arrow",id:e})))),delete e.boundElementIds),"text"!==e.type||e.containerId||(e.containerId=null),null===e.x&&(e.x=0),null===e.y&&(e.y=0),null===(null===(A=e.startBinding)||void 0===A?void 0:A.focus)&&(e.startBinding.focus=0),null===(null===(t=e.endBinding)||void 0===t?void 0:t.focus)&&(e.endBinding.focus=0),null===e.fontSize&&(e.fontSize=20)}try{n.filter((e=>"text"===e.type&&e.containerId&&n.some((A=>A.id===e.containerId&&A.boundElements.length>0&&A.boundElements.some((A=>"text"===A.type&&A.id!==e.id&&A.id.length>8)))))).forEach((e=>{try{const A=n.filter((A=>A.id===e.containerId))[0],t=A.boundElements.filter((e=>!("text"===e.type&&!n.some((A=>A.id===e.id)))));A.boundElements=[{id:e.id,type:"text"}].concat(t)}catch(e){}}));const e=!isVersionNewerThanOther(i,"1.8.16");n.filter((e=>e.boundElements&&e.boundElements.length>0)).forEach((A=>{var t;e&&!(null===(t=A.customData)||void 0===t?void 0:t.legacyTextWrap)&&(A.customData=Object.assign(Object.assign({},A.customData),{legacyTextWrap:!0}));const i=A.boundElements.filter((e=>n.some((A=>A.id===e.id))));i.length!==A.boundElements.length&&(A.boundElements=i)})),n.filter((e=>"text"===e.type&&e.containerId&&!n.some((A=>A.id===e.containerId)))).forEach((e=>{e.containerId=null}))}catch(e){}}async loadData(e,A,t){if(!A)return!1;if(this.loaded=!1,this.selectedElementIds={},this.textElements=new Map,this.elementLinks=new Map,this.file!=A&&(this.files.clear(),this.equations.clear()),this.file=A,this.compatibilityMode=!1,this.setShowLinkBrackets(),this.setLinkPrefix(),this.setUrlPrefix(),this.setAutoexportPreferences(),this.scene=null,this.plugin.settings.syncExcalidraw){const e=`${A.path.substring(0,A.path.lastIndexOf(".md"))}.excalidraw`,t=this.app.vault.getAbstractFileByPath(e);if(t&&t instanceof obsidian_module.TFile&&t.stat.mtime>A.stat.mtime){const e=await this.app.vault.read(t);this.scene=JSON.parse(e)}}let i=null;i=(()=>{const A=getJSON(e);if(-1===A.pos)throw new Error("Excalidraw JSON not found in the file");return this.scene||(this.scene=JSON_parse(A.scene)),A})(),this.deletedElements=this.scene.elements.filter((e=>e.isDeleted)),this.scene.elements=this.scene.elements.filter((e=>!e.isDeleted)),this.scene.files||(this.scene.files={}),hasExportTheme(this.plugin,this.file)?this.scene.appState.theme=getExportTheme(this.plugin,this.file,"light"):this.plugin.settings.matchThemeAlways&&(this.scene.appState.theme=isObsidianThemeDark()?"dark":"light"),this.initializeNonInitializedFields();let n=(e=e.substring(0,i.pos)).search(/(^%%\n)?# Text Elements\n/m);if(-1===n)return await this.setTextMode(t,!1),this.loaded=!0,!0;n+=e.match(/((^%%\n)?# Text Elements\n)/m)[0].length,e=e.substring(n),n=0;const a=" ^12345678\n\n".length;let r,s=e.matchAll(/\s\^(.{8})[\n]+/g);for(;!(r=s.next()).done;){let A=e.substring(n,r.value.index);const t=r.value[1],i=this.scene.elements.filter((e=>e.id===t))[0];if(i)if("text"!==i.type)i.link!==A&&(i.link=A,i.version++,i.versionNonce++),this.elementLinks.set(t,A);else{const e=estimateMaxLineLen(i.text,i.originalText),n=A.matchAll(/^%%\*\*\*>>>text element-link:(\[\[[^<*\]]*]])<<<\*\*\*%%/gm).next();n.done||(A=A.replace(/^%%\*\*\*>>>text element-link:\[\[[^<*\]]*]]<<<\*\*\*%%/gm,""),i.link=n.value[1]);const a=await this.parse(A);i.rawText=A,this.textElements.set(t,{raw:A,parsed:a.parsed,wrapAt:e}),a.link&&(i.link=a.link),!i||i.rawText&&""!==i.rawText||(i.rawText=A)}n=r.value.index+a}for(s=(e=e.substring(e.indexOf("# Embedded files\n")+"# Embedded files\n".length)).matchAll(/([\w\d]*):\s*\[\[([^\]]*)]]\n/gm);!(r=s.next()).done;){const e=new EmbeddedFile(this.plugin,this.file.path,r.value[2]);this.setFile(r.value[1],e)}for(s=e.matchAll(/([\w\d]*):\s*(https?:\/\/[^\s]*)\n/gm);!(r=s.next()).done;){const e=new EmbeddedFile(this.plugin,null,r.value[2]);this.setFile(r.value[1],e)}for(s=e.matchAll(/([\w\d]*):\s*\$\$(.*)(\$\$\s*\n)/gm);!(r=s.next()).done;)this.setEquation(r.value[1],{latex:r.value[2],isLoaded:!1});return this.findNewTextElementsInScene(),this.findNewElementLinksInScene(),await this.setTextMode(t,!0),this.loaded=!0,!0}async loadLegacyData(e,A){return!!A&&(this.loaded=!1,this.selectedElementIds={},this.compatibilityMode=!0,this.file=A,this.textElements=new Map,this.elementLinks=new Map,this.setShowLinkBrackets(),this.setLinkPrefix(),this.setUrlPrefix(),this.scene=JSON.parse(e),this.scene.files||(this.scene.files={}),this.initializeNonInitializedFields(),this.plugin.settings.matchThemeAlways&&(this.scene.appState.theme=isObsidianThemeDark()?"dark":"light"),this.files.clear(),this.equations.clear(),this.findNewTextElementsInScene(),this.findNewElementLinksInScene(),await this.setTextMode(TextMode.raw,!0),this.loaded=!0,!0)}async setTextMode(e,A=!1){this.scene&&(this.textMode=e,await this.updateSceneTextElements(A))}updateTextElement(e,A,t,i=!1,n){if(i||A!=e.text){const i=_measureText(A,e.fontSize,e.fontFamily);e.text=A,e.originalText=t,e.containerId&&"arrow"!==n||(e.width=i.w),e.height=i.h,e.baseline=i.baseline}}async updateSceneTextElements(e=!1){var A,t,i,n;const a=null===(A=this.scene.elements)||void 0===A?void 0:A.filter((e=>"text"===e.type));for(const A of a){const a=getContainerElement(A,this.scene),r=null!==(i=null!==(t=await this.getText(A.id))&&void 0!==t?t:A.originalText)&&void 0!==i?i:A.text,s=null===(n=this.textElements.get(A.id))||void 0===n?void 0:n.wrapAt;try{this.updateTextElement(A,s?wrapText(r,getFontString({fontSize:A.fontSize,fontFamily:A.fontFamily}),getMaxContainerWidth(a)):r,r,e,null==a?void 0:a.type)}catch(e){debug({where:"ExcalidrawData.updateSceneTextElements",fn:this.updateSceneTextElements,textElement:A})}}}async getText(e){const A=this.textElements.get(e);return A?this.textMode===TextMode.parsed?(A.parsed||this.textElements.set(e,{raw:A.raw,parsed:(await this.parse(A.raw)).parsed,wrapAt:A.wrapAt}),A.parsed):A.raw:null}findNewElementLinksInScene(){var e;let A=!1;const t=null===(e=this.scene.elements)||void 0===e?void 0:e.filter((e=>"text"!==e.type&&e.link&&e.link.startsWith("[[")&&!this.elementLinks.has(e.id)));if(0===t.length)return A;let i,n=JSON.stringify(this.scene);for(const e of t)i=e.id,e.id.length>8&&(A=!0,i=nanoid(),n=n.replaceAll(e.id,i)),this.elementLinks.set(i,e.link);return this.scene=JSON.parse(n),A}findNewTextElementsInScene(e={}){var A;this.selectedElementIds=e;const t=null===(A=this.scene.elements)||void 0===A?void 0:A.filter((e=>"text"===e.type));let i,n=JSON.stringify(this.scene),a=!1;for(const e of t)if(i=e.id,e.id.length>8){if(a=!0,i=nanoid(),this.selectedElementIds[e.id]&&(delete this.selectedElementIds[e.id],this.selectedElementIds[i]=!0),n=n.replaceAll(e.id,i),this.textElements.has(e.id)){const A=this.textElements.get(e.id);this.textElements.set(i,{raw:A.raw,parsed:A.parsed,wrapAt:A.wrapAt}),this.textElements.delete(e.id)}if(!this.textElements.has(i)){const A=e.rawText&&""!==e.rawText?e.rawText:e.text,t=estimateMaxLineLen(e.text,e.originalText);this.textElements.set(i,{raw:A,parsed:null,wrapAt:t}),this.parseasync(i,A,t)}}else if(!this.textElements.has(e.id)){const A=e.rawText&&""!==e.rawText?e.rawText:e.text,t=estimateMaxLineLen(e.text,e.originalText);this.textElements.set(i,{raw:A,parsed:null,wrapAt:t}),this.parseasync(i,A,t)}return a&&(this.scene=JSON.parse(n)),a}updateElementLinksFromScene(){var e;for(const A of this.elementLinks.keys()){const t=null===(e=this.scene.elements)||void 0===e?void 0:e.filter((e=>"text"!==e.type&&e.id===A&&e.link&&e.link.startsWith("[[")));0===t.length?this.elementLinks.delete(A):this.elementLinks.set(A,t[0].link)}}async updateTextElementsFromScene(){var e,A,t;for(const i of this.textElements.keys()){const n=null===(e=this.scene.elements)||void 0===e?void 0:e.filter((e=>"text"===e.type&&e.id===i));if(0===n.length)this.textElements.delete(i);else{const e=await this.getText(i),a=this.scene.prevTextMode===TextMode.parsed?n[0].rawText:null!==(A=n[0].originalText)&&void 0!==A?A:n[0].text;if(e!==(null!==(t=n[0].originalText)&&void 0!==t?t:n[0].text)){const e=estimateMaxLineLen(n[0].text,n[0].originalText);this.textElements.set(i,{raw:a,parsed:(await this.parse(a)).parsed,wrapAt:e})}}}}async parseasync(e,A,t){this.textElements.set(e,{raw:A,parsed:(await this.parse(A)).parsed,wrapAt:t})}parseLinks(e,A,t){return e.substring(A,t.value.index)+(this.showLinkBrackets?"[[":"")+REGEX_LINK.getAliasOrLink(t)+(this.showLinkBrackets?"]]":"")}async getTransclusion(e){const A=getLinkParts(e,this.file),t=this.app.metadataCache.getFirstLinkpathDest(A.path,this.file.path);return await getTransclusion(A,this.app,t,this.plugin.settings.pageTransclusionCharLimit)}async parse(e){e=this.parseCheckbox(e);let A="",t=null,i=0;const n=REGEX_LINK.getRes(e);let a,r=!1,s=!1;for(e.match(REG_LINKINDEX_HYPERLINK)&&(t=e,s=!0);!(a=n.next()).done;){if(!t){const e=REGEX_LINK.getLink(a);t=e.match(REG_LINKINDEX_HYPERLINK)?e:`[[${e}]]`}if(REGEX_LINK.isTransclusion(a)){let t=this.parseCheckbox((await this.getTransclusion(REGEX_LINK.getLink(a))).contents).replaceAll(/%%[^%]*%%/gm,"");this.plugin.settings.removeTransclusionQuoteSigns&&(t=t.replaceAll(/\n\s*>\s?/gm,"\n")),A+=e.substring(i,a.value.index)+wrapTextAtCharLength(t,REGEX_LINK.getWrapLength(a,this.plugin.settings.wordWrappingDefault),this.plugin.settings.forceWrap)}else{const t=this.parseLinks(e,i,a);t&&(A+=t,s||r||(REGEX_LINK.getLink(a).match(REG_LINKINDEX_HYPERLINK)?s=!0:r=!0))}i=a.value.index+a.value[0].length}return A+=e.substring(i,e.length),r&&(A=this.linkPrefix+A),s&&(A=this.urlPrefix+A),{parsed:A,link:t}}parseCheckbox(e){return this.plugin.settings.parseTODO?e.replaceAll(/^- \[\s] /g,`${this.plugin.settings.todo} `).replaceAll(/\n- \[\s] /g,`\n${this.plugin.settings.todo} `).replaceAll(/^- \[[^\s]] /g,`${this.plugin.settings.done} `).replaceAll(/\n- \[[^\s]] /g,`\n${this.plugin.settings.done} `):e}quickParse(e){if((e=>{const A=REGEX_LINK.getRes(e);let t;for(;!(t=A.next()).done;)if(REGEX_LINK.isTransclusion(t))return!0;return!1})(e))return[null,null];e=this.parseCheckbox(e);let A="",t=null,i=0;const n=REGEX_LINK.getRes(e);let a,r=!1,s=!1;for(e.match(REG_LINKINDEX_HYPERLINK)&&(t=e,s=!0);!(a=n.next()).done;){if(!t){const e=REGEX_LINK.getLink(a);t=e.match(REG_LINKINDEX_HYPERLINK)?e:`[[${e}]]`}const n=this.parseLinks(e,i,a);n&&(A+=n,s||r||(REGEX_LINK.getLink(a).match(REG_LINKINDEX_HYPERLINK)?s=!0:r=!0)),i=a.value.index+a.value[0].length}return A+=e.substring(i,e.length),r&&(A=this.linkPrefix+A),s&&(A=this.urlPrefix+A),[A,t]}generateMD(e=[]){let A="# Text Elements\n";for(const e of this.textElements.keys()){const t=this.scene.elements.filter((A=>A.id===e));let i=this.textElements.get(e).raw;t&&1===t.length&&t[0].link&&t[0].rawText===t[0].originalText&&t[0].link.match(/^\[\[[^\]]*]]$/g)&&(i=`%%***>>>text element-link:${t[0].link}<<<***%%`+i),A+=`${i} ^${e}\n\n`}for(const e of this.elementLinks.keys())A+=`${this.elementLinks.get(e)} ^${e}\n\n`;if(A+=this.equations.size>0||this.files.size>0?"\n# Embedded files\n":"",this.equations.size>0)for(const e of this.equations.keys())A+=`${e}: $$${this.equations.get(e).latex}$$\n`;if(this.files.size>0)for(const e of this.files.keys()){const t=/(^[^#\|]*)/,i=this.files.get(e);i.isHyperlink?A+=`${e}: ${i.hyperlink}\n`:A+=`${e}: [[${i.file?i.linkParts.original.replace(t,app.metadataCache.fileToLinktext(i.file,this.file.path)):i.linkParts.original}]]\n`}return A+=this.equations.size>0||this.files.size>0?"\n":"",A+getMarkdownDrawingSection(JSON.stringify({type:this.scene.type,version:this.scene.version,source:this.scene.source,elements:this.scene.elements.concat(e),appState:this.scene.appState,files:this.scene.files},null,"\t"),!this.disableCompression&&this.plugin.settings.compress)}async saveDataURLtoVault(e,A,t){var i;const n=this.scene;let a=`Pasted Image ${window.moment().format("YYYYMMDDHHmmss_SSS")}`;switch(A){case"image/png":default:a+=".png";break;case"image/jpeg":a+=".jpg";break;case"image/svg+xml":a+=".svg";break;case"image/gif":a+=".gif"}const r=(await getAttachmentsFolderAndFilePath(this.app,this.file.path,a)).filepath,s=await this.app.vault.createBinary(r,getBinaryFileFromDataURL(e)),o=new EmbeddedFile(this.plugin,this.file.path,r);return o.setImage(e,A,{height:0,width:0},"dark"===(null===(i=n.appState)||void 0===i?void 0:i.theme),"image/svg+xml"===A),this.setFile(t,o),s}async syncFiles(){let e=!1;const A=this.scene,t=A.elements.filter((e=>"image"===e.type)).map((e=>e.fileId));if(this.files.forEach(((A,i)=>{t.contains(i)||(this.files.delete(i),e=!0)})),this.equations.forEach(((A,i)=>{t.contains(i)||(this.equations.delete(i),e=!0)})),!A.files||0===Object.keys(A.files).length)return!1;const i=new Set;t.forEach((t=>{if(i.has(t)){const n=this.getFile(t),a=this.getEquation(t);if(n&&(n.isHyperlink||n.file&&("md"!==n.file.extension||this.plugin.isExcalidrawFile(n.file))))return;const r=fileid();A.elements.filter((e=>e.fileId===t))[0].fileId=r,e=!0,i.add(r),n&&this.setFile(r,new EmbeddedFile(this.plugin,this.file.path,n.linkParts.original)),a&&this.setEquation(r,{latex:a.latex,isLoaded:!1})}i.add(t)}));for(const t of Object.keys(A.files))this.hasFile(t)||this.hasEquation(t)||(e=!0,await this.saveDataURLtoVault(A.files[t].dataURL,A.files[t].mimeType,t));return e}async syncElements(e,A){this.scene=e;let t=!1;return this.compatibilityMode||(t=await this.syncFiles(),this.scene.files={}),this.updateElementLinksFromScene(),t=t||this.setLinkPrefix()||this.setUrlPrefix()||this.setShowLinkBrackets()||this.findNewElementLinksInScene(),await this.updateTextElementsFromScene(),t||this.findNewTextElementsInScene(A)}async updateScene(e){this.scene=JSON_parse(e),this.updateElementLinksFromScene();const A=this.setLinkPrefix()||this.setUrlPrefix()||this.setShowLinkBrackets()||this.findNewElementLinksInScene();return await this.updateTextElementsFromScene(),!(!A&&!this.findNewTextElementsInScene()||(await this.updateSceneTextElements(),0))}getRawText(e){var A;return null===(A=this.textElements.get(e))||void 0===A?void 0:A.raw}getParsedText(e){const A=this.textElements.get(e);return A?[wrap(A.parsed,A.wrapAt),A.parsed,null]:[null,null,null]}setTextElement(e,A,t,i){const n=estimateMaxLineLen(A,t),[a,r]=this.quickParse(t);return a?(this.textElements.set(e,{raw:t,parsed:a,wrapAt:n}),[wrap(a,n),a,r]):(this.parse(t).then((A=>{const a=A.parsed;this.textElements.set(e,{raw:t,parsed:a,wrapAt:n}),a&&i(wrap(a,n),a)})),[null,null,null])}async addTextElement(e,A,t){let i=estimateMaxLineLen(A,t);this.textElements.has(e)&&(i=this.textElements.get(e).wrapAt);const n=await this.parse(t);return this.textElements.set(e,{raw:t,parsed:n.parsed,wrapAt:i}),[wrap(n.parsed,i),n.parsed,n.link]}deleteTextElement(e){this.textElements.delete(e)}getOpenMode(){const e=this.app.metadataCache.getFileCache(this.file);let A="view-mobile"===this.plugin.settings.defaultMode?DEVICE.isPhone?"view":"normal":this.plugin.settings.defaultMode;switch((null==e?void 0:e.frontmatter)&&null!=e.frontmatter["excalidraw-default-mode"]&&(A=e.frontmatter["excalidraw-default-mode"]),A){case"zen":return{viewModeEnabled:!1,zenModeEnabled:!0};case"view":return{viewModeEnabled:!0,zenModeEnabled:!1};default:return{viewModeEnabled:!1,zenModeEnabled:!1}}}getLinkOpacity(){const e=this.app.metadataCache.getFileCache(this.file);let A=this.plugin.settings.linkOpacity;return(null==e?void 0:e.frontmatter)&&null!=e.frontmatter["excalidraw-linkbutton-opacity"]&&(A=e.frontmatter["excalidraw-linkbutton-opacity"]),A}getOnLoadScript(){const e=this.app.metadataCache.getFileCache(this.file);return(null==e?void 0:e.frontmatter)&&null!=e.frontmatter["excalidraw-onload-script"]?e.frontmatter["excalidraw-onload-script"]:null}setLinkPrefix(){const e=this.linkPrefix,A=this.app.metadataCache.getFileCache(this.file);return(null==A?void 0:A.frontmatter)&&null!=A.frontmatter["excalidraw-link-prefix"]?this.linkPrefix=A.frontmatter["excalidraw-link-prefix"]:this.linkPrefix=this.plugin.settings.linkPrefix,e!=this.linkPrefix}setUrlPrefix(){const e=this.urlPrefix,A=this.app.metadataCache.getFileCache(this.file);return(null==A?void 0:A.frontmatter)&&null!=A.frontmatter["excalidraw-url-prefix"]?this.urlPrefix=A.frontmatter["excalidraw-url-prefix"]:this.urlPrefix=this.plugin.settings.urlPrefix,e!=this.urlPrefix}setAutoexportPreferences(){const e=this.app.metadataCache.getFileCache(this.file);if((null==e?void 0:e.frontmatter)&&null!=e.frontmatter["excalidraw-autoexport"])switch(e.frontmatter["excalidraw-autoexport"].toLowerCase()){case"none":this.autoexportPreference=AutoexportPreference.none;break;case"both":this.autoexportPreference=AutoexportPreference.both;break;case"png":this.autoexportPreference=AutoexportPreference.png;break;case"svg":this.autoexportPreference=AutoexportPreference.svg;break;default:this.autoexportPreference=AutoexportPreference.inherit}else this.autoexportPreference=AutoexportPreference.inherit}setShowLinkBrackets(){const e=this.showLinkBrackets,A=this.app.metadataCache.getFileCache(this.file);return(null==A?void 0:A.frontmatter)&&null!=A.frontmatter["excalidraw-link-brackets"]?this.showLinkBrackets=0!=A.frontmatter["excalidraw-link-brackets"]:this.showLinkBrackets=this.plugin.settings.showLinkBrackets,e!=this.showLinkBrackets}setFile(e,A){if(!A)return;if(this.files.set(e,A),A.isHyperlink)return void this.plugin.filesMaster.set(e,{isHyperlink:!0,path:A.hyperlink,blockrefData:null,hasSVGwithBitmap:A.isSVGwithBitmap});if(!A.file)return;const t=A.linkParts.original.split("#");this.plugin.filesMaster.set(e,{isHyperlink:!1,path:A.file.path+(A.shouldScale()?"":"|100%"),blockrefData:1===t.length?null:t[1],hasSVGwithBitmap:A.isSVGwithBitmap})}getFiles(){return Object.values(this.files)}getFile(e){let A=this.files.get(e);if(A)return A;const t=this.plugin.filesMaster.get(e);return t?(A=new EmbeddedFile(this.plugin,this.file.path,t.blockrefData?t.path+"#"+t.blockrefData:t.path),this.files.set(e,A),A):A}getFileEntries(){return this.files.entries()}deleteFile(e){this.files.delete(e)}hasFile(e){if(this.files.has(e))return!0;if(this.plugin.filesMaster.has(e)){const A=this.plugin.filesMaster.get(e);if(A.isHyperlink)return this.files.set(e,new EmbeddedFile(this.plugin,this.file.path,A.path)),!0;const t=A.path.split("|")[0].split("#")[0];if(!this.app.vault.getAbstractFileByPath(t))return this.plugin.filesMaster.delete(e),!0;const i=A.path.endsWith("100%"),n=new EmbeddedFile(this.plugin,this.file.path,(A.blockrefData?t+"#"+A.blockrefData:t)+(i?"|100%":""));return this.files.set(e,n),!0}return!1}setEquation(e,A){this.equations.set(e,{latex:A.latex,isLoaded:A.isLoaded}),this.plugin.equationsMaster.set(e,A.latex)}getEquation(e){let A=this.equations.get(e);if(A)return A;const t=this.plugin.equationsMaster.get(e);return t?(this.equations.set(e,{latex:t,isLoaded:!1}),{latex:t,isLoaded:!1}):A}getEquationEntries(){return this.equations.entries()}deleteEquation(e){this.equations.delete(e)}hasEquation(e){return!!this.equations.has(e)||!!this.plugin.equationsMaster.has(e)&&(this.equations.set(e,{latex:this.plugin.equationsMaster.get(e),isLoaded:!1}),!0)}}const getTransclusion=async(e,A,t,i)=>{var n,a,r,s,o,l,c,d,h;if(!e.path)return{contents:e.original.trim(),lineNum:0};if(!(t&&t instanceof obsidian_module.TFile))return{contents:e.original.trim(),lineNum:0};const u=await A.vault.read(t);if(!e.ref)return i?{contents:u.substring(0,i).trim(),lineNum:0}:{contents:u.trim(),lineNum:0};const g=(await A.metadataCache.blockCache.getForFile({isCancelled:()=>!1},t)).blocks.filter((e=>"comment"!=e.node.type));if(!g)return{contents:e.original.trim(),lineNum:0};if(e.isBlockRef){let A=null===(n=g.filter((A=>A.node.id==e.ref))[0])||void 0===n?void 0:n.node;if(!A)return{contents:e.original.trim(),lineNum:0};["blockquote"].includes(A.type)&&(A=A.children[0]);const t=A.position.start.offset,i=A.position.start.line,a=A.position.end.offset;return{contents:u.substring(t,a).replaceAll(/ \^\S*$|^\^\S*$/gm,"").trim(),lineNum:i}}const p=g.filter((e=>0===e.display.search(/^#+\s/)));let m=null,w=0,f=null,B=1;for(let A=0;AB;)e++;return e===p.length&&p[e-1].node.depth>B?{leadingHashes:"#".repeat(B)+" ",contents:u.substring(m).trim(),lineNum:w}:(f=p[e].node.position.start.offset-1,{leadingHashes:"#".repeat(B)+" ",contents:u.substring(m,f).trim(),lineNum:w})}const t=p[A].node.children[0],i=null===(r=null===(a=p[A].node.data)||void 0===a?void 0:a.hProperties)||void 0===r?void 0:r.dataHeading,n=null==t?void 0:t.children;!m&&((null===(s=null==t?void 0:t.value)||void 0===s?void 0:s.replaceAll(REG_BLOCK_REF_CLEAN,""))===e.ref||(null===(o=null==t?void 0:t.title)||void 0===o?void 0:o.replaceAll(REG_BLOCK_REF_CLEAN,""))===e.ref||(null==i?void 0:i.replaceAll(REG_BLOCK_REF_CLEAN,""))===e.ref||n&&(null===(c=null===(l=n[0])||void 0===l?void 0:l.value)||void 0===c?void 0:c.replaceAll(REG_BLOCK_REF_CLEAN,""))===e.ref)&&(m=null===(d=p[A].node.children[0])||void 0===d?void 0:d.position.start.offset,B=p[A].node.depth,w=null===(h=p[A].node.children[0])||void 0===h?void 0:h.position.start.line)}return m?{leadingHashes:"#".repeat(B)+" ",contents:u.substring(m).trim(),lineNum:w}:{contents:e.original.trim(),lineNum:0}};class Prompt extends obsidian_module.Modal{constructor(e,A,t,i,n){super(e),this.prompt_text=A,this.default_value=t,this.placeholder=i,this.prompt_desc=n}onOpen(){this.titleEl.setText(this.prompt_text),this.createForm()}onClose(){this.contentEl.empty()}createForm(){var e;let A=this.contentEl.createDiv();A.addClass("excalidraw-prompt-div"),this.prompt_desc&&(A=A.createDiv(),A.style.width="100%",A.createEl("p").innerHTML=this.prompt_desc);const t=A.createEl("form");t.addClass("excalidraw-prompt-form"),t.type="submit",t.onsubmit=e=>{e.preventDefault(),this.resolve(this.promptEl.value),this.close()},this.promptEl=t.createEl("input"),this.promptEl.type="text",this.promptEl.placeholder=this.placeholder,this.promptEl.value=null!==(e=this.default_value)&&void 0!==e?e:"",this.promptEl.addClass("excalidraw-prompt-input"),this.promptEl.select()}async openAndGetValue(e){this.resolve=e,this.open()}}class GenericInputPrompt extends obsidian_module.Modal{static Prompt(e,A,t,i,n){return new GenericInputPrompt(e,A,t,i,n).waitForClose}constructor(e,A,t,i,n){super(e),this.header=A,this.didSubmit=!1,this.submitClickCallback=()=>this.submit(),this.cancelClickCallback=()=>this.cancel(),this.submitEnterCallback=e=>{"Enter"===e.key&&(e.preventDefault(),this.submit())},this.placeholder=t,this.input=i,this.buttons=n,this.waitForClose=new Promise(((e,A)=>{this.resolvePromise=e,this.rejectPromise=A})),this.display(),this.open()}display(){this.contentEl.empty(),this.titleEl.textContent=this.header;const e=this.contentEl.createDiv();this.inputComponent=this.createInputField(e,this.placeholder,this.input),this.createButtonBar(e)}createInputField(e,A,t){const i=new obsidian_module.TextComponent(e);return i.inputEl.style.width="100%",i.setPlaceholder(null!=A?A:"").setValue(null!=t?t:"").onChange((e=>this.input=e)).inputEl.addEventListener("keydown",this.submitEnterCallback),i}createButton(e,A,t){const i=new obsidian_module.ButtonComponent(e);return i.setButtonText(A).onClick(t),i}createButtonBar(e){const A=e.createDiv();if(this.buttons&&this.buttons.length>0){let e=null;for(const t of this.buttons){const i=new obsidian_module.ButtonComponent(A);i.setButtonText(t.caption).onClick((e=>{const A=t.action(this.input);A&&(this.input=A),this.submit()})),e=null!=e?e:i}e&&(e.setCta().buttonEl.style.marginRight="0")}else this.createButton(A,"Ok",this.submitClickCallback).setCta().buttonEl.style.marginRight="0";this.createButton(A,"Cancel",this.cancelClickCallback),A.style.display="flex",A.style.flexDirection="row-reverse",A.style.justifyContent="flex-start",A.style.marginTop="1rem"}submit(){this.didSubmit=!0,this.close()}cancel(){this.close()}resolveInput(){this.didSubmit?this.resolvePromise(this.input):this.rejectPromise("No input given.")}removeInputListener(){var e,A;null===(A=null===(e=this.inputComponent)||void 0===e?void 0:e.inputEl)||void 0===A||A.removeEventListener("keydown",this.submitEnterCallback)}onOpen(){super.onOpen(),this.inputComponent.inputEl.focus(),this.inputComponent.inputEl.select()}onClose(){super.onClose(),this.resolveInput(),this.removeInputListener()}}class GenericSuggester extends obsidian_module.FuzzySuggestModal{static Suggest(e,A,t,i,n){return new GenericSuggester(e,A,t,i,n).promise}constructor(e,A,t,i,n){var a;super(e),this.displayItems=A,this.items=t,this.hint=i,this.instructions=n,this.limit=20,this.setPlaceholder(null!==(a=this.hint)&&void 0!==a?a:""),n&&this.setInstructions(this.instructions),this.promise=new Promise(((e,A)=>{this.resolvePromise=e,this.rejectPromise=A})),this.open()}getItemText(e){return this.displayItems[this.items.indexOf(e)]}getItems(){return this.items}selectSuggestion(e,A){this.resolved=!0,super.selectSuggestion(e,A)}onChooseItem(e){this.resolved=!0,this.resolvePromise(e)}onClose(){super.onClose(),this.resolved||this.rejectPromise(this.inputEl.value)}}class NewFileActions extends obsidian_module.Modal{constructor(e,A,t,i){super(e.app),this.plugin=e,this.path=A,this.keys=t,this.view=i}onOpen(){this.createForm()}async onClose(){}openFile(e){e&&getLeaf(this.plugin,this.view.leaf,this.keys).openFile(e,{active:!0})}createForm(){this.titleEl.setText("New File"),this.contentEl.createDiv({cls:"excalidraw-prompt-center",text:"File does not exist. Do you want to create it?"}),this.contentEl.createDiv({cls:"excalidraw-prompt-center filepath",text:this.path}),this.contentEl.createDiv({cls:"excalidraw-prompt-center"},(e=>{e.style.textAlign="right";const A=()=>this.path&&""!==this.path?!!this.view.file||(new obsidian_module.Notice("Unknown error. It seems as if your drawing was closed or the drawing file is missing"),!1):(new obsidian_module.Notice("Error: Filename for new file may not be empty"),!1),t=async e=>{if(!this.path.includes("/")){const e=new RegExp(`${this.view.file.name}$`,"g");this.path=this.view.file.path.replace(e,this.path)}return this.path.match(/\.md$/)||(this.path=`${this.path}.md`),checkAndCreateFolder(splitFolderAndFilename(this.path).folderpath),await this.app.vault.create(this.path,e)};e.createEl("button",{text:"Create Markdown"}).onclick=async()=>{if(!A)return;const e=await t("");this.openFile(e),this.close()},e.createEl("button",{text:"Create Excalidraw"}).onclick=async()=>{if(!A)return;const e=await t(await this.plugin.getBlankDrawing());await sleep$1(200),this.openFile(e),this.close()},e.createEl("button",{text:"Never Mind"}).onclick=()=>{this.close()}}))}}class ScriptEngine{constructor(e){this.plugin=e,this.scriptIconMap={},this.loadScripts(),this.registerEventHandlers()}registerEventHandlers(){const e=e=>{if(!e.endsWith(".svg"))return;const A=app.vault.getAbstractFileByPath(getIMGFilename(e,"md"));A&&A instanceof obsidian_module.TFile&&(this.unloadScript(this.getScriptName(A),A.path),this.loadScript(A))};this.plugin.registerEvent(app.vault.on("delete",(async A=>{A instanceof obsidian_module.TFile&&A.path.startsWith(this.scriptPath)&&(this.unloadScript(this.getScriptName(A),A.path),e(A.path))}))),this.plugin.registerEvent(app.vault.on("create",(async A=>{A instanceof obsidian_module.TFile&&A.path.startsWith(this.scriptPath)&&(this.loadScript(A),e(A.path))}))),this.plugin.registerEvent(app.vault.on("rename",(async(A,t)=>{if(!(A instanceof obsidian_module.TFile))return;const i=t.startsWith(this.scriptPath),n=A.path.startsWith(this.scriptPath);i&&(this.unloadScript(this.getScriptName(t),t),e(t)),n&&(this.loadScript(A),e(A.path))})))}updateScriptPath(){this.scriptPath!==this.plugin.settings.scriptFolderPath&&(this.scriptPath&&this.unloadScripts(),this.loadScripts())}getListofScripts(){if(this.scriptPath=this.plugin.settings.scriptFolderPath,app.vault.getAbstractFileByPath(this.scriptPath))return app.vault.getFiles().filter((e=>e.path.startsWith(this.scriptPath)&&"md"===e.extension));this.scriptPath=null}loadScripts(){var e;null===(e=this.getListofScripts())||void 0===e||e.forEach((e=>this.loadScript(e)))}getScriptName(e){let A="",t="";e instanceof obsidian_module.TFile?(A=e.basename,t=e.path):(A=splitFolderAndFilename(e).basename,t=e);const i=t.split(`${this.scriptPath}/`)[1],n=i.lastIndexOf("/");return n>-1?i.substring(0,n+1)+A:A}async addScriptIconToMap(e,A){const t=getIMGFilename(e,"svg"),i=app.vault.getAbstractFileByPath(t),n=i&&i instanceof obsidian_module.TFile?await app.vault.read(i):null;this.scriptIconMap=Object.assign({},this.scriptIconMap);const a=splitFolderAndFilename(A);this.scriptIconMap[e]={name:a.filename,group:"/"===a.folderpath?"":a.folderpath,svgString:n},this.updateToolPannels()}loadScript(e){if("md"!==e.extension)return;const A=this.getScriptName(e);this.addScriptIconToMap(e.path,A),this.plugin.addCommand({id:A,name:`(Script) ${A}`,checkCallback:t=>{if(t)return Boolean(app.workspace.getActiveViewOfType(ExcalidrawView));const i=app.workspace.getActiveViewOfType(ExcalidrawView);return!!i&&((async()=>{const t=await app.vault.read(e);t&&this.executeScript(i,t,A,e)})(),!0)}})}unloadScripts(){const e=app.vault.getFiles().filter((e=>e.path.startsWith(this.scriptPath)));e.forEach((e=>{this.unloadScript(this.getScriptName(e),e.path)}))}unloadScript(e,A){if(!A.endsWith(".md"))return;delete this.scriptIconMap[A],this.scriptIconMap=Object.assign({},this.scriptIconMap),this.updateToolPannels();const t=`${PLUGIN_ID}:${e}`;app.commands.commands[t]&&delete app.commands.commands[t]}async executeScript(e,A,t,i){if(!e||!A||!t)return;this.plugin.ea.reset(),this.plugin.ea.setView(e),this.plugin.ea.activeScript=t;const n=Object.getPrototypeOf((async()=>{})).constructor;let a=null;return a=await new n("ea","utils",A)(this.plugin.ea,{inputPrompt:(e,A,t,i)=>ScriptEngine.inputPrompt(app,e,A,t,i),suggester:(e,A,t,i)=>ScriptEngine.suggester(app,e,A,t,i),scriptFile:i}),this.plugin.ea.activeScript=null,a}updateToolPannels(){app.workspace.getLeavesOfType("excalidraw").forEach((e=>{var A,t;null===(t=null===(A=e.view.toolsPanelRef)||void 0===A?void 0:A.current)||void 0===t||t.updateScriptIconMap(this.scriptIconMap)}))}static async inputPrompt(e,A,t,i,n){try{return await GenericInputPrompt.Prompt(e,A,t,i,n)}catch(e){return}}static async suggester(e,A,t,i,n){try{return await GenericSuggester.Suggest(e,A,t,i,n)}catch(e){return}}}var t$c={d:(e,A)=>{for(var t in A)t$c.o(A,t)&&!t$c.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},r$e={};t$c.d(r$e,{QA:()=>w$1,ZP:()=>j$1,qt:()=>x$1,MX:()=>$});const e$d={red:"hsl(0, 100%, 50%)",orange:"hsl(30, 100%, 50%)",yellow:"hsl(60, 100%, 50%)","lime green":"hsl(90, 100%, 50%)",green:"hsl(120, 100%, 50%)","blue green":"hsl(150, 100%, 50%)",cyan:"hsl(180, 100%, 50%)","sky blue":"hsl(210, 100%, 50%)",blue:"hsl(240, 100%, 50%)",purple:"hsl(270, 100%, 50%)",magenta:"hsl(300, 100%, 50%)",pink:"hsl(330, 100%, 50%)"};function s$a(e,A,t){return Math.max(e,Math.min(A,t))}function n$c(e,A){return+e.toFixed(A>=0?A:0)}function a$c(e){const A=e%360;return A<0?A+360:A}function i$a(e){return void 0!==e?s$a(0,e,1):1}function o$b(e){return Math.floor(Math.random()*e)}function h$4(e){var A;const{Cmin:t,Cmax:i,H:n,delta:a}=function(e){const[A,t,i]=Object.values(e).map((e=>e/255)),n=Math.max(A,t,i),a=Math.min(A,t,i),r=n-a;return{Cmin:a,Cmax:n,H:0===r?0:n===A?(t-i)/r%6:n===t?(i-A)/r+2:(A-t)/r+4,delta:r}}(e),r=(i+t)/2,s=0===a?0:a/(1-Math.abs(2*r-1));return{h:a$c(60*n),s:100*s,l:100*r,a:null!==(A=e.a)&&void 0!==A?A:1}}function u$8(e){const{h:A,s:t,l:i,a:n}=e,a=i/100,r=t/100,s=(1-Math.abs(2*a-1))*r,o=s*(1-Math.abs(A/60%2-1)),l=a-s/2,c=A<60||300<=A&&A<360?s:120<=A&&A<240?0:o,d=240<=A&&A<360?0:60<=A&&A<180?s:o,h=A<120?0:180<=A&&A<300?s:o,[u,g,p]=[c,d,h].map((e=>255*(e+l)));return{r:u,g:g,b:p,a:null!=n?n:1}}function l$5(e){const[A,t,i,n]=Object.values(e).map((e=>parseInt(e,16)));return{r:A,g:t,b:i,a:n?n/255:1}}const c$a=/^#?([\da-f])([\da-f])([\da-f])([\da-f])?$|^#?([\da-f]{2})([\da-f]{2})([\da-f]{2})?([\da-f]{2})?$/gi,f$3=/hsla?\s*\(\s*([+-]?\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function d$2({h:e,s:A,l:t,a:i}){return[u$8({h:a$c(e),s:s$a(0,A,100),l:s$a(0,t,100),a:i$a(i)}),"hsl"]}const g$2=/rgba?\s*\(\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function b$5({r:e,g:A,b:t,a:i}){return[{r:s$a(0,e,255),g:s$a(0,A,255),b:s$a(0,t,255),a:i$a(i)},"rgb"]}var p$3,v$2,m$1=function(e,A,t,i,n){if("m"===i)throw new TypeError("Private method is not writable");if("a"===i&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof A?e!==A||!n:!A.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===i?n.call(e,t):n?n.value=t:A.set(e,t),t},y$1=function(e,A,t,i){if("a"===t&&!i)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof A?e!==A||!i:!A.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===t?i:"a"===t?i.call(e):i?i.value:A.get(e)};class w$1{constructor(e){var A,t;p$3.set(this,{r:0,g:0,b:0,a:1}),v$2.set(this,"rgb");const i=w$1.Parsers.map((A=>A(e))).find((e=>"invalid"!==e[1]));i?(A=this,t=this,[{set value(e){m$1(A,p$3,e,"f")}}.value,{set value(e){m$1(t,v$2,e,"f")}}.value]=i):m$1(this,v$2,"invalid","f")}get red(){return y$1(this,p$3,"f").r}get blue(){return y$1(this,p$3,"f").b}get green(){return y$1(this,p$3,"f").g}get alpha(){return y$1(this,p$3,"f").a}get hue(){return h$4(y$1(this,p$3,"f")).h}get saturation(){return h$4(y$1(this,p$3,"f")).s}get lightness(){return h$4(y$1(this,p$3,"f")).l}get format(){return y$1(this,v$2,"f")}isValid(){return"invalid"!==y$1(this,v$2,"f")}rgba(){return y$1(this,p$3,"f")}hsla(){return h$4(y$1(this,p$3,"f"))}hexa({round:e=!1}={}){return function(e,A=!1){let{r:t,g:i,b:n,a:a}=e;a&&(a*=255),A&&([t,i,n,a]=[t,i,n,a].map((e=>e&&Math.round(e))));const[r,s,o,l]=[t,i,n,null!=a?a:255].map((e=>e.toString(16).padStart(2,"0").toUpperCase()));return{r:r,g:s,b:o,a:l}}(y$1(this,p$3,"f"),e)}stringRGB({alpha:e=!0,precision:A=[0,0,0,1]}={}){const[t,i,n,a]=Object.values(y$1(this,p$3,"f")).map(((e,t)=>n$c(e,A[t])));return e?`rgba(${t}, ${i}, ${n}, ${a})`:`rgb(${t}, ${i}, ${n})`}stringHEX({alpha:e=!0}={}){const[A,t,i,n]=Object.values(this.hexa({round:!0}));return`#${A}${t}${i}${e?n:""}`}stringHSL({alpha:e=!0,precision:A=[0,0,0,1]}={}){const[t,i,n,a]=Object.values(this.hsla()).map(((e,t)=>n$c(e,A[t])));return e?`hsla(${t}, ${i}%, ${n}%, ${a})`:`hsl(${t}, ${i}%, ${n}%)`}hueTo(e){var A;const{h:t,s:i,l:n,a:a}=this.hsla(),r="number"==typeof e?a$c(e):Number(null!==(A=e$d[e].match(/\d{1,3}/))&&void 0!==A?A:t);return m$1(this,p$3,u$8({h:r,s:i,l:n,a:a}),"f"),this}hueBy(e){const{h:A,s:t,l:i,a:n}=this.hsla();return m$1(this,p$3,u$8({h:a$c(A+e),s:t,l:i,a:n}),"f"),this}saturationTo(e){const{h:A,l:t,a:i}=this.hsla();return m$1(this,p$3,u$8({h:A,s:s$a(0,e,100),l:t,a:i}),"f"),this}saturateBy(e){const{h:A,s:t,l:i,a:n}=this.hsla();return m$1(this,p$3,u$8({h:A,s:s$a(0,t+e,100),l:i,a:n}),"f"),this}desaturateBy(e){return this.saturateBy(-1*e)}lightnessTo(e){const{h:A,s:t,a:i}=this.hsla();return m$1(this,p$3,u$8({h:A,s:t,l:s$a(0,e,100),a:i}),"f"),this}lighterBy(e){const{h:A,s:t,l:i,a:n}=this.hsla();return m$1(this,p$3,u$8({h:A,s:t,l:s$a(0,i+e,100),a:n}),"f"),this}darkerBy(e){return this.lighterBy(-1*e)}alphaTo(e){return m$1(this,p$3,Object.assign(Object.assign({},y$1(this,p$3,"f")),{a:s$a(0,e,1)}),"f"),this}alphaBy(e){return m$1(this,p$3,Object.assign(Object.assign({},y$1(this,p$3,"f")),{a:s$a(0,y$1(this,p$3,"f").a+e,1)}),"f"),this}invert({alpha:e=!1}={}){const{r:A,g:t,b:i,a:n}=y$1(this,p$3,"f");return m$1(this,p$3,{r:255-A,g:255-t,b:255-i,a:e?1-n:n},"f"),this}grayscale(){return this.desaturateBy(100)}rotate(e){return this.hueBy(e)}}function $(){return new w$1({r:o$b(255),g:o$b(255),b:o$b(255),a:Math.random()})}function x$1(e){(e=e.filter(((e,A,t)=>t.indexOf(e)===A))).forEach((e=>e(w$1)))}p$3=new WeakMap,v$2=new WeakMap,w$1.Parsers=[function(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{r:A,g:t,b:i}=e;return void 0!==A&&void 0!==t&&void 0!==i&&"number"==typeof A}(e))return b$5(e);if("string"==typeof e){g$2.lastIndex=0;const A=g$2.exec(e);if(A){const[e,t,i,n]=A.filter((e=>void 0!==e)).slice(1).map(((e,A)=>e.includes("%")?+e.slice(0,-1)*(A<3?2.55:.01):+e));return b$5({r:e,g:t,b:i,a:n})}}return[{r:0,g:0,b:0,a:1},"invalid"]},function(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{r:A,g:t,b:i}=e;return void 0!==A&&void 0!==t&&void 0!==i&&"string"==typeof A}(e))return[l$5(e),"hex"];if("string"==typeof e){c$a.lastIndex=0;const A=c$a.exec(e);if(A){const[e,t,i,n]=A.filter((e=>void 0!==e)).slice(1).map((e=>1===e.length?e.repeat(2):e));return[l$5({r:e,g:t,b:i,a:null!=n?n:"FF"}),"hex"]}}return[{r:0,g:0,b:0,a:1},"invalid"]},function(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{h:A,s:t,l:i}=e;return void 0!==A&&void 0!==t&&void 0!==i}(e))return d$2(e);if("string"==typeof e){f$3.lastIndex=0;const A=f$3.exec(e);if(A){const[e,t,i,n]=A.filter((e=>void 0!==e)).slice(1).map(((e,A)=>e.includes("%")?+e.slice(0,-1)*(0===A?3.59:A<3?1:.01):+e));return d$2({h:e,s:t,l:i,a:n})}}return[{r:0,g:0,b:0,a:1},"invalid"]}];const j$1=e=>new w$1(e);r$e.QA;var O$1=r$e.ZP,B=r$e.qt;r$e.MX;var e$c={d:(e,A)=>{for(var t in A)e$c.o(A,t)&&!e$c.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},a$b={};function t$b(e){const A=e%360;return A<0?A+360:A}e$c.d(a$b,{Z:()=>n$b});const n$b=e=>{e.prototype.harmony=function({type:A="analogous",effect:t="tones",amount:i=5}={}){const{h:n,s:a,l:r,a:s}=this.hsla();switch("monochromatic"===A&&(o=i,i=Math.max(2,Math.min(o,10))),A){case"analogous":return[-30,0,30].map((A=>new e({h:t$b(n+A),s:a,l:r,a:s})));case"complementary":return[0,180].map((A=>new e({h:t$b(n+A),s:a,l:r,a:s})));case"split-complementary":return[0,150,210].map((A=>new e({h:t$b(n+A),s:a,l:r,a:s})));case"double-split-complementary":return[-30,0,30,150,210].map((A=>new e({h:t$b(n+A),s:a,l:r,a:s})));case"triad":return[0,120,240].map((A=>new e({h:t$b(n+A),s:a,l:r,a:s})));case"rectangle":return[0,60,180,240].map((A=>new e({h:t$b(n+A),s:a,l:r,a:s})));case"square":return[0,90,180,270].map((A=>new e({h:t$b(n+A),s:a,l:r,a:s})));case"monochromatic":{const A="tones"===t?a:r;let o=("tints"===t?100-A:A)/i;o="tints"===t?o:-1*o;const l=[A];for(let e=0;enew e({h:n,s:A,l:r,a:s}))):l.map((A=>new e({h:n,s:a,l:A,a:s})))}}var o}};var r$d=a$b.Z,a$a={d:(e,A)=>{for(var t in A)a$a.o(A,t)&&!a$a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},t$a={};a$a.d(t$a,{Z:()=>k});const e$b=6/29,n$a=Math.pow(e$b,3),c$9=Math.pow(29/3,3),r$c={x:.96422,y:1,z:.82521};function u$7(e,A){return[e[0][0]*A[0]+e[0][1]*A[1]+e[0][2]*A[2],e[1][0]*A[0]+e[1][1]*A[1]+e[1][2]*A[2],e[2][0]*A[0]+e[2][1]*A[1]+e[2][2]*A[2]]}function s$9(e,A,t){return Math.max(e,Math.min(A,t))}function o$a(e){const A=e%360;return A<0?A+360:A}function l$4(e){const[A,t,i]=Object.values(e).map((e=>e/255)),n=Math.max(A,t,i),a=Math.min(A,t,i),r=n-a;return{Cmin:a,Cmax:n,H:0===r?0:n===A?(t-i)/r%6:n===t?(i-A)/r+2:(A-t)/r+4,delta:r}}function b$4(e){var A;const{Cmin:t,Cmax:i,H:n,delta:a}=l$4(e),r=(i+t)/2,s=0===a?0:a/(1-Math.abs(2*r-1));return{h:o$a(60*n),s:100*s,l:100*r,a:null!==(A=e.a)&&void 0!==A?A:1}}function h$3(e){var A;const{Cmax:t,H:i,delta:n}=l$4(e),a=0===n?0:n/t;return{h:o$a(60*i),s:100*a,v:100*t,a:null!==(A=e.a)&&void 0!==A?A:1}}function v$1(e){const{h:A,a:t}=b$4(e),{r:i,g:n,b:a}=e;return{h:A,w:Math.min(i,n,a)/2.55,b:100*(1-Math.max(i,n,a)/255),a:t}}function i$9(e){const[A,t,i]=u$7([[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],Object.values(e).map((e=>{return 100*(A=e,(A/=255)<.04045?A/12.92:Math.pow((A+.055)/1.055,2.4));var A})));return function(e){const[A,t,i]=u$7([[1.0479298208405488,.022946793341019088,-.05019222954313557],[.029627815688159344,.990434484573249,-.01707382502938514],[-.009243058152591178,.015055144896577895,.7518742899580008]],Object.values(e));return{x:A,y:t,z:i,a:e.a}}({x:A,y:t,z:i,a:e.a})}function m(e){const A=Object.values(i$9(e)).map(((e,A)=>e/(100*Object.values(r$c)[A]))).map((e=>e>n$a?Math.cbrt(e):(c$9*e+16)/116));return{l:116*A[1]-16,a:500*(A[0]-A[1]),b:200*(A[1]-A[2]),alpha:e.a}}function p$2(e){const{l:A,a:t,b:i}=m(e),n=180*Math.atan2(i,t)/Math.PI;return{l:A,c:Math.sqrt(Math.pow(t,2)+Math.pow(i,2)),h:o$a(n),a:e.a}}function f$2(e){const[A,t,i]=Object.values(i$9(e)).map((e=>e/100)),n=t/r$c.y,a=A&&t&&i?A+15*t+3*i:19,r=4*A/a,s=9*t/a,o=r$c.x+15*r$c.y+3*r$c.z,l=4*r$c.x/o,c=9*r$c.y/o;let d=n>n$a?116*Math.cbrt(n)-16:c$9*n,h=13*d*(r-l),u=13*d*(s-c);return d===Number(-0)&&(d=0),h===Number(-0)&&(h=0),u===Number(-0)&&(u=0),{l:d,u:h,v:u,a:e.a}}function M(e){const{x:A,y:t,z:i}=i$9(e),[n,a,r]=u$7([[2/3,0,0],[0,1,0],[-.5,1.5,.5]],[A,t,i]);return{u:n,v:a,w:r,a:e.a}}function w(e){let{r:A,g:t,b:i}=e;const n=Math.min(A,t,i);[A,t,i]=[A,t,i].map((e=>e-n));const a=Math.max(A,t,i);let r=Math.min(A,t);A-=r,t-=r,i&&t&&(i/=2,t/=2),r+=t,i+=t;const s=Math.max(A,r,i);if(s){const e=a/s;[A,r,i]=[A,r,i].map((A=>A*e))}return[A,r,i]=[A,r,i].map((e=>e+n)),{r:A,y:r,b:i,a:e.a}}function O(e){const{r:A,g:t,b:i,a:n}=e,a=1-Math.max(A,t,i)/255,[r,s,o]=1===a?[0,0,0]:[A,t,i].map((e=>100*(1-e/255-a)/(1-a)));return{c:r,m:s,y:o,k:100*a,a:n}}function j(e){const{h:A,s:t,v:i,a:n}=e,a=i/100,r=a*(t/100),s=r*(1-Math.abs(A/60%2-1)),o=a-r,l=A<60||300<=A&&A<360?r:120<=A&&A<240?0:s,c=240<=A&&A<360?0:60<=A&&A<180?r:s,d=A<120?0:180<=A&&A<300?r:s,[h,u,g]=[l,c,d].map((e=>255*(e+o)));return{r:h,g:u,b:g,a:null!=n?n:1}}function x(e){const[A,t,i]=Object.values(function(e){const[A,t,i]=u$7([[.9554734527042182,-.023098536874261423,.0632593086610217],[-.028369706963208136,1.0099954580058226,.021041398966943008],[.012314001688319899,-.020507696433477912,1.3303659366080753]],Object.values(e));return{x:A,y:t,z:i,a:e.a}}(e)).map((e=>e/100)),[n,a,r]=u$7([[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],[A,t,i]).map((e=>{return s$9(0,255*((A=e)>.0031308?1.055*Math.pow(A,1/2.4)-.055:12.92*A),255);var A}));return{r:n,g:a,b:r,a:e.a}}function y(e){const{l:A,a:t,b:i}=e,n=(A+16)/116,a=n+t/500,r=n-i/200,s=Object.values(r$c),[o,l,c]=[a,n,r].map(((e,A)=>(e>e$b?Math.pow(e,3):3*Math.pow(e$b,2)*(e-4/29))*s[A]*100));return x({x:o,y:l,z:c,a:e.alpha})}const k=e=>{e.prototype.mix=function({color:A="#fff",ratio:t=.5,colorspace:i="luv"}={}){const n=this.rgba(),a=(A instanceof e?A:new e(A)).rgba();let r,s;switch(t=s$9(0,t,1),i){case"hsl":r=Object.values(b$4(n)),s=Object.values(b$4(a));break;case"hsv":r=Object.values(h$3(n)),s=Object.values(h$3(a));break;case"hwb":r=Object.values(v$1(n)),s=Object.values(v$1(a));break;case"lab":r=Object.values(m(n)),s=Object.values(m(a));break;case"lch":r=Object.values(p$2(n)),s=Object.values(p$2(a));break;case"luv":r=Object.values(f$2(n)),s=Object.values(f$2(a));break;case"ryb":r=Object.values(w(n)),s=Object.values(w(a));break;case"uvw":r=Object.values(M(n)),s=Object.values(M(a));break;case"xyz":r=Object.values(i$9(n)),s=Object.values(i$9(a));break;case"cmyk":r=Object.values(O(n)),s=Object.values(O(a));break;default:r=Object.values(n),s=Object.values(a)}const[o,l,c,d,h]=r.map(((e,A)=>r[A]*(1-t)+s[A]*t));switch(i){case"hsl":return new e(function(e){const{h:A,s:t,l:i,a:n}=e,a=i/100,r=t/100,s=(1-Math.abs(2*a-1))*r,o=s*(1-Math.abs(A/60%2-1)),l=a-s/2,c=A<60||300<=A&&A<360?s:120<=A&&A<240?0:o,d=240<=A&&A<360?0:60<=A&&A<180?s:o,h=A<120?0:180<=A&&A<300?s:o,[u,g,p]=[c,d,h].map((e=>255*(e+l)));return{r:u,g:g,b:p,a:null!=n?n:1}}({h:o,s:l,l:c,a:d}));case"hsv":return new e(j({h:o,s:l,v:c,a:d}));case"hwb":return new e(function(e){const{h:A,b:t,w:i,a:n}=e;return j({h:A,s:100===t?0:100-i/(100-t)*100,v:100-t,a:n})}({h:o,w:l,b:c,a:d}));case"lab":return new e(y({l:o,a:l,b:c,alpha:d}));case"lch":return new e(function(e){const{l:A,c:t,h:i}=e;return y({l:A,a:t*Math.cos(i*Math.PI/180),b:t*Math.sin(i*Math.PI/180),alpha:e.a})}({l:o,c:l,h:c,a:d}));case"luv":return new e(function(e){const{l:A,u:t,v:i}=e,n=A>c$9*n$a?Math.pow((A+16)/116,3):A/c$9,a=r$c.x+15*r$c.y+3*r$c.z,r=(52*A/(t&&A?t+13*A*(4*r$c.x/a):1)-1)/3,s=-5*n,o=n*(39*A/(i&&A?i+13*A*(9*r$c.y/a):1)-5),l=r===-1/3?o-s:(o-s)/(r- -1/3);return x({x:100*l,y:100*n,z:100*(r*l+s),a:e.a})}({l:o,u:l,v:c,a:d}));case"ryb":return new e(function(e){let{r:A,y:t,b:i}=e;const n=Math.min(A,t,i);[A,t,i]=[A,t,i].map((e=>e-n));const a=Math.max(A,t,i);let r=Math.min(t,i);t-=r,i-=r,i&&r&&(i*=2,r*=2),A+=t,r+=t;const s=Math.max(A,r,i);if(s){const e=a/s;[A,r,i]=[A,r,i].map((A=>A*e))}return[A,r,i]=[A,r,i].map((e=>e+n)),{r:A,g:r,b:i,a:e.a}}({r:o,y:l,b:c,a:d}));case"uvw":return new e(function(e){const{u:A,v:t,w:i}=e,[n,a,r]=u$7([[1.5,0,0],[0,1,0],[1.5,-3,2]],[A,t,i]);return x({x:n,y:a,z:r,a:e.a})}({u:o,v:l,w:c,a:d}));case"xyz":return new e(x({x:o,y:l,z:c,a:d}));case"cmyk":return new e(function(e){const{c:A,m:t,y:i,k:n,a:a}=e,[r,s,o]=[A,t,i].map((e=>255*(1-e/100)*(1-n/100)));return{r:r,g:s,b:o,a:a}}({c:o,m:l,y:c,k:d,a:h}));default:return new e({r:o,g:l,b:c,a:d})}}};var z=t$a.Z,r$b={d:(e,A)=>{for(var t in A)r$b.o(A,t)&&!r$b.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},b$3={};r$b.d(b$3,{Z:()=>n$9});const g$1=["rgb(0,0,0)","rgb(0,0,51)","rgb(0,0,102)","rgb(0,0,153)","rgb(0,0,204)","rgb(0,0,255)","rgb(0,51,0)","rgb(0,51,51)","rgb(0,51,102)","rgb(0,51,153)","rgb(0,51,204)","rgb(0,51,255)","rgb(0,102,0)","rgb(0,102,51)","rgb(0,102,102)","rgb(0,102,153)","rgb(0,102,204)","rgb(0,102,255)","rgb(0,153,0)","rgb(0,153,51)","rgb(0,153,102)","rgb(0,153,153)","rgb(0,153,204)","rgb(0,153,255)","rgb(0,204,0)","rgb(0,204,51)","rgb(0,204,102)","rgb(0,204,153)","rgb(0,204,204)","rgb(0,204,255)","rgb(0,255,0)","rgb(0,255,51)","rgb(0,255,102)","rgb(0,255,153)","rgb(0,255,204)","rgb(0,255,255)","rgb(51,0,0)","rgb(51,0,51)","rgb(51,0,102)","rgb(51,0,153)","rgb(51,0,204)","rgb(51,0,255)","rgb(51,51,0)","rgb(51,51,51)","rgb(51,51,102)","rgb(51,51,153)","rgb(51,51,204)","rgb(51,51,255)","rgb(51,102,0)","rgb(51,102,51)","rgb(51,102,102)","rgb(51,102,153)","rgb(51,102,204)","rgb(51,102,255)","rgb(51,153,0)","rgb(51,153,51)","rgb(51,153,102)","rgb(51,153,153)","rgb(51,153,204)","rgb(51,153,255)","rgb(51,204,0)","rgb(51,204,51)","rgb(51,204,102)","rgb(51,204,153)","rgb(51,204,204)","rgb(51,204,255)","rgb(51,255,0)","rgb(51,255,51)","rgb(51,255,102)","rgb(51,255,153)","rgb(51,255,204)","rgb(51,255,255)","rgb(102,0,0)","rgb(102,0,51)","rgb(102,0,102)","rgb(102,0,153)","rgb(102,0,204)","rgb(102,0,255)","rgb(102,51,0)","rgb(102,51,51)","rgb(102,51,102)","rgb(102,51,153)","rgb(102,51,204)","rgb(102,51,255)","rgb(102,102,0)","rgb(102,102,51)","rgb(102,102,102)","rgb(102,102,153)","rgb(102,102,204)","rgb(102,102,255)","rgb(102,153,0)","rgb(102,153,51)","rgb(102,153,102)","rgb(102,153,153)","rgb(102,153,204)","rgb(102,153,255)","rgb(102,204,0)","rgb(102,204,51)","rgb(102,204,102)","rgb(102,204,153)","rgb(102,204,204)","rgb(102,204,255)","rgb(102,255,0)","rgb(102,255,51)","rgb(102,255,102)","rgb(102,255,153)","rgb(102,255,204)","rgb(102,255,255)","rgb(153,0,0)","rgb(153,0,51)","rgb(153,0,102)","rgb(153,0,153)","rgb(153,0,204)","rgb(153,0,255)","rgb(153,51,0)","rgb(153,51,51)","rgb(153,51,102)","rgb(153,51,153)","rgb(153,51,204)","rgb(153,51,255)","rgb(153,102,0)","rgb(153,102,51)","rgb(153,102,102)","rgb(153,102,153)","rgb(153,102,204)","rgb(153,102,255)","rgb(153,153,0)","rgb(153,153,51)","rgb(153,153,102)","rgb(153,153,153)","rgb(153,153,204)","rgb(153,153,255)","rgb(153,204,0)","rgb(153,204,51)","rgb(153,204,102)","rgb(153,204,153)","rgb(153,204,204)","rgb(153,204,255)","rgb(153,255,0)","rgb(153,255,51)","rgb(153,255,102)","rgb(153,255,153)","rgb(153,255,204)","rgb(153,255,255)","rgb(204,0,0)","rgb(204,0,51)","rgb(204,0,102)","rgb(204,0,153)","rgb(204,0,204)","rgb(204,0,255)","rgb(204,51,0)","rgb(204,51,51)","rgb(204,51,102)","rgb(204,51,153)","rgb(204,51,204)","rgb(204,51,255)","rgb(204,102,0)","rgb(204,102,51)","rgb(204,102,102)","rgb(204,102,153)","rgb(204,102,204)","rgb(204,102,255)","rgb(204,153,0)","rgb(204,153,51)","rgb(204,153,102)","rgb(204,153,153)","rgb(204,153,204)","rgb(204,153,255)","rgb(204,204,0)","rgb(204,204,51)","rgb(204,204,102)","rgb(204,204,153)","rgb(204,204,204)","rgb(204,204,255)","rgb(204,255,0)","rgb(204,255,51)","rgb(204,255,102)","rgb(204,255,153)","rgb(204,255,204)","rgb(204,255,255)","rgb(255,0,0)","rgb(255,0,51)","rgb(255,0,102)","rgb(255,0,153)","rgb(255,0,204)","rgb(255,0,255)","rgb(255,51,0)","rgb(255,51,51)","rgb(255,51,102)","rgb(255,51,153)","rgb(255,51,204)","rgb(255,51,255)","rgb(255,102,0)","rgb(255,102,51)","rgb(255,102,102)","rgb(255,102,153)","rgb(255,102,204)","rgb(255,102,255)","rgb(255,153,0)","rgb(255,153,51)","rgb(255,153,102)","rgb(255,153,153)","rgb(255,153,204)","rgb(255,153,255)","rgb(255,204,0)","rgb(255,204,51)","rgb(255,204,102)","rgb(255,204,153)","rgb(255,204,204)","rgb(255,204,255)","rgb(255,255,0)","rgb(255,255,51)","rgb(255,255,102)","rgb(255,255,153)","rgb(255,255,204)","rgb(255,255,255)"];function t$9(e){return(e/=255)<.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function o$9(e,A=[0,0,0,1]){var t,i;return null!==(i=null===(t=e.match(/\d{1,3}/g))||void 0===t?void 0:t.map((e=>+e)))&&void 0!==i?i:A}const n$9=e=>{e.prototype.brightness=function({precision:e=4,percentage:A=!1}={}){const{r:t,g:i,b:n}=this.rgba(),a=+((.299*t+.587*i+.114*n)/255).toFixed(e);return A?100*a:a},e.prototype.luminance=function({precision:e=4,percentage:A=!1}={}){const{r:t,g:i,b:n}=this.rgba(),a=+(.2126*t$9(t)+.7152*t$9(i)+.0722*t$9(n)).toFixed(e);return A?100*a:a},e.prototype.contrast=function({bgColor:A="#fff",precision:t=4,ratio:i=!1}={}){const n=this.luminance(),a=(A instanceof e?A:new e(A)).luminance(),r=((Math.max(n,a)+.05)/(Math.min(n,a)+.05)).toFixed(t);return i?r+":1":+r},e.prototype.readableOn=function({bgColor:e="#fff",size:A="body",level:t="minimum"}={}){const i=this.contrast({bgColor:e});return"body"===A&&"enhanced"===t?i>=7:"large"===A&&"minimum"===t?i>=3:i>=4.5},e.prototype.equalTo=function(A="#fff"){const t=Object.values(this.rgba()),i=Object.values((A instanceof e?A:new e(A)).rgba());return t.toString()===i.toString()},e.prototype.isLight=function(){return this.brightness()>=.5},e.prototype.isDark=function(){return!this.isLight()},e.prototype.isCool=function(){const{h:e}=this.hsla();return 75<=e&&e<255},e.prototype.isWarm=function(){return!this.isCool()},e.prototype.isTinted=function(){return this.hsla().l>50},e.prototype.isShaded=function(){return this.hsla().l<50},e.prototype.isToned=function(){return this.hsla().s<100},e.prototype.isPureHue=function({reason:e=!0}={}){return this.isTinted()?!!e&&{pure:!1,reason:"tinted"}:this.isShaded()?!!e&&{pure:!1,reason:"shaded"}:this.isToned()?!!e&&{pure:!1,reason:"toned"}:!e||{pure:!0,reason:"N/A"}},e.prototype.closestCool=function(){const{h:e}=this.hsla();return this.isCool()?this:this.hueTo(e<75?75:254)},e.prototype.closestWarm=function(){const{h:e}=this.hsla();return this.isWarm()?this:this.hueTo(e<165?74:255)},e.prototype.closestPureHue=function(){const{h:A,a:t}=this.hsla(),{r:i,g:n,b:a,a:r}=function(e){const{h:A,s:t,l:i,a:n}=e,a=i/100,r=t/100,s=(1-Math.abs(2*a-1))*r,o=s*(1-Math.abs(A/60%2-1)),l=a-s/2,c=A<60||300<=A&&A<360?s:120<=A&&A<240?0:o,d=240<=A&&A<360?0:60<=A&&A<180?s:o,h=A<120?0:180<=A&&A<300?s:o,[u,g,p]=[c,d,h].map((e=>255*(e+l)));return{r:u,g:g,b:p,a:null!=n?n:1}}({h:A,s:100,l:50,a:t});return new e({r:i,g:n,b:a,a:r})},e.prototype.closestWebSafe=function(){const{r:A,g:t,b:i,a:n}=this.rgba();let[a,r,s]=new Array(3).fill(0),o=Number.POSITIVE_INFINITY,l={r:A,g:t,b:i,a:n};for(let e=0;e{for(var t in A)r$a.o(A,t)&&!r$a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},g={};r$a.d(g,{Z:()=>a$9});const e$9={maroon:"rgb(128,0,0)","dark red":"rgb(139,0,0)",brown:"rgb(165,42,42)",firebrick:"rgb(178,34,34)",crimson:"rgb(220,20,60)",red:"rgb(255,0,0)",tomato:"rgb(255,99,71)",coral:"rgb(255,127,80)","indian red":"rgb(205,92,92)","light coral":"rgb(240,128,128)","dark salmon":"rgb(233,150,122)",salmon:"rgb(250,128,114)","light salmon":"rgb(255,160,122)","orange red":"rgb(255,69,0)","dark orange":"rgb(255,140,0)",orange:"rgb(255,165,0)",gold:"rgb(255,215,0)","dark golden rod":"rgb(184,134,11)","golden rod":"rgb(218,165,32)","pale golden rod":"rgb(238,232,170)","dark khaki":"rgb(189,183,107)",khaki:"rgb(240,230,140)",olive:"rgb(128,128,0)",yellow:"rgb(255,255,0)","yellow green":"rgb(154,205,50)","dark olive green":"rgb(85,107,47)","olive drab":"rgb(107,142,35)","lawn green":"rgb(124,252,0)","chart reuse":"rgb(127,255,0)","green yellow":"rgb(173,255,47)","dark green":"rgb(0,100,0)",green:"rgb(0,128,0)","forest green":"rgb(34,139,34)",lime:"rgb(0,255,0)","lime green":"rgb(50,205,50)","light green":"rgb(144,238,144)","pale green":"rgb(152,251,152)","dark sea green":"rgb(143,188,143)","medium spring green":"rgb(0,250,154)","spring green":"rgb(0,255,127)","sea green":"rgb(46,139,87)","medium aqua marine":"rgb(102,205,170)","medium sea green":"rgb(60,179,113)","light sea green":"rgb(32,178,170)","dark slate gray":"rgb(47,79,79)",teal:"rgb(0,128,128)","dark cyan":"rgb(0,139,139)",cyan:"rgb(0,255,255)",aqua:"rgb(0,255,255)","light cyan":"rgb(224,255,255)","dark turquoise":"rgb(0,206,209)",turquoise:"rgb(64,224,208)","medium turquoise":"rgb(72,209,204)","pale turquoise":"rgb(175,238,238)","aqua marine":"rgb(127,255,212)","powder blue":"rgb(176,224,230)","cadet blue":"rgb(95,158,160)","steel blue":"rgb(70,130,180)","corn flower blue":"rgb(100,149,237)","deep sky blue":"rgb(0,191,255)","dodger blue":"rgb(30,144,255)","light blue":"rgb(173,216,230)","sky blue":"rgb(135,206,235)","light sky blue":"rgb(135,206,250)","midnight blue":"rgb(25,25,112)",navy:"rgb(0,0,128)","dark blue":"rgb(0,0,139)","medium blue":"rgb(0,0,205)",blue:"rgb(0,0,255)","royal blue":"rgb(65,105,225)","blue violet":"rgb(138,43,226)",indigo:"rgb(75,0,130)","dark slate blue":"rgb(72,61,139)","slate blue":"rgb(106,90,205)","medium slate blue":"rgb(123,104,238)","medium purple":"rgb(147,112,219)","dark magenta":"rgb(139,0,139)","dark violet":"rgb(148,0,211)","dark orchid":"rgb(153,50,204)","medium orchid":"rgb(186,85,211)",purple:"rgb(128,0,128)",thistle:"rgb(216,191,216)",plum:"rgb(221,160,221)",violet:"rgb(238,130,238)",magenta:"rgb(255,0,255)",fuchsia:"rgb(255,0,255)",orchid:"rgb(218,112,214)","medium violet red":"rgb(199,21,133)","pale violet red":"rgb(219,112,147)","deep pink":"rgb(255,20,147)","hot pink":"rgb(255,105,180)","light pink":"rgb(255,182,193)",pink:"rgb(255,192,203)","antique white":"rgb(250,235,215)",beige:"rgb(245,245,220)",bisque:"rgb(255,228,196)","blanched almond":"rgb(255,235,205)",wheat:"rgb(245,222,179)","corn silk":"rgb(255,248,220)","lemon chiffon":"rgb(255,250,205)","light golden rod yellow":"rgb(250,250,210)","light yellow":"rgb(255,255,224)","saddle brown":"rgb(139,69,19)",sienna:"rgb(160,82,45)",chocolate:"rgb(210,105,30)",peru:"rgb(205,133,63)","sandy brown":"rgb(244,164,96)","burly wood":"rgb(222,184,135)",tan:"rgb(210,180,140)","rosy brown":"rgb(188,143,143)",moccasin:"rgb(255,228,181)","navajo white":"rgb(255,222,173)","peach puff":"rgb(255,218,185)","misty rose":"rgb(255,228,225)","lavender blush":"rgb(255,240,245)",linen:"rgb(250,240,230)","old lace":"rgb(253,245,230)","papaya whip":"rgb(255,239,213)","sea shell":"rgb(255,245,238)","mint cream":"rgb(245,255,250)","slate gray":"rgb(112,128,144)","light slate gray":"rgb(119,136,153)","light steel blue":"rgb(176,196,222)",lavender:"rgb(230,230,250)","floral white":"rgb(255,250,240)","alice blue":"rgb(240,248,255)","ghost white":"rgb(248,248,255)",honeydew:"rgb(240,255,240)",ivory:"rgb(255,255,240)",azure:"rgb(240,255,255)",snow:"rgb(255,250,250)",black:"rgb(0,0,0)","dim gray":"rgb(105,105,105)","dim grey":"rgb(105,105,105)",gray:"rgb(128,128,128)",grey:"rgb(128,128,128)","dark gray":"rgb(169,169,169)","dark grey":"rgb(169,169,169)",silver:"rgb(192,192,192)","light gray":"rgb(211,211,211)","light grey":"rgb(211,211,211)",gainsboro:"rgb(220,220,220)",gainsborough:"rgb(220,220,220)","white smoke":"rgb(245,245,245)",white:"rgb(255,255,255)",transparent:"rgba(0,0,0,0)"};function b$2(e,A=[0,0,0,1]){var t,i;return null!==(i=null===(t=e.match(/\d{1,3}/g))||void 0===t?void 0:t.map((e=>+e)))&&void 0!==i?i:A}const a$9=e=>{e.prototype.name=function({exact:e=!0}={}){const{r:A,g:t,b:i,a:n}=this.rgba();if(0===n)return"transparent";const[a,r]=[Object.keys(e$9),Object.values(e$9)];let s;if(e){const e=this.stringRGB({alpha:!1}).replace(/\s/g,"");s=a.find((A=>e$9[A]===e))}else{let e=Number.POSITIVE_INFINITY;for(let n=0;n{for(var t in A)t$8.o(A,t)&&!t$8.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},a$8={};t$8.d(a$8,{Z:()=>d$1});const n$8=6/29,r$9=Math.pow(n$8,3),o$8=Math.pow(29/3,3),e$8={x:.96422,y:1,z:.82521};function c$8(e,A){return[e[0][0]*A[0]+e[0][1]*A[1]+e[0][2]*A[2],e[1][0]*A[0]+e[1][1]*A[1]+e[1][2]*A[2],e[2][0]*A[0]+e[2][1]*A[1]+e[2][2]*A[2]]}function s$8(e,A,t){return Math.max(e,Math.min(A,t))}function u$6(e){const A=e%360;return A<0?A+360:A}function i$8(e){const{l:A,a:t,b:i}=function(e){const A=Object.values(function(e){const[A,t,i]=c$8([[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],Object.values(e).map((e=>{return 100*(A=e,(A/=255)<.04045?A/12.92:Math.pow((A+.055)/1.055,2.4));var A})));return function(e){const[A,t,i]=c$8([[1.0479298208405488,.022946793341019088,-.05019222954313557],[.029627815688159344,.990434484573249,-.01707382502938514],[-.009243058152591178,.015055144896577895,.7518742899580008]],Object.values(e));return{x:A,y:t,z:i,a:e.a}}({x:A,y:t,z:i,a:e.a})}(e)).map(((e,A)=>e/(100*Object.values(e$8)[A]))).map((e=>e>r$9?Math.cbrt(e):(o$8*e+16)/116));return{l:116*A[1]-16,a:500*(A[0]-A[1]),b:200*(A[1]-A[2]),alpha:e.a}}(e),n=180*Math.atan2(i,t)/Math.PI;return{l:A,c:Math.sqrt(Math.pow(t,2)+Math.pow(i,2)),h:u$6(n),a:e.a}}function h$2(e){const{l:A,c:t,h:i}=e;return function(e){const{l:A,a:t,b:i}=e,n=(A+16)/116,a=n+t/500,r=n-i/200,s=Object.values(e$8),[o,l,c]=[a,n,r].map(((e,A)=>(e>n$8?Math.pow(e,3):3*Math.pow(n$8,2)*(e-4/29))*s[A]*100));return function(e){const[A,t,i]=Object.values(function(e){const[A,t,i]=c$8([[.9554734527042182,-.023098536874261423,.0632593086610217],[-.028369706963208136,1.0099954580058226,.021041398966943008],[.012314001688319899,-.020507696433477912,1.3303659366080753]],Object.values(e));return{x:A,y:t,z:i,a:e.a}}(e)).map((e=>e/100)),[n,a,r]=c$8([[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],[A,t,i]).map((e=>{return s$8(0,255*((A=e)>.0031308?1.055*Math.pow(A,1/2.4)-.055:12.92*A),255);var A}));return{r:n,g:a,b:r,a:e.a}}({x:o,y:l,z:c,a:e.alpha})}({l:A,a:t*Math.cos(i*Math.PI/180),b:t*Math.sin(i*Math.PI/180),alpha:e.a})}const l$2=/lcha?\s*\(\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*([+-]?\d*\.?\d+%?)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function p$1({l:e,c:A,h:t,a:i}){return[h$2({l:s$8(0,e,100),c:s$8(0,A,230),h:u$6(t),a:(n=i,void 0!==n?s$8(0,n,1):1)}),"lch"];var n}function f$1(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{l:A,c:t,h:i}=e;return void 0!==A&&void 0!==t&&void 0!==i}(e))return p$1(e);if("string"==typeof e){l$2.lastIndex=0;const A=l$2.exec(e);if(A){const[e,t,i,n]=A.filter((e=>void 0!==e)).slice(1).map(((e,A)=>e.includes("%")?+e.slice(0,-1)*(0===A?1:1===A?2.3:2===A?3.59:.01):+e));return p$1({l:e,c:t,h:i,a:n})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const d$1=e=>{e.prototype.lcha=function(){return i$8(this.rgba())},e.prototype.stringLCH=function({alpha:e=!0,precision:A=[0,0,0,1]}={}){const[t,i,n,a]=Object.values(this.lcha()).map(((e,t)=>function(e,A){return+e.toFixed(A>=0?A:0)}(e,A[t])));return e?`lcha(${t}%, ${i}, ${n}, ${a})`:`lch(${t}%, ${i}, ${n})`},e.Parsers.push(f$1)};var b$1=a$8.Z,t$7={d:(e,A)=>{for(var t in A)t$7.o(A,t)&&!t$7.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},n$7={};t$7.d(n$7,{Z:()=>l$1});const r$8=Math.pow(6/29,3),e$7=Math.pow(29/3,3);function o$7(e,A){return[e[0][0]*A[0]+e[0][1]*A[1]+e[0][2]*A[2],e[1][0]*A[0]+e[1][1]*A[1]+e[1][2]*A[2],e[2][0]*A[0]+e[2][1]*A[1]+e[2][2]*A[2]]}function a$7(e,A,t){return Math.max(e,Math.min(A,t))}function u$5(e){const{l:A,u:t,v:i}=e,n=A>e$7*r$8?Math.pow((A+16)/116,3):A/e$7,a=(52*A/(t&&A?t+13*A*.20916005282038627:1)-1)/3,r=-5*n,s=n*(39*A/(i&&A?i+13*A*(9/18.43985):1)-5),o=a===-1/3?s-r:(s-r)/(a- -1/3);return function(e){const[A,t,i]=Object.values(function(e){const[A,t,i]=o$7([[.9554734527042182,-.023098536874261423,.0632593086610217],[-.028369706963208136,1.0099954580058226,.021041398966943008],[.012314001688319899,-.020507696433477912,1.3303659366080753]],Object.values(e));return{x:A,y:t,z:i,a:e.a}}(e)).map((e=>e/100)),[n,a,r]=o$7([[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],[A,t,i]).map((e=>{return a$7(0,255*((A=e)>.0031308?1.055*Math.pow(A,1/2.4)-.055:12.92*A),255);var A}));return{r:n,g:a,b:r,a:e.a}}({x:100*o,y:100*n,z:100*(a*o+r),a:e.a})}const c$7=/color\s*\(\s*luva?\s*(\d*\.?\d+%?)\s*,?\s*([+-]?\d*\.?\d+%?)\s*,?\s*([+-]?\d*\.?\d+%?)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function s$7({l:e,u:A,v:t,a:i}){return[u$5({l:a$7(0,e,100),u:a$7(-100,A,100),v:a$7(-100,t,100),a:(n=i,void 0!==n?a$7(0,n,1):1)}),"luv"];var n}function i$7(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{l:A,u:t,v:i}=e;return void 0!==A&&void 0!==t&&null!=i}(e))return s$7(e);if("string"==typeof e){c$7.lastIndex=0;const A=c$7.exec(e);if(A){const[e,t,i,n]=A.filter((e=>void 0!==e)).slice(1).map(((e,A)=>e.includes("%")?+e.slice(0,-1)*(A<3?1:.01):+e));return s$7({l:e,u:t,v:i,a:n})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const l$1=e=>{e.prototype.luva=function(){return function(e){const[A,t,i]=Object.values(function(e){const[A,t,i]=o$7([[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],Object.values(e).map((e=>{return 100*(A=e,(A/=255)<.04045?A/12.92:Math.pow((A+.055)/1.055,2.4));var A})));return function(e){const[A,t,i]=o$7([[1.0479298208405488,.022946793341019088,-.05019222954313557],[.029627815688159344,.990434484573249,-.01707382502938514],[-.009243058152591178,.015055144896577895,.7518742899580008]],Object.values(e));return{x:A,y:t,z:i,a:e.a}}({x:A,y:t,z:i,a:e.a})}(e)).map((e=>e/100)),n=t/1,a=A&&t&&i?A+15*t+3*i:19,r=4*A/a,s=9*t/a;let o=n>r$8?116*Math.cbrt(n)-16:e$7*n,l=13*o*(r-.20916005282038627),c=13*o*(s-.48807338454488514);return o===Number(-0)&&(o=0),l===Number(-0)&&(l=0),c===Number(-0)&&(c=0),{l:o,u:l,v:c,a:e.a}}(this.rgba())},e.prototype.stringLUV=function({alpha:e=!0,precision:A=[0,0,0,1]}={}){const[t,i,n,a]=Object.values(this.luva()).map(((e,t)=>function(e,A){return+e.toFixed(A>=0?A:0)}(e,A[t])));return e?`color(luva ${t}%, ${i}%, ${n}%, ${a})`:`color(luv ${t}%, ${i}%, ${n}%)`},e.Parsers.push(i$7)};var v=n$7.Z,t$6={d:(e,A)=>{for(var t in A)t$6.o(A,t)&&!t$6.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},a$6={};t$6.d(a$6,{Z:()=>d});const n$6=6/29,r$7=Math.pow(n$6,3),e$6=Math.pow(29/3,3),o$6={x:.96422,y:1,z:.82521};function c$6(e,A){return[e[0][0]*A[0]+e[0][1]*A[1]+e[0][2]*A[2],e[1][0]*A[0]+e[1][1]*A[1]+e[1][2]*A[2],e[2][0]*A[0]+e[2][1]*A[1]+e[2][2]*A[2]]}function s$6(e,A,t){return Math.max(e,Math.min(A,t))}function u$4(e){return void 0!==e?s$6(0,e,1):1}function i$6(e){const A=Object.values(function(e){const[A,t,i]=c$6([[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],Object.values(e).map((e=>{return 100*(A=e,(A/=255)<.04045?A/12.92:Math.pow((A+.055)/1.055,2.4));var A})));return function(e){const[A,t,i]=c$6([[1.0479298208405488,.022946793341019088,-.05019222954313557],[.029627815688159344,.990434484573249,-.01707382502938514],[-.009243058152591178,.015055144896577895,.7518742899580008]],Object.values(e));return{x:A,y:t,z:i,a:e.a}}({x:A,y:t,z:i,a:e.a})}(e)).map(((e,A)=>e/(100*Object.values(o$6)[A]))).map((e=>e>r$7?Math.cbrt(e):(e$6*e+16)/116));return{l:116*A[1]-16,a:500*(A[0]-A[1]),b:200*(A[1]-A[2]),alpha:e.a}}function l(e){const{l:A,a:t,b:i}=e,n=(A+16)/116,a=n+t/500,r=n-i/200,s=Object.values(o$6),[o,l,c]=[a,n,r].map(((e,A)=>(e>n$6?Math.pow(e,3):3*Math.pow(n$6,2)*(e-4/29))*s[A]*100));return function(e){const[A,t,i]=Object.values(function(e){const[A,t,i]=c$6([[.9554734527042182,-.023098536874261423,.0632593086610217],[-.028369706963208136,1.0099954580058226,.021041398966943008],[.012314001688319899,-.020507696433477912,1.3303659366080753]],Object.values(e));return{x:A,y:t,z:i,a:e.a}}(e)).map((e=>e/100)),[n,a,r]=c$6([[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],[A,t,i]).map((e=>{return s$6(0,255*((A=e)>.0031308?1.055*Math.pow(A,1/2.4)-.055:12.92*A),255);var A}));return{r:n,g:a,b:r,a:e.a}}({x:o,y:l,z:c,a:e.alpha})}const p=/laba?\s*\(\s*(\d*\.?\d+%?)\s*,?\s*([+-]?\d*\.?\d+)\s*,?\s*([+-]?\d*\.?\d+)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function b({l:e,a:A,b:t,alpha:i}){return[l({l:s$6(0,e,100),a:s$6(-160,A,160),b:s$6(-160,t,160),alpha:u$4(i)}),"lab"]}function f(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{l:A,a:t,b:i}=e;return void 0!==A&&void 0!==t&&void 0!==i}(e))return b(e);if("string"==typeof e){p.lastIndex=0;const A=p.exec(e);if(A){const[e,t,i,n]=A.filter((e=>void 0!==e)).slice(1).map(((e,A)=>e.includes("%")?+e.slice(0,-1)*(A<3?1:.01):+e));return b({l:e,a:t,b:i,alpha:n})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const d=e=>{e.prototype.laba=function(){return i$6(this.rgba())},e.prototype.stringLAB=function({alpha:e=!0,precision:A=[0,0,0,1]}={}){const[t,i,n,a]=Object.values(this.laba()).map(((e,t)=>function(e,A){return+e.toFixed(A>=0?A:0)}(e,A[t])));return e?`laba(${t}%, ${i}, ${n}, ${a})`:`lab(${t}%, ${i}, ${n})`},e.Parsers.push(f)};var h$1=a$6.Z,t$5={d:(e,A)=>{for(var t in A)t$5.o(A,t)&&!t$5.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},n$5={};function r$6(e,A){return[e[0][0]*A[0]+e[0][1]*A[1]+e[0][2]*A[2],e[1][0]*A[0]+e[1][1]*A[1]+e[1][2]*A[2],e[2][0]*A[0]+e[2][1]*A[1]+e[2][2]*A[2]]}function o$5(e,A,t){return Math.max(e,Math.min(A,t))}function e$5(e){const{u:A,v:t,w:i}=e,[n,a,r]=r$6([[1.5,0,0],[0,1,0],[1.5,-3,2]],[A,t,i]);return function(e){const[A,t,i]=Object.values(function(e){const[A,t,i]=r$6([[.9554734527042182,-.023098536874261423,.0632593086610217],[-.028369706963208136,1.0099954580058226,.021041398966943008],[.012314001688319899,-.020507696433477912,1.3303659366080753]],Object.values(e));return{x:A,y:t,z:i,a:e.a}}(e)).map((e=>e/100)),[n,a,r]=r$6([[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],[A,t,i]).map((e=>{return o$5(0,255*((A=e)>.0031308?1.055*Math.pow(A,1/2.4)-.055:12.92*A),255);var A}));return{r:n,g:a,b:r,a:e.a}}({x:n,y:a,z:r,a:e.a})}t$5.d(n$5,{Z:()=>s$5});const a$5=/color\s*\(\s*uvwa?\s*(\d*\.?\d+)\s*,?\s*([+-]?\d*\.?\d+)\s*,?\s*([+-]?\d*\.?\d+)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function u$3({u:e,v:A,w:t,a:i}){return[e$5({u:o$5(0,e,200/3*.96422),v:o$5(0,A,100),w:o$5(-48.211,t,191.2605),a:(n=i,void 0!==n?o$5(0,n,1):1)}),"uvw"];var n}function c$5(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{u:A,v:t,w:i}=e;return void 0!==A&&void 0!==t&&void 0!==i}(e))return u$3(e);if("string"==typeof e){a$5.lastIndex=0;const A=a$5.exec(e);if(A){const[e,t,i,n]=A.filter((e=>void 0!==e)).slice(1).map((e=>e.includes("%")?.01*+e.slice(0,-1):+e));return u$3({u:e,v:t,w:i,a:n})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const s$5=e=>{e.prototype.uvwa=function(){return function(e){const{x:A,y:t,z:i}=function(e){const[A,t,i]=r$6([[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],Object.values(e).map((e=>{return 100*(A=e,(A/=255)<.04045?A/12.92:Math.pow((A+.055)/1.055,2.4));var A})));return function(e){const[A,t,i]=r$6([[1.0479298208405488,.022946793341019088,-.05019222954313557],[.029627815688159344,.990434484573249,-.01707382502938514],[-.009243058152591178,.015055144896577895,.7518742899580008]],Object.values(e));return{x:A,y:t,z:i,a:e.a}}({x:A,y:t,z:i,a:e.a})}(e),[n,a,r]=r$6([[2/3,0,0],[0,1,0],[-.5,1.5,.5]],[A,t,i]);return{u:n,v:a,w:r,a:e.a}}(this.rgba())},e.prototype.stringUVW=function({alpha:e=!0,precision:A=[0,0,0,1]}={}){const[t,i,n,a]=Object.values(this.uvwa()).map(((e,t)=>function(e,A){return+e.toFixed(A>=0?A:0)}(e,A[t])));return e?`color(uvwa ${t}, ${i}, ${n}, ${a})`:`color(uvw ${t}, ${i}, ${n})`},e.Parsers.push(c$5)};var i$5=n$5.Z,t$4={d:(e,A)=>{for(var t in A)t$4.o(A,t)&&!t$4.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},n$4={};function r$5(e,A){return[e[0][0]*A[0]+e[0][1]*A[1]+e[0][2]*A[2],e[1][0]*A[0]+e[1][1]*A[1]+e[1][2]*A[2],e[2][0]*A[0]+e[2][1]*A[1]+e[2][2]*A[2]]}function o$4(e,A,t){return Math.max(e,Math.min(A,t))}function e$4(e){const[A,t,i]=Object.values(function(e){const[A,t,i]=r$5([[.9554734527042182,-.023098536874261423,.0632593086610217],[-.028369706963208136,1.0099954580058226,.021041398966943008],[.012314001688319899,-.020507696433477912,1.3303659366080753]],Object.values(e));return{x:A,y:t,z:i,a:e.a}}(e)).map((e=>e/100)),[n,a,r]=r$5([[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],[A,t,i]).map((e=>{return o$4(0,255*((A=e)>.0031308?1.055*Math.pow(A,1/2.4)-.055:12.92*A),255);var A}));return{r:n,g:a,b:r,a:e.a}}t$4.d(n$4,{Z:()=>u$2});const a$4=/color\s*\(\s*xyza?\s*(\d*\.?\d+)\s*,?\s*(\d*\.?\d+)\s*,?\s*(\d*\.?\d+)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function s$4({x:e,y:A,z:t,a:i}){return[e$4({x:o$4(0,e,96.422),y:o$4(0,A,100),z:o$4(0,t,82.521),a:(n=i,void 0!==n?o$4(0,n,1):1)}),"xyz"];var n}function c$4(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{x:A,y:t,z:i}=e;return void 0!==A&&void 0!==t&&void 0!==i}(e))return s$4(e);if("string"==typeof e){a$4.lastIndex=0;const A=a$4.exec(e);if(A){const[e,t,i,n]=A.filter((e=>void 0!==e)).slice(1).map((e=>e.includes("%")?.01*+e.slice(0,-1):+e));return s$4({x:e,y:t,z:i,a:n})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const u$2=e=>{e.prototype.xyza=function(){return function(e){const[A,t,i]=r$5([[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],Object.values(e).map((e=>{return 100*(A=e,(A/=255)<.04045?A/12.92:Math.pow((A+.055)/1.055,2.4));var A})));return function(e){const[A,t,i]=r$5([[1.0479298208405488,.022946793341019088,-.05019222954313557],[.029627815688159344,.990434484573249,-.01707382502938514],[-.009243058152591178,.015055144896577895,.7518742899580008]],Object.values(e));return{x:A,y:t,z:i,a:e.a}}({x:A,y:t,z:i,a:e.a})}(this.rgba())},e.prototype.stringXYZ=function({alpha:e=!0,precision:A=[0,0,0,1]}={}){const[t,i,n,a]=Object.values(this.xyza()).map(((e,t)=>function(e,A){return+e.toFixed(A>=0?A:0)}(e,A[t])));return e?`color(xyza ${t}, ${i}, ${n}, ${a})`:`color(xyz ${t}, ${i}, ${n})`},e.Parsers.push(c$4)};var i$4=n$4.Z,t$3={d:(e,A)=>{for(var t in A)t$3.o(A,t)&&!t$3.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},n$3={};function r$4(e,A,t){return Math.max(e,Math.min(A,t))}function a$3(e){const A=e%360;return A<0?A+360:A}function o$3(e){const{h:A,a:t}=function(e){var A;const{Cmin:t,Cmax:i,H:n,delta:a}=function(e){const[A,t,i]=Object.values(e).map((e=>e/255)),n=Math.max(A,t,i),a=Math.min(A,t,i),r=n-a;return{Cmin:a,Cmax:n,H:0===r?0:n===A?(t-i)/r%6:n===t?(i-A)/r+2:(A-t)/r+4,delta:r}}(e),r=(i+t)/2,s=0===a?0:a/(1-Math.abs(2*r-1));return{h:a$3(60*n),s:100*s,l:100*r,a:null!==(A=e.a)&&void 0!==A?A:1}}(e),{r:i,g:n,b:a}=e;return{h:A,w:Math.min(i,n,a)/2.55,b:100*(1-Math.max(i,n,a)/255),a:t}}function e$3(e){const{h:A,b:t,w:i,a:n}=e;return function(e){const{h:A,s:t,v:i,a:n}=e,a=i/100,r=a*(t/100),s=r*(1-Math.abs(A/60%2-1)),o=a-r,l=A<60||300<=A&&A<360?r:120<=A&&A<240?0:s,c=240<=A&&A<360?0:60<=A&&A<180?r:s,d=A<120?0:180<=A&&A<300?r:s,[h,u,g]=[l,c,d].map((e=>255*(e+o)));return{r:h,g:u,b:g,a:null!=n?n:1}}({h:A,s:100===t?0:100-i/(100-t)*100,v:100-t,a:n})}t$3.d(n$3,{Z:()=>u$1});const s$3=/hwba?\s*\(\s*([+-]?\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function i$3({h:e,w:A,b:t,a:i}){return[e$3({h:a$3(e),w:r$4(0,A,100),b:r$4(0,t,100),a:(n=i,void 0!==n?r$4(0,n,1):1)}),"hwb"];var n}function c$3(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{h:A,w:t,b:i}=e;return void 0!==A&&void 0!==t&&void 0!==i}(e))return i$3(e);if("string"==typeof e){s$3.lastIndex=0;const A=s$3.exec(e);if(A){const[e,t,i,n]=A.filter((e=>void 0!==e)).slice(1).map(((e,A)=>e.includes("%")?+e.slice(0,-1)*(0===A?3.59:A<3?1:.01):+e));return i$3({h:e,w:t,b:i,a:n})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const u$1=e=>{e.prototype.hwba=function(){return o$3(this.rgba())},e.prototype.stringHWB=function({alpha:e=!0,precision:A=[0,0,0,1]}={}){const[t,i,n,a]=Object.values(this.hwba()).map(((e,t)=>function(e,A){return+e.toFixed(A>=0?A:0)}(e,A[t])));return e?`hwba(${a$3(t)}, ${i}%, ${n}%, ${a})`:`hwb(${a$3(t)}, ${i}%, ${n}%)`},e.Parsers.push(c$3)};var h=n$3.Z,t$2={d:(e,A)=>{for(var t in A)t$2.o(A,t)&&!t$2.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},n$2={};function r$3(e,A,t){return Math.max(e,Math.min(A,t))}function s$2(e){const A=e%360;return A<0?A+360:A}function e$2(e){const{h:A,s:t,v:i,a:n}=e,a=i/100,r=a*(t/100),s=r*(1-Math.abs(A/60%2-1)),o=a-r,l=A<60||300<=A&&A<360?r:120<=A&&A<240?0:s,c=240<=A&&A<360?0:60<=A&&A<180?r:s,d=A<120?0:180<=A&&A<300?r:s,[h,u,g]=[l,c,d].map((e=>255*(e+o)));return{r:h,g:u,b:g,a:null!=n?n:1}}t$2.d(n$2,{Z:()=>c$2});const a$2=/hsva?\s*\(\s*([+-]?\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function o$2({h:e,s:A,v:t,a:i}){return[e$2({h:s$2(e),s:r$3(0,A,100),v:r$3(0,t,100),a:(n=i,void 0!==n?r$3(0,n,1):1)}),"hsv"];var n}function i$2(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{h:A,s:t,v:i}=e;return void 0!==A&&void 0!==t&&void 0!==i}(e))return o$2(e);if("string"==typeof e){a$2.lastIndex=0;const A=a$2.exec(e);if(A){const[e,t,i,n]=A.filter((e=>void 0!==e)).slice(1).map(((e,A)=>e.includes("%")?+e.slice(0,-1)*(0===A?3.59:A<3?1:.01):+e));return o$2({h:e,s:t,v:i,a:n})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const c$2=e=>{e.prototype.hsva=function(){return function(e){var A;const{Cmax:t,H:i,delta:n}=function(e){const[A,t,i]=Object.values(e).map((e=>e/255)),n=Math.max(A,t,i),a=Math.min(A,t,i),r=n-a;return{Cmin:a,Cmax:n,H:0===r?0:n===A?(t-i)/r%6:n===t?(i-A)/r+2:(A-t)/r+4,delta:r}}(e),a=0===n?0:n/t;return{h:s$2(60*i),s:100*a,v:100*t,a:null!==(A=e.a)&&void 0!==A?A:1}}(this.rgba())},e.prototype.stringHSV=function({alpha:e=!0,precision:A=[0,0,0,1]}={}){const[t,i,n,a]=Object.values(this.hsva()).map(((e,t)=>function(e,A){return+e.toFixed(A>=0?A:0)}(e,A[t])));return e?`hsva(${s$2(t)}, ${i}%, ${n}%, ${a})`:`hsv(${s$2(t)}, ${i}%, ${n}%)`},e.Parsers.push(i$2)};var u=n$2.Z,t$1={d:(e,A)=>{for(var t in A)t$1.o(A,t)&&!t$1.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},r$2={};function n$1(e,A,t){return Math.max(e,Math.min(A,t))}function o$1(e){let{r:A,y:t,b:i}=e;const n=Math.min(A,t,i);[A,t,i]=[A,t,i].map((e=>e-n));const a=Math.max(A,t,i);let r=Math.min(t,i);t-=r,i-=r,i&&r&&(i*=2,r*=2),A+=t,r+=t;const s=Math.max(A,r,i);if(s){const e=a/s;[A,r,i]=[A,r,i].map((A=>A*e))}return[A,r,i]=[A,r,i].map((e=>e+n)),{r:A,g:r,b:i,a:e.a}}t$1.d(r$2,{Z:()=>i$1});const a$1=/color\s*\(\s*ryba?\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function e$1({r:e,y:A,b:t,a:i}){return[o$1({r:n$1(0,e,255),y:n$1(0,A,255),b:n$1(0,t,255),a:(n=i,void 0!==n?n$1(0,n,1):1)}),"ryb"];var n}function s$1(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{r:A,y:t,b:i}=e;return void 0!==A&&void 0!==t&&void 0!==i}(e))return e$1(e);if("string"==typeof e){a$1.lastIndex=0;const A=a$1.exec(e);if(A){const[e,t,i,n]=A.filter((e=>void 0!==e)).slice(1).map(((e,A)=>e.includes("%")?+e.slice(0,-1)*(A<3?2.55:.01):+e));return e$1({r:e,y:t,b:i,a:n})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const i$1=e=>{e.prototype.ryba=function(){return function(e){let{r:A,g:t,b:i}=e;const n=Math.min(A,t,i);[A,t,i]=[A,t,i].map((e=>e-n));const a=Math.max(A,t,i);let r=Math.min(A,t);A-=r,t-=r,i&&t&&(i/=2,t/=2),r+=t,i+=t;const s=Math.max(A,r,i);if(s){const e=a/s;[A,r,i]=[A,r,i].map((A=>A*e))}return[A,r,i]=[A,r,i].map((e=>e+n)),{r:A,y:r,b:i,a:e.a}}(this.rgba())},e.prototype.stringRYB=function({alpha:e=!0,precision:A=[0,0,0,1]}={}){const[t,i,n,a]=Object.values(this.ryba()).map(((e,t)=>function(e,A){return+e.toFixed(A>=0?A:0)}(e,A[t])));return e?`color(ryba ${t}, ${i}, ${n}, ${a})`:`color(ryb ${t}, ${i}, ${n})`},e.Parsers.push(s$1)};var c$1=r$2.Z,t={d:(e,A)=>{for(var i in A)t.o(A,i)&&!t.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:A[i]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},n={};function e(e,A,t){return Math.max(e,Math.min(A,t))}function r$1(e){const{c:A,m:t,y:i,k:n,a:a}=e,[r,s,o]=[A,t,i].map((e=>255*(1-e/100)*(1-n/100)));return{r:r,g:s,b:o,a:a}}t.d(n,{Z:()=>i});const c=/device-cmyka?\s*\(\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?),?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function o({c:A,m:t,y:i,k:n,a:a}){return[r$1({c:e(0,A,100),m:e(0,t,100),y:e(0,i,100),k:e(0,n,100),a:(r=a,void 0!==r?e(0,r,1):1)}),"cmyk"];var r}function a(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{c:A,m:t,y:i,k:n}=e;return void 0!==A&&void 0!==t&&void 0!==i&&void 0!==n}(e))return o(e);if("string"==typeof e){c.lastIndex=0;const A=c.exec(e);if(A){const[e,t,i,n,a]=A.filter((e=>void 0!==e)).slice(1).map(((e,A)=>e.includes("%")?+e.slice(0,-1)*(A<4?1:.01):+e));return o({c:e,m:t,y:i,k:n,a:a})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const i=e=>{e.prototype.cmyka=function(){return function(e){const{r:A,g:t,b:i,a:n}=e,a=1-Math.max(A,t,i)/255,[r,s,o]=1===a?[0,0,0]:[A,t,i].map((e=>100*(1-e/255-a)/(1-a)));return{c:r,m:s,y:o,k:100*a,a:n}}(this.rgba())},e.prototype.stringCMYK=function({alpha:e=!0,precision:A=[0,0,0,0,1]}={}){const[t,i,n,a,r]=Object.values(this.cmyka()).map(((e,t)=>function(e,A){return+e.toFixed(A>=0?A:0)}(e,A[t])));return e?`device-cmyk(${t}, ${i}, ${n}, ${a}, ${r})`:`device-cmyk(${t}, ${i}, ${n}, ${a})`},e.Parsers.push(a)};var s=n.Z;class ExcalidrawScene{constructor(e=[]){this.type="excalidraw",this.version=2,this.source=GITHUB_RELEASES+PLUGIN_VERSION,this.elements=[],this.elements=e}toExJSON(){return Object.assign(Object.assign({},this),{elements:this.elements.map((e=>Object.assign({},e)))})}}var ARRAY_TYPE="undefined"!=typeof Float32Array?Float32Array:Array;function create$1(){var e=new ARRAY_TYPE(16);return ARRAY_TYPE!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function clone(e){var A=new ARRAY_TYPE(16);return A[0]=e[0],A[1]=e[1],A[2]=e[2],A[3]=e[3],A[4]=e[4],A[5]=e[5],A[6]=e[6],A[7]=e[7],A[8]=e[8],A[9]=e[9],A[10]=e[10],A[11]=e[11],A[12]=e[12],A[13]=e[13],A[14]=e[14],A[15]=e[15],A}function fromValues$1(e,A,t,i,n,a,r,s,o,l,c,d,h,u,g,p){var m=new ARRAY_TYPE(16);return m[0]=e,m[1]=A,m[2]=t,m[3]=i,m[4]=n,m[5]=a,m[6]=r,m[7]=s,m[8]=o,m[9]=l,m[10]=c,m[11]=d,m[12]=h,m[13]=u,m[14]=g,m[15]=p,m}function multiply(e,A,t){var i=A[0],n=A[1],a=A[2],r=A[3],s=A[4],o=A[5],l=A[6],c=A[7],d=A[8],h=A[9],u=A[10],g=A[11],p=A[12],m=A[13],w=A[14],f=A[15],B=t[0],E=t[1],b=t[2],C=t[3];return e[0]=B*i+E*s+b*d+C*p,e[1]=B*n+E*o+b*h+C*m,e[2]=B*a+E*l+b*u+C*w,e[3]=B*r+E*c+b*g+C*f,B=t[4],E=t[5],b=t[6],C=t[7],e[4]=B*i+E*s+b*d+C*p,e[5]=B*n+E*o+b*h+C*m,e[6]=B*a+E*l+b*u+C*w,e[7]=B*r+E*c+b*g+C*f,B=t[8],E=t[9],b=t[10],C=t[11],e[8]=B*i+E*s+b*d+C*p,e[9]=B*n+E*o+b*h+C*m,e[10]=B*a+E*l+b*u+C*w,e[11]=B*r+E*c+b*g+C*f,B=t[12],E=t[13],b=t[14],C=t[15],e[12]=B*i+E*s+b*d+C*p,e[13]=B*n+E*o+b*h+C*m,e[14]=B*a+E*l+b*u+C*w,e[15]=B*r+E*c+b*g+C*f,e}function create(){var e=new ARRAY_TYPE(3);return ARRAY_TYPE!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function fromValues(e,A,t){var i=new ARRAY_TYPE(3);return i[0]=e,i[1]=A,i[2]=t,i}function transformMat4(e,A,t){var i=A[0],n=A[1],a=A[2],r=t[3]*i+t[7]*n+t[11]*a+t[15];return r=r||1,e[0]=(t[0]*i+t[4]*n+t[8]*a+t[12])/r,e[1]=(t[1]*i+t[5]*n+t[9]*a+t[13])/r,e[2]=(t[2]*i+t[6]*n+t[10]*a+t[14])/r,e}Math.hypot||(Math.hypot=function(){for(var e=0,A=arguments.length;A--;)e+=arguments[A]*arguments[A];return Math.sqrt(e)}),create();const random=new Random(Date.now()),randomInteger=()=>Math.floor(random.next()*2**31),randomId=()=>nanoid$1();function dimensionsFromPoints(e){const A=e.map((([e])=>e)),t=e.map((([,e])=>e)),i=Math.min(...A),n=Math.min(...t);return[Math.max(...A)-i,Math.max(...t)-n]}function getWindingOrder(e){return e.reduce(((e,[A,t],i,n)=>{const a=n[i+1];return((a?a[0]:0)-A)*((a?a[1]:0)+t)+e}),0)>0?"clockwise":"counterclockwise"}var chromaExports={},chroma$1={get exports(){return chromaExports},set exports(e){chromaExports=e}};chroma$1.exports=function(){for(var e=function(e,A,t){return void 0===A&&(A=0),void 0===t&&(t=1),et?t:e},A=e,t={},i=0,n=["Boolean","Number","String","Function","Array","Date","RegExp","Undefined","Null"];i255)&&(e._clipped=!0),e[t]=A(e[t],0,255)):3===t&&(e[t]=A(e[t],0,1));return e},limit:e,type:r,unpack:function(e,A){return void 0===A&&(A=null),e.length>=3?Array.prototype.slice.call(e):"object"==s(e[0])&&A?A.split("").filter((function(A){return void 0!==e[0][A]})).map((function(A){return e[0][A]})):e[0]},last:function(e){if(e.length<2)return null;var A=e.length-1;return"string"==o(e[A])?e[A].toLowerCase():null},PI:l,TWOPI:2*l,PITHIRD:l/3,DEG2RAD:l/180,RAD2DEG:180/l},d={format:{},autodetect:[]},h=c.last,u=c.clip_rgb,g=c.type,p=d,m=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=this;if("object"===g(e[0])&&e[0].constructor&&e[0].constructor===this.constructor)return e[0];var i=h(e),n=!1;if(!i){n=!0,p.sorted||(p.autodetect=p.autodetect.sort((function(e,A){return A.p-e.p})),p.sorted=!0);for(var a=0,r=p.autodetect;a4?e[4]:1;return 1===a?[0,0,0,r]:[t>=1?0:255*(1-t)*(1-a),i>=1?0:255*(1-i)*(1-a),n>=1?0:255*(1-n)*(1-a),r]},F=B,x=w,T=d,S=c.unpack,I=c.type,U=C;x.prototype.cmyk=function(){return U(this._rgb)},F.cmyk=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(x,[null].concat(e,["cmyk"])))},T.format.cmyk=y,T.autodetect.push({p:2,test:function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];if(e=S(e,"cmyk"),"array"===I(e)&&4===e.length)return"cmyk"}});var Q=c.unpack,k=c.last,M=function(e){return Math.round(100*e)/100},L=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=Q(e,"hsla"),i=k(e)||"lsa";return t[0]=M(t[0]||0),t[1]=M(100*t[1])+"%",t[2]=M(100*t[2])+"%","hsla"===i||t.length>3&&t[3]<1?(t[3]=t.length>3?t[3]:1,i="hsla"):t.length=3,i+"("+t.join(",")+")"},O=c.unpack,N=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=(e=O(e,"rgba"))[0],i=e[1],n=e[2];t/=255,i/=255,n/=255;var a,r,s=Math.min(t,i,n),o=Math.max(t,i,n),l=(o+s)/2;return o===s?(a=0,r=Number.NaN):a=l<.5?(o-s)/(o+s):(o-s)/(2-o-s),t==o?r=(i-n)/(o-s):i==o?r=2+(n-t)/(o-s):n==o&&(r=4+(t-i)/(o-s)),(r*=60)<0&&(r+=360),e.length>3&&void 0!==e[3]?[r,a,l,e[3]]:[r,a,l]},D=c.unpack,H=c.last,R=L,P=N,V=Math.round,K=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=D(e,"rgba"),i=H(e)||"rgb";return"hsl"==i.substr(0,3)?R(P(t),i):(t[0]=V(t[0]),t[1]=V(t[1]),t[2]=V(t[2]),("rgba"===i||t.length>3&&t[3]<1)&&(t[3]=t.length>3?t[3]:1,i="rgba"),i+"("+t.slice(0,"rgb"===i?3:4).join(",")+")")},G=c.unpack,W=Math.round,X=function(){for(var e,A=[],t=arguments.length;t--;)A[t]=arguments[t];var i,n,a,r=(A=G(A,"hsl"))[0],s=A[1],o=A[2];if(0===s)i=n=a=255*o;else{var l=[0,0,0],c=[0,0,0],d=o<.5?o*(1+s):o+s-o*s,h=2*o-d,u=r/360;l[0]=u+1/3,l[1]=u,l[2]=u-1/3;for(var g=0;g<3;g++)l[g]<0&&(l[g]+=1),l[g]>1&&(l[g]-=1),6*l[g]<1?c[g]=h+6*(d-h)*l[g]:2*l[g]<1?c[g]=d:3*l[g]<2?c[g]=h+(d-h)*(2/3-l[g])*6:c[g]=h;i=(e=[W(255*c[0]),W(255*c[1]),W(255*c[2])])[0],n=e[1],a=e[2]}return A.length>3?[i,n,a,A[3]]:[i,n,a,1]},z=X,Y=d,j=/^rgb\(\s*(-?\d+),\s*(-?\d+)\s*,\s*(-?\d+)\s*\)$/,J=/^rgba\(\s*(-?\d+),\s*(-?\d+)\s*,\s*(-?\d+)\s*,\s*([01]|[01]?\.\d+)\)$/,Z=/^rgb\(\s*(-?\d+(?:\.\d+)?)%,\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*\)$/,q=/^rgba\(\s*(-?\d+(?:\.\d+)?)%,\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,_=/^hsl\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*\)$/,$=/^hsla\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,ee=Math.round,Ae=function(e){var A;if(e=e.toLowerCase().trim(),Y.format.named)try{return Y.format.named(e)}catch(e){}if(A=e.match(j)){for(var t=A.slice(1,4),i=0;i<3;i++)t[i]=+t[i];return t[3]=1,t}if(A=e.match(J)){for(var n=A.slice(1,5),a=0;a<4;a++)n[a]=+n[a];return n}if(A=e.match(Z)){for(var r=A.slice(1,4),s=0;s<3;s++)r[s]=ee(2.55*r[s]);return r[3]=1,r}if(A=e.match(q)){for(var o=A.slice(1,5),l=0;l<3;l++)o[l]=ee(2.55*o[l]);return o[3]=+o[3],o}if(A=e.match(_)){var c=A.slice(1,4);c[1]*=.01,c[2]*=.01;var d=z(c);return d[3]=1,d}if(A=e.match($)){var h=A.slice(1,4);h[1]*=.01,h[2]*=.01;var u=z(h);return u[3]=+A[4],u}};Ae.test=function(e){return j.test(e)||J.test(e)||Z.test(e)||q.test(e)||_.test(e)||$.test(e)};var te=B,ie=w,ne=d,ae=c.type,re=K,se=Ae;ie.prototype.css=function(e){return re(this._rgb,e)},te.css=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(ie,[null].concat(e,["css"])))},ne.format.css=se,ne.autodetect.push({p:5,test:function(e){for(var A=[],t=arguments.length-1;t-- >0;)A[t]=arguments[t+1];if(!A.length&&"string"===ae(e)&&se.test(e))return"css"}});var oe=w,le=B,ce=c.unpack;d.format.gl=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=ce(e,"rgba");return t[0]*=255,t[1]*=255,t[2]*=255,t},le.gl=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(oe,[null].concat(e,["gl"])))},oe.prototype.gl=function(){var e=this._rgb;return[e[0]/255,e[1]/255,e[2]/255,e[3]]};var de=c.unpack,he=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t,i=de(e,"rgb"),n=i[0],a=i[1],r=i[2],s=Math.min(n,a,r),o=Math.max(n,a,r),l=o-s,c=100*l/255,d=s/(255-l)*100;return 0===l?t=Number.NaN:(n===o&&(t=(a-r)/l),a===o&&(t=2+(r-n)/l),r===o&&(t=4+(n-a)/l),(t*=60)<0&&(t+=360)),[t,c,d]},ue=c.unpack,ge=Math.floor,pe=function(){for(var e,A,t,i,n,a,r=[],s=arguments.length;s--;)r[s]=arguments[s];var o,l,c,d=(r=ue(r,"hcg"))[0],h=r[1],u=r[2];u*=255;var g=255*h;if(0===h)o=l=c=u;else{360===d&&(d=0),d>360&&(d-=360),d<0&&(d+=360);var p=ge(d/=60),m=d-p,w=u*(1-h),f=w+g*(1-m),B=w+g*m,E=w+g;switch(p){case 0:o=(e=[E,B,w])[0],l=e[1],c=e[2];break;case 1:o=(A=[f,E,w])[0],l=A[1],c=A[2];break;case 2:o=(t=[w,E,B])[0],l=t[1],c=t[2];break;case 3:o=(i=[w,f,E])[0],l=i[1],c=i[2];break;case 4:o=(n=[B,w,E])[0],l=n[1],c=n[2];break;case 5:o=(a=[E,w,f])[0],l=a[1],c=a[2]}}return[o,l,c,r.length>3?r[3]:1]},me=c.unpack,we=c.type,fe=B,Be=w,Ee=d,be=he;Be.prototype.hcg=function(){return be(this._rgb)},fe.hcg=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(Be,[null].concat(e,["hcg"])))},Ee.format.hcg=pe,Ee.autodetect.push({p:1,test:function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];if(e=me(e,"hcg"),"array"===we(e)&&3===e.length)return"hcg"}});var Ce=c.unpack,ve=c.last,ye=Math.round,Fe=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=Ce(e,"rgba"),i=t[0],n=t[1],a=t[2],r=t[3],s=ve(e)||"auto";void 0===r&&(r=1),"auto"===s&&(s=r<1?"rgba":"rgb");var o="000000"+((i=ye(i))<<16|(n=ye(n))<<8|(a=ye(a))).toString(16);o=o.substr(o.length-6);var l="0"+ye(255*r).toString(16);switch(l=l.substr(l.length-2),s.toLowerCase()){case"rgba":return"#"+o+l;case"argb":return"#"+l+o;default:return"#"+o}},xe=/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,Te=/^#?([A-Fa-f0-9]{8}|[A-Fa-f0-9]{4})$/,Se=function(e){if(e.match(xe)){4!==e.length&&7!==e.length||(e=e.substr(1)),3===e.length&&(e=(e=e.split(""))[0]+e[0]+e[1]+e[1]+e[2]+e[2]);var A=parseInt(e,16);return[A>>16,A>>8&255,255&A,1]}if(e.match(Te)){5!==e.length&&9!==e.length||(e=e.substr(1)),4===e.length&&(e=(e=e.split(""))[0]+e[0]+e[1]+e[1]+e[2]+e[2]+e[3]+e[3]);var t=parseInt(e,16);return[t>>24&255,t>>16&255,t>>8&255,Math.round((255&t)/255*100)/100]}throw new Error("unknown hex color: "+e)},Ie=B,Ue=w,Qe=c.type,ke=d,Me=Fe;Ue.prototype.hex=function(e){return Me(this._rgb,e)},Ie.hex=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(Ue,[null].concat(e,["hex"])))},ke.format.hex=Se,ke.autodetect.push({p:4,test:function(e){for(var A=[],t=arguments.length-1;t-- >0;)A[t]=arguments[t+1];if(!A.length&&"string"===Qe(e)&&[3,4,5,6,7,8,9].indexOf(e.length)>=0)return"hex"}});var Le=c.unpack,Oe=c.TWOPI,Ne=Math.min,De=Math.sqrt,He=Math.acos,Re=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t,i=Le(e,"rgb"),n=i[0],a=i[1],r=i[2],s=Ne(n/=255,a/=255,r/=255),o=(n+a+r)/3,l=o>0?1-s/o:0;return 0===l?t=NaN:(t=(n-a+(n-r))/2,t/=De((n-a)*(n-a)+(n-r)*(a-r)),t=He(t),r>a&&(t=Oe-t),t/=Oe),[360*t,l,o]},Pe=c.unpack,Ve=c.limit,Ke=c.TWOPI,Ge=c.PITHIRD,We=Math.cos,Xe=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t,i,n,a=(e=Pe(e,"hsi"))[0],r=e[1],s=e[2];return isNaN(a)&&(a=0),isNaN(r)&&(r=0),a>360&&(a-=360),a<0&&(a+=360),(a/=360)<1/3?i=1-((n=(1-r)/3)+(t=(1+r*We(Ke*a)/We(Ge-Ke*a))/3)):a<2/3?n=1-((t=(1-r)/3)+(i=(1+r*We(Ke*(a-=1/3))/We(Ge-Ke*a))/3)):t=1-((i=(1-r)/3)+(n=(1+r*We(Ke*(a-=2/3))/We(Ge-Ke*a))/3)),[255*(t=Ve(s*t*3)),255*(i=Ve(s*i*3)),255*(n=Ve(s*n*3)),e.length>3?e[3]:1]},ze=c.unpack,Ye=c.type,je=B,Je=w,Ze=d,qe=Re;Je.prototype.hsi=function(){return qe(this._rgb)},je.hsi=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(Je,[null].concat(e,["hsi"])))},Ze.format.hsi=Xe,Ze.autodetect.push({p:2,test:function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];if(e=ze(e,"hsi"),"array"===Ye(e)&&3===e.length)return"hsi"}});var _e=c.unpack,$e=c.type,eA=B,AA=w,tA=d,iA=N;AA.prototype.hsl=function(){return iA(this._rgb)},eA.hsl=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(AA,[null].concat(e,["hsl"])))},tA.format.hsl=X,tA.autodetect.push({p:2,test:function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];if(e=_e(e,"hsl"),"array"===$e(e)&&3===e.length)return"hsl"}});var nA=c.unpack,aA=Math.min,rA=Math.max,sA=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t,i,n,a=(e=nA(e,"rgb"))[0],r=e[1],s=e[2],o=aA(a,r,s),l=rA(a,r,s),c=l-o;return n=l/255,0===l?(t=Number.NaN,i=0):(i=c/l,a===l&&(t=(r-s)/c),r===l&&(t=2+(s-a)/c),s===l&&(t=4+(a-r)/c),(t*=60)<0&&(t+=360)),[t,i,n]},oA=c.unpack,lA=Math.floor,cA=function(){for(var e,A,t,i,n,a,r=[],s=arguments.length;s--;)r[s]=arguments[s];var o,l,c,d=(r=oA(r,"hsv"))[0],h=r[1],u=r[2];if(u*=255,0===h)o=l=c=u;else{360===d&&(d=0),d>360&&(d-=360),d<0&&(d+=360);var g=lA(d/=60),p=d-g,m=u*(1-h),w=u*(1-h*p),f=u*(1-h*(1-p));switch(g){case 0:o=(e=[u,f,m])[0],l=e[1],c=e[2];break;case 1:o=(A=[w,u,m])[0],l=A[1],c=A[2];break;case 2:o=(t=[m,u,f])[0],l=t[1],c=t[2];break;case 3:o=(i=[m,w,u])[0],l=i[1],c=i[2];break;case 4:o=(n=[f,m,u])[0],l=n[1],c=n[2];break;case 5:o=(a=[u,m,w])[0],l=a[1],c=a[2]}}return[o,l,c,r.length>3?r[3]:1]},dA=c.unpack,hA=c.type,uA=B,gA=w,pA=d,mA=sA;gA.prototype.hsv=function(){return mA(this._rgb)},uA.hsv=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(gA,[null].concat(e,["hsv"])))},pA.format.hsv=cA,pA.autodetect.push({p:2,test:function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];if(e=dA(e,"hsv"),"array"===hA(e)&&3===e.length)return"hsv"}});var wA={Kn:18,Xn:.95047,Yn:1,Zn:1.08883,t0:.137931034,t1:.206896552,t2:.12841855,t3:.008856452},fA=wA,BA=c.unpack,EA=Math.pow,bA=function(e){return(e/=255)<=.04045?e/12.92:EA((e+.055)/1.055,2.4)},CA=function(e){return e>fA.t3?EA(e,1/3):e/fA.t2+fA.t0},vA=function(e,A,t){return e=bA(e),A=bA(A),t=bA(t),[CA((.4124564*e+.3575761*A+.1804375*t)/fA.Xn),CA((.2126729*e+.7151522*A+.072175*t)/fA.Yn),CA((.0193339*e+.119192*A+.9503041*t)/fA.Zn)]},yA=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=BA(e,"rgb"),i=t[0],n=t[1],a=t[2],r=vA(i,n,a),s=r[0],o=r[1],l=116*o-16;return[l<0?0:l,500*(s-o),200*(o-r[2])]},FA=wA,xA=c.unpack,TA=Math.pow,SA=function(e){return 255*(e<=.00304?12.92*e:1.055*TA(e,1/2.4)-.055)},IA=function(e){return e>FA.t1?e*e*e:FA.t2*(e-FA.t0)},UA=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t,i,n,a=(e=xA(e,"lab"))[0],r=e[1],s=e[2];return i=(a+16)/116,t=isNaN(r)?i:i+r/500,n=isNaN(s)?i:i-s/200,i=FA.Yn*IA(i),t=FA.Xn*IA(t),n=FA.Zn*IA(n),[SA(3.2404542*t-1.5371385*i-.4985314*n),SA(-.969266*t+1.8760108*i+.041556*n),SA(.0556434*t-.2040259*i+1.0572252*n),e.length>3?e[3]:1]},QA=c.unpack,kA=c.type,MA=B,LA=w,OA=d,NA=yA;LA.prototype.lab=function(){return NA(this._rgb)},MA.lab=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(LA,[null].concat(e,["lab"])))},OA.format.lab=UA,OA.autodetect.push({p:2,test:function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];if(e=QA(e,"lab"),"array"===kA(e)&&3===e.length)return"lab"}});var DA=c.unpack,HA=c.RAD2DEG,RA=Math.sqrt,PA=Math.atan2,VA=Math.round,KA=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=DA(e,"lab"),i=t[0],n=t[1],a=t[2],r=RA(n*n+a*a),s=(PA(a,n)*HA+360)%360;return 0===VA(1e4*r)&&(s=Number.NaN),[i,r,s]},GA=c.unpack,WA=yA,XA=KA,zA=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=GA(e,"rgb"),i=t[0],n=t[1],a=t[2],r=WA(i,n,a),s=r[0],o=r[1],l=r[2];return XA(s,o,l)},YA=c.unpack,jA=c.DEG2RAD,JA=Math.sin,ZA=Math.cos,qA=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=YA(e,"lch"),i=t[0],n=t[1],a=t[2];return isNaN(a)&&(a=0),[i,ZA(a*=jA)*n,JA(a)*n]},_A=c.unpack,$A=qA,et=UA,At=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=(e=_A(e,"lch"))[0],i=e[1],n=e[2],a=$A(t,i,n),r=a[0],s=a[1],o=a[2],l=et(r,s,o);return[l[0],l[1],l[2],e.length>3?e[3]:1]},tt=c.unpack,it=At,nt=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=tt(e,"hcl").reverse();return it.apply(void 0,t)},at=c.unpack,rt=c.type,st=B,ot=w,lt=d,ct=zA;ot.prototype.lch=function(){return ct(this._rgb)},ot.prototype.hcl=function(){return ct(this._rgb).reverse()},st.lch=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(ot,[null].concat(e,["lch"])))},st.hcl=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(ot,[null].concat(e,["hcl"])))},lt.format.lch=At,lt.format.hcl=nt,["lch","hcl"].forEach((function(e){return lt.autodetect.push({p:2,test:function(){for(var A=[],t=arguments.length;t--;)A[t]=arguments[t];if(A=at(A,e),"array"===rt(A)&&3===A.length)return e}})}));var dt={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflower:"#6495ed",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",laserlemon:"#ffff54",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrod:"#fafad2",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",maroon2:"#7f0000",maroon3:"#b03060",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",purple2:"#7f007f",purple3:"#a020f0",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},ht=d,ut=c.type,gt=dt,pt=Se,mt=Fe;w.prototype.name=function(){for(var e=mt(this._rgb,"rgb"),A=0,t=Object.keys(gt);A0;)A[t]=arguments[t+1];if(!A.length&&"string"===ut(e)&>[e.toLowerCase()])return"named"}});var wt=c.unpack,ft=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=wt(e,"rgb");return(t[0]<<16)+(t[1]<<8)+t[2]},Bt=c.type,Et=function(e){if("number"==Bt(e)&&e>=0&&e<=16777215)return[e>>16,e>>8&255,255&e,1];throw new Error("unknown num color: "+e)},bt=B,Ct=w,vt=d,yt=c.type,Ft=ft;Ct.prototype.num=function(){return Ft(this._rgb)},bt.num=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(Ct,[null].concat(e,["num"])))},vt.format.num=Et,vt.autodetect.push({p:5,test:function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];if(1===e.length&&"number"===yt(e[0])&&e[0]>=0&&e[0]<=16777215)return"num"}});var xt=B,Tt=w,St=d,It=c.unpack,Ut=c.type,Qt=Math.round;Tt.prototype.rgb=function(e){return void 0===e&&(e=!0),!1===e?this._rgb.slice(0,3):this._rgb.slice(0,3).map(Qt)},Tt.prototype.rgba=function(e){return void 0===e&&(e=!0),this._rgb.slice(0,4).map((function(A,t){return t<3?!1===e?A:Qt(A):A}))},xt.rgb=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(Tt,[null].concat(e,["rgb"])))},St.format.rgb=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=It(e,"rgba");return void 0===t[3]&&(t[3]=1),t},St.autodetect.push({p:3,test:function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];if(e=It(e,"rgba"),"array"===Ut(e)&&(3===e.length||4===e.length&&"number"==Ut(e[3])&&e[3]>=0&&e[3]<=1))return"rgb"}});var kt=Math.log,Mt=function(e){var A,t,i,n=e/100;return n<66?(A=255,t=n<6?0:-155.25485562709179-.44596950469579133*(t=n-2)+104.49216199393888*kt(t),i=n<20?0:.8274096064007395*(i=n-10)-254.76935184120902+115.67994401066147*kt(i)):(A=351.97690566805693+.114206453784165*(A=n-55)-40.25366309332127*kt(A),t=325.4494125711974+.07943456536662342*(t=n-50)-28.0852963507957*kt(t),i=255),[A,t,i,1]},Lt=Mt,Ot=c.unpack,Nt=Math.round,Dt=B,Ht=w,Rt=d,Pt=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];for(var t,i=Ot(e,"rgb"),n=i[0],a=i[2],r=1e3,s=4e4,o=.4;s-r>o;){var l=Lt(t=.5*(s+r));l[2]/l[0]>=a/n?s=t:r=t}return Nt(t)};Ht.prototype.temp=Ht.prototype.kelvin=Ht.prototype.temperature=function(){return Pt(this._rgb)},Dt.temp=Dt.kelvin=Dt.temperature=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(Ht,[null].concat(e,["temp"])))},Rt.format.temp=Rt.format.kelvin=Rt.format.temperature=Mt;var Vt=c.unpack,Kt=Math.cbrt,Gt=Math.pow,Wt=Math.sign,Xt=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=Vt(e,"rgb"),i=t[0],n=t[1],a=t[2],r=[zt(i/255),zt(n/255),zt(a/255)],s=r[0],o=r[1],l=r[2],c=Kt(.4122214708*s+.5363325363*o+.0514459929*l),d=Kt(.2119034982*s+.6806995451*o+.1073969566*l),h=Kt(.0883024619*s+.2817188376*o+.6299787005*l);return[.2104542553*c+.793617785*d-.0040720468*h,1.9779984951*c-2.428592205*d+.4505937099*h,.0259040371*c+.7827717662*d-.808675766*h]};function zt(e){var A=Math.abs(e);return A<.04045?e/12.92:(Wt(e)||1)*Gt((A+.055)/1.055,2.4)}var Yt=c.unpack,jt=Math.pow,Jt=Math.sign,Zt=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=(e=Yt(e,"lab"))[0],i=e[1],n=e[2],a=jt(t+.3963377774*i+.2158037573*n,3),r=jt(t-.1055613458*i-.0638541728*n,3),s=jt(t-.0894841775*i-1.291485548*n,3);return[255*qt(4.0767416621*a-3.3077115913*r+.2309699292*s),255*qt(-1.2684380046*a+2.6097574011*r-.3413193965*s),255*qt(-.0041960863*a-.7034186147*r+1.707614701*s),e.length>3?e[3]:1]};function qt(e){var A=Math.abs(e);return A>.0031308?(Jt(e)||1)*(1.055*jt(A,1/2.4)-.055):12.92*e}var _t=c.unpack,$t=c.type,ei=B,Ai=w,ti=d,ii=Xt;Ai.prototype.oklab=function(){return ii(this._rgb)},ei.oklab=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(Ai,[null].concat(e,["oklab"])))},ti.format.oklab=Zt,ti.autodetect.push({p:3,test:function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];if(e=_t(e,"oklab"),"array"===$t(e)&&3===e.length)return"oklab"}});var ni=c.unpack,ai=Xt,ri=KA,si=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=ni(e,"rgb"),i=t[0],n=t[1],a=t[2],r=ai(i,n,a),s=r[0],o=r[1],l=r[2];return ri(s,o,l)},oi=c.unpack,li=qA,ci=Zt,di=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=(e=oi(e,"lch"))[0],i=e[1],n=e[2],a=li(t,i,n),r=a[0],s=a[1],o=a[2],l=ci(r,s,o);return[l[0],l[1],l[2],e.length>3?e[3]:1]},hi=c.unpack,ui=c.type,gi=B,pi=w,mi=d,wi=si;pi.prototype.oklch=function(){return wi(this._rgb)},gi.oklch=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(pi,[null].concat(e,["oklch"])))},mi.format.oklch=di,mi.autodetect.push({p:3,test:function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];if(e=hi(e,"oklch"),"array"===ui(e)&&3===e.length)return"oklch"}});var fi=w,Bi=c.type;fi.prototype.alpha=function(e,A){return void 0===A&&(A=!1),void 0!==e&&"number"===Bi(e)?A?(this._rgb[3]=e,this):new fi([this._rgb[0],this._rgb[1],this._rgb[2],e],"rgb"):this._rgb[3]},w.prototype.clipped=function(){return this._rgb._clipped||!1};var Ei=w,bi=wA;Ei.prototype.darken=function(e){void 0===e&&(e=1);var A=this.lab();return A[0]-=bi.Kn*e,new Ei(A,"lab").alpha(this.alpha(),!0)},Ei.prototype.brighten=function(e){return void 0===e&&(e=1),this.darken(-e)},Ei.prototype.darker=Ei.prototype.darken,Ei.prototype.brighter=Ei.prototype.brighten,w.prototype.get=function(e){var A=e.split("."),t=A[0],i=A[1],n=this[t]();if(i){var a=t.indexOf(i)-("ok"===t.substr(0,2)?2:0);if(a>-1)return n[a];throw new Error("unknown channel "+i+" in mode "+t)}return n};var Ci=w,vi=c.type,yi=Math.pow;Ci.prototype.luminance=function(e){if(void 0!==e&&"number"===vi(e)){if(0===e)return new Ci([0,0,0,this._rgb[3]],"rgb");if(1===e)return new Ci([255,255,255,this._rgb[3]],"rgb");var A=this.luminance(),t=20,i=function(A,n){var a=A.interpolate(n,.5,"rgb"),r=a.luminance();return Math.abs(e-r)<1e-7||!t--?a:r>e?i(A,a):i(a,n)},n=(A>e?i(new Ci([0,0,0]),this):i(this,new Ci([255,255,255]))).rgb();return new Ci(n.concat([this._rgb[3]]))}return Fi.apply(void 0,this._rgb.slice(0,3))};var Fi=function(e,A,t){return.2126*(e=xi(e))+.7152*(A=xi(A))+.0722*xi(t)},xi=function(e){return(e/=255)<=.03928?e/12.92:yi((e+.055)/1.055,2.4)},Ti={},Si=w,Ii=c.type,Ui=Ti,Qi=function(e,A,t){void 0===t&&(t=.5);for(var i=[],n=arguments.length-3;n-- >0;)i[n]=arguments[n+3];var a=i[0]||"lrgb";if(Ui[a]||i.length||(a=Object.keys(Ui)[0]),!Ui[a])throw new Error("interpolation mode "+a+" is not defined");return"object"!==Ii(e)&&(e=new Si(e)),"object"!==Ii(A)&&(A=new Si(A)),Ui[a](e,A,t).alpha(e.alpha()+t*(A.alpha()-e.alpha()))},ki=w,Mi=Qi;ki.prototype.mix=ki.prototype.interpolate=function(e,A){void 0===A&&(A=.5);for(var t=[],i=arguments.length-2;i-- >0;)t[i]=arguments[i+2];return Mi.apply(void 0,[this,e,A].concat(t))};var Li=w;Li.prototype.premultiply=function(e){void 0===e&&(e=!1);var A=this._rgb,t=A[3];return e?(this._rgb=[A[0]*t,A[1]*t,A[2]*t,t],this):new Li([A[0]*t,A[1]*t,A[2]*t,t],"rgb")};var Oi=w,Ni=wA;Oi.prototype.saturate=function(e){void 0===e&&(e=1);var A=this.lch();return A[1]+=Ni.Kn*e,A[1]<0&&(A[1]=0),new Oi(A,"lch").alpha(this.alpha(),!0)},Oi.prototype.desaturate=function(e){return void 0===e&&(e=1),this.saturate(-e)};var Di=w,Hi=c.type;Di.prototype.set=function(e,A,t){void 0===t&&(t=!1);var i=e.split("."),n=i[0],a=i[1],r=this[n]();if(a){var s=n.indexOf(a)-("ok"===n.substr(0,2)?2:0);if(s>-1){if("string"==Hi(A))switch(A.charAt(0)){case"+":case"-":r[s]+=+A;break;case"*":r[s]*=+A.substr(1);break;case"/":r[s]/=+A.substr(1);break;default:r[s]=+A}else{if("number"!==Hi(A))throw new Error("unsupported value for Color.set");r[s]=A}var o=new Di(r,n);return t?(this._rgb=o._rgb,this):o}throw new Error("unknown channel "+a+" in mode "+n)}return r};var Ri=w;Ti.rgb=function(e,A,t){var i=e._rgb,n=A._rgb;return new Ri(i[0]+t*(n[0]-i[0]),i[1]+t*(n[1]-i[1]),i[2]+t*(n[2]-i[2]),"rgb")};var Pi=w,Vi=Math.sqrt,Ki=Math.pow;Ti.lrgb=function(e,A,t){var i=e._rgb,n=i[0],a=i[1],r=i[2],s=A._rgb,o=s[0],l=s[1],c=s[2];return new Pi(Vi(Ki(n,2)*(1-t)+Ki(o,2)*t),Vi(Ki(a,2)*(1-t)+Ki(l,2)*t),Vi(Ki(r,2)*(1-t)+Ki(c,2)*t),"rgb")};var Gi=w;Ti.lab=function(e,A,t){var i=e.lab(),n=A.lab();return new Gi(i[0]+t*(n[0]-i[0]),i[1]+t*(n[1]-i[1]),i[2]+t*(n[2]-i[2]),"lab")};var Wi=w,Xi=function(e,A,t,i){var n,a,r,s,o,l,c,d,h,u,g,p,m;return"hsl"===i?(r=e.hsl(),s=A.hsl()):"hsv"===i?(r=e.hsv(),s=A.hsv()):"hcg"===i?(r=e.hcg(),s=A.hcg()):"hsi"===i?(r=e.hsi(),s=A.hsi()):"lch"===i||"hcl"===i?(i="hcl",r=e.hcl(),s=A.hcl()):"oklch"===i&&(r=e.oklch().reverse(),s=A.oklch().reverse()),"h"!==i.substr(0,1)&&"oklch"!==i||(o=(n=r)[0],c=n[1],h=n[2],l=(a=s)[0],d=a[1],u=a[2]),isNaN(o)||isNaN(l)?isNaN(o)?isNaN(l)?p=Number.NaN:(p=l,1!=h&&0!=h||"hsv"==i||(g=d)):(p=o,1!=u&&0!=u||"hsv"==i||(g=c)):p=o+t*(l>o&&l-o>180?l-(o+360):l180?l+360-o:l-o),void 0===g&&(g=c+t*(d-c)),m=h+t*(u-h),new Wi("oklch"===i?[m,g,p]:[p,g,m],i)},zi=Xi,Yi=function(e,A,t){return zi(e,A,t,"lch")};Ti.lch=Yi,Ti.hcl=Yi;var ji=w;Ti.num=function(e,A,t){var i=e.num(),n=A.num();return new ji(i+t*(n-i),"num")};var Ji=Xi;Ti.hcg=function(e,A,t){return Ji(e,A,t,"hcg")};var Zi=Xi;Ti.hsi=function(e,A,t){return Zi(e,A,t,"hsi")};var qi=Xi;Ti.hsl=function(e,A,t){return qi(e,A,t,"hsl")};var _i=Xi;Ti.hsv=function(e,A,t){return _i(e,A,t,"hsv")};var $i=w;Ti.oklab=function(e,A,t){var i=e.oklab(),n=A.oklab();return new $i(i[0]+t*(n[0]-i[0]),i[1]+t*(n[1]-i[1]),i[2]+t*(n[2]-i[2]),"oklab")};var en=Xi;Ti.oklch=function(e,A,t){return en(e,A,t,"oklch")};var An=w,tn=c.clip_rgb,nn=Math.pow,an=Math.sqrt,rn=Math.PI,sn=Math.cos,on=Math.sin,ln=Math.atan2,cn=function(e,A){for(var t=e.length,i=[0,0,0,0],n=0;n.9999999&&(i[3]=1),new An(tn(i))},dn=B,hn=c.type,un=Math.pow,gn=function(e){var A="rgb",t=dn("#ccc"),i=0,n=[0,1],a=[],r=[0,0],s=!1,o=[],l=!1,c=0,d=1,h=!1,u={},g=!0,p=1,m=function(e){if((e=e||["#fff","#000"])&&"string"===hn(e)&&dn.brewer&&dn.brewer[e.toLowerCase()]&&(e=dn.brewer[e.toLowerCase()]),"array"===hn(e)){1===e.length&&(e=[e[0],e[0]]),e=e.slice(0);for(var A=0;A2?function(e){if(null!=s){for(var A=s.length-1,t=0;t=s[t];)t++;return t-1}return 0}(e)/(s.length-2):d!==c?(e-c)/(d-c):1,l=f(l),i||(l=w(l)),1!==p&&(l=un(l,p)),l=r[0]+l*(1-r[0]-r[1]),l=Math.min(1,Math.max(0,l));var h=Math.floor(1e4*l);if(g&&u[h])n=u[h];else{if("array"===hn(o))for(var m=0;m=B&&m===a.length-1){n=o[m];break}if(l>B&&l2){var l=e.map((function(A,t){return t/(e.length-1)})),h=e.map((function(e){return(e-c)/(d-c)}));h.every((function(e,A){return l[A]===e}))||(f=function(e){if(e<=0||e>=1)return e;for(var A=0;e>=h[A+1];)A++;var t=(e-h[A])/(h[A+1]-h[A]);return l[A]+t*(l[A+1]-l[A])})}}return n=[c,d],b},b.mode=function(e){return arguments.length?(A=e,E(),b):A},b.range=function(e,A){return m(e),b},b.out=function(e){return l=e,b},b.spread=function(e){return arguments.length?(i=e,b):i},b.correctLightness=function(e){return null==e&&(e=!0),h=e,E(),w=h?function(e){for(var A=B(0,!0).lab()[0],t=B(1,!0).lab()[0],i=A>t,n=B(e,!0).lab()[0],a=A+(t-A)*e,r=n-a,s=0,o=1,l=20;Math.abs(r)>.01&&l-- >0;)i&&(r*=-1),r<0?(s=e,e+=.5*(o-e)):(o=e,e+=.5*(s-e)),r=(n=B(e,!0).lab()[0])-a;return e}:function(e){return e},b},b.padding=function(e){return null!=e?("number"===hn(e)&&(e=[e,e]),r=e,b):r},b.colors=function(A,t){arguments.length<2&&(t="hex");var i=[];if(0===arguments.length)i=o.slice(0);else if(1===A)i=[b(.5)];else if(A>1){var a=n[0],r=n[1]-a;i=pn(0,A,!1).map((function(e){return b(a+e/(A-1)*r)}))}else{e=[];var l=[];if(s&&s.length>2)for(var c=1,d=s.length,h=1<=d;h?cd;h?c++:c--)l.push(.5*(s[c-1]+s[c]));else l=n;i=l.map((function(e){return b(e)}))}return dn[t]&&(i=i.map((function(e){return e[t]()}))),i},b.cache=function(e){return null!=e?(g=e,b):g},b.gamma=function(e){return null!=e?(p=e,b):p},b.nodata=function(e){return null!=e?(t=dn(e),b):t},b};function pn(e,A,t){for(var i=[],n=ea;n?r++:r--)i.push(r);return i}var mn=w,wn=gn,fn=B,Bn=function(e,A,t){if(!Bn[t])throw new Error("unknown blend mode "+t);return Bn[t](e,A)},En=function(e){return function(A,t){var i=fn(t).rgb(),n=fn(A).rgb();return fn.rgb(e(i,n))}},bn=function(e){return function(A,t){var i=[];return i[0]=e(A[0],t[0]),i[1]=e(A[1],t[1]),i[2]=e(A[2],t[2]),i}};Bn.normal=En(bn((function(e){return e}))),Bn.multiply=En(bn((function(e,A){return e*A/255}))),Bn.screen=En(bn((function(e,A){return 255*(1-(1-e/255)*(1-A/255))}))),Bn.overlay=En(bn((function(e,A){return A<128?2*e*A/255:255*(1-2*(1-e/255)*(1-A/255))}))),Bn.darken=En(bn((function(e,A){return e>A?A:e}))),Bn.lighten=En(bn((function(e,A){return e>A?e:A}))),Bn.dodge=En(bn((function(e,A){return 255===e||(e=A/255*255/(1-e/255))>255?255:e}))),Bn.burn=En(bn((function(e,A){return 255*(1-(1-A/255)/(e/255))})));for(var Cn=Bn,vn=c.type,yn=c.clip_rgb,Fn=c.TWOPI,xn=Math.pow,Tn=Math.sin,Sn=Math.cos,In=B,Un=w,Qn=Math.floor,kn=Math.random,Mn=r,Ln=Math.log,On=Math.pow,Nn=Math.floor,Dn=Math.abs,Hn=function(e,A){void 0===A&&(A=null);var t={min:Number.MAX_VALUE,max:-1*Number.MAX_VALUE,sum:0,values:[],count:0};return"object"===Mn(e)&&(e=Object.values(e)),e.forEach((function(e){A&&"object"===Mn(e)&&(e=e[A]),null==e||isNaN(e)||(t.values.push(e),t.sum+=e,et.max&&(t.max=e),t.count+=1)})),t.domain=[t.min,t.max],t.limits=function(e,A){return Rn(t,e,A)},t},Rn=function(e,A,t){void 0===A&&(A="equal"),void 0===t&&(t=7),"array"==Mn(e)&&(e=Hn(e));var i=e.min,n=e.max,a=e.values.sort((function(e,A){return e-A}));if(1===t)return[i,n];var r=[];if("c"===A.substr(0,1)&&(r.push(i),r.push(n)),"e"===A.substr(0,1)){r.push(i);for(var s=1;s 0");var o=Math.LOG10E*Ln(i),l=Math.LOG10E*Ln(n);r.push(i);for(var c=1;c200&&(B=!1)}for(var O={},N=0;N=360;)g-=360;r[u]=g}else r[u]=r[u]/s[u];return h/=i,new An(r,A).alpha(h>.99999?1:h,!0)},la.bezier=function(e){var A=function(e){var A,t,i,n,a,r,s;if(e=e.map((function(e){return new mn(e)})),2===e.length)A=e.map((function(e){return e.lab()})),a=A[0],r=A[1],n=function(e){var A=[0,1,2].map((function(A){return a[A]+e*(r[A]-a[A])}));return new mn(A,"lab")};else if(3===e.length)t=e.map((function(e){return e.lab()})),a=t[0],r=t[1],s=t[2],n=function(e){var A=[0,1,2].map((function(A){return(1-e)*(1-e)*a[A]+2*(1-e)*e*r[A]+e*e*s[A]}));return new mn(A,"lab")};else if(4===e.length){var o;i=e.map((function(e){return e.lab()})),a=i[0],r=i[1],s=i[2],o=i[3],n=function(e){var A=[0,1,2].map((function(A){return(1-e)*(1-e)*(1-e)*a[A]+3*(1-e)*(1-e)*e*r[A]+3*(1-e)*e*e*s[A]+e*e*e*o[A]}));return new mn(A,"lab")}}else{if(!(e.length>=5))throw new RangeError("No point in running bezier with only one color.");var l,c,d;l=e.map((function(e){return e.lab()})),d=e.length-1,c=function(e){for(var A=[1,1],t=1;ti?(t+.05)/(i+.05):(i+.05)/(t+.05)},la.deltaE=function(e,A,t,i,n){void 0===t&&(t=1),void 0===i&&(i=1),void 0===n&&(n=1);var a=function(e){return 360*e/(2*_n)},r=function(e){return 2*_n*e/360};e=new Kn(e),A=new Kn(A);var s=Array.from(e.lab()),o=s[0],l=s[1],c=s[2],d=Array.from(A.lab()),h=d[0],u=d[1],g=d[2],p=(o+h)/2,m=(Gn(Wn(l,2)+Wn(c,2))+Gn(Wn(u,2)+Wn(g,2)))/2,w=.5*(1-Gn(Wn(m,7)/(Wn(m,7)+Wn(25,7)))),f=l*(1+w),B=u*(1+w),E=Gn(Wn(f,2)+Wn(c,2)),b=Gn(Wn(B,2)+Wn(g,2)),C=(E+b)/2,v=a(Yn(c,f)),y=a(Yn(g,B)),F=v>=0?v:v+360,x=y>=0?y:y+360,T=jn(F-x)>180?(F+x+360)/2:(F+x)/2,S=1-.17*Jn(r(T-30))+.24*Jn(r(2*T))+.32*Jn(r(3*T+6))-.2*Jn(r(4*T-63)),I=x-F;I=jn(I)<=180?I:x<=F?I+360:I-360,I=2*Gn(E*b)*Zn(r(I)/2);var U=h-o,Q=b-E,k=1+.015*Wn(p-50,2)/Gn(20+Wn(p-50,2)),M=1+.045*C,L=1+.015*C*S,O=30*qn(-Wn((T-275)/25,2)),N=-2*Gn(Wn(C,7)/(Wn(C,7)+Wn(25,7)))*Zn(2*r(O)),D=Gn(Wn(U/(t*k),2)+Wn(Q/(i*M),2)+Wn(I/(n*L),2)+N*(Q/(i*M))*(I/(n*L)));return zn(0,Xn(100,D))},la.distance=function(e,A,t){void 0===t&&(t="lab"),e=new $n(e),A=new $n(A);var i=e.get(t),n=A.get(t),a=0;for(var r in i){var s=(i[r]||0)-(n[r]||0);a+=s*s}return Math.sqrt(a)},la.limits=Pn.limits,la.valid=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];try{return new(Function.prototype.bind.apply(ea,[null].concat(e))),!0}catch(e){return!1}},la.scales=ia,la.colors=dt,la.brewer=oa,la}();var chroma=chromaExports;function hexWithAlpha(e,A){return chroma(e).alpha(A).css()}function has(e,A){return e.hasAttribute(A)}function get(e,A,t){return e.getAttribute(A)||t||""}function getNum(e,A,t){const i=Number(get(e,A));return Number.isNaN(i)?t||0:i}const attrHandlers={stroke:({el:e,exVals:A})=>{const t=get(e,"stroke");A.strokeColor=has(e,"stroke-opacity")?hexWithAlpha(t,getNum(e,"stroke-opacity")):t},"stroke-opacity":({el:e,exVals:A})=>{A.strokeColor=hexWithAlpha(get(e,"stroke","#000000"),getNum(e,"stroke-opacity"))},"stroke-width":({el:e,exVals:A})=>{A.strokeWidth=getNum(e,"stroke-width")},fill:({el:e,exVals:A})=>{const t=get(e,"fill");A.backgroundColor="none"===t?"#00000000":t},"fill-opacity":({el:e,exVals:A})=>{A.backgroundColor=hexWithAlpha(get(e,"fill","#000000"),getNum(e,"fill-opacity"))},opacity:({el:e,exVals:A})=>{A.opacity=getNum(e,"opacity",100)}};function presAttrsToElementValues(e){return[...e.attributes].reduce(((A,t)=>{const i=t.name;return Object.keys(attrHandlers).includes(i)&&attrHandlers[i]({el:e,exVals:A}),A}),{})}function filterAttrsToElementValues(e){const A={};return has(e,"x")&&(A.x=getNum(e,"x")),has(e,"y")&&(A.y=getNum(e,"y")),has(e,"width")&&(A.width=getNum(e,"width")),has(e,"height")&&(A.height=getNum(e,"height")),A}function pointsAttrToPoints(e){let A=[];return has(e,"points")&&(A=get(e,"points").split(" ").map((e=>e.split(",").map(parseFloat)))),A}function getGroupAttrs(e){return e.reduce(((e,{element:A})=>{const t=presAttrsToElementValues(A);return Object.assign(Object.assign({},e),t)}),{})}class Group{constructor(e){this.id=randomId(),this.element=e}}function createExElement(){return{id:randomId(),x:0,y:0,strokeColor:"#000000",backgroundColor:"#000000",fillStyle:"solid",strokeWidth:1,strokeStyle:"solid",roundness:null,roughness:0,opacity:100,width:0,height:0,angle:0,seed:Math.floor(random.next()*2**31),version:0,versionNonce:0,isDeleted:!1,groupIds:[],boundElementIds:null}}function createExRect(){return Object.assign(Object.assign({},createExElement()),{type:"rectangle"})}function createExLine(){return Object.assign(Object.assign({},createExElement()),{type:"line",points:[]})}function createExEllipse(){return Object.assign(Object.assign({},createExElement()),{type:"ellipse"})}function createExDraw(){return Object.assign(Object.assign({},createExElement()),{type:"line",points:[]})}const transformFunctions={matrix:"matrix",matrix3d:"matrix3d",perspective:"perspective",rotate:"rotate",rotate3d:"rotate3d",rotateX:"rotateX",rotateY:"rotateY",rotateZ:"rotateZ",scale:"scale",scale3d:"scale3d",scaleX:"scaleX",scaleY:"scaleY",scaleZ:"scaleZ",skew:"skew",skewX:"skewX",skewY:"skewY",translate:"translate",translate3d:"translate3d",translateX:"translateX",translateY:"translateY",translateZ:"translateZ"},transformFunctionsArr=Object.keys(transformFunctions),defaultUnits={matrix:"",matrix3d:"",perspective:"perspective",rotate:"deg",rotate3d:"deg",rotateX:"deg",rotateY:"deg",rotateZ:"deg",scale:"",scale3d:"",scaleX:"",scaleY:"",scaleZ:"",skew:"skew",skewX:"deg",skewY:"deg",translate:"px",translate3d:"px",translateX:"px",translateY:"px",translateZ:"px"},svgTransformToCSSTransform=e=>{const A=e.match(/(\w+)\(([^)]*)\)/g);if(!A)return"";const t=A.map((e=>{const A=e.split("(")[0];if(!A)throw new Error("Unable to find transform name");if(!transformFunctionsArr.includes(A))throw new Error(`transform function name "${A}" is not valid`);const t=e.match(/([-+]?[0-9]*\.?[0-9]+)([a-z])*/g);if(!t)return{type:A,values:[]};let i=t.map((e=>{const[t,i]=e.matchAll(/([-+]?[0-9]*\.?[0-9]+)|([a-z])*/g);return{unit:i[0]||defaultUnits[A],value:t[0]}}));return i&&"rotate"===A&&(null==i?void 0:i.length)>1&&(i=[i[0]]),{type:A,values:i}}));return t.map((({type:e,values:A})=>`${e}(${A.map((({unit:e,value:A})=>`${A}${e}`)).join(", ")})`)).join(" ")};function getElementMatrix(e){if(e.hasAttribute("transform")){const A=new DOMMatrix(svgTransformToCSSTransform(e.getAttribute("transform")||""));return multiply(create$1(),create$1(),A.toFloat32Array())}return create$1()}function getTransformMatrix(e,A){return A.map((({element:e})=>getElementMatrix(e))).concat([getElementMatrix(e)]).reduce(((e,A)=>multiply(e,e,A)),create$1())}function transformPoints(e,A){return e.map((([e,t])=>{const[i,n]=transformMat4(create(),fromValues(e,t,1),A);return[i,n]}))}function distance(e,A){return Math.sqrt(distanceSq(e,A))}function distanceSq(e,A){return Math.pow(e[0]-A[0],2)+Math.pow(e[1]-A[1],2)}function distanceToSegmentSq(e,A,t){const i=distanceSq(A,t);if(0===i)return distanceSq(e,A);let n=((e[0]-A[0])*(t[0]-A[0])+(e[1]-A[1])*(t[1]-A[1]))/i;return n=Math.max(0,Math.min(1,n)),distanceSq(e,lerp(A,t,n))}function lerp(e,A,t){return[e[0]+(A[0]-e[0])*t,e[1]+(A[1]-e[1])*t]}function flatness(e,A){const t=e[A+0],i=e[A+1],n=e[A+2],a=e[A+3];let r=3*i[0]-2*t[0]-a[0];r*=r;let s=3*i[1]-2*t[1]-a[1];s*=s;let o=3*n[0]-2*a[0]-t[0];o*=o;let l=3*n[1]-2*a[1]-t[1];return l*=l,r1&&n.push(t):n.push(t),n.push(e[A+3])}else{const i=.5,a=e[A+0],r=e[A+1],s=e[A+2],o=e[A+3],l=lerp(a,r,i),c=lerp(r,s,i),d=lerp(s,o,i),h=lerp(l,c,i),u=lerp(c,d,i),g=lerp(h,u,i);getPointsOnBezierCurveWithSplitting([a,l,h,g],0,t,n),getPointsOnBezierCurveWithSplitting([g,u,d,o],0,t,n)}return n}function simplify(e,A){return simplifyPoints(e,0,e.length,A)}function simplifyPoints(e,A,t,i,n){const a=n||[],r=e[A],s=e[t-1];let o=0,l=1;for(let i=A+1;io&&(o=A,l=i)}return Math.sqrt(o)>i?(simplifyPoints(e,A,l+1,i,a),simplifyPoints(e,l,t,i,a)):(a.length||a.push(r),a.push(s)),a}function pointsOnBezierCurves(e,A=.15,t){const i=[],n=(e.length-1)/3;for(let t=0;t0?simplifyPoints(i,0,i.length,t):i}const COMMAND=0,NUMBER=1,EOD=2,PARAMS={A:7,a:7,C:6,c:6,H:1,h:1,L:2,l:2,M:2,m:2,Q:4,q:4,S:4,s:4,T:2,t:2,V:1,v:1,Z:0,z:0};function tokenize(e){const A=new Array;for(;""!==e;)if(e.match(/^([ \t\r\n,]+)/))e=e.substr(RegExp.$1.length);else if(e.match(/^([aAcChHlLmMqQsStTvVzZ])/))A[A.length]={type:0,text:RegExp.$1},e=e.substr(RegExp.$1.length);else{if(!e.match(/^(([-+]?[0-9]+(\.[0-9]*)?|[-+]?\.[0-9]+)([eE][-+]?[0-9]+)?)/))return[];A[A.length]={type:1,text:`${parseFloat(RegExp.$1)}`},e=e.substr(RegExp.$1.length)}return A[A.length]={type:2,text:""},A}function isType(e,A){return e.type===A}function parsePath(e){const A=[],t=tokenize(e);let i="BOD",n=0,a=t[n];for(;!isType(a,2);){let r=0;const s=[];if("BOD"===i){if("M"!==a.text&&"m"!==a.text)return parsePath("M0,0"+e);n++,r=PARAMS[a.text],i=a.text}else isType(a,1)?r=PARAMS[i]:(n++,r=PARAMS[a.text],i=a.text);if(!(n+ri%2?e+t:e+A));a.push({key:"C",data:e}),A=e[4],t=e[5];break}case"Q":a.push({key:"Q",data:[...s]}),A=s[2],t=s[3];break;case"q":{const e=s.map(((e,i)=>i%2?e+t:e+A));a.push({key:"Q",data:e}),A=e[2],t=e[3];break}case"A":a.push({key:"A",data:[...s]}),A=s[5],t=s[6];break;case"a":A+=s[5],t+=s[6],a.push({key:"A",data:[s[0],s[1],s[2],s[3],s[4],A,t]});break;case"H":a.push({key:"H",data:[...s]}),A=s[0];break;case"h":A+=s[0],a.push({key:"H",data:[A]});break;case"V":a.push({key:"V",data:[...s]}),t=s[0];break;case"v":t+=s[0],a.push({key:"V",data:[t]});break;case"S":a.push({key:"S",data:[...s]}),A=s[2],t=s[3];break;case"s":{const e=s.map(((e,i)=>i%2?e+t:e+A));a.push({key:"S",data:e}),A=e[2],t=e[3];break}case"T":a.push({key:"T",data:[...s]}),A=s[0],t=s[1];break;case"t":A+=s[0],t+=s[1],a.push({key:"T",data:[A,t]});break;case"Z":case"z":a.push({key:"Z",data:[]}),A=i,t=n}return a}function normalize(e){const A=[];let t="",i=0,n=0,a=0,r=0,s=0,o=0;for(const{key:l,data:c}of e){switch(l){case"M":A.push({key:"M",data:[...c]}),[i,n]=c,[a,r]=c;break;case"C":A.push({key:"C",data:[...c]}),i=c[4],n=c[5],s=c[2],o=c[3];break;case"L":A.push({key:"L",data:[...c]}),[i,n]=c;break;case"H":i=c[0],A.push({key:"L",data:[i,n]});break;case"V":n=c[0],A.push({key:"L",data:[i,n]});break;case"S":{let e=0,a=0;"C"===t||"S"===t?(e=i+(i-s),a=n+(n-o)):(e=i,a=n),A.push({key:"C",data:[e,a,...c]}),s=c[0],o=c[1],i=c[2],n=c[3];break}case"T":{const[e,a]=c;let r=0,l=0;"Q"===t||"T"===t?(r=i+(i-s),l=n+(n-o)):(r=i,l=n);const d=i+2*(r-i)/3,h=n+2*(l-n)/3,u=e+2*(r-e)/3,g=a+2*(l-a)/3;A.push({key:"C",data:[d,h,u,g,e,a]}),s=r,o=l,i=e,n=a;break}case"Q":{const[e,t,a,r]=c,l=i+2*(e-i)/3,d=n+2*(t-n)/3,h=a+2*(e-a)/3,u=r+2*(t-r)/3;A.push({key:"C",data:[l,d,h,u,a,r]}),s=e,o=t,i=a,n=r;break}case"A":{const e=Math.abs(c[0]),t=Math.abs(c[1]),a=c[2],r=c[3],s=c[4],o=c[5],l=c[6];0===e||0===t?(A.push({key:"C",data:[i,n,o,l,o,l]}),i=o,n=l):i===o&&n===l||(arcToCubicCurves(i,n,o,l,e,t,a,r,s).forEach((function(e){A.push({key:"C",data:e})})),i=o,n=l);break}case"Z":A.push({key:"Z",data:[]}),i=a,n=r}t=l}return A}function degToRad(e){return Math.PI*e/180}function rotate(e,A,t){return[e*Math.cos(t)-A*Math.sin(t),e*Math.sin(t)+A*Math.cos(t)]}function arcToCubicCurves(e,A,t,i,n,a,r,s,o,l){const c=degToRad(r);let d=[],h=0,u=0,g=0,p=0;if(l)[h,u,g,p]=l;else{[e,A]=rotate(e,A,-c),[t,i]=rotate(t,i,-c);const r=(e-t)/2,l=(A-i)/2;let d=r*r/(n*n)+l*l/(a*a);d>1&&(d=Math.sqrt(d),n*=d,a*=d);const m=n*n,w=a*a,f=m*w-m*l*l-w*r*r,B=m*l*l+w*r*r,E=(s===o?-1:1)*Math.sqrt(Math.abs(f/B));g=E*n*l/a+(e+t)/2,p=E*-a*r/n+(A+i)/2,h=Math.asin(parseFloat(((A-p)/a).toFixed(9))),u=Math.asin(parseFloat(((i-p)/a).toFixed(9))),eu&&(h-=2*Math.PI),!o&&u>h&&(u-=2*Math.PI)}let m=u-h;if(Math.abs(m)>120*Math.PI/180){const e=u,A=t,s=i;u=o&&u>h?h+120*Math.PI/180*1:h+120*Math.PI/180*-1,d=arcToCubicCurves(t=g+n*Math.cos(u),i=p+a*Math.sin(u),A,s,n,a,r,0,o,[u,e,g,p])}m=u-h;const w=Math.cos(h),f=Math.sin(h),B=Math.cos(u),E=Math.sin(u),b=Math.tan(m/4),C=4/3*n*b,v=4/3*a*b,y=[e,A],F=[e+C*f,A-v*w],x=[t+C*E,i-v*B],T=[t,i];if(F[0]=2*y[0]-F[0],F[1]=2*y[1]-F[1],l)return[F,x,T].concat(d);{d=[F,x,T].concat(d);const e=[];for(let A=0;A{s.length>=4&&a.push(...pointsOnBezierCurves(s,A)),s=[]},l=()=>{o(),a.length&&(n.push(a),a=[])};for(const{key:e,data:A}of i)switch(e){case"M":l(),r=[A[0],A[1]],a.push(r);break;case"L":o(),a.push([A[0],A[1]]);break;case"C":if(!s.length){const e=a.length?a[a.length-1]:r;s.push([e[0],e[1]])}s.push([A[0],A[1]]),s.push([A[2],A[3]]),s.push([A[4],A[5]]);break;case"Z":o(),a.push([r[0],r[1]])}if(l(),!t)return n;const c=[];for(const e of n){const A=simplify(e,t);A.length&&c.push(A)}return c}const SUPPORTED_TAGS=["svg","path","g","use","circle","ellipse","rect","polyline","polygon"],nodeValidator=e=>SUPPORTED_TAGS.includes(e.tagName)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT;function createTreeWalker(e){return document.createTreeWalker(e,NodeFilter.SHOW_ALL,{acceptNode:nodeValidator})}const presAttrs=(e,A)=>Object.assign(Object.assign(Object.assign({},getGroupAttrs(A)),presAttrsToElementValues(e)),filterAttrsToElementValues(e)),skippedUseAttrs=["id"],allwaysPassedUseAttrs=["x","y","width","height","href","xlink:href"],getDefElWithCorrectAttrs=(e,A)=>[...A.attributes].reduce(((t,i)=>(skippedUseAttrs.includes(i.value)||e.hasAttribute(i.name)&&!allwaysPassedUseAttrs.includes(i.name)||t.setAttribute(i.name,A.getAttribute(i.name)||""),t)),e.cloneNode()),walkers={svg:e=>{walk(e,e.tw.nextNode())},g:e=>{const A=Object.assign(Object.assign({},e),{tw:createTreeWalker(e.tw.currentNode),groups:[...e.groups,new Group(e.tw.currentNode)]});walk(A,A.tw.nextNode()),walk(e,e.tw.nextSibling())},use:e=>{const{root:A,tw:t,scene:i}=e,n=t.currentNode,a=n.getAttribute("href")||n.getAttribute("xlink:href");if(!a)throw new Error("unable to get id of use element");const r=A.querySelector(a);if(!r)throw new Error(`unable to find def element with id: ${a}`);const s=new ExcalidrawScene,o=getDefElWithCorrectAttrs(r,n);walk(Object.assign(Object.assign({},e),{scene:s,tw:createTreeWalker(o)}),o);const l=s.elements.pop();l&&i.elements.push(l),walk(e,e.tw.nextNode())},circle:e=>{const{tw:A,scene:t,groups:i}=e,n=A.currentNode,a=getNum(n,"r",0),r=2*a,s=getNum(n,"x",0)+getNum(n,"cx",0)-a,o=getNum(n,"y",0)+getNum(n,"cy",0)-a,l=getTransformMatrix(n,i),c=fromValues$1(r,0,0,0,0,r,0,0,0,0,1,0,s,o,0,1),d=multiply(create$1(),l,c),h=Object.assign(Object.assign(Object.assign({},createExEllipse()),presAttrs(n,i)),{x:d[12],y:d[13],width:d[0],height:d[5],groupIds:i.map((e=>e.id))});t.elements.push(h),walk(e,A.nextNode())},ellipse:e=>{const{tw:A,scene:t,groups:i}=e,n=A.currentNode,a=getNum(n,"rx",0),r=getNum(n,"ry",0),s=getNum(n,"cx",0),o=getNum(n,"cy",0),l=getNum(n,"x",0)+s-a,c=getNum(n,"y",0)+o-r,d=2*a,h=2*r,u=getTransformMatrix(n,i),g=fromValues$1(d,0,0,0,0,h,0,0,0,0,1,0,l,c,0,1),p=multiply(create$1(),u,g),m=Object.assign(Object.assign(Object.assign({},createExEllipse()),presAttrs(n,i)),{x:p[12],y:p[13],width:p[0],height:p[5],groupIds:i.map((e=>e.id))});t.elements.push(m),walk(e,A.nextNode())},line:e=>{walk(e,e.tw.nextNode())},polygon:e=>{const{tw:A,scene:t,groups:i}=e,n=A.currentNode,a=transformPoints(pointsAttrToPoints(n),getTransformMatrix(n,i)),r=a[0][0],s=a[0][1],o=a.map((([e,A])=>[e-r,A-s])),[l,c]=dimensionsFromPoints(o),d=Object.assign(Object.assign(Object.assign(Object.assign({},createExLine()),getGroupAttrs(i)),presAttrsToElementValues(n)),{points:o.concat([[0,0]]),x:r,y:s,width:l,height:c});t.elements.push(d),walk(e,e.tw.nextNode())},polyline:e=>{const{tw:A,scene:t,groups:i}=e,n=A.currentNode,a=getTransformMatrix(n,i),r=transformPoints(pointsAttrToPoints(n),a),s=r[0][0],o=r[0][1],l=r.map((([e,A])=>[e-s,A-o])),[c,d]=dimensionsFromPoints(l),h=has(n,"fill"),u=get(n,"fill"),g=!h||h&&"none"!==u,p=Object.assign(Object.assign(Object.assign(Object.assign({},createExLine()),getGroupAttrs(i)),presAttrsToElementValues(n)),{points:l.concat(g?[[0,0]]:[]),x:s,y:o,width:c,height:d});t.elements.push(p),walk(e,e.tw.nextNode())},rect:e=>{const{tw:A,scene:t,groups:i}=e,n=A.currentNode,a=getNum(n,"x",0),r=getNum(n,"y",0),s=getNum(n,"width",0),o=getNum(n,"height",0),l=getTransformMatrix(n,i),c=fromValues$1(s,0,0,0,0,o,0,0,0,0,1,0,a,r,0,1),d=multiply(create$1(),l,c),h=n.hasAttribute("rx")||n.hasAttribute("ry"),u=Object.assign(Object.assign(Object.assign({},createExRect()),presAttrs(n,i)),{x:d[12],y:d[13],width:d[0],height:d[5],roundness:h?{type:ROUNDNESS.LEGACY}:null});t.elements.push(u),walk(e,e.tw.nextNode())},path:e=>{const{tw:A,scene:t,groups:i}=e,n=A.currentNode,a=getTransformMatrix(n,i),r=pointsOnPath(get(n,"d")),s=get(n,"fill","black"),o=get(n,"fill-rule","nonzero");let l=[],c=randomId();switch(o){case"nonzero":let e="clockwise";l=r.map(((A,t)=>{const r=transformPoints(A,clone(a)),o=r[0][0],l=r[0][1],[d,h]=dimensionsFromPoints(r),u=r.map((([e,A])=>[e-o,A-l])),g=getWindingOrder(u);0===t&&(e=g,c=randomId());let p=s;return e!==g&&(p="#FFFFFF"),Object.assign(Object.assign(Object.assign(Object.assign({},createExDraw()),{strokeWidth:0,strokeColor:"#00000000"}),presAttrs(n,i)),{points:u,backgroundColor:p,width:d,height:h,x:o+getNum(n,"x",0),y:l+getNum(n,"y",0),groupIds:[c]})}));break;case"evenodd":l=r.map(((e,A)=>{const t=transformPoints(e,clone(a)),r=t[0][0],s=t[0][1],[o,l]=dimensionsFromPoints(t),d=t.map((([e,A])=>[e-r,A-s]));return 0===A&&(c=randomId()),Object.assign(Object.assign(Object.assign({},createExDraw()),presAttrs(n,i)),{points:d,width:o,height:l,x:r+getNum(n,"x",0),y:s+getNum(n,"y",0)})}))}t.elements=t.elements.concat(l),walk(e,A.nextNode())}};function walk(e,A){if(!A)return;const t=A.nodeName;walkers[t]&&walkers[t](e)}const svgToExcalidraw=e=>{const A=(new DOMParser).parseFromString(e,"image/svg+xml"),t=A.querySelectorAll("parsererror"),i=t.length>0;let n=null;if(i)console.error("There were errors while parsing the given SVG: ",[...t].map((e=>e.innerHTML)));else{const e=createTreeWalker(A),t=new ExcalidrawScene;walk({tw:e,scene:t,groups:[],root:A},e.nextNode()),n=t.elements}return{hasErrors:i,errors:i?t:null,content:n}};B([r$d,z,e$a,l$3,b$1,v,h$1,i$5,i$4,h,u,c$1,s]);const{determineFocusDistance:determineFocusDistance,intersectElementWithLine:intersectElementWithLine,getCommonBoundingBox:getCommonBoundingBox,getMaximumGroups:getMaximumGroups,measureText:measureText}=excalidrawLib,GAP=4;class ExcalidrawAutomate{get obsidian(){return obsidian_module__namespace}constructor(e,A){this.targetView=null,this.mostRecentMarkdownSVG=null,this.onViewUnloadHook=null,this.onViewModeChangeHook=null,this.onLinkHoverHook=null,this.onLinkClickHook=null,this.onDropHook=null,this.onCanvasColorChangeHook=null,this.activeScript=null,this.plugin=e,this.reset(),this.targetView=A}getViewLastPointerPosition(){var e;return this.targetView&&(null===(e=this.targetView)||void 0===e?void 0:e._loaded)?this.targetView.currentPosition:(errorMessage("targetView not set","getExcalidrawAPI()"),null)}getAPI(e){return new ExcalidrawAutomate(this.plugin,e)}setFillStyle(e){switch(e){case 0:return this.style.fillStyle="hachure","hachure";case 1:return this.style.fillStyle="cross-hatch","cross-hatch";default:return this.style.fillStyle="solid","solid"}}setStrokeStyle(e){switch(e){case 0:return this.style.strokeStyle="solid","solid";case 1:return this.style.strokeStyle="dashed","dashed";default:return this.style.strokeStyle="dotted","dotted"}}setStrokeSharpness(e){return 0===e?(this.style.roundness={type:ROUNDNESS.LEGACY},"round"):(this.style.roundness=null,"sharp")}setFontFamily(e){switch(e){case 1:return this.style.fontFamily=4,getFontFamily(4);case 2:return this.style.fontFamily=2,getFontFamily(2);case 3:return this.style.fontFamily=3,getFontFamily(3);default:return this.style.fontFamily=1,getFontFamily(1)}}setTheme(e){return 0===e?(this.canvas.theme="light","light"):(this.canvas.theme="dark","dark")}addToGroup(e){const A=nanoid();return e.forEach((e=>{var t,i;null===(i=null===(t=this.elementsDict[e])||void 0===t?void 0:t.groupIds)||void 0===i||i.push(A)})),A}async toClipboard(e){const A=e?await getTemplate(this.plugin,e,!1,new EmbeddedFilesLoader(this.plugin),0):null;let t=A?A.elements:[];t=t.concat(this.getElements()),navigator.clipboard.writeText(JSON.stringify({type:"excalidraw/clipboard",elements:t}))}getElements(){const e=[],A=Object.keys(this.elementsDict);for(let t=0;t{let A=e.plaintext?e.plaintext+"\n\n":"";const t=this.getElements().filter((e=>"text"===e.type));return A+="# Text Elements\n",t.forEach((e=>{var t,i;A+=`${null!==(t=e.rawText)&&void 0!==t?t:null!==(i=e.originalText)&&void 0!==i?i:e.text} ^${e.id}\n\n`})),this.getElements().filter((e=>"text"!==e.type&&e.link)).forEach((e=>{A+=`${e.link} ^${e.id}\n\n`})),A+=Object.keys(this.imagesDict).length>0?"\n# Embedded files\n":"",Object.keys(this.imagesDict).forEach((e=>{const t=this.imagesDict[e];t.latex?A+=`${e}: $$${t.latex}$$\n`:A+=`${e}: [[${t.file}]]\n`})),A})()+getMarkdownDrawingSection(JSON.stringify(G,null,"\t"),this.plugin.settings.compress))}async createSVG(e,A=!1,t,i,n,a){return n||(n=this.plugin.settings.previewMatchObsidianTheme?isObsidianThemeDark()?"dark":"light":this.plugin.settings.exportWithTheme?void 0:"light"),n&&!t&&(t={withBackground:this.plugin.settings.exportWithBackground,withTheme:!0}),i||(i=new EmbeddedFilesLoader(this.plugin,n?"dark"===n:void 0)),await createSVG(e,A,t,i,n,this.canvas.theme,this.canvas.viewBackgroundColor,this.getElements(),this.plugin,0,a,this.imagesDict)}async createPNG(e,A=1,t,i,n,a){return n||(n=this.plugin.settings.previewMatchObsidianTheme?isObsidianThemeDark()?"dark":"light":this.plugin.settings.exportWithTheme?void 0:"light"),n&&!t&&(t={withBackground:this.plugin.settings.exportWithBackground,withTheme:!0}),i||(i=new EmbeddedFilesLoader(this.plugin,n?"dark"===n:void 0)),await createPNG(e,A,t,i,n,this.canvas.theme,this.canvas.viewBackgroundColor,this.getElements(),this.plugin,0,a,this.imagesDict)}wrapText(e,A){return wrapTextAtCharLength(e,A,this.plugin.settings.forceWrap)}boxedElement(e,A,t,i,n,a){return{id:e,type:A,x:t,y:i,width:n,height:a,angle:this.style.angle,strokeColor:this.style.strokeColor,backgroundColor:this.style.backgroundColor,fillStyle:this.style.fillStyle,strokeWidth:this.style.strokeWidth,strokeStyle:this.style.strokeStyle,roughness:this.style.roughness,opacity:this.style.opacity,roundness:this.style.strokeSharpness?"round"===this.style.strokeSharpness?{type:ROUNDNESS.LEGACY}:null:this.style.roundness,seed:Math.floor(1e5*Math.random()),version:1,versionNonce:Math.floor(1e9*Math.random()),updated:Date.now(),isDeleted:!1,groupIds:[],boundElements:[],link:null,locked:!1}}addRect(e,A,t,i){const n=nanoid();return this.elementsDict[n]=this.boxedElement(n,"rectangle",e,A,t,i),n}addDiamond(e,A,t,i){const n=nanoid();return this.elementsDict[n]=this.boxedElement(n,"diamond",e,A,t,i),n}addEllipse(e,A,t,i){const n=nanoid();return this.elementsDict[n]=this.boxedElement(n,"ellipse",e,A,t,i),n}addBlob(e,A,t,i){const n=.5*i,a=.5*t,r=a/9,s=.8*n,o=[],l=(t,i)=>{const l=t+Math.random()*r-r/2;o.push([l+Math.random()*r-r/2+t%2*r/6+e,i*Math.sqrt(n*n*(1-l*l/(a*a)))+Math.random()*s-s/2+t%2*s/6+A])};let c;for(c=r/2-a;c<=a-r/2;c+=a/6)l(c,1);for(c=a-r/2;c>=r/2-a;c-=a/6)l(c,-1);o.push(o[0]);const d=this.addLine((e=>{const A=getLineBox(e),n=t/A.w,a=i/A.h;let r;for(r=0;r500){const e=500/Math.max(r.size.width,r.size.height);r.size.width=e*r.size.width,r.size.height=e*r.size.height}return this.elementsDict[n]=this.boxedElement(n,"image",e,A,r.size.width,r.size.height),this.elementsDict[n].fileId=s,this.elementsDict[n].scale=[1,1],n}async addLaTex(e,A,t){const i=nanoid(),n=await tex2dataURL(t,this.plugin);return n?(this.imagesDict[n.fileId]={mimeType:n.mimeType,id:n.fileId,dataURL:n.dataURL,created:n.created,file:null,hasSVGwithBitmap:!1,latex:t},this.elementsDict[i]=this.boxedElement(i,"image",e,A,n.size.width,n.size.height),this.elementsDict[i].fileId=n.fileId,this.elementsDict[i].scale=[1,1],i):null}connectObjects(e,A,t,i,n){if(!this.elementsDict[e]||!this.elementsDict[t])return;if(["line","arrow","freedraw"].includes(this.elementsDict[e].type)||["line","arrow","freedraw"].includes(this.elementsDict[t].type))return;const a=(null==n?void 0:n.padding)?n.padding:10,r=(null==n?void 0:n.numberOfPoints)?n.numberOfPoints:0,s=(e,A)=>{switch(e){case"bottom":return[(A.x+(A.x+A.width))/2,A.y+A.height+a];case"left":return[A.x-a,(A.y+(A.y+A.height))/2];case"right":return[A.x+A.width+a,(A.y+(A.y+A.height))/2];default:return[(A.x+(A.x+A.width))/2,A.y-a]}};let o,l,c,d;const h=this.elementsDict[e],u=this.elementsDict[t];if(!A||!i){const e=h.x+h.width/2,t=u.x+u.width/2,n=h.y+h.height/2,a=u.y+u.height/2;if(!A){const A=intersectElementWithLine(h,[t,a],[e,n],4);0===A.length?[o,l]=[e,n]:[o,l]=A[0]}if(!i){const A=intersectElementWithLine(u,[e,n],[t,a],4);0===A.length?[c,d]=[t,a]:[c,d]=A[0]}}A&&([o,l]=s(A,this.elementsDict[e])),i&&([c,d]=s(i,this.elementsDict[t]));const g=r+2,p=[];for(let e=0;eMath.PI/2&&(i-=Math.PI),this.style.angle=i;const a=this.addText(t.x+t.points[1][0]/2-n.width/2,t.y+t.points[1][1]/2-n.height,A);return this.style.angle=0,a}clear(){this.elementsDict={},this.imagesDict={}}reset(){this.clear(),this.activeScript=null,this.style={strokeColor:"#000000",backgroundColor:"transparent",angle:0,fillStyle:"hachure",strokeWidth:1,strokeStyle:"solid",roughness:1,opacity:100,roundness:null,fontFamily:1,fontSize:20,textAlign:"left",verticalAlign:"top",startArrowHead:null,endArrowHead:"arrow"},this.canvas={theme:"light",viewBackgroundColor:"#FFFFFF",gridSize:0}}isExcalidrawFile(e){return this.plugin.isExcalidrawFile(e)}setView(e){if(!e){const e=app.workspace.getActiveViewOfType(ExcalidrawView);if(e instanceof ExcalidrawView)this.targetView=e;else{const e=app.workspace.getLeavesOfType("excalidraw");if(!e||0==e.length)return;this.targetView=e[0].view}}if("active"==e){const e=app.workspace.getActiveViewOfType(ExcalidrawView);if(!(e instanceof ExcalidrawView))return;this.targetView=e}if("first"==e){const e=app.workspace.getLeavesOfType("excalidraw");if(!e||0==e.length)return;this.targetView=e[0].view}return e instanceof ExcalidrawView&&(this.targetView=e),this.targetView}getExcalidrawAPI(){var e;return this.targetView&&(null===(e=this.targetView)||void 0===e?void 0:e._loaded)?this.targetView.excalidrawAPI:(errorMessage("targetView not set","getExcalidrawAPI()"),null)}getViewElements(){var e;if(!this.targetView||!(null===(e=this.targetView)||void 0===e?void 0:e._loaded))return errorMessage("targetView not set","getViewElements()"),[];const A=this.targetView.excalidrawAPI;return A?A.getSceneElements():[]}deleteViewElements(e){var A,t,i;if(!this.targetView||!(null===(A=this.targetView)||void 0===A?void 0:A._loaded))return errorMessage("targetView not set","deleteViewElements()"),!1;const n=null===(i=null===(t=this.targetView)||void 0===t?void 0:t.excalidrawRef)||void 0===i?void 0:i.current;if(!n)return!1;const a=n.getSceneElements(),r=n.getAppState();return this.targetView.updateScene({elements:a.filter((A=>!e.includes(A))),appState:r,commitToHistory:!0}),!0}getViewSelectedElement(){const e=this.getViewSelectedElements();return e?e[0]:null}getViewSelectedElements(){var e;return this.targetView&&(null===(e=this.targetView)||void 0===e?void 0:e._loaded)?this.targetView.getViewSelectedElements():(errorMessage("targetView not set","getViewSelectedElements()"),[])}getViewFileForImageElement(e){var A,t,i,n;return this.targetView&&(null===(A=this.targetView)||void 0===A?void 0:A._loaded)?e&&"image"===e.type?null===(n=null===(i=null===(t=this.targetView)||void 0===t?void 0:t.excalidrawData)||void 0===i?void 0:i.getFile(e.fileId))||void 0===n?void 0:n.file:(errorMessage("Must provide an image element as input","getViewFileForImageElement()"),null):(errorMessage("targetView not set","getViewFileForImageElement()"),null)}copyViewElementsToEAforEditing(e){e.forEach((e=>{this.elementsDict[e.id]=cloneElement(e)}))}setViewModeEnabled(e){var A,t,i;if(!this.targetView||!(null===(A=this.targetView)||void 0===A?void 0:A._loaded))return void errorMessage("targetView not set","viewToggleFullScreen()");const n=this.targetView;n.updateScene({appState:{viewModeEnabled:e}}),null===(i=null===(t=n.toolsPanelRef)||void 0===t?void 0:t.current)||void 0===i||i.setExcalidrawViewMode(e)}viewUpdateScene(e,A=!1){var t;this.targetView&&(null===(t=this.targetView)||void 0===t?void 0:t._loaded)?this.targetView.updateScene(e,A):errorMessage("targetView not set","viewToggleFullScreen()")}viewZoomToElements(e,A){var t;this.targetView&&(null===(t=this.targetView)||void 0===t?void 0:t._loaded)?this.targetView.zoomToElements(e,A):errorMessage("targetView not set","viewToggleFullScreen()")}viewToggleFullScreen(e=!1){var A,t,i;if(!this.targetView||!(null===(A=this.targetView)||void 0===A?void 0:A._loaded))return void errorMessage("targetView not set","viewToggleFullScreen()");const n=this.targetView,a=n.isFullscreen();e&&(n.updateScene({appState:{viewModeEnabled:!a},commitToHistory:!1}),null===(i=null===(t=this.targetView.toolsPanelRef)||void 0===t?void 0:t.current)||void 0===i||i.setExcalidrawViewMode(!a)),a?n.exitFullscreen():n.gotoFullscreen()}connectObjectWithViewSelectedElement(e,A,t,i){const n=this.getViewSelectedElement();if(!n)return!1;const a=n.id;return this.elementsDict[a]=n,this.connectObjects(e,A,a,t,i),delete this.elementsDict[a],!0}async addElementsToView(e=!1,A=!0,t=!1){var i;if(!this.targetView||!(null===(i=this.targetView)||void 0===i?void 0:i._loaded))return errorMessage("targetView not set","addElementsToView()"),!1;const n=this.getElements();return await this.targetView.addElements(n,e,A,this.imagesDict,t)}registerThisAsViewEA(){var e;return this.targetView&&(null===(e=this.targetView)||void 0===e?void 0:e._loaded)?(this.targetView.setHookServer(this),!0):(errorMessage("targetView not set","addElementsToView()"),!1)}deregisterThisAsViewEA(){var e;return this.targetView&&(null===(e=this.targetView)||void 0===e?void 0:e._loaded)?(this.targetView.setHookServer(this),!0):(errorMessage("targetView not set","addElementsToView()"),!1)}getEmbeddedFilesLoader(e){return new EmbeddedFilesLoader(this.plugin,e)}getExportSettings(e,A){return{withBackground:e,withTheme:A}}getBoundingBox(e){const A=getCommonBoundingBox(e);return{topX:A.minX,topY:A.minY,width:A.maxX-A.minX,height:A.maxY-A.minY}}getMaximumGroups(e){return getMaximumGroups(e)}getLargestElement(e){if(!e||0===e.length)return null;let A=e[0];const t=e=>e.height*e.width;let i=t(e[0]);for(let n=1;ni&&(i=a,A=e[n])}return A}getCommonGroupForElements(e){const A=e.map((e=>e.groupIds)).reduce(((e,A)=>A.filter((A=>e.includes(A)))));return A.length>0?A[0]:null}getElementsInTheSameGroupWithElement(e,A){if(!e||!A)return[];const t="text"===e.type&&e.containerId?A.filter((A=>A.id===e.containerId)):[];return 0===e.groupIds.length?1===t.length?[e,t[0]]:[e]:1===t.length?A.filter((A=>A.groupIds.some((A=>e.groupIds.includes(A)))||A===t[0])):A.filter((A=>A.groupIds.some((A=>e.groupIds.includes(A)))))}intersectElementWithLine(e,A,t,i){return intersectElementWithLine(e,A,t,i)}getScriptSettings(){var e;return this.activeScript?null!==(e=this.plugin.settings.scriptEngineSettings[this.activeScript])&&void 0!==e?e:{}:null}async setScriptSettings(e){if(!this.activeScript)return null;this.plugin.settings.scriptEngineSettings[this.activeScript]=e,await this.plugin.saveSettings()}openFileInNewOrAdjacentLeaf(e){if(!(e&&e instanceof obsidian_module.TFile))return null;if(!this.targetView)return null;const A=getNewOrAdjacentLeaf(this.plugin,this.targetView.leaf);return A.openFile(e,{active:!0}),A}measureText(e){var A,t;const i=_measureText(e,this.style.fontSize,this.style.fontFamily);return{width:null!==(A=i.w)&&void 0!==A?A:0,height:null!==(t=i.h)&&void 0!==t?t:0}}async getOriginalImageSize(e){var A;if(!this.targetView||!(null===(A=this.targetView)||void 0===A?void 0:A._loaded))return errorMessage("targetView not set","getOriginalImageSize()"),null;if(!e||"image"!==e.type)return errorMessage("Please provide a single image element as input","getOriginalImageSize()"),null;const t=this.targetView.excalidrawData.getFile(e.fileId);if(!t)return errorMessage("Please provide a single image element as input","getOriginalImageSize()"),null;const i="dark"===this.getExcalidrawAPI().getAppState().theme,n=t.getImage(i);return await getImageSize(n)}verifyMinimumPluginVersion(e){return verifyMinimumPluginVersion(e)}isExcalidrawView(e){return e instanceof ExcalidrawView}selectElementsInView(e){var A;this.targetView&&(null===(A=this.targetView)||void 0===A?void 0:A._loaded)?e&&0!==e.length&&this.getExcalidrawAPI().selectElements(e):errorMessage("targetView not set","selectElementsInView()")}generateElementId(){return nanoid()}cloneElement(e){const A=JSON.parse(JSON.stringify(e));return A.id=nanoid(),A}moveViewElementToZIndex(e,A){var t;if(!this.targetView||!(null===(t=this.targetView)||void 0===t?void 0:t._loaded))return void errorMessage("targetView not set","moveViewElementToZIndex()");const i=this.getExcalidrawAPI(),n=this.getViewElements(),a=n.filter((A=>A.id===e));if(0===a.length)return void errorMessage(`Element (id: ${e}) not found`,"moveViewElementToZIndex");if(A>=n.length)return void i.bringToFront(a);if(A<0)return void i.sendToBack(a);const r=n.indexOf(a[0]);n.splice(A,0,n.splice(r,1)[0]),this.targetView.updateScene({elements:n,commitToHistory:!0})}hexStringToRgb(e){const A=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return[parseInt(A[1],16),parseInt(A[2],16),parseInt(A[3],16)]}rgbToHexString(e){return O$1({r:e[0],g:e[1],b:e[2]}).stringHEX({alpha:!1})}hslToRgb(e){const A=O$1({h:e[0],s:e[1],l:e[2]});return[A.red,A.green,A.blue]}rgbToHsl(e){const A=O$1({r:e[0],g:e[1],b:e[2]});return[A.hue,A.saturation,A.lightness]}colorNameToHex(e){return COLOR_NAMES.has(e.toLowerCase().trim())?COLOR_NAMES.get(e.toLowerCase().trim()):e.trim()}getCM(e){if(e)return"string"==typeof e&&(e=this.colorNameToHex(e)),O$1(e);log("Creates a CM object. Visit https://github.com/lbragile/ColorMaster for documentation.")}importSVG(e){const A=svgToExcalidraw(e);return A.hasErrors?(new obsidian_module.Notice(`There were errors while parsing the given SVG:\n${[...A.errors].map((e=>e.innerHTML))}`),!1):(this.copyViewElementsToEAforEditing(A.content),!0)}}async function initExcalidrawAutomate(e){await initFonts();const A=new ExcalidrawAutomate(e);return window.ExcalidrawAutomate=A,A}function destroyExcalidrawAutomate(){delete window.ExcalidrawAutomate}function normalizeLinePoints(e){const A=[],[t,i]=e[0];for(let n=0;n-1||A.search("excalidraw-plugin: locked\n")>-1;await a.loadData(A,l,o?TextMode.parsed:TextMode.raw);let d=A.search("# Text Elements\n");-1==d&&(d=A.search("# Drawing\n"));let h=a.scene;t&&await i.loadSceneFiles(a,(e=>{if(e&&0!==e.length){for(const A of e)A.hasSVGwithBitmap&&(c=!0),a.scene.files[A.id]={mimeType:A.mimeType,id:A.id,dataURL:A.dataURL,created:A.created};h=scaleLoadedImage(a.scene,e).scene}}),n);let u=h.elements;if(s.hasGroupref){const A=s.hasSectionref?getTextElementsMatchingQuery(h.elements,["# "+s.sectionref],!0):h.elements.filter((e=>e.id===s.blockref));A.length>0&&(u=e.ea.getElementsInTheSameGroupWithElement(A[0],h.elements))}return s.hasTaskbone&&(u=u.filter((A=>{var t;return"freedraw"===A.type||"image"===A.type&&!e.isExcalidrawFile(null===(t=a.getFile(A.fileId))||void 0===t?void 0:t.file)}))),{elements:u,appState:h.appState,frontmatter:A.substring(0,d),files:h.files,hasSVGwithBitmap:c}}return{elements:[],appState:{},frontmatter:null,files:[],hasSVGwithBitmap:c}}async function createPNG(e,A=1,t,i,n,a,r,s=[],o,l,c,d){var h,u,g,p,m,w,f;i||(i=new EmbeddedFilesLoader(o)),c=null!=c?c:o.settings.exportPaddingSVG;const B=e?await getTemplate(o,e,!0,i,l):null;let E=null!==(h=null==B?void 0:B.elements)&&void 0!==h?h:[];E=E.concat(s);const b=null!=d?d:{};return(null==B?void 0:B.files)&&Object.values(B.files).forEach((e=>{b[e.id]=e})),await getPNG({type:"excalidraw",version:2,source:GITHUB_RELEASES+PLUGIN_VERSION,elements:E,appState:{theme:null!==(g=null!=n?n:null===(u=null==B?void 0:B.appState)||void 0===u?void 0:u.theme)&&void 0!==g?g:a,viewBackgroundColor:null!==(m=null===(p=null==B?void 0:B.appState)||void 0===p?void 0:p.viewBackgroundColor)&&void 0!==m?m:r},files:b},{withBackground:null!==(w=null==t?void 0:t.withBackground)&&void 0!==w?w:o.settings.exportWithBackground,withTheme:null!==(f=null==t?void 0:t.withTheme)&&void 0!==f?f:o.settings.exportWithTheme},c,A)}async function createSVG(e,A=!1,t,i,n,a,r,s=[],o,l,c,d){var h,u,g,p,m,w,f;i||(i=new EmbeddedFilesLoader(o));const B=e?await getTemplate(o,e,!0,i,l):null;let E=null!==(h=null==B?void 0:B.elements)&&void 0!==h?h:[];E=E.concat(s),c=null!=c?c:o.settings.exportPaddingSVG;const b=null!=d?d:{};(null==B?void 0:B.files)&&Object.values(B.files).forEach((e=>{b[e.id]=e}));const C=await getSVG({type:"excalidraw",version:2,source:GITHUB_RELEASES+PLUGIN_VERSION,elements:E,appState:{theme:null!==(g=null!=n?n:null===(u=null==B?void 0:B.appState)||void 0===u?void 0:u.theme)&&void 0!==g?g:a,viewBackgroundColor:null!==(m=null===(p=null==B?void 0:B.appState)||void 0===p?void 0:p.viewBackgroundColor)&&void 0!==m?m:r},files:b},{withBackground:null!==(w=null==t?void 0:t.withBackground)&&void 0!==w?w:o.settings.exportWithBackground,withTheme:null!==(f=null==t?void 0:t.withTheme)&&void 0!==f?f:o.settings.exportWithTheme},c),v=getEmbeddedFilenameParts(e);if(!v.hasGroupref&&(v.hasBlockref||v.hasSectionref)){let e=v.hasSectionref?getTextElementsMatchingQuery(E,["# "+v.sectionref],!0):E.filter((e=>e.id===v.blockref));if(e.length>0){const A=e[0].containerId;A&&(e=e.concat(E.filter((e=>e.id===A))));const t=o.ea.getBoundingBox(e),i=o.ea.getBoundingBox(E);C.viewBox.baseVal.x=t.topX-i.topX,C.viewBox.baseVal.y=t.topY-i.topY,C.viewBox.baseVal.width=t.width+2*c,C.viewBox.baseVal.height=t.height+2*c}}return(null==B?void 0:B.hasSVGwithBitmap)&&C.setAttribute("hasbitmap","true"),A?embedFontsInSVG(C,o):C}function estimateLineBound(e){let A=1/0,t=1/0,i=-1/0,n=-1/0;for(const[a,r]of e)A=Math.min(A,a),t=Math.min(t,r),i=Math.max(i,a),n=Math.max(n,r);return[A,t,i,n]}function estimateBounds(e){const A=getCommonBoundingBox(e);return[A.minX,A.minY,A.maxX,A.maxY]}function repositionElementsToCursor(e,A,t=!1){const[i,n,a,r]=estimateBounds(e);let[s,o]=[0,0];return[s,o]=t?[A.x-(i+a)/2,A.y-(n+r)/2]:[A.x-i,A.y-n],e.forEach((e=>{e.x=e.x+s,e.y=e.y+o})),e}function errorMessage(e,A){switch(e){case"targetView not set":errorlog({where:"ExcalidrawAutomate",source:A,message:"targetView not set, or no longer active. Use setView before calling this function"});break;case"mobile not supported":errorlog({where:"ExcalidrawAutomate",source:A,message:"this function is not avalable on Obsidian Mobile"});break;default:errorlog({where:"ExcalidrawAutomate",source:A,message:"unknown error"})}}const insertLaTeXToView=e=>{const A=e.plugin.app,t=e.plugin.ea;new Prompt(A,t$d("ENTER_LATEX"),"","\\color{red}\\oint_S {E_n dA = \\frac{1}{{\\varepsilon _0 }}} Q_{inside}").openAndGetValue((async A=>{A&&(t.reset(),await t.addLaTex(0,0,A),t.setView(e),t.addElementsToView(!0,!1,!0))}))},search=async e=>{const A=e.plugin.ea;A.reset(),A.setView(e);const t=A.getViewElements().filter((e=>"text"===e.type));if(0===t.length)return;let i=await ScriptEngine.inputPrompt(e.plugin.app,"Search for","use quotation marks for exact match","");if(!i)return;const n=i.matchAll(/"(.*?)"/g);let a,r=[];for(;!(a=n.next()).done;)r.push(a.value[1]);i=i.replaceAll(/"(.*?)"/g,""),r=r.concat(i.split(" ").filter((e=>0!==e.length))),A.targetView.selectElementsMatchingQuery(t,r)},getTextElementsMatchingQuery=(e,A,t=!1)=>e&&0!==e.length&&A&&0!==A.length?e.filter((e=>"text"===e.type&&A.some((A=>{if(t){const t=e.rawText.toLowerCase().split("\n")[0].trim().match(/^#*(# .*)/);return!(!t||2!==t.length)&&t[1]===A.toLowerCase()}return e.rawText.toLowerCase().replaceAll("\n"," ").trim().match(A.toLowerCase())})))):[],cloneElement=e=>Object.assign(Object.assign({},e),{version:e.version+1,updated:Date.now(),versionNonce:Math.floor(1e9*Math.random())}),verifyMinimumPluginVersion=e=>PLUGIN_VERSION===e||isVersionNewerThanOther(PLUGIN_VERSION,e),URL$1="https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master/ea-scripts/index-new.md";class ScriptInstallPrompt extends obsidian_module.Modal{constructor(e){super(e.app),this.plugin=e}async onOpen(){this.contentEl.classList.add("excalidraw-scriptengine-install"),this.containerEl.classList.add("excalidraw-scriptengine-install");try{const e=await obsidian_module.request({url:URL$1});if(!e)return new obsidian_module.Notice("Error opening the Excalidraw Script Store page. Please double check that you can access the website. I've logged the link in developer console (press CTRL+SHIFT+i)",5e3),log(URL$1),void this.close();await obsidian_module.MarkdownRenderer.renderMarkdown(e,this.contentEl,"",this.plugin),this.contentEl.querySelectorAll("h1[data-heading],h2[data-heading],h3[data-heading]").forEach((e=>{e.setAttribute("id",e.getAttribute("data-heading"))})),this.contentEl.querySelectorAll("a.internal-link").forEach((e=>{e.removeAttribute("target")}))}catch(e){errorlog({where:"ScriptInstallPrompt.onOpen",error:e}),new obsidian_module.Notice("Could not open ScriptEngine repository"),this.close()}}onClose(){this.contentEl.empty()}}function r(e){var A,t,i="";if("string"==typeof e||"number"==typeof e)i+=e;else if("object"==typeof e)if(Array.isArray(e))for(A=0;A{e.view instanceof ExcalidrawView&&e.view.updatePinnedCustomPens()})),this.plugin.saveSettings();const e=this.plugin.settings.customPens[this.pen],A=this.view.excalidrawAPI;setPen(e,A),A.setActiveTool({type:"freedraw"})}}async createForm(){const e=e=>{let A="";if(COLOR_NAMES.has(e))return[COLOR_NAMES.get(e),A];const t=(new Option).style;if(t.color=e,t.color){const e=t.color.match(/^[^\d]*(\d*)[^\d]*(\d*)[^\d]*(\d*)[^\d]*([\d\.]*)?/);return e?(A=e[4]?(Math.round(255*parseFloat(e[4]))<<0).toString(16).padStart(2,"0"):"",[`#${(parseInt(e[1])<<0).toString(16).padStart(2,"0")}${(parseInt(e[2])<<0).toString(16).padStart(2,"0")}${(parseInt(e[3])<<0).toString(16).padStart(2,"0")}`,A]):[null,A]}return[null,A]},A=this.plugin.settings.customPens[this.pen],t=this.contentEl;let i,n,a,r,s;t.createEl("h1",{text:"Pen settings"}),new obsidian_module.Setting(t).setName("Pen type").setDesc("Select type of pen").addDropdown((e=>{e.addOption("default","Excalidraw Default").addOption("highlighter","Highlighter").addOption("finetip","Fine tip pen").addOption("fountain","Fountain pen").addOption("marker","Marker with Outline").addOption("thick-thin","Mindmap Thick-Thin").addOption("thin-thick-thin","Mindmap Thin-Thick-Thin").setValue(A.type).onChange((e=>{this.dirty=!0,A.type=e}))})).addButton((e=>e.setButtonText("Apply").onClick((()=>{this.dirty=!0,A.strokeColor=PENS[A.type].strokeColor,A.backgroundColor=PENS[A.type].backgroundColor,A.fillStyle=PENS[A.type].fillStyle,A.strokeWidth=PENS[A.type].strokeWidth,A.roughness=PENS[A.type].roughness,A.penOptions=Object.assign({},PENS[A.type].penOptions),t.empty(),this.createForm()})))),i=new obsidian_module.Setting(t).setName(fragWithHTML(A.freedrawOnly?"Stroke & fill applies to: Freedraw only":"Stroke & fill applies to: All shapes")).setDesc(fragWithHTML('"All shapes" means that if for example, you select a blue pen with dashed fill and then switch to a different tool (e.g. to a line, a circle, an arrow - i.e. not the freedraw tool), those will all have the same blue line and dashed fill.
"Only applies to the freedraw line" means that if for example you are writing black text, and you select a custom pen (e.g. a yellow highlighter), then after using the highlighter you switch to another tool, the previous settings (e.g. black stroke color) will apply to the new shape.')).addToggle((e=>e.setValue(A.freedrawOnly).onChange((e=>{this.dirty=!0,i.setName(fragWithHTML(e?"Stroke & fill applies to: Freedraw only":"Stroke & fill applies to: All shapes")),A.freedrawOnly=e}))));let o,l,c,d,h,u,g,[p,m]=e(A.strokeColor),w=!1;s=new obsidian_module.Setting(t).setName(fragWithHTML(Boolean(A.strokeColor)?"Stroke color: Preset color":"Stroke color: Current")).setDesc(fragWithHTML("Use current stroke color of the canvas, or set a specific preset color for the pen")).addToggle((t=>t.setValue(!Boolean(A.strokeColor)).onChange((t=>{this.dirty=!0,n.settingEl.style.display=t?"none":"",s.setName(fragWithHTML(t?"Stroke color: Current":"Stroke color: Preset color")),t?delete A.strokeColor:(r.getValue()||([p,m]=e("black"),a.setValue(p),r.setValue("black")),A.strokeColor=r.getValue())})))),n=new obsidian_module.Setting(t).setName("Select stroke color").addButton((t=>t.setButtonText("Use Canvas Current").onClick((()=>{var t,i;const n=this.api.getAppState(),s=null!==(i=null===(t=n.resetCustomPen)||void 0===t?void 0:t.currentItemStrokeColor)&&void 0!==i?i:n.currentItemStrokeColor;[p,m]=e(s),A.strokeColor=s,this.dirty=!0,r.setValue(s),w=!0,a.setValue(p)})))).addText((t=>{r=t,t.setValue(A.strokeColor).onChange((t=>{w=!0,this.dirty=!0,A.strokeColor=t,[p,m]=e(t),p&&a.setValue(p)}))})).addColorPicker((e=>{a=e,e.setValue(null!=p?p:"#000000").onChange((e=>{w?w=!1:(this.dirty=!0,A.strokeColor=e+m,r.setValue(e+m))}))})),n.settingEl.style.display=Boolean(A.strokeColor)?"":"none";let[f,B]=e(A.backgroundColor);o=new obsidian_module.Setting(t).setName(fragWithHTML(Boolean(A.backgroundColor)?"Background color: Preset color":"Background color: Current")).setDesc(fragWithHTML("Toggle to use the current background color of the canvas; or a preset color")).addToggle((t=>t.setValue(!Boolean(A.backgroundColor)).onChange((t=>{this.dirty=!0,o.setName(fragWithHTML(t?"Background color: Current":"Background color: Preset color")),c.settingEl.style.display=t?"none":"",l.settingEl.style.display=t||"transparent"===A.backgroundColor?"none":"",t?delete A.backgroundColor:(h.getValue()||([f,B]=e("black"),d.setValue(f),h.setValue("black")),u.setValue(!1))})))),c=new obsidian_module.Setting(t).setName(fragWithHTML("transparent"===A.backgroundColor?"Background: Transparent":"Color: Preset color")).setDesc("Background has color or is transparent").addToggle((e=>{u=e,e.setValue("transparent"===A.backgroundColor).onChange((e=>{this.dirty=!0,l.settingEl.style.display=e?"none":"",g.settingEl.style.display=e?"none":"",c.setName(fragWithHTML(e?"Background: Transparent":"Color: Preset color")),A.backgroundColor=e?"transparent":d.getValue()}))})),c.settingEl.style.display=Boolean(A.backgroundColor)?"":"none";let E,b,C,v,y,F,x,T,S,I=!1;l=new obsidian_module.Setting(t).setName("Background color").addButton((t=>t.setButtonText("Use Canvas Current").onClick((()=>{var t,i;const n=this.api.getAppState(),a=null!==(i=null===(t=n.resetCustomPen)||void 0===t?void 0:t.currentItemBackgroundColor)&&void 0!==i?i:n.currentItemBackgroundColor;[f,B]=e(a),A.backgroundColor=a,this.dirty=!0,h.setValue(a),I=!0,d.setValue(f)})))).addText((t=>{h=t,t.setValue(A.backgroundColor).onChange((t=>{I=!0,this.dirty=!0,A.backgroundColor=t,[f,B]=e(t),f&&d.setValue(f)}))})).addColorPicker((e=>{d=e,e.setValue(null!=f?f:"#000000").onChange((e=>{I?I=!1:(this.dirty=!0,A.backgroundColor=e+B,h.setValue(e+B))}))})),l.settingEl.style.display=Boolean(A.backgroundColor)&&"transparent"!==A.backgroundColor?"":"none",g=new obsidian_module.Setting(t).setName("Fill Style").addDropdown((e=>e.addOption("","Unset").addOption("dots","Dots (⚠ VERY SLOW performance on large objects!)").addOption("zigzag","Zigzag").addOption("zigzag-line","Zigzag-line").addOption("dashed","Dashed").addOption("hachure","Hachure").addOption("cross-hatch","Cross-hatch").addOption("solid","Solid").setValue(A.fillStyle).onChange((e=>{this.dirty=!0,A.fillStyle=e})))),g.settingEl.style.display=Boolean(A.backgroundColor)&&"transparent"!==A.backgroundColor?"":"none",E=new obsidian_module.Setting(t).setName(fragWithHTML(`Sloppiness: ${null===A.roughness?"Not Set":A.roughness<=.5?"Architect (":A.roughness<=1.5?"Artist (":"Cartoonist ("}${null===A.roughness?"":`${A.roughness})`}`)).setDesc("Line sloppiness of the shape fill pattern").addSlider((e=>e.setLimits(-.5,3,.5).setValue(null===A.roughness?-.5:A.roughness).onChange((e=>{this.dirty=!0,A.roughness=-.5===e?null:e,E.setName(fragWithHTML(`Sloppiness: ${null===A.roughness?"Not Set":A.roughness<=.5?"Architect (":A.roughness<=1.5?"Artist (":"Cartoonist ("}${null===A.roughness?"":`${A.roughness})`}`))})))),b=new obsidian_module.Setting(t).setName(fragWithHTML(`Stroke Width ${0===A.strokeWidth?"Not Set":A.strokeWidth}`)).addSlider((e=>e.setLimits(0,5,.5).setValue(A.strokeWidth).onChange((e=>{this.dirty=!0,A.strokeWidth=e,b.setName(fragWithHTML(`Stroke Width ${0===A.strokeWidth?"Not Set":A.strokeWidth}`))})))),new obsidian_module.Setting(t).setName("Highlighter pen?").addToggle((e=>e.setValue(A.penOptions.highlighter).onChange((e=>{this.dirty=!0,A.penOptions.highlighter=e})))),new obsidian_module.Setting(t).setName("Pressure sensitve pen?").setDesc(fragWithHTML("toggle on: pressure sensitive
toggle off: constant pressure")).addToggle((e=>e.setValue(!A.penOptions.constantPressure).onChange((e=>{this.dirty=!0,A.penOptions.constantPressure=!e,C.settingEl.style.display=A.penOptions.constantPressure?"none":""})))),A.penOptions.hasOutline&&0===A.penOptions.outlineWidth&&(A.penOptions.outlineWidth=.5,this.dirty=!0),!A.penOptions.hasOutline&&A.penOptions.outlineWidth>0&&(A.penOptions.outlineWidth=0,this.dirty=!0),v=new obsidian_module.Setting(t).setName(fragWithHTML(0===A.penOptions.outlineWidth?"No outline":`Outline width ${A.penOptions.outlineWidth}`)).setDesc("If the stroke has an outline, this will mean the stroke color is the outline color, and the background color is the pen stroke's fill color. If the pen does not have an outline then the pen color is the stroke color. The Fill Style setting applies to the fill style of the enclosed shape, not of the line itself. The line can only have solid fill.").addSlider((e=>e.setLimits(0,8,.5).setValue(A.penOptions.outlineWidth).onChange((e=>{this.dirty=!0,A.penOptions.outlineWidth=e,A.penOptions.hasOutline=e>0,v.setName(fragWithHTML(0===A.penOptions.outlineWidth?"No outline":`Outline width ${A.penOptions.outlineWidth}`))})))),t.createEl("h2",{text:"Perfect Freehand settings"}),t.createEl("p").innerHTML='Read the Perfect Freehand documentation following this link.',y=new obsidian_module.Setting(t).setName(fragWithHTML(`Thinnning ${A.penOptions.options.thinning}`)).setDesc(fragWithHTML("The effect of pressure on the stroke's size.
To create a stroke with a steady line, set the thinning option to 0.
To create a stroke that gets thinner with pressure instead of thicker, use a negative number for the thinning option.")).addSlider((e=>e.setLimits(-1,1,.05).setValue(A.penOptions.options.thinning).onChange((e=>{this.dirty,y.setName(fragWithHTML(`Thinnning ${e}`)),A.penOptions.options.thinning=e})))),F=new obsidian_module.Setting(t).setName(fragWithHTML(`Smoothing ${A.penOptions.options.smoothing}`)).setDesc(fragWithHTML("How much to soften the stroke's edges.")).addSlider((e=>e.setLimits(0,1,.05).setValue(A.penOptions.options.smoothing).onChange((e=>{this.dirty,F.setName(fragWithHTML(`Smoothing ${e}`)),A.penOptions.options.smoothing=e})))),x=new obsidian_module.Setting(t).setName(fragWithHTML(`Streamline ${A.penOptions.options.streamline}`)).setDesc(fragWithHTML("\tHow much to streamline the stroke.")).addSlider((e=>e.setLimits(0,1,.05).setValue(A.penOptions.options.streamline).onChange((e=>{this.dirty,x.setName(fragWithHTML(`Streamline ${e}`)),A.penOptions.options.streamline=e})))),new obsidian_module.Setting(t).setName("Easing function").setDesc(fragWithHTML('An easing function for the tapering effect. For more info click here')).addDropdown((e=>e.addOptions(EASINGFUNCTIONS).setValue(A.penOptions.options.easing).onChange((e=>{this.dirty=!0,A.penOptions.options.easing=e})))),C=new obsidian_module.Setting(t).setName("Simulate Pressure").setDesc("Whether to simulate pressure based on velocity.").addDropdown((e=>e.addOption("true","Always").addOption("false","Never").addOption("","Yes for mouse, No for pen").setValue(!0===A.penOptions.options.simulatePressure?"true":!1===A.penOptions.options.simulatePressure?"false":"").onChange((e=>{switch(this.dirty=!0,e){case"true":A.penOptions.options.simulatePressure=!0;break;case"false":A.penOptions.options.simulatePressure=!1;break;default:delete A.penOptions.options.simulatePressure}})))),C.settingEl.style.display=A.penOptions.constantPressure?"none":"",t.createEl("h3",{text:"Start"}),t.createEl("p",{text:"Tapering options for the start of the line."}),new obsidian_module.Setting(t).setName("Cap Start").setDesc("Whether to draw a cap").addToggle((e=>e.setValue(A.penOptions.options.start.cap).onChange((e=>{this.dirty=!0,A.penOptions.options.start.cap=e})))),T=new obsidian_module.Setting(t).setName(fragWithHTML(`Taper: ${!0===A.penOptions.options.start.taper?"true":A.penOptions.options.start.taper}`)).setDesc("The distance to taper. If set to true, the taper will be the total length of the stroke.").addSlider((e=>e.setLimits(0,151,1).setValue("boolean"==typeof A.penOptions.options.start.taper?151:A.penOptions.options.start.taper).onChange((e=>{this.dirty,A.penOptions.options.start.taper=151===e||e,T.setName(fragWithHTML(`Taper: ${!0===A.penOptions.options.start.taper?"true":A.penOptions.options.start.taper}`))})))),new obsidian_module.Setting(t).setName("Easing function").setDesc(fragWithHTML('An easing function for the tapering effect. For more info click here')).addDropdown((e=>e.addOptions(EASINGFUNCTIONS).setValue(A.penOptions.options.start.easing).onChange((e=>{this.dirty=!0,A.penOptions.options.start.easing=e})))),t.createEl("h3",{text:"End"}),t.createEl("p",{text:"Tapering options for the end of the line."}),new obsidian_module.Setting(t).setName("Cap End").setDesc("Whether to draw a cap").addToggle((e=>e.setValue(A.penOptions.options.end.cap).onChange((e=>{this.dirty=!0,A.penOptions.options.end.cap=e})))),S=new obsidian_module.Setting(t).setName(fragWithHTML(`Taper: ${!0===A.penOptions.options.end.taper?"true":A.penOptions.options.end.taper}`)).setDesc("The distance to taper. If set to true, the taper will be the total length of the stroke.").addSlider((e=>e.setLimits(0,151,1).setValue("boolean"==typeof A.penOptions.options.end.taper?151:A.penOptions.options.end.taper).onChange((e=>{this.dirty,A.penOptions.options.end.taper=151===e||e,S.setName(fragWithHTML(`Taper: ${!0===A.penOptions.options.end.taper?"true":A.penOptions.options.end.taper}`))})))),new obsidian_module.Setting(t).setName("Easing function").setDesc(fragWithHTML('An easing function for the tapering effect. For more info click here')).addDropdown((e=>e.addOptions(EASINGFUNCTIONS).setValue(A.penOptions.options.end.easing).onChange((e=>{this.dirty=!0,A.penOptions.options.end.easing=e}))))}}const ICONS={ExportImage:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("g",{strokeWidth:"1.25"},React__namespace.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),React__namespace.createElement("path",{d:"M15 8h.01"}),React__namespace.createElement("path",{d:"M12 20h-5a3 3 0 0 1 -3 -3v-10a3 3 0 0 1 3 -3h10a3 3 0 0 1 3 3v5"}),React__namespace.createElement("path",{d:"M4 15l4 -4c.928 -.893 2.072 -.893 3 0l4 4"}),React__namespace.createElement("path",{d:"M14 14l1 -1c.617 -.593 1.328 -.793 2.009 -.598"}),React__namespace.createElement("path",{d:"M19 16v6"}),React__namespace.createElement("path",{d:"M22 19l-3 3l-3 -3"}))),Discord:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",stroke:"none",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",viewBox:"0 0 640 512"},React__namespace.createElement("path",{d:"M524.531,69.836a1.5,1.5,0,0,0-.764-.7A485.065,485.065,0,0,0,404.081,32.03a1.816,1.816,0,0,0-1.923.91,337.461,337.461,0,0,0-14.9,30.6,447.848,447.848,0,0,0-134.426,0,309.541,309.541,0,0,0-15.135-30.6,1.89,1.89,0,0,0-1.924-.91A483.689,483.689,0,0,0,116.085,69.137a1.712,1.712,0,0,0-.788.676C39.068,183.651,18.186,294.69,28.43,404.354a2.016,2.016,0,0,0,.765,1.375A487.666,487.666,0,0,0,176.02,479.918a1.9,1.9,0,0,0,2.063-.676A348.2,348.2,0,0,0,208.12,430.4a1.86,1.86,0,0,0-1.019-2.588,321.173,321.173,0,0,1-45.868-21.853,1.885,1.885,0,0,1-.185-3.126c3.082-2.309,6.166-4.711,9.109-7.137a1.819,1.819,0,0,1,1.9-.256c96.229,43.917,200.41,43.917,295.5,0a1.812,1.812,0,0,1,1.924.233c2.944,2.426,6.027,4.851,9.132,7.16a1.884,1.884,0,0,1-.162,3.126,301.407,301.407,0,0,1-45.89,21.83,1.875,1.875,0,0,0-1,2.611,391.055,391.055,0,0,0,30.014,48.815,1.864,1.864,0,0,0,2.063.7A486.048,486.048,0,0,0,610.7,405.729a1.882,1.882,0,0,0,.765-1.352C623.729,277.594,590.933,167.465,524.531,69.836ZM222.491,337.58c-28.972,0-52.844-26.587-52.844-59.239S193.056,219.1,222.491,219.1c29.665,0,53.306,26.82,52.843,59.239C275.334,310.993,251.924,337.58,222.491,337.58Zm195.38,0c-28.971,0-52.843-26.587-52.843-59.239S388.437,219.1,417.871,219.1c29.667,0,53.307,26.82,52.844,59.239C470.715,310.993,447.538,337.58,417.871,337.58Z"})),Github:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{d:"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4"}),React__namespace.createElement("path",{d:"M9 18c-4.51 2-5-2-7-2"})),YouTube:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{d:"M12 19c-2.3 0-6.4-.2-8.1-.6-.7-.2-1.2-.7-1.4-1.4-.3-1.1-.5-3.4-.5-5s.2-3.9.5-5c.2-.7.7-1.2 1.4-1.4C5.6 5.2 9.7 5 12 5s6.4.2 8.1.6c.7.2 1.2.7 1.4 1.4.3 1.1.5 3.4.5 5s-.2 3.9-.5 5c-.2.7-.7 1.2-1.4 1.4-1.7.4-5.8.6-8.1.6 0 0 0 0 0 0z"}),React__namespace.createElement("polygon",{points:"10 15 15 12 10 9"})),heart:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{d:"M20.42 4.58a5.4 5.4 0 0 0-7.65 0l-.77.78-.77-.78a5.4 5.4 0 0 0-7.65 0C1.46 6.7 1.33 10.28 4 13l8 8 8-8c2.67-2.72 2.54-6.3.42-8.42z"})),twitter:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{d:"M22 4s-.7 2.1-2 3.4c1.6 10-9.4 17.3-18 11.6 2.2.1 4.4-.6 6-2C3 15.5.5 9.6 3 5c2.2 2.6 5.6 4.1 9 4-.9-4.2 4-6.6 7-3.8 1.1 0 3-1.2 3-1.2z"})),exportLibrary:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 200 190",fill:"var(--icon-fill-color)"},React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{strokeWidth:"0",d:"M50 10h20v20H50"}),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",d:"M50 10h20m-20 0h20m0 0v20m0-20v20m0 0H50m20 0H50m0 0V10m0 20V10"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{strokeWidth:"0",d:"M90 10h20v20H90"}),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",d:"M90 10h20m-20 0h20m0 0v20m0-20v20m0 0H90m20 0H90m0 0V10m0 20V10"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{strokeWidth:"0",d:"M130 10h20v20h-20"}),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",d:"M130 10h20m-20 0h20m0 0v20m0-20v20m0 0h-20m20 0h-20m0 0V10m0 20V10"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{strokeWidth:"0",d:"M170 10h20v20h-20"}),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",d:"M170 10h20m-20 0h20m0 0v20m0-20v20m0 0h-20m20 0h-20m0 0V10m0 20V10"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{strokeWidth:"0",d:"M70 50h60v80h20l-50 50-50-50h20V50"}),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",d:"M70 50h60m-60 0h60m0 0v80m0-80v80m0 0h20m-20 0h20m0 0-50 50m50-50-50 50m0 0-50-50m50 50-50-50m0 0h20m-20 0h20m0 0V50m0 80V50m0 0s0 0 0 0m0 0s0 0 0 0m0 0s0 0 0 0m0 0s0 0 0 0"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{strokeWidth:"0",d:"M10 10h20v20H10"}),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",d:"M10 10h20m-20 0h20m0 0v20m0-20v20m0 0H10m20 0H10m0 0V10m0 20V10"}))),insertImage:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",fill:"var(--icon-fill-color)",stroke:"none"},React__namespace.createElement("path",{d:"M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm-6 336H54a6 6 0 0 1-6-6V118a6 6 0 0 1 6-6h404a6 6 0 0 1 6 6v276a6 6 0 0 1-6 6zM128 152c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zM96 352h320v-80l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L192 304l-39.515-39.515c-4.686-4.686-12.284-4.686-16.971 0L96 304v48z"})),insertMD:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 384 512",fill:"var(--icon-fill-color)",stroke:"none"},React__namespace.createElement("path",{d:"M288 248v28c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-28c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm-12 72H108c-6.6 0-12 5.4-12 12v28c0 6.6 5.4 12 12 12h168c6.6 0 12-5.4 12-12v-28c0-6.6-5.4-12-12-12zm108-188.1V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V48C0 21.5 21.5 0 48 0h204.1C264.8 0 277 5.1 286 14.1L369.9 98c9 8.9 14.1 21.2 14.1 33.9zm-128-80V128h76.1L256 51.9zM336 464V176H232c-13.3 0-24-10.7-24-24V48H48v416h288z"})),insertLaTeX:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 576 512",stroke:"none",fill:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"M571.31 251.31l-22.62-22.62c-6.25-6.25-16.38-6.25-22.63 0L480 274.75l-46.06-46.06c-6.25-6.25-16.38-6.25-22.63 0l-22.62 22.62c-6.25 6.25-6.25 16.38 0 22.63L434.75 320l-46.06 46.06c-6.25 6.25-6.25 16.38 0 22.63l22.62 22.62c6.25 6.25 16.38 6.25 22.63 0L480 365.25l46.06 46.06c6.25 6.25 16.38 6.25 22.63 0l22.62-22.62c6.25-6.25 6.25-16.38 0-22.63L525.25 320l46.06-46.06c6.25-6.25 6.25-16.38 0-22.63zM552 0H307.65c-14.54 0-27.26 9.8-30.95 23.87l-84.79 322.8-58.41-106.1A32.008 32.008 0 0 0 105.47 224H24c-13.25 0-24 10.74-24 24v48c0 13.25 10.75 24 24 24h43.62l88.88 163.73C168.99 503.5 186.3 512 204.94 512c17.27 0 44.44-9 54.28-41.48L357.03 96H552c13.25 0 24-10.75 24-24V24c0-13.26-10.75-24-24-24z"})),insertLink:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",stroke:"none",fill:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z"})),exportSVG:React__namespace.createElement("svg",{viewBox:"0 0 28 28",stroke:"var(--icon-fill-color)",fill:"var(--icon-fill-color)",strokeWidth:"1"},React__namespace.createElement("text",{style:{fontSize:"28px",fontWeight:"bold"},x:"4",y:"24"},"S")),exportPNG:React__namespace.createElement("svg",{viewBox:"0 0 28 28",stroke:"var(--icon-fill-color)",fill:"var(--icon-fill-color)",strokeWidth:"1"},React__namespace.createElement("text",{style:{fontSize:"28px",fontWeight:"bold"},x:"4",y:"24"},"P")),exportExcalidraw:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 100",stroke:"var(--icon-fill-color)",strokeWidth:"2"},React__namespace.createElement("g",{transform:"translate(30,5)"},React__namespace.createElement("path",{d:"M14.45 1.715c-2.723 2.148-6.915 5.797-10.223 8.93l-2.61 2.445.477 3.207c.258 1.75.738 5.176 1.031 7.582.332 2.406.66 4.668.773 4.996.145.438 0 .656-.406.656-.699 0-.734-.183 1.176 5.832.7 2.297 1.363 4.414 1.434 4.633.074.254.367.363.699.254.332-.145.515-.438.406-.691-.113-.293.074-.586.367-.696.403-.144.367-.437-.258-1.492-.992-1.64-3.53-15.64-3.675-20.164-.11-3.207-.11-3.242 1.25-5.066 1.324-1.786 4.375-4.485 9.078-7.91 1.324-.985 2.648-2.079 3.015-2.446.551-.656.809-.472 5.442 4.414 2.683 2.805 5.664 5.688 6.617 6.414l1.766 1.313-1.36 2.844c-.734 1.53-3.715 7.437-6.656 13.054-6.137 11.813-4.887 10.68-12.02 10.79l-4.632.038-1.547 1.75c-1.617 1.86-1.836 2.551-1.063 3.72.293.398.512 1.054.512 1.456 0 .656.258.766 1.73.84.918.035 1.762.145 1.875.254.11.11.258 2.371.368 5.031l.144 4.813-2.46 5.25C1.616 72.516 0 76.527 0 77.84c0 .691.148 1.273.293 1.273.367 0 .367-.035 15.332-30.988 6.95-14.363 13.531-27.89 14.633-30.113 1.101-2.227 2.094-4.266 2.168-4.559.074-.328-2.461-2.844-6.508-6.379C22.281 3.864 19.082.95 18.785.621c-.844-1.023-2.094-.695-4.336 1.094zM15.7 43.64c-1.692 3.246-1.766 3.28-6.4 3.5-4.081.218-4.152.183-4.152-.582 0-.438-.148-1.024-.332-1.313-.222-.328-.074-.914.442-1.715l.808-1.238h3.676c2.024-.04 4.34-.184 5.149-.328.808-.149 1.507-.219 1.578-.184.074.035-.293.875-.77 1.86zm-3.09 5.832c-.294.765-1.067 2.37-1.692 3.574-1.027 2.043-1.137 2.113-1.395 1.277-.148-.511-.257-2.008-.296-3.355-.036-2.66-.11-2.625 2.98-2.809l.992-.035zm0 0"}),React__namespace.createElement("path",{d:"M15.55 10.39c-.66.473-.843.95-.843 2.153 0 1.422.11 1.64 1.102 2.039.992.402 1.25.367 2.39-.398 1.508-1.024 1.543-1.278.442-2.918-.957-1.422-1.914-1.676-3.09-.875zm2.098 1.313c.586 1.02.22 1.785-.882 1.785-.993 0-1.434-.984-.883-1.968.441-.801 1.285-.727 1.765.183zm0 0M38.602 18.594c0 .183-.22.363-.477.363-.219 0-.844 1.023-1.324 2.262-1.469 3.793-16.176 32.629-16.211 31.718 0-.472-.223-.8-.59-.8-.516 0-.59.289-.367 1.71.219 1.641.074 2.008-5.149 12.071-2.941 5.723-6.101 11.703-7.02 13.305-.956 1.68-1.69 3.5-1.765 4.265-.11 1.313.035 1.496 3.235 4.23 1.84 1.606 4.191 3.61 5.222 4.52 4.63 4.196 6.801 5.871 7.387 5.762.883-.145 14.523-14.328 14.559-15.129 0-.367-.66-5.906-1.47-12.324-1.398-10.938-2.722-23.734-2.573-24.973.109-.765-.442-4.633-.844-6.308-.332-1.313-.184-1.86 2.46-7.84 1.544-3.535 3.567-7.875 4.45-9.625.844-1.75 1.582-3.281 1.582-3.39 0-.11-.258-.18-.55-.18-.298 0-.555.144-.555.363zm-8.454 27.234c.403 2.55 1.211 8.676 1.801 13.598 1.14 9.043 2.461 19.07 2.832 21.62.219 1.278.07 1.532-2.316 4.157-4.156 4.629-8.567 9.188-10.074 10.356l-1.399 1.093-7.168-6.636c-6.617-6.051-7.168-6.672-6.765-7.403.222-.398 2.097-3.789 4.156-7.508 2.058-3.718 4.777-8.68 6.027-11.011 1.29-2.371 2.465-4.41 2.684-4.52.258-.148.332 3.535.258 11.375-.149 11.703-.11 11.739 1.066 11.485.148 0 .258-5.907.258-13.09V56.293l3.86-7.656c2.132-4.23 3.898-7.621 3.972-7.586.07.039.441 2.187.808 4.777zm0 0"}))),search:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",stroke:"var(--icon-fill-color)",fill:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"M500.3 443.7l-119.7-119.7c27.22-40.41 40.65-90.9 33.46-144.7C401.8 87.79 326.8 13.32 235.2 1.723C99.01-15.51-15.51 99.01 1.724 235.2c11.6 91.64 86.08 166.7 177.6 178.9c53.8 7.189 104.3-6.236 144.7-33.46l119.7 119.7c15.62 15.62 40.95 15.62 56.57 0C515.9 484.7 515.9 459.3 500.3 443.7zM79.1 208c0-70.58 57.42-128 128-128s128 57.42 128 128c0 70.58-57.42 128-128 128S79.1 278.6 79.1 208z"})),ocr:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{d:"m6 18 6-12 6 12"}),React__namespace.createElement("path",{d:"M8 14h8"}),React__namespace.createElement("path",{d:"M3 7V5a2 2 0 0 1 2-2h2"}),React__namespace.createElement("path",{d:"M17 3h2a2 2 0 0 1 2 2v2"}),React__namespace.createElement("path",{d:"M21 17v2a2 2 0 0 1-2 2h-2"}),React__namespace.createElement("path",{d:"M7 21H5a2 2 0 0 1-2-2v-2"})),scriptEngine:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 100",stroke:"var(--icon-fill-color)",fill:"var(--icon-fill-color)",strokeLinecap:"round",strokeWidth:"4"},React__namespace.createElement("g",{transform:"translate(-8,-8)"},React__namespace.createElement("path",{d:"M24.318 37.983c-1.234-1.232-8.433-3.903-7.401-7.387 1.057-3.484 9.893-12.443 13.669-13.517 3.776-1.074 6.142 6.523 9.012 7.073 2.87.55 6.797-1.572 8.207-3.694 1.384-2.148-3.147-7.413.15-9.168 3.298-1.755 16.389-2.646 19.611-1.284 3.247 1.363-1.611 7.335-.151 9.483 1.46 2.148 6.067 3.746 8.836 3.38 2.769-.368 4.154-6.733 7.728-5.633 3.575 1.1 12.36 8.828 13.67 12.233 1.308 3.406-5.186 5.423-5.79 8.2-.58 2.75-.026 6.705 2.265 8.355 2.266 1.65 9.642-1.78 11.404 1.598 1.762 3.38 1.007 15.35-.806 18.651-1.787 3.353-7.753-.367-9.969 1.31-2.215 1.65-3.901 5.92-3.373 8.67.504 2.777 7.754 4.48 6.445 7.885C96.49 87.543 87.15 95.454 83.5 96.685c-3.65 1.231-4.96-4.741-7.577-5.16-2.593-.393-6.57.707-8.03 2.75-1.436 2.017 2.668 7.806-.63 9.483-3.323 1.676-15.759 2.226-19.157.655-3.373-1.598.554-7.964-1.108-10.138-1.687-2.174-6.394-3.431-9.012-2.907-2.643.55-3.273 7.282-6.747 6.103-3.499-1.126-12.788-9.535-14.172-13.019-1.36-3.484 5.437-5.108 5.966-7.858.529-2.777-.68-7.073-2.744-8.697-2.064-1.624-7.93 2.41-9.642-1.126-1.737-3.537-2.441-16.765-.654-20.118 1.787-3.3 9.062 1.598 11.429.183 2.366-1.44 2.316-7.282 2.769-8.749m.126-.104c-1.234-1.232-8.433-3.903-7.401-7.387 1.057-3.484 9.893-12.443 13.669-13.517 3.776-1.074 6.142 6.523 9.012 7.073 2.87.55 6.797-1.572 8.207-3.694 1.384-2.148-3.147-7.413.15-9.168 3.298-1.755 16.389-2.646 19.611-1.284 3.247 1.363-1.611 7.335-.151 9.483 1.46 2.148 6.067 3.746 8.836 3.38 2.769-.368 4.154-6.733 7.728-5.633 3.575 1.1 12.36 8.828 13.67 12.233 1.308 3.406-5.186 5.423-5.79 8.2-.58 2.75-.026 6.705 2.265 8.355 2.266 1.65 9.642-1.78 11.404 1.598 1.762 3.38 1.007 15.35-.806 18.651-1.787 3.353-7.753-.367-9.969 1.31-2.215 1.65-3.901 5.92-3.373 8.67.504 2.777 7.754 4.48 6.445 7.885C96.49 87.543 87.15 95.454 83.5 96.685c-3.65 1.231-4.96-4.741-7.577-5.16-2.593-.393-6.57.707-8.03 2.75-1.436 2.017 2.668 7.806-.63 9.483-3.323 1.676-15.759 2.226-19.157.655-3.373-1.598.554-7.964-1.108-10.138-1.687-2.174-6.394-3.431-9.012-2.907-2.643.55-3.273 7.282-6.747 6.103-3.499-1.126-12.788-9.535-14.172-13.019-1.36-3.484 5.437-5.108 5.966-7.858.529-2.777-.68-7.073-2.744-8.697-2.064-1.624-7.93 2.41-9.642-1.126-1.737-3.537-2.441-16.765-.654-20.118 1.787-3.3 9.062 1.598 11.429.183 2.366-1.44 2.316-7.282 2.769-8.749",fill:"none",strokeWidth:"2"}),React__namespace.createElement("path",{d:"M81.235 56.502a23.3 23.3 0 0 1-1.46 8.068 20.785 20.785 0 0 1-1.762 3.72 24.068 24.068 0 0 1-5.337 6.26 22.575 22.575 0 0 1-3.449 2.358 23.726 23.726 0 0 1-7.803 2.803 24.719 24.719 0 0 1-8.333 0 24.102 24.102 0 0 1-4.028-1.074 23.71 23.71 0 0 1-3.776-1.729 23.259 23.259 0 0 1-6.369-5.265 23.775 23.775 0 0 1-2.416-3.353 24.935 24.935 0 0 1-1.762-3.72 23.765 23.765 0 0 1-1.083-3.981 23.454 23.454 0 0 1 0-8.173c.252-1.336.604-2.698 1.083-3.956a24.935 24.935 0 0 1 1.762-3.72 22.587 22.587 0 0 1 2.416-3.378c.881-1.048 1.888-2.017 2.946-2.908a24.38 24.38 0 0 1 3.423-2.357 23.71 23.71 0 0 1 3.776-1.73 21.74 21.74 0 0 1 4.028-1.047 23.437 23.437 0 0 1 8.333 0 24.282 24.282 0 0 1 7.803 2.777 26.198 26.198 0 0 1 3.45 2.357 24.62 24.62 0 0 1 5.336 6.287 20.785 20.785 0 0 1 1.762 3.72 21.32 21.32 0 0 1 1.083 3.955c.251 1.336.302 3.405.377 4.086.05.681.05-.68 0 0",fill:"none"}),React__namespace.createElement("path",{d:"M69.404 56.633c-6.596-3.3-13.216-6.6-19.51-9.744m19.51 9.744c-6.747-3.379-13.493-6.758-19.51-9.744m0 0v19.489m0-19.49v19.49m0 0c4.355-2.148 8.71-4.322 19.51-9.745m-19.51 9.745c3.978-1.965 7.93-3.956 19.51-9.745m0 0h0m0 0h0"}))),openLink:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{d:"M4 22h14a2 2 0 0 0 2-2V7.5L14.5 2H6a2 2 0 0 0-2 2v7"}),React__namespace.createElement("polyline",{points:"14 2 14 8 20 8"}),React__namespace.createElement("path",{d:"m10 18 3-3-3-3"}),React__namespace.createElement("path",{d:"M4 18v-1a2 2 0 0 1 2-2h6"})),openLinkProperties:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"3",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{d:"M4 22h14a2 2 0 0 0 2-2V7.5L14.5 2H6a2 2 0 0 0-2 2v7"}),React__namespace.createElement("polyline",{points:"14 2 14 8 20 8",fill:"var(--icon-fill-color)"}),React__namespace.createElement("path",{d:"m10 18 3-3-3-3"}),React__namespace.createElement("path",{d:"M4 18v-1a2 2 0 0 1 2-2h6"})),switchToMarkdown:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 640 512",stroke:"var(--icon-fill-color)",strokeWidth:"10",fill:"var(--icon-fill-color)"},React__namespace.createElement("path",{d:"M593.8 59.1H46.2C20.7 59.1 0 79.8 0 105.2v301.5c0 25.5 20.7 46.2 46.2 46.2h547.7c25.5 0 46.2-20.7 46.1-46.1V105.2c0-25.4-20.7-46.1-46.2-46.1zM338.5 360.6H277v-120l-61.5 76.9-61.5-76.9v120H92.3V151.4h61.5l61.5 76.9 61.5-76.9h61.5v209.2zm135.3 3.1L381.5 256H443V151.4h61.5V256H566z"})),gotoFullScreen:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 448 512",stroke:"var(--icon-fill-color)",fill:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"M128 32H32C14.31 32 0 46.31 0 64v96c0 17.69 14.31 32 32 32s32-14.31 32-32V96h64c17.69 0 32-14.31 32-32S145.7 32 128 32zM416 32h-96c-17.69 0-32 14.31-32 32s14.31 32 32 32h64v64c0 17.69 14.31 32 32 32s32-14.31 32-32V64C448 46.31 433.7 32 416 32zM128 416H64v-64c0-17.69-14.31-32-32-32s-32 14.31-32 32v96c0 17.69 14.31 32 32 32h96c17.69 0 32-14.31 32-32S145.7 416 128 416zM416 320c-17.69 0-32 14.31-32 32v64h-64c-17.69 0-32 14.31-32 32s14.31 32 32 32h96c17.69 0 32-14.31 32-32v-96C448 334.3 433.7 320 416 320z"})),exitFullScreen:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 448 512",stroke:"var(--icon-fill-color)",fill:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"M128 320H32c-17.69 0-32 14.31-32 32s14.31 32 32 32h64v64c0 17.69 14.31 32 32 32s32-14.31 32-32v-96C160 334.3 145.7 320 128 320zM416 320h-96c-17.69 0-32 14.31-32 32v96c0 17.69 14.31 32 32 32s32-14.31 32-32v-64h64c17.69 0 32-14.31 32-32S433.7 320 416 320zM320 192h96c17.69 0 32-14.31 32-32s-14.31-32-32-32h-64V64c0-17.69-14.31-32-32-32s-32 14.31-32 32v96C288 177.7 302.3 192 320 192zM128 32C110.3 32 96 46.31 96 64v64H32C14.31 128 0 142.3 0 160s14.31 32 32 32h96c17.69 0 32-14.31 32-32V64C160 46.31 145.7 32 128 32z"})),releaseNotes:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",stroke:"var(--icon-fill-color)",fill:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"M0 219.2v212.5c0 14.25 11.62 26.25 26.5 27C75.32 461.2 180.2 471.3 240 511.9V245.2C181.4 205.5 79.99 194.8 29.84 192C13.59 191.1 0 203.6 0 219.2zM482.2 192c-50.09 2.848-151.3 13.47-209.1 53.09C272.1 245.2 272 245.3 272 245.5v266.5c60.04-40.39 164.7-50.76 213.5-53.28C500.4 457.9 512 445.9 512 431.7V219.2C512 203.6 498.4 191.1 482.2 192zM352 96c0-53-43-96-96-96S160 43 160 96s43 96 96 96S352 149 352 96z"})),rawMode:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 60"},React__namespace.createElement("path",{stroke:"var(--icon-fill-color)",strokeWidth:"4",d:"M20 10H10m10 0H10m0 0v40m0-40v40m0 0h10m-10 0h10M40 10H30m10 0H30m0 0v40m0-40v40m0 0h10m-10 0h10M60 10h10m-10 0h10m0 0v40m0-40v40m0 0H60m10 0H60M80 10h10m-10 0h10m0 0v40m0-40v40m0 0H80m10 0H80"})),parsedMode:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 576 512",stroke:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"M574.1 280.4l-45.38-181.8c-5.875-23.63-21.62-44-43-55.75c-21.5-11.75-46.1-14.13-70.25-6.375l-15.25 5.125c-8.375 2.75-12.87 11.88-10 20.25l5 15.13c2.75 8.375 11.88 12.88 20.25 10.13l13.12-4.375c10.88-3.625 23-3.625 33.25 1.75c10.25 5.375 17.5 14.5 20.38 25.75l38.38 153.9c-22.12-6.875-49.75-12.5-81.13-12.5c-34.88 0-73.1 7-114.9 26.75H251.4C210.5 258.6 171.4 251.6 136.5 251.6c-31.38 0-59 5.625-81.12 12.5l38.38-153.9c2.875-11.25 10.12-20.38 20.5-25.75C124.4 79.12 136.5 79.12 147.4 82.74l13.12 4.375c8.375 2.75 17.5-1.75 20.25-10.13l5-15.13C188.6 53.49 184.1 44.37 175.6 41.62l-15.25-5.125c-23.13-7.75-48.75-5.375-70.13 6.375c-21.37 11.75-37.12 32.13-43 55.75L1.875 280.4C.6251 285.4 .0001 290.6 .0001 295.9v70.25C.0001 428.1 51.63 480 115.3 480h37.13c60.25 0 110.4-46 114.9-105.4l2.875-38.63h35.75l2.875 38.63C313.3 433.1 363.4 480 423.6 480h37.13c63.62 0 115.2-51 115.2-113.9V295.9C576 290.6 575.4 285.5 574.1 280.4zM203.4 369.7c-2 26-24.38 46.25-51 46.25H115.2C87 415.1 64 393.6 64 366.1v-37.5c18.12-6.5 43.38-13 72.62-13c23.88 0 47.25 4.375 69.88 13L203.4 369.7zM512 366.1c0 27.5-23 49.88-51.25 49.88h-37.13c-26.62 0-49-20.25-51-46.25l-3.125-41.13c22.62-8.625 46.13-13 70-13c29 0 54.38 6.5 72.5 13V366.1z"})),convertFile:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",viewBox:"0 110 700 340",xmlns:"http://www.w3.org/2000/svg",stroke:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"m593.95 239.4v-1.5742c-0.85547-1.8828-2.043-3.6016-3.5-5.0742l-52.5-52.5c-1.4688-1.457-3.1875-2.6445-5.0742-3.5h-1.5742c-1.4727-0.49219-3.0039-0.78516-4.5508-0.875h-124.25c-4.6406 0-9.0938 1.8438-12.375 5.125s-5.125 7.7344-5.125 12.375v87.5h-70v-105.88-1.0508c-0.089844-1.5469-0.38281-3.0781-0.875-4.5508v-1.5742c-0.85547-1.8828-2.043-3.6016-3.5-5.0742l-52.5-52.5c-1.4727-1.457-3.1914-2.6445-5.0742-3.5h-1.5742c-1.7031-0.875-3.5352-1.4688-5.4258-1.75h-123.55c-4.6406 0-9.0938 1.8438-12.375 5.125s-5.125 7.7344-5.125 12.375v245c0 4.6406 1.8438 9.0938 5.125 12.375s7.7344 5.125 12.375 5.125h175c4.6406 0 9.0938-1.8438 12.375-5.125s5.125-7.7344 5.125-12.375v-52.5h70v122.5c0 4.6406 1.8438 9.0938 5.125 12.375s7.7344 5.125 12.375 5.125h175c4.6406 0 9.0938-1.8438 12.375-5.125s5.125-7.7344 5.125-12.375v-192.5-1.0508c-0.14453-1.5547-0.5-3.0859-1.0508-4.5508zm-313.95 110.6h-140v-210h87.5v35c0 4.6406 1.8438 9.0938 5.125 12.375s7.7344 5.125 12.375 5.125h35v87.5h-52.5c-6.2539 0-12.031 3.3359-15.156 8.75s-3.125 12.086 0 17.5 8.9023 8.75 15.156 8.75h52.5zm140 70v-105h27.824l-5.0742 5.0742c-3.7031 3.1719-5.9141 7.7461-6.1055 12.617-0.1875 4.8711 1.668 9.6016 5.1133 13.051 3.4492 3.4453 8.1797 5.3008 13.051 5.1133 4.8711-0.19141 9.4453-2.4023 12.617-6.1055l35-35c3.2578-3.2773 5.0898-7.7148 5.0898-12.336 0-4.625-1.832-9.0586-5.0898-12.34l-35-35c-4.5078-3.8555-10.66-5.1719-16.348-3.4883-5.6875 1.6797-10.137 6.1289-11.816 11.816-1.6836 5.6914-0.37109 11.844 3.4883 16.348l5.0742 5.0742h-27.824v-69.824h87.5v35c0 4.6406 1.8438 9.0938 5.125 12.375s7.7344 5.125 12.375 5.125h35v157.5z"})),cog:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",fill:"var(--icon-fill-color)",stroke:"none"},React__namespace.createElement("path",{d:"M495.9 166.6C499.2 175.2 496.4 184.9 489.6 191.2L446.3 230.6C447.4 238.9 448 247.4 448 256C448 264.6 447.4 273.1 446.3 281.4L489.6 320.8C496.4 327.1 499.2 336.8 495.9 345.4C491.5 357.3 486.2 368.8 480.2 379.7L475.5 387.8C468.9 398.8 461.5 409.2 453.4 419.1C447.4 426.2 437.7 428.7 428.9 425.9L373.2 408.1C359.8 418.4 344.1 427 329.2 433.6L316.7 490.7C314.7 499.7 307.7 506.1 298.5 508.5C284.7 510.8 270.5 512 255.1 512C241.5 512 227.3 510.8 213.5 508.5C204.3 506.1 197.3 499.7 195.3 490.7L182.8 433.6C167 427 152.2 418.4 138.8 408.1L83.14 425.9C74.3 428.7 64.55 426.2 58.63 419.1C50.52 409.2 43.12 398.8 36.52 387.8L31.84 379.7C25.77 368.8 20.49 357.3 16.06 345.4C12.82 336.8 15.55 327.1 22.41 320.8L65.67 281.4C64.57 273.1 64 264.6 64 256C64 247.4 64.57 238.9 65.67 230.6L22.41 191.2C15.55 184.9 12.82 175.3 16.06 166.6C20.49 154.7 25.78 143.2 31.84 132.3L36.51 124.2C43.12 113.2 50.52 102.8 58.63 92.95C64.55 85.8 74.3 83.32 83.14 86.14L138.8 103.9C152.2 93.56 167 84.96 182.8 78.43L195.3 21.33C197.3 12.25 204.3 5.04 213.5 3.51C227.3 1.201 241.5 0 256 0C270.5 0 284.7 1.201 298.5 3.51C307.7 5.04 314.7 12.25 316.7 21.33L329.2 78.43C344.1 84.96 359.8 93.56 373.2 103.9L428.9 86.14C437.7 83.32 447.4 85.8 453.4 92.95C461.5 102.8 468.9 113.2 475.5 124.2L480.2 132.3C486.2 143.2 491.5 154.7 495.9 166.6V166.6zM256 336C300.2 336 336 300.2 336 255.1C336 211.8 300.2 175.1 256 175.1C211.8 175.1 176 211.8 176 255.1C176 300.2 211.8 336 256 336z"})),trayMode:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 640 512",stroke:"var(--icon-fill-color)",fill:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"M618.1 97.67c-13.02-4.375-27.45 .1562-35.72 11.16L464 266.7l-118.4-157.8c-8.266-11.03-22.64-15.56-35.72-11.16C296.8 102 288 114.2 288 128v256c0 17.69 14.33 32 32 32s32-14.31 32-32v-160l86.41 115.2c12.06 16.12 39.13 16.12 51.19 0L576 224v160c0 17.69 14.33 32 32 32s32-14.31 32-32v-256C640 114.2 631.2 102 618.1 97.67zM224 96.01H32c-17.67 0-32 14.31-32 32s14.33 32 32 32h64v223.1c0 17.69 14.33 31.99 32 31.99s32-14.3 32-31.99V160h64c17.67 0 32-14.31 32-32S241.7 96.01 224 96.01z"})),copyElementLink:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 260 260","aria-hidden":"true",focusable:"false",role:"img"},React__namespace.createElement("path",{stroke:"var(--icon-fill-color)",fill:"none",strokeLinecap:"round",strokeWidth:"8",d:"M10 10h40m-40 0h40m0 0v40m0-40v40m0 0H10m40 0H10m0 0V10m0 40V10M210 10h40m-40 0h40m0 0v40m0-40v40m0 0h-40m40 0h-40m0 0V10m0 40V10M210 210h40m-40 0h40m0 0v40m0-40v40m0 0h-40m40 0h-40m0 0v-40m0 40v-40M10 210h40m-40 0h40m0 0v40m0-40v40m0 0H10m40 0H10m0 0v-40m0 40v-40M30 210V50m0 160V50M50 30h160M50 30h160M230 50v160m0-160v160M50 230h160m-160 0h160"}),React__namespace.createElement("path",{stroke:"var(--icon-fill-color)",fill:"none",strokeLinecap:"round",strokeWidth:"16",d:"M110 90c-6.67 1.67-30 3.11-40 10-10 6.89-20 21.37-20 31.37S60 153.56 70 160c10 6.44 33.33 8.33 40 10m0-80c-6.67 1.67-30 3.11-40 10-10 6.89-20 21.37-20 31.37S60 153.56 70 160c10 6.44 33.33 8.33 40 10M150 90c6.67 1.67 30 3.11 40 10 10 6.89 20 21.37 20 31.37s-10 22.19-20 28.63c-10 6.44-33.33 8.33-40 10m0-80c6.67 1.67 30 3.11 40 10 10 6.89 20 21.37 20 31.37s-10 22.19-20 28.63c-10 6.44-33.33 8.33-40 10"}),React__namespace.createElement("path",{stroke:"var(--icon-fill-color)",fill:"none",strokeLinecap:"round",strokeWidth:"16",d:"M89.868 130.198c13.36-.03 66.78-.17 80.13-.2m-80.13.2c13.36-.03 66.78-.17 80.13-.2"})),importSVG:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 526 526"},React__namespace.createElement("g",{fillRule:"evenodd",strokeLinecap:"round"},React__namespace.createElement("path",{fill:"var(--input-bg-color)",strokeWidth:"0",d:"m133.462 71 .33-6.54.97-6.34 1.58-6.13 2.16-5.88 2.69-5.6 3.21-5.27 3.69-4.93 4.13-4.55 4.55-4.13 4.93-3.69 5.27-3.21 5.6-2.69 5.88-2.16 6.13-1.58 6.34-.97 6.54-.33h160v128l.16 3.28.49 3.18.79 3.07 1.07 2.94 1.35 2.8 1.6 2.63 1.84 2.47 2.06 2.27 2.27 2.06 2.47 1.84 2.63 1.6 2.8 1.35 2.94 1.07 3.07.79 3.18.49 3.28.16h128v288l-.33 6.54-.97 6.34-1.58 6.13-2.16 5.88-2.69 5.6-3.21 5.27-3.69 4.93-4.13 4.55-4.55 4.13-4.93 3.69-5.27 3.21-5.6 2.69-5.88 2.16-6.13 1.58-6.34.97-6.54.33h-256l-6.54-.33-6.34-.97-6.13-1.58-5.88-2.16-5.6-2.69-5.27-3.21-4.93-3.69-4.55-4.13-4.13-4.55-3.69-4.93-3.21-5.27-2.69-5.6-2.16-5.88-1.58-6.13-.97-6.34-.33-6.54V343h174.1l-39 39-1.65 1.83-1.43 1.94-1.22 2.05-.99 2.13-.77 2.2-.55 2.25-.33 2.29-.11 2.3.11 2.3.33 2.28.55 2.24.77 2.19.99 2.12 1.22 2.04 1.43 1.93 1.65 1.81 1.83 1.64 1.94 1.42 2.05 1.2 2.13.99 2.2.76 2.25.56 2.29.33 2.3.11 2.3-.1 2.28-.33 2.24-.54 2.19-.77 2.12-.98 2.04-1.21 1.93-1.43 1.81-1.65 80-80 1.65-1.83 1.43-1.94 1.22-2.05.99-2.13.77-2.2.55-2.25.33-2.29.11-2.3-.11-2.3-.33-2.28-.55-2.24-.77-2.19-.99-2.12-1.22-2.04-1.43-1.93-1.65-1.81-80-80-1.83-1.65-1.94-1.43-2.05-1.22-2.13-.99-2.2-.77-2.25-.55-2.29-.33-2.3-.11-2.3.11-2.28.33-2.24.55-2.19.77-2.12.99-2.04 1.22-1.93 1.43-1.81 1.65-1.64 1.83-1.42 1.94-1.2 2.05-.99 2.13-.76 2.2-.56 2.25-.33 2.29-.11 2.3.1 2.3.33 2.28.54 2.24.77 2.19.98 2.12 1.21 2.04 1.43 1.93 1.65 1.81 39 39h-174.1V71"}),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"18",d:"M133.462 71s0 0 0 0m0 0s0 0 0 0m0 0 .33-6.54m-.33 6.54c.13-2.57.26-5.13.33-6.54m0 0c.36-2.33.72-4.67.97-6.34m-.97 6.34c.35-2.26.69-4.53.97-6.34m0 0c.51-1.99 1.03-3.98 1.58-6.13m-1.58 6.13c.4-1.56.81-3.12 1.58-6.13m0 0c.81-2.22 1.62-4.43 2.16-5.88m-2.16 5.88c.45-1.22.9-2.44 2.16-5.88m0 0c.72-1.51 1.45-3.01 2.69-5.6m-2.69 5.6c.69-1.45 1.39-2.9 2.69-5.6m0 0c.93-1.52 1.86-3.05 3.21-5.27m-3.21 5.27c.97-1.59 1.94-3.18 3.21-5.27m0 0c.86-1.15 1.71-2.29 3.69-4.93m-3.69 4.93c.78-1.04 1.56-2.08 3.69-4.93m0 0c1.53-1.69 3.07-3.38 4.13-4.55m-4.13 4.55c1.54-1.69 3.07-3.38 4.13-4.55m0 0c1.03-.93 2.06-1.87 4.55-4.13m-4.55 4.13c.98-.89 1.97-1.78 4.55-4.13m0 0c1.64-1.23 3.28-2.46 4.93-3.69m-4.93 3.69c1.72-1.29 3.45-2.58 4.93-3.69m0 0c1.11-.68 2.23-1.35 5.27-3.21m-5.27 3.21c1.5-.91 3.01-1.83 5.27-3.21m0 0c1.87-.89 3.73-1.79 5.6-2.69m-5.6 2.69c2.09-1 4.17-2.01 5.6-2.69m0 0c1.72-.64 3.44-1.27 5.88-2.16m-5.88 2.16c1.94-.72 3.89-1.43 5.88-2.16m0 0c2.3-.59 4.6-1.19 6.13-1.58m-6.13 1.58c2.32-.6 4.65-1.2 6.13-1.58m0 0c2.06-.31 4.12-.63 6.34-.97m-6.34.97c2.34-.36 4.69-.72 6.34-.97m0 0c2.05-.1 4.09-.21 6.54-.33m-6.54.33c2.06-.1 4.12-.21 6.54-.33m0 0h160m-160 0h160m0 0v128m0-128v128m0 0s0 0 0 0m0 0s0 0 0 0m0 0 .16 3.28m-.16-3.28c.06 1.16.12 2.32.16 3.28m0 0c.13.82.26 1.64.49 3.18m-.49-3.18c.18 1.13.35 2.26.49 3.18m0 0c.24.95.49 1.91.79 3.07m-.79-3.07c.28 1.1.56 2.2.79 3.07m0 0c.39 1.06.78 2.13 1.07 2.94m-1.07-2.94c.42 1.15.84 2.3 1.07 2.94m0 0c.38.79.76 1.57 1.35 2.8m-1.35-2.8c.4.82.79 1.64 1.35 2.8m0 0c.45.75.91 1.5 1.6 2.63m-1.6-2.63c.4.65.8 1.31 1.6 2.63m0 0c.56.76 1.13 1.52 1.84 2.47m-1.84-2.47c.58.79 1.17 1.57 1.84 2.47m0 0c.75.82 1.5 1.65 2.06 2.27m-2.06-2.27c.75.82 1.5 1.65 2.06 2.27m0 0c.74.66 1.47 1.33 2.27 2.06m-2.27-2.06c.89.81 1.78 1.61 2.27 2.06m0 0c.69.51 1.37 1.02 2.47 1.84m-2.47-1.84c.68.5 1.35 1.01 2.47 1.84m0 0c.81.49 1.62.99 2.63 1.6m-2.63-1.6c.74.45 1.47.9 2.63 1.6m0 0c.72.35 1.43.69 2.8 1.35m-2.8-1.35c.61.3 1.22.59 2.8 1.35m0 0c.85.31 1.69.62 2.94 1.07m-2.94-1.07c1.03.38 2.07.75 2.94 1.07m0 0c.83.22 1.67.43 3.07.79m-3.07-.79 3.07.79m0 0c1.07.16 2.14.33 3.18.49m-3.18-.49c1.2.18 2.39.36 3.18.49m0 0 3.28.16m-3.28-.16c.97.04 1.93.09 3.28.16m0 0h128m-128 0h128m0 0v288m0-288v288m0 0s0 0 0 0m0 0s0 0 0 0m0 0c-.1 2.02-.2 4.04-.33 6.54m.33-6.54c-.13 2.52-.26 5.05-.33 6.54m0 0c-.33 2.14-.66 4.29-.97 6.34m.97-6.34c-.32 2.06-.63 4.12-.97 6.34m0 0c-.59 2.28-1.17 4.55-1.58 6.13m1.58-6.13c-.53 2.07-1.07 4.14-1.58 6.13m0 0c-.73 1.99-1.46 3.97-2.16 5.88m2.16-5.88c-.72 1.97-1.44 3.94-2.16 5.88m0 0c-.94 1.97-1.89 3.93-2.69 5.6m2.69-5.6c-.91 1.89-1.82 3.77-2.69 5.6m0 0c-.89 1.46-1.78 2.92-3.21 5.27m3.21-5.27c-.65 1.05-1.29 2.11-3.21 5.27m0 0c-1.13 1.51-2.25 3.01-3.69 4.93m3.69-4.93c-1.29 1.72-2.58 3.44-3.69 4.93m0 0c-1.29 1.42-2.58 2.84-4.13 4.55m4.13-4.55-4.13 4.55m0 0-4.55 4.13m4.55-4.13-4.55 4.13m0 0c-1.2.9-2.41 1.8-4.93 3.69m4.93-3.69-4.93 3.69m0 0c-1.56.95-3.13 1.9-5.27 3.21m5.27-3.21c-1.99 1.21-3.98 2.42-5.27 3.21m0 0c-1.8.86-3.6 1.73-5.6 2.69m5.6-2.69c-1.34.64-2.67 1.28-5.6 2.69m0 0c-2.24.82-4.48 1.65-5.88 2.16m5.88-2.16c-1.38.51-2.77 1.02-5.88 2.16m0 0c-1.46.38-2.93.76-6.13 1.58m6.13-1.58c-1.54.4-3.09.79-6.13 1.58m0 0c-2.12.32-4.24.65-6.34.97m6.34-.97c-2.47.38-4.94.75-6.34.97m0 0c-2.23.11-4.46.22-6.54.33m6.54-.33c-1.97.1-3.93.2-6.54.33m0 0h-256m256 0h-256m0 0s0 0 0 0m0 0s0 0 0 0m0 0c-2.33-.12-4.66-.24-6.54-.33m6.54.33c-1.33-.07-2.65-.13-6.54-.33m0 0c-1.88-.29-3.77-.58-6.34-.97m6.34.97c-2.07-.32-4.14-.63-6.34-.97m0 0c-1.52-.39-3.04-.79-6.13-1.58m6.13 1.58c-2.02-.52-4.04-1.04-6.13-1.58m0 0c-1.6-.59-3.19-1.17-5.88-2.16m5.88 2.16c-1.9-.7-3.8-1.39-5.88-2.16m0 0c-1.41-.68-2.82-1.36-5.6-2.69m5.6 2.69c-1.6-.77-3.2-1.54-5.6-2.69m0 0c-1.4-.86-2.81-1.71-5.27-3.21m5.27 3.21c-2.08-1.27-4.17-2.54-5.27-3.21m0 0c-1.72-1.29-3.43-2.57-4.93-3.69m4.93 3.69c-1.79-1.34-3.57-2.67-4.93-3.69m0 0c-1.18-1.07-2.36-2.15-4.55-4.13m4.55 4.13c-1.64-1.49-3.27-2.97-4.55-4.13m0 0c-1.07-1.19-2.15-2.37-4.13-4.55m4.13 4.55c-1.46-1.61-2.93-3.23-4.13-4.55m0 0-3.69-4.93m3.69 4.93c-.88-1.17-1.76-2.35-3.69-4.93m0 0c-.83-1.37-1.67-2.75-3.21-5.27m3.21 5.27c-1.15-1.89-2.3-3.79-3.21-5.27m0 0c-1.03-2.14-2.05-4.27-2.69-5.6m2.69 5.6c-.68-1.43-1.37-2.85-2.69-5.6m0 0c-.8-2.17-1.59-4.34-2.16-5.88m2.16 5.88c-.82-2.22-1.63-4.44-2.16-5.88m0 0c-.47-1.82-.94-3.64-1.58-6.13m1.58 6.13c-.37-1.44-.74-2.88-1.58-6.13m0 0-.97-6.34m.97 6.34c-.3-1.98-.61-3.97-.97-6.34m0 0c-.13-2.54-.26-5.07-.33-6.54m.33 6.54-.33-6.54m0 0V343m0 112V343m0 0h174.1m-174.1 0h174.1m0 0-39 39m39-39-39 39m0 0s0 0 0 0m0 0s0 0 0 0m0 0c-.65.72-1.3 1.44-1.65 1.83m1.65-1.83c-.34.38-.68.76-1.65 1.83m0 0c-.35.47-.7.95-1.43 1.94m1.43-1.94c-.38.5-.75 1.01-1.43 1.94m0 0c-.32.54-.64 1.08-1.22 2.05m1.22-2.05c-.38.64-.76 1.28-1.22 2.05m0 0c-.2.45-.41.89-.99 2.13m.99-2.13c-.38.82-.76 1.64-.99 2.13m0 0c-.18.53-.36 1.05-.77 2.2m.77-2.2c-.3.88-.61 1.75-.77 2.2m0 0c-.15.61-.3 1.22-.55 2.25m.55-2.25c-.16.68-.33 1.35-.55 2.25m0 0-.33 2.29m.33-2.29c-.13.9-.26 1.79-.33 2.29m0 0-.11 2.3m.11-2.3c-.03.59-.06 1.19-.11 2.3m0 0c.03.54.05 1.08.11 2.3m-.11-2.3c.03.72.07 1.44.11 2.3m0 0c.1.71.21 1.43.33 2.28m-.33-2.28c.1.71.21 1.42.33 2.28m0 0c.22.88.44 1.77.55 2.24m-.55-2.24c.16.66.33 1.32.55 2.24m0 0c.26.72.51 1.45.77 2.19m-.77-2.19c.25.69.49 1.39.77 2.19m0 0c.33.7.65 1.4.99 2.12m-.99-2.12c.37.79.74 1.57.99 2.12m0 0c.38.63.75 1.25 1.22 2.04m-1.22-2.04c.4.67.8 1.35 1.22 2.04m0 0c.38.52.77 1.05 1.43 1.93m-1.43-1.93c.38.52.77 1.05 1.43 1.93m0 0c.46.5.91 1 1.65 1.81m-1.65-1.81c.35.39.7.77 1.65 1.81m0 0c.37.33.75.67 1.83 1.64m-1.83-1.64c.43.39.87.78 1.83 1.64m0 0c.62.45 1.25.91 1.94 1.42m-1.94-1.42c.45.32.9.65 1.94 1.42m0 0c.53.3 1.05.61 2.05 1.2m-2.05-1.2c.43.25.86.5 2.05 1.2m0 0c.78.36 1.56.72 2.13.99m-2.13-.99c.54.25 1.08.5 2.13.99m0 0c.67.23 1.33.46 2.2.76m-2.2-.76c.51.17 1.03.35 2.2.76m0 0c.87.22 1.73.43 2.25.56m-2.25-.56c.79.2 1.57.39 2.25.56m0 0 2.29.33m-2.29-.33c.58.08 1.16.16 2.29.33m0 0c.91.04 1.82.09 2.3.11m-2.3-.11c.89.04 1.79.09 2.3.11m0 0c.48-.02.96-.04 2.3-.1m-2.3.1c.73-.03 1.47-.06 2.3-.1m0 0c.61-.09 1.22-.18 2.28-.33m-2.28.33c.58-.09 1.17-.17 2.28-.33m0 0c.79-.19 1.59-.38 2.24-.54m-2.24.54c.88-.21 1.75-.42 2.24-.54m0 0c.7-.25 1.4-.49 2.19-.77m-2.19.77c.5-.18 1.01-.35 2.19-.77m0 0c.56-.26 1.13-.52 2.12-.98m-2.12.98c.69-.31 1.37-.63 2.12-.98m0 0c.63-.37 1.25-.74 2.04-1.21m-2.04 1.21c.8-.48 1.6-.95 2.04-1.21m0 0c.67-.5 1.34-.99 1.93-1.43m-1.93 1.43c.52-.39 1.05-.78 1.93-1.43m0 0c.43-.39.87-.79 1.81-1.65m-1.81 1.65c.42-.38.83-.76 1.81-1.65m0 0 80-80m-80 80 80-80m0 0s0 0 0 0m0 0s0 0 0 0m0 0c.33-.37.67-.74 1.65-1.83m-1.65 1.83c.63-.7 1.27-1.4 1.65-1.83m0 0c.3-.4.59-.79 1.43-1.94m-1.43 1.94c.42-.57.84-1.13 1.43-1.94m0 0c.4-.68.8-1.35 1.22-2.05m-1.22 2.05c.47-.79.93-1.57 1.22-2.05m0 0c.28-.62.57-1.23.99-2.13m-.99 2.13c.3-.65.6-1.31.99-2.13m0 0c.26-.74.51-1.47.77-2.2m-.77 2.2.77-2.2m0 0 .55-2.25m-.55 2.25c.2-.84.41-1.68.55-2.25m0 0 .33-2.29m-.33 2.29c.11-.75.21-1.49.33-2.29m0 0c.03-.54.05-1.08.11-2.3m-.11 2.3c.04-.91.09-1.81.11-2.3m0 0c-.03-.7-.07-1.41-.11-2.3m.11 2.3c-.04-.75-.07-1.49-.11-2.3m0 0c-.08-.52-.15-1.04-.33-2.28m.33 2.28c-.09-.63-.18-1.26-.33-2.28m0 0-.55-2.24m.55 2.24c-.19-.79-.39-1.58-.55-2.24m0 0-.77-2.19m.77 2.19c-.25-.72-.51-1.44-.77-2.19m0 0c-.23-.5-.46-.99-.99-2.12m.99 2.12c-.39-.83-.78-1.66-.99-2.12m0 0c-.42-.7-.83-1.39-1.22-2.04m1.22 2.04c-.32-.53-.64-1.06-1.22-2.04m0 0c-.47-.64-.95-1.28-1.43-1.93m1.43 1.93c-.47-.63-.94-1.27-1.43-1.93m0 0c-.44-.49-.89-.98-1.65-1.81m1.65 1.81c-.64-.7-1.28-1.4-1.65-1.81m0 0-80-80m80 80-80-80m0 0s0 0 0 0m0 0s0 0 0 0m0 0c-.72-.65-1.44-1.3-1.83-1.65m1.83 1.65c-.68-.62-1.37-1.23-1.83-1.65m0 0c-.51-.38-1.02-.75-1.94-1.43m1.94 1.43c-.58-.43-1.17-.87-1.94-1.43m0 0c-.73-.43-1.45-.86-2.05-1.22m2.05 1.22c-.77-.45-1.53-.9-2.05-1.22m0 0c-.46-.21-.93-.43-2.13-.99m2.13.99-2.13-.99m0 0c-.83-.29-1.65-.57-2.2-.77m2.2.77c-.56-.19-1.12-.39-2.2-.77m0 0c-.65-.16-1.29-.31-2.25-.55m2.25.55c-.57-.14-1.13-.27-2.25-.55m0 0c-.74-.11-1.48-.21-2.29-.33m2.29.33c-.51-.07-1.02-.15-2.29-.33m0 0c-.77-.04-1.54-.07-2.3-.11m2.3.11c-.88-.04-1.76-.08-2.3-.11m0 0c-.49.02-.98.05-2.3.11m2.3-.11c-.88.04-1.77.09-2.3.11m0 0c-.62.09-1.23.18-2.28.33m2.28-.33c-.6.09-1.2.17-2.28.33m0 0c-.45.11-.91.22-2.24.55m2.24-.55c-.79.2-1.58.39-2.24.55m0 0c-.56.2-1.12.4-2.19.77m2.19-.77c-.51.18-1.01.36-2.19.77m0 0c-.85.4-1.7.8-2.12.99m2.12-.99c-.51.24-1.02.48-2.12.99m0 0c-.6.36-1.2.71-2.04 1.22m2.04-1.22c-.46.27-.91.55-2.04 1.22m0 0c-.49.36-.99.73-1.93 1.43m1.93-1.43-1.93 1.43m0 0c-.42.38-.85.77-1.81 1.65m1.81-1.65c-.69.63-1.39 1.27-1.81 1.65m0 0-1.64 1.83m1.64-1.83c-.54.6-1.08 1.21-1.64 1.83m0 0c-.53.73-1.07 1.47-1.42 1.94m1.42-1.94c-.36.5-.73 1-1.42 1.94m0 0c-.35.61-.7 1.21-1.2 2.05m1.2-2.05c-.33.58-.67 1.15-1.2 2.05m0 0c-.26.57-.53 1.15-.99 2.13m.99-2.13c-.39.85-.78 1.69-.99 2.13m0 0c-.24.7-.48 1.4-.76 2.2m.76-2.2c-.17.51-.35 1.01-.76 2.2m0 0c-.17.68-.33 1.35-.56 2.25m.56-2.25c-.2.79-.39 1.57-.56 2.25m0 0c-.09.65-.18 1.29-.33 2.29m.33-2.29c-.06.48-.13.95-.33 2.29m0 0c-.03.71-.07 1.43-.11 2.3m.11-2.3-.11 2.3m0 0c.04.86.08 1.73.1 2.3m-.1-2.3c.03.8.07 1.6.1 2.3m0 0c.13.88.25 1.76.33 2.28m-.33-2.28c.11.73.21 1.47.33 2.28m0 0c.18.74.36 1.49.54 2.24m-.54-2.24c.15.64.31 1.28.54 2.24m0 0c.2.57.4 1.15.77 2.19m-.77-2.19c.21.58.41 1.17.77 2.19m0 0c.23.5.46 1.01.98 2.12m-.98-2.12c.35.76.71 1.53.98 2.12m0 0c.38.64.76 1.29 1.21 2.04m-1.21-2.04 1.21 2.04m0 0c.45.6.89 1.21 1.43 1.93m-1.43-1.93c.3.4.6.81 1.43 1.93m0 0 1.65 1.81m-1.65-1.81c.47.52.94 1.03 1.65 1.81m0 0 39 39m-39-39 39 39m0 0h-174.1m174.1 0h-174.1m0 0V71m0 223.9V71m0 0s0 0 0 0m0 0s0 0 0 0m0 0s0 0 0 0m0 0s0 0 0 0"})),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeLinecap:"round",strokeWidth:"18",d:"M135 343.068H31m104 0H31m0 0s0 0 0 0m0 0s0 0 0 0m0 0c-.74-.04-1.48-.07-2.46-.12m2.46.12c-.77-.04-1.54-.08-2.46-.12m0 0c-.87-.14-1.75-.27-2.39-.37m2.39.37c-.55-.09-1.1-.17-2.39-.37m0 0c-.87-.22-1.74-.44-2.3-.59m2.3.59c-.62-.15-1.24-.31-2.3-.59m0 0c-.82-.29-1.64-.59-2.21-.8m2.21.8c-.52-.18-1.03-.37-2.21-.8m0 0c-.55-.26-1.09-.52-2.1-1.01m2.1 1.01c-.64-.31-1.28-.61-2.1-1.01m0 0c-.74-.45-1.48-.89-1.98-1.2m1.98 1.2c-.42-.25-.84-.51-1.98-1.2m0 0c-.7-.52-1.41-1.05-1.84-1.38m1.84 1.38c-.37-.28-.75-.56-1.84-1.38m0 0c-.4-.36-.8-.71-1.71-1.54m1.71 1.54c-.35-.31-.7-.63-1.71-1.54m0 0c-.43-.47-.85-.95-1.54-1.71m1.54 1.71c-.61-.68-1.23-1.36-1.54-1.71m0 0c-.29-.38-.58-.76-1.38-1.84m1.38 1.84c-.54-.71-1.08-1.43-1.38-1.84m0 0c-.46-.76-.92-1.52-1.2-1.98m1.2 1.98c-.45-.74-.89-1.47-1.2-1.98m0 0c-.37-.77-.74-1.53-1.01-2.1m1.01 2.1c-.3-.62-.6-1.25-1.01-2.1m0 0c-.2-.54-.39-1.07-.8-2.21m.8 2.21c-.2-.54-.4-1.09-.8-2.21m0 0c-.22-.85-.44-1.71-.59-2.3m.59 2.3c-.12-.46-.24-.92-.59-2.3m0 0c-.11-.72-.22-1.43-.37-2.39m.37 2.39c-.08-.48-.15-.96-.37-2.39m0 0c-.03-.74-.07-1.48-.12-2.46m.12 2.46c-.04-.79-.08-1.59-.12-2.46m0 0c.04-.74.07-1.49.12-2.46m-.12 2.46.12-2.46m0 0c.08-.53.16-1.07.37-2.39m-.37 2.39c.09-.56.17-1.12.37-2.39m0 0c.17-.69.35-1.38.59-2.3m-.59 2.3c.15-.61.31-1.23.59-2.3m0 0c.17-.48.34-.96.8-2.21m-.8 2.21c.2-.55.4-1.1.8-2.21m0 0c.25-.52.49-1.03 1.01-2.1m-1.01 2.1c.36-.76.73-1.52 1.01-2.1m0 0c.43-.72.87-1.44 1.2-1.98m-1.2 1.98c.27-.45.55-.91 1.2-1.98m0 0c.54-.73 1.09-1.47 1.38-1.84m-1.38 1.84c.4-.54.81-1.09 1.38-1.84m0 0c.53-.59 1.07-1.18 1.54-1.71m-1.54 1.71c.59-.66 1.19-1.32 1.54-1.71m0 0c.54-.49 1.08-.97 1.71-1.54m-1.71 1.54c.48-.43.95-.86 1.71-1.54m0 0c.46-.35.92-.7 1.84-1.38m-1.84 1.38c.5-.38 1.01-.76 1.84-1.38m0 0c.52-.32 1.04-.63 1.98-1.2m-1.98 1.2c.72-.44 1.44-.88 1.98-1.2m0 0 2.1-1.01m-2.1 1.01c.84-.4 1.67-.81 2.1-1.01m0 0c.45-.17.91-.33 2.21-.8m-2.21.8c.56-.21 1.12-.41 2.21-.8m0 0c.89-.23 1.79-.46 2.3-.59m-2.3.59c.48-.13.95-.25 2.3-.59m0 0c.51-.08 1.02-.16 2.39-.37m-2.39.37 2.39-.37m0 0c.52-.02 1.03-.05 2.46-.12m-2.46.12c.74-.03 1.48-.07 2.46-.12m0 0 103.34-.27m-103.34.27c30.04-.08 60.08-.16 103.34-.27"}),React__namespace.createElement("g",{fillRule:"evenodd",strokeLinecap:"round"},React__namespace.createElement("path",{fill:"var(--input-bg-color)",strokeWidth:"0",d:"M517.462 135h-128V7l128 128"}),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"18",d:"M517.462 135h-128m128 0h-128m0 0V7m0 128V7m0 0 128 128m-128-128 128 128m0 0s0 0 0 0m0 0s0 0 0 0m0 0s0 0 0 0m0 0s0 0 0 0"}))),obsidian:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 166 267"},React__namespace.createElement("path",{fill:"transparent",d:"M0 0h165.742v267.245H0z"}),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{fill:"#bd7efc",strokeWidth:"0",d:"M55.5 96.49 39.92 57.05 111.28 10l4.58 36.54L55.5 95.65"}),React__namespace.createElement("path",{fill:"none",stroke:"#410380",strokeWidth:".5",d:"M55.5 96.49c-5.79-14.66-11.59-29.33-15.58-39.44M55.5 96.49c-3.79-9.59-7.58-19.18-15.58-39.44m0 0C60.13 43.72 80.34 30.4 111.28 10M39.92 57.05C60.82 43.27 81.73 29.49 111.28 10m0 0c.97 7.72 1.94 15.45 4.58 36.54M111.28 10c1.14 9.12 2.29 18.24 4.58 36.54m0 0C95.41 63.18 74.96 79.82 55.5 95.65m60.36-49.11C102.78 57.18 89.71 67.82 55.5 95.65m0 0v.84m0-.84v.84"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{fill:"#e2c4ff",strokeWidth:"0",d:"m111.234 10.06 44.51 42.07-40.66-5.08-3.85-36.99"}),React__namespace.createElement("path",{fill:"none",stroke:"#410380",strokeWidth:".5",d:"M111.234 10.06c11.83 11.18 23.65 22.36 44.51 42.07m-44.51-42.07 44.51 42.07m0 0c-13.07-1.63-26.13-3.27-40.66-5.08m40.66 5.08c-11.33-1.41-22.67-2.83-40.66-5.08m0 0c-1.17-11.29-2.35-22.58-3.85-36.99m3.85 36.99c-1.47-14.17-2.95-28.33-3.85-36.99m0 0s0 0 0 0m0 0s0 0 0 0"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{fill:"#2f005e",strokeWidth:"0",d:"m10 127.778 45.77-32.99-15.57-38.08-30.2 71.07"}),React__namespace.createElement("path",{fill:"none",stroke:"#410380",strokeWidth:".5",d:"M10 127.778c16.85-12.14 33.7-24.29 45.77-32.99M10 127.778c16.59-11.95 33.17-23.91 45.77-32.99m0 0c-6.14-15.02-12.29-30.05-15.57-38.08m15.57 38.08c-4.08-9.98-8.16-19.96-15.57-38.08m0 0c-11.16 26.27-22.33 52.54-30.2 71.07m30.2-71.07c-10.12 23.81-20.23 47.61-30.2 71.07m0 0s0 0 0 0m0 0s0 0 0 0"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{fill:"#410380",strokeWidth:"0",d:"m40.208 235.61 15.76-140.4-45.92 32.92 30.16 107.48"}),React__namespace.createElement("path",{fill:"none",stroke:"#410380",strokeWidth:".5",d:"M40.208 235.61c3.7-33.01 7.41-66.02 15.76-140.4m-15.76 140.4c3.38-30.16 6.77-60.32 15.76-140.4m0 0c-10.83 7.76-21.66 15.53-45.92 32.92m45.92-32.92c-11.69 8.38-23.37 16.75-45.92 32.92m0 0c6.84 24.4 13.69 48.8 30.16 107.48m-30.16-107.48c6.67 23.77 13.33 47.53 30.16 107.48m0 0s0 0 0 0m0 0s0 0 0 0"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{fill:"#943feb",strokeWidth:"0",d:"m111.234 240.434-12.47 16.67-42.36-161.87 58.81-48.3 40.46 5.25-44.44 188.25"}),React__namespace.createElement("path",{fill:"none",stroke:"#410380",strokeWidth:".5",d:"M111.234 240.434c-3.79 5.06-7.57 10.12-12.47 16.67m12.47-16.67c-4.43 5.93-8.87 11.85-12.47 16.67m0 0c-16.8-64.17-33.59-128.35-42.36-161.87m42.36 161.87c-9.74-37.2-19.47-74.41-42.36-161.87m0 0c15.03-12.35 30.07-24.7 58.81-48.3m-58.81 48.3c22.49-18.47 44.97-36.94 58.81-48.3m0 0c9.48 1.23 18.95 2.46 40.46 5.25m-40.46-5.25c13.01 1.69 26.02 3.38 40.46 5.25m0 0c-10.95 46.41-21.91 92.82-44.44 188.25m44.44-188.25c-12.2 51.71-24.41 103.42-44.44 188.25m0 0s0 0 0 0m0 0s0 0 0 0"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{fill:"#6212b3",strokeWidth:"0",d:"m40.379 235.667 15.9-140.21 42.43 161.79-58.33-21.58"}),React__namespace.createElement("path",{fill:"none",stroke:"#410380",strokeWidth:".5",d:"M40.379 235.667c4.83-42.62 9.67-85.25 15.9-140.21m-15.9 140.21c5.84-51.52 11.69-103.03 15.9-140.21m0 0c10.98 41.87 21.96 83.74 42.43 161.79m-42.43-161.79c13.28 50.63 26.56 101.25 42.43 161.79m0 0c-11.8-4.37-23.6-8.74-58.33-21.58m58.33 21.58c-21.73-8.04-43.47-16.08-58.33-21.58m0 0s0 0 0 0m0 0s0 0 0 0"})))},saveIcon=e=>React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:e?"var(--color-accent)":"var(--icon-fill-color)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{d:"M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z"}),React__namespace.createElement("polyline",{points:"17 21 17 13 7 13 7 21"}),React__namespace.createElement("polyline",{points:"7 3 7 8 15 8"})),penIcon=e=>{var A,t,i,n,a,r,s,o,l,c,d,h;switch(e.type){case"highlighter":return React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{fill:null!==(A=e.strokeColor)&&void 0!==A?A:"var(--icon-fill-color)",strokeWidth:"2",d:"m9 11-6 6v3h9l3-3"}),React__namespace.createElement("path",{fill:"none",strokeWidth:"2",d:"m22 12-4.6 4.6a2 2 0 0 1-2.8 0l-5.2-5.2a2 2 0 0 1 0-2.8L14 4"}));case"finetip":return React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:null!==(t=e.strokeColor)&&void 0!==t?t:"var(--icon-fill-color)",stroke:null!==(i=e.strokeColor)&&void 0!==i?i:"var(--icon-fill-color)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{strokeWidth:"2",d:"M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"}));case"fountain":return React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{fill:null!==(n=e.strokeColor)&&void 0!==n?n:"var(--icon-fill-color)",d:"m12 19 7-7 3 3-7 7-3-3z"}),React__namespace.createElement("path",{fill:"none",d:"m18 13-1.5-7.5L2 2l3.5 14.5L13 18l5-5z"}),React__namespace.createElement("path",{fill:"none",d:"m2 2 7.586 7.586"}),React__namespace.createElement("circle",{fill:"none",cx:"11",cy:"11",r:"2"}));case"marker":return React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 576 512",fill:null!==(a=e.strokeColor)&&void 0!==a?a:"var(--icon-fill-color)",stroke:null!==(r=e.strokeColor)&&void 0!==r?r:"var(--icon-fill-color)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{d:"M331 315l158.4-215L460.1 70.6 245 229 331 315zm-187 5l0 0V248.3c0-15.3 7.2-29.6 19.5-38.6L436.6 8.4C444 2.9 453 0 462.2 0c11.4 0 22.4 4.5 30.5 12.6l54.8 54.8c8.1 8.1 12.6 19 12.6 30.5c0 9.2-2.9 18.2-8.4 25.6L350.4 396.5c-9 12.3-23.4 19.5-38.6 19.5H240l-25.4 25.4c-12.5 12.5-32.8 12.5-45.3 0l-50.7-50.7c-12.5-12.5-12.5-32.8 0-45.3L144 320zM23 466.3l63-63 70.6 70.6-31 31c-4.5 4.5-10.6 7-17 7H40c-13.3 0-24-10.7-24-24v-4.7c0-6.4 2.5-12.5 7-17z"}));case"thick-thin":return React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 108 106",strokeWidth:"2",fill:null!==(s=e.strokeColor)&&void 0!==s?s:"var(--icon-fill-color)",stroke:null!==(o=e.strokeColor)&&void 0!==o?o:"var(--icon-fill-color)"},React__namespace.createElement("path",{d:"m-.58 95.628.22-.89q.22-.89.49-2.44.26-1.54.77-3.35t1.31-3.43q.79-1.61.2-.26-.6 1.34-.03-.14.58-1.49 1.54-2.97.96-1.49 2.54-3.18 1.59-1.68 3.46-2.96 1.86-1.27.81-.54-1.04.73.6-.46 1.64-1.19 2.8-1.81 1.16-.63.16-.08-.99.54 1.21-.5 2.2-1.03 1.11-.58-1.1.45-.03-.07 1.06-.53 2.32-.82 1.26-.3 2.91-.52 1.64-.23 3.05-.18 1.4.05 2.5.12 1.09.07 2.25.24 1.16.17 2.3.49 1.15.32 2.11.78.96.47 2.21 1.01 1.25.55 2.37 1.04t2.34.89q1.22.4 2.5.65 1.29.25 2.44.33 1.16.08 2.35.17 1.18.08 2.26-.1 1.08-.19 2-1.1.92-.91 1.25-1.93.32-1.02.38-2.15t.57.21q.51 1.34-.03-.02-.55-1.37-.96-2.83-.41-1.45.5-.67.92.79-.03-.06-.95-.85-1.52-1.8-.57-.94-1.5-1.52-.93-.57-1.94-1.22-1.01-.65-1.97-1.88-.96-1.22-1.44-2.54-.49-1.32-.65-2.57-.17-1.24-.11-2.35.06-1.11.31-2.91.24-1.79.76-2.77.51-.97 1.29-1.8.77-.84 1.64-1.55.88-.72 1.9-1.33 1.03-.61 2.43-1.15 1.41-.55 2.69-.92 1.29-.37 2.81-.68 1.53-.31 2.83-.58 1.31-.27 2.78-.47 1.47-.2 2.58-.49 1.12-.28 2.19-.58 1.08-.31 2.13-.73 1.05-.42 2.44-1.32 1.39-.9 2.68-1.85 1.3-.95 2.25-1.87.95-.91 2.06-2 1.11-1.09 1.92-1.93.82-.84 1.54-1.82.71-.98 1.4-1.88.69-.9 1.38-1.96.69-1.07 1.25-2.04.55-.97 1.21-1.94.65-.96 1.35-1.79.69-.83 1.46-1.74.77-.9 1.66-1.73.89-.84 2.72-2.31 1.84-1.48 1.84-1.47v.01l-1.1 1.03q-1.1 1.02-1.77 1.92-.68.9-1.39 1.85-.71.96-1.41 1.91-.7.96-1.19 1.92-.48.95-.95 1.92-.46.96-.9 1.95-.43.99-1.02 2.16-.59 1.17-1.17 2.15-.58.97-1.23 2.13t-1.29 2.02q-.64.86-1.3 1.73-.66.88-1.42 1.78-.75.9-1.72 2.03-.97 1.14-1.81 1.89-.85.75-1.98 1.71-1.14.96-2.05 1.61-.91.64-2.42 1.38-1.51.73-2.71 1.21t-2.49.92q-1.3.44-2.35.69-1.06.24-2.1.59-1.03.34-2.06.74-1.03.4-2.29.94-1.26.54-2.27 1.11-1.01.58-1.57 1.57-.56.99-.81 2.06-.25 1.08.56 2.02.8.94-.21-.02-1.02-.96-.01-.48 1 .49 1.87 1.25.87.77 0 0-.88-.77.46-.01 1.34.75 2.6 1.68 1.26.94 2.08 2.03.81 1.09.01.27-.8-.82.3.26 1.11 1.08 1.71 2.1.61 1.02 1.21 2.25.6 1.24.92 2.36.32 1.12-.16.13-.49-.98.02.36.51 1.35.71 2.69.2 1.34.24 2.46.03 1.12-.09 2.42-.13 1.29-.72 3.21-.6 1.92-1.4 3.49-.81 1.58-1.77 2.83-.96 1.24-2.88 2.72-1.92 1.48-2.95 1.85-1.04.36-2.47.76-1.44.41-3.33.72-1.89.32-3.37.41-1.48.09-2.63.15-1.15.05-2.74-.06-1.59-.1-2.8-.29-1.2-.19-3.2-.63-1.99-.45-3.63-.92-1.63-.48-3.28-.79-1.65-.31-2.76-.2-1.11.1-2.21.42-1.11.32.39-.29 1.49-.6-.12.21-1.61.8-.39.19 1.21-.61.29.13-.92.74-1.83 1.34-.92.61.15-.19t.3-.05q-.77.75-1.58 1.57-.81.82.01-.18.82-1 .24.23t-.72 2.72q-.15 1.48-.08 2.4.07.91-.19 2.16-.26 1.26-.81 2.41-.55 1.16-1.36 2.15t-1.84 1.75q-1.03.77-2.21 1.27t-2.44.7q-1.27.2-2.53.1-1.28-.11-2.49-.52-1.22-.41-2.3-1.1-1.08-.68-1.96-1.61-.89-.92-1.52-2.04-.64-1.11-.99-2.34-.36-1.23-.41-2.51l-.04-1.27Z"}));case"thin-thick-thin":return React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 114 113",strokeWidth:"2",fill:null!==(l=e.strokeColor)&&void 0!==l?l:"var(--icon-fill-color)",stroke:null!==(c=e.strokeColor)&&void 0!==c?c:"var(--icon-fill-color)"},React__namespace.createElement("path",{d:"m10 103.405.13-1.22q.14-1.22 1.3-3.16 1.15-1.94 2.74-3.46 1.59-1.53 3.35-2.72 1.77-1.2 4-1.95 2.23-.76 4.45-1t4.86-.4q2.64-.15 5.14-.34 2.51-.19 4.85-.94 2.35-.75 4.55-1.71 2.21-.97 4.16-2.26 1.95-1.3 4.03-2.97 2.07-1.67 3.85-3.05 1.78-1.37 3.72-2.48 1.94-1.11 3.3-2.99 1.36-1.89 2.58-3.74 1.22-1.85-.63-3.42-1.85-1.57-3.82-2.86-1.97-1.3-4.11-2.08-2.15-.78-4.21-1.6-2.06-.81-4.02-1.96-1.96-1.14-3.71-2.48-1.74-1.33-3.37-2.77-1.63-1.43-3.23-3.62-1.6-2.18-2.23-4.64-.62-2.46-.36-4.96.27-2.49 1.19-4.46.91-1.97 2.42-3.7 1.5-1.73 3.5-3.15t4.11-2.28q2.1-.86 4.33-1.44 2.24-.58 4.92-.84 2.68-.26 4.83-.19t4.69.35q2.53.28 4.75.66 2.23.38 4.48.2 2.26-.19 4.43-1.3 2.17-1.12 4.2-2.36 2.04-1.24 3.93-2.43 1.9-1.19 3.84-2.14 1.95-.95 4.04-1.78 2.09-.83 4.56-2.28 2.46-1.46 2.46-1.45h.01q.01 0-1.38 1.3-1.38 1.29-3.08 2.59-1.7 1.3-3.5 2.5t-3.42 2.65q-1.62 1.45-3.18 3-1.57 1.56-3.37 3.13-1.8 1.57-3.6 2.91-1.81 1.33-3.92 2.12t-4.24.92q-2.13.14-4.31.26-2.18.12-4.5.39t-4.56.88q-2.25.61-4.24 1.6-1.99 1-3.83 2.29-1.83 1.29.18 2.44 2.01 1.15 4.2 1.92 2.2.78 4.34 1 2.15.22 4.4.69 2.25.46 4.34 1.16 2.08.71 4.33 1.91 2.25 1.21 4.11 2.73 1.87 1.52 3.68 4.03 1.82 2.5 2.74 5 .93 2.5 1.18 5.03.26 2.53-.04 4.81t-1.4 4.85q-1.09 2.58-2.4 4.26-1.3 1.68-3.1 3.44t-4.02 3.62q-2.23 1.85-4.32 3.07-2.08 1.23-4.34 1.99-2.25.76-4.46 1.96t-4.37 2.14q-2.15.93-4.22 1.81t-4.36 1.35q-2.3.46-4.52.82-2.22.35-4.76.38-2.54.04-4.87-.28t-4.67-.67q-2.34-.35-4.72-.54-2.39-.19-4.64.37-2.25.56-4.16 1.66-1.91 1.11-3.52 2.71-1.61 1.6-2.55 2.39l-.94.78Z"}));default:return React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",fill:null!==(d=e.strokeColor)&&void 0!==d?d:"var(--icon-fill-color)",stroke:null!==(h=e.strokeColor)&&void 0!==h?h:"var(--icon-fill-color)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{d:"M453.3 19.3l39.4 39.4c25 25 25 65.5 0 90.5l-52.1 52.1 0 0-1-1 0 0-16-16-96-96-17-17 52.1-52.1c25-25 65.5-25 90.5 0zM241 114.9c-9.4-9.4-24.6-9.4-33.9 0L105 217c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L173.1 81c28.1-28.1 73.7-28.1 101.8 0L288 94.1l17 17 96 96 16 16 1 1-17 17L229.5 412.5c-48 48-109.2 80.8-175.8 94.1l-25 5c-7.9 1.6-16-.9-21.7-6.6s-8.1-13.8-6.6-21.7l5-25c13.3-66.6 46.1-127.8 94.1-175.8L254.1 128 241 114.9z"}))}},stringToSVG=e=>(e=e.replace(/stroke\s*=\s*['"][^"']*['"]/g,"").replace(/[^-]width\s*=\s*['"][^"']*['"]/g,"").replace(/[^-]height\s*=\s*['"][^"']*['"]/g,"").replace("{const t=A.getAppState();A.updateScene({appState:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({currentStrokeOptions:e.penOptions},e.strokeWidth&&0!==e.strokeWidth?{currentItemStrokeWidth:e.strokeWidth}:null),e.backgroundColor?{currentItemBackgroundColor:e.backgroundColor}:null),e.strokeColor?{currentItemStrokeColor:e.strokeColor}:null),""===e.fillStyle?null:{currentItemFillStyle:e.fillStyle}),e.roughness?null:{currentItemRoughness:e.roughness}),e.freedrawOnly&&!t.resetCustomPen?{resetCustomPen:{currentItemStrokeWidth:t.currentItemStrokeWidth,currentItemBackgroundColor:t.currentItemBackgroundColor,currentItemStrokeColor:t.currentItemStrokeColor,currentItemFillStyle:t.currentItemFillStyle,currentItemRoughness:t.currentItemRoughness}}:null)})},resetStrokeOptions=(e,A,t)=>{A.updateScene({appState:Object.assign(Object.assign(Object.assign({},e?{currentItemStrokeWidth:e.currentItemStrokeWidth,currentItemBackgroundColor:e.currentItemBackgroundColor,currentItemStrokeColor:e.currentItemStrokeColor,currentItemFillStyle:e.currentItemFillStyle,currentItemRoughness:e.currentItemRoughness}:null),{resetCustomPen:null}),t?{currentStrokeOptions:null}:null)})};class ObsidianMenu{constructor(e,A,t){this.plugin=e,this.toolsRef=A,this.view=t,this.renderCustomPens=(e,A)=>{var t;return null===(t=A.customPens)||void 0===t?void 0:t.map(((t,i)=>{const n=this.plugin.settings.customPens[i];return A.resetCustomPen&&"freedraw"!==A.activeTool.type&&A.currentStrokeOptions===n.penOptions&&setTimeout((()=>resetStrokeOptions(A.resetCustomPen,this.view.excalidrawAPI,!1))),!A.resetCustomPen&&"freedraw"===A.activeTool.type&&A.currentStrokeOptions===n.penOptions&&n.freedrawOnly&&setTimeout((()=>setPen(this.activePen,this.view.excalidrawAPI))),this.activePen&&A.resetCustomPen&&"freedraw"===A.activeTool.type&&A.currentStrokeOptions===n.penOptions&&n.freedrawOnly&&(this.activePen.strokeWidth=A.currentItemStrokeWidth,this.activePen.backgroundColor=A.currentItemBackgroundColor,this.activePen.strokeColor=A.currentItemStrokeColor,this.activePen.fillStyle=A.currentItemFillStyle,this.activePen.roughness=A.currentItemRoughness),React__namespace.createElement("label",{key:i,className:clsx("ToolIcon ToolIcon_type_floating","ToolIcon_size_medium",{"is-mobile":e}),onClick:()=>{const e=Date.now();if(e-this.clickTimestamp[i]<500){const e=new PenSettingsModal(this.plugin,this.view,i);return void(async()=>{await this.plugin.loadSettings(),e.open()})()}this.clickTimestamp[i]=e;const A=this.view.excalidrawAPI,t=A.getAppState();t.currentStrokeOptions!==n.penOptions||"freedraw"!==t.activeTool.type?(this.activePen=Object.assign({},n),setPen(n,A),A.setActiveTool({type:"freedraw"})):resetStrokeOptions(t.resetCustomPen,A,!0)}},React__namespace.createElement("div",{className:"ToolIcon__icon","aria-label":n.type,style:Object.assign({},"freedraw"===A.activeTool.type&&A.currentStrokeOptions===n.penOptions?{background:"var(--color-primary)"}:{})},penIcon(n)))}))},this.renderPinnedScriptButtons=(e,A)=>{var t;return null===(t=null==A?void 0:A.pinnedScripts)||void 0===t?void 0:t.map(((A,t)=>{var i;const n=this.plugin.scriptEngine.scriptIconMap[A],a=null!==(i=null==n?void 0:n.name)&&void 0!==i?i:"",r=(null==n?void 0:n.svgString)?stringToSVG(n.svgString):ICONS.cog;let s=0;return React__namespace.createElement("label",{key:t,className:clsx("ToolIcon ToolIcon_type_floating","ToolIcon_size_medium",{"is-mobile":e}),onClick:()=>{s&&(window.clearTimeout(s),s=0,(async()=>{const e=app.vault.getAbstractFileByPath(A);e&&e instanceof obsidian_module.TFile&&this.plugin.scriptEngine.executeScript(this.view,await app.vault.read(e),this.plugin.scriptEngine.getScriptName(e),e)})())},onPointerDown:()=>{s=window.setTimeout((()=>{s=0,(async()=>{var e;await this.plugin.loadSettings();const t=this.plugin.settings.pinnedScripts.indexOf(A);t>-1&&(this.plugin.settings.pinnedScripts.splice(t,1),null===(e=this.view.excalidrawAPI)||void 0===e||e.setToast({message:`Pin removed: ${a}`,duration:3e3,closable:!0})),await this.plugin.saveSettings(),app.workspace.getLeavesOfType("excalidraw").forEach((e=>{e.view instanceof ExcalidrawView&&e.view.updatePinnedScripts()}))})()}),1500)}},React__namespace.createElement("div",{className:"ToolIcon__icon","aria-label":a},r))}))},this.renderButton=(e,A)=>React__namespace.createElement(React__namespace.Fragment,null,React__namespace.createElement("label",{className:clsx("ToolIcon ToolIcon_type_floating","ToolIcon_size_medium",{"is-mobile":e}),onClick:()=>{this.toolsRef.current.setTheme(A.theme),this.toolsRef.current.toggleVisibility(A.zenModeEnabled||e)}},React__namespace.createElement("div",{className:"ToolIcon__icon","aria-hidden":"true"},ICONS.obsidian)),this.renderCustomPens(e,A),this.renderPinnedScriptButtons(e,A)),this.clickTimestamp=Array.from({length:Object.keys(PENS).length},(()=>0))}}class ActionButton extends React__namespace.Component{constructor(e){super(e),this.toastMessageTimeout=0,this.longpressTimeout=0,this.state={visible:!0}}render(){return React__namespace.createElement("button",{style:{},className:"ToolIcon_type_button ToolIcon_size_small ToolIcon_type_button--show ToolIcon",title:this.props.title,onClick:e=>{this.toastMessageTimeout&&(window.clearTimeout(this.toastMessageTimeout),this.toastMessageTimeout=0,this.props.action(e)),this.longpressTimeout&&(window.clearTimeout(this.longpressTimeout),this.longpressTimeout=0)},onPointerDown:e=>{this.toastMessageTimeout=window.setTimeout((()=>{var e;null===(e=this.props.view.excalidrawAPI)||void 0===e||e.setToast({message:this.props.title,duration:3e3,closable:!0}),this.toastMessageTimeout=0}),400),this.longpressTimeout=window.setTimeout((()=>{var A;this.props.longpress?this.props.longpress(e):null===(A=this.props.view.excalidrawAPI)||void 0===A||A.setToast({message:"Cannot pin this action",duration:3e3,closable:!0}),this.longpressTimeout=0}),1500)}},React__namespace.createElement("div",{className:"ToolIcon__icon","aria-hidden":"true"},this.props.icon))}}const FIRST_RUN='\nThe Excalidraw Obsidian plugin is much more than "just" a drawing tool. To help you get started here\'s a showcase of the key Excalidraw plugin features.\n\nIf you\'d like to learn more, please subscribe to my YouTube channel: [Visual PKM](https://www.youtube.com/channel/UCC0gns4a9fhVkGkngvSumAQ) where I regularly share videos about Obsidian-Excalidraw and about tools and techniques for Visual Personal Knowledge Management.\n\nThank you & Enjoy!\n\n
\n\n
\n',RELEASE_NOTES={Intro:'After each update you\'ll be prompted with the release notes. You can disable this in plugin settings.\n\nI develop this plugin as a hobby, spending my free time doing this. If you find it valuable, then please say THANK YOU or...\n\n
\n',"1.8.20":"\n## Fixed\n- Excalidraw froze Obsidian in certain rare situations [#1054](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/1054)\n- File loading error [#1062](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/1062)\n- Embedded images in markdown documents no longer have the line on the side. Image sizing works better. [#1059](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/1059)\n- Locked elements will not show a hover preview [#1060](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/1060)\n- CTRL/CMD + K correctly triggers add link [#1056](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/1056)\n\n## New\n- Grid color adjusts to the view background color\n\nI'm sorry, but the sticky note editing issue on Android with the on-screen keyboard has still not been resolved. If you also experience this error, please help raise the priority with the core Excalidraw team by commenting on this issue: [#6330](https://github.com/excalidraw/excalidraw/issues/6330)\n","1.8.19":"\n## Fixed: Text wrapping issue in sticky notes\n\nI fixed an issue where text would wrap differently and words would disappear during text editing in sticky notes. You can check out the details on [GitHub #6318](https://github.com/excalidraw/excalidraw/issues/6331).\n\nI am aware of three additional issues related to container text editing that are still open. I apologize for any inconvenience caused by the recent change in how text size is calculated on Excalidraw.com, which has had a knock-on effect on Obsidian. I am actively working to address the following issues:\n\n- Pinch zooming while editing text in a text container [GitHub #6331](https://github.com/excalidraw/excalidraw/issues/6331)\n- Container text jumps on edit on Android with on-screen keyboard [GitHub #6330](https://github.com/excalidraw/excalidraw/issues/6330)\n- Shadow text when editing text containers without a keyboard on iOS [GitHub #6329](https://github.com/excalidraw/excalidraw/issues/6329)\n\nThank you for your patience while I work on resolving these issues.\n","1.8.18":`\n## Fixed\n- Text scaling issue introduced in 1.8.17\n- [#1043](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/1043): Error handling when ${String.fromCharCode(96)}onCanvasColorChangeHook${String.fromCharCode(96)} is executed. This is used in the [Dynamic Styling Script](https://youtu.be/LtR04fNTKTM). \n`,"1.8.17":'\n## New from Excalidraw.com\n- Improved text wrapping in the ellipse and diamond shapes [6172](https://github.com/excalidraw/excalidraw/pull/6172)\n\n## New\n- Updated slideshow script\n\n
\n\n
\n\n## Fixed: \n- "Save to..." in the Stencil Library menu now works as expected [#1032](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/1032)\n',"1.8.16":'\n**!!! Modifier keys have changed, please review the table below !!!**\n[Click this to see the new shortcuts overview image](https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master/images/excalidraw-modifiers.png)\n\n## Fixed \n- This version was extensively tested and developed on MacOS to remove usability issues.\n- New command palette action to create a new drawing in a new tab\n- Modifier keys to open links in the active window, splitting the current view to the right, in a new tab, or in a popout window now behave consistently both in Excalidraw and when clicking a drawing that is embedded in a markdown note.\n- Drag & Drop properly works from within Obsidian, from a web browser, and from the OS file explorer\n\n
\n\n
\n',"1.8.14":"\n## Fixed\n- text element link gets deleted when the drawing is reloaded\n","1.8.13":'\n## Fixed\n- When changing a text element in markdown mode, the change seem to have showed up when switching back to Excalidraw mode, but then lost these changes when loading the file the next time.\n- Scrolling through a page that has embedded drawings on Obsidian Mobile accidently opens the drawing in Excalidraw when touching the image. Now you need to press and hold to open the image in Excalidraw. [#1003](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/1003)\n- The scrollbar is no longer visible when presenting using the SlideShow script\n- Stroke properties could not be changed when custom pen settings had "Stroke & fill applies to: All shapes". It works now.\n\n## QoL\n- Custom pens will remember the stroke changes until you press the pen preset button again.\n - This is a bit hard to explain, let me try... Essentially, when you use a custom pen, it will keep the changes you made to the pen (like changing the stroke width) until you press the pen-prereset button again. So, for example, if you\'re using a mind mapping custom pen and change its color, and then switch to a different tool like text, when you switch back to the freedraw tool using the Excalidraw tools panel, the pen will still have the same color you set earlier, but if you press the mind mapping pen-preset button, it will default back to your custom pen settings including your preset color.\n- Added new buttons to load current stroke color and background color in the pen settings dialog. Also added an edit box so you can configure any valid color string (including with transparency) for pen stroke and background colors. [#991](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/991)\n',"1.8.11":'\n
\n\n
\n\n# New\n- Support for referencing images from the internet in Excalidraw drawings, including YouTube thumbnail support. [#913](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/913)\n - Link to images on the internet without creating a copy in your Vault by holding down the CTRL key while dropping the link or image.\n - Automatic conversion of image URLs and YouTube links into image elements with original links added as a link on the element when pasting. Note, that if you only want to paste the plain text link (not the image), first double-click the canvas to start a new text element, then paste the link.\n- Two new options added to plugin settings:\n - Make mouse wheel zoom by default [#474](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/474)\n - Allow pinch zoom in pen mode [#828](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/828)\n- Update to the [Set Grid](https://github.com/zsviczian/obsidian-excalidraw-plugin/blob/master/ea-scripts/Set%20Grid.svg) script now saves the grid setting for the current file.\n',"1.8.10":'\n
\n\n
\n\n# QoL improvements\n- You can structure icons in the Obsidian tools panel by moving scripts to folders\n![image|300](https://user-images.githubusercontent.com/14358394/212389592-306130d0-209a-49df-99bb-c538f2155b23.png)\n- I added useful actions to the hamburger menu in both tray-mode and normal-mode. \n![image|150](https://user-images.githubusercontent.com/14358394/212534508-9107fd19-27ab-4415-8abc-bc97c73afc0b.png)\n- I added a new Export Image dialog. You can access the new export screen from the hamburger-menu\n![image|200](https://user-images.githubusercontent.com/14358394/212534654-7a479e23-8d5d-452e-9a18-a9896278aa27.png)\n- Links in help now point to Obsidian-Excalidraw relevant content.\n- I added a welcome screen\n![image|150](https://user-images.githubusercontent.com/14358394/212534568-3cd1e8a1-5b20-4a30-96e4-40d7dac57e33.png)\n- I updated the alternative dark mode / dynamic styling [script](https://gist.github.com/zsviczian/c7223c5b4af30d5c88a0cae05300305c)\n',"1.8.9":"\n# Minor QoL improvements\n- When you open a second drawing in the same Excalidraw view (i.e. by navigating a link) and make a change to this drawing, and then press UNDO, the entire drawing disappeared. Redo brought the image back, however, this behavior was frustrating. Not anymore...\n- On iPad\n - when you open the command palette, autozoom resized the drawing. If the Obsidian command palette or some other modal window is shown Excalidraw will not resize the view.\n - when you add a link to the drawing using the Command Palette, sometimes the link was added in a far corner of the drawing outside the current view area. This should be fixed now.","1.8.8":`\n
\n\n
\n\n# New\n- The plugin now includes support for [Perfect Freehand](https://perfect-freehand-example.vercel.app/) pen-options. I've also added a new [Alternative Pens](https://github.com/zsviczian/obsidian-excalidraw-plugin/blob/master/ea-scripts/Alternative%20Pens.md) script.\n- Embed scene in exported PNG and SVG images [#860](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/860). This means that the export will be a normal PNG or SVG image with the added functionality that if someone loads the image into excalidraw.com it will open as a normal excalidraw file.\n - I've added 2 new Command Palette actions (export PNG, export SVG with embedded scene).\n - If you SHIFT click ${String.fromCharCode(96)} Save as PNG (or SVG)${String.fromCharCode(96)} in the workspace-tab menu, Excalidraw will embed the scene in the export.\n- I updated the [Organic Line](https://github.com/zsviczian/obsidian-excalidraw-plugin/blob/master/ea-scripts/Organic%20Line.md) script. It has an improved thick-to-thin look and a new thin-to-thick-to-thin line type.\n\n# Fixed\n- Intelligent image width setting [#955](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/955). Before this change, when the embedded image was small, the image would be extended to meet the image width setting in plugin settings. From now on, if the image is smaller than max-width, it will only extend to max-width. You can still set 100% width using custom CSS. See more on that [here](https://github.com/zsviczian/obsidian-excalidraw-plugin#embedded-images).\n\n# New in ExcalidrawAutomate\n- I added the ${String.fromCharCode(96)} plaintext${String.fromCharCode(96)} parameter to ${String.fromCharCode(96)}ExcalidrawAutomate.create${String.fromCharCode(96)} . Using this, you can add some text below the frontmatter but above the ${String.fromCharCode(96)}# Text Elements${String.fromCharCode(96)} section. Use this for example to add metadata to your file. (e.g. I use this in my Daily Quote template to add a Dataview field for the ${String.fromCharCode(96)}Author::${String.fromCharCode(96)} and add the quote with a standard block reference, so I can easily reference it in other files. I also add the ${String.fromCharCode(96)}#quote${String.fromCharCode(96)} tag to the file using this.)\n- The script running in the ScriptEngine now also receives the ${String.fromCharCode(96)}TFile${String.fromCharCode(96)} object for the script itself. You can access this object during execution via the ${String.fromCharCode(96)}utils.scriptFile${String.fromCharCode(96)} variable. \n`,"1.8.7":'\n## New from Excalidraw.com\n- Support shrinking text containers to their original height when text is removed [#6025](https://github.com/excalidraw/excalidraw/pull/6025)\n
\n\n
\n\n## Fixed\n- removed the white background when editing arrow-label [#6033](https://github.com/excalidraw/excalidraw/pull/6033)\n- Minor style tweaks\n - for embedding Excalidraw into Obsidian Canvas. e.g. dragging no longer accidentally creates an image copy of the drawing, and\n - style tweaks on the Excalidraw canvas\n\n## New\n- If you set a different text color and sticky note border color, now if you change the border color, the text color will not be changed.\n',"1.8.6":`\n## New from Excalidraw.com:\n- Better default radius for rectangles [#5553](https://github.com/excalidraw/excalidraw/pull/5553). Existing drawings will look unchanged, this applies only to new rectangles.\n![image|200](https://user-images.githubusercontent.com/5153846/206264345-59fd7436-e87b-4bc9-ade8-9e6f6a6fd8c1.png)\n> [!attention]- ExcalidrawAutomate technical details\n> - ${String.fromCharCode(96)}strokeSharpness${String.fromCharCode(96)} is now deprecated\n> - use roundness instead\n> - ${String.fromCharCode(96)}roundness === null${String.fromCharCode(96)} is legacy ${String.fromCharCode(96)}strokeSharpness = "sharp"${String.fromCharCode(96)}\n> - ${String.fromCharCode(96)}roundness = { type: RoundnessType; value?: number }${String.fromCharCode(96)}\n> - type: 1, LEGACY, type:2 PROPORTIONAL_RADIUS, type:3 ADAPTIVE_RADIUS: 3\n> - value:\n> - Radius represented as % of element's largest side (width/height).\n> DEFAULT_PROPORTIONAL_RADIUS = 0.25;\n> - Fixed radius for the ADAPTIVE_RADIUS algorithm. In pixels.\n> DEFAULT_ADAPTIVE_RADIUS = 32;\n\n## New\n- For Obsidian 1.1.6 and above\n - Improved embedding into Obsidian Canvas\n - Improved embedding into Markdown documents\n- Added setting under ${String.fromCharCode(96)}Display/Default mode when opening Excalidraw${String.fromCharCode(96)} to always open the drawing in view mode on Mobile, but in normal mode on desktop. [#939](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/939)\n\n## Fixed\n- Zoom reset tooltip appears twice [#942](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/942)\n- Hid export library from library menu as it does not work due to Obsidian limitations. Use the command palette export library instead.\n- Arrow with label did not get exported and embedded correctly [#941](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/941)\n![image|200](https://user-images.githubusercontent.com/22638687/207845868-b352ddb1-7994-4f13-a0b2-f2e19bd72935.png)\n`,"1.8.4":'\n## New from Excalidraw.com\n- Labels on Arrows!!! [#5723](https://github.com/excalidraw/excalidraw/pull/5723)\n - To add a label press "Enter" or "Double click" on the arrow\n - Use "Cmd/Ctrl+double click" to enter the line editor\n\n
\n\n
\n\n## New\n- **Changed behavior**: In the Obsidian markdown editor clicking an Excalidraw image will not open the image (to avoid accidentally opening the image on a tablet). To open a drawing for editing in Excalidraw double click or long-tap on it. [#920](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/920)\n\n## Fixed \n- Text stroke color is not honored when pasting a HEX color string to an Excalidraw canvas open in an Obsidian popout window [#921](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/921)\n- The new [multi-line >> multi-element paste behavior](https://github.com/excalidraw/excalidraw/pull/5786) introduced in the previous release did not work as expected in Obsidian. Now it does.\n',"1.8.2":`\nIntroducing the [Excalidraw Slideshow Script](https://github.com/zsviczian/obsidian-excalidraw-plugin/blob/master/ea-scripts/Slideshow.md) - available in the script store\n
\n\n
\n\n## Fixed\n- Obsidian tools panel gets misplaced after switching Obsidian workspace tabs\n\n## New in ExcalidrawAutomate\n- changed ${String.fromCharCode(96)}viewToggleFullScreen(forceViewMode: boolean = false): void${String.fromCharCode(96)}: the function will toggle view mode on when going to full screen and view mode off when terminating full screen.\n- new functions\n${String.fromCharCode(96,96,96)}typescript\nsetViewModeEnabled(enabled: boolean):void;\nviewUpdateScene(\n scene: {\n elements?: ExcalidrawElement[];\n appState?: AppState;\n files?: BinaryFileData;\n commitToHistory?: boolean;\n },\n restore: boolean = false,\n ):void;\nviewZoomToElements(\n selectElements: boolean,\n elements: ExcalidrawElement[]\n ):void;\n${String.fromCharCode(96,96,96)}\n\n`,"1.8.1":`\n## New and fixes from Excalidraw.com\n- New text paste behavior. Pasting multiline text will generate separate text elements unless you hold down the shift button while pasting [#5786](https://github.com/excalidraw/excalidraw/pull/5786)\n- line editor fixes [#5927](https://github.com/excalidraw/excalidraw/pull/5927)\n\n## Fixed\n- The Command Palette "Insert link" action now inserts the new link at the top drawing layer, not at the bottom.\n- Updated, hopefully, better organized, Plugin Readme.\n\n## New\n- Second attempt at moving to React 18. This upgrade is required to maintain alignment with the core Excalidraw product and to continue to benefit from Excalidraw.com enhancements.\n- Added options to Plugin Settings\n - to disable autozoom when loading a drawing for the first time [#907](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/907)\n - to modify autosave interval. You can now set an autosave interval for desktop and for mobile [#888](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/888)\n\n## New in ExcalidrawAutomate\n- Published the obsidian_module on the ExcalidrawAutomate object. ${String.fromCharCode(96)}ExcalidrawAutomate.obsidian${String.fromCharCode(96)}. Publishing this object will give script developers increased flexibility and control over script automation.\n`,"1.8.0":'\n
\n\n
\n\n## New\n- Optical Character Recognition (OCR). Introducing the MVP (minimum viable product) release of the integration of [Taskbone](https://taskbone.com) OCR into Excalidraw. See the new scan button on the Obsidian tools panel.\n- New and improved full-screen mode\n - Activate using the Obsidian tools panel, the Obsidian Command Palette, or the Alt+F11 shortcut\n - The ESC key no longer closes full-screen\n - Full-screen mode works properly on iOS as well\n- Improved Icon visibility on the Obsidian tools panel\n- Added 3 additional buttons to the tools panel\n - Force save\n - Open link (useful on Mobile devices). In the case of LaTeX equations, the button opens the equation properties.\n - Open the link in a new pane. In the case of embedded markdown documents, the button opens the embed properties.\n\n## Fixed\n- The [deconstruct selected elements into a new drawing](https://github.com/zsviczian/obsidian-excalidraw-plugin/blob/master/ea-scripts/Deconstruct%20selected%20elements%20into%20new%20drawing.md) script now also correctly decomposes transcluded text elements.\n',"1.7.30":"\nFix:\n- Forcing the embedded image to always scale to 100% (a feature introduced in [1.7.26](https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/1.7.26)) scaled the embedded excalidraw drawings incorrectly on devices with a pixel ratio of 2 or 3 (e.g. iPads). This is now fixed, however, this fix might retrospectively impact drawings that use this feature. Sorry for that.\n","1.7.29":"\n- This is a big update that accommodates the **UI redesign** on Excalidraw.com [#5780](https://github.com/excalidraw/excalidraw/pull/5780). The change on the surface may seem superficial, however, I had to tweak a number of things to make it work in Obsidian. I hope I found everything that broke and fixed it, if not, I'll try to fix it quickly...\n- This update also comes with changes under the hood that **fix issues with Excalidraw Automate** - paving the way for further scripts, plus some smaller bug fixes.\n- I **reworked text wrapping**. In some cases, text wrapping in SVG exports looked different compared to how the text looked in Excalidraw. This should now be fixed.\n- If you are using the **Experimental Dynamic Styling** of the Excalidraw Toolbar, then I recommend updating your styling script following base on [this](https://gist.github.com/zsviczian/c7223c5b4af30d5c88a0cae05300305c)\n","1.7.27":'## New\n- Import SVG drawing as an Excalidraw object. [#679](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/679)\n\n
\n\n
\n\n## Fixed\n- Large drawings freeze on the iPad when opening the file. I implemented a workaround whereby Excalidraw will avoid zoom-to-fit drawings with over 1000 elements. [#863](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/863)\n- Reintroduced copy/paste to the context menu\n',"1.7.26":'## Fixed\n- Transcluded block with a parent bullet does not embed sub-bullet [#853](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/853)\n- Transcluded text will now exclude ^block-references at end of lines\n- Phantom duplicates of the drawing appear when "zoom to fit" results in a zoom value below 10% and there are many objects on the canvas [#850](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/850)\n- CTRL+Wheel will increase/decrease zoom in steps of 5% matching the behavior of the "+" & "-" zoom buttons.\n- Latest updates from Excalidarw.com\n - Freedraw flip not scaling correctly [#5752](https://github.com/excalidraw/excalidraw/pull/5752)\n - Multiple elements resizing regressions [#5586](https://github.com/excalidraw/excalidraw/pull/5586)\n\n## New - power user features\n- Force the embedded image to always scale to 100%. Note: this is a very niche feature with a very particular behavior that I built primarily for myself (even more so than other features in Excalidraw Obsidian - also built primarily for myself 😉)... This will reset your embedded image to 100% size every time you open the Excalidraw drawing, or in case you have embedded an Excalidraw drawing on your canvas inserted using this function, every time you update the embedded drawing, it will be scaled back to 100% size. This means that even if you resize the image on the drawing, it will reset to 100% the next time you open the file or you modify the original embedded object. This feature is useful when you decompose a drawing into separate Excalidraw files, but when combined onto a single canvas you want the individual pieces to maintain their actual sizes. I use this feature to construct Book-on-a-Page summaries from atomic drawings.\n- I added an action to the command palette to temporarily disable/enable Excalidraw autosave. When autosave is disabled, Excalidraw will still save your drawing when changing to another Obsidian window, but it will not save every 10 seconds. On a mobile device (but also on a desktop) this can lead to data loss if you terminate Obsidian abruptly (i.e. swipe the application away, or close Obsidian without first closing the drawing). Use this feature if you find Excalidraw laggy.'};class ReleaseNotes extends obsidian_module.Modal{constructor(e,A,t){super(e),this.plugin=A,this.version=t}onOpen(){var e;this.containerEl.classList.add("excalidraw-release"),this.titleEl.setText(`Welcome to Excalidraw ${null!==(e=this.version)&&void 0!==e?e:""}`),this.createForm()}async onClose(){this.contentEl.empty(),await this.plugin.loadSettings(),this.plugin.settings.previousRelease=PLUGIN_VERSION,await this.plugin.saveSettings()}async createForm(){let e=this.plugin.settings.previousRelease;e=this.version===e?"0.0.0":e;const A=this.version?Object.keys(RELEASE_NOTES).filter((A=>"Intro"===A||isVersionNewerThanOther(A,e))).map((e=>`${"Intro"===e?"":`# ${e}\n`}${RELEASE_NOTES[e]}`)).slice(0,10).join("\n\n---\n"):FIRST_RUN;await obsidian_module.MarkdownRenderer.renderMarkdown(A,this.contentEl,"",this.plugin),this.contentEl.createEl("p",{text:""},(e=>{e.style.textAlign="right",e.createEl("button",{text:"Close"}).onclick=()=>this.close()}))}}const TOOLS_PANEL_WIDTH=228;class ToolsPanel extends React__namespace.Component{constructor(e){super(e),this.pos1=0,this.pos2=0,this.pos3=0,this.pos4=0,this.penDownX=0,this.penDownY=0,this.previousWidth=0,this.previousHeight=0,this.onRightEdge=!1,this.onBottomEdge=!1;const A=e.view.plugin.getPackage(e.view.ownerWindow).react;this.containerRef=A.createRef(),this.state={visible:e.visible,top:50,left:200,theme:"dark",excalidrawViewMode:!1,minimized:!1,isDirty:!1,isFullscreen:!1,isPreviewMode:!0,scriptIconMap:{}}}updateScriptIconMap(e){this.setState((()=>({scriptIconMap:e})))}setPreviewMode(e){this.setState((()=>({isPreviewMode:e})))}setFullscreen(e){this.setState((()=>({isFullscreen:e})))}setDirty(e){this.setState((()=>({isDirty:e})))}setExcalidrawViewMode(e){this.setState((()=>({excalidrawViewMode:e})))}toggleVisibility(e){this.setTopCenter(e),this.setState((e=>({visible:!e.visible})))}setTheme(e){this.setState((A=>({theme:e})))}setTopCenter(e){this.setState((()=>({left:(this.containerRef.current.clientWidth-228-(e?0:232))/2+this.containerRef.current.parentElement.offsetLeft+(e?0:232),top:64+this.containerRef.current.parentElement.offsetTop})))}updatePosition(e=0,A=0){this.setState((()=>{const{offsetTop:t,offsetLeft:i,clientWidth:n,clientHeight:a}=this.containerRef.current.firstElementChild,r=t-e,s=i-A,{clientWidth:o,clientHeight:l,offsetTop:c,offsetLeft:d}=this.containerRef.current.parentElement;return this.previousHeight=l,this.previousWidth=o,this.onBottomEdge=r>=l-a+c,this.onRightEdge=s>=o-n+d,{top:r{e.preventDefault(),Math.abs(this.penDownX-this.pos3)>5||Math.abs(this.penDownY-this.pos4)>5||this.setState((e=>({minimized:!e.minimized})))},onPointerDown:e=>{const A=e=>{e.preventDefault(),this.pos1=this.pos3-e.clientX,this.pos2=this.pos4-e.clientY,this.pos3=e.clientX,this.pos4=e.clientY,this.updatePosition(this.pos2,this.pos1)},t=()=>{var e,i;null===(e=this.props.view.ownerDocument)||void 0===e||e.removeEventListener("pointerup",t),null===(i=this.props.view.ownerDocument)||void 0===i||i.removeEventListener("pointermove",A)};e.preventDefault(),this.penDownX=this.pos3=e.clientX,this.penDownY=this.pos4=e.clientY,this.props.view.ownerDocument.addEventListener("pointerup",t),this.props.view.ownerDocument.addEventListener("pointermove",A)}},React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 228 26"},React__namespace.createElement("path",{stroke:"var(--icon-fill-color)",strokeWidth:"2",d:"M40,7 h148 M40,13 h148 M40,19 h148"}))),React__namespace.createElement("div",{className:"Island App-menu__left scrollbar",style:{maxHeight:"350px",width:"initial","--padding":2,display:this.state.minimized?"none":"block"}},React__namespace.createElement("div",{className:"panelColumn"},React__namespace.createElement("fieldset",null,React__namespace.createElement("legend",null,"Utility actions"),React__namespace.createElement("div",{className:"buttonList buttonListIcon"},React__namespace.createElement(ActionButton,{key:"scriptEngine",title:t$d("INSTALL_SCRIPT_BUTTON"),action:()=>{new ScriptInstallPrompt(this.props.view.plugin).open()},icon:ICONS.scriptEngine,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"release-notes",title:t$d("READ_RELEASE_NOTES"),action:()=>{new ReleaseNotes(this.props.view.app,this.props.view.plugin,PLUGIN_VERSION).open()},icon:ICONS.releaseNotes,view:this.props.view}),null===this.state.isPreviewMode?React__namespace.createElement(ActionButton,{key:"convert",title:t$d("CONVERT_FILE"),action:()=>{this.props.view.convertExcalidrawToMD()},icon:ICONS.convertFile,view:this.props.view}):React__namespace.createElement(ActionButton,{key:"viewmode",title:this.state.isPreviewMode?t$d("PARSED"):t$d("RAW"),action:()=>{this.state.isPreviewMode?this.props.view.changeTextMode(TextMode.raw):this.props.view.changeTextMode(TextMode.parsed)},icon:this.state.isPreviewMode?ICONS.rawMode:ICONS.parsedMode,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"tray-mode",title:t$d("TRAY_MODE"),action:()=>{this.props.view.toggleTrayMode()},icon:ICONS.trayMode,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"fullscreen",title:this.state.isFullscreen?t$d("EXIT_FULLSCREEN"):t$d("GOTO_FULLSCREEN"),action:()=>{this.state.isFullscreen?this.props.view.exitFullscreen():this.props.view.gotoFullscreen()},icon:this.state.isFullscreen?ICONS.exitFullScreen:ICONS.gotoFullScreen,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"search",title:t$d("SEARCH"),action:()=>{search(this.props.view)},icon:ICONS.search,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"ocr",title:t$d("RUN_OCR"),action:e=>{this.props.view.plugin.settings.taskboneEnabled?this.props.view.plugin.taskbone.getTextForView(this.props.view,isCTRL(e)):new obsidian_module.Notice("Taskbone OCR is not enabled. Please go to plugins settings to enable it.",4e3)},icon:ICONS.ocr,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"openLink",title:t$d("OPEN_LINK_CLICK"),action:e=>{const A=new MouseEvent("click",{ctrlKey:e.ctrlKey||!(DEVICE.isIOS||DEVICE.isMacOS),metaKey:e.metaKey||DEVICE.isIOS||DEVICE.isMacOS,shiftKey:e.shiftKey,altKey:e.altKey});this.props.view.handleLinkClick(A)},icon:ICONS.openLink,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"openLinkProperties",title:t$d("OPEN_LINK_PROPS"),action:()=>{const e=new MouseEvent("click",{ctrlKey:!0,metaKey:!0,shiftKey:!1,altKey:!1});this.props.view.handleLinkClick(e)},icon:ICONS.openLinkProperties,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"save",title:t$d("FORCE_SAVE"),action:()=>{this.props.view.forceSave()},icon:saveIcon(this.state.isDirty),view:this.props.view}))),React__namespace.createElement("fieldset",null,React__namespace.createElement("legend",null,"Export actions"),React__namespace.createElement("div",{className:"buttonList buttonListIcon"},React__namespace.createElement(ActionButton,{key:"lib",title:t$d("DOWNLOAD_LIBRARY"),action:()=>{this.props.view.plugin.exportLibrary()},icon:ICONS.exportLibrary,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"svg",title:t$d("EXPORT_SVG"),action:()=>{this.props.view.saveSVG(),new obsidian_module.Notice(`File saved: ${getIMGFilename(this.props.view.file.path,"svg")}`)},icon:ICONS.exportSVG,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"png",title:t$d("EXPORT_PNG"),action:()=>{this.props.view.savePNG(),new obsidian_module.Notice(`File saved: ${getIMGFilename(this.props.view.file.path,"png")}`)},icon:ICONS.exportPNG,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"excalidraw",title:t$d("EXPORT_EXCALIDRAW"),action:()=>{this.props.view.exportExcalidraw()},icon:ICONS.exportExcalidraw,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"md",title:t$d("OPEN_AS_MD"),action:()=>{this.props.view.openAsMarkdown()},icon:ICONS.switchToMarkdown,view:this.props.view}))),React__namespace.createElement("fieldset",null,React__namespace.createElement("legend",null,"Insert actions"),React__namespace.createElement("div",{className:"buttonList buttonListIcon"},React__namespace.createElement(ActionButton,{key:"image",title:t$d("INSERT_IMAGE"),action:()=>{this.props.centerPointer(),this.props.view.plugin.insertImageDialog.start(this.props.view)},icon:ICONS.insertImage,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"insertMD",title:t$d("INSERT_MD"),action:()=>{this.props.centerPointer(),this.props.view.plugin.insertMDDialog.start(this.props.view)},icon:ICONS.insertMD,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"latex",title:t$d("INSERT_LATEX"),action:e=>{isALT(e)?this.props.view.openExternalLink("https://youtu.be/r08wk-58DPk"):(this.props.centerPointer(),insertLaTeXToView(this.props.view))},icon:ICONS.insertLaTeX,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"link",title:t$d("INSERT_LINK"),action:()=>{this.props.centerPointer(),this.props.view.plugin.insertLinkDialog.start(this.props.view.file.path,this.props.view.addText)},icon:ICONS.insertLink,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"link-to-element",title:t$d("INSERT_LINK_TO_ELEMENT"),action:e=>{isALT(e)?this.props.view.openExternalLink("https://youtu.be/yZQoJg2RCKI"):this.props.view.copyLinkToSelectedElementToClipboard(isCTRL(e)?"group=":isSHIFT(e)?"area=":"")},icon:ICONS.copyElementLink,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"import-svg",title:t$d("IMPORT_SVG"),action:e=>{this.props.view.plugin.importSVGDialog.start(this.props.view)},icon:ICONS.importSVG,view:this.props.view}))),this.renderScriptButtons(!1),this.renderScriptButtons(!0)))))}renderScriptButtons(e){if(0===Object.keys(this.state.scriptIconMap).length)return"";const A=`${this.props.view.plugin.settings.scriptFolderPath}/Downloaded/`,t=t=>e?t.startsWith(A):!t.startsWith(A);if(0===Object.keys(this.state.scriptIconMap).filter((e=>t(e))).length)return"";const i=new Set;Object.keys(this.state.scriptIconMap).filter((e=>t(e))).forEach((e=>i.add(this.state.scriptIconMap[e].group)));const n=Array.from(i).sort(((e,A)=>e>A?1:-1));return n.push(n.shift()),React__namespace.createElement(React__namespace.Fragment,null,n.map((A=>React__namespace.createElement("fieldset",null,React__namespace.createElement("legend",null,e?A:""===A?"User":"User/"+A),React__namespace.createElement("div",{className:"buttonList buttonListIcon"},Object.entries(this.state.scriptIconMap).filter((([e,t])=>t.group===A)).sort().map((([e,A])=>React__namespace.createElement(ActionButton,{key:e,title:A.name,action:async()=>{const A=this.props.view,t=A.plugin,i=app.vault.getAbstractFileByPath(e);i&&i instanceof obsidian_module.TFile&&t.scriptEngine.executeScript(A,await app.vault.read(i),t.scriptEngine.getScriptName(i),i)},longpress:async()=>{const t=this.props.view,i=t.excalidrawAPI,n=t.plugin;await n.loadSettings();const a=n.settings.pinnedScripts.indexOf(e);a>-1?(n.settings.pinnedScripts.splice(a,1),null==i||i.setToast({message:`Pin removed: ${A.name}`,duration:3e3,closable:!0})):(n.settings.pinnedScripts.push(e),null==i||i.setToast({message:`Pinned: ${A.name}`,duration:3e3,closable:!0})),await n.saveSettings(),app.workspace.getLeavesOfType("excalidraw").forEach((e=>{e.view instanceof ExcalidrawView&&e.view.updatePinnedScripts()}))},icon:A.svgString?stringToSVG(A.svgString):ICONS.cog,view:this.props.view}))))))))}}const getElementsAtPointer=(e,A,t)=>A.filter((A=>{if(t&&A.type!==t)return!1;if(A.locked)return!1;const[i,n,a,r]=rotatedDimensions(A);return i<=e.x&&i+a>=e.x&&n<=e.y&&n+r>=e.y})),getTextElementAtPointer=(e,A)=>{const t=A.excalidrawAPI;if(!t)return{id:null,text:null};const i=getElementsAtPointer(e,t.getSceneElements(),"text");if(0==i.length)return{id:null,text:null};if(1===i.length)return{id:i[0].id,text:i[0].text};const n=i.filter((e=>{const t=A.textMode===TextMode.parsed?A.excalidrawData.getRawText(e.id):e.text;return!!t&&(!!t.match(REG_LINKINDEX_HYPERLINK)||!!REGEX_LINK.getRes(t).next().value)}));return 0==n.length?{id:i[0].id,text:i[0].text}:{id:n[0].id,text:n[0].text}},getImageElementAtPointer=(e,A)=>{const t=A.excalidrawAPI;if(!t)return;const i=getElementsAtPointer(e,t.getSceneElements(),"image");return 0===i.length?{id:null,fileId:null}:i.length>=1?{id:i[0].id,fileId:i[0].fileId}:void 0},getElementWithLinkAtPointer=(e,A)=>{const t=A.excalidrawAPI;if(!t)return;const i=getElementsAtPointer(e,t.getSceneElements()).filter((e=>e.link));return 0===i.length?{id:null,text:null}:i.length>=1?{id:i[0].id,text:i[0].link}:void 0};class MenuLinks{constructor(e,A){this.render=(e,A)=>React__namespace.createElement("div",null,"Hello"),this.plugin=e,this.ref=A}}const getEA=e=>{try{return window.ExcalidrawAutomate.getAPI(e)}catch(e){return console.log({message:"Excalidraw not available",fn:getEA}),null}};class ExportDialog extends obsidian_module.Modal{constructor(e,A,t){super(app),this.plugin=e,this.view=A,this.file=t,this.dirty=!1,this.ea=getEA(this.view),this.api=this.ea.getExcalidrawAPI(),this.padding=getExportPadding(this.plugin,this.file),this.scale=getPNGScale(this.plugin,this.file),this.theme=getExportTheme(this.plugin,this.file,this.api.getAppState().theme),this.boundingBox=this.ea.getBoundingBox(this.ea.getViewElements()),this.embedScene=!1,this.saveToVault=!0,this.transparent=!getWithBackground(this.plugin,this.file),this.saveSettings=!1}onOpen(){this.containerEl.classList.add("excalidraw-release"),this.titleEl.setText("Export Image")}async onClose(){this.dirty=this.saveSettings}async createForm(){let e,A;this.contentEl.createEl("h1",{text:"Image settings"}),this.contentEl.createEl("p",{text:"Transparency only affects PNGs. Excalidraw files can only be exported outside the Vault. PNGs copied to clipboard may not include the scene."});const t=()=>{const e=Math.round(this.scale*this.boundingBox.width+2*this.padding),A=Math.round(this.scale*this.boundingBox.height+2*this.padding);return fragWithHTML(`The lager the scale, the larger the image.
Scale: ${this.scale}
Image size: ${e}x${A}`)},i=()=>fragWithHTML(`Current image padding is ${this.padding}`);A=new obsidian_module.Setting(this.contentEl).setName("Image padding").setDesc(i()).addSlider((n=>{n.setLimits(0,50,1).setValue(this.padding).onChange((n=>{this.padding=n,e.setDesc(t()),A.setDesc(i())}))})),e=new obsidian_module.Setting(this.contentEl).setName("PNG Scale").setDesc(t()).addSlider((A=>A.setLimits(.5,5,.5).setValue(this.scale).onChange((A=>{this.scale=A,e.setDesc(t())}))));const n=()=>`Export with ${this.theme} theme`,a=new obsidian_module.Setting(this.contentEl).setName(n()).setDesc(fragWithHTML("Toggle on: Export with light theme
Toggle off: Export with dark theme")).addToggle((e=>e.setValue("dark"!==this.theme).onChange((e=>{this.theme=e?"light":"dark",a.setName(n())})))),r=()=>`Export with ${this.transparent?"transparent ":""}background`,s=new obsidian_module.Setting(this.contentEl).setName(r()).setDesc(fragWithHTML("Toggle on: Export with transparent background
Toggle off: Export with background")).addToggle((e=>e.setValue(this.transparent).onChange((e=>{this.transparent=e,s.setName(r())})))),o=()=>this.saveSettings?"Save these settings as the preset for this image":"These are one-time settings",l=new obsidian_module.Setting(this.contentEl).setName(o()).setDesc(fragWithHTML("Saving these settings as preset will override general export settings for this image.
Toggle on: Save as preset for this image
Toggle off: Don't save as preset")).addToggle((e=>e.setValue(this.saveSettings).onChange((e=>{this.saveSettings=e,l.setName(o())}))));this.contentEl.createEl("h1",{text:"Export settings"});const c=()=>this.embedScene?"Embed scene":"Do not embed scene",d=new obsidian_module.Setting(this.contentEl).setName(c()).setDesc(fragWithHTML("Embed the Excalidraw scene into the PNG or SVG image
Toggle on: Embed scene
Toggle off: Do not embed scene")).addToggle((e=>e.setValue(this.embedScene).onChange((e=>{this.embedScene=e,d.setName(c())}))));if(DEVICE.isDesktop){const e=()=>this.saveToVault?"Save image to your Vault":"Export image outside your Vault",A=new obsidian_module.Setting(this.contentEl).setName(e()).setDesc(fragWithHTML("Toggle on: Save image to your Vault in the same folder as this drawing
Toggle off: Save image outside your Vault")).addToggle((t=>t.setValue(this.saveToVault).onChange((t=>{this.saveToVault=t,A.setName(e())}))))}const h=this.contentEl.createDiv({cls:"excalidraw-prompt-buttons-div"});h.createEl("button",{text:"PNG to File",cls:"excalidraw-prompt-button"}).onclick=()=>{this.saveToVault?this.view.savePNG():this.view.exportPNG(),this.close()},h.createEl("button",{text:"SVG to File",cls:"excalidraw-prompt-button"}).onclick=()=>{this.saveToVault?this.view.saveSVG():this.view.exportSVG(),this.close()},h.createEl("button",{text:"Excalidraw",cls:"excalidraw-prompt-button"}).onclick=()=>{this.view.exportExcalidraw(),this.close()},DEVICE.isDesktop&&(h.createEl("button",{text:"PNG to Clipboard",cls:"excalidraw-prompt-button"}).onclick=()=>{this.view.exportPNGToClipboard(),this.close()})}}var TextMode;!function(e){e.parsed="parsed",e.raw="raw"}(TextMode||(TextMode={}));const HIDE="excalidraw-hidden",SHOW="excalidraw-visible",addFiles=async(e,A,t)=>{if(!e||0===e.length||!A)return;const i=A.excalidrawAPI;if(!i)return;if(e=e.filter((e=>e&&e.size&&e.size.height>0&&e.size.width>0)),0===e.length)return;const n=scaleLoadedImage(A.getScene(),e);void 0===t&&(t=n.scene.appState.theme),n.dirty&&await A.updateScene({elements:n.scene.elements,appState:n.scene.appState,commitToHistory:!1});for(const i of e)if(A.excalidrawData.hasFile(i.id)&&A.excalidrawData.getFile(i.id).setImage(i.dataURL,i.mimeType,i.size,t,i.hasSVGwithBitmap),A.excalidrawData.hasEquation(i.id)){const e=A.excalidrawData.getEquation(i.id).latex;A.excalidrawData.setEquation(i.id,{latex:e,isLoaded:!0})}i.addFiles(e)},warningUnknowSeriousError=()=>{new obsidian_module.Notice("WARNING: Excalidraw ran into an unknown problem!\n\nThere is a risk that your most recent changes cannot be saved.\n\nTo be on the safe side...\n1) Please select your drawing using CTRL/CMD+A and make a copy with CTRL/CMD+C.\n2) Then create an empty drawing in a new pane by CTRL/CMD+clicking the Excalidraw ribbon button,\n3) and paste your work to the new document with CTRL/CMD+V.",6e4)};class ExcalidrawView extends obsidian_module.TextFileView{constructor(e,A){super(e),this.getScene=null,this.addElements=null,this.getSelectedTextElement=null,this.getSelectedImageElement=null,this.getSelectedElementWithLink=null,this.addText=null,this.refresh=null,this.excalidrawRef=null,this.excalidrawAPI=null,this.excalidrawWrapperRef=null,this.toolsPanelRef=null,this.linksAlwaysOpenInANewPane=!1,this.lastSaveTimestamp=0,this.modifierKeyDown={shiftKey:!1,metaKey:!1,ctrlKey:!1,altKey:!1},this.currentPosition={x:0,y:0},this.semaphores={popoutUnload:!1,viewunload:!1,scriptsReady:!1,justLoaded:!1,preventAutozoom:!1,autosaving:!1,dirty:null,preventReload:!1,isEditingText:!1,saving:!1,forceSaving:!1,hoverSleep:!1,wheelTimeout:null},this.autosaveTimer=null,this.textMode=TextMode.raw,this.compatibilityMode=!1,this.isEditingTextResetTimer=null,this.id=this.leaf.id,this.getHookServer=()=>{var e;return null!==(e=this.hookServer)&&void 0!==e?e:this.plugin.ea},this.preventReloadResetTimer=null,this.hiddenMobileLeaves=[],this.offsetLeft=0,this.offsetTop=0,this.blockTextModeChange=!1,this.isLoaded=!1,this.activeLoader=null,this.nextLoader=null,this.initialContainerSizeUpdate=!1,this.previousSceneVersion=0,this.previousBackgroundColor="",this.colorChangeTimer=null,this.plugin=A,this.excalidrawData=new ExcalidrawData(A),this.hookServer=A.ea}setHookServer(e){this.hookServer=e||this.plugin.ea}preventAutozoom(){this.semaphores.preventAutozoom=!0,setTimeout((()=>this.semaphores.preventAutozoom=!1),1500)}saveExcalidraw(e){if(!e){if(!this.getScene)return!1;e=this.getScene()}const A=`${this.file.path.substring(0,this.file.path.lastIndexOf(".md"))}.excalidraw`,t=app.vault.getAbstractFileByPath(obsidian_module.normalizePath(A));t&&t instanceof obsidian_module.TFile?app.vault.modify(t,JSON.stringify(e,null,"\t")):app.vault.create(A,JSON.stringify(e,null,"\t"))}async exportExcalidraw(){this.getScene&&this.file&&(app.isMobile?new Prompt(app,"Please provide filename",this.file.basename,"filename, leave blank to cancel action").openAndGetValue((async e=>{if(!e)return;e=`${e}.excalidraw`;const A=splitFolderAndFilename(this.file.path).folderpath;await checkAndCreateFolder(A);const t=getNewUniqueFilepath(app.vault,e,A);app.vault.create(t,JSON.stringify(this.getScene(),null,"\t")),new obsidian_module.Notice(`Exported to ${t}`,6e3)})):download("data:text/plain;charset=utf-8",encodeURIComponent(JSON.stringify(this.getScene(),null,"\t")),`${this.file.basename}.excalidraw`))}async svg(e,A,t){const i=this.exportDialog,n={withBackground:i?!i.transparent:getWithBackground(this.plugin,this.file),withTheme:!0};return await getSVG(Object.assign(Object.assign({},e),{appState:Object.assign(Object.assign({},e.appState),{theme:null!=A?A:i?i.theme:getExportTheme(this.plugin,this.file,e.appState.theme),exportEmbedScene:void 0===t?!!i&&i.embedScene:t})}),n,i?i.padding:getExportPadding(this.plugin,this.file))}async saveSVG(e,A){if(!e){if(!this.getScene)return!1;e=this.getScene()}const t=async(t,i)=>{const n=app.vault.getAbstractFileByPath(obsidian_module.normalizePath(t)),a=await this.svg(e,i,A);if(!a)return;const r=(new XMLSerializer).serializeToString(embedFontsInSVG(a,this.plugin));n&&n instanceof obsidian_module.TFile?await app.vault.modify(n,r):await app.vault.create(t,r)};this.plugin.settings.autoExportLightAndDark?(await t(getIMGFilename(this.file.path,"dark.svg"),"dark"),await t(getIMGFilename(this.file.path,"light.svg"),"light")):await t(getIMGFilename(this.file.path,"svg"))}async exportSVG(e){if(!this.getScene||!this.file)return;let A=await this.svg(this.getScene(),void 0,e);A&&(A=embedFontsInSVG(A,this.plugin),download(null,svgToBase64(A.outerHTML),`${this.file.basename}.svg`))}async png(e,A,t){const i=this.exportDialog,n={withBackground:i?!i.transparent:getWithBackground(this.plugin,this.file),withTheme:!0};return await getPNG(Object.assign(Object.assign({},e),{appState:Object.assign(Object.assign({},e.appState),{theme:null!=A?A:i?i.theme:getExportTheme(this.plugin,this.file,e.appState.theme),exportEmbedScene:void 0===t?!!i&&i.embedScene:t})}),n,i?i.padding:getExportPadding(this.plugin,this.file),i?i.scale:getPNGScale(this.plugin,this.file))}async savePNG(e,A){if(!e){if(!this.getScene)return!1;e=this.getScene()}const t=async(t,i)=>{const n=app.vault.getAbstractFileByPath(obsidian_module.normalizePath(t)),a=await this.png(e,i,A);a&&(n&&n instanceof obsidian_module.TFile?await app.vault.modifyBinary(n,await a.arrayBuffer()):await app.vault.createBinary(t,await a.arrayBuffer()))};this.plugin.settings.autoExportLightAndDark?(await t(getIMGFilename(this.file.path,"dark.png"),"dark"),await t(getIMGFilename(this.file.path,"light.png"),"light")):await t(getIMGFilename(this.file.path,"png"))}async exportPNGToClipboard(e){if(!this.getScene||!this.file)return;const A=await this.png(this.getScene(),void 0,e);A&&await navigator.clipboard.write([new window.ClipboardItem({"image/png":A})])}async exportPNG(e){if(!this.getScene||!this.file)return;const A=await this.png(this.getScene(),void 0,e);if(!A)return;const t=new FileReader;t.readAsDataURL(A);const i=this;t.onloadend=function(){const e=t.result;download(null,e,`${i.file.basename}.png`)}}async save(e=!0,A=!1){if(!this.isLoaded)return;if(this.semaphores.saving)return;this.semaphores.saving=!0;let t=!1;if(this.getScene&&this.excalidrawAPI&&this.isLoaded&&this.file&&app.vault.getAbstractFileByPath(this.file.path)){try{const i=Boolean(null!==this.semaphores.dirty&&this.semaphores.dirty||this.semaphores.autosaving||A),n=this.getScene();if(this.compatibilityMode?await this.excalidrawData.syncElements(n):await this.excalidrawData.syncElements(n,this.excalidrawAPI.getAppState().selectedElementIds)&&!this.semaphores.popoutUnload&&await this.loadDrawing(!1,this.excalidrawAPI.getSceneElementsIncludingDeleted().filter((e=>e.isDeleted))),i&&(this.preventReloadResetTimer&&(clearTimeout(this.preventReloadResetTimer),this.preventReloadResetTimer=null),this.semaphores.preventReload=e,await super.save(),t=this.lastSaveTimestamp===this.file.stat.mtime&&!e&&A,this.lastSaveTimestamp=this.file.stat.mtime,this.clearDirty(),e)){const e=this;this.preventReloadResetTimer=setTimeout((()=>e.semaphores.preventReload=!1),2e3)}if(!t&&!this.semaphores.autosaving&&!this.semaphores.viewunload){const e=this.excalidrawData.autoexportPreference;(e===AutoexportPreference.inherit&&this.plugin.settings.autoexportSVG||e===AutoexportPreference.both||e===AutoexportPreference.svg)&&this.saveSVG(),(e===AutoexportPreference.inherit&&this.plugin.settings.autoexportPNG||e===AutoexportPreference.both||e===AutoexportPreference.png)&&this.savePNG(),!this.compatibilityMode&&this.plugin.settings.autoexportExcalidraw&&this.saveExcalidraw()}}catch(e){errorlog({where:"ExcalidrawView.save",fn:this.save,error:e}),warningUnknowSeriousError()}this.semaphores.saving=!1,t&&this.reload(!0,this.file)}else this.semaphores.saving=!1}getViewData(){var e,A,t;if(!this.getScene)return this.data;if(!this.excalidrawData.loaded)return this.data;const i=this.getScene();if(!this.compatibilityMode){let i=this.data.search(/(^%%\n)?# Text Elements\n/m);if(-1==i&&(i=this.data.search(/(%%\n)?# Drawing\n/)),-1==i)return this.data;const n=(null===(e=this.exportDialog)||void 0===e?void 0:e.dirty)&&(null===(A=this.exportDialog)||void 0===A?void 0:A.saveSettings)?[["excalidraw-export-padding",this.exportDialog.padding.toString()],["excalidraw-export-pngscale",this.exportDialog.scale.toString()],["excalidraw-export-dark","dark"===this.exportDialog.theme?"true":"false"],["excalidraw-export-transparent",this.exportDialog.transparent?"true":"false"],[FRONTMATTER_KEY,this.textMode===TextMode.raw?"raw":"parsed"]]:[[FRONTMATTER_KEY,this.textMode===TextMode.raw?"raw":"parsed"]];(null===(t=this.exportDialog)||void 0===t?void 0:t.dirty)&&(this.exportDialog.dirty=!1);let a=updateFrontmatterInString(this.data.substring(0,i),n);const r=/(^---[\w\W]*?---\n)(!\[\[.*?]]\n(%%\n)?)/m;a.match(r)&&(a=a.replace(r,"$1")),this.excalidrawData.disableCompression||(this.excalidrawData.disableCompression=this.isEditedAsMarkdownInOtherView());const s=a+this.excalidrawData.generateMD(this.excalidrawAPI.getSceneElementsIncludingDeleted().filter((e=>e.isDeleted)));return this.excalidrawData.disableCompression=!1,s}return this.compatibilityMode?JSON.stringify(i,null,"\t"):this.data}restoreMobileLeaves(){this.hiddenMobileLeaves.length>0&&(this.hiddenMobileLeaves.forEach((e=>{e[0].containerEl.style.display=e[1]})),this.hiddenMobileLeaves=[])}gotoFullscreen(){this.plugin.leafChangeTimeout&&(clearTimeout(this.plugin.leafChangeTimeout),this.plugin.leafChangeTimeout=null),this.excalidrawWrapperRef&&(this.toolsPanelRef&&this.toolsPanelRef.current&&this.toolsPanelRef.current.setFullscreen(!0),(e=>{for(;e&&!e.hasClass("workspace-split");)e.addClass(SHOW),e=e.parentElement;e&&e.addClass(SHOW);const A=this.ownerDocument;A.body.querySelectorAll(`div.workspace-split:not(.${SHOW})`).forEach((e=>e.addClass(HIDE))),A.body.querySelector(`div.workspace-leaf-content.${SHOW} > .view-header`).addClass(HIDE),A.body.querySelectorAll(`div.workspace-tab-container.${SHOW} > div.workspace-leaf:not(.${SHOW})`).forEach((e=>e.addClass(HIDE))),A.body.querySelectorAll(`div.workspace-tabs.${SHOW} > div.workspace-tab-header-container`).forEach((e=>e.addClass(HIDE))),A.body.querySelectorAll(`div.workspace-split.${SHOW} > div.workspace-tabs:not(.${SHOW})`).forEach((e=>e.addClass(HIDE))),A.body.querySelectorAll("div.workspace-ribbon").forEach((e=>e.addClass(HIDE))),A.body.querySelectorAll("div.mobile-navbar").forEach((e=>e.addClass(HIDE))),A.body.querySelectorAll("div.status-bar").forEach((e=>e.addClass(HIDE)))})(this.contentEl))}isFullscreen(){return Boolean(document.body.querySelector(".excalidraw-hidden"))}exitFullscreen(){this.toolsPanelRef&&this.toolsPanelRef.current&&this.toolsPanelRef.current.setFullscreen(!1);const e=this.ownerDocument;e.querySelectorAll(".excalidraw-hidden").forEach((e=>e.removeClass(HIDE))),e.querySelectorAll(".excalidraw-visible").forEach((e=>e.removeClass(SHOW)))}removeLinkTooltip(){const e=this.ownerDocument.body.querySelector("body>div.excalidraw-tooltip,div.excalidraw-tooltip--visible");e&&this.ownerDocument.body.removeChild(e)}handleLinkHookCall(e,A,t){if(this.getHookServer().onLinkClickHook)try{if(!this.getHookServer().onLinkClickHook(e,A,t,this,this.getHookServer()))return!0}catch(e){errorlog({where:"ExcalidrawView.onLinkOpen",fn:this.getHookServer().onLinkClickHook,error:e})}return!1}openExternalLink(e,A){return!!e.match(REG_LINKINDEX_HYPERLINK)&&(window.open(e,"_blank"),!0)}openTagSearch(e){const A=e.matchAll(/#([\p{Letter}\p{Emoji_Presentation}\p{Number}\/_-]+)/gu).next();if(!A.value||A.value.length<2)return;const t=app.workspace.getLeavesOfType("search");0!=t.length&&(t[0].view.setQuery(`tag:${A.value[1]}`),app.workspace.revealLeaf(t[0]),this.isFullscreen()&&this.exitFullscreen())}async linkClick(e,A,t,i,n){var a,r,s,o;A||(A={id:null,text:null}),t||(t={id:null,fileId:null}),i||(i={id:null,text:null}),n||(n={shiftKey:e.shiftKey,ctrlKey:e.ctrlKey,metaKey:e.metaKey,altKey:e.altKey});const l=linkClickModifierType(n);let c=null,d=null,h=null;if((null==A?void 0:A.id)||(null==i?void 0:i.id)){if(h=null!==(a=null==i?void 0:i.text)&&void 0!==a?a:this.textMode===TextMode.parsed?this.excalidrawData.getRawText(A.id):A.text,!h)return;h=h.replaceAll("\n","");const t=null!==(r=A.id)&&void 0!==r?r:i.id,n=this.excalidrawAPI.getSceneElements().filter((e=>e.id===t))[0];if(this.handleLinkHookCall(n,h,e))return;if(this.openExternalLink(h))return;const s=REGEX_LINK.getRes(h).next();if(!s.value)return void this.openTagSearch(h);if(h=REGEX_LINK.getLink(s),this.openExternalLink(h))return;if(h.search("#")>-1){const e=getLinkParts(h,this.file);d=`#${e.isBlockRef?"^":""}${e.ref}`,h=e.path}if(h.match(REG_LINKINDEX_INVALIDCHARS))return void new obsidian_module.Notice(t$d("FILENAME_INVALID_CHARS"),4e3);c=this.app.metadataCache.getFirstLinkpathDest(h,this.file.path)}if(null==t?void 0:t.id){if(this.excalidrawData.hasEquation(t.fileId)){const e=this.excalidrawData.getEquation(t.fileId).latex;return void new Prompt(app,t$d("ENTER_LATEX"),e,"").openAndGetValue((async A=>{A&&A!==e&&(this.excalidrawData.setEquation(t.fileId,{latex:A,isLoaded:!1}),await this.save(!1),await updateEquation(A,t.fileId,this,addFiles,this.plugin),this.setDirty(1))}))}if(await this.save(!1),this.excalidrawData.hasFile(t.fileId)){const e=this.excalidrawData.getFile(t.fileId);if(e.isHyperlink)return void window.open(e.hyperlink,"_blank");if("md-properties"===l&&"md"===e.file.extension&&!this.plugin.isExcalidrawFile(e.file))return void new Prompt(app,"Customize the link",e.linkParts.original,"","Do not add [[square brackets]] around the filename!
Follow this format when editing your link:
filename#^blockref|WIDTHxMAXHEIGHT").openAndGetValue((async A=>{A&&e.linkParts.original!==A&&(e.resetImage(this.file.path,A),await this.save(!1),await this.loadSceneFiles(),this.setDirty(2))}));h=e.file.path,c=e.file}}if(!h)return void new obsidian_module.Notice(t$d("LINK_BUTTON_CLICK_NO_TEXT"),2e4);const u=null!==(o=null!==(s=t.id)&&void 0!==s?s:A.id)&&void 0!==o?o:i.id,g=this.excalidrawAPI.getSceneElements().filter((e=>e.id===u))[0];if(!this.handleLinkHookCall(g,h,e))try{if("active-pane"!==l&&this.isFullscreen()&&this.exitFullscreen(),!c)return void new NewFileActions(this.plugin,h,n,this).open();this.linksAlwaysOpenInANewPane&&(n.ctrlKey=!0,n.altKey=!0);const e=getLeaf(this.plugin,this.leaf,n);await e.openFile(c,d?{active:!1,eState:{subpath:d}}:void 0)}catch(e){new obsidian_module.Notice(e,4e3)}}async handleLinkClick(e){this.removeLinkTooltip();const A=this.getSelectedTextElement(),t=(null==A?void 0:A.id)?null:this.getSelectedImageElement(),i=(null==t?void 0:t.id)||(null==A?void 0:A.id)?null:this.getSelectedElementWithLink();this.linkClick(e,A,t,i)}onResize(){var e,A;if(this.plugin.leafChangeTimeout)return;const t=this.excalidrawAPI;this.plugin.settings.zoomToFitOnResize&&this.excalidrawRef&&!this.semaphores.isEditingText&&t&&"text"!==(null===(A=null===(e=t.getAppState())||void 0===e?void 0:e.editingElement)||void 0===A?void 0:A.type)&&this.zoomToFit(!1)}getSceneVersion(e){return this.excalidrawGetSceneVersion||(this.excalidrawGetSceneVersion=this.plugin.getPackage(this.ownerWindow).excalidrawLib.getSceneVersion),this.excalidrawGetSceneVersion(e.filter((e=>!e.isDeleted)))}async forceSave(e=!1){this.semaphores.autosaving||this.semaphores.saving?e||new obsidian_module.Notice("Force Save aborted because saving is in progress)"):(this.preventReloadResetTimer&&(clearTimeout(this.preventReloadResetTimer),this.preventReloadResetTimer=null),this.semaphores.preventReload=!1,this.semaphores.forceSaving=!0,await this.save(!1,!0),this.plugin.triggerEmbedUpdates(),this.loadSceneFiles(),this.semaphores.forceSaving=!1,e||new obsidian_module.Notice("Save successful",1e3))}onload(){const e=Boolean(void 0===this.containerEl.onWindowMigrated);app.isMobile||e||this.containerEl.onWindowMigrated((()=>this.leaf.rebuildView()));const A=app.isMobile?document:this.containerEl.ownerDocument;this.ownerDocument=A,this.ownerWindow=this.ownerDocument.defaultView,this.plugin.getPackage(this.ownerWindow),this.semaphores.scriptsReady=!0,this.wheelEvent=e=>{this.semaphores.wheelTimeout&&clearTimeout(this.semaphores.wheelTimeout),this.semaphores.hoverSleep&&this.clearHoverPreview&&this.clearHoverPreview(),this.semaphores.wheelTimeout=setTimeout((()=>{clearTimeout(this.semaphores.wheelTimeout),this.semaphores.wheelTimeout=null}),1e3)},this.containerEl.addEventListener("wheel",this.wheelEvent,{passive:!1}),this.addAction("ScriptEngine",t$d("INSTALL_SCRIPT_BUTTON"),(()=>{new ScriptInstallPrompt(this.plugin).open()})),this.diskIcon=this.addAction("save",t$d("FORCE_SAVE"),(async()=>this.forceSave())),this.textIsRaw_Element=this.addAction("presentation",t$d("RAW"),(()=>this.changeTextMode(TextMode.parsed))),this.textIsParsed_Element=this.addAction("quote-glyph",t$d("PARSED"),(()=>this.changeTextMode(TextMode.raw))),this.linkAction_Element=this.addAction("link",t$d("OPEN_LINK"),(e=>this.handleLinkClick(e))),app.isMobile||this.addAction("fullscreen","Use the action on the Excalidraw Obsidian Panel or the Command Palette to exit fullscreen mode. You can set up a hotkey for toggling fullscreen mode in Obsidian settings under Hotkeys.",(()=>this.gotoFullscreen()));const t=this;app.workspace.onLayoutReady((async()=>{t.contentEl.addClass("excalidraw-view"),await t.addSlidingPanesListner(),t.addParentMoveObserver(),t.onKeyUp=e=>{t.modifierKeyDown={shiftKey:e.shiftKey,ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey}},t.onKeyDown=e=>{this.modifierKeyDown={shiftKey:e.shiftKey,ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey}},t.ownerWindow.addEventListener("keydown",t.onKeyDown,!1),t.ownerWindow.addEventListener("keyup",t.onKeyUp,!1)})),this.setupAutosaveTimer(),super.onload()}async addSlidingPanesListner(){const e=this;this.slidingPanesListner=()=>{e.refresh&&e.refresh()};let A=app.workspace.rootSplit;for(;!A;)await sleep(50),A=app.workspace.rootSplit;A.containerEl.addEventListener("scroll",this.slidingPanesListner)}removeSlidingPanesListner(){var e;this.slidingPanesListner&&(null===(e=app.workspace.rootSplit.containerEl)||void 0===e||e.removeEventListener("scroll",this.slidingPanesListner))}addParentMoveObserver(){var e;const A=null!==(e=getParentOfClass(this.containerEl,"popover"))&&void 0!==e?e:getParentOfClass(this.containerEl,"workspace-leaf");if(!A)return;const t=A.classList.contains("popover");this.offsetLeft=A.offsetLeft,this.offsetTop=A.offsetTop;const i=this;this.parentMoveObserver=new MutationObserver((async e=>{const A=e[0].target;if(!(A instanceof HTMLElement))return;const{offsetLeft:t,offsetTop:n}=A;t===i.offsetLeft&&n==i.offsetTop||(i.refresh&&i.refresh(),i.offsetLeft=t,i.offsetTop=n)})),this.parentMoveObserver.observe(A,{attributeOldValue:!0,attributeFilter:t?["data-x","data-y"]:["class","style"]})}removeParentMoveObserver(){this.parentMoveObserver&&this.parentMoveObserver.disconnect()}setTheme(e){const A=this.excalidrawAPI;if(!this.excalidrawRef||!A)return;if(this.file&&hasExportTheme(this.plugin,this.file))return;const t=A.getAppState();this.excalidrawData.scene.theme=e,this.updateScene({appState:Object.assign(Object.assign({},t),{theme:e}),commitToHistory:!1})}async changeTextMode(e,A=!0){if(this.compatibilityMode)return;if(this.blockTextModeChange)return;this.blockTextModeChange=!0,this.textMode=e,e===TextMode.parsed?(this.textIsRaw_Element.hide(),this.textIsParsed_Element.show()):(this.textIsRaw_Element.show(),this.textIsParsed_Element.hide()),this.toolsPanelRef&&this.toolsPanelRef.current&&this.toolsPanelRef.current.setPreviewMode(e===TextMode.parsed);const t=this.excalidrawAPI;t&&A&&(await this.save(),this.preventAutozoom(),await this.excalidrawData.loadData(this.data,this.file,this.textMode),this.excalidrawData.scene.appState.theme=t.getAppState().theme,await this.loadDrawing(!1),t.history.clear()),this.prevTextMode=this.textMode,this.blockTextModeChange=!1}setupAutosaveTimer(){const e=async()=>{var A;if(!this.isLoaded)return void(this.autosaveTimer=setTimeout(e,this.plugin.settings.autosaveInterval));const t=this.excalidrawAPI;if(!t)return void warningUnknowSeriousError();const i=t.getAppState(),n=null!==i.editingElement;if(this.refresh(),!this.semaphores.dirty||this.semaphores.dirty!=(null===(A=this.file)||void 0===A?void 0:A.path)||!this.plugin.settings.autosave||this.semaphores.forceSaving||this.semaphores.autosaving||n||null!==i.draggingElement)this.autosaveTimer=setTimeout(e,this.plugin.activeExcalidrawView===this&&this.semaphores.dirty&&this.plugin.settings.autosave?1e3:this.plugin.settings.autosaveInterval);else{if(this.autosaveTimer=null,this.excalidrawRef){this.semaphores.autosaving=!0;const e=this;this.save().then((()=>e.semaphores.autosaving=!1))}this.autosaveTimer=setTimeout(e,this.plugin.settings.autosaveInterval)}};this.autosaveTimer&&(clearTimeout(this.autosaveTimer),this.autosaveTimer=null),this.autosaveTimer=setTimeout(e,this.plugin.settings.autosaveInterval)}onunload(){var e,A,t,i,n,a;if(this.restoreMobileLeaves(),this.semaphores.viewunload=!0,this.semaphores.popoutUnload=this.ownerDocument!==document&&0===this.ownerDocument.body.querySelectorAll(".workspace-tab-header").length,null===(e=this.ownerWindow)||void 0===e||e.removeEventListener("keydown",this.onKeyDown,!1),null===(A=this.ownerWindow)||void 0===A||A.removeEventListener("keyup",this.onKeyUp,!1),this.containerEl.removeEventListener("wheel",this.wheelEvent,!1),this.getHookServer().onViewUnloadHook)try{this.getHookServer().onViewUnloadHook(this)}catch(e){errorlog({where:"ExcalidrawView.onunload",fn:this.getHookServer().onViewUnloadHook,error:e})}const r=null===(i=null===(t=this.containerEl)||void 0===t?void 0:t.ownerDocument)||void 0===i?void 0:i.body.querySelector("body>div.excalidraw-tooltip,div.excalidraw-tooltip--visible");r&&(null===(a=null===(n=this.containerEl)||void 0===n?void 0:n.ownerDocument)||void 0===a||a.body.removeChild(r)),this.removeParentMoveObserver(),this.removeSlidingPanesListner(),this.autosaveTimer&&(clearInterval(this.autosaveTimer),this.autosaveTimer=null)}async reload(e=!1,A){if(this.semaphores.preventReload)return void(this.semaphores.preventReload=!1);if(this.semaphores.saving)return;if(this.diskIcon.querySelector("svg").removeClass("excalidraw-dirty"),this.compatibilityMode)return void this.clearDirty();const t=this.excalidrawAPI;if(!this.excalidrawRef||!this.file||!t)return;const i=A&&A===this.file;i&&(this.data=await app.vault.read(A),this.preventAutozoom()),e?await this.excalidrawData.loadData(this.data,this.file,this.textMode):await this.excalidrawData.setTextMode(this.textMode),this.excalidrawData.scene.appState.theme=t.getAppState().theme,await this.loadDrawing(i),this.clearDirty()}async zoomToElementId(e,A){let t=0;for(;!this.excalidrawAPI&&t++<100;)await sleep(50);const i=this.excalidrawAPI;if(!i)return;const n=i.getSceneElements();let a=n.filter((A=>A.id===e));if(0!==a.length){if(A){const e=this.plugin.ea.getElementsInTheSameGroupWithElement(a[0],n);e.length>0&&(a=e)}this.preventAutozoom(),this.zoomToElements(!i.getAppState().viewModeEnabled,a)}}setEphemeralState(e){if(!e)return;const A=this;let t=null;e.match&&e.match.content&&e.match.matches&&1===e.match.matches.length&&2===e.match.matches[0].length&&(t=[e.match.content.substring(e.match.matches[0][0],e.match.matches[0][1])]);const i=getEmbeddedFilenameParts(e.subpath);i.hasBlockref&&setTimeout((()=>A.zoomToElementId(i.blockref,i.hasGroupref)),300),i.hasSectionref?t=[`# ${i.sectionref}`]:e.line&&e.line>0&&(t=[this.data.split("\n")[e.line-1]]),t&&setTimeout((async()=>{let e=0;for(;!A.excalidrawAPI&&e++<100;)await sleep(50);const n=A.excalidrawAPI;if(!n)return;const a=n.getSceneElements();A.selectElementsMatchingQuery(a,t,!n.getAppState().viewModeEnabled,i.hasSectionref,i.hasGroupref)}),300),super.setEphemeralState(e)}clear(){delete this.exportDialog;const e=this.excalidrawAPI;this.excalidrawRef&&e&&(this.activeLoader&&(this.activeLoader.terminate=!0,this.activeLoader=null),this.nextLoader=null,e.resetScene(),this.previousSceneVersion=0)}async setViewData(e,A=!1){this.isLoaded=!1,this.file&&(this.plugin.settings.showNewVersionNotification&&checkExcalidrawVersion(app),A&&this.clear(),this.lastSaveTimestamp=this.file.stat.mtime,e=this.data=e.replaceAll("\r\n","\n").replaceAll("\r","\n"),app.workspace.onLayoutReady((async()=>{if(this.compatibilityMode="excalidraw"===this.file.extension,await this.plugin.loadSettings(),this.compatibilityMode)this.textIsRaw_Element.hide(),this.textIsParsed_Element.hide(),this.linkAction_Element.hide(),this.textMode=TextMode.raw,await this.excalidrawData.loadLegacyData(e,this.file),this.plugin.settings.compatibilityMode||new obsidian_module.Notice(t$d("COMPATIBILITY_MODE"),4e3),this.excalidrawData.disableCompression=!0;else{this.linkAction_Element.show(),this.excalidrawData.disableCompression=!1;const A=getTextMode(e);this.changeTextMode(A,!1);try{if(!await this.excalidrawData.loadData(e,this.file,this.textMode))return}catch(e){return errorlog({where:"ExcalidrawView.setViewData",error:e}),new obsidian_module.Notice(`Error loading drawing:\n${e.message}${"Cannot read property 'index' of undefined"===e.message?"\n'# Drawing' section is likely missing":""}\n\nTry manually fixing the file or restoring an earlier version from sync history.`,1e4),void this.setMarkdownView()}}await this.loadDrawing(!0);const A=this.excalidrawData.getOnLoadScript();if(A){const e=this,t=this.file.basename+"-onlaod-script",i=()=>{e.excalidrawAPI?e.plugin.scriptEngine.executeScript(e,A,t,this.file):setTimeout(i,200)};i()}this.isLoaded=!0})))}getGridColor(e){const A=this.plugin.ea.getCM(e);return A.isDark()?A.lighterBy(5):A.darkerBy(5),A.stringHEX()}async loadSceneFiles(){if(!this.excalidrawAPI)return;const e=new EmbeddedFilesLoader(this.plugin),A=e=>{this.nextLoader=null,this.activeLoader=e,e.loadSceneFiles(this.excalidrawData,((e,t)=>{e&&(addFiles(e,this,t),this.activeLoader=null,this.nextLoader?A(this.nextLoader):this.excalidrawData.getFiles().some((e=>{if(e&&!e.file&&e.attemptCounter<30){const e=this,A=this.file.path;return setTimeout((async()=>{e&&e.excalidrawAPI&&A===e.file.path&&e.loadSceneFiles()}),2e3),!0}return!1})))}),0)};this.activeLoader?this.nextLoader=e:A(e)}async synchronizeWithData(e){let A=0;for(;this.semaphores.saving&&A++<30;)await sleep(100);if(A>=30)return void errorlog({where:"ExcalidrawView.synchronizeWithData",message:`Aborting sync with received file (${this.file.path}) because semaphores.saving remained true for ower 3 seconds`,fn:this.synchronizeWithData});this.semaphores.saving=!0;let t=!1;try{const A=e.deletedElements.map((e=>e.id)),i=this.excalidrawAPI.getSceneElements().filter((e=>!A.contains(e.id))),n=i.map((e=>e.id)),a=A=>{switch(A.type){case"text":this.excalidrawData.textElements.set(A.id,e.textElements.get(A.id));break;case"image":e.getFile(A.fileId)?(this.excalidrawData.setFile(A.fileId,e.getFile(A.fileId)),t=!0):e.getEquation(A.fileId)&&(this.excalidrawData.setEquation(A.fileId,e.getEquation(A.fileId)),t=!0)}e.elementLinks.has(A.id)&&this.excalidrawData.elementLinks.set(A.id,e.elementLinks.get(A.id))};e.scene.elements.forEach(((A,r,s)=>{const o=i.filter((e=>e.id===A.id))[0];if(o&&(o.version0&&a.viewModeEnabled,l=this.isLoaded?s.getAppState().zenModeEnabled:a.zenModeEnabled;s.setLocalFont(this.plugin.settings.experimentalEnableFourthFont),this.updateScene({elements:n.elements.concat(null!=A?A:[]),files:n.files,commitToHistory:!0},e),this.updateScene({appState:Object.assign(Object.assign(Object.assign({},n.appState),this.excalidrawData.selectedElementIds?this.excalidrawData.selectedElementIds:{}),{zenModeEnabled:l,viewModeEnabled:o,linkOpacity:this.excalidrawData.getLinkOpacity(),trayModeEnabled:this.plugin.settings.defaultTrayMode,penMode:r,penDetected:r,allowPinchZoom:this.plugin.settings.allowPinchZoom,allowWheelZoom:this.plugin.settings.allowWheelZoom,pinnedScripts:this.plugin.settings.pinnedScripts,customPens:this.plugin.settings.customPens.slice(0,this.plugin.settings.numberOfCustomPens)})}),app.workspace.getActiveViewOfType(ExcalidrawView)===this.leaf.view&&this.excalidrawWrapperRef&&(null===(i=null===(t=this.excalidrawWrapperRef.current)||void 0===t?void 0:t.firstElementChild)||void 0===i||i.focus()),this.loadSceneFiles(),this.updateContainerSize(null,!0),this.initializeToolsIconPanelAfterLoading()}else this.instantiateExcalidraw({elements:n.elements,appState:Object.assign(Object.assign({},n.appState),{zenModeEnabled:a.zenModeEnabled,viewModeEnabled:n.elements.length>0&&a.viewModeEnabled,linkOpacity:this.excalidrawData.getLinkOpacity(),trayModeEnabled:this.plugin.settings.defaultTrayMode,penMode:r,penDetected:r,allowPinchZoom:this.plugin.settings.allowPinchZoom,allowWheelZoom:this.plugin.settings.allowWheelZoom,pinnedScripts:this.plugin.settings.pinnedScripts,customPens:this.plugin.settings.customPens.slice(0,this.plugin.settings.numberOfCustomPens)}),files:n.files,libraryItems:await this.getLibrary()});const o=null!==this.data.match(/```compressed\-json\n/gm);this.compatibilityMode||this.plugin.settings.compress===o||this.isEditedAsMarkdownInOtherView()||this.setDirty(4)}isEditedAsMarkdownInOtherView(){return app.workspace.getLeavesOfType("markdown").filter((e=>e.view.file===this.file)).length>0}setDirty(e){var A,t;this.semaphores.dirty=null===(A=this.file)||void 0===A?void 0:A.path,this.diskIcon.querySelector("svg").addClass("excalidraw-dirty"),!this.semaphores.viewunload&&(null===(t=this.toolsPanelRef)||void 0===t?void 0:t.current)&&this.toolsPanelRef.current.setDirty(!0),app.isMobile||obsidian_module.requireApiVersion("0.16.0")&&(this.leaf.tabHeaderInnerTitleEl.style.color="var(--color-accent)")}clearDirty(){var e;if(this.semaphores.viewunload)return;const A=this.excalidrawAPI;if(!A)return;this.semaphores.dirty=null,(null===(e=this.toolsPanelRef)||void 0===e?void 0:e.current)&&this.toolsPanelRef.current.setDirty(!1);const t=A.getSceneElements();t&&(this.previousSceneVersion=this.getSceneVersion(t)),this.diskIcon.querySelector("svg").removeClass("excalidraw-dirty"),app.isMobile||obsidian_module.requireApiVersion("0.16.0")&&(this.leaf.tabHeaderInnerTitleEl.style.color="")}initializeToolsIconPanelAfterLoading(){var e;if(this.semaphores.viewunload)return;const A=this.excalidrawAPI;if(!A)return;const t=A.getAppState(),i=null===(e=this.toolsPanelRef)||void 0===e?void 0:e.current;i&&(i.setTheme(t.theme),i.setExcalidrawViewMode(t.viewModeEnabled),i.setPreviewMode(this.compatibilityMode?null:this.textMode===TextMode.parsed),i.updateScriptIconMap(this.plugin.scriptEngine.scriptIconMap))}canAcceptExtension(e){return"excalidraw"===e}getDisplayText(){return this.file?this.file.basename:t$d("NOFILE")}getViewType(){return"excalidraw"}getIcon(){return ICON_NAME}setMarkdownView(){this.plugin.excalidrawFileModes[this.id||this.file.path]="markdown",this.plugin.setMarkdownView(this.leaf)}async openAsMarkdown(){!0===this.plugin.settings.compress&&(this.excalidrawData.disableCompression=!0,await this.save(!0,!0)),this.setMarkdownView()}async convertExcalidrawToMD(){await this.save(),this.plugin.openDrawing(await this.plugin.convertSingleExcalidrawToMD(this.file),"active-pane",!0)}async addYouTubeThumbnail(e){const A=await getYouTubeThumbnailLink(e),t=getEA(this),i=await t.addImage(0,0,A);t.getElement(i).link=e,t.addElementsToView(!0,!0,!0)}async addImageWithURL(e){const A=getEA(this);await A.addImage(0,0,e),A.addElementsToView(!0,!0,!0)}async addImageSaveToVault(e){const A=getEA(this),t=getMimeType(getURLImageExtension(e)),i=await getDataURLFromURL(e,t,3e3),n=await generateIdFromFile((new TextEncoder).encode(i)),a=await this.excalidrawData.saveDataURLtoVault(i,t,n);await A.addImage(0,0,a),A.addElementsToView(!0,!0,!0)}async addTextWithIframely(e){var A;const t=await this.addText(e),i=`http://iframely.server.crestify.com/iframely?url=${e}`;try{const n=JSON.parse(await obsidian_module.request({url:i}));if(!n||n.error||!(null===(A=n.meta)||void 0===A?void 0:A.title))return;const a=getEA(this),r=a.getViewElements().filter((e=>e.id===t));1===r.length&&(r[0].text=r[0].originalText=r[0].rawText=`[${n.meta.title}](${e})`,a.copyViewElementsToEAforEditing(r),a.addElementsToView(!1,!1,!1))}catch(e){}}onPaneMenu(e,A){this.excalidrawAPI&&this.getViewSelectedElements().some((e=>"text"===e.type))&&e.addItem((e=>{e.setTitle(t$d("OPEN_LINK")).setIcon("external-link").setSection("pane").onClick((e=>{this.handleLinkClick(e)}))})),this.compatibilityMode?e.addItem((e=>{e.setTitle(t$d("CONVERT_FILE")).onClick((()=>this.convertExcalidrawToMD())).setSection("pane")})):e.addItem((e=>{e.setTitle(t$d("OPEN_AS_MD")).setIcon("document").onClick((()=>{this.openAsMarkdown()})).setSection("pane")})).addItem((e=>{e.setTitle(t$d("EXPORT_EXCALIDRAW")).setIcon(ICON_NAME).onClick((async()=>{this.exportExcalidraw()})).setSection("pane")})),e.addItem((e=>{e.setTitle(t$d("SAVE_AS_PNG")).setIcon("save-png").setSection("pane").onClick((async e=>{this.getScene&&this.file&&(isCTRL(e)?this.exportPNG(isSHIFT(e)):(this.savePNG(void 0,isSHIFT(e)),new obsidian_module.Notice("PNG export is ready"+(isSHIFT(e)?" with embedded scene":""))))})).setSection("pane")})).addItem((e=>{e.setTitle(t$d("SAVE_AS_SVG")).setIcon("save-svg").setSection("pane").onClick((async e=>{this.getScene&&this.file&&(isCTRL(e)?this.exportSVG(isSHIFT(e)):(this.saveSVG(void 0,isSHIFT(e)),new obsidian_module.Notice("SVG export is ready"+(isSHIFT(e)?" with embedded scene":""))))}))})).addItem((e=>{e.setTitle(t$d("INSTALL_SCRIPT_BUTTON")).setIcon("ScriptEngine").setSection("pane").onClick((()=>{new ScriptInstallPrompt(this.plugin).open()}))})),super.onPaneMenu(e,A)}async getLibrary(){var e;const A=this.plugin.getStencilLibrary();return(null==A?void 0:A.library)?A.library:null!==(e=null==A?void 0:A.libraryItems)&&void 0!==e?e:[]}async instantiateExcalidraw(e){for(;!this.semaphores.scriptsReady;)await sleep(50);const A=this.plugin.getPackage(this.ownerWindow).react,t=this.plugin.getPackage(this.ownerWindow).reactDOM;this.clearDirty();const i=A.createElement((()=>{const t=A.useRef(null),i=A.useRef(null),n=A.useRef(null),[a,r]=A.useState({width:void 0,height:void 0});let s=null,o=null,l=null,c=Date.now(),d=!1;this.toolsPanelRef=i,this.obsidianMenu=new ObsidianMenu(this.plugin,i,this),this.menuLinks=new MenuLinks(this.plugin,n);const h=()=>{let e,A;const t=new Promise(((t,i)=>{e=t,A=i}));return t.resolve=e,t.reject=A,t},u=A.useMemo((()=>({current:{readyPromise:h()}})),[]);A.useEffect((()=>{u.current.readyPromise.then((e=>{var A;this.excalidrawAPI=e,e.setLocalFont(this.plugin.settings.experimentalEnableFourthFont),this.loadSceneFiles(),this.updateContainerSize(null,!0),null===(A=this.excalidrawWrapperRef.current.firstElementChild)||void 0===A||A.focus(),this.initializeToolsIconPanelAfterLoading()}))}),[u]),this.excalidrawRef=u,this.excalidrawWrapperRef=t,A.useEffect((()=>{r({width:this.contentEl.clientWidth,height:this.contentEl.clientHeight});const e=()=>{try{const e=this.contentEl.clientWidth,A=this.contentEl.clientHeight;if(0===e||0===A)return;r({width:e,height:A}),this.toolsPanelRef&&this.toolsPanelRef.current&&this.toolsPanelRef.current.updatePosition(),this.ownerDocument!==document&&this.refresh()}catch(e){errorlog({where:"Excalidraw React-Wrapper, onResize",error:e})}};return this.ownerWindow.addEventListener("resize",e),()=>{var A;return null===(A=this.ownerWindow)||void 0===A?void 0:A.removeEventListener("resize",e)}}),[t]),this.getSelectedTextElement=()=>{var e;const A=this.excalidrawAPI;if(!(null==u?void 0:u.current)||!A)return{id:null,text:null};if(A.getAppState().viewModeEnabled){if(s){const e=s;return s=null,e}return{id:null,text:null}}const t=A.getSceneElements().filter((e=>e.id===Object.keys(A.getAppState().selectedElementIds)[0]));if(0===t.length)return{id:null,text:null};if("text"===t[0].type)return{id:t[0].id,text:t[0].text};if(["image","arrow"].contains(t[0].type))return{id:null,text:null};const i=null===(e=t[0].boundElements)||void 0===e?void 0:e.filter((e=>"text"===e.type));if((null==i?void 0:i.length)>0){const e=A.getSceneElements().filter((e=>e.id===i[0].id));if(e.length>0)return{id:e[0].id,text:e[0].text}}if(0===t[0].groupIds.length)return{id:null,text:null};const n=t[0].groupIds[0],a=A.getSceneElements().filter((e=>{var A;return null===(A=e.groupIds)||void 0===A?void 0:A.includes(n)})).filter((e=>"text"===e.type));return 0===a.length?{id:null,text:null}:{id:t[0].id,text:t[0].text}},this.getSelectedImageElement=()=>{const e=this.excalidrawAPI;if(!e)return{id:null,fileId:null};if(e.getAppState().viewModeEnabled){if(o){const e=o;return o=null,e}return{id:null,fileId:null}}const A=e.getSceneElements().filter((A=>A.id==Object.keys(e.getAppState().selectedElementIds)[0]));if(0===A.length)return{id:null,fileId:null};if("image"==A[0].type)return{id:A[0].id,fileId:A[0].fileId};if("text"===A[0].type)return{id:null,fileId:null};if(0===A[0].groupIds.length)return{id:null,fileId:null};const t=A[0].groupIds[0],i=e.getSceneElements().filter((e=>{var A;return null===(A=e.groupIds)||void 0===A?void 0:A.includes(t)})).filter((e=>"image"==e.type));return 0===i.length?{id:null,fileId:null}:{id:i[0].id,fileId:i[0].fileId}},this.getSelectedElementWithLink=()=>{const e=this.excalidrawAPI;if(!e)return{id:null,text:null};if(e.getAppState().viewModeEnabled){if(l){const e=l;return l=null,e}return{id:null,text:null}}const A=e.getSceneElements().filter((A=>A.id==Object.keys(e.getAppState().selectedElementIds)[0]));if(0===A.length)return{id:null,text:null};if(A[0].link)return{id:A[0].id,text:A[0].link};if(0===A[0].groupIds.length)return{id:null,text:null};const t=A[0].groupIds[0],i=e.getSceneElements().filter((e=>{var A;return null===(A=e.groupIds)||void 0===A?void 0:A.includes(t)})).filter((e=>e.link));return 0===i.length?{id:null,text:null}:{id:i[0].id,text:i[0].link}},this.addText=async(e,A,t=!0)=>{var i,n,a,r,s;const o=this.excalidrawAPI;if(!(null==u?void 0:u.current)||!o)return;const l=o.getAppState(),c=this.plugin.ea.getAPI(this);c.style.strokeColor=null!==(i=l.currentItemStrokeColor)&&void 0!==i?i:"black",c.style.opacity=null!==(n=l.currentItemOpacity)&&void 0!==n?n:1,c.style.fontFamily=null!==(a=null!=A?A:l.currentItemFontFamily)&&void 0!==a?a:1,c.style.fontSize=null!==(r=l.currentItemFontSize)&&void 0!==r?r:20,c.style.textAlign=null!==(s=l.currentItemTextAlign)&&void 0!==s?s:"left";const{width:d,height:h}=l,g=viewportCoordsToSceneCoords({clientX:0,clientY:0},l),p=viewportCoordsToSceneCoords({clientX:d,clientY:h},l),m=g.x>this.currentPosition.x||p.xthis.currentPosition.y||p.y{const a=this.excalidrawAPI;if(!(null==u?void 0:u.current)||!a)return!1;const r=e.filter((e=>"text"==e.type));for(let e=0;ee.id)),o=a.getSceneElements(),l=[];for(let A=0;Ae.id===t))[0],l.push(t))}const c=n?o.concat(e.filter((e=>!l.includes(e.id)))):e.filter((e=>!l.includes(e.id))).concat(o);if(this.updateScene({elements:c,commitToHistory:!0},!0),i&&Object.keys(i).length>0){const e=[];Object.keys(i).forEach((A=>{if(e.push({mimeType:i[A].mimeType,id:i[A].id,dataURL:i[A].dataURL,created:i[A].created}),i[A].file||i[A].isHyperlink){const e=new EmbeddedFile(this.plugin,this.file.path,i[A].isHyperlink?i[A].hyperlink:i[A].file),t=a.getAppState();e.setImage(i[A].dataURL,i[A].mimeType,i[A].size,"dark"===t.theme,i[A].hasSVGwithBitmap),this.excalidrawData.setFile(i[A].id,e)}i[A].latex&&this.excalidrawData.setEquation(i[A].id,{latex:i[A].latex,isLoaded:!0})})),a.addFiles(e)}return t?await this.save(!1):this.setDirty(5),!0},this.getScene=()=>{const e=this.excalidrawAPI;if(!(null==u?void 0:u.current)||!e)return null;const A=e.getSceneElements(),t=e.getAppState(),i=e.getFiles();if(i){const e=A.filter((e=>"image"===e.type)).map((e=>e.fileId)),t=Object.keys(i).filter((A=>!e.contains(A)));t.forEach((e=>delete i[e]))}return{type:"excalidraw",version:2,source:GITHUB_RELEASES+PLUGIN_VERSION,elements:A,appState:{theme:t.theme,viewBackgroundColor:t.viewBackgroundColor,currentItemStrokeColor:t.currentItemStrokeColor,currentItemBackgroundColor:t.currentItemBackgroundColor,currentItemFillStyle:t.currentItemFillStyle,currentItemStrokeWidth:t.currentItemStrokeWidth,currentItemStrokeStyle:t.currentItemStrokeStyle,currentItemRoughness:t.currentItemRoughness,currentItemOpacity:t.currentItemOpacity,currentItemFontFamily:t.currentItemFontFamily,currentItemFontSize:t.currentItemFontSize,currentItemTextAlign:t.currentItemTextAlign,currentItemStartArrowhead:t.currentItemStartArrowhead,currentItemEndArrowhead:t.currentItemEndArrowhead,scrollX:t.scrollX,scrollY:t.scrollY,zoom:t.zoom,currentItemRoundness:t.currentItemRoundness,gridSize:t.gridSize,colorPalette:t.colorPalette,currentStrokeOptions:t.currentStrokeOptions,previousGridSize:t.previousGridSize},prevTextMode:this.prevTextMode,files:i}},this.refresh=()=>{if(0===this.contentEl.clientWidth||0===this.contentEl.clientHeight)return;const e=this.excalidrawAPI;(null==u?void 0:u.current)&&e&&e.refresh()};let g={x:0,y:0},p=null;this.clearHoverPreview=()=>{if(p){const e=new MouseEvent("click",{view:this.ownerWindow,bubbles:!0,cancelable:!0});p.dispatchEvent(e),p=null}};const m=e=>{var A,t,i,n,a;const r=null===(A=app.dragManager.draggable)||void 0===A?void 0:A.files;return r&&r[0]==this.file&&(r.shift(),app.dragManager.draggable.title=`${r.length} files`),["file","files"].includes(null===(t=app.dragManager.draggable)||void 0===t?void 0:t.type)?"link":(null===(i=e.types)||void 0===i?void 0:i.includes("text/html"))||(null===(n=e.types)||void 0===n?void 0:n.includes("text/plain"))||(null===(a=e.types)||void 0===a?void 0:a.includes("Files"))?"copy":void 0};let w=!1;const f=()=>{if(s=getTextElementAtPointer(this.currentPosition,this),s&&s.id){const e=new MouseEvent("click",{ctrlKey:!(DEVICE.isIOS||DEVICE.isMacOS)||this.modifierKeyDown.ctrlKey,metaKey:DEVICE.isIOS||DEVICE.isMacOS||this.modifierKeyDown.metaKey,shiftKey:this.modifierKeyDown.shiftKey,altKey:this.modifierKeyDown.altKey});return this.handleLinkClick(e),void(s=null)}if(o=getImageElementAtPointer(this.currentPosition,this),o&&o.id){const e=new MouseEvent("click",{ctrlKey:!(DEVICE.isIOS||DEVICE.isMacOS)||this.modifierKeyDown.ctrlKey,metaKey:DEVICE.isIOS||DEVICE.isMacOS||this.modifierKeyDown.metaKey,shiftKey:this.modifierKeyDown.shiftKey,altKey:this.modifierKeyDown.altKey});return this.handleLinkClick(e),void(o=null)}if(l=getElementWithLinkAtPointer(this.currentPosition,this),l&&l.id){const e=new MouseEvent("click",{ctrlKey:!(DEVICE.isIOS||DEVICE.isMacOS)||this.modifierKeyDown.ctrlKey,metaKey:DEVICE.isIOS||DEVICE.isMacOS||this.modifierKeyDown.metaKey,shiftKey:this.modifierKeyDown.shiftKey,altKey:this.modifierKeyDown.altKey});return this.handleLinkClick(e),void(l=null)}};let B=null;const E=(e,A)=>{var t,i;if(!B)return;if(null===(i=null===(t=this.excalidrawAPI)||void 0===t?void 0:t.getAppState())||void 0===i?void 0:i.editingElement)return;if(this.semaphores.wheelTimeout)return;if(!e){if(!this.currentPosition)return;e="";const t=getTextElementAtPointer(this.currentPosition,this);if(t&&t.text){A=this.excalidrawAPI.getSceneElements().filter((e=>e.id===t.id))[0];const i=this.textMode===TextMode.parsed?this.excalidrawData.getRawText(t.id):t.text;if(!i)return;if(i.match(REG_LINKINDEX_HYPERLINK))return;const n=REGEX_LINK.getRes(i).next();if(!n.value)return;if((e=REGEX_LINK.getLink(n)).match(REG_LINKINDEX_HYPERLINK))return}else{const t=getImageElementAtPointer(this.currentPosition,this);if(A=this.excalidrawAPI.getSceneElements().filter((e=>e.id===t.id))[0],!t||!t.fileId)return;if(!this.excalidrawData.hasFile(t.fileId))return;const i=this.excalidrawData.getFile(t.fileId);if(i.isHyperlink)return;const n=i.linkParts.ref?`#${i.linkParts.isBlockRef?"^":""}${i.linkParts.ref}`:"";e=i.file.path+n}}if(this.getHookServer().onLinkHoverHook)try{if(!this.getHookServer().onLinkHoverHook(A,e,this,this.getHookServer()))return}catch(e){errorlog({where:"ExcalidrawView.showHoverPreview",fn:this.getHookServer().onLinkHoverHook,error:e})}if(this.semaphores.hoverSleep)return;const n=app.metadataCache.getFirstLinkpathDest(e.split("#")[0],this.file.path);if(!n)return;if(this.ownerDocument.querySelector(`div.popover-title[data-path="${n.path}"]`))return;this.semaphores.hoverSleep=!0;const a=this;if(setTimeout((()=>a.semaphores.hoverSleep=!1),500),this.plugin.hover.linkText=e,this.plugin.hover.sourcePath=this.file.path,p=this.contentEl,app.workspace.trigger("hover-link",{event:B,source:"excalidraw",hoverParent:p,targetEl:p,linktext:this.plugin.hover.linkText,sourcePath:this.plugin.hover.sourcePath}),g=this.currentPosition,this.isFullscreen()){const e=this;setTimeout((()=>{var A,t,i,a;const r=null!==(a=null===(i=null===(t=null===(A=this.ownerDocument.querySelector(`div.popover-title[data-path="${n.path}"]`))||void 0===A?void 0:A.parentElement)||void 0===t?void 0:t.parentElement)||void 0===i?void 0:i.parentElement)&&void 0!==a?a:this.ownerDocument.body.querySelector("div.popover");r&&e.contentEl.append(r)}),400)}},{Excalidraw:b,MainMenu:C,WelcomeScreen:v}=this.plugin.getPackage(this.ownerWindow).excalidrawLib,y=A.createElement("div",{className:"excalidraw-wrapper",ref:t,key:"abc",tabIndex:0,onKeyDown:e=>{e.target!==y.ref.current&&(this.isFullscreen()&&e.keyCode===KEYCODE.ESC&&this.exitFullscreen(),!isCTRL(e)||isSHIFT(e)||isALT(e)||E())},onPointerDown:e=>{(isCTRL(e)||isMETA(e))&&(!this.plugin.settings.allowCtrlClick&&isMETA(e)||setTimeout((()=>{(this.getSelectedTextElement().id||this.getSelectedImageElement().id||this.getSelectedElementWithLink().id)&&this.handleLinkClick(e)})))},onMouseMove:e=>{B=e.nativeEvent},onMouseOver:()=>{this.clearHoverPreview()},onDragOver:e=>{const A=m(e.dataTransfer);if(A){this.draginfoDiv||(this.draginfoDiv=createDiv({cls:"excalidraw-draginfo"}),this.ownerDocument.body.appendChild(this.draginfoDiv));let t="";if(app.dragManager.draggable)switch(internalDragModifierType(e)){case"image":t="Embed image";break;case"image-fullsize":t="Embed image @100%";break;case"link":t="Insert link"}else if(1===e.dataTransfer.types.length&&e.dataTransfer.types.includes("Files"))t="External file";else switch(externalDragModifierType(e)){case"image-import":t="Import image to Vault";break;case"image-url":t="Insert image/thumbnail with URL";break;case"insert-link":t="Insert link"}this.draginfoDiv.innerText!==t&&(this.draginfoDiv.innerText=t);const i=e.clientY-8*parseFloat(getComputedStyle(this.draginfoDiv).fontSize)+"px",n=e.clientX-this.draginfoDiv.clientWidth/2+"px";return this.draginfoDiv.style.top!==i&&(this.draginfoDiv.style.top=i),this.draginfoDiv.style.left!==n&&(this.draginfoDiv.style.left=n),e.dataTransfer.dropEffect=A,e.preventDefault(),!1}},onDragLeave:()=>{this.draginfoDiv&&(this.ownerDocument.body.removeChild(this.draginfoDiv),delete this.draginfoDiv)}},A.createElement(b,{ref:u,width:a.width,height:a.height,UIOptions:{canvasActions:{loadScene:!1,saveScene:!1,saveAsScene:!1,export:!1,saveAsImage:!1,saveToActiveFile:!1}},initState:null==e?void 0:e.appState,initialData:e,detectScroll:!0,onPointerUpdate:e=>{if(this.currentPosition=e.pointer,p&&(Math.abs(g.x-e.pointer.x)>50||Math.abs(g.y-e.pointer.y)>50)&&this.clearHoverPreview(),w){if(!d&&"down"===e.button){if(d=!0,isCTRL(this.modifierKeyDown)||isMETA(this.modifierKeyDown))return void f();const e=Date.now();return e-c<600&&e-c>40&&f(),void(c=e)}"up"===e.button&&(d=!1),(isCTRL(this.modifierKeyDown)||this.excalidrawAPI.getAppState().isViewModeEnabled&&this.plugin.settings.hoverPreviewWithoutCTRL)&&E()}},libraryReturnUrl:"app://obsidian.md",autoFocus:!0,onChange:(e,A)=>{var t,i,n,a;const r=()=>{if(this.updateScene({appState:{gridColor:this.getGridColor(A.viewBackgroundColor)}}),this.plugin.ea.onCanvasColorChangeHook)try{this.plugin.ea.onCanvasColorChangeHook(this.plugin.ea,this,A.viewBackgroundColor)}catch(e){errorlog({where:r,source:this.plugin.ea.onCanvasColorChangeHook,error:e,message:"ea.onCanvasColorChangeHook exception"})}};if(w=A.viewModeEnabled,this.semaphores.justLoaded){if((null!==(a=null===(n=null===(i=null===(t=this.excalidrawData)||void 0===t?void 0:t.scene)||void 0===i?void 0:i.elements)||void 0===n?void 0:n.length)&&void 0!==a?a:0)>0&&0===e.length)return;return this.semaphores.justLoaded=!1,!this.semaphores.preventAutozoom&&this.plugin.settings.zoomToFitOnOpen&&this.zoomToFit(!1,!0),this.previousSceneVersion=this.getSceneVersion(e),this.previousBackgroundColor=A.viewBackgroundColor,void r()}if(A.viewBackgroundColor!==this.previousBackgroundColor&&this.file===this.excalidrawData.file&&(this.previousBackgroundColor=A.viewBackgroundColor,this.setDirty(6),this.colorChangeTimer&&clearTimeout(this.colorChangeTimer),this.colorChangeTimer=setTimeout((()=>{r(),this.colorChangeTimer=null}),50)),!this.semaphores.dirty&&null===A.editingElement&&null===A.editingLinearElement){const A=this.getSceneVersion(e);(A>0||0===A&&e.length>0)&&A!==this.previousSceneVersion&&(this.previousSceneVersion=A,this.setDirty(6))}},onLibraryChange:e=>{(async()=>{const A={type:"excalidrawlib",version:2,source:GITHUB_RELEASES+PLUGIN_VERSION,libraryItems:e};this.plugin.setStencilLibrary(A),await this.plugin.saveSettings()})()},renderTopRightUI:this.obsidianMenu.renderButton,onPaste:e=>{if(e&&e.text&&hyperlinkIsYouTubeLink(e.text))return this.addYouTubeThumbnail(e.text),!1;if(e&&e.text&&hyperlinkIsImage(e.text))return this.addImageWithURL(e.text),!1;if(e.elements){const e=this;setTimeout((()=>e.save(!1)),300)}return!0},onThemeChange:async e=>{var A;this.excalidrawData.scene.appState.theme=e,this.loadSceneFiles(),null===(A=null==i?void 0:i.current)||void 0===A||A.setTheme(e)},ownerDocument:this.ownerDocument,ownerWindow:this.ownerWindow,onDrop:e=>{this.draginfoDiv&&(this.ownerDocument.body.removeChild(this.draginfoDiv),delete this.draginfoDiv);const A=this.excalidrawAPI;if(!A)return!1;const t=A.getAppState();this.currentPosition=viewportCoordsToSceneCoords({clientX:e.clientX,clientY:e.clientY},t);const i=app.dragManager.draggable,n=internalDragModifierType(e),a=externalDragModifierType(e),r=(A,t,n)=>{if(!this.getHookServer().onDropHook)return!1;try{return this.getHookServer().onDropHook({ea:this.getHookServer(),event:e,draggable:i,type:A,payload:{files:t,text:n},excalidrawFile:this.file,view:this,pointerPosition:this.currentPosition})}catch(e){return new obsidian_module.Notice("on drop hook error. See console log for details"),errorlog({where:"ExcalidrawView.onDrop",error:e}),!1}};switch(null==i?void 0:i.type){case"file":if(!r("file",[i.file],null)){if(i.file.path.match(REG_LINKINDEX_INVALIDCHARS))return new obsidian_module.Notice(t$d("FILENAME_INVALID_CHARS"),4e3),!1;if(["image","image-fullsize"].contains(n)&&(IMAGE_TYPES.contains(i.file.extension)||"md"===i.file.extension)){const e=this.plugin.ea;return e.reset(),e.setView(this),(async()=>{e.canvas.theme=A.getAppState().theme,await e.addImage(this.currentPosition.x,this.currentPosition.y,i.file,!("image-fullsize"===n)),e.addElementsToView(!1,!1,!0)})(),!1}this.addText(`[[${app.metadataCache.fileToLinktext(i.file,this.file.path,!0)}]]`)}return!1;case"files":return r("file",i.files,null)||(async()=>{if(["image","image-fullsize"].contains(n)){const e=this.plugin.ea;e.reset(),e.setView(this),e.canvas.theme=A.getAppState().theme;let t=0;for(const A of i.files)(IMAGE_TYPES.contains(A.extension)||"md"===A.extension)&&(await e.addImage(this.currentPosition.x+50*t,this.currentPosition.y+50*t,A,!("image-fullsize"===n)),t++,await e.addElementsToView(!1,!1,!0))}else{for(const e of i.files)await this.addText(`[[${app.metadataCache.fileToLinktext(e,this.file.path,!0)}]]`,void 0,!1),this.currentPosition.y+=2*t.currentItemFontSize;this.save(!1)}})(),!1}if(e.dataTransfer.types.includes("Files")){if(e.dataTransfer.types.includes("text/plain")){const A=e.dataTransfer.getData("text");if(A&&r("text",null,A))return!1;if(A&&"image-url"===a&&hyperlinkIsImage(A))return this.addImageWithURL(A),!1;if(A&&"insert-link"===a)return this.plugin.settings.iframelyAllowed&&A.match(/^https?:\/\/\S*$/)?(this.addTextWithIframely(A),!1):(this.addText(A),!1)}if(e.dataTransfer.types.includes("text/html")){const A=e.dataTransfer.getData("text/html").match(/src=["']([^"']*)["']/);if(A&&"image-url"===a&&hyperlinkIsImage(A[1]))return this.addImageWithURL(A[1]),!1;if(A&&"insert-link"===a)return this.plugin.settings.iframelyAllowed&&A[1].match(/^https?:\/\/\S*$/)?(this.addTextWithIframely(A[1]),!1):(this.addText(A[1]),!1)}return!0}if(e.dataTransfer.types.includes("text/plain")||e.dataTransfer.types.includes("text/uri-list")||e.dataTransfer.types.includes("text/html")){const A=e.dataTransfer.getData("text/html").match(/src=["']([^"']*)["']/),t=A?A[1]:"",i=e.dataTransfer.getData("text"),n=e.dataTransfer.getData("text/uri-list");let s=A?t:i;if(s&&""!==s||(s=n),!s||""===s)return!0;if(!r("text",null,s)){if(s&&"image-url"===a&&hyperlinkIsYouTubeLink(s))return this.addYouTubeThumbnail(s),!1;if(n&&"image-url"===a&&hyperlinkIsYouTubeLink(n))return this.addYouTubeThumbnail(n),!1;if(s&&"image-url"===a&&hyperlinkIsImage(s))return this.addImageWithURL(s),!1;if(n&&"image-url"===a&&hyperlinkIsImage(n))return this.addImageWithURL(n),!1;if(s&&"image-import"===a&&hyperlinkIsImage(s))return this.addImageSaveToVault(s),!1;if(n&&"image-import"===a&&hyperlinkIsImage(n))return this.addImageSaveToVault(n),!1;if(this.plugin.settings.iframelyAllowed&&s.match(/^https?:\/\/\S*$/))return this.addTextWithIframely(s),!1;if(s.startsWith("obsidian://open?vault=")){const A=e.dataTransfer.getData("text/html");if(A){const e=A.match(/href="app:\/\/obsidian\.md\/(.*?)"/);if(2===e.length){const A=decodeURIComponent(e[1]).split("#"),t=app.vault.getAbstractFileByPath(A[0]);if(t&&t instanceof obsidian_module.TFile){const e=app.metadataCache.fileToLinktext(t,this.file.path);return void this.addText(`[[${e+(A.length>1?"#"+A[1]+"|"+e:"")}]]`)}return this.addText(`[[${decodeURIComponent(e[1])}]]`),!1}}const t=s.split("file=");if(2===t.length)return this.addText(`[[${decodeURIComponent(t[1])}]]`),!1}this.addText(s.replace(/(!\[\[.*#[^\]]*\]\])/g,"$1{40}"))}return!1}return!r("unknown",null,null)},onBeforeTextEdit:e=>{var A;if(clearTimeout(this.isEditingTextResetTimer),this.isEditingTextResetTimer=null,this.semaphores.isEditingText=!0,this.compatibilityMode)return null!==(A=e.originalText)&&void 0!==A?A:e.text;return this.excalidrawData.getRawText(e.id)||e.rawText},onBeforeTextSubmit:(e,A,t,i)=>{const n=this.excalidrawAPI;if(!n)return[null,null,null];const a="PASTING EXCALIDRAW ELEMENTS AS A TEXT ELEMENT IS NOT ALLOWED";if(A.startsWith('{"type":"excalidraw/clipboard","elements":[{"'))return setTimeout((()=>{const A=this.excalidrawAPI.getSceneElements(),t=A.filter((A=>A.id===e.id));if(1===t.length){const e=cloneElement(t[0]);e.rawText=a,A[A.indexOf(t[0])]=e,this.excalidrawData.setTextElement(e.id,a,a,(()=>{})),this.updateScene({elements:A}),n.history.clear()}})),[a,a,null];if(this.semaphores.isEditingText=!0,this.isEditingTextResetTimer=setTimeout((()=>{this.semaphores.isEditingText=!1,this.isEditingTextResetTimer=null}),1500),i)return this.excalidrawData.deleteTextElement(e.id),this.setDirty(7),[null,null,null];const r=e.containerId;if(A!==e.text||t!==e.originalText||!this.excalidrawData.getRawText(e.id)){this.setDirty(8);const[i,a,s]=this.excalidrawData.setTextElement(e.id,A,t,(async(A,t)=>{var i,a;if(this.textMode===TextMode.raw)return;const r=this.excalidrawAPI.getSceneElements(),s=r.filter((A=>A.id===e.id));if(1===s.length){const e=cloneElement(s[0]),o=s[0].containerId?null===(a=null===(i=n.getSceneElements().filter((e=>e.id===s[0].containerId)))||void 0===i?void 0:i[0])||void 0===a?void 0:a.type:void 0;this.excalidrawData.updateTextElement(e,A,t,!0,o),r[r.indexOf(s[0])]=e,this.updateScene({elements:r}),e.containerId&&this.updateContainerSize(e.containerId)}n.history.clear()}));return i?(r&&this.updateContainerSize(r,!0),this.textMode===TextMode.raw?[A,t,s]:A===i?s?[i,a,s]:[null,null,null]:(n.history.clear(),[i,a,s])):[null,null,null]}return r&&this.updateContainerSize(r,!0),this.textMode===TextMode.parsed?this.excalidrawData.getParsedText(e.id):[null,null,null]},onLinkOpen:async(e,A)=>{var t;if(A.preventDefault(),!e)return;const i=e.link;if(!i||""===i)return;this.removeLinkTooltip();const n=null===(t=null==A?void 0:A.detail)||void 0===t?void 0:t.nativeEvent;this.handleLinkHookCall(e,e.link,n)||this.openExternalLink(e.link,isSHIFT(n)||isCTRL(n)||isMETA(n)||isALT(n)?void 0:e)||this.linkClick(n,null,null,{id:e.id,text:e.link},emulateCTRLClickForLinks(n))},onLinkHover:(e,A)=>{if(e&&(this.plugin.settings.hoverPreviewWithoutCTRL||isCTRL(A))){B=A,B.ctrlKey=!(DEVICE.isIOS||DEVICE.isMacOS)||B.ctrlKey,B.metaKey=DEVICE.isIOS||DEVICE.isMacOS||B.metaKey;const t=e.link;if(!t||""===t)return;if(t.startsWith("[[")){const A=t.match(/\[\[(?.*?)\]\]/);if(!A)return;let i=A.groups.link;E(i,e)}}},onViewModeChange:e=>{var A,t;if(this.semaphores.viewunload||null===(t=null===(A=this.toolsPanelRef)||void 0===A?void 0:A.current)||void 0===t||t.setExcalidrawViewMode(e),this.getHookServer().onViewModeChangeHook)try{this.getHookServer().onViewModeChangeHook(e,this,this.getHookServer())}catch(e){errorlog({where:"ExcalidrawView.onViewModeChange",fn:this.getHookServer().onViewModeChangeHook,error:e})}}},A.createElement(C,{},A.createElement(C.DefaultItems.ChangeCanvasBackground),A.createElement(C.DefaultItems.ToggleTheme),A.createElement(C.Separator),DEVICE.isPhone?null:A.createElement(C.Item,{icon:ICONS.trayMode,"aria-label":"Tray-mode offers an alternative, more spacious canvas",onSelect:()=>{this.toggleTrayMode()}},"Toggle tray-mode"),A.createElement(C.Item,{icon:saveIcon(!1),"aria-label":t$d("FORCE_SAVE"),onSelect:()=>{this.forceSave()}},"Save"),A.createElement(C.Item,{icon:ICONS.scriptEngine,"aria-label":"Explore the Excalidraw Script Library",onSelect:()=>{new ScriptInstallPrompt(this.plugin).open()}},"Script Library"),A.createElement(C.Item,{icon:ICONS.ExportImage,"aria-label":"Export image as PNG, SVG, or Excalidraw file",onSelect:()=>{this.exportDialog||(this.exportDialog=new ExportDialog(this.plugin,this,this.file),this.exportDialog.createForm()),this.exportDialog.open()}},"Export Image..."),A.createElement(C.Item,{icon:ICONS.switchToMarkdown,"aria-label":"Switch to markdown view",onSelect:()=>{this.openAsMarkdown()}},"Open as Markdown"),A.createElement(C.Separator),A.createElement(C.DefaultItems.Help),A.createElement(C.DefaultItems.ClearCanvas)),A.createElement(v,{},A.createElement(v.Center,{},A.createElement(v.Center.Logo),A.createElement(v.Center.Heading,{},'Type "Excalidraw" in the Command Palette',A.createElement("br"),"Explore the Obsidian Menu in the top right",A.createElement("br"),"Visit the Script Library",A.createElement("br"),"Find help in the hamburger-menu"),A.createElement(v.Center.Menu,{},A.createElement(v.Center.MenuItemLink,{icon:ICONS.YouTube,href:"https://www.youtube.com/@VisualPKM",shortcut:null,"aria-label":"Visual PKM YouTube Channel"}," Check out the Visual PKM YouTube channel."),A.createElement(v.Center.MenuItemLink,{icon:ICONS.Discord,href:"https://discord.gg/DyfAXFwUHc",shortcut:null,"aria-label":"Join the Visual Thinking Discord Server"}," Join the Visual Thinking Discord Server"),A.createElement(v.Center.MenuItemLink,{icon:ICONS.twitter,href:"https://twitter.com/zsviczian",shortcut:null,"aria-label":"Follow me on Twitter"}," Follow me on Twitter"),A.createElement(v.Center.MenuItemLink,{icon:ICONS.heart,href:"https://ko-fi.com/zsolt",shortcut:null,"aria-label":"Donate to support Excalidraw-Obsidian"},' Say "Thank You" & support the plugin.'))))),A.createElement(ToolsPanel,{ref:i,visible:!1,view:this,centerPointer:()=>{const e=this.excalidrawAPI;if(!u||!u.current||!e)return;const A=e.getAppState(),{width:t,height:i}=A;this.currentPosition=viewportCoordsToSceneCoords({clientX:t/2,clientY:i/2},A)}})),F=A.useRef(new ResizeObserver((e=>{if(!i||!i.current)return;const{width:A,height:t}=e[0].contentRect;if(0===A||0===t)return;const n=i.current.onRightEdge?i.current.previousWidth-A:0,a=i.current.onBottomEdge?i.current.previousHeight-t:0;i.current.updatePosition(a,n)})));return A.useEffect((()=>((null==i?void 0:i.current)&&F.current.observe(i.current.containerRef.current),()=>{F.current.unobserve(i.current.containerRef.current)})),[i,F]),A.createElement(A.Fragment,null,y)}));t.createRoot(this.contentEl).render(i)}updateContainerSize(e,A=!1){const t=this.excalidrawAPI;if(!t)return;const i=()=>{const A=e?t.getSceneElements().filter((A=>A.id===e&&"arrow"!==A.type)):t.getSceneElements().filter((e=>{var A;return"arrow"!==e.type&&(null===(A=e.boundElements)||void 0===A?void 0:A.map((e=>e.type)).includes("text"))}));A.length>0&&(this.initialContainerSizeUpdate&&(this.semaphores.justLoaded=!0),t.updateContainerSize(A)),this.initialContainerSizeUpdate=!1};A?setTimeout((()=>i()),50):i()}zoomToFit(e=!0,A=!1){if(document.body.querySelector("div.modal-container"))return;const t=this.excalidrawAPI;if(!t||!this.excalidrawRef||this.semaphores.isEditingText||this.semaphores.preventAutozoom)return;const i=this.plugin.settings.zoomToFitMaxLevel,n=t.getSceneElements().filter((e=>e.width<1e4&&e.height<1e4));app.isMobile&&n.length>1e3||n.length>2500?A&&t.scrollToContent():e?setTimeout((()=>t.zoomToFit(n,i,this.isFullscreen()?0:.05)),100):t.zoomToFit(n,i,this.isFullscreen()?0:.05)}updatePinnedScripts(){const e=this.excalidrawAPI;if(!e)return!1;e.updateScene({appState:{pinnedScripts:this.plugin.settings.pinnedScripts}})}updatePinnedCustomPens(){const e=this.excalidrawAPI;if(!e)return!1;e.updateScene({appState:{customPens:this.plugin.settings.customPens.slice(0,this.plugin.settings.numberOfCustomPens)}})}updatePinchZoom(){const e=this.excalidrawAPI;if(!e)return!1;e.updateScene({appState:{allowPinchZoom:this.plugin.settings.allowPinchZoom}})}updateWheelZoom(){const e=this.excalidrawAPI;if(!e)return!1;e.updateScene({appState:{allowWheelZoom:this.plugin.settings.allowWheelZoom}})}async toggleTrayMode(){const e=this.excalidrawAPI;if(!e)return!1;const A=e.getAppState();e.updateScene({appState:{trayModeEnabled:!A.trayModeEnabled}}),await this.plugin.loadSettings(),this.plugin.settings.defaultTrayMode=!A.trayModeEnabled,this.plugin.saveSettings()}selectElementsMatchingQuery(e,A,t=!0,i=!1,n=!1){let a=getTextElementsMatchingQuery(e.filter((e=>"text"===e.type)),A,i);if(0!==a.length){if(n){const A=this.plugin.ea.getElementsInTheSameGroupWithElement(a[0],e);A.length>0&&(a=A)}this.zoomToElements(t,a)}else new obsidian_module.Notice("I could not find a matching text element")}zoomToElements(e,A){const t=this.excalidrawAPI;if(!t)return;const i=this.plugin.settings.zoomToFitMaxLevel;e&&t.selectElements(A),t.zoomToFit(A,i,.05)}getViewSelectedElements(){var e;const A=this.excalidrawAPI;if(!A)return[];const t=null===(e=A.getAppState())||void 0===e?void 0:e.selectedElementIds;if(!t)return[];const i=Object.keys(t);if(!i)return[];const n=A.getSceneElements().filter((e=>i.includes(e.id))),a=n.filter((e=>e.boundElements&&e.boundElements.filter((e=>"text"===e.type)).length>0)).map((e=>e.boundElements.filter((e=>"text"===e.type)).map((e=>e.id))[0])),r=n.map((e=>e.id)).concat(a);return A.getSceneElements().filter((e=>r.contains(e.id)))}async copyLinkToSelectedElementToClipboard(e){const A=this.getViewSelectedElements();if(A.length<1)return void new obsidian_module.Notice(t$d("INSERT_LINK_TO_ELEMENT_ERROR"));let t;if(2===A.length){const e=A.filter((e=>"text"===e.type));1===e.length&&e[0].containerId&&1===A.filter((e=>e.boundElements.some((e=>"text"===e.type)))).length&&(t=e[0].id)}t||(t=1===A.length?A[0].id:this.plugin.ea.getLargestElement(A).id);const i=await ScriptEngine.inputPrompt(app,"Set link alias","Leave empty if you do not want to set an alias","");navigator.clipboard.writeText(`[[${this.file.path}#^${e}${t}${i?`|${i}`:""}]]`),new obsidian_module.Notice(t$d("INSERT_LINK_TO_ELEMENT_READY"))}updateScene(e,A=!1){const t=this.excalidrawAPI;if(!t)return;const i=e.elements&&A;i&&(e.elements=t.restore(e).elements);try{t.updateScene(e)}catch(A){if(errorlog({where:"ExcalidrawView.updateScene 1st attempt",fn:this.updateScene,error:A,scene:e,willDoSecondAttempt:!i}),i)warningUnknowSeriousError();else try{e.elements=t.restore(e).elements,t.updateScene(e)}catch(A){errorlog({where:"ExcalidrawView.updateScene 2nd attempt",fn:this.updateScene,error:A,scene:e}),warningUnknowSeriousError()}}}}function getTextMode(e){return e.search("excalidraw-plugin: parsed\n")>-1||e.search("excalidraw-plugin: locked\n")>-1?TextMode.parsed:TextMode.raw}const DEFAULT_SETTINGS={folder:"Excalidraw",embedUseExcalidrawFolder:!1,templateFilePath:"Excalidraw/Template.excalidraw",scriptFolderPath:"Excalidraw/Scripts",compress:!1,autosave:!0,autosaveInterval:15e3,autosaveIntervalDesktop:15e3,autosaveIntervalMobile:1e4,drawingFilenamePrefix:"Drawing ",drawingEmbedPrefixWithFilename:!0,drawingFilnameEmbedPostfix:" ",drawingFilenameDateTime:"YYYY-MM-DD HH.mm.ss",useExcalidrawExtension:!0,displaySVGInPreview:!0,displayExportedImageIfAvailable:!1,previewMatchObsidianTheme:!1,width:"400",isLeftHanded:!1,matchTheme:!1,matchThemeAlways:!1,matchThemeTrigger:!1,defaultMode:"normal",defaultPenMode:"never",allowPinchZoom:!1,allowWheelZoom:!1,zoomToFitOnOpen:!0,zoomToFitOnResize:!0,zoomToFitMaxLevel:2,linkPrefix:"📍",urlPrefix:"🌐",parseTODO:!1,todo:"☐",done:"🗹",hoverPreviewWithoutCTRL:!1,linkOpacity:1,openInAdjacentPane:!1,openInMainWorkspace:!0,showLinkBrackets:!0,allowCtrlClick:!0,forceWrap:!1,pageTransclusionCharLimit:200,wordWrappingDefault:0,removeTransclusionQuoteSigns:!0,iframelyAllowed:!0,pngExportScale:1,exportWithTheme:!0,exportWithBackground:!0,exportPaddingSVG:10,keepInSync:!1,autoexportSVG:!1,autoexportPNG:!1,autoExportLightAndDark:!1,autoexportExcalidraw:!1,embedType:"excalidraw",embedWikiLink:!0,syncExcalidraw:!1,experimentalFileType:!1,experimentalFileTag:"✏️",experimentalLivePreview:!0,experimentalEnableFourthFont:!1,experimantalFourthFont:"Virgil",fieldSuggester:!0,compatibilityMode:!1,drawingOpenCount:0,library:"deprecated",library2:{type:"excalidrawlib",version:2,source:GITHUB_RELEASES+PLUGIN_VERSION,libraryItems:[]},imageElementNotice:!0,mdSVGwidth:500,mdSVGmaxHeight:800,mdFont:"Virgil",mdFontColor:"Black",mdBorderColor:"Black",mdCSS:"",scriptEngineSettings:{},defaultTrayMode:!0,previousRelease:"0.0.0",showReleaseNotes:!0,showNewVersionNotification:!0,mathjaxSourceURL:"https://cdn.jsdelivr.net/npm/mathjax@3.2.1/es5/tex-svg.js",taskboneEnabled:!1,taskboneAPIkey:"",pinnedScripts:[],customPens:[Object.assign({},PENS.default),Object.assign({},PENS.highlighter),Object.assign({},PENS.finetip),Object.assign({},PENS.fountain),Object.assign({},PENS.marker),Object.assign({},PENS["thick-thin"]),Object.assign({},PENS["thin-thick-thin"]),Object.assign({},PENS.default),Object.assign({},PENS.default),Object.assign({},PENS.default)],numberOfCustomPens:0};class ExcalidrawSettingTab extends obsidian_module.PluginSettingTab{constructor(e,A){super(e,A),this.requestEmbedUpdate=!1,this.requestReloadDrawings=!1,this.requestUpdatePinnedPens=!1,this.reloadMathJax=!1,this.plugin=A}applySettingsUpdate(e=!1){e&&(this.requestReloadDrawings=!0)}async hide(){if(this.plugin.settings.scriptFolderPath=obsidian_module.normalizePath(this.plugin.settings.scriptFolderPath),"/"!==this.plugin.settings.scriptFolderPath&&""!==this.plugin.settings.scriptFolderPath||(this.plugin.settings.scriptFolderPath="Excalidraw/Scripts"),this.plugin.saveSettings(),this.requestUpdatePinnedPens&&app.workspace.getLeavesOfType("excalidraw").forEach((e=>{e.view instanceof ExcalidrawView&&e.view.updatePinnedCustomPens()})),this.requestReloadDrawings){const e=app.workspace.getLeavesOfType("excalidraw");for(const A of e)A.view instanceof ExcalidrawView&&(await A.view.save(!1),await A.view.reload(!0));this.requestEmbedUpdate=!0}this.requestEmbedUpdate&&this.plugin.triggerEmbedUpdates(),this.plugin.scriptEngine.updateScriptPath(),this.reloadMathJax&&this.plugin.loadMathJax()}async display(){var e;await this.plugin.loadSettings(),this.requestEmbedUpdate=!1,this.requestReloadDrawings=!1;const{containerEl:A}=this;A.addClass("excalidraw-settings"),this.containerEl.empty();const t=A.createDiv("coffee");t.addClass("ex-coffee-div"),t.createEl("a",{href:"https://ko-fi.com/zsolt"}).createEl("img",{attr:{src:"https://cdn.ko-fi.com/cdn/kofi3.png?v=3"}}).height=45,new obsidian_module.Setting(A).setName(t$d("RELEASE_NOTES_NAME")).setDesc(fragWithHTML(t$d("RELEASE_NOTES_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.showReleaseNotes).onChange((async e=>{this.plugin.settings.showReleaseNotes=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("NEWVERSION_NOTIFICATION_NAME")).setDesc(fragWithHTML(t$d("NEWVERSION_NOTIFICATION_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.showNewVersionNotification).onChange((async e=>{this.plugin.settings.showNewVersionNotification=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("FOLDER_NAME")).setDesc(fragWithHTML(t$d("FOLDER_DESC"))).addText((e=>e.setPlaceholder("Excalidraw").setValue(this.plugin.settings.folder).onChange((async e=>{this.plugin.settings.folder=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("FOLDER_EMBED_NAME")).setDesc(fragWithHTML(t$d("FOLDER_EMBED_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.embedUseExcalidrawFolder).onChange((async e=>{this.plugin.settings.embedUseExcalidrawFolder=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("TEMPLATE_NAME")).setDesc(fragWithHTML(t$d("TEMPLATE_DESC"))).addText((e=>e.setPlaceholder("Excalidraw/Template").setValue(this.plugin.settings.templateFilePath).onChange((async e=>{this.plugin.settings.templateFilePath=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("SCRIPT_FOLDER_NAME")).setDesc(fragWithHTML(t$d("SCRIPT_FOLDER_DESC"))).addText((e=>e.setPlaceholder("Excalidraw/Scripts").setValue(this.plugin.settings.scriptFolderPath).onChange((async e=>{this.plugin.settings.scriptFolderPath=e,this.applySettingsUpdate()})))),this.containerEl.createEl("h1",{text:t$d("SAVING_HEAD")}),new obsidian_module.Setting(A).setName(t$d("COMPRESS_NAME")).setDesc(fragWithHTML(t$d("COMPRESS_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.compress).onChange((async e=>{this.plugin.settings.compress=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("AUTOSAVE_INTERVAL_DESKTOP_NAME")).setDesc(fragWithHTML(t$d("AUTOSAVE_INTERVAL_DESKTOP_DESC"))).addDropdown((e=>e.addOption("15000","Frequent (every 15 seconds)").addOption("60000","Moderate (every 60 seconds)").addOption("300000","Rare (every 5 minutes)").addOption("900000","Practically never (every 15 minutes)").setValue(this.plugin.settings.autosaveIntervalDesktop.toString()).onChange((async e=>{this.plugin.settings.autosaveIntervalDesktop=parseInt(e),this.plugin.settings.autosaveInterval=app.isMobile?this.plugin.settings.autosaveIntervalMobile:this.plugin.settings.autosaveIntervalDesktop,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("AUTOSAVE_INTERVAL_MOBILE_NAME")).setDesc(fragWithHTML(t$d("AUTOSAVE_INTERVAL_MOBILE_DESC"))).addDropdown((e=>e.addOption("10000","Frequent (every 10 seconds)").addOption("30000","Moderate (every 30 seconds)").addOption("60000","Rare (every 1 minute)").addOption("300000","Practically never (every 5 minutes)").setValue(this.plugin.settings.autosaveIntervalMobile.toString()).onChange((async e=>{this.plugin.settings.autosaveIntervalMobile=parseInt(e),this.plugin.settings.autosaveInterval=app.isMobile?this.plugin.settings.autosaveIntervalMobile:this.plugin.settings.autosaveIntervalDesktop,this.applySettingsUpdate()})))),this.containerEl.createEl("h1",{text:t$d("FILENAME_HEAD")}),A.createDiv("",(e=>{e.innerHTML=t$d("FILENAME_DESC")}));const i=()=>`${t$d("FILENAME_SAMPLE")}${getDrawingFilename(this.plugin.settings)}
${t$d("FILENAME_EMBED_SAMPLE")}${getEmbedFilename("{NOTE_NAME}",this.plugin.settings)}`,n=A.createEl("p",{text:""});let a,r,s,o,l,c,d;n.innerHTML=i(),new obsidian_module.Setting(A).setName(t$d("FILENAME_PREFIX_NAME")).setDesc(fragWithHTML(t$d("FILENAME_PREFIX_DESC"))).addText((e=>e.setPlaceholder("Drawing ").setValue(this.plugin.settings.drawingFilenamePrefix).onChange((async A=>{this.plugin.settings.drawingFilenamePrefix=A.replaceAll(/[<>:"/\\|?*]/g,"_"),e.setValue(this.plugin.settings.drawingFilenamePrefix),n.innerHTML=i(),this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("FILENAME_PREFIX_EMBED_NAME")).setDesc(fragWithHTML(t$d("FILENAME_PREFIX_EMBED_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.drawingEmbedPrefixWithFilename).onChange((async e=>{this.plugin.settings.drawingEmbedPrefixWithFilename=e,n.innerHTML=i(),this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("FILENAME_POSTFIX_NAME")).setDesc(fragWithHTML(t$d("FILENAME_POSTFIX_DESC"))).addText((e=>e.setPlaceholder("").setValue(this.plugin.settings.drawingFilnameEmbedPostfix).onChange((async A=>{this.plugin.settings.drawingFilnameEmbedPostfix=A.replaceAll(/[<>:"/\\|?*]/g,"_"),e.setValue(this.plugin.settings.drawingFilnameEmbedPostfix),n.innerHTML=i(),this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("FILENAME_DATE_NAME")).setDesc(fragWithHTML(t$d("FILENAME_DATE_DESC"))).addText((e=>e.setPlaceholder("YYYY-MM-DD HH.mm.ss").setValue(this.plugin.settings.drawingFilenameDateTime).onChange((async A=>{this.plugin.settings.drawingFilenameDateTime=A.replaceAll(/[<>:"/\\|?*]/g,"_"),e.setValue(this.plugin.settings.drawingFilenameDateTime),n.innerHTML=i(),this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("FILENAME_EXCALIDRAW_EXTENSION_NAME")).setDesc(fragWithHTML(t$d("FILENAME_EXCALIDRAW_EXTENSION_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.useExcalidrawExtension).onChange((async e=>{this.plugin.settings.useExcalidrawExtension=e,n.innerHTML=i(),this.applySettingsUpdate()})))),this.containerEl.createEl("h1",{text:t$d("DISPLAY_HEAD")}),new obsidian_module.Setting(A).setName(t$d("LEFTHANDED_MODE_NAME")).setDesc(fragWithHTML(t$d("LEFTHANDED_MODE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.isLeftHanded).onChange((async e=>{this.plugin.settings.isLeftHanded=e,setLeftHandedMode(e),setTimeout((()=>setLeftHandedMode(e))),this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("MATCH_THEME_NAME")).setDesc(fragWithHTML(t$d("MATCH_THEME_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.matchTheme).onChange((async e=>{this.plugin.settings.matchTheme=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("MATCH_THEME_ALWAYS_NAME")).setDesc(fragWithHTML(t$d("MATCH_THEME_ALWAYS_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.matchThemeAlways).onChange((async e=>{this.plugin.settings.matchThemeAlways=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("MATCH_THEME_TRIGGER_NAME")).setDesc(fragWithHTML(t$d("MATCH_THEME_TRIGGER_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.matchThemeTrigger).onChange((async e=>{this.plugin.settings.matchThemeTrigger=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("DEFAULT_OPEN_MODE_NAME")).setDesc(fragWithHTML(t$d("DEFAULT_OPEN_MODE_DESC"))).addDropdown((e=>e.addOption("normal","Always in normal-mode").addOption("zen","Always in zen-mode").addOption("view","Always in view-mode").addOption("view-mobile","Usually normal, but view-mode on Phone").setValue(this.plugin.settings.defaultMode).onChange((async e=>{this.plugin.settings.defaultMode=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("DEFAULT_PEN_MODE_NAME")).setDesc(fragWithHTML(t$d("DEFAULT_PEN_MODE_DESC"))).addDropdown((e=>e.addOption("never","Never").addOption("mobile","On Obsidian Mobile").addOption("always","Always").setValue(this.plugin.settings.defaultPenMode).onChange((async e=>{this.plugin.settings.defaultPenMode=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("DEFAULT_PINCHZOOM_NAME")).setDesc(fragWithHTML(t$d("DEFAULT_PINCHZOOM_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.allowPinchZoom).onChange((async e=>{this.plugin.settings.allowPinchZoom=e,app.workspace.getLeavesOfType("excalidraw").forEach((e=>{e.view instanceof ExcalidrawView&&e.view.updatePinchZoom()})),this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("DEFAULT_WHEELZOOM_NAME")).setDesc(fragWithHTML(t$d("DEFAULT_WHEELZOOM_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.allowWheelZoom).onChange((async e=>{this.plugin.settings.allowWheelZoom=e,app.workspace.getLeavesOfType("excalidraw").forEach((e=>{e.view instanceof ExcalidrawView&&e.view.updateWheelZoom()})),this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("ZOOM_TO_FIT_ONOPEN_NAME")).setDesc(fragWithHTML(t$d("ZOOM_TO_FIT_ONOPEN_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.zoomToFitOnOpen).onChange((async e=>{this.plugin.settings.zoomToFitOnOpen=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("ZOOM_TO_FIT_NAME")).setDesc(fragWithHTML(t$d("ZOOM_TO_FIT_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.zoomToFitOnResize).onChange((async e=>{this.plugin.settings.zoomToFitOnResize=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("ZOOM_TO_FIT_MAX_LEVEL_NAME")).setDesc(fragWithHTML(t$d("ZOOM_TO_FIT_MAX_LEVEL_DESC"))).addSlider((e=>e.setLimits(.5,10,.5).setValue(this.plugin.settings.zoomToFitMaxLevel).onChange((async e=>{a.innerText=` ${e.toString()}`,this.plugin.settings.zoomToFitMaxLevel=e,this.applySettingsUpdate()})))).settingEl.createDiv("",(e=>{a=e,e.style.minWidth="2.3em",e.style.textAlign="right",e.innerText=` ${this.plugin.settings.zoomToFitMaxLevel.toString()}`})),this.containerEl.createEl("h1",{text:t$d("LINKS_HEAD")}),this.containerEl.createEl("span",void 0,(e=>e.innerHTML=t$d("LINKS_DESC"))),new obsidian_module.Setting(A).setName(t$d("ADJACENT_PANE_NAME")).setDesc(fragWithHTML(t$d("ADJACENT_PANE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.openInAdjacentPane).onChange((async e=>{this.plugin.settings.openInAdjacentPane=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("MAINWORKSPACE_PANE_NAME")).setDesc(fragWithHTML(t$d("MAINWORKSPACE_PANE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.openInMainWorkspace).onChange((async e=>{this.plugin.settings.openInMainWorkspace=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(fragWithHTML(t$d("LINK_BRACKETS_NAME"))).setDesc(fragWithHTML(t$d("LINK_BRACKETS_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.showLinkBrackets).onChange((e=>{this.plugin.settings.showLinkBrackets=e,this.applySettingsUpdate(!0)})))),new obsidian_module.Setting(A).setName(t$d("LINK_PREFIX_NAME")).setDesc(fragWithHTML(t$d("LINK_PREFIX_DESC"))).addText((e=>e.setPlaceholder(t$d("INSERT_EMOJI")).setValue(this.plugin.settings.linkPrefix).onChange((e=>{this.plugin.settings.linkPrefix=e,this.applySettingsUpdate(!0)})))),new obsidian_module.Setting(A).setName(t$d("URL_PREFIX_NAME")).setDesc(fragWithHTML(t$d("URL_PREFIX_DESC"))).addText((e=>e.setPlaceholder(t$d("INSERT_EMOJI")).setValue(this.plugin.settings.urlPrefix).onChange((e=>{this.plugin.settings.urlPrefix=e,this.applySettingsUpdate(!0)})))),new obsidian_module.Setting(A).setName(t$d("PARSE_TODO_NAME")).setDesc(fragWithHTML(t$d("PARSE_TODO_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.parseTODO).onChange((e=>{this.plugin.settings.parseTODO=e,r.setDisabled(!e),s.setDisabled(!e),this.applySettingsUpdate(!0)})))),new obsidian_module.Setting(A).setName(t$d("TODO_NAME")).setDesc(fragWithHTML(t$d("TODO_DESC"))).addText((e=>{r=e,e.setPlaceholder(t$d("INSERT_EMOJI")).setValue(this.plugin.settings.todo).onChange((e=>{this.plugin.settings.todo=e,this.applySettingsUpdate(!0)}))})),r.setDisabled(!this.plugin.settings.parseTODO),new obsidian_module.Setting(A).setName(t$d("DONE_NAME")).setDesc(fragWithHTML(t$d("DONE_DESC"))).setDisabled(!this.plugin.settings.parseTODO).addText((e=>{s=e,e.setPlaceholder(t$d("INSERT_EMOJI")).setValue(this.plugin.settings.done).onChange((e=>{this.plugin.settings.done=e,this.applySettingsUpdate(!0)}))})),s.setDisabled(!this.plugin.settings.parseTODO),new obsidian_module.Setting(A).setName(t$d("LINKOPACITY_NAME")).setDesc(fragWithHTML(t$d("LINKOPACITY_DESC"))).addSlider((e=>e.setLimits(0,1,.05).setValue(this.plugin.settings.linkOpacity).onChange((async e=>{o.innerText=` ${e.toString()}`,this.plugin.settings.linkOpacity=e,this.applySettingsUpdate(!0)})))).settingEl.createDiv("",(e=>{o=e,e.style.minWidth="2.3em",e.style.textAlign="right",e.innerText=` ${this.plugin.settings.linkOpacity.toString()}`})),new obsidian_module.Setting(A).setName(t$d("HOVERPREVIEW_NAME")).setDesc(fragWithHTML(t$d("HOVERPREVIEW_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.hoverPreviewWithoutCTRL).onChange((async e=>{this.plugin.settings.hoverPreviewWithoutCTRL=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("LINK_CTRL_CLICK_NAME")).setDesc(fragWithHTML(t$d("LINK_CTRL_CLICK_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.allowCtrlClick).onChange((async e=>{this.plugin.settings.allowCtrlClick=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("TRANSCLUSION_WRAP_NAME")).setDesc(fragWithHTML(t$d("TRANSCLUSION_WRAP_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.forceWrap).onChange((async e=>{this.plugin.settings.forceWrap=e,this.applySettingsUpdate(!0)})))).descEl.innerHTML=`![[doc#^ref]]{number} ${t$d("TRANSCLUSION_WRAP_DESC")}`,new obsidian_module.Setting(A).setName(t$d("PAGE_TRANSCLUSION_CHARCOUNT_NAME")).setDesc(fragWithHTML(t$d("PAGE_TRANSCLUSION_CHARCOUNT_DESC"))).addText((e=>e.setPlaceholder("Enter a number").setValue(this.plugin.settings.pageTransclusionCharLimit.toString()).onChange((async A=>{const t=parseInt(A);if(isNaN(t)&&""!==A)e.setValue(this.plugin.settings.pageTransclusionCharLimit.toString());else{if(this.requestEmbedUpdate=!0,""===A)return this.plugin.settings.pageTransclusionCharLimit=10,void this.applySettingsUpdate(!0);this.plugin.settings.pageTransclusionCharLimit=t,e.setValue(this.plugin.settings.pageTransclusionCharLimit.toString()),this.applySettingsUpdate(!0)}})))),new obsidian_module.Setting(A).setName(t$d("TRANSCLUSION_DEFAULT_WRAP_NAME")).setDesc(fragWithHTML(t$d("TRANSCLUSION_DEFAULT_WRAP_DESC"))).addText((e=>e.setPlaceholder("Enter a number").setValue(this.plugin.settings.wordWrappingDefault.toString()).onChange((async A=>{const t=parseInt(A);if(isNaN(t)&&""!==A)e.setValue(this.plugin.settings.wordWrappingDefault.toString());else{if(this.requestEmbedUpdate=!0,""===A)return this.plugin.settings.wordWrappingDefault=0,void this.applySettingsUpdate(!0);this.plugin.settings.wordWrappingDefault=t,e.setValue(this.plugin.settings.wordWrappingDefault.toString()),this.applySettingsUpdate(!0)}})))),new obsidian_module.Setting(A).setName(t$d("QUOTE_TRANSCLUSION_REMOVE_NAME")).setDesc(fragWithHTML(t$d("QUOTE_TRANSCLUSION_REMOVE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.removeTransclusionQuoteSigns).onChange((e=>{this.plugin.settings.removeTransclusionQuoteSigns=e,this.requestEmbedUpdate=!0,this.applySettingsUpdate(!0)})))),new obsidian_module.Setting(A).setName(t$d("GET_URL_TITLE_NAME")).setDesc(fragWithHTML(t$d("GET_URL_TITLE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.iframelyAllowed).onChange((async e=>{this.plugin.settings.iframelyAllowed=e,this.applySettingsUpdate()})))),this.containerEl.createEl("h1",{text:t$d("MD_HEAD")}),this.containerEl.createEl("p",{text:t$d("MD_HEAD_DESC")}),new obsidian_module.Setting(A).setName(t$d("MD_TRANSCLUDE_WIDTH_NAME")).setDesc(fragWithHTML(t$d("MD_TRANSCLUDE_WIDTH_DESC"))).addText((e=>e.setPlaceholder("Enter a number e.g. 500").setValue(this.plugin.settings.mdSVGwidth.toString()).onChange((async A=>{const t=parseInt(A);if(isNaN(t)&&""!==A)e.setValue(this.plugin.settings.mdSVGwidth.toString());else{if(this.requestEmbedUpdate=!0,""===A)return this.plugin.settings.mdSVGwidth=500,void this.applySettingsUpdate(!0);this.plugin.settings.mdSVGwidth=t,this.requestReloadDrawings=!0,e.setValue(this.plugin.settings.mdSVGwidth.toString()),this.applySettingsUpdate(!0)}})))),new obsidian_module.Setting(A).setName(t$d("MD_TRANSCLUDE_HEIGHT_NAME")).setDesc(fragWithHTML(t$d("MD_TRANSCLUDE_HEIGHT_DESC"))).addText((e=>e.setPlaceholder("Enter a number e.g. 800").setValue(this.plugin.settings.mdSVGmaxHeight.toString()).onChange((async A=>{const t=parseInt(A);if(isNaN(t)&&""!==A)e.setValue(this.plugin.settings.mdSVGmaxHeight.toString());else{if(this.requestEmbedUpdate=!0,""===A)return this.plugin.settings.mdSVGmaxHeight=800,void this.applySettingsUpdate(!0);this.plugin.settings.mdSVGmaxHeight=t,this.requestReloadDrawings=!0,e.setValue(this.plugin.settings.mdSVGmaxHeight.toString()),this.applySettingsUpdate(!0)}})))),new obsidian_module.Setting(A).setName(t$d("MD_DEFAULT_FONT_NAME")).setDesc(fragWithHTML(t$d("MD_DEFAULT_FONT_DESC"))).addDropdown((async e=>{e.addOption("Virgil","Virgil"),e.addOption("Cascadia","Cascadia"),this.app.vault.getFiles().filter((e=>["ttf","woff","woff2"].contains(e.extension))).forEach((A=>{e.addOption(A.path,A.name)})),e.setValue(this.plugin.settings.mdFont).onChange((e=>{this.requestReloadDrawings=!0,this.plugin.settings.mdFont=e,this.applySettingsUpdate(!0)}))})),new obsidian_module.Setting(A).setName(t$d("MD_DEFAULT_COLOR_NAME")).setDesc(fragWithHTML(t$d("MD_DEFAULT_COLOR_DESC"))).addText((e=>e.setPlaceholder("CSS Color-name|RGB-HEX").setValue(this.plugin.settings.mdFontColor).onChange((e=>{this.requestReloadDrawings=!0,this.plugin.settings.mdFontColor=e,this.applySettingsUpdate(!0)})))),new obsidian_module.Setting(A).setName(t$d("MD_DEFAULT_BORDER_COLOR_NAME")).setDesc(fragWithHTML(t$d("MD_DEFAULT_BORDER_COLOR_DESC"))).addText((e=>e.setPlaceholder("CSS Color-name|RGB-HEX").setValue(this.plugin.settings.mdBorderColor).onChange((e=>{this.requestReloadDrawings=!0,this.plugin.settings.mdBorderColor=e,this.applySettingsUpdate(!0)})))),new obsidian_module.Setting(A).setName(t$d("MD_CSS_NAME")).setDesc(fragWithHTML(t$d("MD_CSS_DESC"))).addText((e=>e.setPlaceholder("filename of css file in vault").setValue(this.plugin.settings.mdCSS).onChange((e=>{this.requestReloadDrawings=!0,this.plugin.settings.mdCSS=e,this.applySettingsUpdate(!0)})))),this.containerEl.createEl("h1",{text:t$d("EMBED_HEAD")}),new obsidian_module.Setting(A).setName(t$d("EMBED_PREVIEW_SVG_NAME")).setDesc(fragWithHTML(t$d("EMBED_PREVIEW_SVG_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.displaySVGInPreview).onChange((async e=>{this.plugin.settings.displaySVGInPreview=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("EMBED_REUSE_EXPORTED_IMAGE_NAME")).setDesc(fragWithHTML(t$d("EMBED_REUSE_EXPORTED_IMAGE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.displayExportedImageIfAvailable).onChange((async e=>{this.plugin.settings.displayExportedImageIfAvailable=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("PREVIEW_MATCH_OBSIDIAN_NAME")).setDesc(fragWithHTML(t$d("PREVIEW_MATCH_OBSIDIAN_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.previewMatchObsidianTheme).onChange((async e=>{this.plugin.settings.previewMatchObsidianTheme=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("EMBED_WIDTH_NAME")).setDesc(fragWithHTML(t$d("EMBED_WIDTH_DESC"))).addText((e=>e.setPlaceholder("400").setValue(this.plugin.settings.width).onChange((async e=>{this.plugin.settings.width=e,this.applySettingsUpdate(),this.requestEmbedUpdate=!0})))),new obsidian_module.Setting(A).setName(t$d("EMBED_TYPE_NAME")).setDesc(fragWithHTML(t$d("EMBED_TYPE_DESC"))).addDropdown((async e=>{l=e,l.addOption("excalidraw","excalidraw"),this.plugin.settings.autoexportPNG?l.addOption("PNG","PNG"):"PNG"===this.plugin.settings.embedType&&(this.plugin.settings.embedType="excalidraw",this.applySettingsUpdate()),this.plugin.settings.autoexportSVG?l.addOption("SVG","SVG"):"SVG"===this.plugin.settings.embedType&&(this.plugin.settings.embedType="excalidraw",this.applySettingsUpdate()),l.setValue(this.plugin.settings.embedType).onChange((async e=>{this.plugin.settings.embedType=e,this.applySettingsUpdate()}))})),new obsidian_module.Setting(A).setName(t$d("EMBED_WIKILINK_NAME")).setDesc(fragWithHTML(t$d("EMBED_WIKILINK_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.embedWikiLink).onChange((async e=>{this.plugin.settings.embedWikiLink=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("EXPORT_PNG_SCALE_NAME")).setDesc(fragWithHTML(t$d("EXPORT_PNG_SCALE_DESC"))).addSlider((e=>e.setLimits(1,5,.5).setValue(this.plugin.settings.pngExportScale).onChange((async e=>{c.innerText=` ${e.toString()}`,this.plugin.settings.pngExportScale=e,this.applySettingsUpdate()})))).settingEl.createDiv("",(e=>{c=e,e.style.minWidth="2.3em",e.style.textAlign="right",e.innerText=` ${this.plugin.settings.pngExportScale.toString()}`})),new obsidian_module.Setting(A).setName(t$d("EXPORT_BACKGROUND_NAME")).setDesc(fragWithHTML(t$d("EXPORT_BACKGROUND_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.exportWithBackground).onChange((async e=>{this.plugin.settings.exportWithBackground=e,this.applySettingsUpdate(),this.requestEmbedUpdate=!0})))),new obsidian_module.Setting(A).setName(t$d("EXPORT_PADDING_NAME")).setDesc(fragWithHTML(t$d("EXPORT_PADDING_DESC"))).addSlider((e=>e.setLimits(0,50,5).setValue(this.plugin.settings.exportPaddingSVG).onChange((async e=>{d.innerText=` ${e.toString()}`,this.plugin.settings.exportPaddingSVG=e,this.applySettingsUpdate()})))).settingEl.createDiv("",(e=>{d=e,e.style.minWidth="2.3em",e.style.textAlign="right",e.innerText=` ${this.plugin.settings.exportPaddingSVG.toString()}`})),new obsidian_module.Setting(A).setName(t$d("EXPORT_THEME_NAME")).setDesc(fragWithHTML(t$d("EXPORT_THEME_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.exportWithTheme).onChange((async e=>{this.plugin.settings.exportWithTheme=e,this.applySettingsUpdate(),this.requestEmbedUpdate=!0})))),this.containerEl.createEl("h1",{text:t$d("EXPORT_HEAD")}),new obsidian_module.Setting(A).setName(t$d("EXPORT_SYNC_NAME")).setDesc(fragWithHTML(t$d("EXPORT_SYNC_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.keepInSync).onChange((async e=>{this.plugin.settings.keepInSync=e,this.applySettingsUpdate()}))));const h=e=>{let A=0;for(A=0;Ae.setValue(this.plugin.settings.autoexportSVG).onChange((async e=>{e?l.addOption("SVG","SVG"):("SVG"===this.plugin.settings.embedType&&(l.setValue("excalidraw"),this.plugin.settings.embedType="excalidraw"),h("SVG")),this.plugin.settings.autoexportSVG=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("EXPORT_PNG_NAME")).setDesc(fragWithHTML(t$d("EXPORT_PNG_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.autoexportPNG).onChange((async e=>{e?l.addOption("PNG","PNG"):("PNG"===this.plugin.settings.embedType&&(l.setValue("excalidraw"),this.plugin.settings.embedType="excalidraw"),h("PNG")),this.plugin.settings.autoexportPNG=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("EXPORT_BOTH_DARK_AND_LIGHT_NAME")).setDesc(fragWithHTML(t$d("EXPORT_BOTH_DARK_AND_LIGHT_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.autoExportLightAndDark).onChange((async e=>{this.plugin.settings.autoExportLightAndDark=e,this.applySettingsUpdate()})))),this.containerEl.createEl("h1",{text:t$d("COMPATIBILITY_HEAD")}),new obsidian_module.Setting(A).setName(t$d("COMPATIBILITY_MODE_NAME")).setDesc(fragWithHTML(t$d("COMPATIBILITY_MODE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.compatibilityMode).onChange((async e=>{this.plugin.settings.compatibilityMode=e,n.innerHTML=i(),this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("EXPORT_EXCALIDRAW_NAME")).setDesc(fragWithHTML(t$d("EXPORT_EXCALIDRAW_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.autoexportExcalidraw).onChange((async e=>{this.plugin.settings.autoexportExcalidraw=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("SYNC_EXCALIDRAW_NAME")).setDesc(fragWithHTML(t$d("SYNC_EXCALIDRAW_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.syncExcalidraw).onChange((async e=>{this.plugin.settings.syncExcalidraw=e,this.applySettingsUpdate()})))),this.containerEl.createEl("h1",{text:t$d("NONSTANDARD_HEAD")}),this.containerEl.createEl("p",{text:t$d("NONSTANDARD_DESC")}),new obsidian_module.Setting(A).setName(t$d("CUSTOM_PEN_NAME")).setDesc(t$d("CUSTOM_PEN_DESC")).addDropdown((e=>e.addOption("0","0").addOption("1","1").addOption("2","2").addOption("3","3").addOption("4","4").addOption("5","5").addOption("6","6").addOption("7","7").addOption("8","8").addOption("9","9").addOption("10","10").setValue(this.plugin.settings.numberOfCustomPens.toString()).onChange((e=>{this.plugin.settings.numberOfCustomPens=parseInt(e),this.requestUpdatePinnedPens=!0,this.applySettingsUpdate(!1)})))),new obsidian_module.Setting(A).setName(t$d("ENABLE_FOURTH_FONT_NAME")).setDesc(fragWithHTML(t$d("ENABLE_FOURTH_FONT_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.experimentalEnableFourthFont).onChange((async e=>{this.requestReloadDrawings=!0,this.plugin.settings.experimentalEnableFourthFont=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("FOURTH_FONT_NAME")).setDesc(fragWithHTML(t$d("FOURTH_FONT_DESC"))).addDropdown((async e=>{e.addOption("Virgil","Virgil"),this.app.vault.getFiles().filter((e=>["ttf","woff","woff2"].contains(e.extension))).forEach((A=>{e.addOption(A.path,A.name)})),e.setValue(this.plugin.settings.experimantalFourthFont).onChange((e=>{this.requestReloadDrawings=!0,this.plugin.settings.experimantalFourthFont=e,this.applySettingsUpdate(!0),this.plugin.initializeFourthFont()}))})),this.containerEl.createEl("h1",{text:t$d("EXPERIMENTAL_HEAD")}),this.containerEl.createEl("p",{text:t$d("EXPERIMENTAL_DESC")}),new obsidian_module.Setting(A).setName(t$d("MATHJAX_NAME")).setDesc(t$d("MATHJAX_DESC")).addDropdown((e=>{e.addOption("https://cdn.jsdelivr.net/npm/mathjax@3.2.1/es5/tex-svg.js","jsdelivr").addOption("https://unpkg.com/mathjax@3.2.1/es5/tex-svg.js","unpkg").addOption("https://cdnjs.cloudflare.com/ajax/libs/mathjax/3.2.1/es5/tex-svg-full.min.js","cdnjs").setValue(this.plugin.settings.mathjaxSourceURL).onChange((e=>{this.plugin.settings.mathjaxSourceURL=e,this.reloadMathJax=!0,this.applySettingsUpdate()}))})),new obsidian_module.Setting(A).setName(t$d("FIELD_SUGGESTER_NAME")).setDesc(fragWithHTML(t$d("FIELD_SUGGESTER_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.fieldSuggester).onChange((async e=>{this.plugin.settings.fieldSuggester=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("FILETYPE_NAME")).setDesc(fragWithHTML(t$d("FILETYPE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.experimentalFileType).onChange((async e=>{this.plugin.settings.experimentalFileType=e,this.plugin.experimentalFileTypeDisplayToggle(e),this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("FILETAG_NAME")).setDesc(fragWithHTML(t$d("FILETAG_DESC"))).addText((e=>e.setPlaceholder(t$d("INSERT_EMOJI")).setValue(this.plugin.settings.experimentalFileTag).onChange((async e=>{this.plugin.settings.experimentalFileTag=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("LIVEPREVIEW_NAME")).setDesc(fragWithHTML(t$d("LIVEPREVIEW_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.experimentalLivePreview).onChange((async e=>{this.plugin.settings.experimentalLivePreview=e,this.applySettingsUpdate()})))),this.containerEl.createEl("h2",{text:t$d("TASKBONE_HEAD")}),this.containerEl.createEl("p",{text:t$d("TASKBONE_DESC")}),new obsidian_module.Setting(A).setName(t$d("TASKBONE_ENABLE_NAME")).setDesc(fragWithHTML(t$d("TASKBONE_ENABLE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.taskboneEnabled).onChange((async e=>{if(u.setDisabled(!e),this.plugin.settings.taskboneEnabled=e,""===this.plugin.settings.taskboneAPIkey){const e=await this.plugin.taskbone.initialize(!1);e&&u.setValue(e)}this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("TASKBONE_APIKEY_NAME")).setDesc(fragWithHTML(t$d("TASKBONE_APIKEY_DESC"))).addText((e=>{u=e,u.setValue(this.plugin.settings.taskboneAPIkey).onChange((async e=>{this.plugin.settings.taskboneAPIkey=e,this.applySettingsUpdate()})).setDisabled(!this.plugin.settings.taskboneEnabled)}));const g=null===(e=this.plugin.scriptEngine.getListofScripts())||void 0===e?void 0:e.map((e=>this.plugin.scriptEngine.getScriptName(e)));if(Object.keys(this.plugin.settings.scriptEngineSettings).length>0&&g){const e=(e,A)=>{const t=this.plugin.settings.scriptEngineSettings[e][A];return"object"==typeof t?t.height:null},t=(e,A)=>{const t=this.plugin.settings.scriptEngineSettings[e][A];return"object"==typeof t?t.value:t},i=(e,A,t)=>{"object"==typeof this.plugin.settings.scriptEngineSettings[e][A]?this.plugin.settings.scriptEngineSettings[e][A].value=t:this.plugin.settings.scriptEngineSettings[e][A]=t},n=(e,n,a)=>{new obsidian_module.Setting(A).setName(n).setDesc(fragWithHTML(null!=a?a:"")).addToggle((A=>A.setValue(t(e,n)).onChange((async A=>{i(e,n,A),this.applySettingsUpdate()}))))},a=(n,a,r,s)=>{s&&"[object Array]"===Object.prototype.toString.call(s)&&s.length>0?new obsidian_module.Setting(A).setName(a).setDesc(fragWithHTML(null!=r?r:"")).addDropdown((e=>{s.forEach((A=>e.addOption(A.toString(),A.toString()))),e.setValue(t(n,a)).onChange((async e=>{i(n,a,e),this.applySettingsUpdate()}))})):e(n,a)?new obsidian_module.Setting(A).setName(a).setDesc(fragWithHTML(null!=r?r:"")).addTextArea((A=>{A.inputEl.style.minHeight=e(n,a),A.inputEl.style.minWidth="400px",A.setValue(t(n,a)).onChange((async e=>{i(n,a,e),this.applySettingsUpdate()}))})):new obsidian_module.Setting(A).setName(a).setDesc(fragWithHTML(null!=r?r:"")).addText((e=>e.setValue(t(n,a)).onChange((async e=>{i(n,a,e),this.applySettingsUpdate()}))))},r=(e,n,a)=>{new obsidian_module.Setting(A).setName(n).setDesc(fragWithHTML(null!=a?a:"")).addText((A=>A.setPlaceholder("Enter a number").setValue(t(e,n).toString()).onChange((async a=>{const r=parseFloat(a);isNaN(r)&&""!==a?A.setValue(t(e,n).toString()):(i(e,n,isNaN(r)?0:r),this.applySettingsUpdate())}))))};this.containerEl.createEl("h1",{text:t$d("SCRIPT_SETTINGS_HEAD")}),Object.keys(this.plugin.settings.scriptEngineSettings).filter((e=>g.contains(e))).forEach((e=>{const A=this.plugin.settings.scriptEngineSettings[e],t=Object.values(A);0===t.length||t.length>0&&0===t.map((e=>e.hidden?0:1)).reduce(((e,A)=>e+A))||(this.containerEl.createEl("h3",{text:e}),Object.keys(A).forEach((t=>{var i;const s=A[t];switch(typeof(null!==(i=s.value)&&void 0!==i?i:s)){case"boolean":s.hidden||n(e,t,s.description);break;case"string":s.hidden||a(e,t,s.description,s.valueset);break;case"number":s.hidden||r(e,t,s.description)}})))}))}}}var openDialogAction;!function(e){e[e.openFile=0]="openFile",e[e.insertLinkToDrawing=1]="insertLinkToDrawing"}(openDialogAction||(openDialogAction={}));class OpenFileDialog extends obsidian_module.FuzzySuggestModal{constructor(e,A){super(e),this.app=e,this.action=openDialogAction.openFile,this.plugin=A,this.onNewPane=!1,this.limit=20,this.setInstructions([{command:t$d("TYPE_FILENAME"),purpose:""}]),this.inputEl.onkeyup=e=>{"Enter"==e.key&&this.action==openDialogAction.openFile&&this.containerEl.innerText.includes(EMPTY_MESSAGE)&&(this.plugin.createAndOpenDrawing(`${this.plugin.settings.folder}/${this.inputEl.value}.excalidraw.md`,this.onNewPane?"new-pane":"active-pane"),this.close())}}getItems(){return(this.app.vault.getFiles()||[]).filter((e=>this.plugin.isExcalidrawFile(e)))}getItemText(e){return e.path}onChooseItem(e){switch(this.action){case openDialogAction.openFile:this.plugin.openDrawing(e,this.onNewPane?"new-pane":"active-pane",!0);break;case openDialogAction.insertLinkToDrawing:this.plugin.embedDrawing(e)}}start(e,A){switch(this.action=e,this.onNewPane=A,e){case openDialogAction.openFile:this.emptyStateText=EMPTY_MESSAGE,this.setPlaceholder(t$d("SELECT_FILE_OR_TYPE_NEW"));break;case openDialogAction.insertLinkToDrawing:this.emptyStateText=t$d("NO_MATCH"),this.setPlaceholder(t$d("SELECT_TO_EMBED"))}this.open()}}class InsertLinkDialog extends obsidian_module.FuzzySuggestModal{constructor(e){super(e),this.app=e,this.limit=20,this.setInstructions([{command:t$d("SELECT_FILE"),purpose:""}]),this.setPlaceholder(t$d("SELECT_FILE_TO_LINK")),this.emptyStateText=t$d("NO_MATCH")}getItems(){return this.app.metadataCache.getLinkSuggestions().filter((e=>!e.path.match(REG_LINKINDEX_INVALIDCHARS)))}getItemText(e){return e.path+(e.alias?`|${e.alias}`:"")}onChooseItem(e){let A=e.path;e.file&&(A=this.app.metadataCache.fileToLinktext(e.file,this.drawingPath,!0)),this.addText(`[[${A+(e.alias?`|${e.alias}`:"")}]]`)}start(e,A){this.addText=A,this.drawingPath=e,this.open()}}class InsertImageDialog extends obsidian_module.FuzzySuggestModal{constructor(e){super(e.app),this.plugin=e,this.app=e.app,this.limit=20,this.setInstructions([{command:t$d("SELECT_FILE_WITH_OPTION_TO_SCALE"),purpose:""}]),this.setPlaceholder(t$d("SELECT_DRAWING")),this.emptyStateText=t$d("NO_MATCH"),this.inputEl.onkeyup=e=>{"Enter"===e.key&&scaleToFullsizeModifier(e)&&this.chooser.values&&(this.onChooseItem(this.chooser.values[this.chooser.selectedItem].item,new KeyboardEvent("keypress",{shiftKey:!0,metaKey:!(DEVICE.isIOS||DEVICE.isMacOS),ctrlKey:DEVICE.isIOS||DEVICE.isMacOS})),this.close())}}getItems(){return(this.app.vault.getFiles()||[]).filter((e=>(IMAGE_TYPES.contains(e.extension)||this.plugin.isExcalidrawFile(e))&&!e.path.match(REG_LINKINDEX_INVALIDCHARS)))}getItemText(e){return e.path}onChooseItem(e,A){const t=this.plugin.ea.getAPI(this.view);t.canvas.theme=this.view.excalidrawAPI.getAppState().theme;const i=scaleToFullsizeModifier(A);(async()=>{await t.addImage(0,0,e,!i),t.addElementsToView(!0,!1,!0)})()}start(e){this.view=e,this.open()}}class ImportSVGDialog extends obsidian_module.FuzzySuggestModal{constructor(e){super(e.app),this.plugin=e,this.app=e.app,this.limit=20,this.setInstructions([{command:t$d("SELECT_FILE"),purpose:""}]),this.setPlaceholder(t$d("SELECT_DRAWING")),this.emptyStateText=t$d("NO_MATCH")}getItems(){return(this.app.vault.getFiles()||[]).filter((e=>"svg"===e.extension&&!e.path.match(REG_LINKINDEX_INVALIDCHARS)))}getItemText(e){return e.path}async onChooseItem(e,A){if(!e)return;const t=this.plugin.ea;t.reset(),t.setView(this.view);const i=await app.vault.read(e);i&&""!==i&&(t.importSVG(i),t.addElementsToView(!0,!0,!0))}start(e){this.view=e,this.open()}}class InsertMDDialog extends obsidian_module.FuzzySuggestModal{constructor(e){super(e.app),this.plugin=e,this.app=e.app,this.limit=20,this.setInstructions([{command:t$d("SELECT_FILE"),purpose:""}]),this.setPlaceholder(t$d("SELECT_MD")),this.emptyStateText=t$d("NO_MATCH")}getItems(){return(this.app.vault.getFiles()||[]).filter((e=>"md"===e.extension&&!this.plugin.isExcalidrawFile(e)))}getItemText(e){return e.path}onChooseItem(e){const A=this.plugin.ea;A.reset(),A.setView(this.view),(async()=>{await A.addImage(0,0,e),A.addElementsToView(!0,!1,!0)})()}start(e){this.view=e,this.open()}}function around(e,A){const t=Object.keys(A).map((t=>around1(e,t,A[t])));return 1===t.length?t[0]:function(){t.forEach((e=>e()))}}function around1(e,A,t){const i=e[A],n=e.hasOwnProperty(A);let a=t(i);return i&&Object.setPrototypeOf(a,i),Object.setPrototypeOf(r,a),e[A]=r,s;function r(...t){return a===i&&e[A]===r&&s(),a.apply(this,t)}function s(){e[A]===r&&(n?e[A]=i:delete e[A]),a!==i&&(a=i,Object.setPrototypeOf(r,i||Function))}}let plugin,vault,metadataCache;const getDefaultWidth=e=>{const A=parseInt(e.settings.width);return isNaN(A)||0===A||null===A?"400":e.settings.width},initializeMarkdownPostProcessor=e=>{plugin=e,vault=e.app.vault,metadataCache=e.app.metadataCache},getIMG=async(e,A=!1)=>{var t;let i=e.file;if(!e.file){const A=vault.getAbstractFileByPath(null===(t=e.fname)||void 0===t?void 0:t.split("#")[0]);if(!(A&&A instanceof obsidian_module.TFile))return null;i=A}const n=getEmbeddedFilenameParts(e.fname);e.style=e.style.replaceAll(" ","-");const a=hasExportTheme(plugin,i)?getExportTheme(plugin,i,"light"):void 0,r={withBackground:getWithBackground(plugin,i),withTheme:!!a||plugin.settings.exportWithTheme},s=createEl("img");let o=`max-width:${e.fwidth}${e.fwidth.match(/\d$/)?"px":""}; `;e.fheight&&(o+=`height:${e.fheight}px;`),A||s.setAttribute("style",o),s.addClass(e.style),s.addClass("excalidraw-embedded-img");const l=null!=a?a:plugin.settings.previewMatchObsidianTheme?isObsidianThemeDark()?"dark":"light":plugin.settings.exportWithTheme?void 0:"light";l&&(r.withTheme=!0);const c=new EmbeddedFilesLoader(plugin,l?"dark"===l:void 0);if(!plugin.settings.displaySVGInPreview){const A=parseInt(e.fwidth),t=A>=2400?5:A>=1800?4:A>=1200?3:A>=600?2:1,a=n.hasGroupref?void 0:await getQuickImagePreview(plugin,i.path,"png"),o=null!=a?a:await createPNG(n.hasGroupref?n.filepath+n.linkpartReference:i.path,t,r,c,l,null,null,[],plugin,0);return o?(s.src=URL.createObjectURL(o),s):null}if(!n.hasBlockref&&!n.hasSectionref){const e=await getQuickImagePreview(plugin,i.path,"svg");if(e)return s.setAttribute("src",svgToBase64(e)),s}const d=(await createSVG(n.hasGroupref||n.hasBlockref||n.hasSectionref?n.filepath+n.linkpartReference:i.path,!0,r,c,l,null,null,[],plugin,0,getExportPadding(plugin,i))).outerHTML;let h=null;const u=document.createElement("div");u.innerHTML=d;const g=u.firstChild;return g instanceof SVGSVGElement&&(h=g),h?(h=embedFontsInSVG(h,plugin),s.setAttribute("src",svgToBase64(h.outerHTML)),s):null},createImgElement=async(e,A=!1)=>{const t=await getIMG(e,A);let i;t.setAttribute("fileSource",e.fname),e.fwidth&&t.setAttribute("w",e.fwidth),e.fheight&&t.setAttribute("h",e.fheight),t.setAttribute("draggable","false"),t.setAttribute("onCanvas",A?"true":"false");const n=e=>{if(e.target instanceof Element&&"img"!=e.target.tagName.toLowerCase())return;const A=t.getAttribute("fileSource");if(A){const t=A.match(/([^#]*)(.*)/);if(!t)return;plugin.openDrawing(vault.getAbstractFileByPath(t[1]),linkClickModifierType(e),!0,t[2])}};let a;return t.addEventListener("pointermove",(e=>{i&&(Math.abs(e.screenX-a.screenX)>10||Math.abs(e.screenY-a.screenY)>10)&&(clearTimeout(i),i=null)})),t.addEventListener("pointerdown",(e=>{var A;(null===(A=null==t?void 0:t.parentElement)||void 0===A?void 0:A.hasClass("canvas-node-content"))||(i=setTimeout((()=>n(e)),500),a=e)})),t.addEventListener("pointerup",(()=>{i&&clearTimeout(i),i=null})),t.addEventListener("dblclick",n),t.addEventListener(RERENDER_EVENT,(async e=>{e.stopPropagation();const A=t.parentElement,i=t.style.maxWidth,n=t.style.maxHeight,a=t.getAttribute("fileSource"),r="true"===t.getAttribute("onCanvas"),s=await createImgElement({fname:a,fwidth:t.getAttribute("w"),fheight:t.getAttribute("h"),style:t.getAttribute("class")},r);A.empty(),r||(s.style.maxHeight=n,s.style.maxWidth=i),s.setAttribute("fileSource",a),A.append(s)})),t},createImageDiv=async(e,A=!1)=>{const t=await createImgElement(e,A);return createDiv(e.style,(e=>e.append(t)))},processReadingMode=async(e,A)=>{var t;for(const i of e){const e=null===(t=i.getAttribute("src"))||void 0===t?void 0:t.split("#")[0];if(!e)continue;const n=metadataCache.getFirstLinkpathDest(e,A.sourcePath);if(n&&n instanceof obsidian_module.TFile&&plugin.isExcalidrawFile(n)){if(isTextOnlyEmbed(i))continue;i.parentElement.replaceChild(await processInternalEmbed(i,n),i)}}},processInternalEmbed=async(e,A)=>{const t={fname:"",fheight:"",fwidth:"",style:""},i=e.getAttribute("src");if(!i)return;e.removeClass("markdown-embed"),e.removeClass("inline-embed"),e.addClass("media-embed"),e.addClass("image-embed"),t.fwidth=e.getAttribute("width")?e.getAttribute("width"):getDefaultWidth(plugin),t.fheight=e.getAttribute("height");let n=e.getAttribute("alt");t.style="excalidraw-svg",processAltText(i.split("#")[0],n,t);const a=getEmbeddedFilenameParts(i);return t.fname=(null==A?void 0:A.path)+(a.hasBlockref||a.hasSectionref?a.linkpartReference:""),t.file=A,await createImageDiv(t)},processAltText=(e,A,t)=>{var i,n;if(A&&!A.startsWith(e)){const a=A.match(/[^\|\d]*\|?((\d*%?)x?(\d*%?))?\|?(.*)/);t.fwidth=null!==(i=a[2])&&void 0!==i?i:t.fwidth,t.fheight=null!==(n=a[3])&&void 0!==n?n:t.fheight,a[4]&&!a[4].startsWith(e)&&(t.style=`excalidraw-svg-${a[4]}`),a[4]&&""!==a[4]||a[2]&&""!==a[2]||!a[0]||""===a[0]||(t.style=`excalidraw-svg-${a[0]}`)}},isTextOnlyEmbed=e=>{const A=e.getAttribute("src");if(!A)return!0;const t=getEmbeddedFilenameParts(A);return!(t.hasArearef||t.hasGroupref)&&(t.hasBlockref||t.hasSectionref)},tmpObsidianWYSIWYG=async(e,A)=>{const t=app.vault.getAbstractFileByPath(A.sourcePath);if(!(t instanceof obsidian_module.TFile))return;if(!plugin.isExcalidrawFile(t))return;if(A.remainingNestLevel<4)return;const i=A.containerEl;let n=i;for(;!n.hasClass("dataview")&&!n.hasClass("cm-preview-code-block")&&!n.hasClass("cm-embed-block")&&!n.hasClass("internal-embed")&&!n.hasClass("markdown-reading-view")&&!n.hasClass("markdown-embed")&&n.parentElement;)n=n.parentElement;if(n.hasClass("dataview")||n.hasClass("cm-preview-code-block")||n.hasClass("cm-embed-block"))return;const a={fname:A.sourcePath,fheight:"",fwidth:getDefaultWidth(plugin),style:"excalidraw-svg"};a.file=t;const r=n.hasClass("markdown-embed"),s=n.hasClass("markdown-reading-view");if(!n.hasClass("internal-embed")&&(r||s)){const A=Boolean(e.querySelector(".frontmatter"));if(e.empty(),!A)return void(e.parentElement===i&&i.removeChild(e));n.empty();const t=n.hasClass("canvas-node-content"),s=await createImageDiv(a,t);return r?(n.removeClass("markdown-embed"),n.removeClass("inline-embed"),n.addClass("media-embed"),n.addClass("image-embed"),!t&&s.firstChild instanceof HTMLElement&&(s.firstChild.style.maxHeight="100%",s.firstChild.style.maxWidth=null),void n.appendChild(s.firstChild)):void n.appendChild(s)}if(isTextOnlyEmbed(n))return;if(e.empty(),n.hasAttribute("ready"))return;n.setAttribute("ready",""),n.empty();const o=await processInternalEmbed(n,t);n.appendChild(o);let l=null;const c=new MutationObserver((e=>{var A;["alt","width","height"].contains(null===(A=e[0])||void 0===A?void 0:A.attributeName)&&(l&&clearTimeout(l),l=setTimeout((async()=>{l=null,n.empty();const e=await processInternalEmbed(n,t);n.appendChild(e)}),500))}));c.observe(n,{attributes:!0})},markdownPostProcessor=async(e,A)=>{var t;const i=e.querySelectorAll(".internal-embed");0!==i.length?Boolean(null===(t=A.frontmatter)||void 0===t?void 0:t.hasOwnProperty("excalidraw-plugin"))?e.style.display="none":await processReadingMode(i,A):tmpObsidianWYSIWYG(e,A)},hoverEvent=e=>{e.linktext?(plugin.hover.linkText=e.linktext,plugin.hover.sourcePath=e.sourcePath):plugin.hover.linkText=null},observer=new MutationObserver((async e=>{if(0==e.length)return;if(!plugin.hover.linkText)return;const A=metadataCache.getFirstLinkpathDest(plugin.hover.linkText,plugin.hover.sourcePath?plugin.hover.sourcePath:"");if(!A)return;if(!(A instanceof obsidian_module.TFile))return;if("excalidraw"!==A.extension)return;const t=getIMGFilename(A.path,"svg"),i=vault.getAbstractFileByPath(t);if(i&&i instanceof obsidian_module.TFile)return;const n=getIMGFilename(A.path,"png"),a=vault.getAbstractFileByPath(n);if(a&&a instanceof obsidian_module.TFile)return;if(!plugin.hover.linkText)return;if(1!=e.length)return;if(1!=e[0].addedNodes.length)return;if("popover hover-popover file-embed is-loaded"!=!e[0].addedNodes[0].classNames)return;const r=e[0].addedNodes[0];r.empty();const s=await getIMG({file:A,fname:A.path,fwidth:"300",fheight:null,style:"excalidraw-svg"}),o=createDiv("",(async e=>{e.appendChild(s),e.setAttribute("src",A.path),e.onClickEvent((A=>{A.stopImmediatePropagation();const t=e.getAttribute("src");t&&plugin.openDrawing(vault.getAbstractFileByPath(t),linkClickModifierType(A))}))}));r.appendChild(o)})),EXCALIDRAW_AUTOMATE_INFO=[{field:"plugin",code:null,desc:"The ExcalidrawPlugin object",after:""},{field:"elementsDict",code:null,desc:"The {} dictionary object, contains the ExcalidrawElements currently edited in Automate indexed by el.id",after:'[""]'},{field:"imagesDict",code:null,desc:"the images files including DataURL, indexed by fileId",after:'[""]'},{field:"style.strokeColor",code:"[string]",desc:"A valid css color. See W3 School Colors for more.",after:""},{field:"style.backgroundColor",code:"[string]",desc:"A valid css color. See W3 School Colors for more.",after:""},{field:"style.angle",code:"[number]",desc:"Rotation of the object in radian",after:""},{field:"style.fillStyle",code:"[string]",desc:"'hachure' | 'cross-hatch' | 'solid'",after:""},{field:"style.strokeWidth",code:"[number]",desc:null,after:""},{field:"style.strokeStyle",code:"[string]",desc:"'solid' | 'dashed' | 'dotted'",after:""},{field:"style.roughness",code:"[number]",desc:"0:Architect\n1:Artist\n2:Cartoonist",after:""},{field:"style.opacity",code:"[number]",desc:"100: Fully opaque\n0: Fully transparent",after:""},{field:"style.roundness",code:"[null | { type: RoundnessType; value?: number };]",desc:"set to null for 'sharp', else the stroke will be 'round'
type: 1==LEGACY,
2==PROPORTIONAL RADIUS,
3==ADAPTIVE RADIUS, value: adaptive factor defaults to 32",after:""},{field:"style.fontFamily",code:"[number]",desc:"1: Virgil, 2:Helvetica, 3:Cascadia, 4:LocalFont",after:""},{field:"style.fontSize",code:"[number]",desc:null,after:""},{field:"style.textAlign",code:"[string]",desc:"'left' | 'right' | 'center'",after:""},{field:"style.verticalAlign",code:"[string]",desc:"For future use, has no effect currently; 'top' | 'bottom' | 'middle'",after:""},{field:"style.startArrowHead",code:"[string]",desc:"'triangle' | 'dot' | 'arrow' | 'bar' | null",after:""},{field:"style.endArrowHead",code:"[string]",desc:"'triangle' | 'dot' | 'arrow' | 'bar' | null",after:""},{field:"canvas.theme",code:"[string]",desc:"'dark' | 'light'",after:""},{field:"canvas.viewBackgroundColor",code:"[string]",desc:"A valid css color.\nSee W3 School Colors for more.",after:""},{field:"canvas.gridSize",code:"[number]",desc:null,after:""},{field:"addToGroup",code:"addToGroup(objectIds: []): string;",desc:null,after:""},{field:"toClipboard",code:"toClipboard(templatePath?: string): void;",desc:"Copies current elements using template to clipboard, ready to be pasted into an excalidraw canvas",after:""},{field:"getElements",code:"getElements(): ExcalidrawElement[];",desc:"Get all elements from ExcalidrawAutomate elementsDict",after:""},{field:"getElement",code:"getElement(id: string): ExcalidrawElement;",desc:"Get single element from ExcalidrawAutomate elementsDict",after:""},{field:"create",code:'create(params?: {filename?: string, foldername?: string, templatePath?: string, onNewPane?: boolean, frontmatterKeys?: { "excalidraw-plugin"?: "raw" | "parsed", "excalidraw-link-prefix"?: string, "excalidraw-link-brackets"?: boolean, "excalidraw-url-prefix"?: string,},}): Promise;',desc:"Create a drawing and save it to filename.\nIf filename is null: default filename as defined in Excalidraw settings.\nIf folder is null: default folder as defined in Excalidraw settings\n",after:""},{field:"createSVG",code:"createSVG(templatePath?: string, embedFont?: boolean, exportSettings?: ExportSettings, loader?: EmbeddedFilesLoader, theme?: string,): Promise;",desc:"Use ExcalidrawAutomate.getExportSettings(boolean,boolean) to create an ExportSettings object.\nUse ExcalidrawAutomate.getEmbeddedFilesLoader(boolean?) to create an EmbeddedFilesLoader object.",after:""},{field:"createPNG",code:"createPNG(templatePath?: string, scale?: number, exportSettings?: ExportSettings, loader?: EmbeddedFilesLoader, theme?: string,): Promise;",desc:"Use ExcalidrawAutomate.getExportSettings(boolean,boolean) to create an ExportSettings object.\nUse ExcalidrawAutomate.getEmbeddedFilesLoader(boolean?) to create an EmbeddedFilesLoader object.",after:""},{field:"wrapText",code:"wrapText(text: string, lineLen: number): string;",desc:null,after:""},{field:"addRect",code:"addRect(topX: number, topY: number, width: number, height: number): string;",desc:null,after:""},{field:"addDiamond",code:"addDiamond(topX: number, topY: number, width: number, height: number): string;",desc:null,after:""},{field:"addEllipse",code:"addEllipse(topX: number, topY: number, width: number, height: number): string;",desc:null,after:""},{field:"addBlob",code:"addBlob(topX: number, topY: number, width: number, height: number): string;",desc:null,after:""},{field:"addText",code:'addText(topX: number, topY: number, text: string, formatting?: {wrapAt?: number; width?: number; height?: number; textAlign?: string; box?: boolean | "box" | "blob" | "ellipse" | "diamond"; boxPadding?: number;}, id?: string,): string;',desc:"If box is !null, then text will be boxed\nThe function returns the id of the TextElement. If the text element is boxed i.e. it is a sticky note, then the id of the container object",after:""},{field:"addLine",code:"addLine(points: [[x: number, y: number]]): string;",desc:null,after:""},{field:"addArrow",code:"addArrow(points: [[x: number, y: number]], formatting?: { startArrowHead?: string; endArrowHead?: string; startObjectId?: string; endObjectId?: string;},): string;",desc:null,after:""},{field:"addImage",code:"addImage(topX: number, topY: number, imageFile: TFile, scale: boolean): Promise;",desc:"set scale to false if you want to embed the image at 100% of its original size. Default is true which will insert a scaled image",after:""},{field:"addLaTex",code:"addLaTex(topX: number, topY: number, tex: string): Promise;",desc:null,after:""},{field:"connectObjects",code:"connectObjects(objectA: string, connectionA: ConnectionPoint, objectB: string, connectionB: ConnectionPoint, formatting?: {numberOfPoints?: number; startArrowHead?: string; endArrowHead?: string; padding?: number;},): string;",desc:'type ConnectionPoint = "top" | "bottom" | "left" | "right" | null\nWhen null is passed as ConnectionPoint then Excalidraw will automatically decide\nnumberOfPoints is the number of points on the line. Default is 0 i.e. line will only have a start and end point.\nArrowHead: "triangle"|"dot"|"arrow"|"bar"|null',after:""},{field:"addLabelToLine",code:"addLabelToLine(lineId: string, label: string): string;",desc:"Adds a text label to a line or arrow. Currently only works with a simple straight 2-point (start & end) line",after:""},{field:"clear",code:"clear(): void;",desc:"Clears elementsDict and imagesDict only",after:""},{field:"reset",code:"reset(): void;",desc:"clear() + reset all style values to default",after:""},{field:"isExcalidrawFile",code:"isExcalidrawFile(f: TFile): boolean;",desc:"Returns true if MD file is an Excalidraw file",after:""},{field:"targetView",code:"targetView: ExcalidrawView;",desc:"The Obsidian view currently edited",after:""},{field:"setView",code:'setView(view: ExcalidrawView | "first" | "active"): ExcalidrawView;',desc:null,after:""},{field:"getExcalidrawAPI",code:"getExcalidrawAPI(): any;",desc:"Excalidraw API",after:""},{field:"getViewElements",code:"getViewElements(): ExcalidrawElement[];",desc:"Get elements in View",after:""},{field:"deleteViewElements",code:"deleteViewElements(el: ExcalidrawElement[]): boolean;",desc:null,after:""},{field:"getViewSelectedElement",code:"getViewSelectedElement(): ExcalidrawElement;",desc:"Get the selected element in the view, if more are selected, get the first",after:""},{field:"getViewSelectedElements",code:"getViewSelectedElements(): ExcalidrawElement[];",desc:null,after:""},{field:"getViewFileForImageElement",code:"getViewFileForImageElement(el: ExcalidrawElement): TFile | null;",desc:"Returns the TFile file handle for the image element",after:""},{field:"copyViewElementsToEAforEditing",code:"copyViewElementsToEAforEditing(elements: ExcalidrawElement[]): void;",desc:"Copies elements from view to elementsDict for editing",after:""},{field:"viewToggleFullScreen",code:"viewToggleFullScreen(forceViewMode?: boolean): void;",desc:null,after:""},{field:"connectObjectWithViewSelectedElement",code:"connectObjectWithViewSelectedElement(objectA: string, connectionA: ConnectionPoint, connectionB: ConnectionPoint, formatting?: {numberOfPoints?: number; startArrowHead?: string; endArrowHead?: string; padding?: number;},): boolean;",desc:"Connect an object to the selected element in the view\nSee tooltip for connectObjects for details",after:""},{field:"addElementsToView",code:"addElementsToView(repositionToCursor?: boolean, save?: boolean, newElementsOnTop?: boolean,): Promise;",desc:"Adds elements from elementsDict to the current view\nrepositionToCursor: default is false\nsave: default is true\nnewElementsOnTop: default is false, i.e. the new elements get to the bottom of the stack\nnewElementsOnTop controls whether elements created with ExcalidrawAutomate are added at the bottom of the stack or the top of the stack of elements already in the view\nNote that elements copied to the view with copyViewElementsToEAforEditing retain their position in the stack of elements in the view even if modified using EA",after:""},{field:"onDropHook",code:'onDropHook(data: {ea: ExcalidrawAutomate, event: React.DragEvent, draggable: any, type: "file" | "text" | "unknown", payload: {files: TFile[], text: string,}, excalidrawFile: TFile, view: ExcalidrawView, pointerPosition: { x: number, y: number},}): boolean;',desc:"If set Excalidraw will call this function onDrop events.\nA return of true will stop the default onDrop processing in Excalidraw.\n\ndraggable is the Obsidian draggable object\nfiles is the array of dropped files\nexcalidrawFile is the file receiving the drop event\nview is the excalidraw view receiving the drop.\npointerPosition is the pointer position on canvas at the time of drop.",after:""},{field:"mostRecentMarkdownSVG",code:"mostRecentMarkdownSVG: SVGSVGElement;",desc:"Markdown renderer will drop a copy of the most recent SVG here for debugging purposes",after:""},{field:"getEmbeddedFilesLoader",code:"getEmbeddedFilesLoader(isDark?: boolean): EmbeddedFilesLoader;",desc:"Utility function to generate EmbeddedFilesLoader object",after:""},{field:"getExportSettings",code:"getExportSettings(withBackground: boolean, withTheme: boolean,): ExportSettings;",desc:"Utility function to generate ExportSettings object",after:""},{field:"getBoundingBox",code:"getBoundingBox(elements: ExcalidrawElement[]): {topX: number, topY: number, width: number, height: number,};",desc:"Gets the bounding box of elements. The bounding box is the box encapsulating all of the elements completely.",after:""},{field:"getMaximumGroups",code:"getMaximumGroups(elements: ExcalidrawElement[]): ExcalidrawElement[][];",desc:"Elements grouped by the highest level groups",after:""},{field:"getLargestElement",code:"getLargestElement(elements: ExcalidrawElement[]): ExcalidrawElement;",desc:"Gets the largest element from a group. useful when a text element is grouped with a box, and you want to connect an arrow to the box",after:""},{field:"intersectElementWithLine",code:"intersectElementWithLine(element: ExcalidrawBindableElement, a: readonly [number, number], b: readonly [number, number], gap?: number,): Point[];",desc:"If gap is given, the element is inflated by this value.\nReturns 2 or 0 intersection points between line going through `a` and `b` and the `element`, in ascending order of distance from `a`.",after:""},{field:"getCommonGroupForElements",code:"getCommonGroupForElements(elements: ExcalidrawElement[]): string;",desc:"Gets the groupId for the group that contains all the elements, or null if such a group does not exist",after:""},{field:"getElementsInTheSameGroupWithElement",code:"getElementsInTheSameGroupWithElement(element: ExcalidrawElement, elements: ExcalidrawElement[]): ExcalidrawElement[];",desc:"Gets all the elements from elements[] that share one or more groupIds with element.",after:""},{field:"activeScript",code:"activeScript: string;",desc:"Mandatory to set before calling the get and set ScriptSettings functions. Set automatically by the ScriptEngine\nSee for more details: Script Engine Help",after:""},{field:"getScriptSettings",code:"getScriptSettings(): {};",desc:"Returns script settings. Saves settings in plugin settings, under the activeScript key. See for more details: Script Engine Help",after:""},{field:"setScriptSettings",code:"setScriptSettings(settings: any): Promise;",desc:"Sets script settings.\nSee for more details: Script Engine Help",after:""},{field:"openFileInNewOrAdjacentLeaf",code:"openFileInNewOrAdjacentLeaf(file: TFile): WorkspaceLeaf;",desc:"Open a file in a new workspaceleaf or reuse an existing adjacent leaf depending on Excalidraw Plugin Settings",after:""},{field:"measureText",code:"measureText(text: string): { width: number; height: number };",desc:"Measures text size based on current style settings",after:""},{field:"verifyMinimumPluginVersion",code:"verifyMinimumPluginVersion(requiredVersion: string): boolean;",desc:'Returns true if plugin version is >= than required\nrecommended use:\nif(!ea.verifyMinimumPluginVersion || !ea.verifyMinimumPluginVersion("1.5.20")) {new Notice("message");return;}',after:""},{field:"selectElementsInView",code:"selectElementsInView(elements: ExcalidrawElement[]):void;",desc:"Elements provided will be set as selected in the targetView.",after:""},{field:"generateElementId",code:"generateElementId(): string;",desc:"Returns an 8 character long random id",after:""},{field:"cloneElement",code:"cloneElement(element: ExcalidrawElement): ExcalidrawElement;",desc:"Returns a clone of the element with a new element id",after:""},{field:"moveViewElementToZIndex",code:"moveViewElementToZIndex(elementId:number, newZIndex:number): void;",desc:"Moves the element to a specific position in the z-index",after:""},{field:"hexStringToRgb",code:"hexStringToRgb(color: string):number[];",desc:"Converts a HEX color to an RGB number array. #FF0000 to [255,0,0]",after:""},{field:"rgbToHexString",code:"rgbToHexString(color: number[]):string;",desc:"Converts an RGB number array to a HEX string. [255,0,0] to #FF0000",after:""},{field:"hslToRgb",code:"hslToRgb(color: number[]):number[];",desc:"Converts an HSL number array to an RGB number array. [0,100,50] to [255,0,0]",after:""},{field:"rgbToHsl",code:"rgbToHsl(color:number[]):number[];",desc:"Converts an RGB number array to an HSL number array. [255,0,0] to [0,100,50]",after:""},{field:"colorNameToHex",code:"colorNameToHex(color:string):string;",desc:"Converts a CSS color name to its HEX color equivalent. 'White' to #FFFFFF",after:""},{field:"obsidian",code:"obsidian",desc:"Access functions and objects available on the Obsidian Module",after:""},{field:"setViewModeEnabled",code:"setViewModeEnabled(enabled: boolean): void;",desc:"Sets Excalidraw in the targetView to view-mode",after:""},{field:"viewUpdateScene",code:"viewUpdateScene(scene:{elements?:ExcalidrawElement[],appState?: AppState,files?: BinaryFileData,commitToHistory?: boolean,},restore:boolean=false):void",desc:"Calls the ExcalidrawAPI updateScene function for the targetView. When restore=true, excalidraw will try to correct errors in the scene such as setting default values to missing element properties.",after:""},{field:"viewZoomToElements",code:"viewZoomToElements(selectElements: boolean,elements: ExcalidrawElement[]):void",desc:"Zoom tarteView to fit elements provided as input. elements === [] will zoom to fit the entire scene. SelectElements toggles whether the elements should be in a selected state at the end of the operation.",after:""}],EXCALIDRAW_SCRIPTENGINE_INFO=[{field:"inputPrompt",code:"inputPrompt: (header: string, placeholder?: string, value?: string, buttons?: [{caption:string, action:Function}]);",desc:"Opens a prompt that asks for an input.\nReturns a string with the input.\nYou need to await the result of inputPrompt.\nbuttons.action(input: string) => string\nThe button action function will receive the actual input string. If action returns null, input will be unchanged. If action returns a string, input will receive that value when the promise is resolved. example:\nlet fileType = '';\nconst filename = await utils.inputPrompt (\n 'Filename',\n '',\n '',\n, [\n {\n caption: 'Markdown',\n action: ()=>{fileType='md';return;}\n },\n {\n caption: 'Excalidraw',\n action: ()=>{fileType='ex';return;}\n }\n ]\n);",after:""},{field:"suggester",code:"suggester: (displayItems: string[], items: any[], hint?: string, instructions?:Instruction[]);",desc:"Opens a suggester. Displays the displayItems and returns the corresponding item from items[]\nYou need to await the result of suggester.\nIf the user cancels (ESC), suggester will return undefined\nHint and instructions are optional\n\ninterface Instruction {command: string;purpose: string;}",after:""},{field:"scriptFile",code:"scriptFile: TFile",desc:"The TFile of the currently running script",after:""}],FRONTMATTER_KEYS_INFO=[{field:"plugin",code:null,desc:"Denotes an excalidraw file. If key is not present, the file will not be recognized as an Excalidarw file. Valid values are 'parsed' and 'raw'",after:": parsed"},{field:"link-prefix",code:null,desc:"Set custom prefix to denote text element containing a valid internal link. Set to empty string if you do not want to show a prefix",after:': "📍"'},{field:"url-prefix",code:null,desc:"Set custom prefix to denote text element containing a valid external link. Set to empty string if you do not want to show a prefix",after:': "🌐"'},{field:"link-brackets",code:null,desc:"Set to true, if you want to display [[square brackets]] around the links in Text Elements",after:": true"},{field:"default-mode",code:null,desc:"Specifies how Excalidraw should open by default. Valid values are: view|zen",after:": view"},{field:"linkbutton-opacity",code:null,desc:"The opacity of the blue link button in the top right of the element overriding the respective setting in plugin settings. Valid values are between 0 and 1, where 0 means the button is transparent.",after:": 0.5"},{field:"onload-script",code:null,desc:"The value of this field will be executed as javascript code using the Script Engine environment. Use this to initiate custom actions or logic when loading your drawing.",after:': "new Notice(`Hello World!\\n\\nFile: ${ea.targetView.file.basename}`);"'},{field:"font",code:null,desc:"This key applies to Markdown Embeds. You can control the appearance of the embedded markdown file on a file by file bases by adding the this frontmatter key to your markdown document. Valid values are: Virgil|Cascadia|font_file_name.extension",after:": Virgil"},{field:"font-color",code:null,desc:"This key applies to Markdown Embeds. You can control the appearance of the embedded markdown file on a file by file bases by adding the this frontmatter key to your markdown document. Valid values are: css-color-name|#HEXcolor|any-other-html-standard-format",after:": SteelBlue"},{field:"border-color",code:null,desc:"This key applies to Markdown Embeds. You can control the appearance of the embedded markdown file on a file by file bases by adding the this frontmatter key to your markdown document. Valid values are: css-color-name|#HEXcolor|any-other-html-standard-format",after:": SteelBlue"},{field:"css",code:null,desc:'This key applies to Markdown Embeds. You can control the appearance of the embedded markdown file on a file by file bases by adding the this front matter keys to your markdown document. Valid values are: "css-filename|css snippet"',after:': ""'},{field:"export-transparent",code:null,desc:"If this key is present it will override the default excalidraw embed and export setting. true == Transparent / false == with background",after:": true"},{field:"export-dark",code:null,desc:"If this key is present it will override the default excalidraw embed and export setting. true == Dark mode / false == light mode",after:": true"},{field:"export-padding",code:null,desc:"If this key is present it will override the default excalidraw embed and export setting. This only affects both SVG and PNG export. Specify the export padding for the image.",after:": 5"},{field:"export-pngscale",code:null,desc:"If this key is present it will override the default excalidraw embed and export setting. This only affects export to PNG. Specify the export scale for the image. The typical range is between 0.5 and 5, but you can experiment with other values as well.",after:": 1"},{field:"autoexport",code:null,desc:"Override autoexport settings for this file. Valid values are\nnone\nboth\npng\nsvg",after:": png"}];class FieldSuggester extends obsidian_module.EditorSuggest{constructor(e){super(e.app),this.getSuggestions=e=>{const A=e.query.toLowerCase();return("ea"===this.suggestType?EXCALIDRAW_AUTOMATE_INFO:"utils"===this.suggestType?EXCALIDRAW_SCRIPTENGINE_INFO:FRONTMATTER_KEYS_INFO).map((e=>e.field)).filter((e=>e.toLowerCase().includes(A)))},this.plugin=e}onTrigger(e,A,t){var i,n,a,r,s;if(this.plugin.settings.fieldSuggester){const t=A.getLine(e.line).substring(0,e.ch),o=null!==(r=null!==(n=null===(i=t.match(/^excalidraw-(.*)$/))||void 0===i?void 0:i[1])&&void 0!==n?n:null===(a=t.match(/(^ea|\Wea)\.([\w\.]*)$/))||void 0===a?void 0:a[2])&&void 0!==r?r:null===(s=t.match(/(^utils|\Wutils)\.([\w\.]*)$/))||void 0===s?void 0:s[2];if(void 0!==o)return this.suggestType=t.match(/^excalidraw-(.*)$/)?"excalidraw":t.match(/(^ea|\Wea)\.([\w\.]*)$/)?"ea":"utils",this.latestTriggerInfo={end:e,start:{ch:e.ch-o.length,line:e.line},query:o},this.latestTriggerInfo}return null}renderSuggestion(e,A){const t=e.replace("ea"===this.suggestType?"ea.":"utils"===this.suggestType?"utils.":"excalidraw-",""),i=("ea"===this.suggestType?EXCALIDRAW_AUTOMATE_INFO:"utils"===this.suggestType?EXCALIDRAW_SCRIPTENGINE_INFO:FRONTMATTER_KEYS_INFO).find((A=>A.field===e));A.createEl("b",{text:t}),A.createEl("br"),i.code&&A.createEl("code",{text:i.code}),i.desc&&A.createDiv("div",(e=>e.innerHTML=i.desc))}selectSuggestion(e){var A;const{context:t}=this;if(t){const i="ea"===this.suggestType?EXCALIDRAW_AUTOMATE_INFO:"utils"===this.suggestType?EXCALIDRAW_SCRIPTENGINE_INFO:FRONTMATTER_KEYS_INFO,n=`${e}${null===(A=i.find((A=>A.field===e)))||void 0===A?void 0:A.after}`;if(t.editor.replaceRange(n,this.latestTriggerInfo.start,this.latestTriggerInfo.end),this.latestTriggerInfo.start.ch===this.latestTriggerInfo.end.ch){const e=this.latestTriggerInfo.end;e.ch+=n.length,t.editor.setCursor(e)}}}}class FrontmatterEditor{constructor(e){this.initialized=!1,this.dataWOfrontmatter=e;const A=(e=e.replaceAll("\r\n","\n").replaceAll("\r","\n")).split(/^---(?:.|\n)*(?:^---\n)/gm);2===A.length&&(this.dataWOfrontmatter=A[1],this.frontmatterStr=e.match(/^---((?:.|\n)*)(?:^---\n)/gm)[0].replaceAll(/(^---\n|^\n)/gm,"").trim()+"\n",this.initialized=!0)}hasKey(e){if(!this.initialized)return!1;const A=new RegExp(`^${e}:`,"gm");return Boolean(this.frontmatterStr.match(A))}setKey(e,A){if(this.initialized)if(A=A.replaceAll("\r\n","\n").replaceAll("\r","\n").replaceAll(":",";").trim().split("\n").join(" "),this.hasKey(e)){const t=new RegExp(`^${e}:.*\\n(?:\\s\\s.*\\n)*`,"gm");this.frontmatterStr=this.frontmatterStr.split(t).join("\n").trim()+`\n${e}: ${A}`}else this.frontmatterStr=this.frontmatterStr.trim()+`\n${e}: ${A}`}get data(){return this.initialized?["---",this.frontmatterStr,"---",this.dataWOfrontmatter].join("\n"):this.dataWOfrontmatter}}const TASKBONE_URL="https://api.taskbone.com/",TASKBONE_OCR_FN="execute?id=60f394af-85f6-40bc-9613-5d26dc283cbb";class Taskbone{get apiKey(){return this.plugin.settings.taskboneAPIkey}constructor(e){this.plugin=e}async initialize(e=!0){var A;if(""!==this.plugin.settings.taskboneAPIkey)return;const t=await obsidian_module.requestUrl({url:`${TASKBONE_URL}users/excalidraw-obsidian/identities`,method:"post",contentType:"application/json",throw:!1});if(!t)return;const i=null===(A=t.json)||void 0===A?void 0:A.apiKey;return i&&"string"==typeof i&&(e&&await this.plugin.loadSettings(),this.plugin.settings.taskboneAPIkey=i,e&&await this.plugin.saveSettings()),i}async getTextForView(e,A){await e.forceSave(!0);const t=e.excalidrawAPI.getSceneElements().filter((A=>{var t;return"freedraw"===A.type||"image"===A.type&&!this.plugin.isExcalidrawFile(null===(t=e.excalidrawData.getFile(A.fileId))||void 0===t?void 0:t.file)}));if(0===t.length)return void new obsidian_module.Notice("Aborting OCR because there are no image or freedraw elements on the canvas.",4e3);const i=new FrontmatterEditor(e.data);if(i.hasKey("taskbone-ocr")&&!A)return void new obsidian_module.Notice("The drawing has already been processed, you will find the result in the frontmatter in markdown view mode. If you ran the command from the Obsidian Panel in Excalidraw then you can CTRL(CMD)+click the command to force the rescaning.",4e3);const n=this.plugin.ea.getBoundingBox(t),a=n.width*n.height,r=Math.sqrt(36e4/a),s=Math.sqrt(a/16e6),o=r>1?r:s>1?1/s:1,l=new EmbeddedFilesLoader(this.plugin,!1),c=await createPNG(e.file.path+"#^taskbone",o,{withBackground:!0,withTheme:!0},l,"light",null,null,[],this.plugin,0),d=await this.getTextForImage(c);d&&(i.setKey("taskbone-ocr",d),e.data=i.data,e.save(!1),window.navigator.clipboard.writeText(d),new obsidian_module.Notice("I placed the recognized in the drawing's frontmatter and onto the system clipboard."))}async getTextForImage(e){""===this.apiKey&&await this.initialize();const A={records:[{image:await this.blobToBase64(e)}]},t=await obsidian_module.requestUrl({url:"https://api.taskbone.com/execute?id=60f394af-85f6-40bc-9613-5d26dc283cbb",method:"post",contentType:"application/json",body:JSON.stringify(A),headers:{authorization:`Bearer ${this.apiKey}`},throw:!1}),i=null==t?void 0:t.json;return i&&200===t.status?i.records[0].text:(new obsidian_module.Notice("Something went wrong while processing your request. Please check developer console for more information"),void log(t))}async blobToBase64(e){const A=await e.arrayBuffer(),t=new Uint8Array(A);for(var i="",n=t.byteLength,a=0;anew ExcalidrawView(e,this))),this.registerExtensions(["excalidraw"],"excalidraw"),this.addMarkdownPostProcessor(),this.registerInstallCodeblockProcessor(),this.addThemeObserver(),this.experimentalFileTypeDisplayToggle(this.settings.experimentalFileType),this.registerCommands(),this.registerEventListeners(),this.initializeFourthFont(),this.registerEditorSuggest(new FieldSuggester(this)),this.registerMonkeyPatches(),this.settings.showReleaseNotes){const e="0.0.0"===this.settings.previousRelease;isVersionNewerThanOther(PLUGIN_VERSION,this.settings.previousRelease)&&new ReleaseNotes(this.app,this,e?null:PLUGIN_VERSION).open()}this.switchToExcalidarwAfterLoad(),this.loadMathJax();const e=this;this.app.workspace.onLayoutReady((()=>{this.scriptEngine=new ScriptEngine(e)})),this.taskbone=new Taskbone(this)}initializeFourthFont(){this.app.workspace.onLayoutReady((async()=>{const e=await getFontDataURL(this.app,this.settings.experimantalFourthFont,"","LocalFont"),A=""===e.dataURL?VIRGIL_DATAURL:e.dataURL;this.fourthFontDef=e.fontDef;const t=new Set;app.workspace.iterateAllLeaves((e=>{const i=app.isMobile?document:e.view.containerEl.ownerDocument;if(!i)return;if(t.has(i))return;t.add(i);const n=i.createElement("style");n.id="local-font-stylesheet",n.textContent=`\n @font-face {\n font-family: 'LocalFont';\n src: url("${A}");\n font-display: swap;\n }\n `;const a=i.getElementById(n.id);i.head.appendChild(n),a&&i.head.removeChild(a),i.fonts.load("20px LocalFont")}))}))}loadMathJax(){const e=this;this.app.workspace.onLayoutReady((async()=>{await obsidian_module.loadMathJax();try{e.mathjaxDiv&&(document.body.removeChild(e.mathjaxDiv),e.mathjax=null,e.mathjaxLoaderFinished=!1),e.mathjaxDiv=document.body.createDiv(),e.mathjaxDiv.title="Excalidraw MathJax Support",e.mathjaxDiv.style.display="none";const A=e.mathjaxDiv.createEl("iframe");A.title="Excalidraw MathJax Support";const t=A.contentWindow.document,i=t.createElement("script");i.type="text/javascript",i.onload=()=>{const t=A.contentWindow;t.MathJax.startup.pagePromise.then((async()=>{const A=app.vault.getAbstractFileByPath("preamble.sty"),i=A&&A instanceof obsidian_module.TFile?await app.vault.read(A):null;try{i&&await t.MathJax.tex2svg(i)}catch(A){errorlog({where:e.loadMathJax,description:"Unexpected error while loading preamble.sty",error:A})}e.mathjax=t.MathJax,e.mathjaxLoaderFinished=!0}))},i.src=e.settings.mathjaxSourceURL,t.head.appendChild(i)}catch(A){new obsidian_module.Notice("Excalidraw: Error initializing LaTeX support"),e.mathjaxLoaderFinished=!0}}))}switchToExcalidarwAfterLoad(){const e=this;this.app.workspace.onLayoutReady((()=>{let A;for(A of app.workspace.getLeavesOfType("markdown"))A.view instanceof obsidian_module.MarkdownView&&e.isExcalidrawFile(A.view.file)&&(e.excalidrawFileModes[A.id||A.view.file.path]="excalidraw",e.setExcalidrawView(A))}))}forceSaveActiveView(e){if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(A.forceSave(),!0)}registerInstallCodeblockProcessor(){const e=async(e,A)=>{let t=null;try{const e=A.parentElement.querySelector(`a[href="#${A.previousElementSibling.getAttribute("data-heading")}"]`);e.style.paddingRight="10px",t=e.parentElement.createEl("button",null,(e=>{e.setText(t$d("UPDATE_SCRIPT")),e.addClass("mod-muted"),e.style.backgroundColor="var(--interactive-success)",e.style.display="none"}))}catch(A){errorlog({where:"this.registerInstallCodeblockProcessor",source:e,error:A})}e=e.trim(),A.createEl("button",null,(async A=>{var i;const n=e=>{switch(t&&(t.style.display="none"),e){case"CHECKING":A.setText(t$d("CHECKING_SCRIPT")),A.style.backgroundColor="var(--interactive-normal)";break;case"INSTALL":A.setText(t$d("INSTALL_SCRIPT")),A.style.backgroundColor="var(--interactive-accent)";break;case"UPTODATE":A.setText(t$d("UPTODATE_SCRIPT")),A.style.backgroundColor="var(--interactive-normal)";break;case"UPDATE":A.setText(t$d("UPDATE_SCRIPT")),A.style.backgroundColor="var(--interactive-success)",t&&(t.style.display=null);break;case"ERROR":A.setText(t$d("UNABLETOCHECK_SCRIPT")),A.style.backgroundColor="var(--interactive-normal)"}};A.addClass("mod-muted");let a=e;try{a=decodeURI(e)}catch(A){errorlog({where:"ExcalidrawPlugin.registerInstallCodeblockProcessor.codeblockProcessor.onClick",source:e,error:A})}const r=a.substring(a.lastIndexOf("/")+1),s=`${this.settings.scriptFolderPath}/Downloaded`,o=app.vault.getFiles().filter((e=>e.path.startsWith(s)&&e.name===r)).sort(((e,A)=>e.path>A.path?1:-1));let l=o[0];const c=null!==(i=null==l?void 0:l.path)&&void 0!==i?i:`${s}/${r}`,d=getIMGFilename(c,"svg");let h=this.app.vault.getAbstractFileByPath(d);if(n(l?"CHECKING":"INSTALL"),A.onclick=async()=>{const A=async(e,A,t)=>{const i=await obsidian_module.request({url:e});return!i||i.startsWith("404: Not Found")?null:(A?await this.app.vault.modify(A,i):(await checkAndCreateFolder(s),A=await this.app.vault.create(t,i)),A)};try{if(l=await A(e,l,c),!l)throw n("ERROR"),"File not found";h=await A(getIMGFilename(e,"svg"),h,d),n("UPTODATE"),new obsidian_module.Notice(`Installed: ${l.basename}`)}catch(e){new obsidian_module.Notice(`Error installing script: ${r}`),errorlog({where:"ExcalidrawPlugin.registerInstallCodeblockProcessor.codeblockProcessor.onClick",error:e})}},t&&(t.onclick=A.onclick),!(l&&l instanceof obsidian_module.TFile))return;const u=new Map;JSON.parse(await obsidian_module.request({url:"https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master/ea-scripts/directory-info.json"})).forEach((e=>u.set(e.fname,e.mtime)));const g=(e,A)=>{if(0===u.size||!u.has(e))return"ERROR";const t=u.get(e);return!A||t>A.stat.mtime?"UPDATE":"UPTODATE"},p=g(r,l),m=g(getIMGFilename(r,"svg"),h&&h instanceof obsidian_module.TFile?h:null);n("UPTODATE"===p&&"UPTODATE"===m||"UPTODATE"===p&&"ERROR"===m?"UPTODATE":"ERROR"===p?"ERROR":"UPDATE"===p||"UPDATE"===m?"UPDATE":"UPTODATE")}))};this.registerMarkdownCodeBlockProcessor(SCRIPT_INSTALL_CODEBLOCK,(async(A,t)=>{t.addEventListener(RERENDER_EVENT,(async i=>{i.stopPropagation(),t.empty(),e(A,t)})),e(A,t)}))}addMarkdownPostProcessor(){initializeMarkdownPostProcessor(this),this.registerMarkdownPostProcessor(markdownPostProcessor),this.registerEvent(this.app.workspace.on("hover-link",hoverEvent)),this.observer=observer,this.observer.observe(document,{childList:!0,subtree:!0})}addThemeObserver(){this.themeObserver=new MutationObserver((async e=>{var A,t,i,n,a,r,s,o;if(!this.settings.matchThemeTrigger)return;if((null===(A=e[0])||void 0===A?void 0:A.oldValue)===(null===(i=null===(t=e[0])||void 0===t?void 0:t.target)||void 0===i?void 0:i.getAttribute("class")))return;if((null===(a=null===(n=e[0])||void 0===n?void 0:n.oldValue)||void 0===a?void 0:a.includes("theme-dark"))===(null===(o=null===(s=null===(r=e[0])||void 0===r?void 0:r.target)||void 0===s?void 0:s.classList)||void 0===o?void 0:o.contains("theme-dark")))return;const l=isObsidianThemeDark()?"dark":"light";this.app.workspace.getLeavesOfType("excalidraw").forEach((e=>{const A=e.view;A.file&&A.excalidrawRef&&A.setTheme(l)}))})),this.themeObserver.observe(document.body,{attributeOldValue:!0,attributeFilter:["class"]})}experimentalFileTypeDisplayToggle(e){e?this.experimentalFileTypeDisplay():(this.fileExplorerObserver&&this.fileExplorerObserver.disconnect(),this.fileExplorerObserver=null)}experimentalFileTypeDisplay(){const e=e=>{if(1!=e.childElementCount)return;const A=e.getAttribute("data-path");if(!A)return;const t=this.app.vault.getAbstractFileByPath(A);t&&t instanceof obsidian_module.TFile&&this.isExcalidrawFile(t)&&e.insertBefore(createDiv({cls:"nav-file-tag",text:this.settings.experimentalFileTag}),e.firstChild)};this.fileExplorerObserver=new MutationObserver((A=>{const t=A.filter((e=>e.addedNodes.length>0));t.forEach((A=>{A.addedNodes.forEach((A=>{A instanceof Element&&A.querySelectorAll(".nav-file-title").forEach(e)}))}))}));const A=this;this.app.workspace.onLayoutReady((()=>{document.querySelectorAll(".nav-file-title").forEach(e),A.fileExplorerObserver.observe(document.querySelector(".workspace"),{childList:!0,subtree:!0})}))}registerCommands(){this.openDialog=new OpenFileDialog(this.app,this),this.insertLinkDialog=new InsertLinkDialog(this.app),this.insertImageDialog=new InsertImageDialog(this),this.importSVGDialog=new ImportSVGDialog(this),this.insertMDDialog=new InsertMDDialog(this),this.addRibbonIcon(ICON_NAME,t$d("CREATE_NEW"),(async e=>{this.createAndOpenDrawing(getDrawingFilename(this.settings),linkClickModifierType(emulateCTRLClickForLinks(e)))})),this.registerEvent(this.app.workspace.on("file-menu",((e,A)=>{e.addItem((e=>{e.setTitle(t$d("CREATE_NEW")).setIcon(ICON_NAME).onClick((e=>{let t=A.path;A instanceof obsidian_module.TFile&&(t=obsidian_module.normalizePath(A.path.substr(0,A.path.lastIndexOf(A.name)))),this.createAndOpenDrawing(getDrawingFilename(this.settings),linkClickModifierType(emulateCTRLClickForLinks(e)),t)}))}))}))),this.registerEvent(this.app.workspace.on("file-menu",((e,A)=>{A instanceof obsidian_module.TFile&&"excalidraw"==A.extension&&e.addItem((e=>{e.setTitle(t$d("CONVERT_FILE_KEEP_EXT")).onClick((()=>{this.convertSingleExcalidrawToMD(A,!1,!1)}))}))}))),this.registerEvent(this.app.workspace.on("file-menu",((e,A)=>{A instanceof obsidian_module.TFile&&"excalidraw"==A.extension&&e.addItem((e=>{e.setTitle(t$d("CONVERT_FILE_REPLACE_EXT")).onClick((()=>{this.convertSingleExcalidrawToMD(A,!0,!0)}))}))}))),this.addCommand({id:"excalidraw-disable-autosave",name:t$d("TEMPORARY_DISABLE_AUTOSAVE"),checkCallback:e=>!!this.settings.autosave&&(e||(this.settings.autosave=!1),!0)}),this.addCommand({id:"excalidraw-enable-autosave",name:t$d("TEMPORARY_ENABLE_AUTOSAVE"),checkCallback:e=>!this.settings.autosave&&(e||(this.settings.autosave=!0),!0)}),this.addCommand({id:"excalidraw-download-lib",name:t$d("DOWNLOAD_LIBRARY"),callback:this.exportLibrary}),this.addCommand({id:"excalidraw-open",name:t$d("OPEN_EXISTING_NEW_PANE"),callback:()=>{this.openDialog.start(openDialogAction.openFile,!0)}}),this.addCommand({id:"excalidraw-open-on-current",name:t$d("OPEN_EXISTING_ACTIVE_PANE"),callback:()=>{this.openDialog.start(openDialogAction.openFile,!1)}}),this.addCommand({id:"excalidraw-insert-transclusion",name:t$d("TRANSCLUDE"),checkCallback:e=>e?Boolean(this.app.workspace.getActiveViewOfType(obsidian_module.MarkdownView)):(this.openDialog.start(openDialogAction.insertLinkToDrawing,!1),!0)}),this.addCommand({id:"excalidraw-insert-last-active-transclusion",name:t$d("TRANSCLUDE_MOST_RECENT"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(obsidian_module.MarkdownView))&&null!=this.lastActiveExcalidrawFilePath;const A=this.app.vault.getAbstractFileByPath(this.lastActiveExcalidrawFilePath);return A instanceof obsidian_module.TFile&&(this.embedDrawing(A),!0)}}),this.addCommand({id:"excalidraw-autocreate",name:t$d("NEW_IN_NEW_PANE"),callback:()=>{this.createAndOpenDrawing(getDrawingFilename(this.settings),"new-pane")}}),this.addCommand({id:"excalidraw-autocreate-newtab",name:t$d("NEW_IN_NEW_TAB"),callback:()=>{this.createAndOpenDrawing(getDrawingFilename(this.settings),"new-tab")}}),this.addCommand({id:"excalidraw-autocreate-on-current",name:t$d("NEW_IN_ACTIVE_PANE"),callback:()=>{this.createAndOpenDrawing(getDrawingFilename(this.settings),"active-pane")}}),this.addCommand({id:"excalidraw-autocreate-popout",name:t$d("NEW_IN_POPOUT_WINDOW"),checkCallback:e=>{if(e)return!app.isMobile;this.createAndOpenDrawing(getDrawingFilename(this.settings),"popout-window")}});const e=async e=>{const A=this.app.workspace.getActiveViewOfType(obsidian_module.MarkdownView);if(!A)return;const t=getEmbedFilename(A.file.basename,this.settings),i=this.settings.embedUseExcalidrawFolder?null:(await getAttachmentsFolderAndFilePath(this.app,A.file.path,t)).folder,n=await this.createDrawing(t,i);await this.embedDrawing(n),this.openDrawing(n,e,!0)};this.addCommand({id:"excalidraw-autocreate-and-embed",name:t$d("NEW_IN_NEW_PANE_EMBED"),checkCallback:A=>A?Boolean(this.app.workspace.getActiveViewOfType(obsidian_module.MarkdownView)):(e("new-pane"),!0)}),this.addCommand({id:"excalidraw-autocreate-and-embed-new-tab",name:t$d("NEW_IN_NEW_TAB_EMBED"),checkCallback:A=>A?Boolean(this.app.workspace.getActiveViewOfType(obsidian_module.MarkdownView)):(e("new-tab"),!0)}),this.addCommand({id:"excalidraw-autocreate-and-embed-on-current",name:t$d("NEW_IN_ACTIVE_PANE_EMBED"),checkCallback:A=>A?Boolean(this.app.workspace.getActiveViewOfType(obsidian_module.MarkdownView)):(e("active-pane"),!0)}),this.addCommand({id:"excalidraw-autocreate-and-embed-popout",name:t$d("NEW_IN_POPOUT_WINDOW_EMBED"),checkCallback:A=>A?!app.isMobile&&Boolean(this.app.workspace.getActiveViewOfType(obsidian_module.MarkdownView)):(e("popout-window"),!0)}),this.addCommand({id:"export-svg",name:t$d("EXPORT_SVG"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(A.saveSVG(),!0)}}),this.addCommand({id:"export-svg-scene",name:t$d("EXPORT_SVG_WITH_SCENE"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(A.saveSVG(void 0,!0),!0)}}),this.addCommand({id:"run-ocr",name:t$d("RUN_OCR"),checkCallback:e=>{const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return e?Boolean(A):!!A&&(this.settings.taskboneEnabled?(this.taskbone.getTextForView(A,!1),!0):(new obsidian_module.Notice("Taskbone OCR is not enabled. Please go to plugins settings to enable it.",4e3),!0))}}),this.addCommand({id:"search-text",name:t$d("SEARCH"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(search(A),!0)}}),this.addCommand({id:"fullscreen",name:t$d("TOGGLE_FULLSCREEN"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(A.isFullscreen()?A.exitFullscreen():A.gotoFullscreen(),!0)}}),this.addCommand({id:"export-png",name:t$d("EXPORT_PNG"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(A.savePNG(),!0)}}),this.addCommand({id:"export-png-scene",name:t$d("EXPORT_PNG_WITH_SCENE"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(A.savePNG(void 0,!0),!0)}}),this.forceSaveCommand=this.addCommand({id:"save",hotkeys:[{modifiers:["Ctrl"],key:"s"}],name:t$d("FORCE_SAVE"),checkCallback:e=>this.forceSaveActiveView(e)}),this.addCommand({id:"toggle-lock",hotkeys:[{modifiers:["Ctrl","Shift"],key:"e"}],name:t$d("TOGGLE_LOCK"),checkCallback:e=>{if(e)return!!Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView))&&!this.app.workspace.getActiveViewOfType(ExcalidrawView).compatibilityMode;const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!(!A||A.compatibilityMode||(A.changeTextMode(A.textMode===TextMode.parsed?TextMode.raw:TextMode.parsed),0))}}),this.addCommand({id:"scriptengine-store",name:t$d("INSTALL_SCRIPT_BUTTON"),checkCallback:e=>e?Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView)):(new ScriptInstallPrompt(this).open(),!0)}),this.addCommand({id:"delete-file",name:t$d("DELETE_FILE"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);if(A){this.ea.reset(),this.ea.setView(A);const e=this.ea.getViewSelectedElement();if("image"!==e.type)return new obsidian_module.Notice("Please select an image or embedded markdown document",4e3),!0;const t=this.ea.getViewFileForImageElement(e);return t?(this.app.vault.delete(t),this.ea.deleteViewElements([e]),!0):(new obsidian_module.Notice("Please select an image or embedded markdown document",4e3),!0)}return!1}}),this.addCommand({id:"insert-link",hotkeys:[{modifiers:["Ctrl","Shift"],key:"k"}],name:t$d("INSERT_LINK"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(this.insertLinkDialog.start(A.file.path,A.addText),!0)}}),this.addCommand({id:"insert-link-to-element",hotkeys:[{modifiers:["Ctrl","Shift"],key:"k"}],name:t$d("INSERT_LINK_TO_ELEMENT_NORMAL"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(A.copyLinkToSelectedElementToClipboard(""),!0)}}),this.addCommand({id:"insert-link-to-element-group",name:t$d("INSERT_LINK_TO_ELEMENT_GROUP"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(A.copyLinkToSelectedElementToClipboard("group="),!0)}}),this.addCommand({id:"insert-link-to-element-area",name:t$d("INSERT_LINK_TO_ELEMENT_AREA"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(A.copyLinkToSelectedElementToClipboard("area="),!0)}}),this.addCommand({id:"toggle-lefthanded-mode",name:t$d("TOGGLE_LEFTHANDED_MODE"),checkCallback:e=>{if(e){if(this.app.workspace.getActiveViewOfType(ExcalidrawView)){const e=this.app.workspace.getActiveViewOfType(ExcalidrawView),A=null==e?void 0:e.excalidrawAPI;return!!A&&!!A.getAppState().trayModeEnabled}return!1}return this.app.workspace.getActiveViewOfType(ExcalidrawView),(async()=>{const e=this.settings.isLeftHanded;await this.loadSettings({applyLefthandedMode:!1}),this.settings.isLeftHanded=!e,this.saveSettings(),setLeftHandedMode(!e),setTimeout((()=>setLeftHandedMode(!e)))})(),!0}}),this.addCommand({id:"reset-image-to-100",name:t$d("RESET_IMG_TO_100"),checkCallback:e=>{const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);if(!A)return!1;if(!A.excalidrawAPI)return!1;const t=A.getViewSelectedElements().filter((e=>"image"===e.type));if(1!==t.length)return e||new obsidian_module.Notice("Select a single image element and try again"),!1;const i=t[0];return A.excalidrawData.getFile(i.fileId)?!!e||void(async()=>{const e=new ExcalidrawAutomate(this,A),n=await e.getOriginalImageSize(i);if(n){e.copyViewElementsToEAforEditing(t);const A=e.getElement(i.id);A.width=n.width,A.height=n.height,e.addElementsToView(!1,!1,!1)}})():(e||new obsidian_module.Notice("Select a single image element and try again"),!1)}}),this.addCommand({id:"insert-image",name:t$d("INSERT_IMAGE"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(this.insertImageDialog.start(A),!0)}}),this.addCommand({id:"import-svg",name:t$d("IMPORT_SVG"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(this.importSVGDialog.start(A),!0)}}),this.addCommand({id:"release-notes",name:t$d("READ_RELEASE_NOTES"),checkCallback:e=>e?Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView)):(new ReleaseNotes(this.app,this,PLUGIN_VERSION).open(),!0)}),this.addCommand({id:"tray-mode",name:t$d("TRAY_MODE"),checkCallback:e=>{if(e){const e=this.app.workspace.getActiveViewOfType(ExcalidrawView);if(!e||!e.excalidrawRef)return!1;const A=e.excalidrawAPI.getAppState();return!A.zenModeEnabled&&!A.viewModeEnabled}const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!(!A||!A.excalidrawAPI||(A.toggleTrayMode(),0))}}),this.addCommand({id:"insert-md",name:t$d("INSERT_MD"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(this.insertMDDialog.start(A),!0)}}),this.addCommand({id:"insert-LaTeX-symbol",name:t$d("INSERT_LATEX"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(insertLaTeXToView(A),!0)}}),this.addCommand({id:"toggle-excalidraw-view",name:t$d("TOGGLE_MODE"),checkCallback:e=>{const A=this.app.workspace.getActiveFile();if(!A)return!1;const t=this.isExcalidrawFile(A);if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView))?!this.app.workspace.getActiveViewOfType(ExcalidrawView).compatibilityMode:t;const i=this.app.workspace.getActiveViewOfType(ExcalidrawView);if(i){const e=i.leaf;return this.excalidrawFileModes[e.id||A.path]="markdown",void this.setMarkdownView(e)}const n=this.app.workspace.getActiveViewOfType(obsidian_module.MarkdownView);if(n&&t){const e=n.leaf;return this.excalidrawFileModes[e.id||A.path]="excalidraw",void this.setExcalidrawView(e)}}}),this.addCommand({id:"convert-to-excalidraw",name:t$d("CONVERT_NOTE_TO_EXCALIDRAW"),checkCallback:e=>{const A=this.app.workspace.getActiveFile(),t=this.app.workspace.getActiveViewOfType(obsidian_module.MarkdownView);if(!A||!t)return!1;const i=0===A.stat.size;if(e)return i;i&&(async()=>{await this.app.vault.modify(A,await this.getBlankDrawing()),this.setExcalidrawView(t.leaf)})()}}),this.addCommand({id:"convert-excalidraw",name:t$d("CONVERT_EXCALIDRAW"),checkCallback:e=>{if(e){const e=this.app.vault.getFiles().filter((e=>"excalidraw"==e.extension));return e.length>0}return this.convertExcalidrawToMD(),!0}})}async convertSingleExcalidrawToMD(e,A=!1,t=!1){const i=await this.app.vault.read(e),n=e.name.substring(0,e.name.lastIndexOf(".excalidraw"))+(A?".md":".excalidraw.md"),a=getNewUniqueFilepath(this.app.vault,n,obsidian_module.normalizePath(e.path.substring(0,e.path.lastIndexOf(e.name))));log(a);const r=await this.app.vault.create(a,FRONTMATTER+await this.exportSceneToMD(i));return this.settings.keepInSync&&EXPORT_TYPES.forEach((A=>{const t=e.path.substring(0,e.path.lastIndexOf(".excalidraw"))+A,i=this.app.vault.getAbstractFileByPath(obsidian_module.normalizePath(t));if(i&&i instanceof obsidian_module.TFile){const e=a.substring(0,a.lastIndexOf(".md"))+A;this.app.fileManager.renameFile(i,e)}})),t||this.app.vault.delete(e),r}async convertExcalidrawToMD(e=!1,A=!1){const t=this.app.vault.getFiles().filter((e=>"excalidraw"==e.extension));for(const i of t)this.convertSingleExcalidrawToMD(i,e,A);new obsidian_module.Notice(`Converted ${t.length} files.`)}registerMonkeyPatches(){this.registerEvent(app.workspace.on("editor-menu",((e,A,t)=>{if(!(t&&t instanceof obsidian_module.MarkdownView))return;const i=t.file,n=t.leaf;if(!t.file)return;const a=this.app.metadataCache.getFileCache(i);(null==a?void 0:a.frontmatter)&&a.frontmatter[FRONTMATTER_KEY]&&e.addItem((e=>e.setTitle(t$d("OPEN_AS_EXCALIDRAW")).setIcon(ICON_NAME).setSection("excalidraw").onClick((()=>{this.excalidrawFileModes[n.id||i.path]="excalidraw",this.setExcalidrawView(n)}))))}))),this.registerEvent(app.workspace.on("file-menu",((e,A,t,i)=>{if(!(i&&i.view instanceof obsidian_module.MarkdownView))return;if(!(A instanceof obsidian_module.TFile))return;const n=this.app.metadataCache.getFileCache(A);(null==n?void 0:n.frontmatter)&&n.frontmatter[FRONTMATTER_KEY]&&(e.addItem((e=>{e.setTitle(t$d("OPEN_AS_EXCALIDRAW")).setIcon(ICON_NAME).setSection("pane").onClick((()=>{this.excalidrawFileModes[i.id||A.path]="excalidraw",this.setExcalidrawView(i)}))})),e.items.unshift(e.items.pop()))})));const e=this;this.register(around(obsidian_module.WorkspaceLeaf.prototype,{detach:A=>function(){var t;const i=null===(t=this.view)||void 0===t?void 0:t.getState();return(null==i?void 0:i.file)&&e.excalidrawFileModes[this.id||i.file]&&delete e.excalidrawFileModes[this.id||i.file],A.apply(this)},setViewState:A=>function(t,...i){var n;if(e._loaded&&"markdown"===t.type&&(null===(n=t.state)||void 0===n?void 0:n.file)&&"markdown"!==e.excalidrawFileModes[this.id||t.state.file]){const n=app.metadataCache.getCache(t.state.file);if((null==n?void 0:n.frontmatter)&&n.frontmatter[FRONTMATTER_KEY]){const n=Object.assign(Object.assign({},t),{type:"excalidraw"});return e.excalidrawFileModes[t.state.file]="excalidraw",A.apply(this,[n,...i])}}return A.apply(this,[t,...i])}}))}registerEventListeners(){const e=this;this.app.workspace.onLayoutReady((async()=>{e.registerEvent(app.vault.on("rename",(async(A,t)=>{A instanceof obsidian_module.TFile&&e.isExcalidrawFile(A)&&e.settings.keepInSync&&[EXPORT_TYPES,"excalidraw"].flat().forEach((async e=>{const i=getIMGFilename(t,e),n=app.vault.getAbstractFileByPath(obsidian_module.normalizePath(i));if(n&&n instanceof obsidian_module.TFile){const t=getIMGFilename(A.path,e);await app.fileManager.renameFile(n,t)}}))}))),e.registerEvent(app.vault.on("modify",(async A=>{app.workspace.getLeavesOfType("excalidraw").forEach((async t=>{const i=t.view;if(i.file&&(i.file.path===A.path||"excalidraw"===A.extension&&`${A.path.substring(0,A.path.lastIndexOf(".excalidraw"))}.md`===i.file.path)){if(i.semaphores.preventReload)return void(i.semaphores.preventReload=!1);if(i.lastSaveTimestamp+3e5{if(!(A instanceof obsidian_module.TFile))return;const t=this.excalidrawFiles.has(A);if(this.updateFileCache(A,void 0,!0),!t)return;const i=app.workspace.getLeavesOfType("excalidraw");for(let e=0;e{[EXPORT_TYPES,"excalidraw"].flat().forEach((async e=>{const t=getIMGFilename(A.path,e),i=app.vault.getAbstractFileByPath(obsidian_module.normalizePath(t));i&&i instanceof obsidian_module.TFile&&await app.vault.delete(i)}))}),500)}))),e.registerEvent(app.workspace.on("active-leaf-change",(async A=>{var t;e.leafChangeTimeout&&clearTimeout(e.leafChangeTimeout),e.leafChangeTimeout=setTimeout((()=>{e.leafChangeTimeout=null}),1e3);const i=e.activeExcalidrawView,n=A.view instanceof ExcalidrawView?A.view:null; //!Temporary hack -if(e.activeExcalidrawView=n,n&&(e.lastActiveExcalidrawFilePath=null===(t=n.file)||void 0===t?void 0:t.path),app.isMobile&&n&&!i){const e=document.querySelector("body>.app-container>.mobile-navbar");e&&e instanceof HTMLDivElement&&(e.style.position="relative")}if(app.isMobile&&!n&&i){const e=document.querySelector("body>.app-container>.mobile-navbar");e&&e instanceof HTMLDivElement&&(e.style.position="")}if(i&&i!==n&&(i.leaf!==A&&i.semaphores.dirty&&!i.semaphores.viewunload&&await i.save(!0),i.file&&e.triggerEmbedUpdates(i.file.path)),n&&(!i||i.leaf!==A)){const e=n.file;n.file&&setTimeout((()=>{var A;n&&n._loaded&&(null===(A=n.file)||void 0===A?void 0:A.path)===(null==e?void 0:e.path)&&(n.activeLoader||n.loadSceneFiles())}),2e3)}if(n&&n._loaded&&n.isLoaded&&n.excalidrawAPI&&e.ea.onCanvasColorChangeHook&&e.ea.onCanvasColorChangeHook(e.ea,n,n.excalidrawAPI.getAppState().viewBackgroundColor),e.popScope&&(e.popScope(),e.popScope=null),n){const A=e.app.keymap.getRootScope(),t=A.register(["Mod"],"Enter",(()=>!0)),i=e.forceSaveCommand&&"s"===e.forceSaveCommand.hotkeys[0].key&&e.forceSaveCommand.hotkeys[0].modifiers.includes("Ctrl")?A.register(["Ctrl"],"s",(()=>e.forceSaveActiveView(!1))):void 0;A.keys.unshift(A.keys.pop()),e.popScope=()=>{A.unregister(t),Boolean(i)&&A.unregister(i)}}}))),e.addFileSaveTriggerEventHandlers();const A=app.metadataCache;A.getCachedFiles().forEach((t=>{var i;const n=null===(i=A.getCache(t))||void 0===i?void 0:i.frontmatter;(n&&void 0!==n[FRONTMATTER_KEY]||t.match(/\.excalidraw$/))&&e.updateFileCache(app.vault.getAbstractFileByPath(t),n)})),this.registerEvent(A.on("changed",((e,A,t)=>this.updateFileCache(e,null==t?void 0:t.frontmatter))))}))}addFileSaveTriggerEventHandlers(){this.registerEvent(this.app.workspace.on("click",(e=>{this.activeExcalidrawView&&this.activeExcalidrawView.semaphores.dirty&&(!e.target||"excalidraw__canvas"!==e.target.className&&!getParentOfClass(e.target,"excalidraw-wrapper"))&&this.activeExcalidrawView.save()}))),this.registerEvent(this.app.workspace.on("file-menu",(()=>{this.activeExcalidrawView&&this.activeExcalidrawView.semaphores.dirty&&this.activeExcalidrawView.save()}))),this.modalContainerObserver=new MutationObserver((async e=>{1===e.length&&"childList"===e[0].type&&1===e[0].addedNodes.length&&this.activeExcalidrawView&&this.activeExcalidrawView.semaphores.dirty&&this.activeExcalidrawView.save()})),this.modalContainerObserver.observe(document.body,{childList:!0});const e=document.querySelector(".workspace-drawer.mod-left"),A=document.querySelector(".workspace-drawer.mod-right");if(e||A){const t=async e=>{"display: none;"===e[0].oldValue&&this.activeExcalidrawView&&this.activeExcalidrawView.semaphores.dirty&&this.activeExcalidrawView.save()},i={attributeOldValue:!0,attributeFilter:["style"]};e&&(this.workspaceDrawerLeftObserver=new MutationObserver(t),this.workspaceDrawerLeftObserver.observe(e,i)),A&&(this.workspaceDrawerRightObserver=new MutationObserver(t),this.workspaceDrawerRightObserver.observe(A,i))}}updateFileCache(e,A,t=!1){A&&void 0!==A[FRONTMATTER_KEY]?this.excalidrawFiles.add(e):t||"excalidraw"!==e.extension?this.excalidrawFiles.delete(e):this.excalidrawFiles.add(e)}onunload(){destroyExcalidrawAutomate(),this.popScope&&(this.popScope(),this.popScope=null),this.observer.disconnect(),this.themeObserver.disconnect(),this.modalContainerObserver.disconnect(),this.workspaceDrawerLeftObserver&&this.workspaceDrawerLeftObserver.disconnect(),this.workspaceDrawerRightObserver&&this.workspaceDrawerRightObserver.disconnect(),this.fileExplorerObserver&&this.fileExplorerObserver.disconnect(),this.app.workspace.getLeavesOfType("excalidraw").forEach((e=>{this.setMarkdownView(e)})),this.mathjaxDiv&&document.body.removeChild(this.mathjaxDiv),Object.values(this.packageMap).forEach((e=>{delete e.excalidrawLib,delete e.reactDOM,delete e.react}))}async embedDrawing(e){const A=this.app.workspace.getActiveViewOfType(obsidian_module.MarkdownView);if(A&&A.file){const t=this.app.metadataCache.fileToLinktext(e,A.file.path,"excalidraw"===this.settings.embedType),i=A.editor;if("excalidraw"===this.settings.embedType)return i.replaceSelection(this.settings.embedWikiLink?`![[${t}]]`:`![](${encodeURI(t)})`),void i.focus();let n=this.settings.autoExportLightAndDark?getExportTheme(this,e,this.settings.exportWithTheme&&isObsidianThemeDark()?"dark":"light"):"";n=""===n?"":n+".";const a=getIMGFilename(t,n+this.settings.embedType.toLowerCase()),r=getIMGFilename(e.path,n+this.settings.embedType.toLowerCase()),s="dark."===n?"light.":"dark.",o=getIMGFilename(t,s+this.settings.embedType.toLowerCase());this.app.vault.getAbstractFileByPath(r)||(await this.app.vault.create(r,""),await sleep$1(200)),i.replaceSelection(this.settings.embedWikiLink?`![[${a}]]\n%%[[${t}|🖋 Edit in Excalidraw]]${o?", and the [["+o+"|"+s.split(".")[0]+" exported image]]":""}%%`:`![](${encodeURI(a)})\n%%[🖋 Edit in Excalidraw](${encodeURI(t)})${o?", and the ["+s.split(".")[0]+" exported image]("+encodeURI(o)+")":""}%%`),i.focus()}}async loadSettings(e={applyLefthandedMode:!0,reEnableAutosave:!1}){void 0===e.applyLefthandedMode&&(e.applyLefthandedMode=!0),void 0===e.reEnableAutosave&&(e.reEnableAutosave=!1),this.settings=Object.assign({},DEFAULT_SETTINGS,await this.loadData()),e.applyLefthandedMode&&setLeftHandedMode(this.settings.isLeftHanded),e.reEnableAutosave&&(this.settings.autosave=!0),this.settings.autosaveInterval=app.isMobile?this.settings.autosaveIntervalMobile:this.settings.autosaveIntervalDesktop}async saveSettings(){await this.saveData(this.settings)}getStencilLibrary(){return""===this.settings.library||"deprecated"===this.settings.library?this.settings.library2:JSON_parse(this.settings.library)}setStencilLibrary(e){this.settings.library="deprecated",this.settings.library2=e}triggerEmbedUpdates(e){const A=new Set;app.workspace.iterateAllLeaves((t=>{const i=app.isMobile?document:t.view.containerEl.ownerDocument;if(!i)return;if(A.has(i))return;A.add(i);const n=i.createEvent("Event");n.initEvent(RERENDER_EVENT,!0,!1),i.querySelectorAll("img[class^='excalidraw-svg']"+(e?`[fileSource='${e.replaceAll("'","\\'")}']`:"")).forEach((e=>e.dispatchEvent(n)))}))}openDrawing(e,A,t=!1,i){let n;"md-properties"===A&&(A="new-tab"),"popout-window"===A&&(n=app.workspace.openPopoutLeaf()),"new-tab"===A&&(n=app.workspace.getLeaf("tab")),n||(n=this.app.workspace.getLeaf(!1),"empty"!==n.view.getViewType()&&"new-pane"===A&&(n=getNewOrAdjacentLeaf(this,n))),n.openFile(e,i&&""!==i?{active:t,eState:{subpath:i}}:{active:t})}async getBlankDrawing(){const e=this.app.metadataCache.getFirstLinkpathDest(obsidian_module.normalizePath(this.settings.templateFilePath),"");if(e&&e instanceof obsidian_module.TFile&&("md"==e.extension&&!this.settings.compatibilityMode||"excalidraw"==e.extension&&this.settings.compatibilityMode)){const A=await this.app.vault.read(e);if(A)return this.settings.matchTheme?changeThemeOfExcalidrawMD(A):A}if(this.settings.compatibilityMode)return this.settings.matchTheme&&isObsidianThemeDark()?DARK_BLANK_DRAWING:BLANK_DRAWING;const A=this.settings.matchTheme&&isObsidianThemeDark()?DARK_BLANK_DRAWING:BLANK_DRAWING;return`${FRONTMATTER}\n${getMarkdownDrawingSection(A,this.settings.compress)}`}async exportSceneToMD(e){var A,t;if(!e)return"";const i=null===(A=JSON_parse(e).elements)||void 0===A?void 0:A.filter((e=>"text"==e.type));let n,a="# Text Elements\n";for(const A of i)n=A.id,A.id.length>8&&(n=nanoid(),e=e.replaceAll(A.id,n)),a+=`${null!==(t=A.originalText)&&void 0!==t?t:A.text} ^${n}\n\n`;return a+getMarkdownDrawingSection(JSON.stringify(JSON_parse(e),null,"\t"),this.settings.compress)}async createDrawing(e,A,t){const i=obsidian_module.normalizePath(A||this.settings.folder);await checkAndCreateFolder(i);const n=getNewUniqueFilepath(this.app.vault,e,i),a=await this.app.vault.create(n,null!=t?t:await this.getBlankDrawing());let r=0;for(;a instanceof obsidian_module.TFile&&!this.isExcalidrawFile(a)&&r++<10;)await sleep$1(50);return r>10&&errorlog({file:a,error:"new drawing not recognized as an excalidraw file",fn:this.createDrawing}),a}async createAndOpenDrawing(e,A,t,i){const n=await this.createDrawing(e,t,i);return this.openDrawing(n,A,!0),n.path}async setMarkdownView(e){const A=e.view.getState();await e.setViewState({type:"excalidraw",state:{file:null}}),await e.setViewState({type:"markdown",state:A,popstate:!0},{focus:!0})}async setExcalidrawView(e){await e.setViewState({type:"excalidraw",state:e.view.getState(),popstate:!0})}isExcalidrawFile(e){if(!e)return!1;if("excalidraw"===e.extension)return!0;const A=e?this.app.metadataCache.getFileCache(e):null;return!!(null==A?void 0:A.frontmatter)&&!!A.frontmatter[FRONTMATTER_KEY]}async exportLibrary(){this.app.isMobile?new Prompt(this.app,"Please provide a filename","my-library","filename, leave blank to cancel action").openAndGetValue((async e=>{if(!e)return;e=`${e}.excalidrawlib`;const A=obsidian_module.normalizePath(this.settings.folder);await checkAndCreateFolder(A);const t=getNewUniqueFilepath(this.app.vault,e,A);this.app.vault.create(t,this.settings.library),new obsidian_module.Notice(`Exported library to ${t}`,6e3)})):download("data:text/plain;charset=utf-8",encodeURIComponent(JSON.stringify(this.settings.library2,null,"\t")),"my-obsidian-library.excalidrawlib")}}module.exports=ExcalidrawPlugin; +if(e.activeExcalidrawView=n,n&&(e.lastActiveExcalidrawFilePath=null===(t=n.file)||void 0===t?void 0:t.path),app.isMobile&&n&&!i){const e=document.querySelector("body>.app-container>.mobile-navbar");e&&e instanceof HTMLDivElement&&(e.style.position="relative")}if(app.isMobile&&!n&&i){const e=document.querySelector("body>.app-container>.mobile-navbar");e&&e instanceof HTMLDivElement&&(e.style.position="")}if(i&&i!==n&&(i.leaf!==A&&i.semaphores.dirty&&!i.semaphores.viewunload&&await i.save(!0),i.file&&e.triggerEmbedUpdates(i.file.path)),n&&(!i||i.leaf!==A)){const e=n.file;n.file&&setTimeout((()=>{var A;n&&n._loaded&&(null===(A=n.file)||void 0===A?void 0:A.path)===(null==e?void 0:e.path)&&(n.activeLoader||n.loadSceneFiles())}),2e3)}if(n&&n._loaded&&n.isLoaded&&n.excalidrawAPI&&e.ea.onCanvasColorChangeHook&&e.ea.onCanvasColorChangeHook(e.ea,n,n.excalidrawAPI.getAppState().viewBackgroundColor),e.popScope&&(e.popScope(),e.popScope=null),n){const A=e.app.keymap.getRootScope(),t=A.register(["Mod"],"Enter",(()=>!0));A.keys.unshift(A.keys.pop());const i=A.register(["Mod"],"k",(()=>(console.log("keydown"),!0)));A.keys.unshift(A.keys.pop());const n=e.forceSaveCommand&&"s"===e.forceSaveCommand.hotkeys[0].key&&e.forceSaveCommand.hotkeys[0].modifiers.includes("Ctrl")?A.register(["Ctrl"],"s",(()=>e.forceSaveActiveView(!1))):void 0;n&&A.keys.unshift(A.keys.pop()),e.popScope=()=>{A.unregister(t),A.unregister(i),Boolean(n)&&A.unregister(n)}}}))),e.addFileSaveTriggerEventHandlers();const A=app.metadataCache;A.getCachedFiles().forEach((t=>{var i;const n=null===(i=A.getCache(t))||void 0===i?void 0:i.frontmatter;(n&&void 0!==n[FRONTMATTER_KEY]||t.match(/\.excalidraw$/))&&e.updateFileCache(app.vault.getAbstractFileByPath(t),n)})),this.registerEvent(A.on("changed",((e,A,t)=>this.updateFileCache(e,null==t?void 0:t.frontmatter))))}))}addFileSaveTriggerEventHandlers(){this.registerEvent(this.app.workspace.on("click",(e=>{this.activeExcalidrawView&&this.activeExcalidrawView.semaphores.dirty&&(!e.target||"excalidraw__canvas"!==e.target.className&&!getParentOfClass(e.target,"excalidraw-wrapper"))&&this.activeExcalidrawView.save()}))),this.registerEvent(this.app.workspace.on("file-menu",(()=>{this.activeExcalidrawView&&this.activeExcalidrawView.semaphores.dirty&&this.activeExcalidrawView.save()}))),this.modalContainerObserver=new MutationObserver((async e=>{1===e.length&&"childList"===e[0].type&&1===e[0].addedNodes.length&&this.activeExcalidrawView&&this.activeExcalidrawView.semaphores.dirty&&this.activeExcalidrawView.save()})),this.modalContainerObserver.observe(document.body,{childList:!0});const e=document.querySelector(".workspace-drawer.mod-left"),A=document.querySelector(".workspace-drawer.mod-right");if(e||A){const t=async e=>{"display: none;"===e[0].oldValue&&this.activeExcalidrawView&&this.activeExcalidrawView.semaphores.dirty&&this.activeExcalidrawView.save()},i={attributeOldValue:!0,attributeFilter:["style"]};e&&(this.workspaceDrawerLeftObserver=new MutationObserver(t),this.workspaceDrawerLeftObserver.observe(e,i)),A&&(this.workspaceDrawerRightObserver=new MutationObserver(t),this.workspaceDrawerRightObserver.observe(A,i))}}updateFileCache(e,A,t=!1){A&&void 0!==A[FRONTMATTER_KEY]?this.excalidrawFiles.add(e):t||"excalidraw"!==e.extension?this.excalidrawFiles.delete(e):this.excalidrawFiles.add(e)}onunload(){destroyExcalidrawAutomate(),this.popScope&&(this.popScope(),this.popScope=null),this.observer.disconnect(),this.themeObserver.disconnect(),this.modalContainerObserver.disconnect(),this.workspaceDrawerLeftObserver&&this.workspaceDrawerLeftObserver.disconnect(),this.workspaceDrawerRightObserver&&this.workspaceDrawerRightObserver.disconnect(),this.fileExplorerObserver&&this.fileExplorerObserver.disconnect(),this.app.workspace.getLeavesOfType("excalidraw").forEach((e=>{this.setMarkdownView(e)})),this.mathjaxDiv&&document.body.removeChild(this.mathjaxDiv),Object.values(this.packageMap).forEach((e=>{delete e.excalidrawLib,delete e.reactDOM,delete e.react}))}async embedDrawing(e){const A=this.app.workspace.getActiveViewOfType(obsidian_module.MarkdownView);if(A&&A.file){const t=this.app.metadataCache.fileToLinktext(e,A.file.path,"excalidraw"===this.settings.embedType),i=A.editor;if("excalidraw"===this.settings.embedType)return i.replaceSelection(this.settings.embedWikiLink?`![[${t}]]`:`![](${encodeURI(t)})`),void i.focus();let n=this.settings.autoExportLightAndDark?getExportTheme(this,e,this.settings.exportWithTheme&&isObsidianThemeDark()?"dark":"light"):"";n=""===n?"":n+".";const a=getIMGFilename(t,n+this.settings.embedType.toLowerCase()),r=getIMGFilename(e.path,n+this.settings.embedType.toLowerCase()),s="dark."===n?"light.":"dark.",o=getIMGFilename(t,s+this.settings.embedType.toLowerCase());this.app.vault.getAbstractFileByPath(r)||(await this.app.vault.create(r,""),await sleep$1(200)),i.replaceSelection(this.settings.embedWikiLink?`![[${a}]]\n%%[[${t}|🖋 Edit in Excalidraw]]${o?", and the [["+o+"|"+s.split(".")[0]+" exported image]]":""}%%`:`![](${encodeURI(a)})\n%%[🖋 Edit in Excalidraw](${encodeURI(t)})${o?", and the ["+s.split(".")[0]+" exported image]("+encodeURI(o)+")":""}%%`),i.focus()}}async loadSettings(e={applyLefthandedMode:!0,reEnableAutosave:!1}){void 0===e.applyLefthandedMode&&(e.applyLefthandedMode=!0),void 0===e.reEnableAutosave&&(e.reEnableAutosave=!1),this.settings=Object.assign({},DEFAULT_SETTINGS,await this.loadData()),e.applyLefthandedMode&&setLeftHandedMode(this.settings.isLeftHanded),e.reEnableAutosave&&(this.settings.autosave=!0),this.settings.autosaveInterval=app.isMobile?this.settings.autosaveIntervalMobile:this.settings.autosaveIntervalDesktop}async saveSettings(){await this.saveData(this.settings)}getStencilLibrary(){return""===this.settings.library||"deprecated"===this.settings.library?this.settings.library2:JSON_parse(this.settings.library)}setStencilLibrary(e){this.settings.library="deprecated",this.settings.library2=e}triggerEmbedUpdates(e){const A=new Set;app.workspace.iterateAllLeaves((t=>{const i=app.isMobile?document:t.view.containerEl.ownerDocument;if(!i)return;if(A.has(i))return;A.add(i);const n=i.createEvent("Event");n.initEvent(RERENDER_EVENT,!0,!1),i.querySelectorAll("img[class^='excalidraw-svg']"+(e?`[fileSource='${e.replaceAll("'","\\'")}']`:"")).forEach((e=>e.dispatchEvent(n)))}))}openDrawing(e,A,t=!1,i){let n;"md-properties"===A&&(A="new-tab"),"popout-window"===A&&(n=app.workspace.openPopoutLeaf()),"new-tab"===A&&(n=app.workspace.getLeaf("tab")),n||(n=this.app.workspace.getLeaf(!1),"empty"!==n.view.getViewType()&&"new-pane"===A&&(n=getNewOrAdjacentLeaf(this,n))),n.openFile(e,i&&""!==i?{active:t,eState:{subpath:i}}:{active:t})}async getBlankDrawing(){const e=this.app.metadataCache.getFirstLinkpathDest(obsidian_module.normalizePath(this.settings.templateFilePath),"");if(e&&e instanceof obsidian_module.TFile&&("md"==e.extension&&!this.settings.compatibilityMode||"excalidraw"==e.extension&&this.settings.compatibilityMode)){const A=await this.app.vault.read(e);if(A)return this.settings.matchTheme?changeThemeOfExcalidrawMD(A):A}if(this.settings.compatibilityMode)return this.settings.matchTheme&&isObsidianThemeDark()?DARK_BLANK_DRAWING:BLANK_DRAWING;const A=this.settings.matchTheme&&isObsidianThemeDark()?DARK_BLANK_DRAWING:BLANK_DRAWING;return`${FRONTMATTER}\n${getMarkdownDrawingSection(A,this.settings.compress)}`}async exportSceneToMD(e){var A,t;if(!e)return"";const i=null===(A=JSON_parse(e).elements)||void 0===A?void 0:A.filter((e=>"text"==e.type));let n,a="# Text Elements\n";for(const A of i)n=A.id,A.id.length>8&&(n=nanoid(),e=e.replaceAll(A.id,n)),a+=`${null!==(t=A.originalText)&&void 0!==t?t:A.text} ^${n}\n\n`;return a+getMarkdownDrawingSection(JSON.stringify(JSON_parse(e),null,"\t"),this.settings.compress)}async createDrawing(e,A,t){const i=obsidian_module.normalizePath(A||this.settings.folder);await checkAndCreateFolder(i);const n=getNewUniqueFilepath(this.app.vault,e,i),a=await this.app.vault.create(n,null!=t?t:await this.getBlankDrawing());let r=0;for(;a instanceof obsidian_module.TFile&&!this.isExcalidrawFile(a)&&r++<10;)await sleep$1(50);return r>10&&errorlog({file:a,error:"new drawing not recognized as an excalidraw file",fn:this.createDrawing}),a}async createAndOpenDrawing(e,A,t,i){const n=await this.createDrawing(e,t,i);return this.openDrawing(n,A,!0),n.path}async setMarkdownView(e){const A=e.view.getState();await e.setViewState({type:"excalidraw",state:{file:null}}),await e.setViewState({type:"markdown",state:A,popstate:!0},{focus:!0})}async setExcalidrawView(e){await e.setViewState({type:"excalidraw",state:e.view.getState(),popstate:!0})}isExcalidrawFile(e){if(!e)return!1;if("excalidraw"===e.extension)return!0;const A=e?this.app.metadataCache.getFileCache(e):null;return!!(null==A?void 0:A.frontmatter)&&!!A.frontmatter[FRONTMATTER_KEY]}async exportLibrary(){this.app.isMobile?new Prompt(this.app,"Please provide a filename","my-library","filename, leave blank to cancel action").openAndGetValue((async e=>{if(!e)return;e=`${e}.excalidrawlib`;const A=obsidian_module.normalizePath(this.settings.folder);await checkAndCreateFolder(A);const t=getNewUniqueFilepath(this.app.vault,e,A);this.app.vault.create(t,this.settings.library),new obsidian_module.Notice(`Exported library to ${t}`,6e3)})):download("data:text/plain;charset=utf-8",encodeURIComponent(JSON.stringify(this.settings.library2,null,"\t")),"my-obsidian-library.excalidrawlib")}}module.exports=ExcalidrawPlugin; diff --git a/.obsidian/plugins/obsidian-excalidraw-plugin/manifest.json b/.obsidian/plugins/obsidian-excalidraw-plugin/manifest.json index a6d50c4..8f06283 100644 --- a/.obsidian/plugins/obsidian-excalidraw-plugin/manifest.json +++ b/.obsidian/plugins/obsidian-excalidraw-plugin/manifest.json @@ -1,8 +1,8 @@ { "id": "obsidian-excalidraw-plugin", "name": "Excalidraw", - "version": "1.8.17", - "minAppVersion": "1.0.0", + "version": "1.8.20", + "minAppVersion": "1.1.6", "description": "An Obsidian plugin to edit and view Excalidraw drawings", "author": "Zsolt Viczian", "authorUrl": "https://zsolt.blog", diff --git a/.obsidian/plugins/obsidian-excalidraw-plugin/styles.css b/.obsidian/plugins/obsidian-excalidraw-plugin/styles.css index 51e3c66..135a96e 100644 --- a/.obsidian/plugins/obsidian-excalidraw-plugin/styles.css +++ b/.obsidian/plugins/obsidian-excalidraw-plugin/styles.css @@ -21,6 +21,10 @@ display: none; } +img.excalidraw-embedded-img { + width: 100%; +} + img.excalidraw-svg-right-wrap { float: right; margin: 0px 0px 20px 20px; diff --git a/.obsidian/plugins/obsidian-export-image/main.js b/.obsidian/plugins/obsidian-export-image/main.js new file mode 100644 index 0000000..a7df053 --- /dev/null +++ b/.obsidian/plugins/obsidian-export-image/main.js @@ -0,0 +1,896 @@ +/* +THIS IS A GENERATED/BUNDLED FILE BY ESBUILD +if you want to view the source, please visit the github repository of this plugin +*/ + +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod)); +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// node_modules/file-saver/dist/FileSaver.min.js +var require_FileSaver_min = __commonJS({ + "node_modules/file-saver/dist/FileSaver.min.js"(exports, module2) { + (function(a, b) { + if (typeof define == "function" && define.amd) + define([], b); + else if (typeof exports != "undefined") + b(); + else { + b(), a.FileSaver = { exports: {} }.exports; + } + })(exports, function() { + "use strict"; + function b(a2, b2) { + return typeof b2 == "undefined" ? b2 = { autoBom: false } : typeof b2 != "object" && (console.warn("Deprecated: Expected third argument to be a object"), b2 = { autoBom: !b2 }), b2.autoBom && /^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(a2.type) ? new Blob(["\uFEFF", a2], { type: a2.type }) : a2; + } + function c(a2, b2, c2) { + var d2 = new XMLHttpRequest(); + d2.open("GET", a2), d2.responseType = "blob", d2.onload = function() { + g(d2.response, b2, c2); + }, d2.onerror = function() { + console.error("could not download file"); + }, d2.send(); + } + function d(a2) { + var b2 = new XMLHttpRequest(); + b2.open("HEAD", a2, false); + try { + b2.send(); + } catch (a3) { + } + return 200 <= b2.status && 299 >= b2.status; + } + function e(a2) { + try { + a2.dispatchEvent(new MouseEvent("click")); + } catch (c2) { + var b2 = document.createEvent("MouseEvents"); + b2.initMouseEvent("click", true, true, window, 0, 0, 0, 80, 20, false, false, false, false, 0, null), a2.dispatchEvent(b2); + } + } + var f = typeof window == "object" && window.window === window ? window : typeof self == "object" && self.self === self ? self : typeof global == "object" && global.global === global ? global : void 0, a = f.navigator && /Macintosh/.test(navigator.userAgent) && /AppleWebKit/.test(navigator.userAgent) && !/Safari/.test(navigator.userAgent), g = f.saveAs || (typeof window != "object" || window !== f ? function() { + } : "download" in HTMLAnchorElement.prototype && !a ? function(b2, g2, h) { + var i = f.URL || f.webkitURL, j = document.createElement("a"); + g2 = g2 || b2.name || "download", j.download = g2, j.rel = "noopener", typeof b2 == "string" ? (j.href = b2, j.origin === location.origin ? e(j) : d(j.href) ? c(b2, g2, h) : e(j, j.target = "_blank")) : (j.href = i.createObjectURL(b2), setTimeout(function() { + i.revokeObjectURL(j.href); + }, 4e4), setTimeout(function() { + e(j); + }, 0)); + } : "msSaveOrOpenBlob" in navigator ? function(f2, g2, h) { + if (g2 = g2 || f2.name || "download", typeof f2 != "string") + navigator.msSaveOrOpenBlob(b(f2, h), g2); + else if (d(f2)) + c(f2, g2, h); + else { + var i = document.createElement("a"); + i.href = f2, i.target = "_blank", setTimeout(function() { + e(i); + }); + } + } : function(b2, d2, e2, g2) { + if (g2 = g2 || open("", "_blank"), g2 && (g2.document.title = g2.document.body.innerText = "downloading..."), typeof b2 == "string") + return c(b2, d2, e2); + var h = b2.type === "application/octet-stream", i = /constructor/i.test(f.HTMLElement) || f.safari, j = /CriOS\/[\d]+/.test(navigator.userAgent); + if ((j || h && i || a) && typeof FileReader != "undefined") { + var k = new FileReader(); + k.onloadend = function() { + var a2 = k.result; + a2 = j ? a2 : a2.replace(/^data:[^;]*;/, "data:attachment/file;"), g2 ? g2.location.href = a2 : location = a2, g2 = null; + }, k.readAsDataURL(b2); + } else { + var l = f.URL || f.webkitURL, m = l.createObjectURL(b2); + g2 ? g2.location = m : location.href = m, g2 = null, setTimeout(function() { + l.revokeObjectURL(m); + }, 4e4); + } + }); + f.saveAs = g.saveAs = g, typeof module2 != "undefined" && (module2.exports = g); + }); + } +}); + +// dom-to-image.js +var require_dom_to_image = __commonJS({ + "dom-to-image.js"(exports, module2) { + var import_obsidian2 = require("obsidian"); + var util = newUtil(); + var inliner = newInliner(); + var fontFaces = newFontFaces(); + var images = newImages(); + var defaultOptions = { + imagePlaceholder: void 0, + cacheBust: false + }; + var domtoimage = { + toSvg, + toPng, + toJpeg, + toJpegWithClonedDom, + toBlob, + toPixelData, + toBlobWithClonedDom: toBlobWithClonedDom2, + cloneNode: cloneNode2, + impl: { + fontFaces, + images, + util, + inliner, + options: {} + } + }; + function toSvg(node, options) { + options = options || {}; + copyOptions(options); + return Promise.resolve(node).then(function(node2) { + return cloneNode2(node2, options.filter, true); + }).then(embedFonts).then(inlineImages).then(applyOptions).then(function(clone) { + return makeSvgDataUri(clone, options.width || util.width(node), options.height || util.height(node)); + }); + function applyOptions(clone) { + if (options.bgcolor) + clone.style.backgroundColor = options.bgcolor; + if (options.width) + clone.style.width = options.width + "px"; + if (options.height) + clone.style.height = options.height + "px"; + if (options.style) + Object.keys(options.style).forEach(function(property) { + clone.style[property] = options.style[property]; + }); + return clone; + } + } + function toSvgWithClonedDom(node, clone, options) { + options = options || {}; + copyOptions(options); + return Promise.resolve(clone).then(embedFonts).then(inlineImages).then(applyOptions).then(function(clone2) { + return makeSvgDataUri(clone2, options.width * 2, options.height * 2); + }); + function applyOptions(clone2) { + if (options.bgcolor) + clone2.style.backgroundColor = options.bgcolor; + if (options.width) + clone2.style.width = options.width + "px"; + if (options.height) + clone2.style.height = options.height + "px"; + if (options.style) + Object.keys(options.style).forEach(function(property) { + clone2.style[property] = options.style[property]; + }); + return clone2; + } + } + function toPixelData(node, options) { + return draw(node, options || {}).then(function(canvas) { + return canvas.getContext("2d").getImageData(0, 0, util.width(node), util.height(node)).data; + }); + } + function toPng(node, options) { + return draw(node, options || {}).then(function(canvas) { + return canvas.toDataURL(); + }); + } + function toJpeg(node, options) { + options = options || {}; + return draw(node, options).then(function(canvas) { + return canvas.toDataURL("image/jpeg", options.quality || 1); + }); + } + function toJpegWithClonedDom(node, clone, options) { + options = options || {}; + return drawWithClonedDom(node, clone, options).then(function(canvas) { + return canvas.toDataURL("image/jpeg", options.quality || 1); + }); + } + function toBlob(node, options) { + return draw(node, options || {}).then(function(canvas) { + return util.canvasToBlob(canvas, options); + }); + } + function toBlobWithClonedDom2(node, clone, options) { + return drawWithClonedDom(node, clone, options || {}).then(function(canvas) { + return util.canvasToBlob(canvas, options); + }); + } + function copyOptions(options) { + if (typeof options.imagePlaceholder === "undefined") { + domtoimage.impl.options.imagePlaceholder = defaultOptions.imagePlaceholder; + } else { + domtoimage.impl.options.imagePlaceholder = options.imagePlaceholder; + } + if (typeof options.cacheBust === "undefined") { + domtoimage.impl.options.cacheBust = defaultOptions.cacheBust; + } else { + domtoimage.impl.options.cacheBust = options.cacheBust; + } + } + function draw(domNode, options) { + return toSvg(domNode, options).then(util.makeImage).then(util.delay(100)).then(function(image) { + var canvas = newCanvas(domNode); + canvas.getContext("2d").drawImage(image, 0, 0); + return canvas; + }); + function newCanvas(domNode2) { + var canvas = document.createElement("canvas"); + canvas.width = options.width || util.width(domNode2); + canvas.height = options.height || util.height(domNode2); + if (options.bgcolor) { + var ctx = canvas.getContext("2d"); + ctx.fillStyle = options.bgcolor; + ctx.fillRect(0, 0, canvas.width, canvas.height); + } + return canvas; + } + } + function drawWithClonedDom(domNode, clone, options) { + return toSvgWithClonedDom(domNode, clone, options).then(util.makeImage).then(util.delay(100)).then(function(image) { + var canvas = newCanvas(); + canvas.getContext("2d").drawImage(image, 0, 0, options.width * 2, options.height * 2); + return canvas; + }); + function newCanvas() { + var canvas = document.createElement("canvas"); + canvas.width = options.width; + canvas.height = options.height; + if (options.bgcolor) { + var ctx = canvas.getContext("2d"); + ctx.fillStyle = options.bgcolor; + ctx.fillRect(0, 0, canvas.width, canvas.height); + } + return canvas; + } + } + function cloneNode2(node, filter, root) { + if (!root && filter && !filter(node)) + return Promise.resolve(); + return Promise.resolve(node).then(makeNodeCopy).then(function(clone) { + return cloneChildren(node, clone, filter); + }).then(function(clone) { + return processClone(node, clone); + }); + function makeNodeCopy(node2) { + if (node2 instanceof HTMLCanvasElement) + return util.makeImage(node2.toDataURL()); + return node2.cloneNode(false); + } + function cloneChildren(original, clone, filter2) { + var children = original.childNodes; + if (children.length === 0) + return Promise.resolve(clone); + return cloneChildrenInOrder(clone, util.asArray(children), filter2).then(function() { + return clone; + }); + function cloneChildrenInOrder(parent, children2, filter3) { + var done = Promise.resolve(); + children2.forEach(function(child) { + done = done.then(function() { + return cloneNode2(child, filter3); + }).then(function(childClone) { + if (childClone) + parent.appendChild(childClone); + }); + }); + return done; + } + } + function processClone(original, clone) { + if (!(clone instanceof Element)) + return clone; + return Promise.resolve().then(cloneStyle).then(clonePseudoElements).then(copyUserInput).then(fixSvg).then(function() { + return clone; + }); + function cloneStyle() { + copyStyle(window.getComputedStyle(original), clone.style || {}); + function copyStyle(source, target) { + if (source.cssText) + target.cssText = source.cssText; + else + copyProperties(source, target); + function copyProperties(source2, target2) { + if (target2.setProperty) { + util.asArray(source2).forEach(function(name) { + target2.setProperty(name, source2.getPropertyValue(name), source2.getPropertyPriority(name)); + }); + } + } + } + } + function clonePseudoElements() { + [":before", ":after"].forEach(function(element) { + clonePseudoElement(element); + }); + function clonePseudoElement(element) { + var style = window.getComputedStyle(original, element); + var content = style.getPropertyValue("content"); + if (content === "" || content === "none") + return; + var className = util.uid(); + clone.className = clone.className + " " + className; + var styleElement = document.createElement("style"); + styleElement.appendChild(formatPseudoElementStyle(className, element, style)); + clone.appendChild(styleElement); + function formatPseudoElementStyle(className2, element2, style2) { + var selector = "." + className2 + ":" + element2; + var cssText = style2.cssText ? formatCssText(style2) : formatCssProperties(style2); + return document.createTextNode(selector + "{" + cssText + "}"); + function formatCssText(style3) { + var content2 = style3.getPropertyValue("content"); + return style3.cssText + " content: " + content2 + ";"; + } + function formatCssProperties(style3) { + return util.asArray(style3).map(formatProperty).join("; ") + ";"; + function formatProperty(name) { + return name + ": " + style3.getPropertyValue(name) + (style3.getPropertyPriority(name) ? " !important" : ""); + } + } + } + } + } + function copyUserInput() { + if (original instanceof HTMLTextAreaElement) + clone.innerHTML = original.value; + if (original instanceof HTMLInputElement) + clone.setAttribute("value", original.value); + } + function fixSvg() { + if (!(clone instanceof SVGElement)) + return; + clone.setAttribute("xmlns", "http://www.w3.org/2000/svg"); + if (!(clone instanceof SVGRectElement)) + return; + ["width", "height"].forEach(function(attribute) { + var value = clone.getAttribute(attribute); + if (!value) + return; + clone.style.setProperty(attribute, value); + }); + } + } + } + function embedFonts(node) { + return fontFaces.resolveAll().then(function(cssText) { + var styleNode = document.createElement("style"); + node.appendChild(styleNode); + styleNode.appendChild(document.createTextNode(cssText)); + return node; + }); + } + function inlineImages(node) { + return images.inlineAll(node).then(function() { + return node; + }); + } + function makeSvgDataUri(node, width, height) { + return Promise.resolve(node).then(function(node2) { + node2.setAttribute("xmlns", "http://www.w3.org/1999/xhtml"); + return new XMLSerializer().serializeToString(node2); + }).then(util.escapeXhtml).then(function(xhtml) { + return '' + xhtml + ""; + }).then(function(foreignObject) { + return '' + foreignObject + ""; + }).then(function(svg) { + return "data:image/svg+xml;charset=utf-8," + svg; + }); + } + function newUtil() { + return { + escape, + parseExtension, + mimeType, + dataAsUrl, + isDataUrl, + canvasToBlob, + resolveUrl, + getAndEncode, + uid: uid(), + delay: delay2, + asArray, + escapeXhtml, + makeImage, + width, + height + }; + function mimes() { + var WOFF = "application/font-woff"; + var JPEG = "image/jpeg"; + return { + "woff": WOFF, + "woff2": WOFF, + "ttf": "application/font-truetype", + "eot": "application/vnd.ms-fontobject", + "png": "image/png", + "jpg": JPEG, + "jpeg": JPEG, + "gif": "image/gif", + "tiff": "image/tiff", + "svg": "image/svg+xml" + }; + } + function parseExtension(url) { + var match = /\.([^\.\/]*?)$/g.exec(url); + if (match) + return match[1]; + else + return ""; + } + function mimeType(url) { + var extension = parseExtension(url).toLowerCase(); + return mimes()[extension] || ""; + } + function isDataUrl(url) { + return url.search(/^(data:)/) !== -1; + } + function toBlob2(canvas, options) { + return new Promise(function(resolve) { + var binaryString = window.atob(canvas.toDataURL("image/jpeg", options.quality || 1).split(",")[1]); + var length = binaryString.length; + var binaryArray = new Uint8Array(length); + for (var i = 0; i < length; i++) + binaryArray[i] = binaryString.charCodeAt(i); + resolve(new Blob([binaryArray], { + type: "image/jpeg" + })); + }); + } + function canvasToBlob(canvas, options) { + if (canvas.toBlob) + return new Promise(function(resolve) { + canvas.toBlob(resolve, "image/jpg", options.quality || 1); + }); + return toBlob2(canvas, options); + } + function resolveUrl(url, baseUrl) { + var doc = document.implementation.createHTMLDocument(); + var base = doc.createElement("base"); + doc.head.appendChild(base); + var a = doc.createElement("a"); + doc.body.appendChild(a); + base.href = baseUrl; + a.href = url; + return a.href; + } + function uid() { + var index = 0; + return function() { + return "u" + fourRandomChars() + index++; + function fourRandomChars() { + return ("0000" + (Math.random() * Math.pow(36, 4) << 0).toString(36)).slice(-4); + } + }; + } + function makeImage(uri) { + return new Promise(function(resolve, reject) { + var image = new Image(); + image.onload = function() { + resolve(image); + }; + image.onerror = resolve; + image.src = uri; + }); + } + function getAndEncode(url) { + var TIMEOUT = 3e4; + if (domtoimage.impl.options.cacheBust) { + url += (/\?/.test(url) ? "&" : "?") + new Date().getTime(); + } + if (/^http/.test(url)) { + return (0, import_obsidian2.requestUrl)({ + url, + method: "GET" + }).then((data) => { + let binary = ""; + const bytes = new Uint8Array(data.arrayBuffer); + const len = bytes.byteLength; + for (let i = 0; i < len; i++) { + binary += String.fromCharCode(bytes[i]); + } + return window.btoa(binary); + }).catch((err) => { + console.error("cannot fetch resource: " + url + ", error: " + err); + return ""; + }); + } + return new Promise(function(resolve) { + var request = new XMLHttpRequest(); + request.onreadystatechange = done; + request.ontimeout = timeout; + request.responseType = "blob"; + request.timeout = TIMEOUT; + request.open("GET", url, true); + request.send(); + var placeholder; + if (domtoimage.impl.options.imagePlaceholder) { + var split = domtoimage.impl.options.imagePlaceholder.split(/,/); + if (split && split[1]) { + placeholder = split[1]; + } + } + function done() { + if (request.readyState !== 4) + return; + if (request.status !== 200) { + if (placeholder) { + resolve(placeholder); + } else { + fail("cannot fetch resource: " + url + ", status: " + request.status); + } + return; + } + var encoder = new FileReader(); + encoder.onloadend = function() { + var content = encoder.result.split(/,/)[1]; + resolve(content); + }; + encoder.readAsDataURL(request.response); + } + function timeout() { + if (placeholder) { + resolve(placeholder); + } else { + fail("timeout of " + TIMEOUT + "ms occured while fetching resource: " + url); + } + } + function fail(message) { + console.error(message); + resolve(""); + } + }); + } + function dataAsUrl(content, type) { + return "data:" + type + ";base64," + content; + } + function escape(string) { + return string.replace(/([.*+?^${}()|\[\]\/\\])/g, "\\$1"); + } + function delay2(ms) { + return function(arg) { + return new Promise(function(resolve) { + setTimeout(function() { + resolve(arg); + }, ms); + }); + }; + } + function asArray(arrayLike) { + var array = []; + var length = arrayLike.length; + for (var i = 0; i < length; i++) + array.push(arrayLike[i]); + return array; + } + function escapeXhtml(string) { + return string.replace(/#/g, "%23").replace(/\n/g, "%0A"); + } + function width(node) { + var leftBorder = px(node, "border-left-width"); + var rightBorder = px(node, "border-right-width"); + return node.scrollWidth + leftBorder + rightBorder; + } + function height(node) { + var topBorder = px(node, "border-top-width"); + var bottomBorder = px(node, "border-bottom-width"); + return node.scrollHeight + topBorder + bottomBorder; + } + function px(node, styleProperty) { + var value = window.getComputedStyle(node).getPropertyValue(styleProperty); + return parseFloat(value.replace("px", "")); + } + } + function newInliner() { + var URL_REGEX = /url\(['"]?([^'"]+?)['"]?\)/g; + return { + inlineAll, + shouldProcess, + impl: { + readUrls, + inline + } + }; + function shouldProcess(string) { + return string.search(URL_REGEX) !== -1; + } + function readUrls(string) { + var result = []; + var match; + while ((match = URL_REGEX.exec(string)) !== null) { + result.push(match[1]); + } + return result.filter(function(url) { + return !util.isDataUrl(url); + }); + } + function inline(string, url, baseUrl, get) { + return Promise.resolve(url).then(function(url2) { + return baseUrl ? util.resolveUrl(url2, baseUrl) : url2; + }).then(get || util.getAndEncode).then(function(data) { + return util.dataAsUrl(data, util.mimeType(url)); + }).then(function(dataUrl) { + return string.replace(urlAsRegex(url), "$1" + dataUrl + "$3"); + }); + function urlAsRegex(url2) { + return new RegExp(`(url\\(['"]?)(` + util.escape(url2) + `)(['"]?\\))`, "g"); + } + } + function inlineAll(string, baseUrl, get) { + if (nothingToInline()) + return Promise.resolve(string); + return Promise.resolve(string).then(readUrls).then(function(urls) { + var done = Promise.resolve(string); + urls.forEach(function(url) { + done = done.then(function(string2) { + return inline(string2, url, baseUrl, get); + }); + }); + return done; + }); + function nothingToInline() { + return !shouldProcess(string); + } + } + } + function newFontFaces() { + return { + resolveAll, + impl: { + readAll + } + }; + function resolveAll() { + return readAll(document).then(function(webFonts) { + return Promise.all(webFonts.map(function(webFont) { + return webFont.resolve(); + })); + }).then(function(cssStrings) { + return cssStrings.join("\n"); + }); + } + function readAll() { + return Promise.resolve(util.asArray(document.styleSheets)).then(getCssRules).then(selectWebFontRules).then(function(rules) { + return rules.map(newWebFont); + }); + function selectWebFontRules(cssRules) { + return cssRules.filter(function(rule) { + return rule.type === CSSRule.FONT_FACE_RULE; + }).filter(function(rule) { + return inliner.shouldProcess(rule.style.getPropertyValue("src")); + }); + } + function getCssRules(styleSheets) { + var cssRules = []; + styleSheets.forEach(function(sheet) { + try { + util.asArray(sheet.cssRules || []).forEach(cssRules.push.bind(cssRules)); + } catch (e) { + console.log("Error while reading CSS rules from " + sheet.href, e.toString()); + } + }); + return cssRules; + } + function newWebFont(webFontRule) { + return { + resolve: function resolve() { + var baseUrl = (webFontRule.parentStyleSheet || {}).href; + return inliner.inlineAll(webFontRule.cssText, baseUrl); + }, + src: function() { + return webFontRule.style.getPropertyValue("src"); + } + }; + } + } + } + function newImages() { + return { + inlineAll, + impl: { + newImage + } + }; + function newImage(element) { + return { + inline + }; + function inline(get) { + if (util.isDataUrl(element.src)) + return Promise.resolve(); + return Promise.resolve(element.src).then(get || util.getAndEncode).then(function(data) { + return util.dataAsUrl(data, util.mimeType(element.src)); + }).then(function(dataUrl) { + return new Promise(function(resolve, reject) { + element.onload = resolve; + element.onerror = resolve; + element.src = dataUrl; + }); + }); + } + } + function inlineAll(node) { + if (!(node instanceof Element)) + return Promise.resolve(node); + return inlineBackground(node).then(function() { + if (node instanceof HTMLImageElement) + return newImage(node).inline(); + else + return Promise.all(util.asArray(node.childNodes).map(function(child) { + return inlineAll(child); + })); + }); + function inlineBackground(node2) { + try { + var background = node2.style.getPropertyValue("background"); + } catch (e) { + return Promise.resolve(node2); + } + if (!background) + return Promise.resolve(node2); + return inliner.inlineAll(background).then(function(inlined) { + node2.style.setProperty("background", inlined, node2.style.getPropertyPriority("background")); + }).then(function() { + return node2; + }); + } + } + } + module2.exports = domtoimage; + } +}); + +// main.ts +var main_exports = {}; +__export(main_exports, { + default: () => main_default +}); +module.exports = __toCommonJS(main_exports); + +// ExportImagePlugin.ts +var import_obsidian = require("obsidian"); +var import_file_saver = __toESM(require_FileSaver_min()); + +// constents.ts +var DEFAULT_SETTINGS = { + width: "400" +}; + +// ExportImagePlugin.ts +var import_dom_to_image = __toESM(require_dom_to_image()); +function delay(ms) { + return new Promise(function(resolve) { + setTimeout(function() { + resolve(void 0); + }, ms); + }); +} +async function cloneDom(el, markdownView) { + const container = el.parentElement; + const scrollCache = container.scrollTop; + container.scrollTo(0, 0); + el.addClass("epxort-image-force-no-margin"); + await delay(40); + const totalHeight = el.clientHeight; + const screenHeight = markdownView.contentEl.clientHeight; + let scrollIndex = 0; + let height = el.clientHeight - parseFloat(el.style.paddingBottom) + 40; + console.log("scollHeight:", height); + const clone = await (0, import_dom_to_image.cloneNode)(el); + const observer = new MutationObserver(async (records) => { + for (let r of records) { + for (let node of Array.from(r.addedNodes)) { + clone.append(await (0, import_dom_to_image.cloneNode)(node)); + } + } + }); + observer.observe(el, { + childList: true + }); + while (scrollIndex <= totalHeight - screenHeight) { + scrollIndex += screenHeight; + container.scrollTo(0, scrollIndex); + await delay(40); + } + observer.disconnect(); + container.scrollTo(0, scrollCache); + clone.addClass("export-image-clone"); + document.body.appendChild(clone); + console.log(clone.clientWidth, clone.clientHeight); + el.removeClass("epxort-image-force-no-margin"); + return clone; +} +var ExportImagePlugin = class extends import_obsidian.Plugin { + async onload() { + await this.loadSettings(); + this.addCommand({ + id: "export-to-image-zh", + name: "Export to image", + checkCallback: (checking) => { + const markdownView = this.app.workspace.getActiveViewOfType(import_obsidian.MarkdownView); + if ((markdownView == null ? void 0 : markdownView.getMode()) === "preview") { + if (!checking) { + (async () => { + const el = markdownView.contentEl.find(".markdown-preview-section"); + const clone = await cloneDom(el, markdownView); + const blob = await (0, import_dom_to_image.toBlobWithClonedDom)(el, clone, { + width: clone.clientWidth * 2, + height: clone.clientHeight * 2, + bgcolor: window.getComputedStyle(el.closest(".view-content")).backgroundColor, + quality: 0.9, + style: { + transform: "scale(2)", + transformOrigin: "top left" + } + }); + document.body.removeChild(clone); + (0, import_file_saver.saveAs)(blob, `${markdownView.getDisplayText().replace(/\s+/g, "_")}.jpg`); + })(); + } + return true; + } + } + }); + this.addCommand({ + id: "copy-as-image-zh", + name: "Copy as image", + checkCallback: (checking) => { + const markdownView = this.app.workspace.getActiveViewOfType(import_obsidian.MarkdownView); + if ((markdownView == null ? void 0 : markdownView.getMode()) === "preview") { + if (!checking) { + (async () => { + const el = markdownView.contentEl.find(".markdown-preview-section"); + const clone = await cloneDom(el, markdownView); + const blob = await (0, import_dom_to_image.toBlobWithClonedDom)(el, clone, { + width: clone.clientWidth * 2, + height: clone.clientHeight * 2, + bgcolor: window.getComputedStyle(el.closest(".view-content")).backgroundColor, + quality: 0.9, + style: { + transform: "scale(2)", + transformOrigin: "top left" + } + }); + document.body.removeChild(clone); + const data = [ + new ClipboardItem({ + [blob.type]: blob + }) + ]; + await navigator.clipboard.write(data); + new import_obsidian.Notice("Copied!"); + })(); + } + return true; + } + } + }); + } + onunload() { + } + async loadSettings() { + this.settings = Object.assign({}, DEFAULT_SETTINGS, await this.loadData()); + } + async saveSettings() { + await this.saveData(this.settings); + } +}; + +// main.ts +var main_default = ExportImagePlugin; +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsibm9kZV9tb2R1bGVzL2ZpbGUtc2F2ZXIvc3JjL0ZpbGVTYXZlci5qcyIsICJkb20tdG8taW1hZ2UuanMiLCAibWFpbi50cyIsICJFeHBvcnRJbWFnZVBsdWdpbi50cyIsICJjb25zdGVudHMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qXG4qIEZpbGVTYXZlci5qc1xuKiBBIHNhdmVBcygpIEZpbGVTYXZlciBpbXBsZW1lbnRhdGlvbi5cbipcbiogQnkgRWxpIEdyZXksIGh0dHA6Ly9lbGlncmV5LmNvbVxuKlxuKiBMaWNlbnNlIDogaHR0cHM6Ly9naXRodWIuY29tL2VsaWdyZXkvRmlsZVNhdmVyLmpzL2Jsb2IvbWFzdGVyL0xJQ0VOU0UubWQgKE1JVClcbiogc291cmNlICA6IGh0dHA6Ly9wdXJsLmVsaWdyZXkuY29tL2dpdGh1Yi9GaWxlU2F2ZXIuanNcbiovXG5cbi8vIFRoZSBvbmUgYW5kIG9ubHkgd2F5IG9mIGdldHRpbmcgZ2xvYmFsIHNjb3BlIGluIGFsbCBlbnZpcm9ubWVudHNcbi8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcS8zMjc3MTgyLzEwMDg5OTlcbnZhciBfZ2xvYmFsID0gdHlwZW9mIHdpbmRvdyA9PT0gJ29iamVjdCcgJiYgd2luZG93LndpbmRvdyA9PT0gd2luZG93XG4gID8gd2luZG93IDogdHlwZW9mIHNlbGYgPT09ICdvYmplY3QnICYmIHNlbGYuc2VsZiA9PT0gc2VsZlxuICA/IHNlbGYgOiB0eXBlb2YgZ2xvYmFsID09PSAnb2JqZWN0JyAmJiBnbG9iYWwuZ2xvYmFsID09PSBnbG9iYWxcbiAgPyBnbG9iYWxcbiAgOiB0aGlzXG5cbmZ1bmN0aW9uIGJvbSAoYmxvYiwgb3B0cykge1xuICBpZiAodHlwZW9mIG9wdHMgPT09ICd1bmRlZmluZWQnKSBvcHRzID0geyBhdXRvQm9tOiBmYWxzZSB9XG4gIGVsc2UgaWYgKHR5cGVvZiBvcHRzICE9PSAnb2JqZWN0Jykge1xuICAgIGNvbnNvbGUud2FybignRGVwcmVjYXRlZDogRXhwZWN0ZWQgdGhpcmQgYXJndW1lbnQgdG8gYmUgYSBvYmplY3QnKVxuICAgIG9wdHMgPSB7IGF1dG9Cb206ICFvcHRzIH1cbiAgfVxuXG4gIC8vIHByZXBlbmQgQk9NIGZvciBVVEYtOCBYTUwgYW5kIHRleHQvKiB0eXBlcyAoaW5jbHVkaW5nIEhUTUwpXG4gIC8vIG5vdGU6IHlvdXIgYnJvd3NlciB3aWxsIGF1dG9tYXRpY2FsbHkgY29udmVydCBVVEYtMTYgVStGRUZGIHRvIEVGIEJCIEJGXG4gIGlmIChvcHRzLmF1dG9Cb20gJiYgL15cXHMqKD86dGV4dFxcL1xcUyp8YXBwbGljYXRpb25cXC94bWx8XFxTKlxcL1xcUypcXCt4bWwpXFxzKjsuKmNoYXJzZXRcXHMqPVxccyp1dGYtOC9pLnRlc3QoYmxvYi50eXBlKSkge1xuICAgIHJldHVybiBuZXcgQmxvYihbU3RyaW5nLmZyb21DaGFyQ29kZSgweEZFRkYpLCBibG9iXSwgeyB0eXBlOiBibG9iLnR5cGUgfSlcbiAgfVxuICByZXR1cm4gYmxvYlxufVxuXG5mdW5jdGlvbiBkb3dubG9hZCAodXJsLCBuYW1lLCBvcHRzKSB7XG4gIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKVxuICB4aHIub3BlbignR0VUJywgdXJsKVxuICB4aHIucmVzcG9uc2VUeXBlID0gJ2Jsb2InXG4gIHhoci5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7XG4gICAgc2F2ZUFzKHhoci5yZXNwb25zZSwgbmFtZSwgb3B0cylcbiAgfVxuICB4aHIub25lcnJvciA9IGZ1bmN0aW9uICgpIHtcbiAgICBjb25zb2xlLmVycm9yKCdjb3VsZCBub3QgZG93bmxvYWQgZmlsZScpXG4gIH1cbiAgeGhyLnNlbmQoKVxufVxuXG5mdW5jdGlvbiBjb3JzRW5hYmxlZCAodXJsKSB7XG4gIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKVxuICAvLyB1c2Ugc3luYyB0byBhdm9pZCBwb3B1cCBibG9ja2VyXG4gIHhoci5vcGVuKCdIRUFEJywgdXJsLCBmYWxzZSlcbiAgdHJ5IHtcbiAgICB4aHIuc2VuZCgpXG4gIH0gY2F0Y2ggKGUpIHt9XG4gIHJldHVybiB4aHIuc3RhdHVzID49IDIwMCAmJiB4aHIuc3RhdHVzIDw9IDI5OVxufVxuXG4vLyBgYS5jbGljaygpYCBkb2Vzbid0IHdvcmsgZm9yIGFsbCBicm93c2VycyAoIzQ2NSlcbmZ1bmN0aW9uIGNsaWNrIChub2RlKSB7XG4gIHRyeSB7XG4gICAgbm9kZS5kaXNwYXRjaEV2ZW50KG5ldyBNb3VzZUV2ZW50KCdjbGljaycpKVxuICB9IGNhdGNoIChlKSB7XG4gICAgdmFyIGV2dCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdNb3VzZUV2ZW50cycpXG4gICAgZXZ0LmluaXRNb3VzZUV2ZW50KCdjbGljaycsIHRydWUsIHRydWUsIHdpbmRvdywgMCwgMCwgMCwgODAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDIwLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgMCwgbnVsbClcbiAgICBub2RlLmRpc3BhdGNoRXZlbnQoZXZ0KVxuICB9XG59XG5cbi8vIERldGVjdCBXZWJWaWV3IGluc2lkZSBhIG5hdGl2ZSBtYWNPUyBhcHAgYnkgcnVsaW5nIG91dCBhbGwgYnJvd3NlcnNcbi8vIFdlIGp1c3QgbmVlZCB0byBjaGVjayBmb3IgJ1NhZmFyaScgYmVjYXVzZSBhbGwgb3RoZXIgYnJvd3NlcnMgKGJlc2lkZXMgRmlyZWZveCkgaW5jbHVkZSB0aGF0IHRvb1xuLy8gaHR0cHM6Ly93d3cud2hhdGlzbXlicm93c2VyLmNvbS9ndWlkZXMvdGhlLWxhdGVzdC11c2VyLWFnZW50L21hY29zXG52YXIgaXNNYWNPU1dlYlZpZXcgPSBfZ2xvYmFsLm5hdmlnYXRvciAmJiAvTWFjaW50b3NoLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpICYmIC9BcHBsZVdlYktpdC8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSAmJiAhL1NhZmFyaS8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KVxuXG52YXIgc2F2ZUFzID0gX2dsb2JhbC5zYXZlQXMgfHwgKFxuICAvLyBwcm9iYWJseSBpbiBzb21lIHdlYiB3b3JrZXJcbiAgKHR5cGVvZiB3aW5kb3cgIT09ICdvYmplY3QnIHx8IHdpbmRvdyAhPT0gX2dsb2JhbClcbiAgICA/IGZ1bmN0aW9uIHNhdmVBcyAoKSB7IC8qIG5vb3AgKi8gfVxuXG4gIC8vIFVzZSBkb3dubG9hZCBhdHRyaWJ1dGUgZmlyc3QgaWYgcG9zc2libGUgKCMxOTMgTHVtaWEgbW9iaWxlKSB1bmxlc3MgdGhpcyBpcyBhIG1hY09TIFdlYlZpZXdcbiAgOiAoJ2Rvd25sb2FkJyBpbiBIVE1MQW5jaG9yRWxlbWVudC5wcm90b3R5cGUgJiYgIWlzTWFjT1NXZWJWaWV3KVxuICA/IGZ1bmN0aW9uIHNhdmVBcyAoYmxvYiwgbmFtZSwgb3B0cykge1xuICAgIHZhciBVUkwgPSBfZ2xvYmFsLlVSTCB8fCBfZ2xvYmFsLndlYmtpdFVSTFxuICAgIHZhciBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpXG4gICAgbmFtZSA9IG5hbWUgfHwgYmxvYi5uYW1lIHx8ICdkb3dubG9hZCdcblxuICAgIGEuZG93bmxvYWQgPSBuYW1lXG4gICAgYS5yZWwgPSAnbm9vcGVuZXInIC8vIHRhYm5hYmJpbmdcblxuICAgIC8vIFRPRE86IGRldGVjdCBjaHJvbWUgZXh0ZW5zaW9ucyAmIHBhY2thZ2VkIGFwcHNcbiAgICAvLyBhLnRhcmdldCA9ICdfYmxhbmsnXG5cbiAgICBpZiAodHlwZW9mIGJsb2IgPT09ICdzdHJpbmcnKSB7XG4gICAgICAvLyBTdXBwb3J0IHJlZ3VsYXIgbGlua3NcbiAgICAgIGEuaHJlZiA9IGJsb2JcbiAgICAgIGlmIChhLm9yaWdpbiAhPT0gbG9jYXRpb24ub3JpZ2luKSB7XG4gICAgICAgIGNvcnNFbmFibGVkKGEuaHJlZilcbiAgICAgICAgICA/IGRvd25sb2FkKGJsb2IsIG5hbWUsIG9wdHMpXG4gICAgICAgICAgOiBjbGljayhhLCBhLnRhcmdldCA9ICdfYmxhbmsnKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2xpY2soYSlcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gU3VwcG9ydCBibG9ic1xuICAgICAgYS5ocmVmID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKVxuICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7IFVSTC5yZXZva2VPYmplY3RVUkwoYS5ocmVmKSB9LCA0RTQpIC8vIDQwc1xuICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7IGNsaWNrKGEpIH0sIDApXG4gICAgfVxuICB9XG5cbiAgLy8gVXNlIG1zU2F2ZU9yT3BlbkJsb2IgYXMgYSBzZWNvbmQgYXBwcm9hY2hcbiAgOiAnbXNTYXZlT3JPcGVuQmxvYicgaW4gbmF2aWdhdG9yXG4gID8gZnVuY3Rpb24gc2F2ZUFzIChibG9iLCBuYW1lLCBvcHRzKSB7XG4gICAgbmFtZSA9IG5hbWUgfHwgYmxvYi5uYW1lIHx8ICdkb3dubG9hZCdcblxuICAgIGlmICh0eXBlb2YgYmxvYiA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGlmIChjb3JzRW5hYmxlZChibG9iKSkge1xuICAgICAgICBkb3dubG9hZChibG9iLCBuYW1lLCBvcHRzKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFyIGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJylcbiAgICAgICAgYS5ocmVmID0gYmxvYlxuICAgICAgICBhLnRhcmdldCA9ICdfYmxhbmsnXG4gICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgeyBjbGljayhhKSB9KVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBuYXZpZ2F0b3IubXNTYXZlT3JPcGVuQmxvYihib20oYmxvYiwgb3B0cyksIG5hbWUpXG4gICAgfVxuICB9XG5cbiAgLy8gRmFsbGJhY2sgdG8gdXNpbmcgRmlsZVJlYWRlciBhbmQgYSBwb3B1cFxuICA6IGZ1bmN0aW9uIHNhdmVBcyAoYmxvYiwgbmFtZSwgb3B0cywgcG9wdXApIHtcbiAgICAvLyBPcGVuIGEgcG9wdXAgaW1tZWRpYXRlbHkgZG8gZ28gYXJvdW5kIHBvcHVwIGJsb2NrZXJcbiAgICAvLyBNb3N0bHkgb25seSBhdmFpbGFibGUgb24gdXNlciBpbnRlcmFjdGlvbiBhbmQgdGhlIGZpbGVSZWFkZXIgaXMgYXN5bmMgc28uLi5cbiAgICBwb3B1cCA9IHBvcHVwIHx8IG9wZW4oJycsICdfYmxhbmsnKVxuICAgIGlmIChwb3B1cCkge1xuICAgICAgcG9wdXAuZG9jdW1lbnQudGl0bGUgPVxuICAgICAgcG9wdXAuZG9jdW1lbnQuYm9keS5pbm5lclRleHQgPSAnZG93bmxvYWRpbmcuLi4nXG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBibG9iID09PSAnc3RyaW5nJykgcmV0dXJuIGRvd25sb2FkKGJsb2IsIG5hbWUsIG9wdHMpXG5cbiAgICB2YXIgZm9yY2UgPSBibG9iLnR5cGUgPT09ICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nXG4gICAgdmFyIGlzU2FmYXJpID0gL2NvbnN0cnVjdG9yL2kudGVzdChfZ2xvYmFsLkhUTUxFbGVtZW50KSB8fCBfZ2xvYmFsLnNhZmFyaVxuICAgIHZhciBpc0Nocm9tZUlPUyA9IC9DcmlPU1xcL1tcXGRdKy8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KVxuXG4gICAgaWYgKChpc0Nocm9tZUlPUyB8fCAoZm9yY2UgJiYgaXNTYWZhcmkpIHx8IGlzTWFjT1NXZWJWaWV3KSAmJiB0eXBlb2YgRmlsZVJlYWRlciAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIC8vIFNhZmFyaSBkb2Vzbid0IGFsbG93IGRvd25sb2FkaW5nIG9mIGJsb2IgVVJMc1xuICAgICAgdmFyIHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKClcbiAgICAgIHJlYWRlci5vbmxvYWRlbmQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciB1cmwgPSByZWFkZXIucmVzdWx0XG4gICAgICAgIHVybCA9IGlzQ2hyb21lSU9TID8gdXJsIDogdXJsLnJlcGxhY2UoL15kYXRhOlteO10qOy8sICdkYXRhOmF0dGFjaG1lbnQvZmlsZTsnKVxuICAgICAgICBpZiAocG9wdXApIHBvcHVwLmxvY2F0aW9uLmhyZWYgPSB1cmxcbiAgICAgICAgZWxzZSBsb2NhdGlvbiA9IHVybFxuICAgICAgICBwb3B1cCA9IG51bGwgLy8gcmV2ZXJzZS10YWJuYWJiaW5nICM0NjBcbiAgICAgIH1cbiAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGJsb2IpXG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBVUkwgPSBfZ2xvYmFsLlVSTCB8fCBfZ2xvYmFsLndlYmtpdFVSTFxuICAgICAgdmFyIHVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYilcbiAgICAgIGlmIChwb3B1cCkgcG9wdXAubG9jYXRpb24gPSB1cmxcbiAgICAgIGVsc2UgbG9jYXRpb24uaHJlZiA9IHVybFxuICAgICAgcG9wdXAgPSBudWxsIC8vIHJldmVyc2UtdGFibmFiYmluZyAjNDYwXG4gICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsgVVJMLnJldm9rZU9iamVjdFVSTCh1cmwpIH0sIDRFNCkgLy8gNDBzXG4gICAgfVxuICB9XG4pXG5cbl9nbG9iYWwuc2F2ZUFzID0gc2F2ZUFzLnNhdmVBcyA9IHNhdmVBc1xuXG5pZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSBzYXZlQXM7XG59XG4iLCAiaW1wb3J0IHsgcmVxdWVzdFVybCB9IGZyb20gJ29ic2lkaWFuJztcblxuICB2YXIgdXRpbCA9IG5ld1V0aWwoKTtcbiAgdmFyIGlubGluZXIgPSBuZXdJbmxpbmVyKCk7XG4gIHZhciBmb250RmFjZXMgPSBuZXdGb250RmFjZXMoKTtcbiAgdmFyIGltYWdlcyA9IG5ld0ltYWdlcygpO1xuXG4gIC8vIERlZmF1bHQgaW1wbCBvcHRpb25zXG4gIHZhciBkZWZhdWx0T3B0aW9ucyA9IHtcbiAgICAvLyBEZWZhdWx0IGlzIHRvIGZhaWwgb24gZXJyb3IsIG5vIHBsYWNlaG9sZGVyXG4gICAgaW1hZ2VQbGFjZWhvbGRlcjogdW5kZWZpbmVkLFxuICAgIC8vIERlZmF1bHQgY2FjaGUgYnVzdCBpcyBmYWxzZSwgaXQgd2lsbCB1c2UgdGhlIGNhY2hlXG4gICAgY2FjaGVCdXN0OiBmYWxzZVxuICB9O1xuXG4gIHZhciBkb210b2ltYWdlID0ge1xuICAgIHRvU3ZnOiB0b1N2ZyxcbiAgICB0b1BuZzogdG9QbmcsXG4gICAgdG9KcGVnOiB0b0pwZWcsXG4gICAgdG9KcGVnV2l0aENsb25lZERvbTogdG9KcGVnV2l0aENsb25lZERvbSxcbiAgICB0b0Jsb2I6IHRvQmxvYixcbiAgICB0b1BpeGVsRGF0YTogdG9QaXhlbERhdGEsXG4gICAgdG9CbG9iV2l0aENsb25lZERvbTogdG9CbG9iV2l0aENsb25lZERvbSxcbiAgICBjbG9uZU5vZGU6IGNsb25lTm9kZSxcbiAgICBpbXBsOiB7XG4gICAgICBmb250RmFjZXM6IGZvbnRGYWNlcyxcbiAgICAgIGltYWdlczogaW1hZ2VzLFxuICAgICAgdXRpbDogdXRpbCxcbiAgICAgIGlubGluZXI6IGlubGluZXIsXG4gICAgICBvcHRpb25zOiB7fVxuICAgIH1cbiAgfTtcblxuICAvKipcbiAgICogQHBhcmFtIHtOb2RlfSBub2RlIC0gVGhlIERPTSBOb2RlIG9iamVjdCB0byByZW5kZXJcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBSZW5kZXJpbmcgb3B0aW9uc1xuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcHRpb25zLmZpbHRlciAtIFNob3VsZCByZXR1cm4gdHJ1ZSBpZiBwYXNzZWQgbm9kZSBzaG91bGQgYmUgaW5jbHVkZWQgaW4gdGhlIG91dHB1dFxuICAgKiAgICAgICAgICAoZXhjbHVkaW5nIG5vZGUgbWVhbnMgZXhjbHVkaW5nIGl0J3MgY2hpbGRyZW4gYXMgd2VsbCkuIE5vdCBjYWxsZWQgb24gdGhlIHJvb3Qgbm9kZS5cbiAgICogQHBhcmFtIHtTdHJpbmd9IG9wdGlvbnMuYmdjb2xvciAtIGNvbG9yIGZvciB0aGUgYmFja2dyb3VuZCwgYW55IHZhbGlkIENTUyBjb2xvciB2YWx1ZS5cbiAgICogQHBhcmFtIHtOdW1iZXJ9IG9wdGlvbnMud2lkdGggLSB3aWR0aCB0byBiZSBhcHBsaWVkIHRvIG5vZGUgYmVmb3JlIHJlbmRlcmluZy5cbiAgICogQHBhcmFtIHtOdW1iZXJ9IG9wdGlvbnMuaGVpZ2h0IC0gaGVpZ2h0IHRvIGJlIGFwcGxpZWQgdG8gbm9kZSBiZWZvcmUgcmVuZGVyaW5nLlxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucy5zdHlsZSAtIGFuIG9iamVjdCB3aG9zZSBwcm9wZXJ0aWVzIHRvIGJlIGNvcGllZCB0byBub2RlJ3Mgc3R5bGUgYmVmb3JlIHJlbmRlcmluZy5cbiAgICogQHBhcmFtIHtOdW1iZXJ9IG9wdGlvbnMucXVhbGl0eSAtIGEgTnVtYmVyIGJldHdlZW4gMCBhbmQgMSBpbmRpY2F0aW5nIGltYWdlIHF1YWxpdHkgKGFwcGxpY2FibGUgdG8gSlBFRyBvbmx5KSxcbiAgICAgICAgICAgICAgZGVmYXVsdHMgdG8gMS4wLlxuICAgKiBAcGFyYW0ge1N0cmluZ30gb3B0aW9ucy5pbWFnZVBsYWNlaG9sZGVyIC0gZGF0YVVSTCB0byB1c2UgYXMgYSBwbGFjZWhvbGRlciBmb3IgZmFpbGVkIGltYWdlcywgZGVmYXVsdCBiZWhhdmlvdXIgaXMgdG8gZmFpbCBmYXN0IG9uIGltYWdlcyB3ZSBjYW4ndCBmZXRjaFxuICAgKiBAcGFyYW0ge0Jvb2xlYW59IG9wdGlvbnMuY2FjaGVCdXN0IC0gc2V0IHRvIHRydWUgdG8gY2FjaGUgYnVzdCBieSBhcHBlbmRpbmcgdGhlIHRpbWUgdG8gdGhlIHJlcXVlc3QgdXJsXG4gICAqIEByZXR1cm4ge1Byb21pc2V9IC0gQSBwcm9taXNlIHRoYXQgaXMgZnVsZmlsbGVkIHdpdGggYSBTVkcgaW1hZ2UgZGF0YSBVUkxcbiAgICogKi9cbiAgZnVuY3Rpb24gdG9Tdmcobm9kZSwgb3B0aW9ucykge1xuICAgIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuICAgIGNvcHlPcHRpb25zKG9wdGlvbnMpO1xuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUobm9kZSlcbiAgICAgIC50aGVuKGZ1bmN0aW9uIChub2RlKSB7XG4gICAgICAgIHJldHVybiBjbG9uZU5vZGUobm9kZSwgb3B0aW9ucy5maWx0ZXIsIHRydWUpO1xuICAgICAgfSlcbiAgICAgIC50aGVuKGVtYmVkRm9udHMpXG4gICAgICAudGhlbihpbmxpbmVJbWFnZXMpXG4gICAgICAudGhlbihhcHBseU9wdGlvbnMpXG4gICAgICAudGhlbihmdW5jdGlvbiAoY2xvbmUpIHtcbiAgICAgICAgcmV0dXJuIG1ha2VTdmdEYXRhVXJpKGNsb25lLFxuICAgICAgICAgIG9wdGlvbnMud2lkdGggfHwgdXRpbC53aWR0aChub2RlKSxcbiAgICAgICAgICBvcHRpb25zLmhlaWdodCB8fCB1dGlsLmhlaWdodChub2RlKVxuICAgICAgICApO1xuICAgICAgfSk7XG5cbiAgICBmdW5jdGlvbiBhcHBseU9wdGlvbnMoY2xvbmUpIHtcbiAgICAgIGlmIChvcHRpb25zLmJnY29sb3IpIGNsb25lLnN0eWxlLmJhY2tncm91bmRDb2xvciA9IG9wdGlvbnMuYmdjb2xvcjtcblxuICAgICAgaWYgKG9wdGlvbnMud2lkdGgpIGNsb25lLnN0eWxlLndpZHRoID0gb3B0aW9ucy53aWR0aCArICdweCc7XG4gICAgICBpZiAob3B0aW9ucy5oZWlnaHQpIGNsb25lLnN0eWxlLmhlaWdodCA9IG9wdGlvbnMuaGVpZ2h0ICsgJ3B4JztcblxuICAgICAgaWYgKG9wdGlvbnMuc3R5bGUpXG4gICAgICAgIE9iamVjdC5rZXlzKG9wdGlvbnMuc3R5bGUpLmZvckVhY2goZnVuY3Rpb24gKHByb3BlcnR5KSB7XG4gICAgICAgICAgY2xvbmUuc3R5bGVbcHJvcGVydHldID0gb3B0aW9ucy5zdHlsZVtwcm9wZXJ0eV07XG4gICAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gY2xvbmU7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gdG9TdmdXaXRoQ2xvbmVkRG9tKG5vZGUsIGNsb25lLCBvcHRpb25zKSB7XG4gICAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG4gICAgY29weU9wdGlvbnMob3B0aW9ucyk7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShjbG9uZSlcbiAgICAgIC50aGVuKGVtYmVkRm9udHMpXG4gICAgICAudGhlbihpbmxpbmVJbWFnZXMpXG4gICAgICAudGhlbihhcHBseU9wdGlvbnMpXG4gICAgICAudGhlbihmdW5jdGlvbiAoY2xvbmUpIHtcbiAgICAgICAgcmV0dXJuIG1ha2VTdmdEYXRhVXJpKGNsb25lLFxuICAgICAgICAgIG9wdGlvbnMud2lkdGggKiAyLFxuICAgICAgICAgIG9wdGlvbnMuaGVpZ2h0ICogMlxuICAgICAgICApO1xuICAgICAgfSk7XG5cbiAgICBmdW5jdGlvbiBhcHBseU9wdGlvbnMoY2xvbmUpIHtcbiAgICAgIGlmIChvcHRpb25zLmJnY29sb3IpIGNsb25lLnN0eWxlLmJhY2tncm91bmRDb2xvciA9IG9wdGlvbnMuYmdjb2xvcjtcblxuICAgICAgaWYgKG9wdGlvbnMud2lkdGgpIGNsb25lLnN0eWxlLndpZHRoID0gb3B0aW9ucy53aWR0aCArICdweCc7XG4gICAgICBpZiAob3B0aW9ucy5oZWlnaHQpIGNsb25lLnN0eWxlLmhlaWdodCA9IG9wdGlvbnMuaGVpZ2h0ICsgJ3B4JztcblxuICAgICAgaWYgKG9wdGlvbnMuc3R5bGUpXG4gICAgICAgIE9iamVjdC5rZXlzKG9wdGlvbnMuc3R5bGUpLmZvckVhY2goZnVuY3Rpb24gKHByb3BlcnR5KSB7XG4gICAgICAgICAgY2xvbmUuc3R5bGVbcHJvcGVydHldID0gb3B0aW9ucy5zdHlsZVtwcm9wZXJ0eV07XG4gICAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gY2xvbmU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7Tm9kZX0gbm9kZSAtIFRoZSBET00gTm9kZSBvYmplY3QgdG8gcmVuZGVyXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIC0gUmVuZGVyaW5nIG9wdGlvbnMsIEBzZWUge0BsaW5rIHRvU3ZnfVxuICAgKiBAcmV0dXJuIHtQcm9taXNlfSAtIEEgcHJvbWlzZSB0aGF0IGlzIGZ1bGZpbGxlZCB3aXRoIGEgVWludDhBcnJheSBjb250YWluaW5nIFJHQkEgcGl4ZWwgZGF0YS5cbiAgICogKi9cbiAgZnVuY3Rpb24gdG9QaXhlbERhdGEobm9kZSwgb3B0aW9ucykge1xuICAgIHJldHVybiBkcmF3KG5vZGUsIG9wdGlvbnMgfHwge30pXG4gICAgICAudGhlbihmdW5jdGlvbiAoY2FudmFzKSB7XG4gICAgICAgIHJldHVybiBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKS5nZXRJbWFnZURhdGEoXG4gICAgICAgICAgMCxcbiAgICAgICAgICAwLFxuICAgICAgICAgIHV0aWwud2lkdGgobm9kZSksXG4gICAgICAgICAgdXRpbC5oZWlnaHQobm9kZSlcbiAgICAgICAgKS5kYXRhO1xuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtOb2RlfSBub2RlIC0gVGhlIERPTSBOb2RlIG9iamVjdCB0byByZW5kZXJcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBSZW5kZXJpbmcgb3B0aW9ucywgQHNlZSB7QGxpbmsgdG9Tdmd9XG4gICAqIEByZXR1cm4ge1Byb21pc2V9IC0gQSBwcm9taXNlIHRoYXQgaXMgZnVsZmlsbGVkIHdpdGggYSBQTkcgaW1hZ2UgZGF0YSBVUkxcbiAgICogKi9cbiAgZnVuY3Rpb24gdG9Qbmcobm9kZSwgb3B0aW9ucykge1xuICAgIHJldHVybiBkcmF3KG5vZGUsIG9wdGlvbnMgfHwge30pXG4gICAgICAudGhlbihmdW5jdGlvbiAoY2FudmFzKSB7XG4gICAgICAgIHJldHVybiBjYW52YXMudG9EYXRhVVJMKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge05vZGV9IG5vZGUgLSBUaGUgRE9NIE5vZGUgb2JqZWN0IHRvIHJlbmRlclxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyAtIFJlbmRlcmluZyBvcHRpb25zLCBAc2VlIHtAbGluayB0b1N2Z31cbiAgICogQHJldHVybiB7UHJvbWlzZX0gLSBBIHByb21pc2UgdGhhdCBpcyBmdWxmaWxsZWQgd2l0aCBhIEpQRUcgaW1hZ2UgZGF0YSBVUkxcbiAgICogKi9cbiAgZnVuY3Rpb24gdG9KcGVnKG5vZGUsIG9wdGlvbnMpIHtcbiAgICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcbiAgICByZXR1cm4gZHJhdyhub2RlLCBvcHRpb25zKVxuICAgICAgLnRoZW4oZnVuY3Rpb24gKGNhbnZhcykge1xuICAgICAgICByZXR1cm4gY2FudmFzLnRvRGF0YVVSTCgnaW1hZ2UvanBlZycsIG9wdGlvbnMucXVhbGl0eSB8fCAxLjApO1xuICAgICAgfSk7XG4gIH1cblxuICBmdW5jdGlvbiB0b0pwZWdXaXRoQ2xvbmVkRG9tKG5vZGUsIGNsb25lICwgb3B0aW9ucykge1xuICAgIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuICAgIHJldHVybiBkcmF3V2l0aENsb25lZERvbShub2RlLCBjbG9uZSwgb3B0aW9ucylcbiAgICAgIC50aGVuKGZ1bmN0aW9uIChjYW52YXMpIHtcbiAgICAgICAgcmV0dXJuIGNhbnZhcy50b0RhdGFVUkwoJ2ltYWdlL2pwZWcnLCBvcHRpb25zLnF1YWxpdHkgfHwgMS4wKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7Tm9kZX0gbm9kZSAtIFRoZSBET00gTm9kZSBvYmplY3QgdG8gcmVuZGVyXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIC0gUmVuZGVyaW5nIG9wdGlvbnMsIEBzZWUge0BsaW5rIHRvU3ZnfVxuICAgKiBAcmV0dXJuIHtQcm9taXNlfSAtIEEgcHJvbWlzZSB0aGF0IGlzIGZ1bGZpbGxlZCB3aXRoIGEgUE5HIGltYWdlIGJsb2JcbiAgICogKi9cbiAgZnVuY3Rpb24gdG9CbG9iKG5vZGUsIG9wdGlvbnMpIHtcbiAgICByZXR1cm4gZHJhdyhub2RlLCBvcHRpb25zIHx8IHt9KVxuICAgICAgLnRoZW4oZnVuY3Rpb24gKGNhbnZhcykge1xuICAgICAgICByZXR1cm4gdXRpbC5jYW52YXNUb0Jsb2IoY2FudmFzLCBvcHRpb25zKTtcbiAgICAgIH0pO1xuICB9XG5cblxuICBmdW5jdGlvbiB0b0Jsb2JXaXRoQ2xvbmVkRG9tKG5vZGUsIGNsb25lLCBvcHRpb25zKSB7XG4gICAgcmV0dXJuIGRyYXdXaXRoQ2xvbmVkRG9tKG5vZGUsIGNsb25lLCBvcHRpb25zIHx8IHt9KVxuICAgICAgLnRoZW4oZnVuY3Rpb24gKGNhbnZhcykge1xuICAgICAgICByZXR1cm4gdXRpbC5jYW52YXNUb0Jsb2IoY2FudmFzLCBvcHRpb25zKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgZnVuY3Rpb24gY29weU9wdGlvbnMob3B0aW9ucykge1xuICAgIC8vIENvcHkgb3B0aW9ucyB0byBpbXBsIG9wdGlvbnMgZm9yIHVzZSBpbiBpbXBsXG4gICAgaWYgKHR5cGVvZiAob3B0aW9ucy5pbWFnZVBsYWNlaG9sZGVyKSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGRvbXRvaW1hZ2UuaW1wbC5vcHRpb25zLmltYWdlUGxhY2Vob2xkZXIgPSBkZWZhdWx0T3B0aW9ucy5pbWFnZVBsYWNlaG9sZGVyO1xuICAgIH0gZWxzZSB7XG4gICAgICBkb210b2ltYWdlLmltcGwub3B0aW9ucy5pbWFnZVBsYWNlaG9sZGVyID0gb3B0aW9ucy5pbWFnZVBsYWNlaG9sZGVyO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgKG9wdGlvbnMuY2FjaGVCdXN0KSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGRvbXRvaW1hZ2UuaW1wbC5vcHRpb25zLmNhY2hlQnVzdCA9IGRlZmF1bHRPcHRpb25zLmNhY2hlQnVzdDtcbiAgICB9IGVsc2Uge1xuICAgICAgZG9tdG9pbWFnZS5pbXBsLm9wdGlvbnMuY2FjaGVCdXN0ID0gb3B0aW9ucy5jYWNoZUJ1c3Q7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gZHJhdyhkb21Ob2RlLCBvcHRpb25zKSB7XG4gICAgcmV0dXJuIHRvU3ZnKGRvbU5vZGUsIG9wdGlvbnMpXG4gICAgICAudGhlbih1dGlsLm1ha2VJbWFnZSlcbiAgICAgIC50aGVuKHV0aWwuZGVsYXkoMTAwKSlcbiAgICAgIC50aGVuKGZ1bmN0aW9uIChpbWFnZSkge1xuICAgICAgICB2YXIgY2FudmFzID0gbmV3Q2FudmFzKGRvbU5vZGUpO1xuICAgICAgICBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKS5kcmF3SW1hZ2UoaW1hZ2UsIDAsIDApO1xuICAgICAgICByZXR1cm4gY2FudmFzO1xuICAgICAgfSk7XG5cbiAgICBmdW5jdGlvbiBuZXdDYW52YXMoZG9tTm9kZSkge1xuICAgICAgdmFyIGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuICAgICAgY2FudmFzLndpZHRoID0gb3B0aW9ucy53aWR0aCB8fCB1dGlsLndpZHRoKGRvbU5vZGUpO1xuICAgICAgY2FudmFzLmhlaWdodCA9IG9wdGlvbnMuaGVpZ2h0IHx8IHV0aWwuaGVpZ2h0KGRvbU5vZGUpO1xuXG4gICAgICBpZiAob3B0aW9ucy5iZ2NvbG9yKSB7XG4gICAgICAgIHZhciBjdHggPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKTtcbiAgICAgICAgY3R4LmZpbGxTdHlsZSA9IG9wdGlvbnMuYmdjb2xvcjtcbiAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIGNhbnZhcy53aWR0aCwgY2FudmFzLmhlaWdodCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gY2FudmFzO1xuICAgIH1cbiAgfVxuICBmdW5jdGlvbiBkcmF3V2l0aENsb25lZERvbShkb21Ob2RlLCBjbG9uZSwgb3B0aW9ucykge1xuICAgIHJldHVybiB0b1N2Z1dpdGhDbG9uZWREb20oZG9tTm9kZSwgY2xvbmUsIG9wdGlvbnMpXG4gICAgICAudGhlbih1dGlsLm1ha2VJbWFnZSlcbiAgICAgIC50aGVuKHV0aWwuZGVsYXkoMTAwKSlcbiAgICAgIC50aGVuKGZ1bmN0aW9uIChpbWFnZSkge1xuICAgICAgICB2YXIgY2FudmFzID0gbmV3Q2FudmFzKCk7XG4gICAgICAgIGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpLmRyYXdJbWFnZShpbWFnZSwgMCwgMCwgb3B0aW9ucy53aWR0aCAqIDIsIG9wdGlvbnMuaGVpZ2h0ICogMik7XG4gICAgICAgIHJldHVybiBjYW52YXM7XG4gICAgICB9KTtcblxuICAgIGZ1bmN0aW9uIG5ld0NhbnZhcygpIHtcbiAgICAgIHZhciBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcbiAgICAgIGNhbnZhcy53aWR0aCA9IG9wdGlvbnMud2lkdGg7XG4gICAgICBjYW52YXMuaGVpZ2h0ID0gb3B0aW9ucy5oZWlnaHQ7XG5cbiAgICAgIGlmIChvcHRpb25zLmJnY29sb3IpIHtcbiAgICAgICAgdmFyIGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xuICAgICAgICBjdHguZmlsbFN0eWxlID0gb3B0aW9ucy5iZ2NvbG9yO1xuICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgY2FudmFzLndpZHRoLCBjYW52YXMuaGVpZ2h0KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNhbnZhcztcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBjbG9uZU5vZGUobm9kZSwgZmlsdGVyLCByb290KSB7XG4gICAgaWYgKCFyb290ICYmIGZpbHRlciAmJiAhZmlsdGVyKG5vZGUpKSByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG5cbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG5vZGUpXG4gICAgICAudGhlbihtYWtlTm9kZUNvcHkpXG4gICAgICAudGhlbihmdW5jdGlvbiAoY2xvbmUpIHtcbiAgICAgICAgcmV0dXJuIGNsb25lQ2hpbGRyZW4obm9kZSwgY2xvbmUsIGZpbHRlcik7XG4gICAgICB9KVxuICAgICAgLnRoZW4oZnVuY3Rpb24gKGNsb25lKSB7XG4gICAgICAgIHJldHVybiBwcm9jZXNzQ2xvbmUobm9kZSwgY2xvbmUpO1xuICAgICAgfSk7XG4gICAgZnVuY3Rpb24gbWFrZU5vZGVDb3B5KG5vZGUpIHtcbiAgICAgIGlmIChub2RlIGluc3RhbmNlb2YgSFRNTENhbnZhc0VsZW1lbnQpIHJldHVybiB1dGlsLm1ha2VJbWFnZShub2RlLnRvRGF0YVVSTCgpKTtcbiAgICAgIHJldHVybiBub2RlLmNsb25lTm9kZShmYWxzZSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gY2xvbmVDaGlsZHJlbihvcmlnaW5hbCwgY2xvbmUsIGZpbHRlcikge1xuICAgICAgdmFyIGNoaWxkcmVuID0gb3JpZ2luYWwuY2hpbGROb2RlcztcbiAgICAgIGlmIChjaGlsZHJlbi5sZW5ndGggPT09IDApIHJldHVybiBQcm9taXNlLnJlc29sdmUoY2xvbmUpO1xuXG4gICAgICByZXR1cm4gY2xvbmVDaGlsZHJlbkluT3JkZXIoY2xvbmUsIHV0aWwuYXNBcnJheShjaGlsZHJlbiksIGZpbHRlcilcbiAgICAgICAgLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICAgIHJldHVybiBjbG9uZTtcbiAgICAgICAgfSk7XG5cbiAgICAgIGZ1bmN0aW9uIGNsb25lQ2hpbGRyZW5Jbk9yZGVyKHBhcmVudCwgY2hpbGRyZW4sIGZpbHRlcikge1xuICAgICAgICB2YXIgZG9uZSA9IFByb21pc2UucmVzb2x2ZSgpO1xuICAgICAgICBjaGlsZHJlbi5mb3JFYWNoKGZ1bmN0aW9uIChjaGlsZCkge1xuICAgICAgICAgIGRvbmUgPSBkb25lXG4gICAgICAgICAgICAudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgIHJldHVybiBjbG9uZU5vZGUoY2hpbGQsIGZpbHRlcik7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24gKGNoaWxkQ2xvbmUpIHtcbiAgICAgICAgICAgICAgaWYgKGNoaWxkQ2xvbmUpIHBhcmVudC5hcHBlbmRDaGlsZChjaGlsZENsb25lKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGRvbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gcHJvY2Vzc0Nsb25lKG9yaWdpbmFsLCBjbG9uZSkge1xuICAgICAgaWYgKCEoY2xvbmUgaW5zdGFuY2VvZiBFbGVtZW50KSkgcmV0dXJuIGNsb25lO1xuXG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKClcbiAgICAgICAgLnRoZW4oY2xvbmVTdHlsZSlcbiAgICAgICAgLnRoZW4oY2xvbmVQc2V1ZG9FbGVtZW50cylcbiAgICAgICAgLnRoZW4oY29weVVzZXJJbnB1dClcbiAgICAgICAgLnRoZW4oZml4U3ZnKVxuICAgICAgICAudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgcmV0dXJuIGNsb25lO1xuICAgICAgICB9KTtcblxuICAgICAgZnVuY3Rpb24gY2xvbmVTdHlsZSgpIHtcbiAgICAgICAgY29weVN0eWxlKHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKG9yaWdpbmFsKSwgY2xvbmUuc3R5bGUgfHwge30pO1xuXG4gICAgICAgIGZ1bmN0aW9uIGNvcHlTdHlsZShzb3VyY2UsIHRhcmdldCkge1xuICAgICAgICAgIGlmIChzb3VyY2UuY3NzVGV4dCkgdGFyZ2V0LmNzc1RleHQgPSBzb3VyY2UuY3NzVGV4dDtcbiAgICAgICAgICBlbHNlIGNvcHlQcm9wZXJ0aWVzKHNvdXJjZSwgdGFyZ2V0KTtcblxuICAgICAgICAgIGZ1bmN0aW9uIGNvcHlQcm9wZXJ0aWVzKHNvdXJjZSwgdGFyZ2V0KSB7XG4gICAgICAgICAgICBpZiAodGFyZ2V0LnNldFByb3BlcnR5KSB7XG4gICAgICAgICAgICAgIHV0aWwuYXNBcnJheShzb3VyY2UpLmZvckVhY2goZnVuY3Rpb24gKG5hbWUpIHtcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2V0UHJvcGVydHkoXG4gICAgICAgICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgICAgICAgc291cmNlLmdldFByb3BlcnR5VmFsdWUobmFtZSksXG4gICAgICAgICAgICAgICAgICBzb3VyY2UuZ2V0UHJvcGVydHlQcmlvcml0eShuYW1lKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBjbG9uZVBzZXVkb0VsZW1lbnRzKCkge1xuICAgICAgICBbJzpiZWZvcmUnLCAnOmFmdGVyJ10uZm9yRWFjaChmdW5jdGlvbiAoZWxlbWVudCkge1xuICAgICAgICAgIGNsb25lUHNldWRvRWxlbWVudChlbGVtZW50KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZnVuY3Rpb24gY2xvbmVQc2V1ZG9FbGVtZW50KGVsZW1lbnQpIHtcbiAgICAgICAgICB2YXIgc3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShvcmlnaW5hbCwgZWxlbWVudCk7XG4gICAgICAgICAgdmFyIGNvbnRlbnQgPSBzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdjb250ZW50Jyk7XG5cbiAgICAgICAgICBpZiAoY29udGVudCA9PT0gJycgfHwgY29udGVudCA9PT0gJ25vbmUnKSByZXR1cm47XG5cbiAgICAgICAgICB2YXIgY2xhc3NOYW1lID0gdXRpbC51aWQoKTtcbiAgICAgICAgICBjbG9uZS5jbGFzc05hbWUgPSBjbG9uZS5jbGFzc05hbWUgKyAnICcgKyBjbGFzc05hbWU7XG4gICAgICAgICAgdmFyIHN0eWxlRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XG4gICAgICAgICAgc3R5bGVFbGVtZW50LmFwcGVuZENoaWxkKGZvcm1hdFBzZXVkb0VsZW1lbnRTdHlsZShjbGFzc05hbWUsIGVsZW1lbnQsIHN0eWxlKSk7XG4gICAgICAgICAgY2xvbmUuYXBwZW5kQ2hpbGQoc3R5bGVFbGVtZW50KTtcblxuICAgICAgICAgIGZ1bmN0aW9uIGZvcm1hdFBzZXVkb0VsZW1lbnRTdHlsZShjbGFzc05hbWUsIGVsZW1lbnQsIHN0eWxlKSB7XG4gICAgICAgICAgICB2YXIgc2VsZWN0b3IgPSAnLicgKyBjbGFzc05hbWUgKyAnOicgKyBlbGVtZW50O1xuICAgICAgICAgICAgdmFyIGNzc1RleHQgPSBzdHlsZS5jc3NUZXh0ID8gZm9ybWF0Q3NzVGV4dChzdHlsZSkgOiBmb3JtYXRDc3NQcm9wZXJ0aWVzKHN0eWxlKTtcbiAgICAgICAgICAgIHJldHVybiBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShzZWxlY3RvciArICd7JyArIGNzc1RleHQgKyAnfScpO1xuXG4gICAgICAgICAgICBmdW5jdGlvbiBmb3JtYXRDc3NUZXh0KHN0eWxlKSB7XG4gICAgICAgICAgICAgIHZhciBjb250ZW50ID0gc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnY29udGVudCcpO1xuICAgICAgICAgICAgICByZXR1cm4gc3R5bGUuY3NzVGV4dCArICcgY29udGVudDogJyArIGNvbnRlbnQgKyAnOyc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZ1bmN0aW9uIGZvcm1hdENzc1Byb3BlcnRpZXMoc3R5bGUpIHtcblxuICAgICAgICAgICAgICByZXR1cm4gdXRpbC5hc0FycmF5KHN0eWxlKVxuICAgICAgICAgICAgICAgIC5tYXAoZm9ybWF0UHJvcGVydHkpXG4gICAgICAgICAgICAgICAgLmpvaW4oJzsgJykgKyAnOyc7XG5cbiAgICAgICAgICAgICAgZnVuY3Rpb24gZm9ybWF0UHJvcGVydHkobmFtZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBuYW1lICsgJzogJyArXG4gICAgICAgICAgICAgICAgICBzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKG5hbWUpICtcbiAgICAgICAgICAgICAgICAgIChzdHlsZS5nZXRQcm9wZXJ0eVByaW9yaXR5KG5hbWUpID8gJyAhaW1wb3J0YW50JyA6ICcnKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBjb3B5VXNlcklucHV0KCkge1xuICAgICAgICBpZiAob3JpZ2luYWwgaW5zdGFuY2VvZiBIVE1MVGV4dEFyZWFFbGVtZW50KSBjbG9uZS5pbm5lckhUTUwgPSBvcmlnaW5hbC52YWx1ZTtcbiAgICAgICAgaWYgKG9yaWdpbmFsIGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudCkgY2xvbmUuc2V0QXR0cmlidXRlKFwidmFsdWVcIiwgb3JpZ2luYWwudmFsdWUpO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBmaXhTdmcoKSB7XG4gICAgICAgIGlmICghKGNsb25lIGluc3RhbmNlb2YgU1ZHRWxlbWVudCkpIHJldHVybjtcbiAgICAgICAgY2xvbmUuc2V0QXR0cmlidXRlKCd4bWxucycsICdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycpO1xuXG4gICAgICAgIGlmICghKGNsb25lIGluc3RhbmNlb2YgU1ZHUmVjdEVsZW1lbnQpKSByZXR1cm47XG4gICAgICAgIFsnd2lkdGgnLCAnaGVpZ2h0J10uZm9yRWFjaChmdW5jdGlvbiAoYXR0cmlidXRlKSB7XG4gICAgICAgICAgdmFyIHZhbHVlID0gY2xvbmUuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZSk7XG4gICAgICAgICAgaWYgKCF2YWx1ZSkgcmV0dXJuO1xuXG4gICAgICAgICAgY2xvbmUuc3R5bGUuc2V0UHJvcGVydHkoYXR0cmlidXRlLCB2YWx1ZSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGVtYmVkRm9udHMobm9kZSkge1xuICAgIHJldHVybiBmb250RmFjZXMucmVzb2x2ZUFsbCgpXG4gICAgICAudGhlbihmdW5jdGlvbiAoY3NzVGV4dCkge1xuICAgICAgICB2YXIgc3R5bGVOb2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcbiAgICAgICAgbm9kZS5hcHBlbmRDaGlsZChzdHlsZU5vZGUpO1xuICAgICAgICBzdHlsZU5vZGUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoY3NzVGV4dCkpO1xuICAgICAgICByZXR1cm4gbm9kZTtcbiAgICAgIH0pO1xuICB9XG5cbiAgZnVuY3Rpb24gaW5saW5lSW1hZ2VzKG5vZGUpIHtcbiAgICByZXR1cm4gaW1hZ2VzLmlubGluZUFsbChub2RlKVxuICAgICAgLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gbm9kZTtcbiAgICAgIH0pO1xuICB9XG5cbiAgZnVuY3Rpb24gbWFrZVN2Z0RhdGFVcmkobm9kZSwgd2lkdGgsIGhlaWdodCkge1xuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUobm9kZSlcbiAgICAgIC50aGVuKGZ1bmN0aW9uIChub2RlKSB7XG4gICAgICAgIG5vZGUuc2V0QXR0cmlidXRlKCd4bWxucycsICdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sJyk7XG4gICAgICAgIHJldHVybiBuZXcgWE1MU2VyaWFsaXplcigpLnNlcmlhbGl6ZVRvU3RyaW5nKG5vZGUpO1xuICAgICAgfSlcbiAgICAgIC50aGVuKHV0aWwuZXNjYXBlWGh0bWwpXG4gICAgICAudGhlbihmdW5jdGlvbiAoeGh0bWwpIHtcbiAgICAgICAgcmV0dXJuICc8Zm9yZWlnbk9iamVjdCB4PVwiMFwiIHk9XCIwXCIgd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PVwiMTAwJVwiPicgKyB4aHRtbCArICc8L2ZvcmVpZ25PYmplY3Q+JztcbiAgICAgIH0pXG4gICAgICAudGhlbihmdW5jdGlvbiAoZm9yZWlnbk9iamVjdCkge1xuICAgICAgICByZXR1cm4gJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiJyArIHdpZHRoICsgJ1wiIGhlaWdodD1cIicgKyBoZWlnaHQgKyAnXCI+JyArXG4gICAgICAgICAgZm9yZWlnbk9iamVjdCArICc8L3N2Zz4nO1xuICAgICAgfSlcbiAgICAgIC50aGVuKGZ1bmN0aW9uIChzdmcpIHtcbiAgICAgICAgcmV0dXJuICdkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwnICsgc3ZnO1xuICAgICAgfSk7XG4gIH1cblxuICBmdW5jdGlvbiBuZXdVdGlsKCkge1xuICAgIHJldHVybiB7XG4gICAgICBlc2NhcGU6IGVzY2FwZSxcbiAgICAgIHBhcnNlRXh0ZW5zaW9uOiBwYXJzZUV4dGVuc2lvbixcbiAgICAgIG1pbWVUeXBlOiBtaW1lVHlwZSxcbiAgICAgIGRhdGFBc1VybDogZGF0YUFzVXJsLFxuICAgICAgaXNEYXRhVXJsOiBpc0RhdGFVcmwsXG4gICAgICBjYW52YXNUb0Jsb2I6IGNhbnZhc1RvQmxvYixcbiAgICAgIHJlc29sdmVVcmw6IHJlc29sdmVVcmwsXG4gICAgICBnZXRBbmRFbmNvZGU6IGdldEFuZEVuY29kZSxcbiAgICAgIHVpZDogdWlkKCksXG4gICAgICBkZWxheTogZGVsYXksXG4gICAgICBhc0FycmF5OiBhc0FycmF5LFxuICAgICAgZXNjYXBlWGh0bWw6IGVzY2FwZVhodG1sLFxuICAgICAgbWFrZUltYWdlOiBtYWtlSW1hZ2UsXG4gICAgICB3aWR0aDogd2lkdGgsXG4gICAgICBoZWlnaHQ6IGhlaWdodFxuICAgIH07XG5cbiAgICBmdW5jdGlvbiBtaW1lcygpIHtcbiAgICAgIC8qXG4gICAgICAgKiBPbmx5IFdPRkYgYW5kIEVPVCBtaW1lIHR5cGVzIGZvciBmb250cyBhcmUgJ3JlYWwnXG4gICAgICAgKiBzZWUgaHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9tZWRpYS10eXBlcy9tZWRpYS10eXBlcy54aHRtbFxuICAgICAgICovXG4gICAgICB2YXIgV09GRiA9ICdhcHBsaWNhdGlvbi9mb250LXdvZmYnO1xuICAgICAgdmFyIEpQRUcgPSAnaW1hZ2UvanBlZyc7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgICd3b2ZmJzogV09GRixcbiAgICAgICAgJ3dvZmYyJzogV09GRixcbiAgICAgICAgJ3R0Zic6ICdhcHBsaWNhdGlvbi9mb250LXRydWV0eXBlJyxcbiAgICAgICAgJ2VvdCc6ICdhcHBsaWNhdGlvbi92bmQubXMtZm9udG9iamVjdCcsXG4gICAgICAgICdwbmcnOiAnaW1hZ2UvcG5nJyxcbiAgICAgICAgJ2pwZyc6IEpQRUcsXG4gICAgICAgICdqcGVnJzogSlBFRyxcbiAgICAgICAgJ2dpZic6ICdpbWFnZS9naWYnLFxuICAgICAgICAndGlmZic6ICdpbWFnZS90aWZmJyxcbiAgICAgICAgJ3N2Zyc6ICdpbWFnZS9zdmcreG1sJ1xuICAgICAgfTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBwYXJzZUV4dGVuc2lvbih1cmwpIHtcbiAgICAgIHZhciBtYXRjaCA9IC9cXC4oW15cXC5cXC9dKj8pJC9nLmV4ZWModXJsKTtcbiAgICAgIGlmIChtYXRjaCkgcmV0dXJuIG1hdGNoWzFdO1xuICAgICAgZWxzZSByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gbWltZVR5cGUodXJsKSB7XG4gICAgICB2YXIgZXh0ZW5zaW9uID0gcGFyc2VFeHRlbnNpb24odXJsKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgcmV0dXJuIG1pbWVzKClbZXh0ZW5zaW9uXSB8fCAnJztcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBpc0RhdGFVcmwodXJsKSB7XG4gICAgICByZXR1cm4gdXJsLnNlYXJjaCgvXihkYXRhOikvKSAhPT0gLTE7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdG9CbG9iKGNhbnZhcywgb3B0aW9ucykge1xuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlKSB7XG4gICAgICAgIHZhciBiaW5hcnlTdHJpbmcgPSB3aW5kb3cuYXRvYihjYW52YXMudG9EYXRhVVJMKCdpbWFnZS9qcGVnJywgb3B0aW9ucy5xdWFsaXR5IHx8IDEuMCkuc3BsaXQoJywnKVsxXSk7XG4gICAgICAgIHZhciBsZW5ndGggPSBiaW5hcnlTdHJpbmcubGVuZ3RoO1xuICAgICAgICB2YXIgYmluYXJ5QXJyYXkgPSBuZXcgVWludDhBcnJheShsZW5ndGgpO1xuXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspXG4gICAgICAgICAgYmluYXJ5QXJyYXlbaV0gPSBiaW5hcnlTdHJpbmcuY2hhckNvZGVBdChpKTtcblxuICAgICAgICByZXNvbHZlKG5ldyBCbG9iKFtiaW5hcnlBcnJheV0sIHtcbiAgICAgICAgICB0eXBlOiAnaW1hZ2UvanBlZydcbiAgICAgICAgfSkpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gY2FudmFzVG9CbG9iKGNhbnZhcywgb3B0aW9ucykge1xuICAgICAgaWYgKGNhbnZhcy50b0Jsb2IpXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSkge1xuICAgICAgICAgIGNhbnZhcy50b0Jsb2IocmVzb2x2ZSwgJ2ltYWdlL2pwZycsIG9wdGlvbnMucXVhbGl0eSB8fCAxLjApO1xuICAgICAgICB9KTtcblxuICAgICAgcmV0dXJuIHRvQmxvYihjYW52YXMsIG9wdGlvbnMpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHJlc29sdmVVcmwodXJsLCBiYXNlVXJsKSB7XG4gICAgICB2YXIgZG9jID0gZG9jdW1lbnQuaW1wbGVtZW50YXRpb24uY3JlYXRlSFRNTERvY3VtZW50KCk7XG4gICAgICB2YXIgYmFzZSA9IGRvYy5jcmVhdGVFbGVtZW50KCdiYXNlJyk7XG4gICAgICBkb2MuaGVhZC5hcHBlbmRDaGlsZChiYXNlKTtcbiAgICAgIHZhciBhID0gZG9jLmNyZWF0ZUVsZW1lbnQoJ2EnKTtcbiAgICAgIGRvYy5ib2R5LmFwcGVuZENoaWxkKGEpO1xuICAgICAgYmFzZS5ocmVmID0gYmFzZVVybDtcbiAgICAgIGEuaHJlZiA9IHVybDtcbiAgICAgIHJldHVybiBhLmhyZWY7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdWlkKCkge1xuICAgICAgdmFyIGluZGV4ID0gMDtcblxuICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuICd1JyArIGZvdXJSYW5kb21DaGFycygpICsgaW5kZXgrKztcblxuICAgICAgICBmdW5jdGlvbiBmb3VyUmFuZG9tQ2hhcnMoKSB7XG4gICAgICAgICAgLyogc2VlIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9hLzYyNDg3MjIvMjUxOTM3MyAqL1xuICAgICAgICAgIHJldHVybiAoJzAwMDAnICsgKE1hdGgucmFuZG9tKCkgKiBNYXRoLnBvdygzNiwgNCkgPDwgMCkudG9TdHJpbmcoMzYpKS5zbGljZSgtNCk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gbWFrZUltYWdlKHVyaSkge1xuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgdmFyIGltYWdlID0gbmV3IEltYWdlKCk7XG4gICAgICAgIGltYWdlLm9ubG9hZCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICByZXNvbHZlKGltYWdlKTtcbiAgICAgICAgfTtcbiAgICAgICAgaW1hZ2Uub25lcnJvciA9IHJlc29sdmU7XG4gICAgICAgIGltYWdlLnNyYyA9IHVyaTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGdldEFuZEVuY29kZSh1cmwpIHtcbiAgICAgIHZhciBUSU1FT1VUID0gMzAwMDA7XG4gICAgICBpZiAoZG9tdG9pbWFnZS5pbXBsLm9wdGlvbnMuY2FjaGVCdXN0KSB7XG4gICAgICAgIC8vIENhY2hlIGJ5cGFzcyBzbyB3ZSBkb250IGhhdmUgQ09SUyBpc3N1ZXMgd2l0aCBjYWNoZWQgaW1hZ2VzXG4gICAgICAgIC8vIFNvdXJjZTogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4vZG9jcy9XZWIvQVBJL1hNTEh0dHBSZXF1ZXN0L1VzaW5nX1hNTEh0dHBSZXF1ZXN0I0J5cGFzc2luZ190aGVfY2FjaGVcbiAgICAgICAgdXJsICs9ICgoL1xcPy8pLnRlc3QodXJsKSA/IFwiJlwiIDogXCI/XCIpICsgKG5ldyBEYXRlKCkpLmdldFRpbWUoKTtcbiAgICAgIH1cbiAgICAgIGlmICgvXmh0dHAvLnRlc3QodXJsKSkge1xuICAgICAgICByZXR1cm4gcmVxdWVzdFVybCh7XG4gICAgICAgICAgdXJsLFxuICAgICAgICAgIG1ldGhvZDogJ0dFVCdcbiAgICAgICAgfSkudGhlbihkYXRhID0+IHtcbiAgICAgICAgICBsZXQgYmluYXJ5ID0gJyc7XG4gICAgICAgICAgY29uc3QgYnl0ZXMgPSBuZXcgVWludDhBcnJheShkYXRhLmFycmF5QnVmZmVyKTtcbiAgICAgICAgICBjb25zdCBsZW4gPSBieXRlcy5ieXRlTGVuZ3RoO1xuICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgICAgICAgICAgYmluYXJ5ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoYnl0ZXNbaV0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gd2luZG93LmJ0b2EoIGJpbmFyeSApO1xuICAgICAgICAgIC8vIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHtcbiAgICAgICAgICAvLyBjb25zdCBlbmNvZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgICAvLyBlbmNvZGVyLm9ubG9hZGVuZCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAvLyAgIGNvbnN0IGNvbnRlbnQgPSBlbmNvZGVyLnJlc3VsdC5zcGxpdCgvLC8pWzFdO1xuICAgICAgICAgIC8vICAgcmVzb2x2ZShjb250ZW50KTtcbiAgICAgICAgICAvLyB9O1xuICAgICAgICAgIC8vICAgZGVidWdnZXI7XG4gICAgICAgICAgLy8gZW5jb2Rlci5yZWFkQXNEYXRhVVJMKGRhdGEpO1xuICAgICAgICAgIC8vIH0pO1xuICAgICAgICB9KS5jYXRjaChlcnIgPT4ge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ2Nhbm5vdCBmZXRjaCByZXNvdXJjZTogJyArIHVybCArICcsIGVycm9yOiAnICsgZXJyKTtcbiAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUpIHtcbiAgICAgICAgdmFyIHJlcXVlc3QgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcblxuICAgICAgICByZXF1ZXN0Lm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGRvbmU7XG4gICAgICAgIHJlcXVlc3Qub250aW1lb3V0ID0gdGltZW91dDtcbiAgICAgICAgcmVxdWVzdC5yZXNwb25zZVR5cGUgPSAnYmxvYic7XG4gICAgICAgIHJlcXVlc3QudGltZW91dCA9IFRJTUVPVVQ7XG4gICAgICAgIHJlcXVlc3Qub3BlbignR0VUJywgdXJsLCB0cnVlKTtcbiAgICAgICAgcmVxdWVzdC5zZW5kKCk7XG5cbiAgICAgICAgdmFyIHBsYWNlaG9sZGVyO1xuICAgICAgICBpZiAoZG9tdG9pbWFnZS5pbXBsLm9wdGlvbnMuaW1hZ2VQbGFjZWhvbGRlcikge1xuICAgICAgICAgIHZhciBzcGxpdCA9IGRvbXRvaW1hZ2UuaW1wbC5vcHRpb25zLmltYWdlUGxhY2Vob2xkZXIuc3BsaXQoLywvKTtcbiAgICAgICAgICBpZiAoc3BsaXQgJiYgc3BsaXRbMV0pIHtcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyID0gc3BsaXRbMV07XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgZnVuY3Rpb24gZG9uZSgpIHtcbiAgICAgICAgICBpZiAocmVxdWVzdC5yZWFkeVN0YXRlICE9PSA0KSByZXR1cm47XG5cbiAgICAgICAgICBpZiAocmVxdWVzdC5zdGF0dXMgIT09IDIwMCkge1xuICAgICAgICAgICAgaWYgKHBsYWNlaG9sZGVyKSB7XG4gICAgICAgICAgICAgIHJlc29sdmUocGxhY2Vob2xkZXIpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgZmFpbCgnY2Fubm90IGZldGNoIHJlc291cmNlOiAnICsgdXJsICsgJywgc3RhdHVzOiAnICsgcmVxdWVzdC5zdGF0dXMpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdmFyIGVuY29kZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgICAgICAgIGVuY29kZXIub25sb2FkZW5kID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyIGNvbnRlbnQgPSBlbmNvZGVyLnJlc3VsdC5zcGxpdCgvLC8pWzFdO1xuICAgICAgICAgICAgcmVzb2x2ZShjb250ZW50KTtcbiAgICAgICAgICB9O1xuICAgICAgICAgIGVuY29kZXIucmVhZEFzRGF0YVVSTChyZXF1ZXN0LnJlc3BvbnNlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZ1bmN0aW9uIHRpbWVvdXQoKSB7XG4gICAgICAgICAgaWYgKHBsYWNlaG9sZGVyKSB7XG4gICAgICAgICAgICByZXNvbHZlKHBsYWNlaG9sZGVyKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZmFpbCgndGltZW91dCBvZiAnICsgVElNRU9VVCArICdtcyBvY2N1cmVkIHdoaWxlIGZldGNoaW5nIHJlc291cmNlOiAnICsgdXJsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBmdW5jdGlvbiBmYWlsKG1lc3NhZ2UpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKG1lc3NhZ2UpO1xuICAgICAgICAgIHJlc29sdmUoJycpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBkYXRhQXNVcmwoY29udGVudCwgdHlwZSkge1xuICAgICAgcmV0dXJuICdkYXRhOicgKyB0eXBlICsgJztiYXNlNjQsJyArIGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZXNjYXBlKHN0cmluZykge1xuICAgICAgcmV0dXJuIHN0cmluZy5yZXBsYWNlKC8oWy4qKz9eJHt9KCl8XFxbXFxdXFwvXFxcXF0pL2csICdcXFxcJDEnKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBkZWxheShtcykge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uIChhcmcpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlKSB7XG4gICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICByZXNvbHZlKGFyZyk7XG4gICAgICAgICAgfSwgbXMpO1xuICAgICAgICB9KTtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gYXNBcnJheShhcnJheUxpa2UpIHtcbiAgICAgIHZhciBhcnJheSA9IFtdO1xuICAgICAgdmFyIGxlbmd0aCA9IGFycmF5TGlrZS5sZW5ndGg7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSBhcnJheS5wdXNoKGFycmF5TGlrZVtpXSk7XG4gICAgICByZXR1cm4gYXJyYXk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZXNjYXBlWGh0bWwoc3RyaW5nKSB7XG4gICAgICByZXR1cm4gc3RyaW5nLnJlcGxhY2UoLyMvZywgJyUyMycpLnJlcGxhY2UoL1xcbi9nLCAnJTBBJyk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gd2lkdGgobm9kZSkge1xuICAgICAgdmFyIGxlZnRCb3JkZXIgPSBweChub2RlLCAnYm9yZGVyLWxlZnQtd2lkdGgnKTtcbiAgICAgIHZhciByaWdodEJvcmRlciA9IHB4KG5vZGUsICdib3JkZXItcmlnaHQtd2lkdGgnKTtcbiAgICAgIHJldHVybiBub2RlLnNjcm9sbFdpZHRoICsgbGVmdEJvcmRlciArIHJpZ2h0Qm9yZGVyO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGhlaWdodChub2RlKSB7XG4gICAgICB2YXIgdG9wQm9yZGVyID0gcHgobm9kZSwgJ2JvcmRlci10b3Atd2lkdGgnKTtcbiAgICAgIHZhciBib3R0b21Cb3JkZXIgPSBweChub2RlLCAnYm9yZGVyLWJvdHRvbS13aWR0aCcpO1xuICAgICAgcmV0dXJuIG5vZGUuc2Nyb2xsSGVpZ2h0ICsgdG9wQm9yZGVyICsgYm90dG9tQm9yZGVyO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHB4KG5vZGUsIHN0eWxlUHJvcGVydHkpIHtcbiAgICAgIHZhciB2YWx1ZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKG5vZGUpLmdldFByb3BlcnR5VmFsdWUoc3R5bGVQcm9wZXJ0eSk7XG4gICAgICByZXR1cm4gcGFyc2VGbG9hdCh2YWx1ZS5yZXBsYWNlKCdweCcsICcnKSk7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gbmV3SW5saW5lcigpIHtcbiAgICB2YXIgVVJMX1JFR0VYID0gL3VybFxcKFsnXCJdPyhbXidcIl0rPylbJ1wiXT9cXCkvZztcblxuICAgIHJldHVybiB7XG4gICAgICBpbmxpbmVBbGw6IGlubGluZUFsbCxcbiAgICAgIHNob3VsZFByb2Nlc3M6IHNob3VsZFByb2Nlc3MsXG4gICAgICBpbXBsOiB7XG4gICAgICAgIHJlYWRVcmxzOiByZWFkVXJscyxcbiAgICAgICAgaW5saW5lOiBpbmxpbmVcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgZnVuY3Rpb24gc2hvdWxkUHJvY2VzcyhzdHJpbmcpIHtcbiAgICAgIHJldHVybiBzdHJpbmcuc2VhcmNoKFVSTF9SRUdFWCkgIT09IC0xO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHJlYWRVcmxzKHN0cmluZykge1xuICAgICAgdmFyIHJlc3VsdCA9IFtdO1xuICAgICAgdmFyIG1hdGNoO1xuICAgICAgd2hpbGUgKChtYXRjaCA9IFVSTF9SRUdFWC5leGVjKHN0cmluZykpICE9PSBudWxsKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKG1hdGNoWzFdKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQuZmlsdGVyKGZ1bmN0aW9uICh1cmwpIHtcbiAgICAgICAgcmV0dXJuICF1dGlsLmlzRGF0YVVybCh1cmwpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gaW5saW5lKHN0cmluZywgdXJsLCBiYXNlVXJsLCBnZXQpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodXJsKVxuICAgICAgICAudGhlbihmdW5jdGlvbiAodXJsKSB7XG4gICAgICAgICAgcmV0dXJuIGJhc2VVcmwgPyB1dGlsLnJlc29sdmVVcmwodXJsLCBiYXNlVXJsKSA6IHVybDtcbiAgICAgICAgfSlcbiAgICAgICAgLnRoZW4oZ2V0IHx8IHV0aWwuZ2V0QW5kRW5jb2RlKVxuICAgICAgICAudGhlbihmdW5jdGlvbiAoZGF0YSkge1xuICAgICAgICAgIHJldHVybiB1dGlsLmRhdGFBc1VybChkYXRhLCB1dGlsLm1pbWVUeXBlKHVybCkpO1xuICAgICAgICB9KVxuICAgICAgICAudGhlbihmdW5jdGlvbiAoZGF0YVVybCkge1xuICAgICAgICAgIHJldHVybiBzdHJpbmcucmVwbGFjZSh1cmxBc1JlZ2V4KHVybCksICckMScgKyBkYXRhVXJsICsgJyQzJyk7XG4gICAgICAgIH0pO1xuXG4gICAgICBmdW5jdGlvbiB1cmxBc1JlZ2V4KHVybCkge1xuICAgICAgICByZXR1cm4gbmV3IFJlZ0V4cCgnKHVybFxcXFwoW1xcJ1wiXT8pKCcgKyB1dGlsLmVzY2FwZSh1cmwpICsgJykoW1xcJ1wiXT9cXFxcKSknLCAnZycpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIGlubGluZUFsbChzdHJpbmcsIGJhc2VVcmwsIGdldCkge1xuICAgICAgaWYgKG5vdGhpbmdUb0lubGluZSgpKSByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHN0cmluZyk7XG5cbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoc3RyaW5nKVxuICAgICAgICAudGhlbihyZWFkVXJscylcbiAgICAgICAgLnRoZW4oZnVuY3Rpb24gKHVybHMpIHtcbiAgICAgICAgICB2YXIgZG9uZSA9IFByb21pc2UucmVzb2x2ZShzdHJpbmcpO1xuICAgICAgICAgIHVybHMuZm9yRWFjaChmdW5jdGlvbiAodXJsKSB7XG4gICAgICAgICAgICBkb25lID0gZG9uZS50aGVuKGZ1bmN0aW9uIChzdHJpbmcpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGlubGluZShzdHJpbmcsIHVybCwgYmFzZVVybCwgZ2V0KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybiBkb25lO1xuICAgICAgICB9KTtcblxuICAgICAgZnVuY3Rpb24gbm90aGluZ1RvSW5saW5lKCkge1xuICAgICAgICByZXR1cm4gIXNob3VsZFByb2Nlc3Moc3RyaW5nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBuZXdGb250RmFjZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJlc29sdmVBbGw6IHJlc29sdmVBbGwsXG4gICAgICBpbXBsOiB7XG4gICAgICAgIHJlYWRBbGw6IHJlYWRBbGxcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgZnVuY3Rpb24gcmVzb2x2ZUFsbCgpIHtcbiAgICAgIHJldHVybiByZWFkQWxsKGRvY3VtZW50KVxuICAgICAgICAudGhlbihmdW5jdGlvbiAod2ViRm9udHMpIHtcbiAgICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwoXG4gICAgICAgICAgICB3ZWJGb250cy5tYXAoZnVuY3Rpb24gKHdlYkZvbnQpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHdlYkZvbnQucmVzb2x2ZSgpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApO1xuICAgICAgICB9KVxuICAgICAgICAudGhlbihmdW5jdGlvbiAoY3NzU3RyaW5ncykge1xuICAgICAgICAgIHJldHVybiBjc3NTdHJpbmdzLmpvaW4oJ1xcbicpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiByZWFkQWxsKCkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh1dGlsLmFzQXJyYXkoZG9jdW1lbnQuc3R5bGVTaGVldHMpKVxuICAgICAgICAudGhlbihnZXRDc3NSdWxlcylcbiAgICAgICAgLnRoZW4oc2VsZWN0V2ViRm9udFJ1bGVzKVxuICAgICAgICAudGhlbihmdW5jdGlvbiAocnVsZXMpIHtcbiAgICAgICAgICByZXR1cm4gcnVsZXMubWFwKG5ld1dlYkZvbnQpO1xuICAgICAgICB9KTtcblxuICAgICAgZnVuY3Rpb24gc2VsZWN0V2ViRm9udFJ1bGVzKGNzc1J1bGVzKSB7XG4gICAgICAgIHJldHVybiBjc3NSdWxlc1xuICAgICAgICAgIC5maWx0ZXIoZnVuY3Rpb24gKHJ1bGUpIHtcbiAgICAgICAgICAgIHJldHVybiBydWxlLnR5cGUgPT09IENTU1J1bGUuRk9OVF9GQUNFX1JVTEU7XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuZmlsdGVyKGZ1bmN0aW9uIChydWxlKSB7XG4gICAgICAgICAgICByZXR1cm4gaW5saW5lci5zaG91bGRQcm9jZXNzKHJ1bGUuc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnc3JjJykpO1xuICAgICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBnZXRDc3NSdWxlcyhzdHlsZVNoZWV0cykge1xuICAgICAgICB2YXIgY3NzUnVsZXMgPSBbXTtcbiAgICAgICAgc3R5bGVTaGVldHMuZm9yRWFjaChmdW5jdGlvbiAoc2hlZXQpIHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgdXRpbC5hc0FycmF5KHNoZWV0LmNzc1J1bGVzIHx8IFtdKS5mb3JFYWNoKGNzc1J1bGVzLnB1c2guYmluZChjc3NSdWxlcykpO1xuICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdFcnJvciB3aGlsZSByZWFkaW5nIENTUyBydWxlcyBmcm9tICcgKyBzaGVldC5ocmVmLCBlLnRvU3RyaW5nKCkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBjc3NSdWxlcztcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gbmV3V2ViRm9udCh3ZWJGb250UnVsZSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHJlc29sdmU6IGZ1bmN0aW9uIHJlc29sdmUoKSB7XG4gICAgICAgICAgICB2YXIgYmFzZVVybCA9ICh3ZWJGb250UnVsZS5wYXJlbnRTdHlsZVNoZWV0IHx8IHt9KS5ocmVmO1xuICAgICAgICAgICAgcmV0dXJuIGlubGluZXIuaW5saW5lQWxsKHdlYkZvbnRSdWxlLmNzc1RleHQsIGJhc2VVcmwpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgc3JjOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICByZXR1cm4gd2ViRm9udFJ1bGUuc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnc3JjJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIG5ld0ltYWdlcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgaW5saW5lQWxsOiBpbmxpbmVBbGwsXG4gICAgICBpbXBsOiB7XG4gICAgICAgIG5ld0ltYWdlOiBuZXdJbWFnZVxuICAgICAgfVxuICAgIH07XG5cbiAgICBmdW5jdGlvbiBuZXdJbWFnZShlbGVtZW50KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpbmxpbmU6IGlubGluZVxuICAgICAgfTtcblxuICAgICAgZnVuY3Rpb24gaW5saW5lKGdldCkge1xuICAgICAgICBpZiAodXRpbC5pc0RhdGFVcmwoZWxlbWVudC5zcmMpKSByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG5cbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShlbGVtZW50LnNyYylcbiAgICAgICAgICAudGhlbihnZXQgfHwgdXRpbC5nZXRBbmRFbmNvZGUpXG4gICAgICAgICAgLnRoZW4oZnVuY3Rpb24gKGRhdGEpIHtcbiAgICAgICAgICAgIHJldHVybiB1dGlsLmRhdGFBc1VybChkYXRhLCB1dGlsLm1pbWVUeXBlKGVsZW1lbnQuc3JjKSk7XG4gICAgICAgICAgfSlcbiAgICAgICAgICAudGhlbihmdW5jdGlvbiAoZGF0YVVybCkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgICAgICAgZWxlbWVudC5vbmxvYWQgPSByZXNvbHZlO1xuICAgICAgICAgICAgICBlbGVtZW50Lm9uZXJyb3IgPSByZXNvbHZlO1xuICAgICAgICAgICAgICBlbGVtZW50LnNyYyA9IGRhdGFVcmw7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiBpbmxpbmVBbGwobm9kZSkge1xuICAgICAgaWYgKCEobm9kZSBpbnN0YW5jZW9mIEVsZW1lbnQpKSByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG5vZGUpO1xuXG4gICAgICByZXR1cm4gaW5saW5lQmFja2dyb3VuZChub2RlKVxuICAgICAgICAudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgaWYgKG5vZGUgaW5zdGFuY2VvZiBIVE1MSW1hZ2VFbGVtZW50KVxuICAgICAgICAgICAgcmV0dXJuIG5ld0ltYWdlKG5vZGUpLmlubGluZSgpO1xuICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLmFsbChcbiAgICAgICAgICAgICAgdXRpbC5hc0FycmF5KG5vZGUuY2hpbGROb2RlcykubWFwKGZ1bmN0aW9uIChjaGlsZCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBpbmxpbmVBbGwoY2hpbGQpO1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG5cbiAgICAgIGZ1bmN0aW9uIGlubGluZUJhY2tncm91bmQobm9kZSkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIHZhciBiYWNrZ3JvdW5kID0gbm9kZS5zdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdiYWNrZ3JvdW5kJyk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG5vZGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFiYWNrZ3JvdW5kKSByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG5vZGUpO1xuXG4gICAgICAgIHJldHVybiBpbmxpbmVyLmlubGluZUFsbChiYWNrZ3JvdW5kKVxuICAgICAgICAgIC50aGVuKGZ1bmN0aW9uIChpbmxpbmVkKSB7XG4gICAgICAgICAgICBub2RlLnN0eWxlLnNldFByb3BlcnR5KFxuICAgICAgICAgICAgICAnYmFja2dyb3VuZCcsXG4gICAgICAgICAgICAgIGlubGluZWQsXG4gICAgICAgICAgICAgIG5vZGUuc3R5bGUuZ2V0UHJvcGVydHlQcmlvcml0eSgnYmFja2dyb3VuZCcpXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgcmV0dXJuIG5vZGU7XG4gICAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbm1vZHVsZS5leHBvcnRzID0gZG9tdG9pbWFnZTtcbiIsICJpbXBvcnQgRXhwb3J0SW1hZ2VQbHVnaW4gZnJvbSAnLi9FeHBvcnRJbWFnZVBsdWdpbic7XG5cbmV4cG9ydCBkZWZhdWx0IEV4cG9ydEltYWdlUGx1Z2luO1xuIiwgImltcG9ydCB7IEVkaXRvciwgTWFya2Rvd25WaWV3LCBNYXJrZG93blByZXZpZXdWaWV3LCBNYXJrZG93blJlbmRlcmVyLCBOb3RpY2UsIFBsdWdpbiB9IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB7IHNhdmVBcyB9IGZyb20gJ2ZpbGUtc2F2ZXInO1xuaW1wb3J0IHsgRXhwb3J0SW1hZ2VTZXR0aW5nVGFiIH0gZnJvbSAnLi9FeHBvcnRJbWFnZVNldHRpbmdUYWInO1xuaW1wb3J0IHsgREVGQVVMVF9TRVRUSU5HUyB9IGZyb20gXCIuL2NvbnN0ZW50c1wiO1xuaW1wb3J0IHsgY2xvbmVOb2RlLCB0b0Jsb2JXaXRoQ2xvbmVkRG9tIH0gZnJvbSAnZG9tLXRvLWltYWdlJztcblxuZnVuY3Rpb24gZGVsYXkobXM6IG51bWJlcik6IFByb21pc2U8dW5kZWZpbmVkPiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSkge1xuICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgcmVzb2x2ZSh1bmRlZmluZWQpO1xuICAgIH0sIG1zKTtcbiAgfSk7XG59XG5cblxuYXN5bmMgZnVuY3Rpb24gY2xvbmVEb20oZWw6SFRNTEVsZW1lbnQsIG1hcmtkb3duVmlldzpNYXJrZG93blZpZXcpOiBQcm9taXNlPEhUTUxFbGVtZW50PiB7XG4gIGNvbnN0IGNvbnRhaW5lciA9IGVsLnBhcmVudEVsZW1lbnQhO1xuICBjb25zdCBzY3JvbGxDYWNoZSA9IGNvbnRhaW5lci5zY3JvbGxUb3A7XG4gIGNvbnRhaW5lci5zY3JvbGxUbygwLCAwKTtcbiAgZWwuYWRkQ2xhc3MoJ2VweG9ydC1pbWFnZS1mb3JjZS1uby1tYXJnaW4nKTtcbiAgYXdhaXQgZGVsYXkoNDApO1xuICBjb25zdCB0b3RhbEhlaWdodCA9IGVsLmNsaWVudEhlaWdodDtcbiAgY29uc3Qgc2NyZWVuSGVpZ2h0ID0gbWFya2Rvd25WaWV3LmNvbnRlbnRFbC5jbGllbnRIZWlnaHQ7XG4gIGxldCBzY3JvbGxJbmRleCA9IDA7XG4gIGxldCBoZWlnaHQgPSBlbC5jbGllbnRIZWlnaHQgLSBwYXJzZUZsb2F0KGVsLnN0eWxlLnBhZGRpbmdCb3R0b20pICsgNDA7XG4gIGNvbnNvbGUubG9nKCdzY29sbEhlaWdodDonLCBoZWlnaHQpO1xuICBjb25zdCBjbG9uZSA9IGF3YWl0IGNsb25lTm9kZShlbCk7XG4gIGNvbnN0IG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoYXN5bmMgcmVjb3JkcyA9PiB7XG4gICAgZm9yIChsZXQgciBvZiByZWNvcmRzKSB7XG4gICAgICBmb3IgKGxldCBub2RlIG9mIEFycmF5LmZyb20oci5hZGRlZE5vZGVzKSkge1xuICAgICAgICBjbG9uZS5hcHBlbmQoYXdhaXQgY2xvbmVOb2RlKG5vZGUgYXMgSFRNTEVsZW1lbnQpKTtcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuICBvYnNlcnZlci5vYnNlcnZlKGVsLCB7XG4gICAgY2hpbGRMaXN0OiB0cnVlXG4gIH0pO1xuICB3aGlsZSAoc2Nyb2xsSW5kZXggPD0gdG90YWxIZWlnaHQgLSBzY3JlZW5IZWlnaHQpIHtcbiAgICBzY3JvbGxJbmRleCArPSBzY3JlZW5IZWlnaHQ7XG4gICAgY29udGFpbmVyLnNjcm9sbFRvKDAsIHNjcm9sbEluZGV4KTtcbiAgICBhd2FpdCBkZWxheSg0MCk7XG4gIH1cbiAgb2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICBjb250YWluZXIuc2Nyb2xsVG8oMCwgc2Nyb2xsQ2FjaGUpO1xuICBjbG9uZS5hZGRDbGFzcygnZXhwb3J0LWltYWdlLWNsb25lJyk7XG4gIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoY2xvbmUpO1xuICBjb25zb2xlLmxvZyhjbG9uZS5jbGllbnRXaWR0aCwgY2xvbmUuY2xpZW50SGVpZ2h0KTtcbiAgZWwucmVtb3ZlQ2xhc3MoJ2VweG9ydC1pbWFnZS1mb3JjZS1uby1tYXJnaW4nKTtcbiAgcmV0dXJuIGNsb25lO1xufVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRXhwb3J0SW1hZ2VQbHVnaW4gZXh0ZW5kcyBQbHVnaW4ge1xuICBzZXR0aW5nczogRXhwb3J0SW1hZ2VTZXR0aW5ncztcblxuICBhc3luYyBvbmxvYWQoKSB7XG4gICAgYXdhaXQgdGhpcy5sb2FkU2V0dGluZ3MoKTtcblxuXG4gICAgdGhpcy5hZGRDb21tYW5kKHtcbiAgICAgIGlkOiAnZXhwb3J0LXRvLWltYWdlLXpoJyxcbiAgICAgIG5hbWU6ICdFeHBvcnQgdG8gaW1hZ2UnLFxuICAgICAgY2hlY2tDYWxsYmFjazogKGNoZWNraW5nOiBib29sZWFuKSA9PiB7XG4gICAgICAgIC8vIENvbmRpdGlvbnMgdG8gY2hlY2tcbiAgICAgICAgY29uc3QgbWFya2Rvd25WaWV3ID0gdGhpcy5hcHAud29ya3NwYWNlLmdldEFjdGl2ZVZpZXdPZlR5cGUoTWFya2Rvd25WaWV3KTtcbiAgICAgICAgaWYgKG1hcmtkb3duVmlldz8uZ2V0TW9kZSgpID09PSAncHJldmlldycpIHtcbiAgICAgICAgICAvLyBJZiBjaGVja2luZyBpcyB0cnVlLCB3ZSdyZSBzaW1wbHkgXCJjaGVja2luZ1wiIGlmIHRoZSBjb21tYW5kIGNhbiBiZSBydW4uXG4gICAgICAgICAgLy8gSWYgY2hlY2tpbmcgaXMgZmFsc2UsIHRoZW4gd2Ugd2FudCB0byBhY3R1YWxseSBwZXJmb3JtIHRoZSBvcGVyYXRpb24uXG4gICAgICAgICAgaWYgKCFjaGVja2luZykge1xuICAgICAgICAgICAgKGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgZWwgPSBtYXJrZG93blZpZXcuY29udGVudEVsLmZpbmQoJy5tYXJrZG93bi1wcmV2aWV3LXNlY3Rpb24nKTtcbiAgICAgICAgICAgICAgY29uc3QgY2xvbmUgPSBhd2FpdCBjbG9uZURvbShlbCwgbWFya2Rvd25WaWV3KTtcbiAgICAgICAgICAgICAgY29uc3QgYmxvYiA9IGF3YWl0IHRvQmxvYldpdGhDbG9uZWREb20oZWwsIGNsb25lLCB7XG4gICAgICAgICAgICAgICAgLy8gd2lkdGg6IHdpZHRoICogMixcbiAgICAgICAgICAgICAgICAvLyBoZWlnaHQ6IGhlaWdodCAqIDIsXG4gICAgICAgICAgICAgICAgd2lkdGg6IGNsb25lLmNsaWVudFdpZHRoICogMixcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGNsb25lLmNsaWVudEhlaWdodCAqIDIsXG4gICAgICAgICAgICAgICAgYmdjb2xvcjogd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWwuY2xvc2VzdCgnLnZpZXctY29udGVudCcpISkuYmFja2dyb3VuZENvbG9yLFxuICAgICAgICAgICAgICAgIHF1YWxpdHk6IDAuOSxcbiAgICAgICAgICAgICAgICBzdHlsZToge1xuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAnc2NhbGUoMiknLFxuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtT3JpZ2luOiAndG9wIGxlZnQnXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChjbG9uZSk7XG4gICAgICAgICAgICAgIHNhdmVBcyhibG9iLCBgJHttYXJrZG93blZpZXcuZ2V0RGlzcGxheVRleHQoKS5yZXBsYWNlKC9cXHMrL2csICdfJyl9LmpwZ2ApO1xuICAgICAgICAgICAgfSkoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBUaGlzIGNvbW1hbmQgd2lsbCBvbmx5IHNob3cgdXAgaW4gQ29tbWFuZCBQYWxldHRlIHdoZW4gdGhlIGNoZWNrIGZ1bmN0aW9uIHJldHVybnMgdHJ1ZVxuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cblxuICAgIHRoaXMuYWRkQ29tbWFuZCh7XG4gICAgICBpZDogJ2NvcHktYXMtaW1hZ2UtemgnLFxuICAgICAgbmFtZTogJ0NvcHkgYXMgaW1hZ2UnLFxuICAgICAgY2hlY2tDYWxsYmFjazogKGNoZWNraW5nOiBib29sZWFuKSA9PiB7XG4gICAgICAgIC8vIENvbmRpdGlvbnMgdG8gY2hlY2tcbiAgICAgICAgY29uc3QgbWFya2Rvd25WaWV3ID0gdGhpcy5hcHAud29ya3NwYWNlLmdldEFjdGl2ZVZpZXdPZlR5cGUoTWFya2Rvd25WaWV3KTtcbiAgICAgICAgaWYgKG1hcmtkb3duVmlldz8uZ2V0TW9kZSgpID09PSAncHJldmlldycpIHtcbiAgICAgICAgICAvLyBJZiBjaGVja2luZyBpcyB0cnVlLCB3ZSdyZSBzaW1wbHkgXCJjaGVja2luZ1wiIGlmIHRoZSBjb21tYW5kIGNhbiBiZSBydW4uXG4gICAgICAgICAgLy8gSWYgY2hlY2tpbmcgaXMgZmFsc2UsIHRoZW4gd2Ugd2FudCB0byBhY3R1YWxseSBwZXJmb3JtIHRoZSBvcGVyYXRpb24uXG4gICAgICAgICAgaWYgKCFjaGVja2luZykge1xuICAgICAgICAgICAgKGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgZWwgPSBtYXJrZG93blZpZXcuY29udGVudEVsLmZpbmQoJy5tYXJrZG93bi1wcmV2aWV3LXNlY3Rpb24nKTtcbiAgICAgICAgICAgICAgY29uc3QgY2xvbmUgPSBhd2FpdCBjbG9uZURvbShlbCwgbWFya2Rvd25WaWV3KTtcbiAgICAgICAgICAgICAgY29uc3QgYmxvYiA9IGF3YWl0IHRvQmxvYldpdGhDbG9uZWREb20oZWwsIGNsb25lLCB7XG4gICAgICAgICAgICAgICAgLy8gd2lkdGg6IHdpZHRoICogMixcbiAgICAgICAgICAgICAgICAvLyBoZWlnaHQ6IGhlaWdodCAqIDIsXG4gICAgICAgICAgICAgICAgd2lkdGg6IGNsb25lLmNsaWVudFdpZHRoICogMixcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGNsb25lLmNsaWVudEhlaWdodCAqIDIsXG4gICAgICAgICAgICAgICAgYmdjb2xvcjogd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWwuY2xvc2VzdCgnLnZpZXctY29udGVudCcpISkuYmFja2dyb3VuZENvbG9yLFxuICAgICAgICAgICAgICAgIHF1YWxpdHk6IDAuOSxcbiAgICAgICAgICAgICAgICBzdHlsZToge1xuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAnc2NhbGUoMiknLFxuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtT3JpZ2luOiAndG9wIGxlZnQnXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChjbG9uZSk7XG4gICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBbXG4gICAgICAgICAgICAgICAgbmV3IENsaXBib2FyZEl0ZW0oe1xuICAgICAgICAgICAgICAgICAgW2Jsb2IudHlwZV06IGJsb2IsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIF07XG4gICAgICAgICAgICAgIGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGUoZGF0YSlcbiAgICAgICAgICAgICAgbmV3IE5vdGljZSgnQ29waWVkIScpO1xuICAgICAgICAgICAgfSkoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBUaGlzIGNvbW1hbmQgd2lsbCBvbmx5IHNob3cgdXAgaW4gQ29tbWFuZCBQYWxldHRlIHdoZW4gdGhlIGNoZWNrIGZ1bmN0aW9uIHJldHVybnMgdHJ1ZVxuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgfVxuXG4gIG9udW5sb2FkKCkge1xuICB9XG5cbiAgYXN5bmMgbG9hZFNldHRpbmdzKCkge1xuICAgIHRoaXMuc2V0dGluZ3MgPSBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX1NFVFRJTkdTLCBhd2FpdCB0aGlzLmxvYWREYXRhKCkpO1xuICB9XG5cbiAgYXN5bmMgc2F2ZVNldHRpbmdzKCkge1xuICAgIGF3YWl0IHRoaXMuc2F2ZURhdGEodGhpcy5zZXR0aW5ncyk7XG4gIH1cbn1cbiIsICIvKiBlc2xpbnQtZGlzYWJsZSBpbXBvcnQvcHJlZmVyLWRlZmF1bHQtZXhwb3J0ICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9TRVRUSU5HUzogRXhwb3J0SW1hZ2VTZXR0aW5ncyA9IHtcbiAgd2lkdGg6ICc0MDAnLFxufTtcbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWtCQSxpQkFBYyxJQUFNLElBQU07QUFBQSxlQUNKLEFBQWhCLE9BQU8sTUFBUyxjQUFhLEtBQU8sRUFBRSxTQUFPLE1BQVQsSUFDZixBQUFoQixPQUFPLE1BQVMsWUFDdkIsU0FBUSxLQUFLLG9EQUFiLEdBQ0EsS0FBTyxFQUFFLFNBQVMsQ0FBQyxHQUFaLElBS0wsR0FBSyxXQUFXLDZFQUE2RSxLQUFLLEdBQUssSUFBdkYsSUFDWCxJQUFJLEtBQUssQ0FBQSxVQUE4QixFQUE5QixHQUFxQyxFQUFFLE1BQU0sR0FBSyxLQUFiLENBQTlDLElBRUY7TUFDUjtBQUVELGlCQUFtQixJQUFLLElBQU0sSUFBTTtBQUNsQyxZQUFJLEtBQU0sSUFBSTtBQUNkLFdBQUksS0FBSyxPQUFP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 diff --git a/.obsidian/plugins/obsidian-export-image/manifest.json b/.obsidian/plugins/obsidian-export-image/manifest.json new file mode 100644 index 0000000..0ae9842 --- /dev/null +++ b/.obsidian/plugins/obsidian-export-image/manifest.json @@ -0,0 +1,10 @@ +{ + "id": "obsidian-export-image", + "name": "Export Image plugin", + "version": "1.0.3", + "minAppVersion": "0.15.0", + "description": "Easily convert your article to image.", + "author": "Zhou Hua", + "authorUrl": "", + "isDesktopOnly": false +} diff --git a/.obsidian/plugins/obsidian-export-image/styles.css b/.obsidian/plugins/obsidian-export-image/styles.css new file mode 100644 index 0000000..a40500a --- /dev/null +++ b/.obsidian/plugins/obsidian-export-image/styles.css @@ -0,0 +1,27 @@ +/* + +This CSS file will be included with your plugin, and +available in the app when your plugin is enabled. + +If your plugin does not need CSS, delete this file. + +*/ +.epxort-image-force-no-margin { + margin: 0 !important; + padding: 20px 20px 40px 20px !important; + box-sizing: content-box; + text-align: justify; + hyphens: auto; +} + +.epxort-image-force-no-margin .obsidian-metatable { + display: none; +} + +.export-image-clone { + position: fixed !important; + left: -400% !important; + top: 200% !important; + border-radius: 10px !important; + overflow: hidden !important; +} diff --git a/.obsidian/plugins/obsidian-functionplot/main.js b/.obsidian/plugins/obsidian-functionplot/main.js new file mode 100644 index 0000000..d566434 --- /dev/null +++ b/.obsidian/plugins/obsidian-functionplot/main.js @@ -0,0 +1 @@ +(()=>{var t={5248:(t,n,e)=>{"use strict";t.exports=e(9976)},517:t=>{"use strict";t.exports=function(){var t=Object.create(Math);return t.factory=function(t){if("number"!=typeof t)throw new TypeError("built-in math factory only accepts numbers");return Number(t)},t.add=function(t,n){return t+n},t.sub=function(t,n){return t-n},t.mul=function(t,n){return t*n},t.div=function(t,n){return t/n},t.mod=function(t,n){return t%n},t.factorial=function(t){for(var n=1,e=2;e<=t;e+=1)n*=e;return n},t.nthRoot=function(t,n){var e=n<0;if(e&&(n=-n),0===n)throw new Error("Root must be non-zero");if(t<0&&Math.abs(n)%2!=1)throw new Error("Root must be odd when a is negative.");if(0===t)return 0;if(!isFinite(t))return e?0:t;var i=Math.pow(Math.abs(t),1/n);return i=t<0?-i:i,e?1/i:i},t.logicalOR=function(t,n){return t||n},t.logicalXOR=function(t,n){return t!=n},t.logicalAND=function(t,n){return t&&n},t.bitwiseOR=function(t,n){return t|n},t.bitwiseXOR=function(t,n){return t^n},t.bitwiseAND=function(t,n){return t&n},t.lessThan=function(t,n){return tn},t.greaterEqualThan=function(t,n){return t>=n},t.equal=function(t,n){return t==n},t.strictlyEqual=function(t,n){return t===n},t.notEqual=function(t,n){return t!=n},t.strictlyNotEqual=function(t,n){return t!==n},t.shiftRight=function(t,n){return t>>n},t.shiftLeft=function(t,n){return t<>>n},t.negative=function(t){return-t},t.positive=function(t){return t},t}},9976:(t,n,e)=>{"use strict";var i=e(2223),r=e(517)();function o(t){Object.keys(t).forEach((function(n){var e=t[n];t[n]=r.factory(e)}))}t.exports=function(t){return(new i).setDefs({$$processScope:o}).parse(t).compile(r)},t.exports.math=r},5627:t=>{t.exports=function(t,n,e){return ne?e:t:tn?n:t}},6216:(t,n,e)=>{"use strict";e.r(n),e.d(n,{axisBottom:()=>d,axisLeft:()=>y,axisRight:()=>p,axisTop:()=>f});var i=Array.prototype.slice;function r(t){return t}var o=1e-6;function s(t){return"translate("+t+",0)"}function a(t){return"translate(0,"+t+")"}function u(t){return n=>+t(n)}function c(t,n){return n=Math.max(0,t.bandwidth()-2*n)/2,t.round()&&(n=Math.round(n)),e=>+t(e)+n}function l(){return!this.__axis}function h(t,n){var e=[],h=null,f=null,p=6,d=6,y=3,v="undefined"!=typeof window&&window.devicePixelRatio>1?0:.5,m=1===t||4===t?-1:1,g=4===t||2===t?"x":"y",_=1===t||3===t?s:a;function x(i){var s=null==h?n.ticks?n.ticks.apply(n,e):n.domain():h,a=null==f?n.tickFormat?n.tickFormat.apply(n,e):r:f,x=Math.max(p,0)+y,w=n.range(),b=+w[0]+v,M=+w[w.length-1]+v,T=(n.bandwidth?c:u)(n.copy(),v),E=i.selection?i.selection():i,S=E.selectAll(".domain").data([null]),k=E.selectAll(".tick").data(s,n).order(),N=k.exit(),A=k.enter().append("g").attr("class","tick"),P=k.select("line"),L=k.select("text");S=S.merge(S.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),k=k.merge(A),P=P.merge(A.append("line").attr("stroke","currentColor").attr(g+"2",m*p)),L=L.merge(A.append("text").attr("fill","currentColor").attr(g,m*x).attr("dy",1===t?"0em":3===t?"0.71em":"0.32em")),i!==E&&(S=S.transition(i),k=k.transition(i),P=P.transition(i),L=L.transition(i),N=N.transition(i).attr("opacity",o).attr("transform",(function(t){return isFinite(t=T(t))?_(t+v):this.getAttribute("transform")})),A.attr("opacity",o).attr("transform",(function(t){var n=this.parentNode.__axis;return _((n&&isFinite(n=n(t))?n:T(t))+v)}))),N.remove(),S.attr("d",4===t||2===t?d?"M"+m*d+","+b+"H"+v+"V"+M+"H"+m*d:"M"+v+","+b+"V"+M:d?"M"+b+","+m*d+"V"+v+"H"+M+"V"+m*d:"M"+b+","+v+"H"+M),k.attr("opacity",1).attr("transform",(function(t){return _(T(t)+v)})),P.attr(g+"2",m*p),L.attr(g,m*x).text(a),E.filter(l).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",2===t?"start":4===t?"end":"middle"),E.each((function(){this.__axis=T}))}return x.scale=function(t){return arguments.length?(n=t,x):n},x.ticks=function(){return e=i.call(arguments),x},x.tickArguments=function(t){return arguments.length?(e=null==t?[]:i.call(t),x):e.slice()},x.tickValues=function(t){return arguments.length?(h=null==t?null:i.call(t),x):h&&h.slice()},x.tickFormat=function(t){return arguments.length?(f=t,x):f},x.tickSize=function(t){return arguments.length?(p=d=+t,x):p},x.tickSizeInner=function(t){return arguments.length?(p=+t,x):p},x.tickSizeOuter=function(t){return arguments.length?(d=+t,x):d},x.tickPadding=function(t){return arguments.length?(y=+t,x):y},x.offset=function(t){return arguments.length?(v=+t,x):v},x}function f(t){return h(1,t)}function p(t){return h(2,t)}function d(t){return h(3,t)}function y(t){return h(4,t)}},6372:(t,n,e)=>{"use strict";e.d(n,{B8:()=>T,Il:()=>r,J5:()=>s,SU:()=>M,Ss:()=>E,Ym:()=>L,ZP:()=>x,xV:()=>o});var i=e(4087);function r(){}var o=.7,s=1/o,a="\\s*([+-]?\\d+)\\s*",u="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",c="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",l=/^#([0-9a-f]{3,8})$/,h=new RegExp("^rgb\\("+[a,a,a]+"\\)$"),f=new RegExp("^rgb\\("+[c,c,c]+"\\)$"),p=new RegExp("^rgba\\("+[a,a,a,u]+"\\)$"),d=new RegExp("^rgba\\("+[c,c,c,u]+"\\)$"),y=new RegExp("^hsl\\("+[u,c,c]+"\\)$"),v=new RegExp("^hsla\\("+[u,c,c,u]+"\\)$"),m={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function g(){return this.rgb().formatHex()}function _(){return this.rgb().formatRgb()}function x(t){var n,e;return t=(t+"").trim().toLowerCase(),(n=l.exec(t))?(e=n[1].length,n=parseInt(n[1],16),6===e?w(n):3===e?new E(n>>8&15|n>>4&240,n>>4&15|240&n,(15&n)<<4|15&n,1):8===e?b(n>>24&255,n>>16&255,n>>8&255,(255&n)/255):4===e?b(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|240&n,((15&n)<<4|15&n)/255):null):(n=h.exec(t))?new E(n[1],n[2],n[3],1):(n=f.exec(t))?new E(255*n[1]/100,255*n[2]/100,255*n[3]/100,1):(n=p.exec(t))?b(n[1],n[2],n[3],n[4]):(n=d.exec(t))?b(255*n[1]/100,255*n[2]/100,255*n[3]/100,n[4]):(n=y.exec(t))?A(n[1],n[2]/100,n[3]/100,1):(n=v.exec(t))?A(n[1],n[2]/100,n[3]/100,n[4]):m.hasOwnProperty(t)?w(m[t]):"transparent"===t?new E(NaN,NaN,NaN,0):null}function w(t){return new E(t>>16&255,t>>8&255,255&t,1)}function b(t,n,e,i){return i<=0&&(t=n=e=NaN),new E(t,n,e,i)}function M(t){return t instanceof r||(t=x(t)),t?new E((t=t.rgb()).r,t.g,t.b,t.opacity):new E}function T(t,n,e,i){return 1===arguments.length?M(t):new E(t,n,e,null==i?1:i)}function E(t,n,e,i){this.r=+t,this.g=+n,this.b=+e,this.opacity=+i}function S(){return"#"+N(this.r)+N(this.g)+N(this.b)}function k(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?")":", "+t+")")}function N(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function A(t,n,e,i){return i<=0?t=n=e=NaN:e<=0||e>=1?t=n=NaN:n<=0&&(t=NaN),new O(t,n,e,i)}function P(t){if(t instanceof O)return new O(t.h,t.s,t.l,t.opacity);if(t instanceof r||(t=x(t)),!t)return new O;if(t instanceof O)return t;var n=(t=t.rgb()).r/255,e=t.g/255,i=t.b/255,o=Math.min(n,e,i),s=Math.max(n,e,i),a=NaN,u=s-o,c=(s+o)/2;return u?(a=n===s?(e-i)/u+6*(e0&&c<1?0:a,new O(a,u,c,t.opacity)}function L(t,n,e,i){return 1===arguments.length?P(t):new O(t,n,e,null==i?1:i)}function O(t,n,e,i){this.h=+t,this.s=+n,this.l=+e,this.opacity=+i}function C(t,n,e){return 255*(t<60?n+(e-n)*t/60:t<180?e:t<240?n+(e-n)*(240-t)/60:n)}(0,i.Z)(r,x,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:g,formatHex:g,formatHsl:function(){return P(this).formatHsl()},formatRgb:_,toString:_}),(0,i.Z)(E,T,(0,i.l)(r,{brighter:function(t){return t=null==t?s:Math.pow(s,t),new E(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?o:Math.pow(o,t),new E(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:S,formatHex:S,formatRgb:k,toString:k})),(0,i.Z)(O,L,(0,i.l)(r,{brighter:function(t){return t=null==t?s:Math.pow(s,t),new O(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?o:Math.pow(o,t),new O(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),n=isNaN(t)||isNaN(this.s)?0:this.s,e=this.l,i=e+(e<.5?e:1-e)*n,r=2*e-i;return new E(C(t>=240?t-240:t+120,r,i),C(t,r,i),C(t<120?t+240:t-120,r,i),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"hsl(":"hsla(")+(this.h||0)+", "+100*(this.s||0)+"%, "+100*(this.l||0)+"%"+(1===t?")":", "+t+")")}}))},8218:(t,n,e)=>{"use strict";e.d(n,{Z:()=>y});var i=e(4087),r=e(6372),o=e(1144),s=-.14861,a=1.78277,u=-.29227,c=-.90649,l=1.97294,h=l*c,f=l*a,p=a*u-c*s;function d(t){if(t instanceof v)return new v(t.h,t.s,t.l,t.opacity);t instanceof r.Ss||(t=(0,r.SU)(t));var n=t.r/255,e=t.g/255,i=t.b/255,s=(p*i+h*n-f*e)/(p+h-f),a=i-s,d=(l*(e-s)-u*a)/c,y=Math.sqrt(d*d+a*a)/(l*s*(1-s)),m=y?Math.atan2(d,a)*o.R-120:NaN;return new v(m<0?m+360:m,y,s,t.opacity)}function y(t,n,e,i){return 1===arguments.length?d(t):new v(t,n,e,null==i?1:i)}function v(t,n,e,i){this.h=+t,this.s=+n,this.l=+e,this.opacity=+i}(0,i.Z)(v,y,(0,i.l)(r.Il,{brighter:function(t){return t=null==t?r.J5:Math.pow(r.J5,t),new v(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?r.xV:Math.pow(r.xV,t),new v(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*o.u,n=+this.l,e=isNaN(this.s)?0:this.s*n*(1-n),i=Math.cos(t),h=Math.sin(t);return new r.Ss(255*(n+e*(s*i+a*h)),255*(n+e*(u*i+c*h)),255*(n+e*(l*i)),this.opacity)}}))},4087:(t,n,e)=>{"use strict";function i(t,n,e){t.prototype=n.prototype=e,e.constructor=t}function r(t,n){var e=Object.create(t.prototype);for(var i in n)e[i]=n[i];return e}e.d(n,{Z:()=>i,l:()=>r})},6404:(t,n,e)=>{"use strict";e.r(n),e.d(n,{color:()=>i.ZP,cubehelix:()=>o.Z,gray:()=>r.MA,hcl:()=>r.Uc,hsl:()=>i.Ym,lab:()=>r.ZP,lch:()=>r.tW,rgb:()=>i.B8});var i=e(6372),r=e(241),o=e(8218)},241:(t,n,e)=>{"use strict";e.d(n,{MA:()=>f,Uc:()=>w,ZP:()=>p,tW:()=>x});var i=e(4087),r=e(6372),o=e(1144);const s=.96422,a=.82521,u=4/29,c=6/29,l=3*c*c;function h(t){if(t instanceof d)return new d(t.l,t.a,t.b,t.opacity);if(t instanceof b)return M(t);t instanceof r.Ss||(t=(0,r.SU)(t));var n,e,i=g(t.r),o=g(t.g),u=g(t.b),c=y((.2225045*i+.7168786*o+.0606169*u)/1);return i===o&&o===u?n=e=c:(n=y((.4360747*i+.3850649*o+.1430804*u)/s),e=y((.0139322*i+.0971045*o+.7141733*u)/a)),new d(116*c-16,500*(n-c),200*(c-e),t.opacity)}function f(t,n){return new d(t,0,0,null==n?1:n)}function p(t,n,e,i){return 1===arguments.length?h(t):new d(t,n,e,null==i?1:i)}function d(t,n,e,i){this.l=+t,this.a=+n,this.b=+e,this.opacity=+i}function y(t){return t>.008856451679035631?Math.pow(t,1/3):t/l+u}function v(t){return t>c?t*t*t:l*(t-u)}function m(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function g(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function _(t){if(t instanceof b)return new b(t.h,t.c,t.l,t.opacity);if(t instanceof d||(t=h(t)),0===t.a&&0===t.b)return new b(NaN,0{"use strict";e.d(n,{R:()=>r,u:()=>i});const i=Math.PI/180,r=180/Math.PI},7539:(t,n,e)=>{"use strict";e.d(n,{WU:()=>r,ZP:()=>a,jH:()=>o});var i,r,o,s=e(3363);function a(t){return i=(0,s.Z)(t),r=i.format,o=i.formatPrefix,i}a({thousands:",",grouping:[3],currency:["$",""]})},3085:(t,n,e)=>{"use strict";e.d(n,{Z:()=>r});var i=e(8885);function r(t){return(t=(0,i.V)(Math.abs(t)))?t[1]:NaN}},8885:(t,n,e)=>{"use strict";function i(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function r(t,n){if((e=(t=n?t.toExponential(n-1):t.toExponential()).indexOf("e"))<0)return null;var e,i=t.slice(0,e);return[i.length>1?i[0]+i.slice(2):i,+t.slice(e+1)]}e.d(n,{V:()=>r,Z:()=>i})},6196:(t,n,e)=>{"use strict";e.d(n,{Z:()=>r,v:()=>o});var i=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function r(t){if(!(n=i.exec(t)))throw new Error("invalid format: "+t);var n;return new o({fill:n[1],align:n[2],sign:n[3],symbol:n[4],zero:n[5],width:n[6],comma:n[7],precision:n[8]&&n[8].slice(1),trim:n[9],type:n[10]})}function o(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}r.prototype=o.prototype,o.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type}},5594:(t,n,e)=>{"use strict";e.r(n),e.d(n,{FormatSpecifier:()=>o.v,format:()=>i.WU,formatDefaultLocale:()=>i.ZP,formatLocale:()=>r.Z,formatPrefix:()=>i.jH,formatSpecifier:()=>o.Z,precisionFixed:()=>s.Z,precisionPrefix:()=>a.Z,precisionRound:()=>u.Z});var i=e(7539),r=e(3363),o=e(6196),s=e(8195),a=e(3726),u=e(7655)},3363:(t,n,e)=>{"use strict";e.d(n,{Z:()=>f});var i,r=e(3085),o=e(6196),s=e(8885);function a(t,n){var e=(0,s.V)(t,n);if(!e)return t+"";var i=e[0],r=e[1];return r<0?"0."+new Array(-r).join("0")+i:i.length>r+1?i.slice(0,r+1)+"."+i.slice(r+1):i+new Array(r-i.length+2).join("0")}const u={"%":(t,n)=>(100*t).toFixed(n),b:t=>Math.round(t).toString(2),c:t=>t+"",d:s.Z,e:(t,n)=>t.toExponential(n),f:(t,n)=>t.toFixed(n),g:(t,n)=>t.toPrecision(n),o:t=>Math.round(t).toString(8),p:(t,n)=>a(100*t,n),r:a,s:function(t,n){var e=(0,s.V)(t,n);if(!e)return t+"";var r=e[0],o=e[1],a=o-(i=3*Math.max(-8,Math.min(8,Math.floor(o/3))))+1,u=r.length;return a===u?r:a>u?r+new Array(a-u+1).join("0"):a>0?r.slice(0,a)+"."+r.slice(a):"0."+new Array(1-a).join("0")+(0,s.V)(t,Math.max(0,n+a-1))[0]},X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function c(t){return t}var l=Array.prototype.map,h=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function f(t){var n,e,s=void 0===t.grouping||void 0===t.thousands?c:(n=l.call(t.grouping,Number),e=t.thousands+"",function(t,i){for(var r=t.length,o=[],s=0,a=n[0],u=0;r>0&&a>0&&(u+a+1>i&&(a=Math.max(1,i-u)),o.push(t.substring(r-=a,r+a)),!((u+=a+1)>i));)a=n[s=(s+1)%n.length];return o.reverse().join(e)}),a=void 0===t.currency?"":t.currency[0]+"",f=void 0===t.currency?"":t.currency[1]+"",p=void 0===t.decimal?".":t.decimal+"",d=void 0===t.numerals?c:function(t){return function(n){return n.replace(/[0-9]/g,(function(n){return t[+n]}))}}(l.call(t.numerals,String)),y=void 0===t.percent?"%":t.percent+"",v=void 0===t.minus?"−":t.minus+"",m=void 0===t.nan?"NaN":t.nan+"";function g(t){var n=(t=(0,o.Z)(t)).fill,e=t.align,r=t.sign,c=t.symbol,l=t.zero,g=t.width,_=t.comma,x=t.precision,w=t.trim,b=t.type;"n"===b?(_=!0,b="g"):u[b]||(void 0===x&&(x=12),w=!0,b="g"),(l||"0"===n&&"="===e)&&(l=!0,n="0",e="=");var M="$"===c?a:"#"===c&&/[boxX]/.test(b)?"0"+b.toLowerCase():"",T="$"===c?f:/[%p]/.test(b)?y:"",E=u[b],S=/[defgprs%]/.test(b);function k(t){var o,a,u,c=M,f=T;if("c"===b)f=E(t)+f,t="";else{var y=(t=+t)<0||1/t<0;if(t=isNaN(t)?m:E(Math.abs(t),x),w&&(t=function(t){t:for(var n,e=t.length,i=1,r=-1;i0&&(r=0)}return r>0?t.slice(0,r)+t.slice(n+1):t}(t)),y&&0==+t&&"+"!==r&&(y=!1),c=(y?"("===r?r:v:"-"===r||"("===r?"":r)+c,f=("s"===b?h[8+i/3]:"")+f+(y&&"("===r?")":""),S)for(o=-1,a=t.length;++o(u=t.charCodeAt(o))||u>57){f=(46===u?p+t.slice(o+1):t.slice(o))+f,t=t.slice(0,o);break}}_&&!l&&(t=s(t,1/0));var k=c.length+t.length+f.length,N=k>1)+c+t+f+N.slice(k);break;default:t=N+c+t+f}return d(t)}return x=void 0===x?6:/[gprs]/.test(b)?Math.max(1,Math.min(21,x)):Math.max(0,Math.min(20,x)),k.toString=function(){return t+""},k}return{format:g,formatPrefix:function(t,n){var e=g(((t=(0,o.Z)(t)).type="f",t)),i=3*Math.max(-8,Math.min(8,Math.floor((0,r.Z)(n)/3))),s=Math.pow(10,-i),a=h[8+i/3];return function(t){return e(s*t)+a}}}}},8195:(t,n,e)=>{"use strict";e.d(n,{Z:()=>r});var i=e(3085);function r(t){return Math.max(0,-(0,i.Z)(Math.abs(t)))}},3726:(t,n,e)=>{"use strict";e.d(n,{Z:()=>r});var i=e(3085);function r(t,n){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor((0,i.Z)(n)/3)))-(0,i.Z)(Math.abs(t)))}},7655:(t,n,e)=>{"use strict";e.d(n,{Z:()=>r});var i=e(3085);function r(t,n){return t=Math.abs(t),n=Math.abs(n)-t,Math.max(0,(0,i.Z)(n)-(0,i.Z)(t))+1}},8122:(t,n,e)=>{"use strict";e.d(n,{M:()=>s,Z:()=>o});var i=e(1265),r=e(7896);function o(t,n){return((0,r.v)(n)?r.Z:s)(t,n)}function s(t,n){var e,r=n?n.length:0,o=t?Math.min(r,t.length):0,s=new Array(o),a=new Array(r);for(e=0;e{"use strict";function i(t,n,e,i,r){var o=t*t,s=o*t;return((1-3*t+3*o-s)*n+(4-6*o+3*s)*e+(1+3*t+3*o-3*s)*i+s*r)/6}function r(t){var n=t.length-1;return function(e){var r=e<=0?e=0:e>=1?(e=1,n-1):Math.floor(e*n),o=t[r],s=t[r+1],a=r>0?t[r-1]:2*o-s,u=rr,t:()=>i})},5692:(t,n,e)=>{"use strict";e.d(n,{Z:()=>r});var i=e(9885);function r(t){var n=t.length;return function(e){var r=Math.floor(((e%=1)<0?++e:e)*n),o=t[(r+n-1)%n],s=t[r%n],a=t[(r+1)%n],u=t[(r+2)%n];return(0,i.t)((e-r/n)*n,o,s,a,u)}}},5910:(t,n,e)=>{"use strict";e.d(n,{ZP:()=>a,wx:()=>o,yi:()=>s});var i=e(5302);function r(t,n){return function(e){return t+e*n}}function o(t,n){var e=n-t;return e?r(t,e>180||e<-180?e-360*Math.round(e/360):e):(0,i.Z)(isNaN(t)?n:t)}function s(t){return 1==(t=+t)?a:function(n,e){return e-n?function(t,n,e){return t=Math.pow(t,e),n=Math.pow(n,e)-t,e=1/e,function(i){return Math.pow(t+i*n,e)}}(n,e,t):(0,i.Z)(isNaN(n)?e:n)}}function a(t,n){var e=n-t;return e?r(t,e):(0,i.Z)(isNaN(t)?n:t)}},5302:(t,n,e)=>{"use strict";e.d(n,{Z:()=>i});const i=t=>()=>t},88:(t,n,e)=>{"use strict";function i(t,n){var e=new Date;return t=+t,n=+n,function(i){return e.setTime(t*(1-i)+n*i),e}}e.d(n,{Z:()=>i})},8641:(t,n,e)=>{"use strict";e.r(n),e.d(n,{interpolate:()=>i.Z,interpolateArray:()=>r.Z,interpolateBasis:()=>o.Z,interpolateBasisClosed:()=>s.Z,interpolateCubehelix:()=>P,interpolateCubehelixLong:()=>L,interpolateDate:()=>a.Z,interpolateDiscrete:()=>u,interpolateHcl:()=>S,interpolateHclLong:()=>k,interpolateHsl:()=>w,interpolateHslLong:()=>b,interpolateHue:()=>l,interpolateLab:()=>T,interpolateNumber:()=>h.Z,interpolateNumberArray:()=>f.Z,interpolateObject:()=>p.Z,interpolateRgb:()=>g.ZP,interpolateRgbBasis:()=>g.hD,interpolateRgbBasisClosed:()=>g.YD,interpolateRound:()=>d.Z,interpolateString:()=>y.Z,interpolateTransformCss:()=>v.Y,interpolateTransformSvg:()=>v.w,interpolateZoom:()=>m.Z,piecewise:()=>O.Z,quantize:()=>C});var i=e(1265),r=e(8122),o=e(9885),s=e(5692),a=e(88);function u(t){var n=t.length;return function(e){return t[Math.max(0,Math.min(n-1,Math.floor(e*n)))]}}var c=e(5910);function l(t,n){var e=(0,c.wx)(+t,+n);return function(t){var n=e(t);return n-360*Math.floor(n/360)}}var h=e(3626),f=e(7896),p=e(8528),d=e(5720),y=e(9843),v=e(3636),m=e(588),g=e(3414),_=e(6372);function x(t){return function(n,e){var i=t((n=(0,_.Ym)(n)).h,(e=(0,_.Ym)(e)).h),r=(0,c.ZP)(n.s,e.s),o=(0,c.ZP)(n.l,e.l),s=(0,c.ZP)(n.opacity,e.opacity);return function(t){return n.h=i(t),n.s=r(t),n.l=o(t),n.opacity=s(t),n+""}}}const w=x(c.wx);var b=x(c.ZP),M=e(241);function T(t,n){var e=(0,c.ZP)((t=(0,M.ZP)(t)).l,(n=(0,M.ZP)(n)).l),i=(0,c.ZP)(t.a,n.a),r=(0,c.ZP)(t.b,n.b),o=(0,c.ZP)(t.opacity,n.opacity);return function(n){return t.l=e(n),t.a=i(n),t.b=r(n),t.opacity=o(n),t+""}}function E(t){return function(n,e){var i=t((n=(0,M.Uc)(n)).h,(e=(0,M.Uc)(e)).h),r=(0,c.ZP)(n.c,e.c),o=(0,c.ZP)(n.l,e.l),s=(0,c.ZP)(n.opacity,e.opacity);return function(t){return n.h=i(t),n.c=r(t),n.l=o(t),n.opacity=s(t),n+""}}}const S=E(c.wx);var k=E(c.ZP),N=e(8218);function A(t){return function n(e){function i(n,i){var r=t((n=(0,N.Z)(n)).h,(i=(0,N.Z)(i)).h),o=(0,c.ZP)(n.s,i.s),s=(0,c.ZP)(n.l,i.l),a=(0,c.ZP)(n.opacity,i.opacity);return function(t){return n.h=r(t),n.s=o(t),n.l=s(Math.pow(t,e)),n.opacity=a(t),n+""}}return e=+e,i.gamma=n,i}(1)}const P=A(c.wx);var L=A(c.ZP),O=e(108);function C(t,n){for(var e=new Array(n),i=0;i{"use strict";function i(t,n){return t=+t,n=+n,function(e){return t*(1-e)+n*e}}e.d(n,{Z:()=>i})},7896:(t,n,e)=>{"use strict";function i(t,n){n||(n=[]);var e,i=t?Math.min(n.length,t.length):0,r=n.slice();return function(o){for(e=0;ei,v:()=>r})},8528:(t,n,e)=>{"use strict";e.d(n,{Z:()=>r});var i=e(1265);function r(t,n){var e,r={},o={};for(e in null!==t&&"object"==typeof t||(t={}),null!==n&&"object"==typeof n||(n={}),n)e in t?r[e]=(0,i.Z)(t[e],n[e]):o[e]=n[e];return function(t){for(e in r)o[e]=r[e](t);return o}}},108:(t,n,e)=>{"use strict";e.d(n,{Z:()=>r});var i=e(1265);function r(t,n){void 0===n&&(n=t,t=i.Z);for(var e=0,r=n.length-1,o=n[0],s=new Array(r<0?0:r);e{"use strict";e.d(n,{YD:()=>l,ZP:()=>a,hD:()=>c});var i=e(6372),r=e(9885),o=e(5692),s=e(5910);const a=function t(n){var e=(0,s.yi)(n);function r(t,n){var r=e((t=(0,i.B8)(t)).r,(n=(0,i.B8)(n)).r),o=e(t.g,n.g),a=e(t.b,n.b),u=(0,s.ZP)(t.opacity,n.opacity);return function(n){return t.r=r(n),t.g=o(n),t.b=a(n),t.opacity=u(n),t+""}}return r.gamma=t,r}(1);function u(t){return function(n){var e,r,o=n.length,s=new Array(o),a=new Array(o),u=new Array(o);for(e=0;e{"use strict";function i(t,n){return t=+t,n=+n,function(e){return Math.round(t*(1-e)+n*e)}}e.d(n,{Z:()=>i})},9843:(t,n,e)=>{"use strict";e.d(n,{Z:()=>s});var i=e(3626),r=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,o=new RegExp(r.source,"g");function s(t,n){var e,s,a,u=r.lastIndex=o.lastIndex=0,c=-1,l=[],h=[];for(t+="",n+="";(e=r.exec(t))&&(s=o.exec(n));)(a=s.index)>u&&(a=n.slice(u,a),l[c]?l[c]+=a:l[++c]=a),(e=e[0])===(s=s[0])?l[c]?l[c]+=s:l[++c]=s:(l[++c]=null,h.push({i:c,x:(0,i.Z)(e,s)})),u=o.lastIndex;return u{"use strict";e.d(n,{Y:()=>c,w:()=>l});var i,r=e(3626),o=180/Math.PI,s={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function a(t,n,e,i,r,s){var a,u,c;return(a=Math.sqrt(t*t+n*n))&&(t/=a,n/=a),(c=t*e+n*i)&&(e-=t*c,i-=n*c),(u=Math.sqrt(e*e+i*i))&&(e/=u,i/=u,c/=u),t*i180?n+=360:n-t>180&&(t+=360),s.push({i:e.push(o(e)+"rotate(",null,i)-2,x:(0,r.Z)(t,n)})):n&&e.push(o(e)+"rotate("+n+i)}(s.rotate,a.rotate,u,c),function(t,n,e,s){t!==n?s.push({i:e.push(o(e)+"skewX(",null,i)-2,x:(0,r.Z)(t,n)}):n&&e.push(o(e)+"skewX("+n+i)}(s.skewX,a.skewX,u,c),function(t,n,e,i,s,a){if(t!==e||n!==i){var u=s.push(o(s)+"scale(",null,",",null,")");a.push({i:u-4,x:(0,r.Z)(t,e)},{i:u-2,x:(0,r.Z)(n,i)})}else 1===e&&1===i||s.push(o(s)+"scale("+e+","+i+")")}(s.scaleX,s.scaleY,a.scaleX,a.scaleY,u,c),s=a=null,function(t){for(var n,e=-1,i=c.length;++e{"use strict";e.d(n,{Z:()=>f});var i=e(6372),r=e(3414),o=e(8122),s=e(88),a=e(3626),u=e(8528),c=e(9843),l=e(5302),h=e(7896);function f(t,n){var e,f=typeof n;return null==n||"boolean"===f?(0,l.Z)(n):("number"===f?a.Z:"string"===f?(e=(0,i.ZP)(n))?(n=e,r.ZP):c.Z:n instanceof i.ZP?r.ZP:n instanceof Date?s.Z:(0,h.v)(n)?h.Z:Array.isArray(n)?o.M:"function"!=typeof n.valueOf&&"function"!=typeof n.toString||isNaN(n)?u.Z:a.Z)(t,n)}},588:(t,n,e)=>{"use strict";function i(t){return((t=Math.exp(t))+1/t)/2}e.d(n,{Z:()=>r});const r=function t(n,e,r){function o(t,o){var s,a,u=t[0],c=t[1],l=t[2],h=o[0],f=o[1],p=o[2],d=h-u,y=f-c,v=d*d+y*y;if(v<1e-12)a=Math.log(p/l)/n,s=function(t){return[u+t*d,c+t*y,l*Math.exp(n*t*a)]};else{var m=Math.sqrt(v),g=(p*p-l*l+r*v)/(2*l*e*m),_=(p*p-l*l-r*v)/(2*p*e*m),x=Math.log(Math.sqrt(g*g+1)-g),w=Math.log(Math.sqrt(_*_+1)-_);a=(w-x)/n,s=function(t){var r,o=t*a,s=i(x),h=l/(e*m)*(s*(r=n*o+x,((r=Math.exp(2*r))-1)/(r+1))-function(t){return((t=Math.exp(t))-1/t)/2}(x));return[u+h*d,c+h*y,l*s/i(n*o+x)]}}return s.duration=1e3*a*n/Math.SQRT2,s}return o.rho=function(n){var e=Math.max(.001,+n),i=e*e;return t(e,i,i*i)},o}(Math.SQRT2,2,4)},7673:(t,n,e)=>{"use strict";function i(t,n,e){t=+t,n=+n,e=(r=arguments.length)<2?(n=t,t=0,1):r<3?1:+e;for(var i=-1,r=0|Math.max(0,Math.ceil((n-t)/e)),o=new Array(r);++iu,scaleDiverging:()=>si,scaleDivergingLog:()=>ai,scaleDivergingPow:()=>ci,scaleDivergingSqrt:()=>li,scaleDivergingSymlog:()=>ui,scaleIdentity:()=>R,scaleImplicit:()=>s,scaleLinear:()=>Y,scaleLog:()=>Q,scaleOrdinal:()=>a,scalePoint:()=>l,scalePow:()=>at,scaleQuantile:()=>gt,scaleQuantize:()=>_t,scaleRadial:()=>ht,scaleSequential:()=>Qe,scaleSequentialLog:()=>Ke,scaleSequentialPow:()=>ni,scaleSequentialQuantile:()=>ii,scaleSequentialSqrt:()=>ei,scaleSequentialSymlog:()=>ti,scaleSqrt:()=>ut,scaleSymlog:()=>et,scaleThreshold:()=>xt,scaleTime:()=>Xe,scaleUtc:()=>$e,tickFormat:()=>z});const s=Symbol("implicit");function a(){var t=new Map,n=[],e=[],i=s;function o(r){var o=r+"",a=t.get(o);if(!a){if(i!==s)return i;t.set(o,a=n.push(r))}return e[(a-1)%e.length]}return o.domain=function(e){if(!arguments.length)return n.slice();n=[],t=new Map;for(const i of e){const e=i+"";t.has(e)||t.set(e,n.push(i))}return o},o.range=function(t){return arguments.length?(e=Array.from(t),o):e.slice()},o.unknown=function(t){return arguments.length?(i=t,o):i},o.copy=function(){return a(n,e).unknown(i)},r.apply(o,arguments),o}function u(){var t,n,e=a().unknown(void 0),o=e.domain,s=e.range,c=0,l=1,h=!1,f=0,p=0,d=.5;function y(){var e=o().length,r=l0)return[t];if((i=n0){let e=Math.round(t/s),i=Math.round(n/s);for(e*sn&&--i,o=new Array(r=i-e+1);++an&&--i,o=new Array(r=i-e+1);++a=0?(o>=h?10:o>=f?5:o>=p?2:1)*Math.pow(10,r):-Math.pow(10,-r)/(o>=h?10:o>=f?5:o>=p?2:1)}function v(t,n,e){var i=Math.abs(n-t)/Math.max(0,e),r=Math.pow(10,Math.floor(Math.log(i)/Math.LN10)),o=i/r;return o>=h?r*=10:o>=f?r*=5:o>=p&&(r*=2),nn?1:t>=n?0:NaN}function g(t){let n=t,e=t;function i(t,n,i,r){for(null==i&&(i=0),null==r&&(r=t.length);i>>1;e(t[o],n)<0?i=o+1:r=o}return i}return 1===t.length&&(n=(n,e)=>t(n)-e,e=function(t){return(n,e)=>m(t(n),e)}(t)),{left:i,center:function(t,e,r,o){null==r&&(r=0),null==o&&(o=t.length);const s=i(t,e,r,o-1);return s>r&&n(t[s-1],e)>-n(t[s],e)?s-1:s},right:function(t,n,i,r){for(null==i&&(i=0),null==r&&(r=t.length);i>>1;e(t[o],n)>0?r=o:i=o+1}return i}}}function _(t){return null===t?NaN:+t}const x=g(m),w=x.right,b=(x.left,g(_).center,w);var M=e(1265),T=e(3626),E=e(5720);function S(t){return+t}var k=[0,1];function N(t){return t}function A(t,n){return(n-=t=+t)?function(e){return(e-t)/n}:(e=isNaN(n)?NaN:.5,function(){return e});var e}function P(t,n,e){var i=t[0],r=t[1],o=n[0],s=n[1];return rn&&(e=t,t=n,n=e),c=function(e){return Math.max(t,Math.min(n,e))}),i=u>2?L:P,r=o=null,h}function h(n){return null==n||isNaN(n=+n)?e:(r||(r=i(s.map(t),a,u)))(t(c(n)))}return h.invert=function(e){return c(n((o||(o=i(a,s.map(t),T.Z)))(e)))},h.domain=function(t){return arguments.length?(s=Array.from(t,S),l()):s.slice()},h.range=function(t){return arguments.length?(a=Array.from(t),l()):a.slice()},h.rangeRound=function(t){return a=Array.from(t),u=E.Z,l()},h.clamp=function(t){return arguments.length?(c=!!t||N,l()):c!==N},h.interpolate=function(t){return arguments.length?(u=t,l()):u},h.unknown=function(t){return arguments.length?(e=t,h):e},function(e,i){return t=e,n=i,l()}}function I(){return C()(N,N)}var Z=e(6196),D=e(3726),F=e(7539),H=e(7655),j=e(8195);function z(t,n,e,i){var r,o=v(t,n,e);switch((i=(0,Z.Z)(null==i?",f":i)).type){case"s":var s=Math.max(Math.abs(t),Math.abs(n));return null!=i.precision||isNaN(r=(0,D.Z)(o,s))||(i.precision=r),(0,F.jH)(i,s);case"":case"e":case"g":case"p":case"r":null!=i.precision||isNaN(r=(0,H.Z)(o,Math.max(Math.abs(t),Math.abs(n))))||(i.precision=r-("e"===i.type));break;case"f":case"%":null!=i.precision||isNaN(r=(0,j.Z)(o))||(i.precision=r-2*("%"===i.type))}return(0,F.WU)(i)}function U(t){var n=t.domain;return t.ticks=function(t){var e=n();return d(e[0],e[e.length-1],null==t?10:t)},t.tickFormat=function(t,e){var i=n();return z(i[0],i[i.length-1],null==t?10:t,e)},t.nice=function(e){null==e&&(e=10);var i,r,o=n(),s=0,a=o.length-1,u=o[s],c=o[a],l=10;for(c0;){if((r=y(u,c,e))===i)return o[s]=u,o[a]=c,n(o);if(r>0)u=Math.floor(u/r)*r,c=Math.ceil(c/r)*r;else{if(!(r<0))break;u=Math.ceil(u*r)/r,c=Math.floor(c*r)/r}i=r}return t},t}function Y(){var t=I();return t.copy=function(){return O(t,Y())},r.apply(t,arguments),U(t)}function R(t){var n;function e(t){return null==t||isNaN(t=+t)?n:t}return e.invert=e,e.domain=e.range=function(n){return arguments.length?(t=Array.from(n,S),e):t.slice()},e.unknown=function(t){return arguments.length?(n=t,e):n},e.copy=function(){return R(t).unknown(n)},t=arguments.length?Array.from(t,S):[0,1],U(e)}function q(t,n){var e,i=0,r=(t=t.slice()).length-1,o=t[i],s=t[r];return s0){for(;f<=p;++f)for(l=1,c=e(f);lu)break;v.push(h)}}else for(;f<=p;++f)for(l=o-1,c=e(f);l>=1;--l)if(!((h=c*l)u)break;v.push(h)}2*v.length=n)&&(e=n);else{let i=-1;for(let r of t)null!=(r=n(r,++i,t))&&(e=r)&&(e=r)}return e}function pt(t,n){let e;if(void 0===n)for(const n of t)null!=n&&(e>n||void 0===e&&n>=n)&&(e=n);else{let i=-1;for(let r of t)null!=(r=n(r,++i,t))&&(e>r||void 0===e&&r>=r)&&(e=r)}return e}function dt(t,n,e=0,i=t.length-1,r=m){for(;i>e;){if(i-e>600){const o=i-e+1,s=n-e+1,a=Math.log(o),u=.5*Math.exp(2*a/3),c=.5*Math.sqrt(a*u*(o-u)/o)*(s-o/2<0?-1:1);dt(t,n,Math.max(e,Math.floor(n-s*u/o+c)),Math.min(i,Math.floor(n+(o-s)*u/o+c)),r)}const o=t[n];let s=e,a=i;for(yt(t,e,n),r(t[i],o)>0&&yt(t,e,i);s0;)--a}0===r(t[e],o)?yt(t,e,a):(++a,yt(t,a,i)),a<=n&&(e=a+1),n<=a&&(i=a-1)}return t}function yt(t,n,e){const i=t[n];t[n]=t[e],t[e]=i}function vt(t,n,e){if(t=Float64Array.from(function*(t,n){if(void 0===n)for(let n of t)null!=n&&(n=+n)>=n&&(yield n);else{let e=-1;for(let i of t)null!=(i=n(i,++e,t))&&(i=+i)>=i&&(yield i)}}(t,e)),i=t.length){if((n=+n)<=0||i<2)return pt(t);if(n>=1)return ft(t);var i,r=(i-1)*n,o=Math.floor(r),s=ft(dt(t,o).subarray(0,o+1));return s+(pt(t.subarray(o+1))-s)*(r-o)}}function mt(t,n,e=_){if(i=t.length){if((n=+n)<=0||i<2)return+e(t[0],0,t);if(n>=1)return+e(t[i-1],i-1,t);var i,r=(i-1)*n,o=Math.floor(r),s=+e(t[o],o,t);return s+(+e(t[o+1],o+1,t)-s)*(r-o)}}function gt(){var t,n=[],e=[],i=[];function o(){var t=0,r=Math.max(1,e.length);for(i=new Array(r-1);++t0?i[r-1]:n[0],r=i?[o[i-1],e]:[o[r-1],o[r]]},a.unknown=function(n){return arguments.length?(t=n,a):a},a.thresholds=function(){return o.slice()},a.copy=function(){return _t().domain([n,e]).range(s).unknown(t)},r.apply(U(a),arguments)}function xt(){var t,n=[.5],e=[0,1],i=1;function o(r){return null!=r&&r<=r?e[b(n,r,0,i)]:t}return o.domain=function(t){return arguments.length?(n=Array.from(t),i=Math.min(n.length,e.length-1),o):n.slice()},o.range=function(t){return arguments.length?(e=Array.from(t),i=Math.min(n.length,e.length-1),o):e.slice()},o.invertExtent=function(t){var i=e.indexOf(t);return[n[i-1],n[i]]},o.unknown=function(n){return arguments.length?(t=n,o):t},o.copy=function(){return xt().domain(n).range(e).unknown(t)},r.apply(o,arguments)}const wt=1e3,bt=6e4,Mt=36e5,Tt=864e5,Et=6048e5,St=31536e6;var kt=new Date,Nt=new Date;function At(t,n,e,i){function r(n){return t(n=0===arguments.length?new Date:new Date(+n)),n}return r.floor=function(n){return t(n=new Date(+n)),n},r.ceil=function(e){return t(e=new Date(e-1)),n(e,1),t(e),e},r.round=function(t){var n=r(t),e=r.ceil(t);return t-n0))return a;do{a.push(s=new Date(+e)),n(e,o),t(e)}while(s=n)for(;t(n),!e(n);)n.setTime(n-1)}),(function(t,i){if(t>=t)if(i<0)for(;++i<=0;)for(;n(t,-1),!e(t););else for(;--i>=0;)for(;n(t,1),!e(t););}))},e&&(r.count=function(n,i){return kt.setTime(+n),Nt.setTime(+i),t(kt),t(Nt),Math.floor(e(kt,Nt))},r.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?r.filter(i?function(n){return i(n)%t==0}:function(n){return r.count(0,n)%t==0}):r:null}),r}var Pt=At((function(){}),(function(t,n){t.setTime(+t+n)}),(function(t,n){return n-t}));Pt.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?At((function(n){n.setTime(Math.floor(n/t)*t)}),(function(n,e){n.setTime(+n+e*t)}),(function(n,e){return(e-n)/t})):Pt:null};const Lt=Pt;Pt.range;var Ot=At((function(t){t.setTime(t-t.getMilliseconds())}),(function(t,n){t.setTime(+t+n*wt)}),(function(t,n){return(n-t)/wt}),(function(t){return t.getUTCSeconds()}));const Ct=Ot;Ot.range;var It=At((function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*wt)}),(function(t,n){t.setTime(+t+n*bt)}),(function(t,n){return(n-t)/bt}),(function(t){return t.getMinutes()}));const Zt=It;It.range;var Dt=At((function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*wt-t.getMinutes()*bt)}),(function(t,n){t.setTime(+t+n*Mt)}),(function(t,n){return(n-t)/Mt}),(function(t){return t.getHours()}));const Ft=Dt;Dt.range;var Ht=At((t=>t.setHours(0,0,0,0)),((t,n)=>t.setDate(t.getDate()+n)),((t,n)=>(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*bt)/Tt),(t=>t.getDate()-1));const jt=Ht;function zt(t){return At((function(n){n.setDate(n.getDate()-(n.getDay()+7-t)%7),n.setHours(0,0,0,0)}),(function(t,n){t.setDate(t.getDate()+7*n)}),(function(t,n){return(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*bt)/Et}))}Ht.range;var Ut=zt(0),Yt=zt(1),Rt=zt(2),qt=zt(3),Bt=zt(4),Vt=zt(5),Wt=zt(6),Xt=(Ut.range,Yt.range,Rt.range,qt.range,Bt.range,Vt.range,Wt.range,At((function(t){t.setDate(1),t.setHours(0,0,0,0)}),(function(t,n){t.setMonth(t.getMonth()+n)}),(function(t,n){return n.getMonth()-t.getMonth()+12*(n.getFullYear()-t.getFullYear())}),(function(t){return t.getMonth()})));const $t=Xt;Xt.range;var Gt=At((function(t){t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,n){t.setFullYear(t.getFullYear()+n)}),(function(t,n){return n.getFullYear()-t.getFullYear()}),(function(t){return t.getFullYear()}));Gt.every=function(t){return isFinite(t=Math.floor(t))&&t>0?At((function(n){n.setFullYear(Math.floor(n.getFullYear()/t)*t),n.setMonth(0,1),n.setHours(0,0,0,0)}),(function(n,e){n.setFullYear(n.getFullYear()+e*t)})):null};const Jt=Gt;Gt.range;var Qt=At((function(t){t.setUTCSeconds(0,0)}),(function(t,n){t.setTime(+t+n*bt)}),(function(t,n){return(n-t)/bt}),(function(t){return t.getUTCMinutes()}));const Kt=Qt;Qt.range;var tn=At((function(t){t.setUTCMinutes(0,0,0)}),(function(t,n){t.setTime(+t+n*Mt)}),(function(t,n){return(n-t)/Mt}),(function(t){return t.getUTCHours()}));const nn=tn;tn.range;var en=At((function(t){t.setUTCHours(0,0,0,0)}),(function(t,n){t.setUTCDate(t.getUTCDate()+n)}),(function(t,n){return(n-t)/Tt}),(function(t){return t.getUTCDate()-1}));const rn=en;function on(t){return At((function(n){n.setUTCDate(n.getUTCDate()-(n.getUTCDay()+7-t)%7),n.setUTCHours(0,0,0,0)}),(function(t,n){t.setUTCDate(t.getUTCDate()+7*n)}),(function(t,n){return(n-t)/Et}))}en.range;var sn=on(0),an=on(1),un=on(2),cn=on(3),ln=on(4),hn=on(5),fn=on(6),pn=(sn.range,an.range,un.range,cn.range,ln.range,hn.range,fn.range,At((function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)}),(function(t,n){t.setUTCMonth(t.getUTCMonth()+n)}),(function(t,n){return n.getUTCMonth()-t.getUTCMonth()+12*(n.getUTCFullYear()-t.getUTCFullYear())}),(function(t){return t.getUTCMonth()})));const dn=pn;pn.range;var yn=At((function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,n){t.setUTCFullYear(t.getUTCFullYear()+n)}),(function(t,n){return n.getUTCFullYear()-t.getUTCFullYear()}),(function(t){return t.getUTCFullYear()}));yn.every=function(t){return isFinite(t=Math.floor(t))&&t>0?At((function(n){n.setUTCFullYear(Math.floor(n.getUTCFullYear()/t)*t),n.setUTCMonth(0,1),n.setUTCHours(0,0,0,0)}),(function(n,e){n.setUTCFullYear(n.getUTCFullYear()+e*t)})):null};const vn=yn;function mn(t,n,e,i,r,o){const s=[[Ct,1,wt],[Ct,5,5e3],[Ct,15,15e3],[Ct,30,3e4],[o,1,bt],[o,5,3e5],[o,15,9e5],[o,30,18e5],[r,1,Mt],[r,3,108e5],[r,6,216e5],[r,12,432e5],[i,1,Tt],[i,2,1728e5],[e,1,Et],[n,1,2592e6],[n,3,7776e6],[t,1,St]];function a(n,e,i){const r=Math.abs(e-n)/i,o=g((([,,t])=>t)).right(s,r);if(o===s.length)return t.every(v(n/St,e/St,i));if(0===o)return Lt.every(Math.max(v(n,e,i),1));const[a,u]=s[r/s[o-1][2][t.toLowerCase(),n])))}function Dn(t,n,e){var i=An.exec(n.slice(e,e+1));return i?(t.w=+i[0],e+i[0].length):-1}function Fn(t,n,e){var i=An.exec(n.slice(e,e+1));return i?(t.u=+i[0],e+i[0].length):-1}function Hn(t,n,e){var i=An.exec(n.slice(e,e+2));return i?(t.U=+i[0],e+i[0].length):-1}function jn(t,n,e){var i=An.exec(n.slice(e,e+2));return i?(t.V=+i[0],e+i[0].length):-1}function zn(t,n,e){var i=An.exec(n.slice(e,e+2));return i?(t.W=+i[0],e+i[0].length):-1}function Un(t,n,e){var i=An.exec(n.slice(e,e+4));return i?(t.y=+i[0],e+i[0].length):-1}function Yn(t,n,e){var i=An.exec(n.slice(e,e+2));return i?(t.y=+i[0]+(+i[0]>68?1900:2e3),e+i[0].length):-1}function Rn(t,n,e){var i=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(n.slice(e,e+6));return i?(t.Z=i[1]?0:-(i[2]+(i[3]||"00")),e+i[0].length):-1}function qn(t,n,e){var i=An.exec(n.slice(e,e+1));return i?(t.q=3*i[0]-3,e+i[0].length):-1}function Bn(t,n,e){var i=An.exec(n.slice(e,e+2));return i?(t.m=i[0]-1,e+i[0].length):-1}function Vn(t,n,e){var i=An.exec(n.slice(e,e+2));return i?(t.d=+i[0],e+i[0].length):-1}function Wn(t,n,e){var i=An.exec(n.slice(e,e+3));return i?(t.m=0,t.d=+i[0],e+i[0].length):-1}function Xn(t,n,e){var i=An.exec(n.slice(e,e+2));return i?(t.H=+i[0],e+i[0].length):-1}function $n(t,n,e){var i=An.exec(n.slice(e,e+2));return i?(t.M=+i[0],e+i[0].length):-1}function Gn(t,n,e){var i=An.exec(n.slice(e,e+2));return i?(t.S=+i[0],e+i[0].length):-1}function Jn(t,n,e){var i=An.exec(n.slice(e,e+3));return i?(t.L=+i[0],e+i[0].length):-1}function Qn(t,n,e){var i=An.exec(n.slice(e,e+6));return i?(t.L=Math.floor(i[0]/1e3),e+i[0].length):-1}function Kn(t,n,e){var i=Pn.exec(n.slice(e,e+1));return i?e+i[0].length:-1}function te(t,n,e){var i=An.exec(n.slice(e));return i?(t.Q=+i[0],e+i[0].length):-1}function ne(t,n,e){var i=An.exec(n.slice(e));return i?(t.s=+i[0],e+i[0].length):-1}function ee(t,n){return On(t.getDate(),n,2)}function ie(t,n){return On(t.getHours(),n,2)}function re(t,n){return On(t.getHours()%12||12,n,2)}function oe(t,n){return On(1+jt.count(Jt(t),t),n,3)}function se(t,n){return On(t.getMilliseconds(),n,3)}function ae(t,n){return se(t,n)+"000"}function ue(t,n){return On(t.getMonth()+1,n,2)}function ce(t,n){return On(t.getMinutes(),n,2)}function le(t,n){return On(t.getSeconds(),n,2)}function he(t){var n=t.getDay();return 0===n?7:n}function fe(t,n){return On(Ut.count(Jt(t)-1,t),n,2)}function pe(t){var n=t.getDay();return n>=4||0===n?Bt(t):Bt.ceil(t)}function de(t,n){return t=pe(t),On(Bt.count(Jt(t),t)+(4===Jt(t).getDay()),n,2)}function ye(t){return t.getDay()}function ve(t,n){return On(Yt.count(Jt(t)-1,t),n,2)}function me(t,n){return On(t.getFullYear()%100,n,2)}function ge(t,n){return On((t=pe(t)).getFullYear()%100,n,2)}function _e(t,n){return On(t.getFullYear()%1e4,n,4)}function xe(t,n){var e=t.getDay();return On((t=e>=4||0===e?Bt(t):Bt.ceil(t)).getFullYear()%1e4,n,4)}function we(t){var n=t.getTimezoneOffset();return(n>0?"-":(n*=-1,"+"))+On(n/60|0,"0",2)+On(n%60,"0",2)}function be(t,n){return On(t.getUTCDate(),n,2)}function Me(t,n){return On(t.getUTCHours(),n,2)}function Te(t,n){return On(t.getUTCHours()%12||12,n,2)}function Ee(t,n){return On(1+rn.count(vn(t),t),n,3)}function Se(t,n){return On(t.getUTCMilliseconds(),n,3)}function ke(t,n){return Se(t,n)+"000"}function Ne(t,n){return On(t.getUTCMonth()+1,n,2)}function Ae(t,n){return On(t.getUTCMinutes(),n,2)}function Pe(t,n){return On(t.getUTCSeconds(),n,2)}function Le(t){var n=t.getUTCDay();return 0===n?7:n}function Oe(t,n){return On(sn.count(vn(t)-1,t),n,2)}function Ce(t){var n=t.getUTCDay();return n>=4||0===n?ln(t):ln.ceil(t)}function Ie(t,n){return t=Ce(t),On(ln.count(vn(t),t)+(4===vn(t).getUTCDay()),n,2)}function Ze(t){return t.getUTCDay()}function De(t,n){return On(an.count(vn(t)-1,t),n,2)}function Fe(t,n){return On(t.getUTCFullYear()%100,n,2)}function He(t,n){return On((t=Ce(t)).getUTCFullYear()%100,n,2)}function je(t,n){return On(t.getUTCFullYear()%1e4,n,4)}function ze(t,n){var e=t.getUTCDay();return On((t=e>=4||0===e?ln(t):ln.ceil(t)).getUTCFullYear()%1e4,n,4)}function Ue(){return"+0000"}function Ye(){return"%"}function Re(t){return+t}function qe(t){return Math.floor(+t/1e3)}function Be(t){return new Date(t)}function Ve(t){return t instanceof Date?+t:+new Date(+t)}function We(t,n,e,i,r,o,s,a,u,c){var l=I(),h=l.invert,f=l.domain,p=c(".%L"),d=c(":%S"),y=c("%I:%M"),v=c("%I %p"),m=c("%a %d"),g=c("%b %d"),_=c("%B"),x=c("%Y");function w(t){return(u(t)n(i/(t.length-1))))},e.quantiles=function(n){return Array.from({length:n+1},((e,i)=>vt(t,i/n)))},e.copy=function(){return ii(n).domain(t)},o.apply(e,arguments)}En=function(t){var n=t.dateTime,e=t.date,i=t.time,r=t.periods,o=t.days,s=t.shortDays,a=t.months,u=t.shortMonths,c=In(r),l=Zn(r),h=In(o),f=Zn(o),p=In(s),d=Zn(s),y=In(a),v=Zn(a),m=In(u),g=Zn(u),_={a:function(t){return s[t.getDay()]},A:function(t){return o[t.getDay()]},b:function(t){return u[t.getMonth()]},B:function(t){return a[t.getMonth()]},c:null,d:ee,e:ee,f:ae,g:ge,G:xe,H:ie,I:re,j:oe,L:se,m:ue,M:ce,p:function(t){return r[+(t.getHours()>=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:Re,s:qe,S:le,u:he,U:fe,V:de,w:ye,W:ve,x:null,X:null,y:me,Y:_e,Z:we,"%":Ye},x={a:function(t){return s[t.getUTCDay()]},A:function(t){return o[t.getUTCDay()]},b:function(t){return u[t.getUTCMonth()]},B:function(t){return a[t.getUTCMonth()]},c:null,d:be,e:be,f:ke,g:He,G:ze,H:Me,I:Te,j:Ee,L:Se,m:Ne,M:Ae,p:function(t){return r[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:Re,s:qe,S:Pe,u:Le,U:Oe,V:Ie,w:Ze,W:De,x:null,X:null,y:Fe,Y:je,Z:Ue,"%":Ye},w={a:function(t,n,e){var i=p.exec(n.slice(e));return i?(t.w=d.get(i[0].toLowerCase()),e+i[0].length):-1},A:function(t,n,e){var i=h.exec(n.slice(e));return i?(t.w=f.get(i[0].toLowerCase()),e+i[0].length):-1},b:function(t,n,e){var i=m.exec(n.slice(e));return i?(t.m=g.get(i[0].toLowerCase()),e+i[0].length):-1},B:function(t,n,e){var i=y.exec(n.slice(e));return i?(t.m=v.get(i[0].toLowerCase()),e+i[0].length):-1},c:function(t,e,i){return T(t,n,e,i)},d:Vn,e:Vn,f:Qn,g:Yn,G:Un,H:Xn,I:Xn,j:Wn,L:Jn,m:Bn,M:$n,p:function(t,n,e){var i=c.exec(n.slice(e));return i?(t.p=l.get(i[0].toLowerCase()),e+i[0].length):-1},q:qn,Q:te,s:ne,S:Gn,u:Fn,U:Hn,V:jn,w:Dn,W:zn,x:function(t,n,i){return T(t,e,n,i)},X:function(t,n,e){return T(t,i,n,e)},y:Yn,Y:Un,Z:Rn,"%":Kn};function b(t,n){return function(e){var i,r,o,s=[],a=-1,u=0,c=t.length;for(e instanceof Date||(e=new Date(+e));++a53)return null;"w"in o||(o.w=1),"Z"in o?(r=(i=Mn(Tn(o.y,0,1))).getUTCDay(),i=r>4||0===r?an.ceil(i):an(i),i=rn.offset(i,7*(o.V-1)),o.y=i.getUTCFullYear(),o.m=i.getUTCMonth(),o.d=i.getUTCDate()+(o.w+6)%7):(r=(i=bn(Tn(o.y,0,1))).getDay(),i=r>4||0===r?Yt.ceil(i):Yt(i),i=jt.offset(i,7*(o.V-1)),o.y=i.getFullYear(),o.m=i.getMonth(),o.d=i.getDate()+(o.w+6)%7)}else("W"in o||"U"in o)&&("w"in o||(o.w="u"in o?o.u%7:"W"in o?1:0),r="Z"in o?Mn(Tn(o.y,0,1)).getUTCDay():bn(Tn(o.y,0,1)).getDay(),o.m=0,o.d="W"in o?(o.w+6)%7+7*o.W-(r+5)%7:o.w+7*o.U-(r+6)%7);return"Z"in o?(o.H+=o.Z/100|0,o.M+=o.Z%100,Mn(o)):bn(o)}}function T(t,n,e,i){for(var r,o,s=0,a=n.length,u=e.length;s=u)return-1;if(37===(r=n.charCodeAt(s++))){if(r=n.charAt(s++),!(o=w[r in Nn?n.charAt(s++):r])||(i=o(t,e,i))<0)return-1}else if(r!=e.charCodeAt(i++))return-1}return i}return _.x=b(e,_),_.X=b(i,_),_.c=b(n,_),x.x=b(e,x),x.X=b(i,x),x.c=b(n,x),{format:function(t){var n=b(t+="",_);return n.toString=function(){return t},n},parse:function(t){var n=M(t+="",!1);return n.toString=function(){return t},n},utcFormat:function(t){var n=b(t+="",x);return n.toString=function(){return t},n},utcParse:function(t){var n=M(t+="",!0);return n.toString=function(){return t},n}}}({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}),Sn=En.format,En.parse,kn=En.utcFormat,En.utcParse;var ri=e(108);function oi(){var t,n,e,i,r,o,s,a=0,u=.5,c=1,l=1,h=N,f=!1;function p(t){return isNaN(t=+t)?s:(t=.5+((t=+o(t))-n)*(l*t{"use strict";function i(t){return"object"==typeof t&&"length"in t?t:Array.from(t)}e.d(n,{Z:()=>i})},789:(t,n,e)=>{"use strict";e.d(n,{Z:()=>a});var i=e(3888),r=e(1986);function o(t){return function(){var n=this.ownerDocument,e=this.namespaceURI;return e===r.P&&n.documentElement.namespaceURI===r.P?n.createElement(t):n.createElementNS(e,t)}}function s(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function a(t){var n=(0,i.Z)(t);return(n.local?s:o)(n)}},6811:(t,n,e)=>{"use strict";e.r(n),e.d(n,{create:()=>o,creator:()=>i.Z,local:()=>a,matcher:()=>c.Z,namespace:()=>l.Z,namespaces:()=>h.Z,pointer:()=>f.Z,pointers:()=>d,select:()=>r.Z,selectAll:()=>m,selection:()=>v.ZP,selector:()=>g.Z,selectorAll:()=>_.Z,style:()=>x.S,window:()=>w.Z});var i=e(789),r=e(4017);function o(t){return(0,r.Z)((0,i.Z)(t).call(document.documentElement))}var s=0;function a(){return new u}function u(){this._="@"+(++s).toString(36)}u.prototype=a.prototype={constructor:u,get:function(t){for(var n=this._;!(n in t);)if(!(t=t.parentNode))return;return t[n]},set:function(t,n){return t[this._]=n},remove:function(t){return this._ in t&&delete t[this._]},toString:function(){return this._}};var c=e(3083),l=e(3888),h=e(1986),f=e(3172),p=e(5553);function d(t,n){return t.target&&(t=(0,p.Z)(t),void 0===n&&(n=t.currentTarget),t=t.touches||[t]),Array.from(t,(t=>(0,f.Z)(t,n)))}var y=e(4313),v=e(3434);function m(t){return"string"==typeof t?new v.Y1([document.querySelectorAll(t)],[document.documentElement]):new v.Y1([null==t?[]:(0,y.Z)(t)],v.Jz)}var g=e(2634),_=e(3545),x=e(9986),w=e(5021)},3083:(t,n,e)=>{"use strict";function i(t){return function(){return this.matches(t)}}function r(t){return function(n){return n.matches(t)}}e.d(n,{P:()=>r,Z:()=>i})},3888:(t,n,e)=>{"use strict";e.d(n,{Z:()=>r});var i=e(1986);function r(t){var n=t+="",e=n.indexOf(":");return e>=0&&"xmlns"!==(n=t.slice(0,e))&&(t=t.slice(e+1)),i.Z.hasOwnProperty(n)?{space:i.Z[n],local:t}:t}},1986:(t,n,e)=>{"use strict";e.d(n,{P:()=>i,Z:()=>r});var i="http://www.w3.org/1999/xhtml";const r={svg:"http://www.w3.org/2000/svg",xhtml:i,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"}},3172:(t,n,e)=>{"use strict";e.d(n,{Z:()=>r});var i=e(5553);function r(t,n){if(t=(0,i.Z)(t),void 0===n&&(n=t.currentTarget),n){var e=n.ownerSVGElement||n;if(e.createSVGPoint){var r=e.createSVGPoint();return r.x=t.clientX,r.y=t.clientY,[(r=r.matrixTransform(n.getScreenCTM().inverse())).x,r.y]}if(n.getBoundingClientRect){var o=n.getBoundingClientRect();return[t.clientX-o.left-n.clientLeft,t.clientY-o.top-n.clientTop]}}return[t.pageX,t.pageY]}},4017:(t,n,e)=>{"use strict";e.d(n,{Z:()=>r});var i=e(3434);function r(t){return"string"==typeof t?new i.Y1([[document.querySelector(t)]],[document.documentElement]):new i.Y1([[t]],i.Jz)}},3434:(t,n,e)=>{"use strict";e.d(n,{Y1:()=>rt,ZP:()=>st,Jz:()=>it});var i=e(2634),r=e(4313),o=e(3545),s=e(3083),a=Array.prototype.find;function u(){return this.firstElementChild}var c=Array.prototype.filter;function l(){return this.children}function h(t){return new Array(t.length)}function f(t,n){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=n}function p(t){return function(){return t}}function d(t,n,e,i,r,o){for(var s,a=0,u=n.length,c=o.length;an?1:t>=n?0:NaN}f.prototype={constructor:f,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,n){return this._parent.insertBefore(t,n)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};var g=e(3888);function _(t){return function(){this.removeAttribute(t)}}function x(t){return function(){this.removeAttributeNS(t.space,t.local)}}function w(t,n){return function(){this.setAttribute(t,n)}}function b(t,n){return function(){this.setAttributeNS(t.space,t.local,n)}}function M(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttribute(t):this.setAttribute(t,e)}}function T(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,e)}}var E=e(9986);function S(t){return function(){delete this[t]}}function k(t,n){return function(){this[t]=n}}function N(t,n){return function(){var e=n.apply(this,arguments);null==e?delete this[t]:this[t]=e}}function A(t){return t.trim().split(/^|\s+/)}function P(t){return t.classList||new L(t)}function L(t){this._node=t,this._names=A(t.getAttribute("class")||"")}function O(t,n){for(var e=P(t),i=-1,r=n.length;++i=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var B=e(789);function V(){return null}function W(){var t=this.parentNode;t&&t.removeChild(this)}function X(){var t=this.cloneNode(!1),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}function $(){var t=this.cloneNode(!0),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}function G(t){return t.trim().split(/^|\s+/).map((function(t){var n="",e=t.indexOf(".");return e>=0&&(n=t.slice(e+1),t=t.slice(0,e)),{type:t,name:n}}))}function J(t){return function(){var n=this.__on;if(n){for(var e,i=0,r=-1,o=n.length;i=S&&(S=E+1);!(T=w[S])&&++S<_;);M._next=T||null}}return(a=new rt(a,i))._enter=u,a._exit=c,a},enter:function(){return new rt(this._enter||this._groups.map(h),this._parents)},exit:function(){return new rt(this._exit||this._groups.map(h),this._parents)},join:function(t,n,e){var i=this.enter(),r=this,o=this.exit();return i="function"==typeof t?t(i):i.append(t+""),null!=n&&(r=n(r)),null==e?o.remove():e(o),i&&r?i.merge(r).order():r},merge:function(t){if(!(t instanceof rt))throw new Error("invalid merge");for(var n=this._groups,e=t._groups,i=n.length,r=e.length,o=Math.min(i,r),s=new Array(i),a=0;a=0;)(i=r[o])&&(s&&4^i.compareDocumentPosition(s)&&s.parentNode.insertBefore(i,s),s=i);return this},sort:function(t){function n(n,e){return n&&e?t(n.__data__,e.__data__):!n-!e}t||(t=m);for(var e=this._groups,i=e.length,r=new Array(i),o=0;o1?this.each((null==n?S:"function"==typeof n?N:k)(t,n)):this.node()[t]},classed:function(t,n){var e=A(t+"");if(arguments.length<2){for(var i=P(this.node()),r=-1,o=e.length;++r{"use strict";e.d(n,{S:()=>u,Z:()=>a});var i=e(5021);function r(t){return function(){this.style.removeProperty(t)}}function o(t,n,e){return function(){this.style.setProperty(t,n,e)}}function s(t,n,e){return function(){var i=n.apply(this,arguments);null==i?this.style.removeProperty(t):this.style.setProperty(t,i,e)}}function a(t,n,e){return arguments.length>1?this.each((null==n?r:"function"==typeof n?s:o)(t,n,null==e?"":e)):u(this.node(),t)}function u(t,n){return t.style.getPropertyValue(n)||(0,i.Z)(t).getComputedStyle(t,null).getPropertyValue(n)}},2634:(t,n,e)=>{"use strict";function i(){}function r(t){return null==t?i:function(){return this.querySelector(t)}}e.d(n,{Z:()=>r})},3545:(t,n,e)=>{"use strict";function i(){return[]}function r(t){return null==t?i:function(){return this.querySelectorAll(t)}}e.d(n,{Z:()=>r})},5553:(t,n,e)=>{"use strict";function i(t){let n;for(;n=t.sourceEvent;)t=n;return t}e.d(n,{Z:()=>i})},5021:(t,n,e)=>{"use strict";function i(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}e.d(n,{Z:()=>i})},9852:(t,n,e)=>{"use strict";e.r(n),e.d(n,{arc:()=>L,area:()=>j,areaRadial:()=>X,curveBasis:()=>kt,curveBasisClosed:()=>At,curveBasisOpen:()=>Lt,curveBumpX:()=>Ct,curveBumpY:()=>It,curveBundle:()=>Dt,curveCardinal:()=>jt,curveCardinalClosed:()=>Ut,curveCardinalOpen:()=>Rt,curveCatmullRom:()=>Vt,curveCatmullRomClosed:()=>Xt,curveCatmullRomOpen:()=>Gt,curveLinear:()=>Z,curveLinearClosed:()=>Qt,curveMonotoneX:()=>an,curveMonotoneY:()=>un,curveNatural:()=>hn,curveStep:()=>pn,curveStepAfter:()=>yn,curveStepBefore:()=>dn,line:()=>H,lineRadial:()=>W,linkHorizontal:()=>et,linkRadial:()=>rt,linkVertical:()=>it,pie:()=>Y,pointRadial:()=>$,radialArea:()=>X,radialLine:()=>W,stack:()=>xn,stackOffsetDiverging:()=>bn,stackOffsetExpand:()=>wn,stackOffsetNone:()=>vn,stackOffsetSilhouette:()=>Mn,stackOffsetWiggle:()=>Tn,stackOrderAppearance:()=>En,stackOrderAscending:()=>kn,stackOrderDescending:()=>An,stackOrderInsideOut:()=>Pn,stackOrderNone:()=>mn,stackOrderReverse:()=>Ln,symbol:()=>Mt,symbolCircle:()=>ot,symbolCross:()=>st,symbolDiamond:()=>ct,symbolSquare:()=>dt,symbolStar:()=>pt,symbolTriangle:()=>vt,symbolWye:()=>wt,symbols:()=>bt});const i=Math.PI,r=2*i,o=1e-6,s=r-o;function a(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function u(){return new a}a.prototype=u.prototype={constructor:a,moveTo:function(t,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,n){this._+="L"+(this._x1=+t)+","+(this._y1=+n)},quadraticCurveTo:function(t,n,e,i){this._+="Q"+ +t+","+ +n+","+(this._x1=+e)+","+(this._y1=+i)},bezierCurveTo:function(t,n,e,i,r,o){this._+="C"+ +t+","+ +n+","+ +e+","+ +i+","+(this._x1=+r)+","+(this._y1=+o)},arcTo:function(t,n,e,r,s){t=+t,n=+n,e=+e,r=+r,s=+s;var a=this._x1,u=this._y1,c=e-t,l=r-n,h=a-t,f=u-n,p=h*h+f*f;if(s<0)throw new Error("negative radius: "+s);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=n);else if(p>o)if(Math.abs(f*c-l*h)>o&&s){var d=e-a,y=r-u,v=c*c+l*l,m=d*d+y*y,g=Math.sqrt(v),_=Math.sqrt(p),x=s*Math.tan((i-Math.acos((v+p-m)/(2*g*_)))/2),w=x/_,b=x/g;Math.abs(w-1)>o&&(this._+="L"+(t+w*h)+","+(n+w*f)),this._+="A"+s+","+s+",0,0,"+ +(f*d>h*y)+","+(this._x1=t+b*c)+","+(this._y1=n+b*l)}else this._+="L"+(this._x1=t)+","+(this._y1=n)},arc:function(t,n,e,a,u,c){t=+t,n=+n,c=!!c;var l=(e=+e)*Math.cos(a),h=e*Math.sin(a),f=t+l,p=n+h,d=1^c,y=c?a-u:u-a;if(e<0)throw new Error("negative radius: "+e);null===this._x1?this._+="M"+f+","+p:(Math.abs(this._x1-f)>o||Math.abs(this._y1-p)>o)&&(this._+="L"+f+","+p),e&&(y<0&&(y=y%r+r),y>s?this._+="A"+e+","+e+",0,1,"+d+","+(t-l)+","+(n-h)+"A"+e+","+e+",0,1,"+d+","+(this._x1=f)+","+(this._y1=p):y>o&&(this._+="A"+e+","+e+",0,"+ +(y>=i)+","+d+","+(this._x1=t+e*Math.cos(u))+","+(this._y1=n+e*Math.sin(u))))},rect:function(t,n,e,i){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)+"h"+ +e+"v"+ +i+"h"+-e+"Z"},toString:function(){return this._}};const c=u;function l(t){return function(){return t}}var h=Math.abs,f=Math.atan2,p=Math.cos,d=Math.max,y=Math.min,v=Math.sin,m=Math.sqrt,g=1e-12,_=Math.PI,x=_/2,w=2*_;function b(t){return t>1?0:t<-1?_:Math.acos(t)}function M(t){return t>=1?x:t<=-1?-x:Math.asin(t)}function T(t){return t.innerRadius}function E(t){return t.outerRadius}function S(t){return t.startAngle}function k(t){return t.endAngle}function N(t){return t&&t.padAngle}function A(t,n,e,i,r,o,s,a){var u=e-t,c=i-n,l=s-r,h=a-o,f=h*u-l*c;if(!(f*fO*O+C*C&&(S=N,k=A),{cx:S,cy:k,x01:-l,y01:-h,x11:S*(r/M-1),y11:k*(r/M-1)}}function L(){var t=T,n=E,e=l(0),i=null,r=S,o=k,s=N,a=null;function u(){var u,l,d=+t.apply(this,arguments),T=+n.apply(this,arguments),E=r.apply(this,arguments)-x,S=o.apply(this,arguments)-x,k=h(S-E),N=S>E;if(a||(a=u=c()),Tg)if(k>w-g)a.moveTo(T*p(E),T*v(E)),a.arc(0,0,T,E,S,!N),d>g&&(a.moveTo(d*p(S),d*v(S)),a.arc(0,0,d,S,E,N));else{var L,O,C=E,I=S,Z=E,D=S,F=k,H=k,j=s.apply(this,arguments)/2,z=j>g&&(i?+i.apply(this,arguments):m(d*d+T*T)),U=y(h(T-d)/2,+e.apply(this,arguments)),Y=U,R=U;if(z>g){var q=M(z/d*v(j)),B=M(z/T*v(j));(F-=2*q)>g?(Z+=q*=N?1:-1,D-=q):(F=0,Z=D=(E+S)/2),(H-=2*B)>g?(C+=B*=N?1:-1,I-=B):(H=0,C=I=(E+S)/2)}var V=T*p(C),W=T*v(C),X=d*p(D),$=d*v(D);if(U>g){var G,J=T*p(I),Q=T*v(I),K=d*p(Z),tt=d*v(Z);if(k<_&&(G=A(V,W,K,tt,J,Q,X,$))){var nt=V-G[0],et=W-G[1],it=J-G[0],rt=Q-G[1],ot=1/v(b((nt*it+et*rt)/(m(nt*nt+et*et)*m(it*it+rt*rt)))/2),st=m(G[0]*G[0]+G[1]*G[1]);Y=y(U,(d-st)/(ot-1)),R=y(U,(T-st)/(ot+1))}}H>g?R>g?(L=P(K,tt,V,W,T,R,N),O=P(J,Q,X,$,T,R,N),a.moveTo(L.cx+L.x01,L.cy+L.y01),Rg&&F>g?Y>g?(L=P(X,$,J,Q,d,-Y,N),O=P(V,W,K,tt,d,-Y,N),a.lineTo(L.cx+L.x01,L.cy+L.y01),Y=h;--f)a.point(m[f],g[f]);a.lineEnd(),a.areaEnd()}v&&(m[l]=+t(p,l,u),g[l]=+n(p,l,u),a.point(i?+i(p,l,u):m[l],e?+e(p,l,u):g[l]))}if(d)return a=null,d+""||null}function h(){return H().defined(r).curve(s).context(o)}return t="function"==typeof t?t:void 0===t?D:l(+t),n="function"==typeof n?n:l(void 0===n?0:+n),e="function"==typeof e?e:void 0===e?F:l(+e),u.x=function(n){return arguments.length?(t="function"==typeof n?n:l(+n),i=null,u):t},u.x0=function(n){return arguments.length?(t="function"==typeof n?n:l(+n),u):t},u.x1=function(t){return arguments.length?(i=null==t?null:"function"==typeof t?t:l(+t),u):i},u.y=function(t){return arguments.length?(n="function"==typeof t?t:l(+t),e=null,u):n},u.y0=function(t){return arguments.length?(n="function"==typeof t?t:l(+t),u):n},u.y1=function(t){return arguments.length?(e=null==t?null:"function"==typeof t?t:l(+t),u):e},u.lineX0=u.lineY0=function(){return h().x(t).y(n)},u.lineY1=function(){return h().x(t).y(e)},u.lineX1=function(){return h().x(i).y(n)},u.defined=function(t){return arguments.length?(r="function"==typeof t?t:l(!!t),u):r},u.curve=function(t){return arguments.length?(s=t,null!=o&&(a=s(o)),u):s},u.context=function(t){return arguments.length?(null==t?o=a=null:a=s(o=t),u):o},u}function z(t,n){return nt?1:n>=t?0:NaN}function U(t){return t}function Y(){var t=U,n=z,e=null,i=l(0),r=l(w),o=l(0);function s(s){var a,u,c,l,h,f=(s=C(s)).length,p=0,d=new Array(f),y=new Array(f),v=+i.apply(this,arguments),m=Math.min(w,Math.max(-w,r.apply(this,arguments)-v)),g=Math.min(Math.abs(m)/f,o.apply(this,arguments)),_=g*(m<0?-1:1);for(a=0;a0&&(p+=h);for(null!=n?d.sort((function(t,e){return n(y[t],y[e])})):null!=e&&d.sort((function(t,n){return e(s[t],s[n])})),a=0,c=p?(m-f*_)/p:0;a0?h*c:0)+_,y[u]={data:s[u],index:a,value:h,startAngle:v,endAngle:l,padAngle:g};return y}return s.value=function(n){return arguments.length?(t="function"==typeof n?n:l(+n),s):t},s.sortValues=function(t){return arguments.length?(n=t,e=null,s):n},s.sort=function(t){return arguments.length?(e=t,n=null,s):e},s.startAngle=function(t){return arguments.length?(i="function"==typeof t?t:l(+t),s):i},s.endAngle=function(t){return arguments.length?(r="function"==typeof t?t:l(+t),s):r},s.padAngle=function(t){return arguments.length?(o="function"==typeof t?t:l(+t),s):o},s}I.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;default:this._context.lineTo(t,n)}}};var R=B(Z);function q(t){this._curve=t}function B(t){function n(n){return new q(t(n))}return n._curve=t,n}function V(t){var n=t.curve;return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t.curve=function(t){return arguments.length?n(B(t)):n()._curve},t}function W(){return V(H().curve(R))}function X(){var t=j().curve(R),n=t.curve,e=t.lineX0,i=t.lineX1,r=t.lineY0,o=t.lineY1;return t.angle=t.x,delete t.x,t.startAngle=t.x0,delete t.x0,t.endAngle=t.x1,delete t.x1,t.radius=t.y,delete t.y,t.innerRadius=t.y0,delete t.y0,t.outerRadius=t.y1,delete t.y1,t.lineStartAngle=function(){return V(e())},delete t.lineX0,t.lineEndAngle=function(){return V(i())},delete t.lineX1,t.lineInnerRadius=function(){return V(r())},delete t.lineY0,t.lineOuterRadius=function(){return V(o())},delete t.lineY1,t.curve=function(t){return arguments.length?n(B(t)):n()._curve},t}function $(t,n){return[(n=+n)*Math.cos(t-=Math.PI/2),n*Math.sin(t)]}function G(t){return t.source}function J(t){return t.target}function Q(t){var n=G,e=J,i=D,r=F,o=null;function s(){var s,a=O.call(arguments),u=n.apply(this,a),l=e.apply(this,a);if(o||(o=s=c()),t(o,+i.apply(this,(a[0]=u,a)),+r.apply(this,a),+i.apply(this,(a[0]=l,a)),+r.apply(this,a)),s)return o=null,s+""||null}return s.source=function(t){return arguments.length?(n=t,s):n},s.target=function(t){return arguments.length?(e=t,s):e},s.x=function(t){return arguments.length?(i="function"==typeof t?t:l(+t),s):i},s.y=function(t){return arguments.length?(r="function"==typeof t?t:l(+t),s):r},s.context=function(t){return arguments.length?(o=null==t?null:t,s):o},s}function K(t,n,e,i,r){t.moveTo(n,e),t.bezierCurveTo(n=(n+i)/2,e,n,r,i,r)}function tt(t,n,e,i,r){t.moveTo(n,e),t.bezierCurveTo(n,e=(e+r)/2,i,e,i,r)}function nt(t,n,e,i,r){var o=$(n,e),s=$(n,e=(e+r)/2),a=$(i,e),u=$(i,r);t.moveTo(o[0],o[1]),t.bezierCurveTo(s[0],s[1],a[0],a[1],u[0],u[1])}function et(){return Q(K)}function it(){return Q(tt)}function rt(){var t=Q(nt);return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t}q.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(t,n){this._curve.point(n*Math.sin(t),n*-Math.cos(t))}};const ot={draw:function(t,n){var e=Math.sqrt(n/_);t.moveTo(e,0),t.arc(0,0,e,0,w)}},st={draw:function(t,n){var e=Math.sqrt(n/5)/2;t.moveTo(-3*e,-e),t.lineTo(-e,-e),t.lineTo(-e,-3*e),t.lineTo(e,-3*e),t.lineTo(e,-e),t.lineTo(3*e,-e),t.lineTo(3*e,e),t.lineTo(e,e),t.lineTo(e,3*e),t.lineTo(-e,3*e),t.lineTo(-e,e),t.lineTo(-3*e,e),t.closePath()}};var at=Math.sqrt(1/3),ut=2*at;const ct={draw:function(t,n){var e=Math.sqrt(n/ut),i=e*at;t.moveTo(0,-e),t.lineTo(i,0),t.lineTo(0,e),t.lineTo(-i,0),t.closePath()}};var lt=Math.sin(_/10)/Math.sin(7*_/10),ht=Math.sin(w/10)*lt,ft=-Math.cos(w/10)*lt;const pt={draw:function(t,n){var e=Math.sqrt(.8908130915292852*n),i=ht*e,r=ft*e;t.moveTo(0,-e),t.lineTo(i,r);for(var o=1;o<5;++o){var s=w*o/5,a=Math.cos(s),u=Math.sin(s);t.lineTo(u*e,-a*e),t.lineTo(a*i-u*r,u*i+a*r)}t.closePath()}},dt={draw:function(t,n){var e=Math.sqrt(n),i=-e/2;t.rect(i,i,e,e)}};var yt=Math.sqrt(3);const vt={draw:function(t,n){var e=-Math.sqrt(n/(3*yt));t.moveTo(0,2*e),t.lineTo(-yt*e,-e),t.lineTo(yt*e,-e),t.closePath()}};var mt=-.5,gt=Math.sqrt(3)/2,_t=1/Math.sqrt(12),xt=3*(_t/2+1);const wt={draw:function(t,n){var e=Math.sqrt(n/xt),i=e/2,r=e*_t,o=i,s=e*_t+e,a=-o,u=s;t.moveTo(i,r),t.lineTo(o,s),t.lineTo(a,u),t.lineTo(mt*i-gt*r,gt*i+mt*r),t.lineTo(mt*o-gt*s,gt*o+mt*s),t.lineTo(mt*a-gt*u,gt*a+mt*u),t.lineTo(mt*i+gt*r,mt*r-gt*i),t.lineTo(mt*o+gt*s,mt*s-gt*o),t.lineTo(mt*a+gt*u,mt*u-gt*a),t.closePath()}};var bt=[ot,st,ct,dt,pt,vt,wt];function Mt(t,n){var e=null;function i(){var i;if(e||(e=i=c()),t.apply(this,arguments).draw(e,+n.apply(this,arguments)),i)return e=null,i+""||null}return t="function"==typeof t?t:l(t||ot),n="function"==typeof n?n:l(void 0===n?64:+n),i.type=function(n){return arguments.length?(t="function"==typeof n?n:l(n),i):t},i.size=function(t){return arguments.length?(n="function"==typeof t?t:l(+t),i):n},i.context=function(t){return arguments.length?(e=null==t?null:t,i):e},i}function Tt(){}function Et(t,n,e){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+n)/6,(t._y0+4*t._y1+e)/6)}function St(t){this._context=t}function kt(t){return new St(t)}function Nt(t){this._context=t}function At(t){return new Nt(t)}function Pt(t){this._context=t}function Lt(t){return new Pt(t)}St.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:Et(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Et(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}},Nt.prototype={areaStart:Tt,areaEnd:Tt,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._x2=t,this._y2=n;break;case 1:this._point=2,this._x3=t,this._y3=n;break;case 2:this._point=3,this._x4=t,this._y4=n,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+n)/6);break;default:Et(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}},Pt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var e=(this._x0+4*this._x1+t)/6,i=(this._y0+4*this._y1+n)/6;this._line?this._context.lineTo(e,i):this._context.moveTo(e,i);break;case 3:this._point=4;default:Et(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}};class Ot{constructor(t,n){this._context=t,this._x=n}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line}point(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;default:this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,n,t,n):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+n)/2,t,this._y0,t,n)}this._x0=t,this._y0=n}}function Ct(t){return new Ot(t,!0)}function It(t){return new Ot(t,!1)}function Zt(t,n){this._basis=new St(t),this._beta=n}Zt.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,n=this._y,e=t.length-1;if(e>0)for(var i,r=t[0],o=n[0],s=t[e]-r,a=n[e]-o,u=-1;++u<=e;)i=u/e,this._basis.point(this._beta*t[u]+(1-this._beta)*(r+i*s),this._beta*n[u]+(1-this._beta)*(o+i*a));this._x=this._y=null,this._basis.lineEnd()},point:function(t,n){this._x.push(+t),this._y.push(+n)}};const Dt=function t(n){function e(t){return 1===n?new St(t):new Zt(t,n)}return e.beta=function(n){return t(+n)},e}(.85);function Ft(t,n,e){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-n),t._y2+t._k*(t._y1-e),t._x2,t._y2)}function Ht(t,n){this._context=t,this._k=(1-n)/6}Ht.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Ft(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2,this._x1=t,this._y1=n;break;case 2:this._point=3;default:Ft(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};const jt=function t(n){function e(t){return new Ht(t,n)}return e.tension=function(n){return t(+n)},e}(0);function zt(t,n){this._context=t,this._k=(1-n)/6}zt.prototype={areaStart:Tt,areaEnd:Tt,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._x3=t,this._y3=n;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=n);break;case 2:this._point=3,this._x5=t,this._y5=n;break;default:Ft(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};const Ut=function t(n){function e(t){return new zt(t,n)}return e.tension=function(n){return t(+n)},e}(0);function Yt(t,n){this._context=t,this._k=(1-n)/6}Yt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Ft(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};const Rt=function t(n){function e(t){return new Yt(t,n)}return e.tension=function(n){return t(+n)},e}(0);function qt(t,n,e){var i=t._x1,r=t._y1,o=t._x2,s=t._y2;if(t._l01_a>g){var a=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,u=3*t._l01_a*(t._l01_a+t._l12_a);i=(i*a-t._x0*t._l12_2a+t._x2*t._l01_2a)/u,r=(r*a-t._y0*t._l12_2a+t._y2*t._l01_2a)/u}if(t._l23_a>g){var c=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,l=3*t._l23_a*(t._l23_a+t._l12_a);o=(o*c+t._x1*t._l23_2a-n*t._l12_2a)/l,s=(s*c+t._y1*t._l23_2a-e*t._l12_2a)/l}t._context.bezierCurveTo(i,r,o,s,t._x2,t._y2)}function Bt(t,n){this._context=t,this._alpha=n}Bt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){if(t=+t,n=+n,this._point){var e=this._x2-t,i=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+i*i,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3;default:qt(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};const Vt=function t(n){function e(t){return n?new Bt(t,n):new Ht(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);function Wt(t,n){this._context=t,this._alpha=n}Wt.prototype={areaStart:Tt,areaEnd:Tt,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,n){if(t=+t,n=+n,this._point){var e=this._x2-t,i=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+i*i,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=n;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=n);break;case 2:this._point=3,this._x5=t,this._y5=n;break;default:qt(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};const Xt=function t(n){function e(t){return n?new Wt(t,n):new zt(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);function $t(t,n){this._context=t,this._alpha=n}$t.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){if(t=+t,n=+n,this._point){var e=this._x2-t,i=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+i*i,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:qt(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};const Gt=function t(n){function e(t){return n?new $t(t,n):new Yt(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);function Jt(t){this._context=t}function Qt(t){return new Jt(t)}function Kt(t){return t<0?-1:1}function tn(t,n,e){var i=t._x1-t._x0,r=n-t._x1,o=(t._y1-t._y0)/(i||r<0&&-0),s=(e-t._y1)/(r||i<0&&-0),a=(o*r+s*i)/(i+r);return(Kt(o)+Kt(s))*Math.min(Math.abs(o),Math.abs(s),.5*Math.abs(a))||0}function nn(t,n){var e=t._x1-t._x0;return e?(3*(t._y1-t._y0)/e-n)/2:n}function en(t,n,e){var i=t._x0,r=t._y0,o=t._x1,s=t._y1,a=(o-i)/3;t._context.bezierCurveTo(i+a,r+a*n,o-a,s-a*e,o,s)}function rn(t){this._context=t}function on(t){this._context=new sn(t)}function sn(t){this._context=t}function an(t){return new rn(t)}function un(t){return new on(t)}function cn(t){this._context=t}function ln(t){var n,e,i=t.length-1,r=new Array(i),o=new Array(i),s=new Array(i);for(r[0]=0,o[0]=2,s[0]=t[0]+2*t[1],n=1;n=0;--n)r[n]=(s[n]-r[n+1])/o[n];for(o[i-1]=(t[i]+r[i-1])/2,n=0;n1)for(var e,i,r,o=1,s=t[n[0]],a=s.length;o=0;)e[n]=n;return e}function gn(t,n){return t[n]}function _n(t){const n=[];return n.key=t,n}function xn(){var t=l([]),n=mn,e=vn,i=gn;function r(r){var o,s,a=Array.from(t.apply(this,arguments),_n),u=a.length,c=-1;for(const t of r)for(o=0,++c;o0){for(var e,i,r,o=0,s=t[0].length;o0)for(var e,i,r,o,s,a,u=0,c=t[n[0]].length;u0?(i[0]=o,i[1]=o+=r):r<0?(i[1]=s,i[0]=s+=r):(i[0]=0,i[1]=r)}function Mn(t,n){if((e=t.length)>0){for(var e,i=0,r=t[n[0]],o=r.length;i0&&(i=(e=t[n[0]]).length)>0){for(var e,i,r,o=0,s=1;so&&(o=n,i=e);return i}function kn(t){var n=t.map(Nn);return mn(t).sort((function(t,e){return n[t]-n[e]}))}function Nn(t){for(var n,e=0,i=-1,r=t.length;++i=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,n),this._context.lineTo(t,n);else{var e=this._x*(1-this._t)+t*this._t;this._context.lineTo(e,this._y),this._context.lineTo(e,n)}}this._x=t,this._y=n}}},4446:(t,n,e)=>{"use strict";e.r(n),e.d(n,{zoom:()=>Rt,zoomIdentity:()=>Ct,zoomTransform:()=>It});var i={value:()=>{}};function r(){for(var t,n=0,e=arguments.length,i={};n=0&&(e=t.slice(i+1),t=t.slice(0,i)),t&&!n.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:e}}))}function a(t,n){for(var e,i=0,r=t.length;i0)for(var e,i,r=new Array(e),o=0;o=0&&n._call.call(null,t),n=n._next;--_}()}finally{_=0,function(){for(var t,n,e=d,i=1/0;e;)e._call?(i>e._time&&(i=e._time),t=e,e=e._next):(n=e._next,e._next=null,e=t?t._next=n:d=n);y=t,C(i)}(),M=0}}function O(){var t=E.now(),n=t-b;n>1e3&&(T-=n,b=t)}function C(t){_||(x&&(x=clearTimeout(x)),t-M>24?(t<1/0&&(x=setTimeout(L,t-E.now()-T)),w&&(w=clearInterval(w))):(w||(b=E.now(),w=setInterval(O,1e3)),_=1,S(L)))}function I(t,n,e){var i=new A;return n=null==n?0:+n,i.restart((e=>{i.stop(),t(e+n)}),n,e),i}A.prototype=P.prototype={constructor:A,restart:function(t,n,e){if("function"!=typeof t)throw new TypeError("callback is not a function");e=(null==e?k():+e)+(null==n?0:+n),this._next||y===this||(y?y._next=this:d=this,y=this),this._call=t,this._time=e,C()},stop:function(){this._call&&(this._call=null,this._time=1/0,C())}};var Z=c("start","end","cancel","interrupt"),D=[];function F(t,n,e,i,r,o){var s=t.__transition;if(s){if(e in s)return}else t.__transition={};!function(t,n,e){var i,r=t.__transition;function o(u){var c,l,h,f;if(1!==e.state)return a();for(c in r)if((f=r[c]).name===e.name){if(3===f.state)return I(o);4===f.state?(f.state=6,f.timer.stop(),f.on.call("interrupt",t,t.__data__,f.index,f.group),delete r[c]):+c0)throw new Error("too late; already scheduled");return e}function j(t,n){var e=z(t,n);if(e.state>3)throw new Error("too late; already running");return e}function z(t,n){var e=t.__transition;if(!e||!(e=e[n]))throw new Error("transition not found");return e}function U(t,n){var e,i,r,o=t.__transition,s=!0;if(o){for(r in n=null==n?null:n+"",o)(e=o[r]).name===n?(i=e.state>2&&e.state<5,e.state=6,e.timer.stop(),e.on.call(i?"interrupt":"cancel",t,t.__data__,e.index,e.group),delete o[r]):s=!1;s&&delete t.__transition}}var Y=e(3636),R=e(3888);function q(t,n){var e,i;return function(){var r=j(this,t),o=r.tween;if(o!==e)for(var s=0,a=(i=e=o).length;s=0&&(t=t.slice(0,n)),!t||"start"===t}))}(n)?H:j;return function(){var s=o(this,t),a=s.on;a!==i&&(r=(i=a).copy()).on(n,e),s.on=r}}var yt=e(2634),vt=e(3545),mt=g.ZP.prototype.constructor,gt=e(9986);function _t(t){return function(){this.style.removeProperty(t)}}function xt(t,n,e){return function(i){this.style.setProperty(t,n.call(this,i),e)}}function wt(t,n,e){var i,r;function o(){var o=n.apply(this,arguments);return o!==r&&(i=(r=o)&&xt(t,o,e)),i}return o._value=n,o}function bt(t){return function(n){this.textContent=t.call(this,n)}}function Mt(t){var n,e;function i(){var i=t.apply(this,arguments);return i!==e&&(n=(e=i)&&bt(i)),n}return i._value=t,i}var Tt=0;function Et(t,n,e,i){this._groups=t,this._parents=n,this._name=e,this._id=i}function St(){return++Tt}var kt=g.ZP.prototype;Et.prototype=function(t){return(0,g.ZP)().transition(t)}.prototype={constructor:Et,select:function(t){var n=this._name,e=this._id;"function"!=typeof t&&(t=(0,yt.Z)(t));for(var i=this._groups,r=i.length,o=new Array(r),s=0;s()=>t;function Lt(t,{sourceEvent:n,target:e,transform:i,dispatch:r}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:e,enumerable:!0,configurable:!0},transform:{value:i,enumerable:!0,configurable:!0},_:{value:r}})}function Ot(t,n,e){this.k=t,this.x=n,this.y=e}Ot.prototype={constructor:Ot,scale:function(t){return 1===t?this:new Ot(this.k*t,this.x,this.y)},translate:function(t,n){return 0===t&0===n?this:new Ot(this.k,this.x+this.k*t,this.y+this.k*n)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Ct=new Ot(1,0,0);function It(t){for(;!t.__zoom;)if(!(t=t.parentNode))return Ct;return t.__zoom}function Zt(t){t.stopImmediatePropagation()}function Dt(t){t.preventDefault(),t.stopImmediatePropagation()}function Ft(t){return!(t.ctrlKey&&"wheel"!==t.type||t.button)}function Ht(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t).hasAttribute("viewBox")?[[(t=t.viewBox.baseVal).x,t.y],[t.x+t.width,t.y+t.height]]:[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]:[[0,0],[t.clientWidth,t.clientHeight]]}function jt(){return this.__zoom||Ct}function zt(t){return-t.deltaY*(1===t.deltaMode?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function Ut(){return navigator.maxTouchPoints||"ontouchstart"in this}function Yt(t,n,e){var i=t.invertX(n[0][0])-e[0][0],r=t.invertX(n[1][0])-e[1][0],o=t.invertY(n[0][1])-e[0][1],s=t.invertY(n[1][1])-e[1][1];return t.translate(r>i?(i+r)/2:Math.min(0,i)||Math.max(0,r),s>o?(o+s)/2:Math.min(0,o)||Math.max(0,s))}function Rt(){var t,n,e,i=Ft,r=Ht,o=Yt,s=zt,a=Ut,u=[0,1/0],h=[[-1/0,-1/0],[1/0,1/0]],d=250,y=v.Z,g=c("start","zoom","end"),_=500,x=0,w=10;function b(t){t.property("__zoom",jt).on("wheel.zoom",A).on("mousedown.zoom",P).on("dblclick.zoom",L).filter(a).on("touchstart.zoom",O).on("touchmove.zoom",C).on("touchend.zoom touchcancel.zoom",I).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function M(t,n){return(n=Math.max(u[0],Math.min(u[1],n)))===t.k?t:new Ot(n,t.x,t.y)}function T(t,n,e){var i=n[0]-e[0]*t.k,r=n[1]-e[1]*t.k;return i===t.x&&r===t.y?t:new Ot(t.k,i,r)}function E(t){return[(+t[0][0]+ +t[1][0])/2,(+t[0][1]+ +t[1][1])/2]}function S(t,n,e,i){t.on("start.zoom",(function(){k(this,arguments).event(i).start()})).on("interrupt.zoom end.zoom",(function(){k(this,arguments).event(i).end()})).tween("zoom",(function(){var t=this,o=arguments,s=k(t,o).event(i),a=r.apply(t,o),u=null==e?E(a):"function"==typeof e?e.apply(t,o):e,c=Math.max(a[1][0]-a[0][0],a[1][1]-a[0][1]),l=t.__zoom,h="function"==typeof n?n.apply(t,o):n,f=y(l.invert(u).concat(c/l.k),h.invert(u).concat(c/h.k));return function(t){if(1===t)t=h;else{var n=f(t),e=c/n[2];t=new Ot(e,u[0]-n[0]*e,u[1]-n[1]*e)}s.zoom(null,t)}}))}function k(t,n,e){return!e&&t.__zooming||new N(t,n)}function N(t,n){this.that=t,this.args=n,this.active=0,this.sourceEvent=null,this.extent=r.apply(t,n),this.taps=0}function A(t,...n){if(i.apply(this,arguments)){var e=k(this,n).event(t),r=this.__zoom,a=Math.max(u[0],Math.min(u[1],r.k*Math.pow(2,s.apply(this,arguments)))),c=(0,m.Z)(t);if(e.wheel)e.mouse[0][0]===c[0]&&e.mouse[0][1]===c[1]||(e.mouse[1]=r.invert(e.mouse[0]=c)),clearTimeout(e.wheel);else{if(r.k===a)return;e.mouse=[c,r.invert(c)],U(this),e.start()}Dt(t),e.wheel=setTimeout(l,150),e.zoom("mouse",o(T(M(r,a),e.mouse[0],e.mouse[1]),e.extent,h))}function l(){e.wheel=null,e.end()}}function P(t,...n){if(!e&&i.apply(this,arguments)){var r=k(this,n,!0).event(t),s=(0,l.Z)(t.view).on("mousemove.zoom",y,!0).on("mouseup.zoom",v,!0),a=(0,m.Z)(t,u),u=t.currentTarget,c=t.clientX,d=t.clientY;f(t.view),Zt(t),r.mouse=[a,this.__zoom.invert(a)],U(this),r.start()}function y(t){if(Dt(t),!r.moved){var n=t.clientX-c,e=t.clientY-d;r.moved=n*n+e*e>x}r.event(t).zoom("mouse",o(T(r.that.__zoom,r.mouse[0]=(0,m.Z)(t,u),r.mouse[1]),r.extent,h))}function v(t){s.on("mousemove.zoom mouseup.zoom",null),p(t.view,r.moved),Dt(t),r.event(t).end()}}function L(t,...n){if(i.apply(this,arguments)){var e=this.__zoom,s=(0,m.Z)(t.changedTouches?t.changedTouches[0]:t,this),a=e.invert(s),u=e.k*(t.shiftKey?.5:2),c=o(T(M(e,u),s,a),r.apply(this,n),h);Dt(t),d>0?(0,l.Z)(this).transition().duration(d).call(S,c,s,t):(0,l.Z)(this).call(b.transform,c,s,t)}}function O(e,...r){if(i.apply(this,arguments)){var o,s,a,u,c=e.touches,l=c.length,h=k(this,r,e.changedTouches.length===l).event(e);for(Zt(e),s=0;s{var n=!1;if("undefined"!=typeof Float64Array){var e=new Float64Array(1),i=new Uint32Array(e.buffer);e[0]=1,n=!0,1072693248===i[1]?(t.exports=function(t){return e[0]=t,[i[0],i[1]]},t.exports.pack=function(t,n){return i[0]=t,i[1]=n,e[0]},t.exports.lo=function(t){return e[0]=t,i[0]},t.exports.hi=function(t){return e[0]=t,i[1]}):1072693248===i[0]?(t.exports=function(t){return e[0]=t,[i[1],i[0]]},t.exports.pack=function(t,n){return i[1]=t,i[0]=n,e[0]},t.exports.lo=function(t){return e[0]=t,i[1]},t.exports.hi=function(t){return e[0]=t,i[0]}):n=!1}if(!n){var r=new Buffer(8);t.exports=function(t){return r.writeDoubleLE(t,0,!0),[r.readUInt32LE(0,!0),r.readUInt32LE(4,!0)]},t.exports.pack=function(t,n){return r.writeUInt32LE(t,0,!0),r.writeUInt32LE(n,4,!0),r.readDoubleLE(0,!0)},t.exports.lo=function(t){return r.writeDoubleLE(t,0,!0),r.readUInt32LE(0,!0)},t.exports.hi=function(t){return r.writeDoubleLE(t,0,!0),r.readUInt32LE(4,!0)}}t.exports.sign=function(n){return t.exports.hi(n)>>>31},t.exports.exponent=function(n){return(t.exports.hi(n)<<1>>>21)-1023},t.exports.fraction=function(n){var e=t.exports.lo(n),i=t.exports.hi(n),r=1048575&i;return 2146435072&i&&(r+=1<<20),[e,r]},t.exports.denormalized=function(n){return!(2146435072&t.exports.hi(n))}},7187:t=>{"use strict";var n,e="object"==typeof Reflect?Reflect:null,i=e&&"function"==typeof e.apply?e.apply:function(t,n,e){return Function.prototype.apply.call(t,n,e)};n=e&&"function"==typeof e.ownKeys?e.ownKeys:Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:function(t){return Object.getOwnPropertyNames(t)};var r=Number.isNaN||function(t){return t!=t};function o(){o.init.call(this)}t.exports=o,t.exports.once=function(t,n){return new Promise((function(e,i){function r(e){t.removeListener(n,o),i(e)}function o(){"function"==typeof t.removeListener&&t.removeListener("error",r),e([].slice.call(arguments))}y(t,n,o,{once:!0}),"error"!==n&&function(t,n,e){"function"==typeof t.on&&y(t,"error",n,{once:!0})}(t,r)}))},o.EventEmitter=o,o.prototype._events=void 0,o.prototype._eventsCount=0,o.prototype._maxListeners=void 0;var s=10;function a(t){if("function"!=typeof t)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}function u(t){return void 0===t._maxListeners?o.defaultMaxListeners:t._maxListeners}function c(t,n,e,i){var r,o,s,c;if(a(e),void 0===(o=t._events)?(o=t._events=Object.create(null),t._eventsCount=0):(void 0!==o.newListener&&(t.emit("newListener",n,e.listener?e.listener:e),o=t._events),s=o[n]),void 0===s)s=o[n]=e,++t._eventsCount;else if("function"==typeof s?s=o[n]=i?[e,s]:[s,e]:i?s.unshift(e):s.push(e),(r=u(t))>0&&s.length>r&&!s.warned){s.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(n)+" listeners added. Use emitter.setMaxListeners() to increase limit");l.name="MaxListenersExceededWarning",l.emitter=t,l.type=n,l.count=s.length,c=l,console&&console.warn&&console.warn(c)}return t}function l(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function h(t,n,e){var i={fired:!1,wrapFn:void 0,target:t,type:n,listener:e},r=l.bind(i);return r.listener=e,i.wrapFn=r,r}function f(t,n,e){var i=t._events;if(void 0===i)return[];var r=i[n];return void 0===r?[]:"function"==typeof r?e?[r.listener||r]:[r]:e?function(t){for(var n=new Array(t.length),e=0;e0&&(s=n[0]),s instanceof Error)throw s;var a=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw a.context=s,a}var u=o[t];if(void 0===u)return!1;if("function"==typeof u)i(u,this,n);else{var c=u.length,l=d(u,c);for(e=0;e=0;o--)if(e[o]===n||e[o].listener===n){s=e[o].listener,r=o;break}if(r<0)return this;0===r?e.shift():function(t,n){for(;n+1=0;i--)this.removeListener(t,n[i]);return this},o.prototype.listeners=function(t){return f(this,t,!0)},o.prototype.rawListeners=function(t){return f(this,t,!1)},o.listenerCount=function(t,n){return"function"==typeof t.listenerCount?t.listenerCount(n):p.call(t,n)},o.prototype.listenerCount=p,o.prototype.eventNames=function(){return this._eventsCount>0?n(this._events):[]}},4470:t=>{"use strict";var n=Object.prototype.hasOwnProperty,e=Object.prototype.toString,i=function(t){return"function"==typeof Array.isArray?Array.isArray(t):"[object Array]"===e.call(t)},r=function(t){if(!t||"[object Object]"!==e.call(t))return!1;var i,r=n.call(t,"constructor"),o=t.constructor&&t.constructor.prototype&&n.call(t.constructor.prototype,"isPrototypeOf");if(t.constructor&&!r&&!o)return!1;for(i in t);return void 0===i||n.call(t,i)};t.exports=function t(){var n,e,o,s,a,u,c=arguments[0],l=1,h=arguments.length,f=!1;for("boolean"==typeof c?(f=c,c=arguments[1]||{},l=2):("object"!=typeof c&&"function"!=typeof c||null==c)&&(c={});l{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(t){return"graphType"in t||(t.graphType="interval"),"sampler"in t||(t.sampler="interval"!==t.graphType?"builtIn":"interval"),"fnType"in t||(t.fnType="linear"),t}},9242:function(t,n,e){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(n,"__esModule",{value:!0});const r=i(e(5860)),o=e(4811),s={interval:o.interval,builtIn:o.builtIn};n.default=function(t,n){const e=function(t,n){const e=n.range||[-1/0,1/0];return[Math.max(t.domain()[0],e[0]),Math.min(t.domain()[1],e[1])]}(t.meta.xScale,n),i=(0,s[n.sampler])(t,n,e,n.nSamples||Math.min(r.default.MAX_ITERATIONS,r.default.DEFAULT_ITERATIONS||2*t.meta.width));return t.emit("eval",i,n.index,n.isHelper),i}},5860:(t,n,e)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});const i=e(6404),r={COLORS:["steelblue","red","#05b378","orange","#4040e8","yellow","brown","magenta","cyan"].map((function(t){return(0,i.hsl)(t)})),DEFAULT_WIDTH:550,DEFAULT_HEIGHT:350,TIP_X_EPS:1,DEFAULT_ITERATIONS:null,MAX_ITERATIONS:0};r.MAX_ITERATIONS=10*r.DEFAULT_WIDTH,n.default=r},4407:function(t,n,e){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(n,"__esModule",{value:!0}),n.scatter=n.interval=n.polyline=void 0;const r=i(e(7505));n.polyline=r.default;const o=i(e(5345));n.interval=o.default;const s=i(e(2078));n.scatter=s.default},5345:function(t,n,e){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(n,"__esModule",{value:!0});const r=e(6811),o=i(e(9242)),s=i(e(5170));n.default=function(t){let n;const e=t.meta.xScale,i=t.meta.yScale;function a(t,e,i,r){if(i>r){const t=i;i=r,r=t}const o=Math.min(e,r),s=Math.max(t,i);return s>o?[-n,0]:[s,o]}return function u(c){c.each((function(c){const l=u.el=(0,r.select)(this),h=c.index,f=c.closed,p=(0,o.default)(t,c),d=l.selectAll(":scope > path.line").data(p);n=Math.max(p[0].scaledDx,1);const y=d.enter().append("path").attr("class","line line-"+h).attr("fill","none"),v=d.merge(y).attr("stroke-width",n).attr("stroke",s.default.color(c,h)).attr("opacity",f?.5:1).attr("d",(function(t){return function(t,r){let o="";const s=i.range(),u=Math.min.apply(Math,s),c=Math.max.apply(Math,s);for(let s=0,l=t.length;s path.line").data(l),p=t.meta.yScale.range();let d=p[0],y=p[1];const v=d-y;function m(n){return(0,s.default)(t.meta.yScale(n[1]),y,d)}d+=1e6*v,y-=1e6*v,e.skipBoundsCheck&&(d=1/0,y=-1/0);const g=(0,o.line)().curve(o.curveLinear).x((function(n){return t.meta.xScale(n[0])})).y(m),_=(0,o.area)().x((function(n){return t.meta.yScale(n[0])})).y0(t.meta.yScale(0)).y1(m),x=f.enter().append("path").attr("class","line line-"+c).attr("stroke-width",1).attr("stroke-linecap","round");f.merge(x).each((function(){const n=(0,r.select)(this);let i;if(e.closed?(n.attr("fill",h),n.attr("fill-opacity",.3),i=_):(n.attr("fill","none"),i=g),n.attr("stroke",h).attr("marker-end",(function(){return"vector"===e.fnType?"url(#"+t.markerId+")":null})).attr("d",i),e.attr)for(let t in e.attr)e.attr.hasOwnProperty(t)&&n.attr(t,e.attr[t])})),f.exit().remove()}))}}},2078:function(t,n,e){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(n,"__esModule",{value:!0});const r=e(6811),o=e(6404),s=i(e(5170)),a=i(e(9242));n.default=function(t){const n=t.meta.xScale,e=t.meta.yScale;return function(i){i.each((function(i){let u,c;const l=i.index,h=s.default.color(i,l),f=(0,a.default)(t,i),p=[];for(u=0;u circle").data(p),y=d.enter().append("circle"),v=d.merge(y).attr("fill",(0,o.hsl)(h.toString()).brighter(1.5).hex()).attr("stroke",h).attr("opacity",.7).attr("r",1).attr("cx",(function(t){return n(t[0])})).attr("cy",(function(t){return e(t[1])}));if(i.attr)for(let t in i.attr)i.attr.hasOwnProperty(t)&&v.attr(t,i.attr[t]);d.exit().remove()}))}}},2586:(t,n,e)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});const i=e(9852),r=e(6811);n.default=function(t){const n=t.owner.meta.xScale,e=t.owner.meta.yScale,o=(0,i.line)().x((function(t){return t[0]})).y((function(t){return t[1]}));return function(t){t.each((function(){const t=(0,r.select)(this).selectAll("g.annotations").data((function(t){return t.annotations||[]})),i=t.enter().append("g").attr("class","annotations"),s=e.range(),a=n.range(),u=t.merge(i).selectAll("path").data((function(t){return"x"in t?[[[0,s[0]],[0,s[1]]]]:[[[a[0],0],[a[1],0]]]}));u.enter().append("path").attr("stroke","#eee").attr("d",o),u.exit().remove();const c=t.merge(i).selectAll("text").data((function(t){return[{text:t.text||"",hasX:"x"in t}]}));c.enter().append("text").attr("y",(function(t){return t.hasX?3:0})).attr("x",(function(t){return t.hasX?0:3})).attr("dy",(function(t){return t.hasX?5:-5})).attr("text-anchor",(function(t){return t.hasX?"end":""})).attr("transform",(function(t){return t.hasX?"rotate(-90)":""})).text((function(t){return t.text})),c.exit().remove(),t.merge(i).attr("transform",(function(t){return"x"in t?"translate("+n(t.x)+", 0)":"translate(0, "+e(t.y)+")"})),t.exit().remove()}))}}},8877:function(t,n,e){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(n,"__esModule",{value:!0});const r=e(6811),o=e(4407),s=e(4945),a=i(e(5625));n.default=function(t){const n=(0,a.default)({isHelper:!0,skipTip:!0,skipBoundsCheck:!0,nSamples:2,graphType:"polyline"});function e(t){if(!t.derivative)return[];const e="number"==typeof t.derivative.x0?t.derivative.x0:1/0;return n.index=t.index,n.scope={m:(0,s.builtIn)(t.derivative,"fn",{x:e}),x0:e,y0:(0,s.builtIn)(t,"fn",{x:e})},n.fn="m * (x - x0) + y0",[n]}function i(n){const e=this;n.derivative&&n.derivative.updateOnMouseMove&&!n.derivative.$$mouseListener&&(n.derivative.$$mouseListener=function({x:t}){n.derivative&&(n.derivative.x0=t),u(e)},t.on("tip:update",n.derivative.$$mouseListener))}const u=function(n){n.each((function(s){const a=(0,r.select)(this),u=e.call(n,s);i.call(n,s);const c=a.selectAll("g.derivative").data(u),l=c.enter().append("g").attr("class","derivative");c.merge(l).call((0,o.polyline)(t)),c.merge(l).selectAll("path").attr("opacity",.5),c.exit().remove()}))};return u}},4945:function(t,n,e){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(n,"__esModule",{value:!0}),n.interval=n.builtIn=void 0;const r=i(e(5248)),o={interval:i(e(8867)).default,builtIn:r.default};function s(t){return function(n,i,r){return function(n,i){const r=n[i],s=t+"_Expression_"+i,a=t+"_Compiled_"+i;r!==n[s]&&(n[s]=r,n[a]=function(n){if("string"==typeof n){const i=o[t](n);return e.g.math&&"builtIn"===t?{eval:i.evaluate||i.eval}:i}if("function"==typeof n)return{eval:n};throw Error("expression must be a string or a function")}(r))}(n,i),function(n,e){return n[t+"_Compiled_"+e]}(n,i).eval(Object.assign({},n.scope||{},r))}}e.g.math&&(o.builtIn=e.g.math.compile);const a=s("builtIn");n.builtIn=a;const u=s("interval");n.interval=u},2736:function(t,n,e){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(n,"__esModule",{value:!0});const r=e(6811),o=i(e(8877)),s=i(e(3814));n.default=function(t){return function(n){n.each((function(){const n=(0,r.select)(this);n.call((0,o.default)(t)),n.call((0,s.default)(t))}))}}},3814:function(t,n,e){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(n,"__esModule",{value:!0});const r=e(6811),o=e(4945),s=i(e(5625)),a=e(4407);n.default=function(t){const n=(0,s.default)({isHelper:!0,skipTip:!0,skipBoundsCheck:!0,nSamples:2,graphType:"polyline"});function e(t,n){if(!("x0"in n))throw Error("secant must have the property `x0` defined");n.scope=n.scope||{};const e=n.x0,i="number"==typeof n.x1?n.x1:1/0;var r;Object.assign(n.scope,{x0:e,x1:i,y0:(0,o.builtIn)(t,"fn",{x:e}),y1:(0,o.builtIn)(t,"fn",{x:i})}),(r=n.scope).m=(r.y1-r.y0)/(r.x1-r.x0)}function i(t,n){e(t,n),n.fn="m * (x - x0) + y0"}function u(n,i){const r=this;i.updateOnMouseMove&&!i.$$mouseListener&&(i.$$mouseListener=function({x:t}){i.x1=t,e(n,i),l(r)},t.on("tip:update",i.$$mouseListener))}function c(t){const e=this,r=[];t.secants=t.secants||[];for(let o=0;o0?t.toString():n(t)}(0,u.format)("~e"),this.options.xAxis=this.options.xAxis||{},this.options.xAxis.type=this.options.xAxis.type||"linear",this.options.yAxis=this.options.yAxis||{},this.options.yAxis.type=this.options.yAxis.type||"linear";const i=this.meta.xDomain=function(t){if(t.domain)return t.domain;if("linear"===t.type){const t=12;return[-t/2,t/2]}if("log"===t.type)return[1,10];throw Error("axis type "+t.type+" unsupported")}(this.options.xAxis),r=this.meta.yDomain=function(n){if(n.domain)return n.domain;const e=function(n){const e=n[1]-n[0];return t.meta.height*e/t.meta.width}(i);if("linear"===n.type)return[-e/2,e/2];if("log"===n.type)return[1,10];throw Error("axis type "+n.type+" unsupported")}(this.options.yAxis);this.meta.xScale||(this.meta.xScale=b[this.options.xAxis.type]()),this.meta.xScale.domain(i).range(this.options.xAxis.invert?[this.meta.width,0]:[0,this.meta.width]),this.meta.yScale||(this.meta.yScale=b[this.options.yAxis.type]()),this.meta.yScale.domain(r).range(this.options.yAxis.invert?[0,this.meta.height]:[this.meta.height,0]),this.meta.xAxis||(this.meta.xAxis=(0,l.axisBottom)(this.meta.xScale)),this.meta.xAxis.tickSize(this.options.grid?-this.meta.height:0).tickFormat(e),this.meta.yAxis||(this.meta.yAxis=(0,l.axisLeft)(this.meta.yScale)),this.meta.yAxis.tickSize(this.options.grid?-this.meta.width:0).tickFormat(e),this.line=(0,a.line)().x((function(n){return t.meta.xScale(n[0])})).y((function(n){return t.meta.yScale(n[1])}))}drawGraphWrapper(){const t=this.root=(0,f.select)(this.options.target).selectAll("svg").data([this.options]);this.root.enter=t.enter().append("svg").attr("class","function-plot").attr("font-size",this.getFontSize()),t.merge(this.root.enter).attr("width",this.meta.width+this.meta.margin.left+this.meta.margin.right).attr("height",this.meta.height+this.meta.margin.top+this.meta.margin.bottom),this.buildTitle(),this.buildLegend(),this.buildCanvas(),this.buildClip(),this.buildAxis(),this.buildAxisLabel(),this.draw();const n=this.tip=(0,v.default)(Object.assign(this.options.tip||{},{owner:this}));this.canvas.merge(this.canvas.enter).call(n),this.buildZoomHelper(),this.setUpPlugins()}buildTitle(){const t=this.root.merge(this.root.enter).selectAll("text.title").data((function(t){return[t.title].filter(Boolean)}));t.enter().append("text").merge(t).attr("class","title").attr("y",this.meta.margin.top/2).attr("x",this.meta.margin.left+this.meta.width/2).attr("font-size",25).attr("text-anchor","middle").attr("alignment-baseline","middle").text(this.options.title),t.exit().remove()}buildLegend(){this.root.enter.append("text").attr("class","top-right-legend").attr("text-anchor","end"),this.root.merge(this.root.enter).select(".top-right-legend").attr("y",this.meta.margin.top/2).attr("x",this.meta.width+this.meta.margin.left)}buildCanvas(){const t=this.canvas=this.root.merge(this.root.enter).selectAll(".canvas").data((function(t){return[t]}));this.canvas.enter=t.enter().append("g").attr("class","canvas")}buildClip(){const t=this.id,n=this.canvas.enter.append("defs");n.append("clipPath").attr("id","function-plot-clip-"+t).append("rect").attr("class","clip static-clip"),this.canvas.merge(this.canvas.enter).selectAll(".clip").attr("width",this.meta.width).attr("height",this.meta.height),n.append("clipPath").append("marker").attr("id",this.markerId).attr("viewBox","0 -5 10 10").attr("refX",10).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("svg:path").attr("d","M0,-5L10,0L0,5L0,0").attr("stroke-width","0px").attr("fill-opacity",1).attr("fill","#777")}buildAxis(){const t=this.canvas.enter;t.append("g").attr("class","x axis"),t.append("g").attr("class","y axis"),this.canvas.merge(this.canvas.enter).select(".x.axis").attr("transform","translate(0,"+this.meta.height+")").call(this.meta.xAxis),this.canvas.merge(this.canvas.enter).select(".y.axis").call(this.meta.yAxis)}buildAxisLabel(){const t=this.canvas,n=t.merge(t.enter).selectAll("text.x.axis-label").data((function(t){return[t.xAxis.label].filter(Boolean)})),e=n.enter().append("text").attr("class","x axis-label").attr("text-anchor","end");n.merge(e).attr("x",this.meta.width).attr("y",this.meta.height-6).text((function(t){return t})),n.exit().remove();const i=t.merge(t.enter).selectAll("text.y.axis-label").data((function(t){return[t.yAxis.label].filter(Boolean)})),r=i.enter().append("text").attr("class","y axis-label").attr("y",6).attr("dy",".75em").attr("text-anchor","end").attr("transform","rotate(-90)");i.merge(r).text((function(t){return t})),i.exit().remove()}buildContent(){const t=this,n=this.canvas;n.merge(n.enter).attr("transform","translate("+this.meta.margin.left+","+this.meta.margin.top+")");const e=this.content=n.merge(n.enter).selectAll(":scope > g.content").data((function(t){return[t]})),i=e.enter().append("g").attr("clip-path","url(#function-plot-clip-"+this.id+")").attr("class","content");if("linear"===this.options.xAxis.type){const t=e.merge(i).selectAll(":scope > path.y.origin").data([[[0,this.meta.yScale.domain()[0]],[0,this.meta.yScale.domain()[1]]]]),n=t.enter().append("path").attr("class","y origin").attr("stroke","black").attr("opacity",.2);t.merge(n).attr("d",this.line)}if("linear"===this.options.yAxis.type){const t=e.merge(i).selectAll(":scope > path.x.origin").data([[[this.meta.xScale.domain()[0],0],[this.meta.xScale.domain()[1],0]]]),n=t.enter().append("path").attr("class","x origin").attr("stroke","black").attr("opacity",.2);t.merge(n).attr("d",this.line)}e.merge(i).call((0,y.default)({owner:t}));const r=e.merge(i).selectAll(":scope > g.graph").data((t=>t.data.map(g.default))),o=r.enter().append("g").attr("class","graph");r.merge(o).each((function(n,e){n.index=e;const i=(0,f.select)(this);i.call(x[n.graphType](t)),i.call((0,m.default)(t))}))}buildZoomHelper(){const t=this;this.meta.zoomBehavior||(this.meta.zoomBehavior=(0,h.zoom)().on("zoom",(function(n){t.getEmitInstance().emit("all:zoom",n)})),t.meta.zoomBehavior.xScale=t.meta.xScale.copy(),t.meta.zoomBehavior.yScale=t.meta.yScale.copy()),t.meta.zoomBehavior.xScale.range(t.meta.xScale.range()),t.meta.zoomBehavior.yScale.range(t.meta.yScale.range()),this.canvas.enter.append("rect").call(this.meta.zoomBehavior).attr("class","zoom-and-drag").style("fill","none").style("pointer-events","all").on("mouseover",(function(n){t.getEmitInstance().emit("all:mouseover",n)})).on("mouseout",(function(n){t.getEmitInstance().emit("all:mouseout",n)})).on("mousemove",(function(n){t.getEmitInstance().emit("all:mousemove",n)})),this.draggable=this.canvas.merge(this.canvas.enter).select(".zoom-and-drag").call((n=>{n.node()&&(n.node().instance=t)})).attr("width",this.meta.width).attr("height",this.meta.height)}setUpPlugins(){const t=this.options.plugins||[],n=this;t.forEach((function(t){t(n)}))}addLink(){for(let t=0;t{"undefined"!=typeof window&&function(t,n){try{t.querySelector(":scope body")}catch(e){["querySelector","querySelectorAll"].forEach((function(e){const i=n[e];n[e]=function(n){if(/(^|,)\s*:scope/.test(n)){const i=this.id;this.id="ID_"+Date.now(),n=n.replace(/((^|,)\s*):scope/g,"$1#"+this.id);const r=t[e](n);return this.id=i,r}return i.call(this,n)}}))}}(window.document,Element.prototype)},1296:function(t,n,e){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(n,"__esModule",{value:!0});const r=i(e(5627)),o=i(e(5170)),s=e(4945);function a(t,n,e,i,r){if(!r)return{asymptote:!0,d0:t,d1:n};const u=t[0],c=n[0],l=o.default.linspace(u,c,10);let h,f;for(let t=0;t<10;t+=1){const n=l[t],u=(0,s.builtIn)(e,"fn",{x:n});if(t&&h){const t=u-h;if(o.default.sgn(t)===i)return a([f,h],[n,u],e,i,r-1)}h=u,f=n}return{asymptote:!1,d0:t,d1:n}}function u(t,n,e,i){const u=o.default.space(t,e,i),c=t.meta.yScale.domain(),l=c[1]-c[0],h=c[0]-1e5*l,f=c[1]+1e5*l;let p=[];for(let t=0;t1){const t=a(e[i-1],e[i],n,h,3);t.asymptote&&(u.push(p(t.d0)),c.push(u),u=[p(t.d1)])}r=h,u.push(e[i]),++i}return u.length&&c.push(u),c}(t,n,p),p}function c(t,n,e,i){const r=n.range||[0,2*Math.PI],a=o.default.space(t,r,i),u=[];for(let t=0;tn[1].hi&&(t[1].hi=Math.max(h,t[1].hi),n[1].lo=Math.min(l,n[1].lo)),t[1].hit[0]-u.default.TIP_X_EPS&&Mt+i*e))},logspace:function(t,n,e){return this.linspace(t,n,e).map((t=>Math.pow(10,t)))},isValidNumber:function(t){return"number"==typeof t&&!isNaN(t)},space:function(t,n,e){const i=n[0],r=n[1];return"log"===t.options.xAxis.type?this.logspace(Math.log10(i),Math.log10(r),e):this.linspace(i,r,e)},getterSetter:function(t,n){const e=this;this[n]=function(i){return arguments.length?(t[n]=i,e):t[n]}},sgn:function(t){return t<0?-1:t>0?1:0},color:function(t,n){return t.color||r.default.COLORS[n].hex()}};n.default=o},8867:(t,n,e)=>{"use strict";t.exports=e(2320)},3380:t=>{"use strict";t.exports=function(t){t.mod=t.fmod,t.lessThan=t.lt,t.lessEqualThan=t.leq,t.greaterThan=t.gt,t.greaterEqualThan=t.geq,t.strictlyEqual=t.equal,t.strictlyNotEqual=t.notEqual,t.logicalAND=function(t,n){return t&&n},t.logicalXOR=function(t,n){return t^n},t.logicalOR=function(t,n){return t||n}}},2320:(t,n,e)=>{"use strict";const i=e(813),r=e(9851).ZP;function o(t){Object.keys(t).forEach((function(n){const e=t[n];"number"==typeof e||Array.isArray(e)?t[n]=r.factory(e):"object"==typeof e&&"lo"in e&&"hi"in e&&(t[n]=r.factory(e.lo,e.hi))}))}e(3380)(r),t.exports=function(t){return(new i).setDefs({$$processScope:o}).parse(t).compile(r)},t.exports.policies=e(4186)(r),t.exports.Interval=r},4186:t=>{"use strict";t.exports=function(t){return{disableRounding:function(){t.round.disable()},enableRounding:function(){t.round.enable()}}}},813:(t,n,e)=>{"use strict";t.exports=e(7076)},7076:(t,n,e)=>{"use strict";var i=e(9213).Parser,r=e(1046),o=e(4470);function s(t,n){this.statements=[],this.defs=n||{},this.interpreter=new r(this,t)}s.prototype.setDefs=function(t){return this.defs=o(this.defs,t),this},s.prototype.compile=function(t){var n=this;if(!t||"object"!=typeof t&&"function"!=typeof t)throw TypeError("namespace must be an object");if("function"!=typeof t.factory)throw TypeError("namespace.factory must be a function");this.defs.ns=t,this.defs.$$mathCodegen={getProperty:function(t,e,i){function r(t){return n.interpreter.options.applyFactoryToScope&&"function"!=typeof t?i.factory(t):t}if(t in e)return r(e[t]);if(t in i)return r(i[t]);throw SyntaxError('symbol "'+t+'" is undefined')},functionProxy:function(t,n){if("function"!=typeof t)throw SyntaxError('symbol "'+n+'" must be a function');return t}},this.defs.$$processScope=this.defs.$$processScope||function(){};var e=Object.keys(this.defs).map((function(t){return"var "+t+' = defs["'+t+'"]'}));if(!this.statements.length)throw Error("there are no statements saved in this generator, make sure you parse an expression before compiling it");this.statements[this.statements.length-1]="return "+this.statements[this.statements.length-1];var i=this.statements.join(";"),r=e.join("\n")+"\n"+["return {"," eval: function (scope) {"," scope = scope || {}"," $$processScope(scope)"," "+i," },"," code: '"+i+"'","}"].join("\n");return new Function("defs",r)(this.defs)},s.prototype.parse=function(t){var n=this,e=(new i).parse(t);return this.statements=e.blocks.map((function(t){return n.interpreter.next(t)})),this},t.exports=s},1046:(t,n,e)=>{"use strict";var i=e(4470),r={ArrayNode:e(5483),AssignmentNode:e(446),ConditionalNode:e(3865),ConstantNode:e(9094),FunctionNode:e(73),OperatorNode:e(1715),SymbolNode:e(5835),UnaryNode:e(74)},o=function(t,n){this.owner=t,this.options=i({factory:"ns.factory",raw:!1,rawArrayExpressionElements:!0,rawCallExpressionElements:!1,applyFactoryToScope:!1},n)};i(o.prototype,r),o.prototype.next=function(t){if(!(t.type in this))throw new TypeError("the node type "+t.type+" is not implemented");return this[t.type](t)},o.prototype.rawify=function(t,n){var e=this.options.raw;t&&(this.options.raw=!0),n(),t&&(this.options.raw=e)},t.exports=o},8684:t=>{"use strict";t.exports={"+":"add","-":"sub","*":"mul","/":"div","^":"pow","%":"mod","!":"factorial","|":"bitwiseOR","^|":"bitwiseXOR","&":"bitwiseAND","||":"logicalOR",xor:"logicalXOR","&&":"logicalAND","<":"lessThan",">":"greaterThan","<=":"lessEqualThan",">=":"greaterEqualThan","===":"strictlyEqual","==":"equal","!==":"strictlyNotEqual","!=":"notEqual",">>":"shiftRight","<<":"shiftLeft",">>>":"unsignedRightShift"}},1681:t=>{"use strict";t.exports={"+":"positive","-":"negative","~":"oneComplement"}},5483:t=>{"use strict";t.exports=function(t){var n=this,e=[];this.rawify(this.options.rawArrayExpressionElements,(function(){e=t.nodes.map((function(t){return n.next(t)}))}));var i="["+e.join(",")+"]";return this.options.raw?i:this.options.factory+"("+i+")"}},446:t=>{"use strict";t.exports=function(t){return'scope["'+t.name+'"] = '+this.next(t.expr)}},3865:t=>{"use strict";t.exports=function(t){return"(!!("+this.next(t.condition)+") ? ("+this.next(t.trueExpr)+") : ("+this.next(t.falseExpr)+") )"}},9094:t=>{"use strict";t.exports=function(t){return this.options.raw?t.value:this.options.factory+"("+t.value+")"}},73:(t,n,e)=>{"use strict";var i=e(9213).nodeTypes.SymbolNode,r=function(t){return"$$mathCodegen.functionProxy("+this.next(new i(t.name))+', "'+t.name+'")'};t.exports=function(t){var n=this,e=r.call(this,t),i=[];return this.rawify(this.options.rawCallExpressionElements,(function(){i=t.args.map((function(t){return n.next(t)}))})),e+"("+i.join(", ")+")"},t.exports.functionProxy=r},1715:(t,n,e)=>{"use strict";var i=e(8684);t.exports=function(t){if(this.options.raw)return["("+this.next(t.args[0]),t.op,this.next(t.args[1])+")"].join(" ");var n=i[t.op];if(!n)throw TypeError("unidentified operator");return this.FunctionNode({name:n,args:t.args})}},5835:t=>{"use strict";t.exports=function(t){return'$$mathCodegen.getProperty("'+t.name+'", scope, ns)'}},74:(t,n,e)=>{"use strict";var i=e(1681);t.exports=function(t){if(this.options.raw)return t.op+this.next(t.argument);if(!(t.op in i))throw new SyntaxError(t.op+" not implemented");var n=i[t.op];return this.FunctionNode({name:n,args:[t.argument]})}},9851:(t,n,e)=>{"use strict";e.d(n,{ZP:()=>It});var i={};e.r(i),e.d(i,{hasInterval:()=>y,hasValue:()=>d,intervalsOverlap:()=>v,isEmpty:()=>l,isInterval:()=>c,isSingleton:()=>f,isWhole:()=>h,zeroIn:()=>p});var r={};e.r(r),e.d(r,{almostEqual:()=>Z,assertIncludes:()=>D,equal:()=>O,geq:()=>B,greaterEqualThan:()=>q,greaterThan:()=>z,gt:()=>U,leq:()=>R,lessEqualThan:()=>Y,lessThan:()=>H,lt:()=>j,notEqual:()=>F});var o={};e.r(o),e.d(o,{add:()=>V,div:()=>Q,divide:()=>J,mul:()=>G,multiply:()=>$,negative:()=>tt,positive:()=>K,sub:()=>X,subtract:()=>W});var s={};e.r(s),e.d(s,{fmod:()=>nt,multiplicativeInverse:()=>et,nthRoot:()=>ot,pow:()=>it,sqrt:()=>rt});var a={};e.r(a),e.d(a,{LOG_EXP_10:()=>ct,LOG_EXP_2:()=>ht,abs:()=>_t,clone:()=>bt,difference:()=>vt,exp:()=>st,hull:()=>pt,intersection:()=>dt,ln:()=>ut,log:()=>at,log10:()=>lt,log2:()=>ft,max:()=>xt,min:()=>wt,union:()=>yt,wid:()=>gt,width:()=>mt});var u={};function c(t){return"object"==typeof t&&"number"==typeof t.lo&&"number"==typeof t.hi}function l(t){return t.lo>t.hi}function h(t){return t.lo===-1/0&&t.hi===1/0}function f(t){return t.lo===t.hi}function p(t){return d(t,0)}function d(t,n){return!l(t)&&t.lo<=n&&n<=t.hi}function y(t,n){return!!l(t)||!l(n)&&n.lo<=t.lo&&t.hi<=n.hi}function v(t,n){return!l(t)&&!l(n)&&(t.lo<=n.lo&&n.lo<=t.hi||n.lo<=t.lo&&t.lo<=n.hi)}e.r(u),e.d(u,{acos:()=>At,asin:()=>Nt,atan:()=>Pt,cos:()=>Et,cosh:()=>Ot,sin:()=>St,sinh:()=>Lt,tan:()=>kt,tanh:()=>Ct});var m=e(3093),g=e.n(m);function _(t){return t}function x(t){return t===1/0?t:g()(t,-1/0)}function w(t){return t===-1/0?t:g()(t,1/0)}function b(t){return t<0?Math.ceil(t):Math.floor(t)}const M={prev:x,next:w},T={safePrev:x,safeNext:w,prev:t=>M.prev(t),next:t=>M.next(t),addLo:(t,n)=>T.prev(t+n),addHi:(t,n)=>T.next(t+n),subLo:(t,n)=>T.prev(t-n),subHi:(t,n)=>T.next(t-n),mulLo:(t,n)=>T.prev(t*n),mulHi:(t,n)=>T.next(t*n),divLo:(t,n)=>T.prev(t/n),divHi:(t,n)=>T.next(t/n),intLo:t=>b(T.prev(t)),intHi:t=>b(T.next(t)),logLo:t=>T.prev(Math.log(t)),logHi:t=>T.next(Math.log(t)),expLo:t=>T.prev(Math.exp(t)),expHi:t=>T.next(Math.exp(t)),sinLo:t=>T.prev(Math.sin(t)),sinHi:t=>T.next(Math.sin(t)),cosLo:t=>T.prev(Math.cos(t)),cosHi:t=>T.next(Math.cos(t)),tanLo:t=>T.prev(Math.tan(t)),tanHi:t=>T.next(Math.tan(t)),asinLo:t=>T.prev(Math.asin(t)),asinHi:t=>T.next(Math.asin(t)),acosLo:t=>T.prev(Math.acos(t)),acosHi:t=>T.next(Math.acos(t)),atanLo:t=>T.prev(Math.atan(t)),atanHi:t=>T.next(Math.atan(t)),sinhLo:t=>T.prev(Math.sinh(t)),sinhHi:t=>T.next(Math.sinh(t)),coshLo:t=>T.prev(Math.cosh(t)),coshHi:t=>T.next(Math.cosh(t)),tanhLo:t=>T.prev(Math.tanh(t)),tanhHi:t=>T.next(Math.tanh(t)),powLo(t,n){if(n%1!=0)return T.prev(Math.pow(t,n));let e=1==(1&n)?t:1;for(n>>=1;n>0;)t=T.mulLo(t,t),1==(1&n)&&(e=T.mulLo(t,e)),n>>=1;return e},powHi(t,n){if(n%1!=0)return T.next(Math.pow(t,n));let e=1==(1&n)?t:1;for(n>>=1;n>0;)t=T.mulHi(t,t),1==(1&n)&&(e=T.mulHi(t,e)),n>>=1;return e},sqrtLo:t=>T.prev(Math.sqrt(t)),sqrtHi:t=>T.next(Math.sqrt(t)),disable(){M.next=M.prev=_},enable(){M.next=w,M.prev=x}},E=T;class S{constructor(t,n){if(this.lo=0,this.hi=0,!(this instanceof S))return console.log("calling with new"),console.log(t,n),new S(t,n);if(void 0!==t&&void 0!==n){if(c(t)){if(!f(t))throw new TypeError("Interval: interval `lo` must be a singleton");t=t.lo}if(c(n)){if(!f(n))throw TypeError("Interval: interval `hi` must be a singleton");n=n.hi}}else{if(void 0!==t)return Array.isArray(t)?new k(t[0],t[1]):new k(t,t);t=n=0}this.assign(t,n)}singleton(t){return this.set(t,t)}bounded(t,n){return this.set(E.prev(t),E.next(n))}boundedSingleton(t){return this.bounded(t,t)}set(t,n){return this.lo=t,this.hi=n,this}assign(t,n){if("number"!=typeof t||"number"!=typeof n)throw TypeError("Interval#assign: arguments must be numbers");return isNaN(t)||isNaN(n)||t>n?this.setEmpty():this.set(t,n)}setEmpty(){return this.set(Number.POSITIVE_INFINITY,Number.NEGATIVE_INFINITY)}setWhole(){return this.set(Number.NEGATIVE_INFINITY,Number.POSITIVE_INFINITY)}open(t,n){return this.assign(E.safeNext(t),E.safePrev(n))}halfOpenLeft(t,n){return this.assign(E.safeNext(t),n)}halfOpenRight(t,n){return this.assign(t,E.safePrev(n))}toArray(){return[this.lo,this.hi]}clone(){return(new k).set(this.lo,this.hi)}}const k=function(t){function n(){for(var n=arguments.length,e=Array(n),i=0;in.hi}function H(t,n){return!l(t)&&!l(n)&&t.hin.hi}const U=z;function Y(t,n){return!l(t)&&!l(n)&&t.hi<=n.lo}const R=Y;function q(t,n){return!l(t)&&!l(n)&&t.lo>=n.hi}const B=q;function V(t,n){return new k(E.addLo(t.lo,n.lo),E.addHi(t.hi,n.hi))}function W(t,n){return new k(E.subLo(t.lo,n.hi),E.subHi(t.hi,n.lo))}const X=W;function $(t,n){if(l(t)||l(n))return L.EMPTY;const e=t.lo,i=t.hi,r=n.lo,o=n.hi,s=new k;return e<0?i>0?r<0?o>0?(s.lo=Math.min(E.mulLo(e,o),E.mulLo(i,r)),s.hi=Math.max(E.mulHi(e,r),E.mulHi(i,o))):(s.lo=E.mulLo(i,r),s.hi=E.mulHi(e,r)):o>0?(s.lo=E.mulLo(e,o),s.hi=E.mulHi(i,o)):(s.lo=0,s.hi=0):r<0?o>0?(s.lo=E.mulLo(e,o),s.hi=E.mulHi(e,r)):(s.lo=E.mulLo(i,o),s.hi=E.mulHi(e,r)):o>0?(s.lo=E.mulLo(e,o),s.hi=E.mulHi(i,r)):(s.lo=0,s.hi=0):i>0?r<0?o>0?(s.lo=E.mulLo(i,r),s.hi=E.mulHi(i,o)):(s.lo=E.mulLo(i,r),s.hi=E.mulHi(e,o)):o>0?(s.lo=E.mulLo(e,r),s.hi=E.mulHi(i,o)):(s.lo=0,s.hi=0):(s.lo=0,s.hi=0),s}const G=$;function J(t,n){return l(t)||l(n)?L.EMPTY:p(n)?0!==n.lo?0!==n.hi?function(t){return 0===t.lo&&0===t.hi?t:L.WHOLE}(t):function(t,n){return 0===t.lo&&0===t.hi?t:p(t)?L.WHOLE:t.hi<0?new k(E.divLo(t.hi,n),Number.POSITIVE_INFINITY):new k(Number.NEGATIVE_INFINITY,E.divHi(t.lo,n))}(t,n.lo):0!==n.hi?function(t,n){return 0===t.lo&&0===t.hi?t:p(t)?L.WHOLE:t.hi<0?new k(Number.NEGATIVE_INFINITY,E.divHi(t.hi,n)):new k(E.divLo(t.lo,n),Number.POSITIVE_INFINITY)}(t,n.hi):L.EMPTY:function(t,n){const e=t.lo,i=t.hi,r=n.lo,o=n.hi,s=new k;return i<0?o<0?(s.lo=E.divLo(i,r),s.hi=E.divHi(e,o)):(s.lo=E.divLo(e,r),s.hi=E.divHi(i,o)):e<0?o<0?(s.lo=E.divLo(i,o),s.hi=E.divHi(e,o)):(s.lo=E.divLo(e,r),s.hi=E.divHi(i,r)):o<0?(s.lo=E.divLo(i,o),s.hi=E.divHi(e,r)):(s.lo=E.divLo(e,o),s.hi=E.divHi(i,r)),s}(t,n)}const Q=J;function K(t){return new k(t.lo,t.hi)}function tt(t){return new k(-t.hi,-t.lo)}function nt(t,n){if(l(t)||l(n))return L.EMPTY;const e=t.lo<0?n.lo:n.hi;let i=t.lo/e;return i=i<0?Math.ceil(i):Math.floor(i),X(t,G(n,new k(i)))}function et(t){return l(t)?L.EMPTY:p(t)?0!==t.lo?0!==t.hi?L.WHOLE:new k(Number.NEGATIVE_INFINITY,E.divHi(1,t.lo)):0!==t.hi?new k(E.divLo(1,t.hi),Number.POSITIVE_INFINITY):L.EMPTY:new k(E.divLo(1,t.hi),E.divHi(1,t.lo))}function it(t,n){if(l(t))return L.EMPTY;if("object"==typeof n){if(!f(n))return L.EMPTY;n=n.lo}if(0===n)return 0===t.lo&&0===t.hi?L.EMPTY:L.ONE;if(n<0)return it(et(t),-n);if(Number.isSafeInteger(n)){if(t.hi<0){const e=E.powLo(-t.hi,n),i=E.powHi(-t.lo,n);return 1==(1&n)?new k(-i,-e):new k(e,i)}return t.lo<0?1==(1&n)?new k(-E.powLo(-t.lo,n),E.powHi(t.hi,n)):new k(0,E.powHi(Math.max(-t.lo,t.hi),n)):new k(E.powLo(t.lo,n),E.powHi(t.hi,n))}return console.warn("power is not an integer, you should use nth-root instead, returning an empty interval"),L.EMPTY}function rt(t){return ot(t,2)}function ot(t,n){if(l(t)||n<0)return L.EMPTY;if("object"==typeof n){if(!f(n))return L.EMPTY;n=n.lo}const e=1/n;if(t.hi<0){if(Number.isSafeInteger(n)&&1==(1&n)){const n=E.powHi(-t.lo,e),i=E.powLo(-t.hi,e);return new k(-n,-i)}return L.EMPTY}if(t.lo<0){const i=E.powHi(t.hi,e);if(Number.isSafeInteger(n)&&1==(1&n)){const n=-E.powHi(-t.lo,e);return new k(n,i)}return new k(0,i)}return new k(E.powLo(t.lo,e),E.powHi(t.hi,e))}function st(t){return l(t)?L.EMPTY:new k(E.expLo(t.lo),E.expHi(t.hi))}function at(t){if(l(t))return L.EMPTY;const n=t.lo<=0?Number.NEGATIVE_INFINITY:E.logLo(t.lo);return new k(n,E.logHi(t.hi))}const ut=at,ct=at(new k(10,10));function lt(t){return l(t)?L.EMPTY:Q(at(t),ct)}const ht=at(new k(2,2));function ft(t){return l(t)?L.EMPTY:Q(at(t),ht)}function pt(t,n){const e=l(t),i=l(n);return e&&i?L.EMPTY:e?n.clone():i?t.clone():new k(Math.min(t.lo,n.lo),Math.max(t.hi,n.hi))}function dt(t,n){if(l(t)||l(n))return L.EMPTY;const e=Math.max(t.lo,n.lo),i=Math.min(t.hi,n.hi);return e<=i?new k(e,i):L.EMPTY}function yt(t,n){if(!v(t,n))throw Error("Interval#union: intervals do not overlap");return new k(Math.min(t.lo,n.lo),Math.max(t.hi,n.hi))}function vt(t,n){if(l(t)||h(n))return L.EMPTY;if(v(t,n)){if(t.lo=t.hi&&n.lo===-1/0?L.EMPTY:n.lo<=t.lo?(new k).halfOpenLeft(n.hi,t.hi):(new k).halfOpenRight(t.lo,n.lo)}return t.clone()}function mt(t){return l(t)?0:E.subHi(t.hi,t.lo)}const gt=mt;function _t(t){return l(t)||h(t)?L.EMPTY:t.lo>=0?t.clone():t.hi<=0?tt(t):new k(0,Math.max(-t.lo,t.hi))}function xt(t,n){const e=l(t),i=l(n);return e&&i?L.EMPTY:e?n.clone():i?t.clone():new k(Math.max(t.lo,n.lo),Math.max(t.hi,n.hi))}function wt(t,n){const e=l(t),i=l(n);return e&&i?L.EMPTY:e?n.clone():i?t.clone():new k(Math.min(t.lo,n.lo),Math.min(t.hi,n.hi))}function bt(t){return(new k).set(t.lo,t.hi)}function Mt(t){return!isFinite(t.lo)&&t.lo===t.hi}function Tt(t){if(t.lo<0)if(t.lo===-1/0)t.lo=0,t.hi=1/0;else{const n=Math.ceil(-t.lo/L.PI_TWICE_LOW);t.lo+=L.PI_TWICE_LOW*n,t.hi+=L.PI_TWICE_LOW*n}return t}function Et(t){if(l(t)||Mt(t))return L.EMPTY;const n=(new k).set(t.lo,t.hi);Tt(n);const e=L.PI_TWICE,i=nt(n,e);if(mt(i)>=e.lo)return new k(-1,1);if(i.lo>=L.PI_HIGH)return tt(Et(X(i,L.PI)));const r=i.lo,o=i.hi,s=E.cosLo(o),a=E.cosHi(r);return o<=L.PI_LOW?new k(s,a):o<=e.lo?new k(-1,Math.max(s,a)):new k(-1,1)}function St(t){return l(t)||Mt(t)?L.EMPTY:Et(X(t,L.PI_HALF))}function kt(t){if(l(t)||Mt(t))return L.EMPTY;const n=(new k).set(t.lo,t.hi);Tt(n);const e=L.PI;let i=nt(n,e);return i.lo>=L.PI_HALF_LOW&&(i=X(i,e)),i.lo<=-L.PI_HALF_LOW||i.hi>=L.PI_HALF_LOW?L.WHOLE:new k(E.tanLo(i.lo),E.tanHi(i.hi))}function Nt(t){if(l(t)||t.hi<-1||t.lo>1)return L.EMPTY;const n=t.lo<=-1?-L.PI_HALF_HIGH:E.asinLo(t.lo),e=t.hi>=1?L.PI_HALF_HIGH:E.asinHi(t.hi);return new k(n,e)}function At(t){if(l(t)||t.hi<-1||t.lo>1)return L.EMPTY;const n=t.hi>=1?0:E.acosLo(t.hi),e=t.lo<=-1?L.PI_HIGH:E.acosHi(t.lo);return new k(n,e)}function Pt(t){return l(t)?L.EMPTY:new k(E.atanLo(t.lo),E.atanHi(t.hi))}function Lt(t){return l(t)?L.EMPTY:new k(E.sinhLo(t.lo),E.sinhHi(t.hi))}function Ot(t){return l(t)?L.EMPTY:t.hi<0?new k(E.coshLo(t.hi),E.coshHi(t.lo)):t.lo>=0?new k(E.coshLo(t.lo),E.coshHi(t.hi)):new k(1,E.coshHi(-t.lo>t.hi?t.lo:t.hi))}function Ct(t){return l(t)?L.EMPTY:new k(E.tanhLo(t.lo),E.tanhHi(t.hi))}const It=Object.assign(k,L,E,a,i,r,o,s,u,{round:E})},2223:(t,n,e)=>{"use strict";t.exports=e(3829)},3829:(t,n,e)=>{"use strict";var i=e(9213).Parser,r=e(6009),o=e(2010);function s(t,n){this.statements=[],this.defs=n||{},this.interpreter=new r(this,t)}s.prototype.setDefs=function(t){return this.defs=o(this.defs,t),this},s.prototype.compile=function(t){if(!t||"object"!=typeof t&&"function"!=typeof t)throw TypeError("namespace must be an object");if("function"!=typeof t.factory)throw TypeError("namespace.factory must be a function");this.defs.ns=t,this.defs.$$mathCodegen={getProperty:function(t,n,e){if(t in n)return n[t];if(t in e)return e[t];throw SyntaxError('symbol "'+t+'" is undefined')},functionProxy:function(t,n){if("function"!=typeof t)throw SyntaxError('symbol "'+n+'" must be a function');return t}},this.defs.$$processScope=this.defs.$$processScope||function(){};var n=Object.keys(this.defs).map((function(t){return"var "+t+' = defs["'+t+'"]'}));if(!this.statements.length)throw Error("there are no statements saved in this generator, make sure you parse an expression before compiling it");this.statements[this.statements.length-1]="return "+this.statements[this.statements.length-1];var e=this.statements.join(";"),i=n.join("\n")+"\n"+["return {"," eval: function (scope) {"," scope = scope || {}"," $$processScope(scope)"," "+e," },"," code: '"+e+"'","}"].join("\n");return new Function("defs",i)(this.defs)},s.prototype.parse=function(t){var n=this,e=(new i).parse(t);return this.statements=e.blocks.map((function(t){return n.interpreter.next(t)})),this},t.exports=s},6009:(t,n,e)=>{"use strict";var i=e(2010),r={ArrayNode:e(5476),AssignmentNode:e(6408),ConditionalNode:e(9907),ConstantNode:e(2341),FunctionNode:e(7850),OperatorNode:e(305),SymbolNode:e(6656),UnaryNode:e(2386)},o=function(t,n){this.owner=t,this.options=i({factory:"ns.factory",raw:!1,rawArrayExpressionElements:!0,rawCallExpressionElements:!1},n)};i(o.prototype,r),o.prototype.next=function(t){if(!(t.type in this))throw new TypeError("the node type "+t.type+" is not implemented");return this[t.type](t)},o.prototype.rawify=function(t,n){var e=this.options.raw;t&&(this.options.raw=!0),n(),t&&(this.options.raw=e)},t.exports=o},2576:t=>{"use strict";t.exports={"+":"add","-":"sub","*":"mul","/":"div","^":"pow","%":"mod","!":"factorial","|":"bitwiseOR","^|":"bitwiseXOR","&":"bitwiseAND","||":"logicalOR",xor:"logicalXOR","&&":"logicalAND","<":"lessThan",">":"greaterThan","<=":"lessEqualThan",">=":"greaterEqualThan","===":"strictlyEqual","==":"equal","!==":"strictlyNotEqual","!=":"notEqual",">>":"shiftRight","<<":"shiftLeft",">>>":"unsignedRightShift"}},6104:t=>{"use strict";t.exports={"+":"positive","-":"negative","~":"oneComplement"}},5476:t=>{"use strict";t.exports=function(t){var n=this,e=[];this.rawify(this.options.rawArrayExpressionElements,(function(){e=t.nodes.map((function(t){return n.next(t)}))}));var i="["+e.join(",")+"]";return this.options.raw?i:this.options.factory+"("+i+")"}},6408:t=>{"use strict";t.exports=function(t){return'scope["'+t.name+'"] = '+this.next(t.expr)}},9907:t=>{"use strict";t.exports=function(t){return"(!!("+this.next(t.condition)+") ? ("+this.next(t.trueExpr)+") : ("+this.next(t.falseExpr)+") )"}},2341:t=>{"use strict";t.exports=function(t){return this.options.raw?t.value:this.options.factory+"("+t.value+")"}},7850:(t,n,e)=>{"use strict";var i=e(9213).nodeTypes.SymbolNode,r=function(t){return"$$mathCodegen.functionProxy("+this.next(new i(t.name))+', "'+t.name+'")'};t.exports=function(t){var n=this,e=r.call(this,t),i=[];return this.rawify(this.options.rawCallExpressionElements,(function(){i=t.args.map((function(t){return n.next(t)}))})),e+"("+i.join(", ")+")"},t.exports.functionProxy=r},305:(t,n,e)=>{"use strict";var i=e(2576);t.exports=function(t){if(this.options.raw)return["("+this.next(t.args[0]),t.op,this.next(t.args[1])+")"].join(" ");var n=i[t.op];if(!n)throw TypeError("unidentified operator");return this.FunctionNode({name:n,args:t.args})}},6656:t=>{"use strict";t.exports=function(t){return'$$mathCodegen.getProperty("'+t.name+'", scope, ns)'}},2386:(t,n,e)=>{"use strict";var i=e(6104);t.exports=function(t){if(this.options.raw)return t.op+this.next(t.argument);if(!(t.op in i))throw new SyntaxError(t.op+" not implemented");var n=i[t.op];return this.FunctionNode({name:n,args:[t.argument]})}},2010:t=>{"use strict";var n=Object.prototype.hasOwnProperty,e=Object.prototype.toString,i=Object.defineProperty,r=Object.getOwnPropertyDescriptor,o=function(t){return"function"==typeof Array.isArray?Array.isArray(t):"[object Array]"===e.call(t)},s=function(t){if(!t||"[object Object]"!==e.call(t))return!1;var i,r=n.call(t,"constructor"),o=t.constructor&&t.constructor.prototype&&n.call(t.constructor.prototype,"isPrototypeOf");if(t.constructor&&!r&&!o)return!1;for(i in t);return void 0===i||n.call(t,i)},a=function(t,n){i&&"__proto__"===n.name?i(t,n.name,{enumerable:!0,configurable:!0,value:n.newValue,writable:!0}):t[n.name]=n.newValue},u=function(t,e){if("__proto__"===e){if(!n.call(t,e))return;if(r)return r(t,e).value}return t[e]};t.exports=function t(){var n,e,i,r,c,l,h=arguments[0],f=1,p=arguments.length,d=!1;for("boolean"==typeof h&&(d=h,h=arguments[1]||{},f=2),(null==h||"object"!=typeof h&&"function"!=typeof h)&&(h={});f{"use strict";e(1668),t.exports.Parser=e(5438),t.exports.nodeTypes=e(3450)},1668:(t,n,e)=>{var i=e(5054),r={n:"\n",f:"\f",r:"\r",t:"\t",v:"\v","'":"'",'"':'"'},o={",":!0,"(":!0,")":!0,"[":!0,"]":!0,";":!0,"~":!0,"!":!0,"+":!0,"-":!0,"*":!0,"/":!0,"%":!0,"^":!0,"**":!0,"|":!0,"&":!0,"^|":!0,"=":!0,":":!0,"?":!0,"||":!0,"&&":!0,xor:!0,"==":!0,"!=":!0,"===":!0,"!==":!0,"<":!0,">":!0,">=":!0,"<=":!0,">>>":!0,"<<":!0,">>":!0};function s(t){return t>="0"&&t<="9"}function a(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"||"$"===t||"_"===t}function u(t){return" "===t||"\r"===t||"\t"===t||"\n"===t||"\v"===t||" "===t}function c(t){return o[t]}function l(t){return"'"===t||'"'===t}function h(){}h.prototype.throwError=function(t,n){n=void 0===n?this.index:n;var e=new Error(t+" at index "+n);throw e.index=n,e.description=t,e},h.prototype.lex=function(t){for(this.text=t,this.index=0,this.tokens=[];this.index=this.text.length))return this.text.charAt(this.index+t)},h.prototype.consume=function(){var t=this.peek();return this.index+=1,t},h.prototype.readNumber=function(){var t="";if("."===this.peek())t+=this.consume(),s(this.peek())||this.throwError("number expected");else{for(;s(this.peek());)t+=this.consume();"."===this.peek()&&(t+=this.consume())}for(;s(this.peek());)t+=this.consume();if("e"===this.peek()||"E"===this.peek())for(t+=this.consume(),s(this.peek())||"+"===this.peek()||"-"===this.peek()||this.throwError(),"+"!==this.peek()&&"-"!==this.peek()||(t+=this.consume()),s(this.peek())||this.throwError("number expected");s(this.peek());)t+=this.consume();return t},h.prototype.readIdentifier=function(){for(var t="";a(this.peek())||s(this.peek());)t+=this.consume();return t},h.prototype.readString=function(){for(var t,n=this.consume(),e="";;){var i=this.consume();if(i||this.throwError("string is not closed"),t){if("u"===i){var o=this.text.substring(this.index+1,this.index+5);o.match(/[\da-f]{4}/i)||this.throwError("invalid unicode escape"),this.index+=4,e+=String.fromCharCode(parseInt(o,16))}else{e+=r[i]||i}t=!1}else{if(i===n)break;"\\"===i?t=!0:e+=i}}return e},t.exports=h},5438:(t,n,e)=>{var i=e(5054),r=e(1668),o=e(6311),s=e(6565),a=e(5543),u=e(2514),c=e(8935),l=e(3862),h=e(9322),f=e(3262),p=e(2962);function d(){this.lexer=new r,this.tokens=null}d.prototype.current=function(){return this.tokens[0]},d.prototype.next=function(){return this.tokens[1]},d.prototype.peek=function(){if(this.tokens.length)for(var t=this.tokens[0],n=0;n=","<=",">","<")){var n=this.consume(),e=this.shift();return new s(n.value,[t,e])}return t},d.prototype.shift=function(){var t=this.additive();if(this.peek(">>","<<",">>>")){var n=this.consume(),e=this.shift();return new s(n.value,[t,e])}return t},d.prototype.additive=function(){for(var t=this.multiplicative();this.peek("+","-");){var n=this.consume();t=new s(n.value,[t,this.multiplicative()])}return t},d.prototype.multiplicative=function(){for(var t,n,e=this.unary();this.peek("*","/","%");)t=this.consume(),e=new s(t.value,[e,this.unary()]);return this.current().type===i.SYMBOL||this.peek("(")||!(e.type instanceof o)&&this.current().type===i.NUMBER?(n=this.multiplicative(),new s("*",[e,n])):e},d.prototype.unary=function(){if(this.peek("-","+","~")){var t=this.consume(),n=this.unary();return new a(t.value,n)}return this.pow()},d.prototype.pow=function(){var t=this.factorial();if(this.peek("^","**")){var n=this.consume(),e=this.unary();return new s(n.value,[t,e])}return t},d.prototype.factorial=function(){var t=this.symbol();if(this.peek("!")){var n=this.consume();return new s(n.value,[t])}return t},d.prototype.symbol=function(){if(this.current().type===i.SYMBOL){var t=this.consume();return this.functionCall(t)}return this.string()},d.prototype.functionCall=function(t){var n=t.value;if(this.peek("(")){this.consume();for(var e=[];!this.peek(")")&&!this.isEOF();)e.push(this.assignment()),this.peek(",")&&this.consume();return this.expect(")"),new c(n,e)}return new u(n)},d.prototype.string=function(){return this.current().type===i.STRING?new o(this.consume().value,"string"):this.array()},d.prototype.array=function(){if(this.peek("[")){this.consume();for(var t=[];!this.peek("]")&&!this.isEOF();)t.push(this.assignment()),this.peek(",")&&this.consume();return this.expect("]"),new l(t)}return this.number()},d.prototype.number=function(){return this.current().type===i.NUMBER?new o(this.consume().value,"number"):this.parentheses()},d.prototype.parentheses=function(){if("("===this.current().value){this.consume();var t=this.assignment();return this.expect(")"),t}return this.end()},d.prototype.end=function(){if(this.current().type!==i.EOF)throw Error("unexpected end of expression")},t.exports=d},3862:(t,n,e)=>{var i=e(7111);function r(t){this.nodes=t}r.prototype=Object.create(i.prototype),r.prototype.type="ArrayNode",t.exports=r},3262:(t,n,e)=>{var i=e(7111);function r(t,n){this.name=t,this.expr=n}r.prototype=Object.create(i.prototype),r.prototype.type="AssignmentNode",t.exports=r},2962:(t,n,e)=>{var i=e(7111);function r(t){this.blocks=t}r.prototype=Object.create(i.prototype),r.prototype.type="BlockNode",t.exports=r},9322:(t,n,e)=>{var i=e(7111);function r(t,n,e){this.condition=t,this.trueExpr=n,this.falseExpr=e}r.prototype=Object.create(i.prototype),r.prototype.type="ConditionalNode",t.exports=r},6311:(t,n,e)=>{var i=e(7111),r={number:!0,string:!0,boolean:!0,undefined:!0,null:!0};function o(t,n){if(!r[n])throw Error("unsupported type '"+n+"'");this.value=t,this.valueType=n}o.prototype=Object.create(i.prototype),o.prototype.type="ConstantNode",t.exports=o},8935:(t,n,e)=>{var i=e(7111);function r(t,n){this.name=t,this.args=n}r.prototype=Object.create(i.prototype),r.prototype.type="FunctionNode",t.exports=r},7111:t=>{function n(){}n.prototype.type="Node",t.exports=n},6565:(t,n,e)=>{var i=e(7111);function r(t,n){this.op=t,this.args=n||[]}r.prototype=Object.create(i.prototype),r.prototype.type="OperatorNode",t.exports=r},2514:(t,n,e)=>{var i=e(7111);function r(t){this.name=t}r.prototype=Object.create(i.prototype),r.prototype.type="SymbolNode",t.exports=r},5543:(t,n,e)=>{var i=e(7111);function r(t,n){this.op=t,this.argument=n}r.prototype=Object.create(i.prototype),r.prototype.type="UnaryNode",t.exports=r},3450:(t,n,e)=>{t.exports={ArrayNode:e(3862),AssignmentNode:e(3262),BlockNode:e(2962),ConditionalNode:e(9322),ConstantNode:e(6311),FunctionNode:e(8935),Node:e(7111),OperatorNode:e(6565),SymbolNode:e(2514),UnaryNode:e(5543)}},5054:t=>{t.exports={EOF:0,DELIMITER:1,NUMBER:2,STRING:3,SYMBOL:4}},3093:(t,n,e)=>{"use strict";var i=e(4635),r=Math.pow(2,-1074),o=-1>>>0;t.exports=function(t,n){if(isNaN(t)||isNaN(n))return NaN;if(t===n)return t;if(0===t)return n<0?-r:r;var e=i.hi(t),s=i.lo(t);return n>t==t>0?s===o?(e+=1,s=0):s+=1:0===s?(s=o,e-=1):s-=1,i.pack(s,e)}},6643:function(t,n,e){"use strict";var i,r=this&&this.__extends||(i=function(t,n){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,n){t.__proto__=n}||function(t,n){for(var e in n)Object.prototype.hasOwnProperty.call(n,e)&&(t[e]=n[e])},i(t,n)},function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function e(){this.constructor=t}i(t,n),t.prototype=null===n?Object.create(n):(e.prototype=n.prototype,new e)}),o=this&&this.__awaiter||function(t,n,e,i){return new(e||(e=Promise))((function(r,o){function s(t){try{u(i.next(t))}catch(t){o(t)}}function a(t){try{u(i.throw(t))}catch(t){o(t)}}function u(t){var n;t.done?r(t.value):(n=t.value,n instanceof e?n:new e((function(t){t(n)}))).then(s,a)}u((i=i.apply(t,n||[])).next())}))},s=this&&this.__generator||function(t,n){var e,i,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;s;)try{if(e=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,i=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!((r=(r=s.trys).length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]=4||0===e?(this.options.bounds=n,[4,this.reloadPreview()]):[3,2];case 1:i.sent(),i.label=2;case 2:return[2]}}))}))}))})),new a.Setting(e).setName("Disable Zoom").addToggle((function(t){t.setValue(l.options.disableZoom),t.onChange((function(t){return o(l,void 0,void 0,(function(){return s(this,(function(n){switch(n.label){case 0:return this.options.disableZoom=t,[4,this.reloadPreview()];case 1:return n.sent(),[2]}}))}))}))})),new a.Setting(e).setName("Enable Grid").addToggle((function(t){t.setValue(l.options.grid),t.onChange((function(t){return o(l,void 0,void 0,(function(){return s(this,(function(n){switch(n.label){case 0:return this.options.grid=t,[4,this.reloadPreview()];case 1:return n.sent(),[2]}}))}))}))})),new a.Setting(e).setName("Functions").setDesc("Specify functions to plot. Must be in format: (x) = ").addTextArea((function(t){t.onChange((function(t){return o(l,void 0,void 0,(function(){return s(this,(function(n){switch(n.label){case 0:return t.trim()?(this.options.functions=t.split("\n").map((function(t){return t.trim()||void 0})),[4,this.reloadPreview()]):[2];case 1:return n.sent(),[2]}}))}))}))})),new a.Setting(t).addButton((function(t){t.setButtonText("Plot").setCta().onClick((function(){l.close(),l.onSubmit({title:l.options.title,xLabel:l.options.xLabel,yLabel:l.options.yLabel,bounds:l.options.bounds,disableZoom:l.options.disableZoom,grid:l.options.grid,functions:l.options.functions})}))})),[2]}}))}))},n.prototype.onClose=function(){return o(this,void 0,void 0,(function(){return s(this,(function(t){return this.contentEl.empty(),this.plot=null,[2]}))}))},n}(a.Modal);n.default=l},831:function(t,n,e){"use strict";var i,r=this&&this.__extends||(i=function(t,n){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,n){t.__proto__=n}||function(t,n){for(var e in n)Object.prototype.hasOwnProperty.call(n,e)&&(t[e]=n[e])},i(t,n)},function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function e(){this.constructor=t}i(t,n),t.prototype=null===n?Object.create(n):(e.prototype=n.prototype,new e)}),o=this&&this.__awaiter||function(t,n,e,i){return new(e||(e=Promise))((function(r,o){function s(t){try{u(i.next(t))}catch(t){o(t)}}function a(t){try{u(i.throw(t))}catch(t){o(t)}}function u(t){var n;t.done?r(t.value):(n=t.value,n instanceof e?n:new e((function(t){t(n)}))).then(s,a)}u((i=i.apply(t,n||[])).next())}))},s=this&&this.__generator||function(t,n){var e,i,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;s;)try{if(e=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,i=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!((r=(r=s.trys).length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]0})),[4,v(Object.assign({},d.DEFAULT_PLOT_OPTIONS,n?(0,c.parseYaml)(n.match(/-{3,}([^]*?)-{3,}/)[1]):{},{functions:r}),i,t)];case 1:return o.sent(),[2]}}))}))}},n}(c.Plugin);function v(t,n,e){return o(this,void 0,void 0,(function(){var i;return s(this,(function(r){try{return i={target:n,plugins:[(0,p.default)(e)],title:t.title,grid:t.grid,disableZoom:t.disableZoom,xAxis:{domain:t.bounds.slice(0,2),label:t.xLabel},yAxis:{domain:t.bounds.slice(2,4),label:t.yLabel},data:t.functions.map((function(t){return{fn:t.split("=")[1],graphType:"polyline"}}))},[2,(0,u.default)(i)]}catch(t){console.debug(t)}return[2]}))}))}n.default=y,n.createPlot=v},9551:(t,n)=>{"use strict";n.__esModule=!0,n.default=function(t){return function(n){n.listenerCount("after:draw")||(n.on("after:draw",(function(){console.log("after:draw");var e=n.root.merge(n.root.enter);e.select(".title").style("font-size","".concat(t.settings.titleFontSize,"px")).style("fill",t.settings.fontColor),e.selectAll(".axis-label").style("font-size","".concat(t.settings.labelFontSize,"px")).style("fill",t.settings.fontColor),e.selectAll(".origin").style("stroke",t.settings.lineColor).style("stroke-width","".concat(t.settings.lineWidth,"px")).style("opacity",1),e.selectAll(".tick line").style("stroke",t.settings.gridColor).style("stroke-width","".concat(t.settings.gridWidth,"px")).style("opacity",1),e.selectAll("line.text").style("fill",t.settings.fontColor).style("font-size","".concat(t.settings.scaleFontSize,"px")),e.selectAll(".domain").style("stroke",t.settings.gridColor).style("stroke-width","".concat(t.settings.gridWidth,"px")).style("opacity",1),n.root.merge(e)})),n.emit("after:draw"))}}},9699:(t,n)=>{"use strict";n.__esModule=!0,n.DEFAULT_PLOT_PLUGIN_SETTINGS=n.DEFAULT_PLOT_OPTIONS=void 0,n.DEFAULT_PLOT_OPTIONS={title:"",xLabel:"",yLabel:"",bounds:[-10,10,-10,10],disableZoom:!1,grid:!0,functions:[]},n.DEFAULT_PLOT_PLUGIN_SETTINGS={titleFontSize:24,scaleFontSize:12,labelFontSize:12,lineWidth:2,gridWidth:1,fontColor:"var(--text-normal)",lineColor:"gray",gridColor:"var(--interactive-hover)"}},8593:(t,n)=>{"use strict";n.__esModule=!0,n.parseToPlot=void 0,n.parseToPlot=function(t){var n;return"\n```functionplot\n---\ntitle: ".concat(t.title,"\nxLabel: ").concat(t.xLabel,"\nyLabel: ").concat(t.yLabel,"\nbounds: [").concat(t.bounds,"]\ndisableZoom: ").concat(t.disableZoom,"\ngrid: ").concat(t.grid,"\n---\n").concat((null!==(n=t.functions)&&void 0!==n?n:[]).join("\n"),"\n```\n")}},5144:t=>{"use strict";t.exports=require("obsidian")}},n={};function e(i){var r=n[i];if(void 0!==r)return r.exports;var o=n[i]={exports:{}};return t[i].call(o.exports,o,o.exports,e),o.exports}e.n=t=>{var n=t&&t.__esModule?()=>t.default:()=>t;return e.d(n,{a:n}),n},e.d=(t,n)=>{for(var i in n)e.o(n,i)&&!e.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:n[i]})},e.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),e.o=(t,n)=>Object.prototype.hasOwnProperty.call(t,n),e.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var i=e(8519),r=exports;for(var o in i)r[o]=i[o];i.__esModule&&Object.defineProperty(r,"__esModule",{value:!0})})(); \ No newline at end of file diff --git a/.obsidian/plugins/obsidian-functionplot/manifest.json b/.obsidian/plugins/obsidian-functionplot/manifest.json new file mode 100644 index 0000000..b3744b5 --- /dev/null +++ b/.obsidian/plugins/obsidian-functionplot/manifest.json @@ -0,0 +1,10 @@ +{ + "id": "obsidian-functionplot", + "name": "Obsidian Functionplot", + "minAppVersion": "0.12.2", + "description": "A plugin for displaying mathematical graphs in obsidian.md.", + "author": "leonhma", + "authorUrl": "https://github.com/leonhma", + "isDesktopOnly": false, + "version": "1.2.1" +} \ No newline at end of file diff --git a/.obsidian/plugins/obsidian-git/data.json b/.obsidian/plugins/obsidian-git/data.json index 84e1474..e5dbc31 100644 --- a/.obsidian/plugins/obsidian-git/data.json +++ b/.obsidian/plugins/obsidian-git/data.json @@ -1,6 +1,5 @@ { "commitMessage": "vault backup: {{date}}", - "autoCommitMessage": "vault backup: {{date}}", "commitDateFormat": "YYYY-MM-DD HH:mm:ss", "autoSaveInterval": 5, "autoPushInterval": 0, @@ -23,5 +22,9 @@ "showedMobileNotice": true, "refreshSourceControlTimer": 7000, "showBranchStatusBar": true, - "setLastSaveToLastCommit": false + "setLastSaveToLastCommit": false, + "submoduleRecurseCheckout": false, + "gitDir": "", + "showFileMenu": true, + "autoCommitMessage": "vault backup: {{date}}" } \ No newline at end of file diff --git a/.obsidian/plugins/obsidian-git/main.js b/.obsidian/plugins/obsidian-git/main.js index b04e66f..13c6ede 100644 --- a/.obsidian/plugins/obsidian-git/main.js +++ b/.obsidian/plugins/obsidian-git/main.js @@ -9,35 +9,39 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; -var __markAsModule = (target) => __defProp(target, "__esModule", { value: true }); var __esm = (fn, res) => function __init() { - return fn && (res = (0, fn[Object.keys(fn)[0]])(fn = 0)), res; + return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; }; var __commonJS = (cb, mod) => function __require() { - return mod || (0, cb[Object.keys(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; }; var __export = (target, all) => { - __markAsModule(target); for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; -var __reExport = (target, module2, desc) => { - if (module2 && typeof module2 === "object" || typeof module2 === "function") { - for (let key2 of __getOwnPropNames(module2)) - if (!__hasOwnProp.call(target, key2) && key2 !== "default") - __defProp(target, key2, { get: () => module2[key2], enumerable: !(desc = __getOwnPropDesc(module2, key2)) || desc.enumerable }); +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key2 of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key2) && key2 !== except) + __defProp(to, key2, { get: () => from[key2], enumerable: !(desc = __getOwnPropDesc(from, key2)) || desc.enumerable }); } - return target; -}; -var __toModule = (module2) => { - return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2); + return to; }; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // node_modules/.pnpm/base64-js@1.5.1/node_modules/base64-js/index.js var require_base64_js = __commonJS({ "node_modules/.pnpm/base64-js@1.5.1/node_modules/base64-js/index.js"(exports) { - init_polyfill_buffer(); "use strict"; + init_polyfill_buffer(); exports.byteLength = byteLength; exports.toByteArray = toByteArray; exports.fromByteArray = fromByteArray; @@ -122,10 +126,14 @@ var require_base64_js = __commonJS({ } if (extraBytes === 1) { tmp = uint8[len2 - 1]; - parts.push(lookup[tmp >> 2] + lookup[tmp << 4 & 63] + "=="); + parts.push( + lookup[tmp >> 2] + lookup[tmp << 4 & 63] + "==" + ); } else if (extraBytes === 2) { tmp = (uint8[len2 - 2] << 8) + uint8[len2 - 1]; - parts.push(lookup[tmp >> 10] + lookup[tmp >> 4 & 63] + lookup[tmp << 2 & 63] + "="); + parts.push( + lookup[tmp >> 10] + lookup[tmp >> 4 & 63] + lookup[tmp << 2 & 63] + "=" + ); } return parts.join(""); } @@ -219,8 +227,8 @@ var require_ieee754 = __commonJS({ // node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/index.js var require_buffer = __commonJS({ "node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/index.js"(exports) { - init_polyfill_buffer(); "use strict"; + init_polyfill_buffer(); var base64 = require_base64_js(); var ieee754 = require_ieee754(); var customInspectSymbol = typeof Symbol === "function" && typeof Symbol["for"] === "function" ? Symbol["for"]("nodejs.util.inspect.custom") : null; @@ -231,7 +239,9 @@ var require_buffer = __commonJS({ exports.kMaxLength = K_MAX_LENGTH; Buffer3.TYPED_ARRAY_SUPPORT = typedArraySupport(); if (!Buffer3.TYPED_ARRAY_SUPPORT && typeof console !== "undefined" && typeof console.error === "function") { - console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."); + console.error( + "This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support." + ); } function typedArraySupport() { try { @@ -273,7 +283,9 @@ var require_buffer = __commonJS({ function Buffer3(arg, encodingOrOffset, length) { if (typeof arg === "number") { if (typeof encodingOrOffset === "string") { - throw new TypeError('The "string" argument must be of type string. Received type number'); + throw new TypeError( + 'The "string" argument must be of type string. Received type number' + ); } return allocUnsafe(arg); } @@ -288,7 +300,9 @@ var require_buffer = __commonJS({ return fromArrayView(value); } if (value == null) { - throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof value); + throw new TypeError( + "The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof value + ); } if (isInstance(value, ArrayBuffer) || value && isInstance(value.buffer, ArrayBuffer)) { return fromArrayBuffer(value, encodingOrOffset, length); @@ -297,7 +311,9 @@ var require_buffer = __commonJS({ return fromArrayBuffer(value, encodingOrOffset, length); } if (typeof value === "number") { - throw new TypeError('The "value" argument must not be of type number. Received type number'); + throw new TypeError( + 'The "value" argument must not be of type number. Received type number' + ); } const valueOf = value.valueOf && value.valueOf(); if (valueOf != null && valueOf !== value) { @@ -309,7 +325,9 @@ var require_buffer = __commonJS({ if (typeof Symbol !== "undefined" && Symbol.toPrimitive != null && typeof value[Symbol.toPrimitive] === "function") { return Buffer3.from(value[Symbol.toPrimitive]("string"), encodingOrOffset, length); } - throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof value); + throw new TypeError( + "The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof value + ); } Buffer3.from = function(value, encodingOrOffset, length) { return from(value, encodingOrOffset, length); @@ -435,7 +453,9 @@ var require_buffer = __commonJS({ if (isInstance(b, Uint8Array)) b = Buffer3.from(b, b.offset, b.byteLength); if (!Buffer3.isBuffer(a) || !Buffer3.isBuffer(b)) { - throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array'); + throw new TypeError( + 'The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array' + ); } if (a === b) return 0; @@ -496,7 +516,11 @@ var require_buffer = __commonJS({ buf = Buffer3.from(buf); buf.copy(buffer2, pos); } else { - Uint8Array.prototype.set.call(buffer2, buf, pos); + Uint8Array.prototype.set.call( + buffer2, + buf, + pos + ); } } else if (!Buffer3.isBuffer(buf)) { throw new TypeError('"list" argument must be an Array of Buffers'); @@ -515,7 +539,9 @@ var require_buffer = __commonJS({ return string.byteLength; } if (typeof string !== "string") { - throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type ' + typeof string); + throw new TypeError( + 'The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type ' + typeof string + ); } const len = string.length; const mustMatch = arguments.length > 2 && arguments[2] === true; @@ -670,7 +696,9 @@ var require_buffer = __commonJS({ target = Buffer3.from(target, target.offset, target.byteLength); } if (!Buffer3.isBuffer(target)) { - throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type ' + typeof target); + throw new TypeError( + 'The "target" argument must be one of type Buffer or Uint8Array. Received type ' + typeof target + ); } if (start === void 0) { start = 0; @@ -889,7 +917,9 @@ var require_buffer = __commonJS({ length = void 0; } } else { - throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported"); + throw new Error( + "Buffer.write(string, encoding, offset[, length]) is no longer supported" + ); } const remaining = this.length - offset; if (length === void 0 || length > remaining) @@ -1008,7 +1038,10 @@ var require_buffer = __commonJS({ let res = ""; let i = 0; while (i < len) { - res += String.fromCharCode.apply(String, codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)); + res += String.fromCharCode.apply( + String, + codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH) + ); } return res; } @@ -1243,7 +1276,8 @@ var require_buffer = __commonJS({ if (first2 === void 0 || last2 === void 0) { boundsError(offset, this.length - 8); } - const val = (first2 << 24) + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + this[++offset]; + const val = (first2 << 24) + // Overflow + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + this[++offset]; return (BigInt(val) << BigInt(32)) + BigInt(this[++offset] * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + last2); }); Buffer3.prototype.readFloatLE = function readFloatLE(offset, noAssert) { @@ -1569,7 +1603,11 @@ var require_buffer = __commonJS({ if (this === target && typeof Uint8Array.prototype.copyWithin === "function") { this.copyWithin(targetStart, start, end); } else { - Uint8Array.prototype.set.call(target, this.subarray(start, end), targetStart); + Uint8Array.prototype.set.call( + target, + this.subarray(start, end), + targetStart + ); } return len; }; @@ -1657,30 +1695,42 @@ var require_buffer = __commonJS({ } }; } - E("ERR_BUFFER_OUT_OF_BOUNDS", function(name) { - if (name) { - return `${name} is outside of buffer bounds`; - } - return "Attempt to access memory outside buffer bounds"; - }, RangeError); - E("ERR_INVALID_ARG_TYPE", function(name, actual) { - return `The "${name}" argument must be of type number. Received type ${typeof actual}`; - }, TypeError); - E("ERR_OUT_OF_RANGE", function(str, range, input) { - let msg = `The value of "${str}" is out of range.`; - let received = input; - if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) { - received = addNumericalSeparator(String(input)); - } else if (typeof input === "bigint") { - received = String(input); - if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) { - received = addNumericalSeparator(received); + E( + "ERR_BUFFER_OUT_OF_BOUNDS", + function(name) { + if (name) { + return `${name} is outside of buffer bounds`; } - received += "n"; - } - msg += ` It must be ${range}. Received ${received}`; - return msg; - }, RangeError); + return "Attempt to access memory outside buffer bounds"; + }, + RangeError + ); + E( + "ERR_INVALID_ARG_TYPE", + function(name, actual) { + return `The "${name}" argument must be of type number. Received type ${typeof actual}`; + }, + TypeError + ); + E( + "ERR_OUT_OF_RANGE", + function(str, range, input) { + let msg = `The value of "${str}" is out of range.`; + let received = input; + if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) { + received = addNumericalSeparator(String(input)); + } else if (typeof input === "bigint") { + received = String(input); + if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) { + received = addNumericalSeparator(received); + } + received += "n"; + } + msg += ` It must be ${range}. Received ${received}`; + return msg; + }, + RangeError + ); function addNumericalSeparator(val) { let res = ""; let i = val.length; @@ -1726,7 +1776,11 @@ var require_buffer = __commonJS({ if (length < 0) { throw new errors.ERR_BUFFER_OUT_OF_BOUNDS(); } - throw new errors.ERR_OUT_OF_RANGE(type || "offset", `>= ${type ? 1 : 0} and <= ${length}`, value); + throw new errors.ERR_OUT_OF_RANGE( + type || "offset", + `>= ${type ? 1 : 0} and <= ${length}`, + value + ); } var INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g; function base64clean(str) { @@ -1780,15 +1834,27 @@ var require_buffer = __commonJS({ } else if (codePoint < 2048) { if ((units -= 2) < 0) break; - bytes.push(codePoint >> 6 | 192, codePoint & 63 | 128); + bytes.push( + codePoint >> 6 | 192, + codePoint & 63 | 128 + ); } else if (codePoint < 65536) { if ((units -= 3) < 0) break; - bytes.push(codePoint >> 12 | 224, codePoint >> 6 & 63 | 128, codePoint & 63 | 128); + bytes.push( + codePoint >> 12 | 224, + codePoint >> 6 & 63 | 128, + codePoint & 63 | 128 + ); } else if (codePoint < 1114112) { if ((units -= 4) < 0) break; - bytes.push(codePoint >> 18 | 240, codePoint >> 12 & 63 | 128, codePoint >> 6 & 63 | 128, codePoint & 63 | 128); + bytes.push( + codePoint >> 18 | 240, + codePoint >> 12 & 63 | 128, + codePoint >> 6 & 63 | 128, + codePoint & 63 | 128 + ); } else { throw new Error("Invalid code point"); } @@ -1858,7 +1924,7 @@ var require_buffer = __commonJS({ var import_obsidian, buffer, Buffer2; var init_polyfill_buffer = __esm({ "polyfill_buffer.js"() { - import_obsidian = __toModule(require("obsidian")); + import_obsidian = require("obsidian"); if (import_obsidian.Platform.isMobileApp) { buffer = require_buffer().Buffer; } else { @@ -1871,18 +1937,20 @@ var init_polyfill_buffer = __esm({ // node_modules/.pnpm/async-lock@1.4.0/node_modules/async-lock/lib/index.js var require_lib = __commonJS({ "node_modules/.pnpm/async-lock@1.4.0/node_modules/async-lock/lib/index.js"(exports, module2) { - init_polyfill_buffer(); "use strict"; + init_polyfill_buffer(); var AsyncLock2 = function(opts) { opts = opts || {}; this.Promise = opts.Promise || Promise; - this.queues = Object.create(null); + this.queues = /* @__PURE__ */ Object.create(null); this.domainReentrant = opts.domainReentrant || false; if (this.domainReentrant) { if (typeof process === "undefined" || typeof process.domain === "undefined") { - throw new Error("Domain-reentrant locks require `process.domain` to exist. Please flip `opts.domainReentrant = false`, use a NodeJS version that still implements Domain, or install a browser polyfill."); + throw new Error( + "Domain-reentrant locks require `process.domain` to exist. Please flip `opts.domainReentrant = false`, use a NodeJS version that still implements Domain, or install a browser polyfill." + ); } - this.domains = Object.create(null); + this.domains = /* @__PURE__ */ Object.create(null); } this.timeout = opts.timeout || AsyncLock2.DEFAULT_TIMEOUT; this.maxOccupationTime = opts.maxOccupationTime || AsyncLock2.DEFAULT_MAX_OCCUPATION_TIME; @@ -2094,8 +2162,8 @@ var require_lib = __commonJS({ // node_modules/.pnpm/async-lock@1.4.0/node_modules/async-lock/index.js var require_async_lock = __commonJS({ "node_modules/.pnpm/async-lock@1.4.0/node_modules/async-lock/index.js"(exports, module2) { - init_polyfill_buffer(); "use strict"; + init_polyfill_buffer(); module2.exports = require_lib(); } }); @@ -2345,9 +2413,9 @@ var require_crc32 = __commonJS({ var CRC32; (function(factory) { if (typeof DO_NOT_EXPORT_CRC === "undefined") { - if (typeof exports === "object") { + if ("object" === typeof exports) { factory(exports); - } else if (typeof define === "function" && define.amd) { + } else if ("function" === typeof define && define.amd) { define(function() { var module3 = {}; factory(module3); @@ -2446,8 +2514,8 @@ var require_crc32 = __commonJS({ // node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/utils/common.js var require_common = __commonJS({ "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/utils/common.js"(exports) { - init_polyfill_buffer(); "use strict"; + init_polyfill_buffer(); var TYPED_OK = typeof Uint8Array !== "undefined" && typeof Uint16Array !== "undefined" && typeof Int32Array !== "undefined"; function _has(obj, key2) { return Object.prototype.hasOwnProperty.call(obj, key2); @@ -2490,6 +2558,7 @@ var require_common = __commonJS({ dest[dest_offs + i] = src[src_offs + i]; } }, + // Join array of chunks to single array. flattenChunks: function(chunks) { var i, l, len, pos, chunk, result; len = 0; @@ -2512,6 +2581,7 @@ var require_common = __commonJS({ dest[dest_offs + i] = src[src_offs + i]; } }, + // Join array of chunks to single array. flattenChunks: function(chunks) { return [].concat.apply([], chunks); } @@ -2536,8 +2606,8 @@ var require_common = __commonJS({ // node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/trees.js var require_trees = __commonJS({ "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/trees.js"(exports) { - init_polyfill_buffer(); "use strict"; + init_polyfill_buffer(); var utils = require_common(); var Z_FIXED = 4; var Z_BINARY = 0; @@ -2567,9 +2637,18 @@ var require_trees = __commonJS({ var REP_3_6 = 16; var REPZ_3_10 = 17; var REPZ_11_138 = 18; - var extra_lbits = [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0]; - var extra_dbits = [0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13]; - var extra_blbits = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7]; + var extra_lbits = ( + /* extra bits for each length code */ + [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0] + ); + var extra_dbits = ( + /* extra bits for each distance code */ + [0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13] + ); + var extra_blbits = ( + /* extra bits for each bit length code */ + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7] + ); var bl_order = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]; var DIST_CODE_LEN = 512; var static_ltree = new Array((L_CODES + 2) * 2); @@ -2619,7 +2698,12 @@ var require_trees = __commonJS({ } } function send_code(s, c, tree) { - send_bits(s, tree[c * 2], tree[c * 2 + 1]); + send_bits( + s, + tree[c * 2], + tree[c * 2 + 1] + /*.Len*/ + ); } function bi_reverse(code, len) { var res = 0; @@ -2908,19 +2992,44 @@ var require_trees = __commonJS({ } node = elems; do { - n = s.heap[1]; - s.heap[1] = s.heap[s.heap_len--]; - pqdownheap(s, tree, 1); - m = s.heap[1]; + n = s.heap[ + 1 + /*SMALLEST*/ + ]; + s.heap[ + 1 + /*SMALLEST*/ + ] = s.heap[s.heap_len--]; + pqdownheap( + s, + tree, + 1 + /*SMALLEST*/ + ); + m = s.heap[ + 1 + /*SMALLEST*/ + ]; s.heap[--s.heap_max] = n; s.heap[--s.heap_max] = m; tree[node * 2] = tree[n * 2] + tree[m * 2]; s.depth[node] = (s.depth[n] >= s.depth[m] ? s.depth[n] : s.depth[m]) + 1; tree[n * 2 + 1] = tree[m * 2 + 1] = node; - s.heap[1] = node++; - pqdownheap(s, tree, 1); + s.heap[ + 1 + /*SMALLEST*/ + ] = node++; + pqdownheap( + s, + tree, + 1 + /*SMALLEST*/ + ); } while (s.heap_len >= 2); - s.heap[--s.heap_max] = s.heap[1]; + s.heap[--s.heap_max] = s.heap[ + 1 + /*SMALLEST*/ + ]; gen_bitlen(s, desc); gen_codes(tree, max_code, s.bl_count); } @@ -3140,8 +3249,8 @@ var require_trees = __commonJS({ // node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/adler32.js var require_adler32 = __commonJS({ "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/adler32.js"(exports, module2) { - init_polyfill_buffer(); "use strict"; + init_polyfill_buffer(); function adler32(adler, buf, len, pos) { var s1 = adler & 65535 | 0, s2 = adler >>> 16 & 65535 | 0, n = 0; while (len !== 0) { @@ -3163,8 +3272,8 @@ var require_adler32 = __commonJS({ // node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/crc32.js var require_crc322 = __commonJS({ "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/crc32.js"(exports, module2) { - init_polyfill_buffer(); "use strict"; + init_polyfill_buffer(); function makeTable() { var c, table = []; for (var n = 0; n < 256; n++) { @@ -3192,18 +3301,27 @@ var require_crc322 = __commonJS({ // node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/messages.js var require_messages = __commonJS({ "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/messages.js"(exports, module2) { - init_polyfill_buffer(); "use strict"; + init_polyfill_buffer(); module2.exports = { 2: "need dictionary", + /* Z_NEED_DICT 2 */ 1: "stream end", + /* Z_STREAM_END 1 */ 0: "", + /* Z_OK 0 */ "-1": "file error", + /* Z_ERRNO (-1) */ "-2": "stream error", + /* Z_STREAM_ERROR (-2) */ "-3": "data error", + /* Z_DATA_ERROR (-3) */ "-4": "insufficient memory", + /* Z_MEM_ERROR (-4) */ "-5": "buffer error", + /* Z_BUF_ERROR (-5) */ "-6": "incompatible version" + /* Z_VERSION_ERROR (-6) */ }; } }); @@ -3211,8 +3329,8 @@ var require_messages = __commonJS({ // node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/deflate.js var require_deflate = __commonJS({ "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/deflate.js"(exports) { - init_polyfill_buffer(); "use strict"; + init_polyfill_buffer(); var utils = require_common(); var trees = require_trees(); var adler32 = require_adler32(); @@ -3730,16 +3848,27 @@ var require_deflate = __commonJS({ } var configuration_table; configuration_table = [ + /* good lazy nice chain */ new Config(0, 0, 0, 0, deflate_stored), + /* 0 store only */ new Config(4, 4, 8, 4, deflate_fast), + /* 1 max speed, no lazy matches */ new Config(4, 5, 16, 8, deflate_fast), + /* 2 */ new Config(4, 6, 32, 32, deflate_fast), + /* 3 */ new Config(4, 4, 16, 16, deflate_slow), + /* 4 lazy matches */ new Config(8, 16, 32, 32, deflate_slow), + /* 5 */ new Config(8, 16, 128, 128, deflate_slow), + /* 6 */ new Config(8, 32, 128, 256, deflate_slow), + /* 7 */ new Config(32, 128, 258, 1024, deflate_slow), + /* 8 */ new Config(32, 258, 258, 4096, deflate_slow) + /* 9 max compression */ ]; function lm_init(s) { s.window_size = 2 * s.w_size; @@ -3935,7 +4064,10 @@ var require_deflate = __commonJS({ put_byte(s, OS_CODE); s.status = BUSY_STATE; } else { - put_byte(s, (s.gzhead.text ? 1 : 0) + (s.gzhead.hcrc ? 2 : 0) + (!s.gzhead.extra ? 0 : 4) + (!s.gzhead.name ? 0 : 8) + (!s.gzhead.comment ? 0 : 16)); + put_byte( + s, + (s.gzhead.text ? 1 : 0) + (s.gzhead.hcrc ? 2 : 0) + (!s.gzhead.extra ? 0 : 4) + (!s.gzhead.name ? 0 : 8) + (!s.gzhead.comment ? 0 : 16) + ); put_byte(s, s.gzhead.time & 255); put_byte(s, s.gzhead.time >> 8 & 255); put_byte(s, s.gzhead.time >> 16 & 255); @@ -4247,8 +4379,8 @@ var require_deflate = __commonJS({ // node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/utils/strings.js var require_strings = __commonJS({ "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/utils/strings.js"(exports) { - init_polyfill_buffer(); "use strict"; + init_polyfill_buffer(); var utils = require_common(); var STR_APPLY_OK = true; var STR_APPLY_UIA_OK = true; @@ -4390,8 +4522,8 @@ var require_strings = __commonJS({ // node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/zstream.js var require_zstream = __commonJS({ "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/zstream.js"(exports, module2) { - init_polyfill_buffer(); "use strict"; + init_polyfill_buffer(); function ZStream() { this.input = null; this.next_in = 0; @@ -4413,8 +4545,8 @@ var require_zstream = __commonJS({ // node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/deflate.js var require_deflate2 = __commonJS({ "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/deflate.js"(exports) { - init_polyfill_buffer(); "use strict"; + init_polyfill_buffer(); var zlib_deflate = require_deflate(); var utils = require_common(); var strings = require_strings(); @@ -4453,7 +4585,14 @@ var require_deflate2 = __commonJS({ this.chunks = []; this.strm = new ZStream(); this.strm.avail_out = 0; - var status2 = zlib_deflate.deflateInit2(this.strm, opt.level, opt.method, opt.windowBits, opt.memLevel, opt.strategy); + var status2 = zlib_deflate.deflateInit2( + this.strm, + opt.level, + opt.method, + opt.windowBits, + opt.memLevel, + opt.strategy + ); if (status2 !== Z_OK) { throw new Error(msg[status2]); } @@ -4569,8 +4708,8 @@ var require_deflate2 = __commonJS({ // node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/inffast.js var require_inffast = __commonJS({ "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/inffast.js"(exports, module2) { - init_polyfill_buffer(); "use strict"; + init_polyfill_buffer(); var BAD = 30; var TYPE = 12; module2.exports = function inflate_fast(strm, start) { @@ -4799,8 +4938,8 @@ var require_inffast = __commonJS({ // node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/inftrees.js var require_inftrees = __commonJS({ "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/inftrees.js"(exports, module2) { - init_polyfill_buffer(); "use strict"; + init_polyfill_buffer(); var utils = require_common(); var MAXBITS = 15; var ENOUGH_LENS = 852; @@ -4809,6 +4948,7 @@ var require_inftrees = __commonJS({ var LENS = 1; var DISTS = 2; var lbase = [ + /* Length codes 257..285 base */ 3, 4, 5, @@ -4842,6 +4982,7 @@ var require_inftrees = __commonJS({ 0 ]; var lext = [ + /* Length codes 257..285 extra */ 16, 16, 16, @@ -4875,6 +5016,7 @@ var require_inftrees = __commonJS({ 78 ]; var dbase = [ + /* Distance codes 0..29 base */ 1, 2, 3, @@ -4909,6 +5051,7 @@ var require_inftrees = __commonJS({ 0 ]; var dext = [ + /* Distance codes 0..29 extra */ 16, 16, 16, @@ -5112,8 +5255,8 @@ var require_inftrees = __commonJS({ // node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/inflate.js var require_inflate = __commonJS({ "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/inflate.js"(exports) { - init_polyfill_buffer(); "use strict"; + init_polyfill_buffer(); var utils = require_common(); var adler32 = require_adler32(); var crc322 = require_crc322(); @@ -5378,7 +5521,10 @@ var require_inflate = __commonJS({ var hbuf = new utils.Buf8(4); var opts; var n; - var order = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]; + var order = ( + /* permutation of code lengths */ + [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15] + ); if (!strm || !strm.state || !strm.output || !strm.input && strm.avail_in !== 0) { return Z_STREAM_ERROR; } @@ -5427,7 +5573,8 @@ var require_inflate = __commonJS({ if (state.head) { state.head.done = false; } - if (!(state.wrap & 1) || (((hold & 255) << 8) + (hold >> 8)) % 31) { + if (!(state.wrap & 1) || /* check if zlib header allowed */ + (((hold & 255) << 8) + (hold >> 8)) % 31) { strm.msg = "incorrect header check"; state.mode = BAD; break; @@ -5564,7 +5711,16 @@ var require_inflate = __commonJS({ if (!state.head.extra) { state.head.extra = new Array(state.head.extra_len); } - utils.arraySet(state.head.extra, input, next, copy2, len); + utils.arraySet( + state.head.extra, + input, + next, + // extra field is limited to 65536 bytes + // - no need for additional size check + copy2, + /*len + copy > state.head.extra_max - len ? state.head.extra_max : copy,*/ + len + ); } if (state.flags & 512) { state.check = crc322(state.check, input, copy2, next); @@ -6177,7 +6333,8 @@ var require_inflate = __commonJS({ strm.total_out += _out; state.total += _out; if (_out) { - strm.adler = state.check = state.flags ? crc322(state.check, output, _out, put - _out) : adler32(state.check, output, _out, put - _out); + strm.adler = state.check = /*UPDATE(state.check, put - _out, _out);*/ + state.flags ? crc322(state.check, output, _out, put - _out) : adler32(state.check, output, _out, put - _out); } _out = left; if ((state.flags ? hold : zswap32(hold)) !== state.check) { @@ -6239,7 +6396,8 @@ var require_inflate = __commonJS({ strm.total_out += _out; state.total += _out; if (state.wrap && _out) { - strm.adler = state.check = state.flags ? crc322(state.check, output, _out, strm.next_out - _out) : adler32(state.check, output, _out, strm.next_out - _out); + strm.adler = state.check = /*UPDATE(state.check, strm.next_out - _out, _out);*/ + state.flags ? crc322(state.check, output, _out, strm.next_out - _out) : adler32(state.check, output, _out, strm.next_out - _out); } strm.data_type = state.bits + (state.last ? 64 : 0) + (state.mode === TYPE ? 128 : 0) + (state.mode === LEN_ || state.mode === COPY_ ? 256 : 0); if ((_in === 0 && _out === 0 || flush2 === Z_FINISH) && ret === Z_OK) { @@ -6314,9 +6472,10 @@ var require_inflate = __commonJS({ // node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/constants.js var require_constants = __commonJS({ "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/constants.js"(exports, module2) { - init_polyfill_buffer(); "use strict"; + init_polyfill_buffer(); module2.exports = { + /* Allowed flush values; see deflate() and inflate() below for details */ Z_NO_FLUSH: 0, Z_PARTIAL_FLUSH: 1, Z_SYNC_FLUSH: 2, @@ -6324,13 +6483,19 @@ var require_constants = __commonJS({ Z_FINISH: 4, Z_BLOCK: 5, Z_TREES: 6, + /* Return codes for the compression/decompression functions. Negative values + * are errors, positive values are used for special but normal events. + */ Z_OK: 0, Z_STREAM_END: 1, Z_NEED_DICT: 2, Z_ERRNO: -1, Z_STREAM_ERROR: -2, Z_DATA_ERROR: -3, + //Z_MEM_ERROR: -4, Z_BUF_ERROR: -5, + //Z_VERSION_ERROR: -6, + /* compression levels */ Z_NO_COMPRESSION: 0, Z_BEST_SPEED: 1, Z_BEST_COMPRESSION: 9, @@ -6340,10 +6505,14 @@ var require_constants = __commonJS({ Z_RLE: 3, Z_FIXED: 4, Z_DEFAULT_STRATEGY: 0, + /* Possible values of the data_type field (though see inflate()) */ Z_BINARY: 0, Z_TEXT: 1, + //Z_ASCII: 1, // = Z_TEXT (deprecated) Z_UNKNOWN: 2, + /* The deflate compression method */ Z_DEFLATED: 8 + //Z_NULL: null // Use -1 or null inline, depending on var type }; } }); @@ -6351,8 +6520,8 @@ var require_constants = __commonJS({ // node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/gzheader.js var require_gzheader = __commonJS({ "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/gzheader.js"(exports, module2) { - init_polyfill_buffer(); "use strict"; + init_polyfill_buffer(); function GZheader() { this.text = 0; this.time = 0; @@ -6372,8 +6541,8 @@ var require_gzheader = __commonJS({ // node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/inflate.js var require_inflate2 = __commonJS({ "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/inflate.js"(exports) { - init_polyfill_buffer(); "use strict"; + init_polyfill_buffer(); var zlib_inflate = require_inflate(); var utils = require_common(); var strings = require_strings(); @@ -6411,7 +6580,10 @@ var require_inflate2 = __commonJS({ this.chunks = []; this.strm = new ZStream(); this.strm.avail_out = 0; - var status2 = zlib_inflate.inflateInit2(this.strm, opt.windowBits); + var status2 = zlib_inflate.inflateInit2( + this.strm, + opt.windowBits + ); if (status2 !== c.Z_OK) { throw new Error(msg[status2]); } @@ -6545,8 +6717,8 @@ var require_inflate2 = __commonJS({ // node_modules/.pnpm/pako@1.0.11/node_modules/pako/index.js var require_pako = __commonJS({ "node_modules/.pnpm/pako@1.0.11/node_modules/pako/index.js"(exports, module2) { - init_polyfill_buffer(); "use strict"; + init_polyfill_buffer(); var assign2 = require_common().assign; var deflate2 = require_deflate2(); var inflate2 = require_inflate2(); @@ -6557,265 +6729,11 @@ var require_pako = __commonJS({ } }); -// node_modules/.pnpm/ignore@5.2.4/node_modules/ignore/index.js -var require_ignore = __commonJS({ - "node_modules/.pnpm/ignore@5.2.4/node_modules/ignore/index.js"(exports, module2) { - init_polyfill_buffer(); - function makeArray(subject) { - return Array.isArray(subject) ? subject : [subject]; - } - var EMPTY = ""; - var SPACE = " "; - var ESCAPE = "\\"; - var REGEX_TEST_BLANK_LINE = /^\s+$/; - var REGEX_INVALID_TRAILING_BACKSLASH = /(?:[^\\]|^)\\$/; - var REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION = /^\\!/; - var REGEX_REPLACE_LEADING_EXCAPED_HASH = /^\\#/; - var REGEX_SPLITALL_CRLF = /\r?\n/g; - var REGEX_TEST_INVALID_PATH = /^\.*\/|^\.+$/; - var SLASH = "/"; - var TMP_KEY_IGNORE = "node-ignore"; - if (typeof Symbol !== "undefined") { - TMP_KEY_IGNORE = Symbol.for("node-ignore"); - } - var KEY_IGNORE = TMP_KEY_IGNORE; - var define2 = (object, key2, value) => Object.defineProperty(object, key2, { value }); - var REGEX_REGEXP_RANGE = /([0-z])-([0-z])/g; - var RETURN_FALSE = () => false; - var sanitizeRange = (range) => range.replace(REGEX_REGEXP_RANGE, (match, from, to) => from.charCodeAt(0) <= to.charCodeAt(0) ? match : EMPTY); - var cleanRangeBackSlash = (slashes) => { - const { length } = slashes; - return slashes.slice(0, length - length % 2); - }; - var REPLACERS = [ - [ - /\\?\s+$/, - (match) => match.indexOf("\\") === 0 ? SPACE : EMPTY - ], - [ - /\\\s/g, - () => SPACE - ], - [ - /[\\$.|*+(){^]/g, - (match) => `\\${match}` - ], - [ - /(?!\\)\?/g, - () => "[^/]" - ], - [ - /^\//, - () => "^" - ], - [ - /\//g, - () => "\\/" - ], - [ - /^\^*\\\*\\\*\\\//, - () => "^(?:.*\\/)?" - ], - [ - /^(?=[^^])/, - function startingReplacer() { - return !/\/(?!$)/.test(this) ? "(?:^|\\/)" : "^"; - } - ], - [ - /\\\/\\\*\\\*(?=\\\/|$)/g, - (_, index2, str) => index2 + 6 < str.length ? "(?:\\/[^\\/]+)*" : "\\/.+" - ], - [ - /(^|[^\\]+)(\\\*)+(?=.+)/g, - (_, p1, p2) => { - const unescaped = p2.replace(/\\\*/g, "[^\\/]*"); - return p1 + unescaped; - } - ], - [ - /\\\\\\(?=[$.|*+(){^])/g, - () => ESCAPE - ], - [ - /\\\\/g, - () => ESCAPE - ], - [ - /(\\)?\[([^\]/]*?)(\\*)($|\])/g, - (match, leadEscape, range, endEscape, close) => leadEscape === ESCAPE ? `\\[${range}${cleanRangeBackSlash(endEscape)}${close}` : close === "]" ? endEscape.length % 2 === 0 ? `[${sanitizeRange(range)}${endEscape}]` : "[]" : "[]" - ], - [ - /(?:[^*])$/, - (match) => /\/$/.test(match) ? `${match}$` : `${match}(?=$|\\/$)` - ], - [ - /(\^|\\\/)?\\\*$/, - (_, p1) => { - const prefix = p1 ? `${p1}[^/]+` : "[^/]*"; - return `${prefix}(?=$|\\/$)`; - } - ] - ]; - var regexCache = Object.create(null); - var makeRegex = (pattern, ignoreCase) => { - let source = regexCache[pattern]; - if (!source) { - source = REPLACERS.reduce((prev, current) => prev.replace(current[0], current[1].bind(pattern)), pattern); - regexCache[pattern] = source; - } - return ignoreCase ? new RegExp(source, "i") : new RegExp(source); - }; - var isString = (subject) => typeof subject === "string"; - var checkPattern = (pattern) => pattern && isString(pattern) && !REGEX_TEST_BLANK_LINE.test(pattern) && !REGEX_INVALID_TRAILING_BACKSLASH.test(pattern) && pattern.indexOf("#") !== 0; - var splitPattern = (pattern) => pattern.split(REGEX_SPLITALL_CRLF); - var IgnoreRule = class { - constructor(origin, pattern, negative, regex2) { - this.origin = origin; - this.pattern = pattern; - this.negative = negative; - this.regex = regex2; - } - }; - var createRule = (pattern, ignoreCase) => { - const origin = pattern; - let negative = false; - if (pattern.indexOf("!") === 0) { - negative = true; - pattern = pattern.substr(1); - } - pattern = pattern.replace(REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION, "!").replace(REGEX_REPLACE_LEADING_EXCAPED_HASH, "#"); - const regex2 = makeRegex(pattern, ignoreCase); - return new IgnoreRule(origin, pattern, negative, regex2); - }; - var throwError = (message, Ctor) => { - throw new Ctor(message); - }; - var checkPath = (path2, originalPath, doThrow) => { - if (!isString(path2)) { - return doThrow(`path must be a string, but got \`${originalPath}\``, TypeError); - } - if (!path2) { - return doThrow(`path must not be empty`, TypeError); - } - if (checkPath.isNotRelative(path2)) { - const r = "`path.relative()`d"; - return doThrow(`path should be a ${r} string, but got "${originalPath}"`, RangeError); - } - return true; - }; - var isNotRelative = (path2) => REGEX_TEST_INVALID_PATH.test(path2); - checkPath.isNotRelative = isNotRelative; - checkPath.convert = (p) => p; - var Ignore = class { - constructor({ - ignorecase = true, - ignoreCase = ignorecase, - allowRelativePaths = false - } = {}) { - define2(this, KEY_IGNORE, true); - this._rules = []; - this._ignoreCase = ignoreCase; - this._allowRelativePaths = allowRelativePaths; - this._initCache(); - } - _initCache() { - this._ignoreCache = Object.create(null); - this._testCache = Object.create(null); - } - _addPattern(pattern) { - if (pattern && pattern[KEY_IGNORE]) { - this._rules = this._rules.concat(pattern._rules); - this._added = true; - return; - } - if (checkPattern(pattern)) { - const rule = createRule(pattern, this._ignoreCase); - this._added = true; - this._rules.push(rule); - } - } - add(pattern) { - this._added = false; - makeArray(isString(pattern) ? splitPattern(pattern) : pattern).forEach(this._addPattern, this); - if (this._added) { - this._initCache(); - } - return this; - } - addPattern(pattern) { - return this.add(pattern); - } - _testOne(path2, checkUnignored) { - let ignored = false; - let unignored = false; - this._rules.forEach((rule) => { - const { negative } = rule; - if (unignored === negative && ignored !== unignored || negative && !ignored && !unignored && !checkUnignored) { - return; - } - const matched = rule.regex.test(path2); - if (matched) { - ignored = !negative; - unignored = negative; - } - }); - return { - ignored, - unignored - }; - } - _test(originalPath, cache, checkUnignored, slices) { - const path2 = originalPath && checkPath.convert(originalPath); - checkPath(path2, originalPath, this._allowRelativePaths ? RETURN_FALSE : throwError); - return this._t(path2, cache, checkUnignored, slices); - } - _t(path2, cache, checkUnignored, slices) { - if (path2 in cache) { - return cache[path2]; - } - if (!slices) { - slices = path2.split(SLASH); - } - slices.pop(); - if (!slices.length) { - return cache[path2] = this._testOne(path2, checkUnignored); - } - const parent = this._t(slices.join(SLASH) + SLASH, cache, checkUnignored, slices); - return cache[path2] = parent.ignored ? parent : this._testOne(path2, checkUnignored); - } - ignores(path2) { - return this._test(path2, this._ignoreCache, false).ignored; - } - createFilter() { - return (path2) => !this.ignores(path2); - } - filter(paths) { - return makeArray(paths).filter(this.createFilter()); - } - test(path2) { - return this._test(path2, this._testCache, true); - } - }; - var factory = (options) => new Ignore(options); - var isPathValid = (path2) => checkPath(path2 && checkPath.convert(path2), path2, RETURN_FALSE); - factory.isPathValid = isPathValid; - factory.default = factory; - module2.exports = factory; - if (typeof process !== "undefined" && (process.env && process.env.IGNORE_TEST_WIN32 || process.platform === "win32")) { - const makePosix = (str) => /^\\\\\?\\/.test(str) || /["<>|\u0000-\u001F]+/u.test(str) ? str : str.replace(/\\/g, "/"); - checkPath.convert = makePosix; - const REGIX_IS_WINDOWS_PATH_ABSOLUTE = /^[a-z]:\//i; - checkPath.isNotRelative = (path2) => REGIX_IS_WINDOWS_PATH_ABSOLUTE.test(path2) || isNotRelative(path2); - } - } -}); - // node_modules/.pnpm/pify@4.0.1/node_modules/pify/index.js var require_pify = __commonJS({ "node_modules/.pnpm/pify@4.0.1/node_modules/pify/index.js"(exports, module2) { - init_polyfill_buffer(); "use strict"; + init_polyfill_buffer(); var processFn = (fn, options) => function(...args) { const P = options.promiseModule; return new P((resolve, reject) => { @@ -6877,11 +6795,385 @@ var require_pify = __commonJS({ } }); +// node_modules/.pnpm/ignore@5.2.4/node_modules/ignore/index.js +var require_ignore = __commonJS({ + "node_modules/.pnpm/ignore@5.2.4/node_modules/ignore/index.js"(exports, module2) { + init_polyfill_buffer(); + function makeArray(subject) { + return Array.isArray(subject) ? subject : [subject]; + } + var EMPTY = ""; + var SPACE = " "; + var ESCAPE = "\\"; + var REGEX_TEST_BLANK_LINE = /^\s+$/; + var REGEX_INVALID_TRAILING_BACKSLASH = /(?:[^\\]|^)\\$/; + var REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION = /^\\!/; + var REGEX_REPLACE_LEADING_EXCAPED_HASH = /^\\#/; + var REGEX_SPLITALL_CRLF = /\r?\n/g; + var REGEX_TEST_INVALID_PATH = /^\.*\/|^\.+$/; + var SLASH = "/"; + var TMP_KEY_IGNORE = "node-ignore"; + if (typeof Symbol !== "undefined") { + TMP_KEY_IGNORE = Symbol.for("node-ignore"); + } + var KEY_IGNORE = TMP_KEY_IGNORE; + var define2 = (object, key2, value) => Object.defineProperty(object, key2, { value }); + var REGEX_REGEXP_RANGE = /([0-z])-([0-z])/g; + var RETURN_FALSE = () => false; + var sanitizeRange = (range) => range.replace( + REGEX_REGEXP_RANGE, + (match, from, to) => from.charCodeAt(0) <= to.charCodeAt(0) ? match : EMPTY + ); + var cleanRangeBackSlash = (slashes) => { + const { length } = slashes; + return slashes.slice(0, length - length % 2); + }; + var REPLACERS = [ + // > Trailing spaces are ignored unless they are quoted with backslash ("\") + [ + // (a\ ) -> (a ) + // (a ) -> (a) + // (a \ ) -> (a ) + /\\?\s+$/, + (match) => match.indexOf("\\") === 0 ? SPACE : EMPTY + ], + // replace (\ ) with ' ' + [ + /\\\s/g, + () => SPACE + ], + // Escape metacharacters + // which is written down by users but means special for regular expressions. + // > There are 12 characters with special meanings: + // > - the backslash \, + // > - the caret ^, + // > - the dollar sign $, + // > - the period or dot ., + // > - the vertical bar or pipe symbol |, + // > - the question mark ?, + // > - the asterisk or star *, + // > - the plus sign +, + // > - the opening parenthesis (, + // > - the closing parenthesis ), + // > - and the opening square bracket [, + // > - the opening curly brace {, + // > These special characters are often called "metacharacters". + [ + /[\\$.|*+(){^]/g, + (match) => `\\${match}` + ], + [ + // > a question mark (?) matches a single character + /(?!\\)\?/g, + () => "[^/]" + ], + // leading slash + [ + // > A leading slash matches the beginning of the pathname. + // > For example, "/*.c" matches "cat-file.c" but not "mozilla-sha1/sha1.c". + // A leading slash matches the beginning of the pathname + /^\//, + () => "^" + ], + // replace special metacharacter slash after the leading slash + [ + /\//g, + () => "\\/" + ], + [ + // > A leading "**" followed by a slash means match in all directories. + // > For example, "**/foo" matches file or directory "foo" anywhere, + // > the same as pattern "foo". + // > "**/foo/bar" matches file or directory "bar" anywhere that is directly + // > under directory "foo". + // Notice that the '*'s have been replaced as '\\*' + /^\^*\\\*\\\*\\\//, + // '**/foo' <-> 'foo' + () => "^(?:.*\\/)?" + ], + // starting + [ + // there will be no leading '/' + // (which has been replaced by section "leading slash") + // If starts with '**', adding a '^' to the regular expression also works + /^(?=[^^])/, + function startingReplacer() { + return !/\/(?!$)/.test(this) ? "(?:^|\\/)" : "^"; + } + ], + // two globstars + [ + // Use lookahead assertions so that we could match more than one `'/**'` + /\\\/\\\*\\\*(?=\\\/|$)/g, + // Zero, one or several directories + // should not use '*', or it will be replaced by the next replacer + // Check if it is not the last `'/**'` + (_, index2, str) => index2 + 6 < str.length ? "(?:\\/[^\\/]+)*" : "\\/.+" + ], + // normal intermediate wildcards + [ + // Never replace escaped '*' + // ignore rule '\*' will match the path '*' + // 'abc.*/' -> go + // 'abc.*' -> skip this rule, + // coz trailing single wildcard will be handed by [trailing wildcard] + /(^|[^\\]+)(\\\*)+(?=.+)/g, + // '*.js' matches '.js' + // '*.js' doesn't match 'abc' + (_, p1, p2) => { + const unescaped = p2.replace(/\\\*/g, "[^\\/]*"); + return p1 + unescaped; + } + ], + [ + // unescape, revert step 3 except for back slash + // For example, if a user escape a '\\*', + // after step 3, the result will be '\\\\\\*' + /\\\\\\(?=[$.|*+(){^])/g, + () => ESCAPE + ], + [ + // '\\\\' -> '\\' + /\\\\/g, + () => ESCAPE + ], + [ + // > The range notation, e.g. [a-zA-Z], + // > can be used to match one of the characters in a range. + // `\` is escaped by step 3 + /(\\)?\[([^\]/]*?)(\\*)($|\])/g, + (match, leadEscape, range, endEscape, close) => leadEscape === ESCAPE ? `\\[${range}${cleanRangeBackSlash(endEscape)}${close}` : close === "]" ? endEscape.length % 2 === 0 ? `[${sanitizeRange(range)}${endEscape}]` : "[]" : "[]" + ], + // ending + [ + // 'js' will not match 'js.' + // 'ab' will not match 'abc' + /(?:[^*])$/, + // WTF! + // https://git-scm.com/docs/gitignore + // changes in [2.22.1](https://git-scm.com/docs/gitignore/2.22.1) + // which re-fixes #24, #38 + // > If there is a separator at the end of the pattern then the pattern + // > will only match directories, otherwise the pattern can match both + // > files and directories. + // 'js*' will not match 'a.js' + // 'js/' will not match 'a.js' + // 'js' will match 'a.js' and 'a.js/' + (match) => /\/$/.test(match) ? `${match}$` : `${match}(?=$|\\/$)` + ], + // trailing wildcard + [ + /(\^|\\\/)?\\\*$/, + (_, p1) => { + const prefix = p1 ? `${p1}[^/]+` : "[^/]*"; + return `${prefix}(?=$|\\/$)`; + } + ] + ]; + var regexCache = /* @__PURE__ */ Object.create(null); + var makeRegex = (pattern, ignoreCase) => { + let source = regexCache[pattern]; + if (!source) { + source = REPLACERS.reduce( + (prev, current) => prev.replace(current[0], current[1].bind(pattern)), + pattern + ); + regexCache[pattern] = source; + } + return ignoreCase ? new RegExp(source, "i") : new RegExp(source); + }; + var isString = (subject) => typeof subject === "string"; + var checkPattern = (pattern) => pattern && isString(pattern) && !REGEX_TEST_BLANK_LINE.test(pattern) && !REGEX_INVALID_TRAILING_BACKSLASH.test(pattern) && pattern.indexOf("#") !== 0; + var splitPattern = (pattern) => pattern.split(REGEX_SPLITALL_CRLF); + var IgnoreRule = class { + constructor(origin, pattern, negative, regex2) { + this.origin = origin; + this.pattern = pattern; + this.negative = negative; + this.regex = regex2; + } + }; + var createRule = (pattern, ignoreCase) => { + const origin = pattern; + let negative = false; + if (pattern.indexOf("!") === 0) { + negative = true; + pattern = pattern.substr(1); + } + pattern = pattern.replace(REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION, "!").replace(REGEX_REPLACE_LEADING_EXCAPED_HASH, "#"); + const regex2 = makeRegex(pattern, ignoreCase); + return new IgnoreRule( + origin, + pattern, + negative, + regex2 + ); + }; + var throwError = (message, Ctor) => { + throw new Ctor(message); + }; + var checkPath = (path2, originalPath, doThrow) => { + if (!isString(path2)) { + return doThrow( + `path must be a string, but got \`${originalPath}\``, + TypeError + ); + } + if (!path2) { + return doThrow(`path must not be empty`, TypeError); + } + if (checkPath.isNotRelative(path2)) { + const r = "`path.relative()`d"; + return doThrow( + `path should be a ${r} string, but got "${originalPath}"`, + RangeError + ); + } + return true; + }; + var isNotRelative = (path2) => REGEX_TEST_INVALID_PATH.test(path2); + checkPath.isNotRelative = isNotRelative; + checkPath.convert = (p) => p; + var Ignore = class { + constructor({ + ignorecase = true, + ignoreCase = ignorecase, + allowRelativePaths = false + } = {}) { + define2(this, KEY_IGNORE, true); + this._rules = []; + this._ignoreCase = ignoreCase; + this._allowRelativePaths = allowRelativePaths; + this._initCache(); + } + _initCache() { + this._ignoreCache = /* @__PURE__ */ Object.create(null); + this._testCache = /* @__PURE__ */ Object.create(null); + } + _addPattern(pattern) { + if (pattern && pattern[KEY_IGNORE]) { + this._rules = this._rules.concat(pattern._rules); + this._added = true; + return; + } + if (checkPattern(pattern)) { + const rule = createRule(pattern, this._ignoreCase); + this._added = true; + this._rules.push(rule); + } + } + // @param {Array | string | Ignore} pattern + add(pattern) { + this._added = false; + makeArray( + isString(pattern) ? splitPattern(pattern) : pattern + ).forEach(this._addPattern, this); + if (this._added) { + this._initCache(); + } + return this; + } + // legacy + addPattern(pattern) { + return this.add(pattern); + } + // | ignored : unignored + // negative | 0:0 | 0:1 | 1:0 | 1:1 + // -------- | ------- | ------- | ------- | -------- + // 0 | TEST | TEST | SKIP | X + // 1 | TESTIF | SKIP | TEST | X + // - SKIP: always skip + // - TEST: always test + // - TESTIF: only test if checkUnignored + // - X: that never happen + // @param {boolean} whether should check if the path is unignored, + // setting `checkUnignored` to `false` could reduce additional + // path matching. + // @returns {TestResult} true if a file is ignored + _testOne(path2, checkUnignored) { + let ignored = false; + let unignored = false; + this._rules.forEach((rule) => { + const { negative } = rule; + if (unignored === negative && ignored !== unignored || negative && !ignored && !unignored && !checkUnignored) { + return; + } + const matched = rule.regex.test(path2); + if (matched) { + ignored = !negative; + unignored = negative; + } + }); + return { + ignored, + unignored + }; + } + // @returns {TestResult} + _test(originalPath, cache, checkUnignored, slices) { + const path2 = originalPath && checkPath.convert(originalPath); + checkPath( + path2, + originalPath, + this._allowRelativePaths ? RETURN_FALSE : throwError + ); + return this._t(path2, cache, checkUnignored, slices); + } + _t(path2, cache, checkUnignored, slices) { + if (path2 in cache) { + return cache[path2]; + } + if (!slices) { + slices = path2.split(SLASH); + } + slices.pop(); + if (!slices.length) { + return cache[path2] = this._testOne(path2, checkUnignored); + } + const parent = this._t( + slices.join(SLASH) + SLASH, + cache, + checkUnignored, + slices + ); + return cache[path2] = parent.ignored ? parent : this._testOne(path2, checkUnignored); + } + ignores(path2) { + return this._test(path2, this._ignoreCache, false).ignored; + } + createFilter() { + return (path2) => !this.ignores(path2); + } + filter(paths) { + return makeArray(paths).filter(this.createFilter()); + } + // @returns {TestResult} + test(path2) { + return this._test(path2, this._testCache, true); + } + }; + var factory = (options) => new Ignore(options); + var isPathValid = (path2) => checkPath(path2 && checkPath.convert(path2), path2, RETURN_FALSE); + factory.isPathValid = isPathValid; + factory.default = factory; + module2.exports = factory; + if ( + // Detect `process` so that it can run in browsers. + typeof process !== "undefined" && (process.env && process.env.IGNORE_TEST_WIN32 || process.platform === "win32") + ) { + const makePosix = (str) => /^\\\\\?\\/.test(str) || /["<>|\u0000-\u001F]+/u.test(str) ? str : str.replace(/\\/g, "/"); + checkPath.convert = makePosix; + const REGIX_IS_WINDOWS_PATH_ABSOLUTE = /^[a-z]:\//i; + checkPath.isNotRelative = (path2) => REGIX_IS_WINDOWS_PATH_ABSOLUTE.test(path2) || isNotRelative(path2); + } + } +}); + // node_modules/.pnpm/clean-git-ref@2.0.1/node_modules/clean-git-ref/lib/index.js var require_lib2 = __commonJS({ "node_modules/.pnpm/clean-git-ref@2.0.1/node_modules/clean-git-ref/lib/index.js"(exports, module2) { - init_polyfill_buffer(); "use strict"; + init_polyfill_buffer(); function escapeRegExp(string) { return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); } @@ -7265,14 +7557,18 @@ var require_ms = __commonJS({ } else if (type === "number" && isFinite(val)) { return options.long ? fmtLong(val) : fmtShort(val); } - throw new Error("val is not a non-empty string or a valid number. val=" + JSON.stringify(val)); + throw new Error( + "val is not a non-empty string or a valid number. val=" + JSON.stringify(val) + ); }; function parse2(str) { str = String(str); if (str.length > 100) { return; } - var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(str); + var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec( + str + ); if (!match) { return; } @@ -7393,12 +7689,12 @@ var require_common2 = __commonJS({ let enableOverride = null; let namespacesCache; let enabledCache; - function debug2(...args) { - if (!debug2.enabled) { + function debug3(...args) { + if (!debug3.enabled) { return; } - const self3 = debug2; - const curr = Number(new Date()); + const self3 = debug3; + const curr = Number(/* @__PURE__ */ new Date()); const ms = curr - (prevTime || curr); self3.diff = ms; self3.prev = prevTime; @@ -7427,12 +7723,12 @@ var require_common2 = __commonJS({ const logFn = self3.log || createDebug.log; logFn.apply(self3, args); } - debug2.namespace = namespace; - debug2.useColors = createDebug.useColors(); - debug2.color = createDebug.selectColor(namespace); - debug2.extend = extend; - debug2.destroy = createDebug.destroy; - Object.defineProperty(debug2, "enabled", { + debug3.namespace = namespace; + debug3.useColors = createDebug.useColors(); + debug3.color = createDebug.selectColor(namespace); + debug3.extend = extend; + debug3.destroy = createDebug.destroy; + Object.defineProperty(debug3, "enabled", { enumerable: true, configurable: false, get: () => { @@ -7450,9 +7746,9 @@ var require_common2 = __commonJS({ } }); if (typeof createDebug.init === "function") { - createDebug.init(debug2); + createDebug.init(debug3); } - return debug2; + return debug3; } function extend(namespace, delimiter) { const newDebug = createDebug(this.namespace + (typeof delimiter === "undefined" ? ":" : delimiter) + namespace); @@ -7627,7 +7923,11 @@ var require_browser = __commonJS({ if (typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) { return false; } - return typeof document !== "undefined" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || typeof window !== "undefined" && window.console && (window.console.firebug || window.console.exception && window.console.table) || typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 || typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/); + return typeof document !== "undefined" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || // Is firebug? http://stackoverflow.com/a/398120/376773 + typeof window !== "undefined" && window.console && (window.console.firebug || window.console.exception && window.console.table) || // Is firefox >= v31? + // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages + typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 || // Double check webkit in userAgent just in case we are in a worker + typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/); } function formatArgs(args) { args[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + args[0] + (this.useColors ? "%c " : " ") + "+" + module2.exports.humanize(this.diff); @@ -7693,8 +7993,8 @@ var require_browser = __commonJS({ // node_modules/.pnpm/@kwsites+file-exists@1.1.1_supports-color@7.2.0/node_modules/@kwsites/file-exists/dist/src/index.js var require_src = __commonJS({ "node_modules/.pnpm/@kwsites+file-exists@1.1.1_supports-color@7.2.0/node_modules/@kwsites/file-exists/dist/src/index.js"(exports) { - init_polyfill_buffer(); "use strict"; + init_polyfill_buffer(); var __importDefault = exports && exports.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; @@ -7738,8 +8038,8 @@ var require_src = __commonJS({ // node_modules/.pnpm/@kwsites+file-exists@1.1.1_supports-color@7.2.0/node_modules/@kwsites/file-exists/dist/index.js var require_dist = __commonJS({ "node_modules/.pnpm/@kwsites+file-exists@1.1.1_supports-color@7.2.0/node_modules/@kwsites/file-exists/dist/index.js"(exports) { - init_polyfill_buffer(); "use strict"; + init_polyfill_buffer(); function __export3(m) { for (var p in m) if (!exports.hasOwnProperty(p)) @@ -7753,8 +8053,8 @@ var require_dist = __commonJS({ // node_modules/.pnpm/@kwsites+promise-deferred@1.1.1/node_modules/@kwsites/promise-deferred/dist/index.js var require_dist2 = __commonJS({ "node_modules/.pnpm/@kwsites+promise-deferred@1.1.1/node_modules/@kwsites/promise-deferred/dist/index.js"(exports) { - init_polyfill_buffer(); "use strict"; + init_polyfill_buffer(); Object.defineProperty(exports, "__esModule", { value: true }); exports.createDeferred = exports.deferred = void 0; function deferred2() { @@ -7849,7 +8149,9 @@ var require_compiler = __commonJS({ lineStart = tokens.length; } function changeDelimiters(text3, index2) { - var close = "=" + ctag, closeIndex = text3.indexOf(close, index2), delimiters2 = trim(text3.substring(text3.indexOf("=", index2) + 1, closeIndex)).split(" "); + var close = "=" + ctag, closeIndex = text3.indexOf(close, index2), delimiters2 = trim( + text3.substring(text3.indexOf("=", index2) + 1, closeIndex) + ).split(" "); otag = delimiters2[0]; ctag = delimiters2[delimiters2.length - 1]; return closeIndex + close.length - 1; @@ -8137,17 +8439,22 @@ var require_template = __commonJS({ this.buf = ""; }; Hogan5.Template.prototype = { + // render: replaced by generated code. r: function(context, partials, indent2) { return ""; }, + // variable escaping v: hoganEscape, + // triple stache t: coerceToString, render: function render2(context, partials, indent2) { return this.ri([context], partials || {}, indent2); }, + // render internal -- a hook for overrides that catches partials too ri: function(context, partials, indent2) { return this.r(context, partials, indent2); }, + // ensurePartial ep: function(symbol, partials) { var partial = this.partials[symbol]; var template = partials[partial.name]; @@ -8172,11 +8479,19 @@ var require_template = __commonJS({ partials.stackText[key] = this.activeSub !== void 0 && partials.stackText[this.activeSub] ? partials.stackText[this.activeSub] : this.text; } } - template = createSpecializedPartial(template, partial.subs, partial.partials, this.stackSubs, this.stackPartials, partials.stackText); + template = createSpecializedPartial( + template, + partial.subs, + partial.partials, + this.stackSubs, + this.stackPartials, + partials.stackText + ); } this.partials[symbol].instance = template; return template; }, + // tries to find a partial in the current scope and render it rp: function(symbol, context, partials, indent2) { var partial = this.ep(symbol, partials); if (!partial) { @@ -8184,6 +8499,7 @@ var require_template = __commonJS({ } return partial.ri(context, partials, indent2); }, + // render a section rs: function(context, partials, section) { var tail = context[context.length - 1]; if (!isArray(tail)) { @@ -8196,6 +8512,7 @@ var require_template = __commonJS({ context.pop(); } }, + // maybe start a section s: function(val, ctx, partials, inverted, start, end, tags) { var pass; if (isArray(val) && val.length === 0) { @@ -8210,6 +8527,7 @@ var require_template = __commonJS({ } return pass; }, + // find values with dotted names d: function(key2, ctx, partials, returnFound) { var found, names = key2.split("."), val = this.f(names[0], ctx, partials, returnFound), doModelGet = this.options.modelGet, cx = null; if (key2 === "." && isArray(ctx[ctx.length - 2])) { @@ -8235,6 +8553,7 @@ var require_template = __commonJS({ } return val; }, + // find values with normal names f: function(key2, ctx, partials, returnFound) { var val = false, v = null, found = false, doModelGet = this.options.modelGet; for (var i = ctx.length - 1; i >= 0; i--) { @@ -8253,6 +8572,7 @@ var require_template = __commonJS({ } return val; }, + // higher order templates ls: function(func, cx, partials, text2, tags) { var oldTags = this.options.delimiters; this.options.delimiters = tags; @@ -8260,12 +8580,14 @@ var require_template = __commonJS({ this.options.delimiters = oldTags; return false; }, + // compile text ct: function(text2, cx, partials) { if (this.options.disableLambda) { throw new Error("Lambda features disabled."); } return this.c.compile(text2, this.options).render(cx, partials); }, + // template result buffering b: function(s) { this.buf += s; }, @@ -8274,6 +8596,7 @@ var require_template = __commonJS({ this.buf = ""; return r; }, + // method replace section ms: function(func, ctx, partials, inverted, start, end, tags) { var textSource, cx = ctx[ctx.length - 1], result = func.call(cx); if (typeof result == "function") { @@ -8286,6 +8609,7 @@ var require_template = __commonJS({ } return result; }, + // method replace variable mv: function(func, ctx, partials) { var cx = ctx[ctx.length - 1]; var result = func.call(cx); @@ -8314,15 +8638,15 @@ var require_template = __commonJS({ } return val; } - function createSpecializedPartial(instance6, subs, partials, stackSubs, stackPartials, stackText) { + function createSpecializedPartial(instance10, subs, partials, stackSubs, stackPartials, stackText) { function PartialTemplate() { } ; - PartialTemplate.prototype = instance6; + PartialTemplate.prototype = instance10; function Substitutions() { } ; - Substitutions.prototype = instance6.subs; + Substitutions.prototype = instance10.subs; var key2; var partial = new PartialTemplate(); partial.subs = new Substitutions(); @@ -8389,1430 +8713,2637 @@ var require_feather = __commonJS({ else root["feather"] = factory(); })(typeof self !== "undefined" ? self : exports, function() { - return function(modules) { - var installedModules = {}; - function __webpack_require__(moduleId) { - if (installedModules[moduleId]) { - return installedModules[moduleId].exports; - } - var module3 = installedModules[moduleId] = { - i: moduleId, - l: false, - exports: {} - }; - modules[moduleId].call(module3.exports, module3, module3.exports, __webpack_require__); - module3.l = true; - return module3.exports; - } - __webpack_require__.m = modules; - __webpack_require__.c = installedModules; - __webpack_require__.d = function(exports2, name, getter) { - if (!__webpack_require__.o(exports2, name)) { - Object.defineProperty(exports2, name, { - configurable: false, - enumerable: true, - get: getter - }); - } - }; - __webpack_require__.r = function(exports2) { - Object.defineProperty(exports2, "__esModule", { value: true }); - }; - __webpack_require__.n = function(module3) { - var getter = module3 && module3.__esModule ? function getDefault() { - return module3["default"]; - } : function getModuleExports() { - return module3; - }; - __webpack_require__.d(getter, "a", getter); - return getter; - }; - __webpack_require__.o = function(object, property) { - return Object.prototype.hasOwnProperty.call(object, property); - }; - __webpack_require__.p = ""; - return __webpack_require__(__webpack_require__.s = 0); - }({ - "./dist/icons.json": function(module3) { - module3.exports = { "activity": '', "airplay": '', "alert-circle": '', "alert-octagon": '', "alert-triangle": '', "align-center": '', "align-justify": '', "align-left": '', "align-right": '', "anchor": '', "aperture": '', "archive": '', "arrow-down-circle": '', "arrow-down-left": '', "arrow-down-right": '', "arrow-down": '', "arrow-left-circle": '', "arrow-left": '', "arrow-right-circle": '', "arrow-right": '', "arrow-up-circle": '', "arrow-up-left": '', "arrow-up-right": '', "arrow-up": '', "at-sign": '', "award": '', "bar-chart-2": '', "bar-chart": '', "battery-charging": '', "battery": '', "bell-off": '', "bell": '', "bluetooth": '', "bold": '', "book-open": '', "book": '', "bookmark": '', "box": '', "briefcase": '', "calendar": '', "camera-off": '', "camera": '', "cast": '', "check-circle": '', "check-square": '', "check": '', "chevron-down": '', "chevron-left": '', "chevron-right": '', "chevron-up": '', "chevrons-down": '', "chevrons-left": '', "chevrons-right": '', "chevrons-up": '', "chrome": '', "circle": '', "clipboard": '', "clock": '', "cloud-drizzle": '', "cloud-lightning": '', "cloud-off": '', "cloud-rain": '', "cloud-snow": '', "cloud": '', "code": '', "codepen": '', "codesandbox": '', "coffee": '', "columns": '', "command": '', "compass": '', "copy": '', "corner-down-left": '', "corner-down-right": '', "corner-left-down": '', "corner-left-up": '', "corner-right-down": '', "corner-right-up": '', "corner-up-left": '', "corner-up-right": '', "cpu": '', "credit-card": '', "crop": '', "crosshair": '', "database": '', "delete": '', "disc": '', "divide-circle": '', "divide-square": '', "divide": '', "dollar-sign": '', "download-cloud": '', "download": '', "dribbble": '', "droplet": '', "edit-2": '', "edit-3": '', "edit": '', "external-link": '', "eye-off": '', "eye": '', "facebook": '', "fast-forward": '', "feather": '', "figma": '', "file-minus": '', "file-plus": '', "file-text": '', "file": '', "film": '', "filter": '', "flag": '', "folder-minus": '', "folder-plus": '', "folder": '', "framer": '', "frown": '', "gift": '', "git-branch": '', "git-commit": '', "git-merge": '', "git-pull-request": '', "github": '', "gitlab": '', "globe": '', "grid": '', "hard-drive": '', "hash": '', "headphones": '', "heart": '', "help-circle": '', "hexagon": '', "home": '', "image": '', "inbox": '', "info": '', "instagram": '', "italic": '', "key": '', "layers": '', "layout": '', "life-buoy": '', "link-2": '', "link": '', "linkedin": '', "list": '', "loader": '', "lock": '', "log-in": '', "log-out": '', "mail": '', "map-pin": '', "map": '', "maximize-2": '', "maximize": '', "meh": '', "menu": '', "message-circle": '', "message-square": '', "mic-off": '', "mic": '', "minimize-2": '', "minimize": '', "minus-circle": '', "minus-square": '', "minus": '', "monitor": '', "moon": '', "more-horizontal": '', "more-vertical": '', "mouse-pointer": '', "move": '', "music": '', "navigation-2": '', "navigation": '', "octagon": '', "package": '', "paperclip": '', "pause-circle": '', "pause": '', "pen-tool": '', "percent": '', "phone-call": '', "phone-forwarded": '', "phone-incoming": '', "phone-missed": '', "phone-off": '', "phone-outgoing": '', "phone": '', "pie-chart": '', "play-circle": '', "play": '', "plus-circle": '', "plus-square": '', "plus": '', "pocket": '', "power": '', "printer": '', "radio": '', "refresh-ccw": '', "refresh-cw": '', "repeat": '', "rewind": '', "rotate-ccw": '', "rotate-cw": '', "rss": '', "save": '', "scissors": '', "search": '', "send": '', "server": '', "settings": '', "share-2": '', "share": '', "shield-off": '', "shield": '', "shopping-bag": '', "shopping-cart": '', "shuffle": '', "sidebar": '', "skip-back": '', "skip-forward": '', "slack": '', "slash": '', "sliders": '', "smartphone": '', "smile": '', "speaker": '', "square": '', "star": '', "stop-circle": '', "sun": '', "sunrise": '', "sunset": '', "table": '', "tablet": '', "tag": '', "target": '', "terminal": '', "thermometer": '', "thumbs-down": '', "thumbs-up": '', "toggle-left": '', "toggle-right": '', "tool": '', "trash-2": '', "trash": '', "trello": '', "trending-down": '', "trending-up": '', "triangle": '', "truck": '', "tv": '', "twitch": '', "twitter": '', "type": '', "umbrella": '', "underline": '', "unlock": '', "upload-cloud": '', "upload": '', "user-check": '', "user-minus": '', "user-plus": '', "user-x": '', "user": '', "users": '', "video-off": '', "video": '', "voicemail": '', "volume-1": '', "volume-2": '', "volume-x": '', "volume": '', "watch": '', "wifi-off": '', "wifi": '', "wind": '', "x-circle": '', "x-octagon": '', "x-square": '', "x": '', "youtube": '', "zap-off": '', "zap": '', "zoom-in": '', "zoom-out": '' }; - }, - "./node_modules/classnames/dedupe.js": function(module3, exports2, __webpack_require__) { - var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - (function() { - "use strict"; - var classNames = function() { - function StorageObject() { - } - StorageObject.prototype = Object.create(null); - function _parseArray(resultSet, array) { - var length = array.length; - for (var i = 0; i < length; ++i) { - _parse(resultSet, array[i]); - } - } - var hasOwn = {}.hasOwnProperty; - function _parseNumber(resultSet, num2) { - resultSet[num2] = true; - } - function _parseObject(resultSet, object) { - for (var k in object) { - if (hasOwn.call(object, k)) { - resultSet[k] = !!object[k]; - } - } - } - var SPACE = /\s+/; - function _parseString(resultSet, str) { - var array = str.split(SPACE); - var length = array.length; - for (var i = 0; i < length; ++i) { - resultSet[array[i]] = true; - } - } - function _parse(resultSet, arg) { - if (!arg) - return; - var argType = typeof arg; - if (argType === "string") { - _parseString(resultSet, arg); - } else if (Array.isArray(arg)) { - _parseArray(resultSet, arg); - } else if (argType === "object") { - _parseObject(resultSet, arg); - } else if (argType === "number") { - _parseNumber(resultSet, arg); - } - } - function _classNames() { - var len = arguments.length; - var args = Array(len); - for (var i = 0; i < len; i++) { - args[i] = arguments[i]; - } - var classSet = new StorageObject(); - _parseArray(classSet, args); - var list = []; - for (var k in classSet) { - if (classSet[k]) { - list.push(k); - } - } - return list.join(" "); - } - return _classNames; - }(); - if (typeof module3 !== "undefined" && module3.exports) { - module3.exports = classNames; - } else if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = function() { - return classNames; - }.apply(exports2, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== void 0 && (module3.exports = __WEBPACK_AMD_DEFINE_RESULT__)); - } else { + return ( + /******/ + function(modules) { + var installedModules = {}; + function __webpack_require__(moduleId) { + if (installedModules[moduleId]) { + return installedModules[moduleId].exports; } - })(); - }, - "./node_modules/core-js/es/array/from.js": function(module3, exports2, __webpack_require__) { - __webpack_require__("./node_modules/core-js/modules/es.string.iterator.js"); - __webpack_require__("./node_modules/core-js/modules/es.array.from.js"); - var path2 = __webpack_require__("./node_modules/core-js/internals/path.js"); - module3.exports = path2.Array.from; - }, - "./node_modules/core-js/internals/a-function.js": function(module3, exports2) { - module3.exports = function(it) { - if (typeof it != "function") { - throw TypeError(String(it) + " is not a function"); - } - return it; - }; - }, - "./node_modules/core-js/internals/an-object.js": function(module3, exports2, __webpack_require__) { - var isObject = __webpack_require__("./node_modules/core-js/internals/is-object.js"); - module3.exports = function(it) { - if (!isObject(it)) { - throw TypeError(String(it) + " is not an object"); - } - return it; - }; - }, - "./node_modules/core-js/internals/array-from.js": function(module3, exports2, __webpack_require__) { - "use strict"; - var bind = __webpack_require__("./node_modules/core-js/internals/bind-context.js"); - var toObject = __webpack_require__("./node_modules/core-js/internals/to-object.js"); - var callWithSafeIterationClosing = __webpack_require__("./node_modules/core-js/internals/call-with-safe-iteration-closing.js"); - var isArrayIteratorMethod = __webpack_require__("./node_modules/core-js/internals/is-array-iterator-method.js"); - var toLength = __webpack_require__("./node_modules/core-js/internals/to-length.js"); - var createProperty = __webpack_require__("./node_modules/core-js/internals/create-property.js"); - var getIteratorMethod = __webpack_require__("./node_modules/core-js/internals/get-iterator-method.js"); - module3.exports = function from(arrayLike) { - var O = toObject(arrayLike); - var C = typeof this == "function" ? this : Array; - var argumentsLength = arguments.length; - var mapfn = argumentsLength > 1 ? arguments[1] : void 0; - var mapping = mapfn !== void 0; - var index2 = 0; - var iteratorMethod = getIteratorMethod(O); - var length, result, step, iterator; - if (mapping) - mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : void 0, 2); - if (iteratorMethod != void 0 && !(C == Array && isArrayIteratorMethod(iteratorMethod))) { - iterator = iteratorMethod.call(O); - result = new C(); - for (; !(step = iterator.next()).done; index2++) { - createProperty(result, index2, mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index2], true) : step.value); - } - } else { - length = toLength(O.length); - result = new C(length); - for (; length > index2; index2++) { - createProperty(result, index2, mapping ? mapfn(O[index2], index2) : O[index2]); - } - } - result.length = index2; - return result; - }; - }, - "./node_modules/core-js/internals/array-includes.js": function(module3, exports2, __webpack_require__) { - var toIndexedObject = __webpack_require__("./node_modules/core-js/internals/to-indexed-object.js"); - var toLength = __webpack_require__("./node_modules/core-js/internals/to-length.js"); - var toAbsoluteIndex = __webpack_require__("./node_modules/core-js/internals/to-absolute-index.js"); - module3.exports = function(IS_INCLUDES) { - return function($this, el, fromIndex) { - var O = toIndexedObject($this); - var length = toLength(O.length); - var index2 = toAbsoluteIndex(fromIndex, length); - var value; - if (IS_INCLUDES && el != el) - while (length > index2) { - value = O[index2++]; - if (value != value) - return true; - } - else - for (; length > index2; index2++) - if (IS_INCLUDES || index2 in O) { - if (O[index2] === el) - return IS_INCLUDES || index2 || 0; - } - return !IS_INCLUDES && -1; + var module3 = installedModules[moduleId] = { + /******/ + i: moduleId, + /******/ + l: false, + /******/ + exports: {} + /******/ }; + modules[moduleId].call(module3.exports, module3, module3.exports, __webpack_require__); + module3.l = true; + return module3.exports; + } + __webpack_require__.m = modules; + __webpack_require__.c = installedModules; + __webpack_require__.d = function(exports2, name, getter) { + if (!__webpack_require__.o(exports2, name)) { + Object.defineProperty(exports2, name, { + /******/ + configurable: false, + /******/ + enumerable: true, + /******/ + get: getter + /******/ + }); + } }; - }, - "./node_modules/core-js/internals/bind-context.js": function(module3, exports2, __webpack_require__) { - var aFunction = __webpack_require__("./node_modules/core-js/internals/a-function.js"); - module3.exports = function(fn, that, length) { - aFunction(fn); - if (that === void 0) - return fn; - switch (length) { - case 0: + __webpack_require__.r = function(exports2) { + Object.defineProperty(exports2, "__esModule", { value: true }); + }; + __webpack_require__.n = function(module3) { + var getter = module3 && module3.__esModule ? ( + /******/ + function getDefault() { + return module3["default"]; + } + ) : ( + /******/ + function getModuleExports() { + return module3; + } + ); + __webpack_require__.d(getter, "a", getter); + return getter; + }; + __webpack_require__.o = function(object, property) { + return Object.prototype.hasOwnProperty.call(object, property); + }; + __webpack_require__.p = ""; + return __webpack_require__(__webpack_require__.s = 0); + }({ + /***/ + "./dist/icons.json": ( + /*!*************************!*\ + !*** ./dist/icons.json ***! + \*************************/ + /*! exports provided: activity, airplay, alert-circle, alert-octagon, alert-triangle, align-center, align-justify, align-left, align-right, anchor, aperture, archive, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, award, bar-chart-2, bar-chart, battery-charging, battery, bell-off, bell, bluetooth, bold, book-open, book, bookmark, box, briefcase, calendar, camera-off, camera, cast, check-circle, check-square, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, chrome, circle, clipboard, clock, cloud-drizzle, cloud-lightning, cloud-off, cloud-rain, cloud-snow, cloud, code, codepen, codesandbox, coffee, columns, command, compass, copy, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, cpu, credit-card, crop, crosshair, database, delete, disc, divide-circle, divide-square, divide, dollar-sign, download-cloud, download, dribbble, droplet, edit-2, edit-3, edit, external-link, eye-off, eye, facebook, fast-forward, feather, figma, file-minus, file-plus, file-text, file, film, filter, flag, folder-minus, folder-plus, folder, framer, frown, gift, git-branch, git-commit, git-merge, git-pull-request, github, gitlab, globe, grid, hard-drive, hash, headphones, heart, help-circle, hexagon, home, image, inbox, info, instagram, italic, key, layers, layout, life-buoy, link-2, link, linkedin, list, loader, lock, log-in, log-out, mail, map-pin, map, maximize-2, maximize, meh, menu, message-circle, message-square, mic-off, mic, minimize-2, minimize, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, mouse-pointer, move, music, navigation-2, navigation, octagon, package, paperclip, pause-circle, pause, pen-tool, percent, phone-call, phone-forwarded, phone-incoming, phone-missed, phone-off, phone-outgoing, phone, pie-chart, play-circle, play, plus-circle, plus-square, plus, pocket, power, printer, radio, refresh-ccw, refresh-cw, repeat, rewind, rotate-ccw, rotate-cw, rss, save, scissors, search, send, server, settings, share-2, share, shield-off, shield, shopping-bag, shopping-cart, shuffle, sidebar, skip-back, skip-forward, slack, slash, sliders, smartphone, smile, speaker, square, star, stop-circle, sun, sunrise, sunset, table, tablet, tag, target, terminal, thermometer, thumbs-down, thumbs-up, toggle-left, toggle-right, tool, trash-2, trash, trello, trending-down, trending-up, triangle, truck, tv, twitch, twitter, type, umbrella, underline, unlock, upload-cloud, upload, user-check, user-minus, user-plus, user-x, user, users, video-off, video, voicemail, volume-1, volume-2, volume-x, volume, watch, wifi-off, wifi, wind, x-circle, x-octagon, x-square, x, youtube, zap-off, zap, zoom-in, zoom-out, default */ + /***/ + function(module3) { + module3.exports = { "activity": '', "airplay": '', "alert-circle": '', "alert-octagon": '', "alert-triangle": '', "align-center": '', "align-justify": '', "align-left": '', "align-right": '', "anchor": '', "aperture": '', "archive": '', "arrow-down-circle": '', "arrow-down-left": '', "arrow-down-right": '', "arrow-down": '', "arrow-left-circle": '', "arrow-left": '', "arrow-right-circle": '', "arrow-right": '', "arrow-up-circle": '', "arrow-up-left": '', "arrow-up-right": '', "arrow-up": '', "at-sign": '', "award": '', "bar-chart-2": '', "bar-chart": '', "battery-charging": '', "battery": '', "bell-off": '', "bell": '', "bluetooth": '', "bold": '', "book-open": '', "book": '', "bookmark": '', "box": '', "briefcase": '', "calendar": '', "camera-off": '', "camera": '', "cast": '', "check-circle": '', "check-square": '', "check": '', "chevron-down": '', "chevron-left": '', "chevron-right": '', "chevron-up": '', "chevrons-down": '', "chevrons-left": '', "chevrons-right": '', "chevrons-up": '', "chrome": '', "circle": '', "clipboard": '', "clock": '', "cloud-drizzle": '', "cloud-lightning": '', "cloud-off": '', "cloud-rain": '', "cloud-snow": '', "cloud": '', "code": '', "codepen": '', "codesandbox": '', "coffee": '', "columns": '', "command": '', "compass": '', "copy": '', "corner-down-left": '', "corner-down-right": '', "corner-left-down": '', "corner-left-up": '', "corner-right-down": '', "corner-right-up": '', "corner-up-left": '', "corner-up-right": '', "cpu": '', "credit-card": '', "crop": '', "crosshair": '', "database": '', "delete": '', "disc": '', "divide-circle": '', "divide-square": '', "divide": '', "dollar-sign": '', "download-cloud": '', "download": '', "dribbble": '', "droplet": '', "edit-2": '', "edit-3": '', "edit": '', "external-link": '', "eye-off": '', "eye": '', "facebook": '', "fast-forward": '', "feather": '', "figma": '', "file-minus": '', "file-plus": '', "file-text": '', "file": '', "film": '', "filter": '', "flag": '', "folder-minus": '', "folder-plus": '', "folder": '', "framer": '', "frown": '', "gift": '', "git-branch": '', "git-commit": '', "git-merge": '', "git-pull-request": '', "github": '', "gitlab": '', "globe": '', "grid": '', "hard-drive": '', "hash": '', "headphones": '', "heart": '', "help-circle": '', "hexagon": '', "home": '', "image": '', "inbox": '', "info": '', "instagram": '', "italic": '', "key": '', "layers": '', "layout": '', "life-buoy": '', "link-2": '', "link": '', "linkedin": '', "list": '', "loader": '', "lock": '', "log-in": '', "log-out": '', "mail": '', "map-pin": '', "map": '', "maximize-2": '', "maximize": '', "meh": '', "menu": '', "message-circle": '', "message-square": '', "mic-off": '', "mic": '', "minimize-2": '', "minimize": '', "minus-circle": '', "minus-square": '', "minus": '', "monitor": '', "moon": '', "more-horizontal": '', "more-vertical": '', "mouse-pointer": '', "move": '', "music": '', "navigation-2": '', "navigation": '', "octagon": '', "package": '', "paperclip": '', "pause-circle": '', "pause": '', "pen-tool": '', "percent": '', "phone-call": '', "phone-forwarded": '', "phone-incoming": '', "phone-missed": '', "phone-off": '', "phone-outgoing": '', "phone": '', "pie-chart": '', "play-circle": '', "play": '', "plus-circle": '', "plus-square": '', "plus": '', "pocket": '', "power": '', "printer": '', "radio": '', "refresh-ccw": '', "refresh-cw": '', "repeat": '', "rewind": '', "rotate-ccw": '', "rotate-cw": '', "rss": '', "save": '', "scissors": '', "search": '', "send": '', "server": '', "settings": '', "share-2": '', "share": '', "shield-off": '', "shield": '', "shopping-bag": '', "shopping-cart": '', "shuffle": '', "sidebar": '', "skip-back": '', "skip-forward": '', "slack": '', "slash": '', "sliders": '', "smartphone": '', "smile": '', "speaker": '', "square": '', "star": '', "stop-circle": '', "sun": '', "sunrise": '', "sunset": '', "table": '', "tablet": '', "tag": '', "target": '', "terminal": '', "thermometer": '', "thumbs-down": '', "thumbs-up": '', "toggle-left": '', "toggle-right": '', "tool": '', "trash-2": '', "trash": '', "trello": '', "trending-down": '', "trending-up": '', "triangle": '', "truck": '', "tv": '', "twitch": '', "twitter": '', "type": '', "umbrella": '', "underline": '', "unlock": '', "upload-cloud": '', "upload": '', "user-check": '', "user-minus": '', "user-plus": '', "user-x": '', "user": '', "users": '', "video-off": '', "video": '', "voicemail": '', "volume-1": '', "volume-2": '', "volume-x": '', "volume": '', "watch": '', "wifi-off": '', "wifi": '', "wind": '', "x-circle": '', "x-octagon": '', "x-square": '', "x": '', "youtube": '', "zap-off": '', "zap": '', "zoom-in": '', "zoom-out": '' }; + } + ), + /***/ + "./node_modules/classnames/dedupe.js": ( + /*!*******************************************!*\ + !*** ./node_modules/classnames/dedupe.js ***! + \*******************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; + (function() { + "use strict"; + var classNames = function() { + function StorageObject() { + } + StorageObject.prototype = /* @__PURE__ */ Object.create(null); + function _parseArray(resultSet, array) { + var length = array.length; + for (var i = 0; i < length; ++i) { + _parse(resultSet, array[i]); + } + } + var hasOwn = {}.hasOwnProperty; + function _parseNumber(resultSet, num2) { + resultSet[num2] = true; + } + function _parseObject(resultSet, object) { + for (var k in object) { + if (hasOwn.call(object, k)) { + resultSet[k] = !!object[k]; + } + } + } + var SPACE = /\s+/; + function _parseString(resultSet, str) { + var array = str.split(SPACE); + var length = array.length; + for (var i = 0; i < length; ++i) { + resultSet[array[i]] = true; + } + } + function _parse(resultSet, arg) { + if (!arg) + return; + var argType = typeof arg; + if (argType === "string") { + _parseString(resultSet, arg); + } else if (Array.isArray(arg)) { + _parseArray(resultSet, arg); + } else if (argType === "object") { + _parseObject(resultSet, arg); + } else if (argType === "number") { + _parseNumber(resultSet, arg); + } + } + function _classNames() { + var len = arguments.length; + var args = Array(len); + for (var i = 0; i < len; i++) { + args[i] = arguments[i]; + } + var classSet = new StorageObject(); + _parseArray(classSet, args); + var list = []; + for (var k in classSet) { + if (classSet[k]) { + list.push(k); + } + } + return list.join(" "); + } + return _classNames; + }(); + if (typeof module3 !== "undefined" && module3.exports) { + module3.exports = classNames; + } else if (true) { + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = function() { + return classNames; + }.apply(exports2, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== void 0 && (module3.exports = __WEBPACK_AMD_DEFINE_RESULT__)); + } else { + } + })(); + } + ), + /***/ + "./node_modules/core-js/es/array/from.js": ( + /*!***********************************************!*\ + !*** ./node_modules/core-js/es/array/from.js ***! + \***********************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + __webpack_require__( + /*! ../../modules/es.string.iterator */ + "./node_modules/core-js/modules/es.string.iterator.js" + ); + __webpack_require__( + /*! ../../modules/es.array.from */ + "./node_modules/core-js/modules/es.array.from.js" + ); + var path2 = __webpack_require__( + /*! ../../internals/path */ + "./node_modules/core-js/internals/path.js" + ); + module3.exports = path2.Array.from; + } + ), + /***/ + "./node_modules/core-js/internals/a-function.js": ( + /*!******************************************************!*\ + !*** ./node_modules/core-js/internals/a-function.js ***! + \******************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2) { + module3.exports = function(it) { + if (typeof it != "function") { + throw TypeError(String(it) + " is not a function"); + } + return it; + }; + } + ), + /***/ + "./node_modules/core-js/internals/an-object.js": ( + /*!*****************************************************!*\ + !*** ./node_modules/core-js/internals/an-object.js ***! + \*****************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + var isObject = __webpack_require__( + /*! ../internals/is-object */ + "./node_modules/core-js/internals/is-object.js" + ); + module3.exports = function(it) { + if (!isObject(it)) { + throw TypeError(String(it) + " is not an object"); + } + return it; + }; + } + ), + /***/ + "./node_modules/core-js/internals/array-from.js": ( + /*!******************************************************!*\ + !*** ./node_modules/core-js/internals/array-from.js ***! + \******************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + "use strict"; + var bind = __webpack_require__( + /*! ../internals/bind-context */ + "./node_modules/core-js/internals/bind-context.js" + ); + var toObject = __webpack_require__( + /*! ../internals/to-object */ + "./node_modules/core-js/internals/to-object.js" + ); + var callWithSafeIterationClosing = __webpack_require__( + /*! ../internals/call-with-safe-iteration-closing */ + "./node_modules/core-js/internals/call-with-safe-iteration-closing.js" + ); + var isArrayIteratorMethod = __webpack_require__( + /*! ../internals/is-array-iterator-method */ + "./node_modules/core-js/internals/is-array-iterator-method.js" + ); + var toLength = __webpack_require__( + /*! ../internals/to-length */ + "./node_modules/core-js/internals/to-length.js" + ); + var createProperty = __webpack_require__( + /*! ../internals/create-property */ + "./node_modules/core-js/internals/create-property.js" + ); + var getIteratorMethod = __webpack_require__( + /*! ../internals/get-iterator-method */ + "./node_modules/core-js/internals/get-iterator-method.js" + ); + module3.exports = function from(arrayLike) { + var O = toObject(arrayLike); + var C = typeof this == "function" ? this : Array; + var argumentsLength = arguments.length; + var mapfn = argumentsLength > 1 ? arguments[1] : void 0; + var mapping = mapfn !== void 0; + var index2 = 0; + var iteratorMethod = getIteratorMethod(O); + var length, result, step, iterator; + if (mapping) + mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : void 0, 2); + if (iteratorMethod != void 0 && !(C == Array && isArrayIteratorMethod(iteratorMethod))) { + iterator = iteratorMethod.call(O); + result = new C(); + for (; !(step = iterator.next()).done; index2++) { + createProperty( + result, + index2, + mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index2], true) : step.value + ); + } + } else { + length = toLength(O.length); + result = new C(length); + for (; length > index2; index2++) { + createProperty(result, index2, mapping ? mapfn(O[index2], index2) : O[index2]); + } + } + result.length = index2; + return result; + }; + } + ), + /***/ + "./node_modules/core-js/internals/array-includes.js": ( + /*!**********************************************************!*\ + !*** ./node_modules/core-js/internals/array-includes.js ***! + \**********************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + var toIndexedObject = __webpack_require__( + /*! ../internals/to-indexed-object */ + "./node_modules/core-js/internals/to-indexed-object.js" + ); + var toLength = __webpack_require__( + /*! ../internals/to-length */ + "./node_modules/core-js/internals/to-length.js" + ); + var toAbsoluteIndex = __webpack_require__( + /*! ../internals/to-absolute-index */ + "./node_modules/core-js/internals/to-absolute-index.js" + ); + module3.exports = function(IS_INCLUDES) { + return function($this, el, fromIndex) { + var O = toIndexedObject($this); + var length = toLength(O.length); + var index2 = toAbsoluteIndex(fromIndex, length); + var value; + if (IS_INCLUDES && el != el) + while (length > index2) { + value = O[index2++]; + if (value != value) + return true; + } + else + for (; length > index2; index2++) + if (IS_INCLUDES || index2 in O) { + if (O[index2] === el) + return IS_INCLUDES || index2 || 0; + } + return !IS_INCLUDES && -1; + }; + }; + } + ), + /***/ + "./node_modules/core-js/internals/bind-context.js": ( + /*!********************************************************!*\ + !*** ./node_modules/core-js/internals/bind-context.js ***! + \********************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + var aFunction = __webpack_require__( + /*! ../internals/a-function */ + "./node_modules/core-js/internals/a-function.js" + ); + module3.exports = function(fn, that, length) { + aFunction(fn); + if (that === void 0) + return fn; + switch (length) { + case 0: + return function() { + return fn.call(that); + }; + case 1: + return function(a) { + return fn.call(that, a); + }; + case 2: + return function(a, b) { + return fn.call(that, a, b); + }; + case 3: + return function(a, b, c) { + return fn.call(that, a, b, c); + }; + } return function() { - return fn.call(that); - }; - case 1: - return function(a) { - return fn.call(that, a); - }; - case 2: - return function(a, b) { - return fn.call(that, a, b); - }; - case 3: - return function(a, b, c) { - return fn.call(that, a, b, c); + return fn.apply(that, arguments); }; + }; } - return function() { - return fn.apply(that, arguments); - }; - }; - }, - "./node_modules/core-js/internals/call-with-safe-iteration-closing.js": function(module3, exports2, __webpack_require__) { - var anObject = __webpack_require__("./node_modules/core-js/internals/an-object.js"); - module3.exports = function(iterator, fn, value, ENTRIES) { - try { - return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value); - } catch (error) { - var returnMethod = iterator["return"]; - if (returnMethod !== void 0) - anObject(returnMethod.call(iterator)); - throw error; + ), + /***/ + "./node_modules/core-js/internals/call-with-safe-iteration-closing.js": ( + /*!****************************************************************************!*\ + !*** ./node_modules/core-js/internals/call-with-safe-iteration-closing.js ***! + \****************************************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + var anObject = __webpack_require__( + /*! ../internals/an-object */ + "./node_modules/core-js/internals/an-object.js" + ); + module3.exports = function(iterator, fn, value, ENTRIES) { + try { + return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value); + } catch (error) { + var returnMethod = iterator["return"]; + if (returnMethod !== void 0) + anObject(returnMethod.call(iterator)); + throw error; + } + }; } - }; - }, - "./node_modules/core-js/internals/check-correctness-of-iteration.js": function(module3, exports2, __webpack_require__) { - var wellKnownSymbol = __webpack_require__("./node_modules/core-js/internals/well-known-symbol.js"); - var ITERATOR = wellKnownSymbol("iterator"); - var SAFE_CLOSING = false; - try { - var called = 0; - var iteratorWithReturn = { - next: function() { - return { done: !!called++ }; - }, - "return": function() { - SAFE_CLOSING = true; - } - }; - iteratorWithReturn[ITERATOR] = function() { - return this; - }; - Array.from(iteratorWithReturn, function() { - throw 2; - }); - } catch (error) { - } - module3.exports = function(exec, SKIP_CLOSING) { - if (!SKIP_CLOSING && !SAFE_CLOSING) - return false; - var ITERATION_SUPPORT = false; - try { - var object = {}; - object[ITERATOR] = function() { - return { + ), + /***/ + "./node_modules/core-js/internals/check-correctness-of-iteration.js": ( + /*!**************************************************************************!*\ + !*** ./node_modules/core-js/internals/check-correctness-of-iteration.js ***! + \**************************************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + var wellKnownSymbol = __webpack_require__( + /*! ../internals/well-known-symbol */ + "./node_modules/core-js/internals/well-known-symbol.js" + ); + var ITERATOR = wellKnownSymbol("iterator"); + var SAFE_CLOSING = false; + try { + var called = 0; + var iteratorWithReturn = { next: function() { - return { done: ITERATION_SUPPORT = true }; + return { done: !!called++ }; + }, + "return": function() { + SAFE_CLOSING = true; } }; - }; - exec(object); - } catch (error) { - } - return ITERATION_SUPPORT; - }; - }, - "./node_modules/core-js/internals/classof-raw.js": function(module3, exports2) { - var toString = {}.toString; - module3.exports = function(it) { - return toString.call(it).slice(8, -1); - }; - }, - "./node_modules/core-js/internals/classof.js": function(module3, exports2, __webpack_require__) { - var classofRaw = __webpack_require__("./node_modules/core-js/internals/classof-raw.js"); - var wellKnownSymbol = __webpack_require__("./node_modules/core-js/internals/well-known-symbol.js"); - var TO_STRING_TAG = wellKnownSymbol("toStringTag"); - var CORRECT_ARGUMENTS = classofRaw(function() { - return arguments; - }()) == "Arguments"; - var tryGet = function(it, key2) { - try { - return it[key2]; - } catch (error) { - } - }; - module3.exports = function(it) { - var O, tag2, result; - return it === void 0 ? "Undefined" : it === null ? "Null" : typeof (tag2 = tryGet(O = Object(it), TO_STRING_TAG)) == "string" ? tag2 : CORRECT_ARGUMENTS ? classofRaw(O) : (result = classofRaw(O)) == "Object" && typeof O.callee == "function" ? "Arguments" : result; - }; - }, - "./node_modules/core-js/internals/copy-constructor-properties.js": function(module3, exports2, __webpack_require__) { - var has = __webpack_require__("./node_modules/core-js/internals/has.js"); - var ownKeys = __webpack_require__("./node_modules/core-js/internals/own-keys.js"); - var getOwnPropertyDescriptorModule = __webpack_require__("./node_modules/core-js/internals/object-get-own-property-descriptor.js"); - var definePropertyModule = __webpack_require__("./node_modules/core-js/internals/object-define-property.js"); - module3.exports = function(target, source) { - var keys = ownKeys(source); - var defineProperty = definePropertyModule.f; - var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; - for (var i = 0; i < keys.length; i++) { - var key2 = keys[i]; - if (!has(target, key2)) - defineProperty(target, key2, getOwnPropertyDescriptor(source, key2)); - } - }; - }, - "./node_modules/core-js/internals/correct-prototype-getter.js": function(module3, exports2, __webpack_require__) { - var fails = __webpack_require__("./node_modules/core-js/internals/fails.js"); - module3.exports = !fails(function() { - function F() { - } - F.prototype.constructor = null; - return Object.getPrototypeOf(new F()) !== F.prototype; - }); - }, - "./node_modules/core-js/internals/create-iterator-constructor.js": function(module3, exports2, __webpack_require__) { - "use strict"; - var IteratorPrototype = __webpack_require__("./node_modules/core-js/internals/iterators-core.js").IteratorPrototype; - var create = __webpack_require__("./node_modules/core-js/internals/object-create.js"); - var createPropertyDescriptor = __webpack_require__("./node_modules/core-js/internals/create-property-descriptor.js"); - var setToStringTag = __webpack_require__("./node_modules/core-js/internals/set-to-string-tag.js"); - var Iterators = __webpack_require__("./node_modules/core-js/internals/iterators.js"); - var returnThis = function() { - return this; - }; - module3.exports = function(IteratorConstructor, NAME, next) { - var TO_STRING_TAG = NAME + " Iterator"; - IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) }); - setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true); - Iterators[TO_STRING_TAG] = returnThis; - return IteratorConstructor; - }; - }, - "./node_modules/core-js/internals/create-property-descriptor.js": function(module3, exports2) { - module3.exports = function(bitmap, value) { - return { - enumerable: !(bitmap & 1), - configurable: !(bitmap & 2), - writable: !(bitmap & 4), - value - }; - }; - }, - "./node_modules/core-js/internals/create-property.js": function(module3, exports2, __webpack_require__) { - "use strict"; - var toPrimitive = __webpack_require__("./node_modules/core-js/internals/to-primitive.js"); - var definePropertyModule = __webpack_require__("./node_modules/core-js/internals/object-define-property.js"); - var createPropertyDescriptor = __webpack_require__("./node_modules/core-js/internals/create-property-descriptor.js"); - module3.exports = function(object, key2, value) { - var propertyKey = toPrimitive(key2); - if (propertyKey in object) - definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value)); - else - object[propertyKey] = value; - }; - }, - "./node_modules/core-js/internals/define-iterator.js": function(module3, exports2, __webpack_require__) { - "use strict"; - var $ = __webpack_require__("./node_modules/core-js/internals/export.js"); - var createIteratorConstructor = __webpack_require__("./node_modules/core-js/internals/create-iterator-constructor.js"); - var getPrototypeOf = __webpack_require__("./node_modules/core-js/internals/object-get-prototype-of.js"); - var setPrototypeOf = __webpack_require__("./node_modules/core-js/internals/object-set-prototype-of.js"); - var setToStringTag = __webpack_require__("./node_modules/core-js/internals/set-to-string-tag.js"); - var hide = __webpack_require__("./node_modules/core-js/internals/hide.js"); - var redefine = __webpack_require__("./node_modules/core-js/internals/redefine.js"); - var wellKnownSymbol = __webpack_require__("./node_modules/core-js/internals/well-known-symbol.js"); - var IS_PURE = __webpack_require__("./node_modules/core-js/internals/is-pure.js"); - var Iterators = __webpack_require__("./node_modules/core-js/internals/iterators.js"); - var IteratorsCore = __webpack_require__("./node_modules/core-js/internals/iterators-core.js"); - var IteratorPrototype = IteratorsCore.IteratorPrototype; - var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS; - var ITERATOR = wellKnownSymbol("iterator"); - var KEYS = "keys"; - var VALUES = "values"; - var ENTRIES = "entries"; - var returnThis = function() { - return this; - }; - module3.exports = function(Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) { - createIteratorConstructor(IteratorConstructor, NAME, next); - var getIterationMethod = function(KIND) { - if (KIND === DEFAULT && defaultIterator) - return defaultIterator; - if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) - return IterablePrototype[KIND]; - switch (KIND) { - case KEYS: - return function keys() { - return new IteratorConstructor(this, KIND); - }; - case VALUES: - return function values() { - return new IteratorConstructor(this, KIND); - }; - case ENTRIES: - return function entries() { - return new IteratorConstructor(this, KIND); - }; + iteratorWithReturn[ITERATOR] = function() { + return this; + }; + Array.from(iteratorWithReturn, function() { + throw 2; + }); + } catch (error) { } - return function() { - return new IteratorConstructor(this); + module3.exports = function(exec, SKIP_CLOSING) { + if (!SKIP_CLOSING && !SAFE_CLOSING) + return false; + var ITERATION_SUPPORT = false; + try { + var object = {}; + object[ITERATOR] = function() { + return { + next: function() { + return { done: ITERATION_SUPPORT = true }; + } + }; + }; + exec(object); + } catch (error) { + } + return ITERATION_SUPPORT; }; - }; - var TO_STRING_TAG = NAME + " Iterator"; - var INCORRECT_VALUES_NAME = false; - var IterablePrototype = Iterable.prototype; - var nativeIterator = IterablePrototype[ITERATOR] || IterablePrototype["@@iterator"] || DEFAULT && IterablePrototype[DEFAULT]; - var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT); - var anyNativeIterator = NAME == "Array" ? IterablePrototype.entries || nativeIterator : nativeIterator; - var CurrentIteratorPrototype, methods, KEY; - if (anyNativeIterator) { - CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable())); - if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) { - if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) { - if (setPrototypeOf) { - setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype); - } else if (typeof CurrentIteratorPrototype[ITERATOR] != "function") { - hide(CurrentIteratorPrototype, ITERATOR, returnThis); + } + ), + /***/ + "./node_modules/core-js/internals/classof-raw.js": ( + /*!*******************************************************!*\ + !*** ./node_modules/core-js/internals/classof-raw.js ***! + \*******************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2) { + var toString = {}.toString; + module3.exports = function(it) { + return toString.call(it).slice(8, -1); + }; + } + ), + /***/ + "./node_modules/core-js/internals/classof.js": ( + /*!***************************************************!*\ + !*** ./node_modules/core-js/internals/classof.js ***! + \***************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + var classofRaw = __webpack_require__( + /*! ../internals/classof-raw */ + "./node_modules/core-js/internals/classof-raw.js" + ); + var wellKnownSymbol = __webpack_require__( + /*! ../internals/well-known-symbol */ + "./node_modules/core-js/internals/well-known-symbol.js" + ); + var TO_STRING_TAG = wellKnownSymbol("toStringTag"); + var CORRECT_ARGUMENTS = classofRaw(function() { + return arguments; + }()) == "Arguments"; + var tryGet = function(it, key2) { + try { + return it[key2]; + } catch (error) { + } + }; + module3.exports = function(it) { + var O, tag2, result; + return it === void 0 ? "Undefined" : it === null ? "Null" : typeof (tag2 = tryGet(O = Object(it), TO_STRING_TAG)) == "string" ? tag2 : CORRECT_ARGUMENTS ? classofRaw(O) : (result = classofRaw(O)) == "Object" && typeof O.callee == "function" ? "Arguments" : result; + }; + } + ), + /***/ + "./node_modules/core-js/internals/copy-constructor-properties.js": ( + /*!***********************************************************************!*\ + !*** ./node_modules/core-js/internals/copy-constructor-properties.js ***! + \***********************************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + var has = __webpack_require__( + /*! ../internals/has */ + "./node_modules/core-js/internals/has.js" + ); + var ownKeys = __webpack_require__( + /*! ../internals/own-keys */ + "./node_modules/core-js/internals/own-keys.js" + ); + var getOwnPropertyDescriptorModule = __webpack_require__( + /*! ../internals/object-get-own-property-descriptor */ + "./node_modules/core-js/internals/object-get-own-property-descriptor.js" + ); + var definePropertyModule = __webpack_require__( + /*! ../internals/object-define-property */ + "./node_modules/core-js/internals/object-define-property.js" + ); + module3.exports = function(target, source) { + var keys = ownKeys(source); + var defineProperty = definePropertyModule.f; + var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; + for (var i = 0; i < keys.length; i++) { + var key2 = keys[i]; + if (!has(target, key2)) + defineProperty(target, key2, getOwnPropertyDescriptor(source, key2)); + } + }; + } + ), + /***/ + "./node_modules/core-js/internals/correct-prototype-getter.js": ( + /*!********************************************************************!*\ + !*** ./node_modules/core-js/internals/correct-prototype-getter.js ***! + \********************************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + var fails = __webpack_require__( + /*! ../internals/fails */ + "./node_modules/core-js/internals/fails.js" + ); + module3.exports = !fails(function() { + function F() { + } + F.prototype.constructor = null; + return Object.getPrototypeOf(new F()) !== F.prototype; + }); + } + ), + /***/ + "./node_modules/core-js/internals/create-iterator-constructor.js": ( + /*!***********************************************************************!*\ + !*** ./node_modules/core-js/internals/create-iterator-constructor.js ***! + \***********************************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + "use strict"; + var IteratorPrototype = __webpack_require__( + /*! ../internals/iterators-core */ + "./node_modules/core-js/internals/iterators-core.js" + ).IteratorPrototype; + var create = __webpack_require__( + /*! ../internals/object-create */ + "./node_modules/core-js/internals/object-create.js" + ); + var createPropertyDescriptor = __webpack_require__( + /*! ../internals/create-property-descriptor */ + "./node_modules/core-js/internals/create-property-descriptor.js" + ); + var setToStringTag = __webpack_require__( + /*! ../internals/set-to-string-tag */ + "./node_modules/core-js/internals/set-to-string-tag.js" + ); + var Iterators = __webpack_require__( + /*! ../internals/iterators */ + "./node_modules/core-js/internals/iterators.js" + ); + var returnThis = function() { + return this; + }; + module3.exports = function(IteratorConstructor, NAME, next) { + var TO_STRING_TAG = NAME + " Iterator"; + IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) }); + setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true); + Iterators[TO_STRING_TAG] = returnThis; + return IteratorConstructor; + }; + } + ), + /***/ + "./node_modules/core-js/internals/create-property-descriptor.js": ( + /*!**********************************************************************!*\ + !*** ./node_modules/core-js/internals/create-property-descriptor.js ***! + \**********************************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2) { + module3.exports = function(bitmap, value) { + return { + enumerable: !(bitmap & 1), + configurable: !(bitmap & 2), + writable: !(bitmap & 4), + value + }; + }; + } + ), + /***/ + "./node_modules/core-js/internals/create-property.js": ( + /*!***********************************************************!*\ + !*** ./node_modules/core-js/internals/create-property.js ***! + \***********************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + "use strict"; + var toPrimitive = __webpack_require__( + /*! ../internals/to-primitive */ + "./node_modules/core-js/internals/to-primitive.js" + ); + var definePropertyModule = __webpack_require__( + /*! ../internals/object-define-property */ + "./node_modules/core-js/internals/object-define-property.js" + ); + var createPropertyDescriptor = __webpack_require__( + /*! ../internals/create-property-descriptor */ + "./node_modules/core-js/internals/create-property-descriptor.js" + ); + module3.exports = function(object, key2, value) { + var propertyKey = toPrimitive(key2); + if (propertyKey in object) + definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value)); + else + object[propertyKey] = value; + }; + } + ), + /***/ + "./node_modules/core-js/internals/define-iterator.js": ( + /*!***********************************************************!*\ + !*** ./node_modules/core-js/internals/define-iterator.js ***! + \***********************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + "use strict"; + var $ = __webpack_require__( + /*! ../internals/export */ + "./node_modules/core-js/internals/export.js" + ); + var createIteratorConstructor = __webpack_require__( + /*! ../internals/create-iterator-constructor */ + "./node_modules/core-js/internals/create-iterator-constructor.js" + ); + var getPrototypeOf = __webpack_require__( + /*! ../internals/object-get-prototype-of */ + "./node_modules/core-js/internals/object-get-prototype-of.js" + ); + var setPrototypeOf = __webpack_require__( + /*! ../internals/object-set-prototype-of */ + "./node_modules/core-js/internals/object-set-prototype-of.js" + ); + var setToStringTag = __webpack_require__( + /*! ../internals/set-to-string-tag */ + "./node_modules/core-js/internals/set-to-string-tag.js" + ); + var hide = __webpack_require__( + /*! ../internals/hide */ + "./node_modules/core-js/internals/hide.js" + ); + var redefine = __webpack_require__( + /*! ../internals/redefine */ + "./node_modules/core-js/internals/redefine.js" + ); + var wellKnownSymbol = __webpack_require__( + /*! ../internals/well-known-symbol */ + "./node_modules/core-js/internals/well-known-symbol.js" + ); + var IS_PURE = __webpack_require__( + /*! ../internals/is-pure */ + "./node_modules/core-js/internals/is-pure.js" + ); + var Iterators = __webpack_require__( + /*! ../internals/iterators */ + "./node_modules/core-js/internals/iterators.js" + ); + var IteratorsCore = __webpack_require__( + /*! ../internals/iterators-core */ + "./node_modules/core-js/internals/iterators-core.js" + ); + var IteratorPrototype = IteratorsCore.IteratorPrototype; + var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS; + var ITERATOR = wellKnownSymbol("iterator"); + var KEYS = "keys"; + var VALUES = "values"; + var ENTRIES = "entries"; + var returnThis = function() { + return this; + }; + module3.exports = function(Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) { + createIteratorConstructor(IteratorConstructor, NAME, next); + var getIterationMethod = function(KIND) { + if (KIND === DEFAULT && defaultIterator) + return defaultIterator; + if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) + return IterablePrototype[KIND]; + switch (KIND) { + case KEYS: + return function keys() { + return new IteratorConstructor(this, KIND); + }; + case VALUES: + return function values() { + return new IteratorConstructor(this, KIND); + }; + case ENTRIES: + return function entries() { + return new IteratorConstructor(this, KIND); + }; + } + return function() { + return new IteratorConstructor(this); + }; + }; + var TO_STRING_TAG = NAME + " Iterator"; + var INCORRECT_VALUES_NAME = false; + var IterablePrototype = Iterable.prototype; + var nativeIterator = IterablePrototype[ITERATOR] || IterablePrototype["@@iterator"] || DEFAULT && IterablePrototype[DEFAULT]; + var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT); + var anyNativeIterator = NAME == "Array" ? IterablePrototype.entries || nativeIterator : nativeIterator; + var CurrentIteratorPrototype, methods, KEY; + if (anyNativeIterator) { + CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable())); + if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) { + if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) { + if (setPrototypeOf) { + setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype); + } else if (typeof CurrentIteratorPrototype[ITERATOR] != "function") { + hide(CurrentIteratorPrototype, ITERATOR, returnThis); + } + } + setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true); + if (IS_PURE) + Iterators[TO_STRING_TAG] = returnThis; } } - setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true); - if (IS_PURE) - Iterators[TO_STRING_TAG] = returnThis; - } - } - if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) { - INCORRECT_VALUES_NAME = true; - defaultIterator = function values() { - return nativeIterator.call(this); - }; - } - if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) { - hide(IterablePrototype, ITERATOR, defaultIterator); - } - Iterators[NAME] = defaultIterator; - if (DEFAULT) { - methods = { - values: getIterationMethod(VALUES), - keys: IS_SET ? defaultIterator : getIterationMethod(KEYS), - entries: getIterationMethod(ENTRIES) - }; - if (FORCED) - for (KEY in methods) { - if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) { - redefine(IterablePrototype, KEY, methods[KEY]); - } + if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) { + INCORRECT_VALUES_NAME = true; + defaultIterator = function values() { + return nativeIterator.call(this); + }; } - else - $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods); + if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) { + hide(IterablePrototype, ITERATOR, defaultIterator); + } + Iterators[NAME] = defaultIterator; + if (DEFAULT) { + methods = { + values: getIterationMethod(VALUES), + keys: IS_SET ? defaultIterator : getIterationMethod(KEYS), + entries: getIterationMethod(ENTRIES) + }; + if (FORCED) + for (KEY in methods) { + if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) { + redefine(IterablePrototype, KEY, methods[KEY]); + } + } + else + $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods); + } + return methods; + }; } - return methods; - }; - }, - "./node_modules/core-js/internals/descriptors.js": function(module3, exports2, __webpack_require__) { - var fails = __webpack_require__("./node_modules/core-js/internals/fails.js"); - module3.exports = !fails(function() { - return Object.defineProperty({}, "a", { get: function() { - return 7; - } }).a != 7; - }); - }, - "./node_modules/core-js/internals/document-create-element.js": function(module3, exports2, __webpack_require__) { - var global2 = __webpack_require__("./node_modules/core-js/internals/global.js"); - var isObject = __webpack_require__("./node_modules/core-js/internals/is-object.js"); - var document2 = global2.document; - var exist = isObject(document2) && isObject(document2.createElement); - module3.exports = function(it) { - return exist ? document2.createElement(it) : {}; - }; - }, - "./node_modules/core-js/internals/enum-bug-keys.js": function(module3, exports2) { - module3.exports = [ - "constructor", - "hasOwnProperty", - "isPrototypeOf", - "propertyIsEnumerable", - "toLocaleString", - "toString", - "valueOf" - ]; - }, - "./node_modules/core-js/internals/export.js": function(module3, exports2, __webpack_require__) { - var global2 = __webpack_require__("./node_modules/core-js/internals/global.js"); - var getOwnPropertyDescriptor = __webpack_require__("./node_modules/core-js/internals/object-get-own-property-descriptor.js").f; - var hide = __webpack_require__("./node_modules/core-js/internals/hide.js"); - var redefine = __webpack_require__("./node_modules/core-js/internals/redefine.js"); - var setGlobal = __webpack_require__("./node_modules/core-js/internals/set-global.js"); - var copyConstructorProperties = __webpack_require__("./node_modules/core-js/internals/copy-constructor-properties.js"); - var isForced = __webpack_require__("./node_modules/core-js/internals/is-forced.js"); - module3.exports = function(options, source) { - var TARGET = options.target; - var GLOBAL = options.global; - var STATIC = options.stat; - var FORCED, target, key2, targetProperty, sourceProperty, descriptor; - if (GLOBAL) { - target = global2; - } else if (STATIC) { - target = global2[TARGET] || setGlobal(TARGET, {}); - } else { - target = (global2[TARGET] || {}).prototype; + ), + /***/ + "./node_modules/core-js/internals/descriptors.js": ( + /*!*******************************************************!*\ + !*** ./node_modules/core-js/internals/descriptors.js ***! + \*******************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + var fails = __webpack_require__( + /*! ../internals/fails */ + "./node_modules/core-js/internals/fails.js" + ); + module3.exports = !fails(function() { + return Object.defineProperty({}, "a", { get: function() { + return 7; + } }).a != 7; + }); } - if (target) - for (key2 in source) { - sourceProperty = source[key2]; - if (options.noTargetGet) { - descriptor = getOwnPropertyDescriptor(target, key2); - targetProperty = descriptor && descriptor.value; + ), + /***/ + "./node_modules/core-js/internals/document-create-element.js": ( + /*!*******************************************************************!*\ + !*** ./node_modules/core-js/internals/document-create-element.js ***! + \*******************************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + var global2 = __webpack_require__( + /*! ../internals/global */ + "./node_modules/core-js/internals/global.js" + ); + var isObject = __webpack_require__( + /*! ../internals/is-object */ + "./node_modules/core-js/internals/is-object.js" + ); + var document2 = global2.document; + var exist = isObject(document2) && isObject(document2.createElement); + module3.exports = function(it) { + return exist ? document2.createElement(it) : {}; + }; + } + ), + /***/ + "./node_modules/core-js/internals/enum-bug-keys.js": ( + /*!*********************************************************!*\ + !*** ./node_modules/core-js/internals/enum-bug-keys.js ***! + \*********************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2) { + module3.exports = [ + "constructor", + "hasOwnProperty", + "isPrototypeOf", + "propertyIsEnumerable", + "toLocaleString", + "toString", + "valueOf" + ]; + } + ), + /***/ + "./node_modules/core-js/internals/export.js": ( + /*!**************************************************!*\ + !*** ./node_modules/core-js/internals/export.js ***! + \**************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + var global2 = __webpack_require__( + /*! ../internals/global */ + "./node_modules/core-js/internals/global.js" + ); + var getOwnPropertyDescriptor = __webpack_require__( + /*! ../internals/object-get-own-property-descriptor */ + "./node_modules/core-js/internals/object-get-own-property-descriptor.js" + ).f; + var hide = __webpack_require__( + /*! ../internals/hide */ + "./node_modules/core-js/internals/hide.js" + ); + var redefine = __webpack_require__( + /*! ../internals/redefine */ + "./node_modules/core-js/internals/redefine.js" + ); + var setGlobal = __webpack_require__( + /*! ../internals/set-global */ + "./node_modules/core-js/internals/set-global.js" + ); + var copyConstructorProperties = __webpack_require__( + /*! ../internals/copy-constructor-properties */ + "./node_modules/core-js/internals/copy-constructor-properties.js" + ); + var isForced = __webpack_require__( + /*! ../internals/is-forced */ + "./node_modules/core-js/internals/is-forced.js" + ); + module3.exports = function(options, source) { + var TARGET = options.target; + var GLOBAL = options.global; + var STATIC = options.stat; + var FORCED, target, key2, targetProperty, sourceProperty, descriptor; + if (GLOBAL) { + target = global2; + } else if (STATIC) { + target = global2[TARGET] || setGlobal(TARGET, {}); + } else { + target = (global2[TARGET] || {}).prototype; + } + if (target) + for (key2 in source) { + sourceProperty = source[key2]; + if (options.noTargetGet) { + descriptor = getOwnPropertyDescriptor(target, key2); + targetProperty = descriptor && descriptor.value; + } else + targetProperty = target[key2]; + FORCED = isForced(GLOBAL ? key2 : TARGET + (STATIC ? "." : "#") + key2, options.forced); + if (!FORCED && targetProperty !== void 0) { + if (typeof sourceProperty === typeof targetProperty) + continue; + copyConstructorProperties(sourceProperty, targetProperty); + } + if (options.sham || targetProperty && targetProperty.sham) { + hide(sourceProperty, "sham", true); + } + redefine(target, key2, sourceProperty, options); + } + }; + } + ), + /***/ + "./node_modules/core-js/internals/fails.js": ( + /*!*************************************************!*\ + !*** ./node_modules/core-js/internals/fails.js ***! + \*************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2) { + module3.exports = function(exec) { + try { + return !!exec(); + } catch (error) { + return true; + } + }; + } + ), + /***/ + "./node_modules/core-js/internals/function-to-string.js": ( + /*!**************************************************************!*\ + !*** ./node_modules/core-js/internals/function-to-string.js ***! + \**************************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + var shared = __webpack_require__( + /*! ../internals/shared */ + "./node_modules/core-js/internals/shared.js" + ); + module3.exports = shared("native-function-to-string", Function.toString); + } + ), + /***/ + "./node_modules/core-js/internals/get-iterator-method.js": ( + /*!***************************************************************!*\ + !*** ./node_modules/core-js/internals/get-iterator-method.js ***! + \***************************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + var classof = __webpack_require__( + /*! ../internals/classof */ + "./node_modules/core-js/internals/classof.js" + ); + var Iterators = __webpack_require__( + /*! ../internals/iterators */ + "./node_modules/core-js/internals/iterators.js" + ); + var wellKnownSymbol = __webpack_require__( + /*! ../internals/well-known-symbol */ + "./node_modules/core-js/internals/well-known-symbol.js" + ); + var ITERATOR = wellKnownSymbol("iterator"); + module3.exports = function(it) { + if (it != void 0) + return it[ITERATOR] || it["@@iterator"] || Iterators[classof(it)]; + }; + } + ), + /***/ + "./node_modules/core-js/internals/global.js": ( + /*!**************************************************!*\ + !*** ./node_modules/core-js/internals/global.js ***! + \**************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + (function(global2) { + var O = "object"; + var check = function(it) { + return it && it.Math == Math && it; + }; + module3.exports = // eslint-disable-next-line no-undef + check(typeof globalThis == O && globalThis) || check(typeof window == O && window) || check(typeof self == O && self) || check(typeof global2 == O && global2) || // eslint-disable-next-line no-new-func + Function("return this")(); + }).call(this, __webpack_require__( + /*! ./../../webpack/buildin/global.js */ + "./node_modules/webpack/buildin/global.js" + )); + } + ), + /***/ + "./node_modules/core-js/internals/has.js": ( + /*!***********************************************!*\ + !*** ./node_modules/core-js/internals/has.js ***! + \***********************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2) { + var hasOwnProperty = {}.hasOwnProperty; + module3.exports = function(it, key2) { + return hasOwnProperty.call(it, key2); + }; + } + ), + /***/ + "./node_modules/core-js/internals/hidden-keys.js": ( + /*!*******************************************************!*\ + !*** ./node_modules/core-js/internals/hidden-keys.js ***! + \*******************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2) { + module3.exports = {}; + } + ), + /***/ + "./node_modules/core-js/internals/hide.js": ( + /*!************************************************!*\ + !*** ./node_modules/core-js/internals/hide.js ***! + \************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + var DESCRIPTORS = __webpack_require__( + /*! ../internals/descriptors */ + "./node_modules/core-js/internals/descriptors.js" + ); + var definePropertyModule = __webpack_require__( + /*! ../internals/object-define-property */ + "./node_modules/core-js/internals/object-define-property.js" + ); + var createPropertyDescriptor = __webpack_require__( + /*! ../internals/create-property-descriptor */ + "./node_modules/core-js/internals/create-property-descriptor.js" + ); + module3.exports = DESCRIPTORS ? function(object, key2, value) { + return definePropertyModule.f(object, key2, createPropertyDescriptor(1, value)); + } : function(object, key2, value) { + object[key2] = value; + return object; + }; + } + ), + /***/ + "./node_modules/core-js/internals/html.js": ( + /*!************************************************!*\ + !*** ./node_modules/core-js/internals/html.js ***! + \************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + var global2 = __webpack_require__( + /*! ../internals/global */ + "./node_modules/core-js/internals/global.js" + ); + var document2 = global2.document; + module3.exports = document2 && document2.documentElement; + } + ), + /***/ + "./node_modules/core-js/internals/ie8-dom-define.js": ( + /*!**********************************************************!*\ + !*** ./node_modules/core-js/internals/ie8-dom-define.js ***! + \**********************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + var DESCRIPTORS = __webpack_require__( + /*! ../internals/descriptors */ + "./node_modules/core-js/internals/descriptors.js" + ); + var fails = __webpack_require__( + /*! ../internals/fails */ + "./node_modules/core-js/internals/fails.js" + ); + var createElement = __webpack_require__( + /*! ../internals/document-create-element */ + "./node_modules/core-js/internals/document-create-element.js" + ); + module3.exports = !DESCRIPTORS && !fails(function() { + return Object.defineProperty(createElement("div"), "a", { + get: function() { + return 7; + } + }).a != 7; + }); + } + ), + /***/ + "./node_modules/core-js/internals/indexed-object.js": ( + /*!**********************************************************!*\ + !*** ./node_modules/core-js/internals/indexed-object.js ***! + \**********************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + var fails = __webpack_require__( + /*! ../internals/fails */ + "./node_modules/core-js/internals/fails.js" + ); + var classof = __webpack_require__( + /*! ../internals/classof-raw */ + "./node_modules/core-js/internals/classof-raw.js" + ); + var split = "".split; + module3.exports = fails(function() { + return !Object("z").propertyIsEnumerable(0); + }) ? function(it) { + return classof(it) == "String" ? split.call(it, "") : Object(it); + } : Object; + } + ), + /***/ + "./node_modules/core-js/internals/internal-state.js": ( + /*!**********************************************************!*\ + !*** ./node_modules/core-js/internals/internal-state.js ***! + \**********************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + var NATIVE_WEAK_MAP = __webpack_require__( + /*! ../internals/native-weak-map */ + "./node_modules/core-js/internals/native-weak-map.js" + ); + var global2 = __webpack_require__( + /*! ../internals/global */ + "./node_modules/core-js/internals/global.js" + ); + var isObject = __webpack_require__( + /*! ../internals/is-object */ + "./node_modules/core-js/internals/is-object.js" + ); + var hide = __webpack_require__( + /*! ../internals/hide */ + "./node_modules/core-js/internals/hide.js" + ); + var objectHas = __webpack_require__( + /*! ../internals/has */ + "./node_modules/core-js/internals/has.js" + ); + var sharedKey = __webpack_require__( + /*! ../internals/shared-key */ + "./node_modules/core-js/internals/shared-key.js" + ); + var hiddenKeys = __webpack_require__( + /*! ../internals/hidden-keys */ + "./node_modules/core-js/internals/hidden-keys.js" + ); + var WeakMap2 = global2.WeakMap; + var set, get, has; + var enforce = function(it) { + return has(it) ? get(it) : set(it, {}); + }; + var getterFor = function(TYPE) { + return function(it) { + var state; + if (!isObject(it) || (state = get(it)).type !== TYPE) { + throw TypeError("Incompatible receiver, " + TYPE + " required"); + } + return state; + }; + }; + if (NATIVE_WEAK_MAP) { + var store = new WeakMap2(); + var wmget = store.get; + var wmhas = store.has; + var wmset = store.set; + set = function(it, metadata) { + wmset.call(store, it, metadata); + return metadata; + }; + get = function(it) { + return wmget.call(store, it) || {}; + }; + has = function(it) { + return wmhas.call(store, it); + }; + } else { + var STATE = sharedKey("state"); + hiddenKeys[STATE] = true; + set = function(it, metadata) { + hide(it, STATE, metadata); + return metadata; + }; + get = function(it) { + return objectHas(it, STATE) ? it[STATE] : {}; + }; + has = function(it) { + return objectHas(it, STATE); + }; + } + module3.exports = { + set, + get, + has, + enforce, + getterFor + }; + } + ), + /***/ + "./node_modules/core-js/internals/is-array-iterator-method.js": ( + /*!********************************************************************!*\ + !*** ./node_modules/core-js/internals/is-array-iterator-method.js ***! + \********************************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + var wellKnownSymbol = __webpack_require__( + /*! ../internals/well-known-symbol */ + "./node_modules/core-js/internals/well-known-symbol.js" + ); + var Iterators = __webpack_require__( + /*! ../internals/iterators */ + "./node_modules/core-js/internals/iterators.js" + ); + var ITERATOR = wellKnownSymbol("iterator"); + var ArrayPrototype = Array.prototype; + module3.exports = function(it) { + return it !== void 0 && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it); + }; + } + ), + /***/ + "./node_modules/core-js/internals/is-forced.js": ( + /*!*****************************************************!*\ + !*** ./node_modules/core-js/internals/is-forced.js ***! + \*****************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + var fails = __webpack_require__( + /*! ../internals/fails */ + "./node_modules/core-js/internals/fails.js" + ); + var replacement = /#|\.prototype\./; + var isForced = function(feature, detection) { + var value = data[normalize(feature)]; + return value == POLYFILL ? true : value == NATIVE ? false : typeof detection == "function" ? fails(detection) : !!detection; + }; + var normalize = isForced.normalize = function(string) { + return String(string).replace(replacement, ".").toLowerCase(); + }; + var data = isForced.data = {}; + var NATIVE = isForced.NATIVE = "N"; + var POLYFILL = isForced.POLYFILL = "P"; + module3.exports = isForced; + } + ), + /***/ + "./node_modules/core-js/internals/is-object.js": ( + /*!*****************************************************!*\ + !*** ./node_modules/core-js/internals/is-object.js ***! + \*****************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2) { + module3.exports = function(it) { + return typeof it === "object" ? it !== null : typeof it === "function"; + }; + } + ), + /***/ + "./node_modules/core-js/internals/is-pure.js": ( + /*!***************************************************!*\ + !*** ./node_modules/core-js/internals/is-pure.js ***! + \***************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2) { + module3.exports = false; + } + ), + /***/ + "./node_modules/core-js/internals/iterators-core.js": ( + /*!**********************************************************!*\ + !*** ./node_modules/core-js/internals/iterators-core.js ***! + \**********************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + "use strict"; + var getPrototypeOf = __webpack_require__( + /*! ../internals/object-get-prototype-of */ + "./node_modules/core-js/internals/object-get-prototype-of.js" + ); + var hide = __webpack_require__( + /*! ../internals/hide */ + "./node_modules/core-js/internals/hide.js" + ); + var has = __webpack_require__( + /*! ../internals/has */ + "./node_modules/core-js/internals/has.js" + ); + var wellKnownSymbol = __webpack_require__( + /*! ../internals/well-known-symbol */ + "./node_modules/core-js/internals/well-known-symbol.js" + ); + var IS_PURE = __webpack_require__( + /*! ../internals/is-pure */ + "./node_modules/core-js/internals/is-pure.js" + ); + var ITERATOR = wellKnownSymbol("iterator"); + var BUGGY_SAFARI_ITERATORS = false; + var returnThis = function() { + return this; + }; + var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator; + if ([].keys) { + arrayIterator = [].keys(); + if (!("next" in arrayIterator)) + BUGGY_SAFARI_ITERATORS = true; + else { + PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator)); + if (PrototypeOfArrayIteratorPrototype !== Object.prototype) + IteratorPrototype = PrototypeOfArrayIteratorPrototype; + } + } + if (IteratorPrototype == void 0) + IteratorPrototype = {}; + if (!IS_PURE && !has(IteratorPrototype, ITERATOR)) + hide(IteratorPrototype, ITERATOR, returnThis); + module3.exports = { + IteratorPrototype, + BUGGY_SAFARI_ITERATORS + }; + } + ), + /***/ + "./node_modules/core-js/internals/iterators.js": ( + /*!*****************************************************!*\ + !*** ./node_modules/core-js/internals/iterators.js ***! + \*****************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2) { + module3.exports = {}; + } + ), + /***/ + "./node_modules/core-js/internals/native-symbol.js": ( + /*!*********************************************************!*\ + !*** ./node_modules/core-js/internals/native-symbol.js ***! + \*********************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + var fails = __webpack_require__( + /*! ../internals/fails */ + "./node_modules/core-js/internals/fails.js" + ); + module3.exports = !!Object.getOwnPropertySymbols && !fails(function() { + return !String(Symbol()); + }); + } + ), + /***/ + "./node_modules/core-js/internals/native-weak-map.js": ( + /*!***********************************************************!*\ + !*** ./node_modules/core-js/internals/native-weak-map.js ***! + \***********************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + var global2 = __webpack_require__( + /*! ../internals/global */ + "./node_modules/core-js/internals/global.js" + ); + var nativeFunctionToString = __webpack_require__( + /*! ../internals/function-to-string */ + "./node_modules/core-js/internals/function-to-string.js" + ); + var WeakMap2 = global2.WeakMap; + module3.exports = typeof WeakMap2 === "function" && /native code/.test(nativeFunctionToString.call(WeakMap2)); + } + ), + /***/ + "./node_modules/core-js/internals/object-create.js": ( + /*!*********************************************************!*\ + !*** ./node_modules/core-js/internals/object-create.js ***! + \*********************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + var anObject = __webpack_require__( + /*! ../internals/an-object */ + "./node_modules/core-js/internals/an-object.js" + ); + var defineProperties = __webpack_require__( + /*! ../internals/object-define-properties */ + "./node_modules/core-js/internals/object-define-properties.js" + ); + var enumBugKeys = __webpack_require__( + /*! ../internals/enum-bug-keys */ + "./node_modules/core-js/internals/enum-bug-keys.js" + ); + var hiddenKeys = __webpack_require__( + /*! ../internals/hidden-keys */ + "./node_modules/core-js/internals/hidden-keys.js" + ); + var html2 = __webpack_require__( + /*! ../internals/html */ + "./node_modules/core-js/internals/html.js" + ); + var documentCreateElement = __webpack_require__( + /*! ../internals/document-create-element */ + "./node_modules/core-js/internals/document-create-element.js" + ); + var sharedKey = __webpack_require__( + /*! ../internals/shared-key */ + "./node_modules/core-js/internals/shared-key.js" + ); + var IE_PROTO = sharedKey("IE_PROTO"); + var PROTOTYPE = "prototype"; + var Empty = function() { + }; + var createDict = function() { + var iframe = documentCreateElement("iframe"); + var length = enumBugKeys.length; + var lt = "<"; + var script = "script"; + var gt = ">"; + var js = "java" + script + ":"; + var iframeDocument; + iframe.style.display = "none"; + html2.appendChild(iframe); + iframe.src = String(js); + iframeDocument = iframe.contentWindow.document; + iframeDocument.open(); + iframeDocument.write(lt + script + gt + "document.F=Object" + lt + "/" + script + gt); + iframeDocument.close(); + createDict = iframeDocument.F; + while (length--) + delete createDict[PROTOTYPE][enumBugKeys[length]]; + return createDict(); + }; + module3.exports = Object.create || function create(O, Properties) { + var result; + if (O !== null) { + Empty[PROTOTYPE] = anObject(O); + result = new Empty(); + Empty[PROTOTYPE] = null; + result[IE_PROTO] = O; } else - targetProperty = target[key2]; - FORCED = isForced(GLOBAL ? key2 : TARGET + (STATIC ? "." : "#") + key2, options.forced); - if (!FORCED && targetProperty !== void 0) { - if (typeof sourceProperty === typeof targetProperty) - continue; - copyConstructorProperties(sourceProperty, targetProperty); - } - if (options.sham || targetProperty && targetProperty.sham) { - hide(sourceProperty, "sham", true); - } - redefine(target, key2, sourceProperty, options); - } - }; - }, - "./node_modules/core-js/internals/fails.js": function(module3, exports2) { - module3.exports = function(exec) { - try { - return !!exec(); - } catch (error) { - return true; + result = createDict(); + return Properties === void 0 ? result : defineProperties(result, Properties); + }; + hiddenKeys[IE_PROTO] = true; } - }; - }, - "./node_modules/core-js/internals/function-to-string.js": function(module3, exports2, __webpack_require__) { - var shared = __webpack_require__("./node_modules/core-js/internals/shared.js"); - module3.exports = shared("native-function-to-string", Function.toString); - }, - "./node_modules/core-js/internals/get-iterator-method.js": function(module3, exports2, __webpack_require__) { - var classof = __webpack_require__("./node_modules/core-js/internals/classof.js"); - var Iterators = __webpack_require__("./node_modules/core-js/internals/iterators.js"); - var wellKnownSymbol = __webpack_require__("./node_modules/core-js/internals/well-known-symbol.js"); - var ITERATOR = wellKnownSymbol("iterator"); - module3.exports = function(it) { - if (it != void 0) - return it[ITERATOR] || it["@@iterator"] || Iterators[classof(it)]; - }; - }, - "./node_modules/core-js/internals/global.js": function(module3, exports2, __webpack_require__) { - (function(global2) { - var O = "object"; - var check = function(it) { - return it && it.Math == Math && it; - }; - module3.exports = check(typeof globalThis == O && globalThis) || check(typeof window == O && window) || check(typeof self == O && self) || check(typeof global2 == O && global2) || Function("return this")(); - }).call(this, __webpack_require__("./node_modules/webpack/buildin/global.js")); - }, - "./node_modules/core-js/internals/has.js": function(module3, exports2) { - var hasOwnProperty = {}.hasOwnProperty; - module3.exports = function(it, key2) { - return hasOwnProperty.call(it, key2); - }; - }, - "./node_modules/core-js/internals/hidden-keys.js": function(module3, exports2) { - module3.exports = {}; - }, - "./node_modules/core-js/internals/hide.js": function(module3, exports2, __webpack_require__) { - var DESCRIPTORS = __webpack_require__("./node_modules/core-js/internals/descriptors.js"); - var definePropertyModule = __webpack_require__("./node_modules/core-js/internals/object-define-property.js"); - var createPropertyDescriptor = __webpack_require__("./node_modules/core-js/internals/create-property-descriptor.js"); - module3.exports = DESCRIPTORS ? function(object, key2, value) { - return definePropertyModule.f(object, key2, createPropertyDescriptor(1, value)); - } : function(object, key2, value) { - object[key2] = value; - return object; - }; - }, - "./node_modules/core-js/internals/html.js": function(module3, exports2, __webpack_require__) { - var global2 = __webpack_require__("./node_modules/core-js/internals/global.js"); - var document2 = global2.document; - module3.exports = document2 && document2.documentElement; - }, - "./node_modules/core-js/internals/ie8-dom-define.js": function(module3, exports2, __webpack_require__) { - var DESCRIPTORS = __webpack_require__("./node_modules/core-js/internals/descriptors.js"); - var fails = __webpack_require__("./node_modules/core-js/internals/fails.js"); - var createElement = __webpack_require__("./node_modules/core-js/internals/document-create-element.js"); - module3.exports = !DESCRIPTORS && !fails(function() { - return Object.defineProperty(createElement("div"), "a", { - get: function() { - return 7; - } - }).a != 7; - }); - }, - "./node_modules/core-js/internals/indexed-object.js": function(module3, exports2, __webpack_require__) { - var fails = __webpack_require__("./node_modules/core-js/internals/fails.js"); - var classof = __webpack_require__("./node_modules/core-js/internals/classof-raw.js"); - var split = "".split; - module3.exports = fails(function() { - return !Object("z").propertyIsEnumerable(0); - }) ? function(it) { - return classof(it) == "String" ? split.call(it, "") : Object(it); - } : Object; - }, - "./node_modules/core-js/internals/internal-state.js": function(module3, exports2, __webpack_require__) { - var NATIVE_WEAK_MAP = __webpack_require__("./node_modules/core-js/internals/native-weak-map.js"); - var global2 = __webpack_require__("./node_modules/core-js/internals/global.js"); - var isObject = __webpack_require__("./node_modules/core-js/internals/is-object.js"); - var hide = __webpack_require__("./node_modules/core-js/internals/hide.js"); - var objectHas = __webpack_require__("./node_modules/core-js/internals/has.js"); - var sharedKey = __webpack_require__("./node_modules/core-js/internals/shared-key.js"); - var hiddenKeys = __webpack_require__("./node_modules/core-js/internals/hidden-keys.js"); - var WeakMap2 = global2.WeakMap; - var set, get, has; - var enforce = function(it) { - return has(it) ? get(it) : set(it, {}); - }; - var getterFor = function(TYPE) { - return function(it) { - var state; - if (!isObject(it) || (state = get(it)).type !== TYPE) { - throw TypeError("Incompatible receiver, " + TYPE + " required"); - } - return state; - }; - }; - if (NATIVE_WEAK_MAP) { - var store = new WeakMap2(); - var wmget = store.get; - var wmhas = store.has; - var wmset = store.set; - set = function(it, metadata) { - wmset.call(store, it, metadata); - return metadata; - }; - get = function(it) { - return wmget.call(store, it) || {}; - }; - has = function(it) { - return wmhas.call(store, it); - }; - } else { - var STATE = sharedKey("state"); - hiddenKeys[STATE] = true; - set = function(it, metadata) { - hide(it, STATE, metadata); - return metadata; - }; - get = function(it) { - return objectHas(it, STATE) ? it[STATE] : {}; - }; - has = function(it) { - return objectHas(it, STATE); - }; - } - module3.exports = { - set, - get, - has, - enforce, - getterFor - }; - }, - "./node_modules/core-js/internals/is-array-iterator-method.js": function(module3, exports2, __webpack_require__) { - var wellKnownSymbol = __webpack_require__("./node_modules/core-js/internals/well-known-symbol.js"); - var Iterators = __webpack_require__("./node_modules/core-js/internals/iterators.js"); - var ITERATOR = wellKnownSymbol("iterator"); - var ArrayPrototype = Array.prototype; - module3.exports = function(it) { - return it !== void 0 && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it); - }; - }, - "./node_modules/core-js/internals/is-forced.js": function(module3, exports2, __webpack_require__) { - var fails = __webpack_require__("./node_modules/core-js/internals/fails.js"); - var replacement = /#|\.prototype\./; - var isForced = function(feature, detection) { - var value = data[normalize(feature)]; - return value == POLYFILL ? true : value == NATIVE ? false : typeof detection == "function" ? fails(detection) : !!detection; - }; - var normalize = isForced.normalize = function(string) { - return String(string).replace(replacement, ".").toLowerCase(); - }; - var data = isForced.data = {}; - var NATIVE = isForced.NATIVE = "N"; - var POLYFILL = isForced.POLYFILL = "P"; - module3.exports = isForced; - }, - "./node_modules/core-js/internals/is-object.js": function(module3, exports2) { - module3.exports = function(it) { - return typeof it === "object" ? it !== null : typeof it === "function"; - }; - }, - "./node_modules/core-js/internals/is-pure.js": function(module3, exports2) { - module3.exports = false; - }, - "./node_modules/core-js/internals/iterators-core.js": function(module3, exports2, __webpack_require__) { - "use strict"; - var getPrototypeOf = __webpack_require__("./node_modules/core-js/internals/object-get-prototype-of.js"); - var hide = __webpack_require__("./node_modules/core-js/internals/hide.js"); - var has = __webpack_require__("./node_modules/core-js/internals/has.js"); - var wellKnownSymbol = __webpack_require__("./node_modules/core-js/internals/well-known-symbol.js"); - var IS_PURE = __webpack_require__("./node_modules/core-js/internals/is-pure.js"); - var ITERATOR = wellKnownSymbol("iterator"); - var BUGGY_SAFARI_ITERATORS = false; - var returnThis = function() { - return this; - }; - var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator; - if ([].keys) { - arrayIterator = [].keys(); - if (!("next" in arrayIterator)) - BUGGY_SAFARI_ITERATORS = true; - else { - PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator)); - if (PrototypeOfArrayIteratorPrototype !== Object.prototype) - IteratorPrototype = PrototypeOfArrayIteratorPrototype; + ), + /***/ + "./node_modules/core-js/internals/object-define-properties.js": ( + /*!********************************************************************!*\ + !*** ./node_modules/core-js/internals/object-define-properties.js ***! + \********************************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + var DESCRIPTORS = __webpack_require__( + /*! ../internals/descriptors */ + "./node_modules/core-js/internals/descriptors.js" + ); + var definePropertyModule = __webpack_require__( + /*! ../internals/object-define-property */ + "./node_modules/core-js/internals/object-define-property.js" + ); + var anObject = __webpack_require__( + /*! ../internals/an-object */ + "./node_modules/core-js/internals/an-object.js" + ); + var objectKeys = __webpack_require__( + /*! ../internals/object-keys */ + "./node_modules/core-js/internals/object-keys.js" + ); + module3.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) { + anObject(O); + var keys = objectKeys(Properties); + var length = keys.length; + var i = 0; + var key2; + while (length > i) + definePropertyModule.f(O, key2 = keys[i++], Properties[key2]); + return O; + }; } - } - if (IteratorPrototype == void 0) - IteratorPrototype = {}; - if (!IS_PURE && !has(IteratorPrototype, ITERATOR)) - hide(IteratorPrototype, ITERATOR, returnThis); - module3.exports = { - IteratorPrototype, - BUGGY_SAFARI_ITERATORS - }; - }, - "./node_modules/core-js/internals/iterators.js": function(module3, exports2) { - module3.exports = {}; - }, - "./node_modules/core-js/internals/native-symbol.js": function(module3, exports2, __webpack_require__) { - var fails = __webpack_require__("./node_modules/core-js/internals/fails.js"); - module3.exports = !!Object.getOwnPropertySymbols && !fails(function() { - return !String(Symbol()); - }); - }, - "./node_modules/core-js/internals/native-weak-map.js": function(module3, exports2, __webpack_require__) { - var global2 = __webpack_require__("./node_modules/core-js/internals/global.js"); - var nativeFunctionToString = __webpack_require__("./node_modules/core-js/internals/function-to-string.js"); - var WeakMap2 = global2.WeakMap; - module3.exports = typeof WeakMap2 === "function" && /native code/.test(nativeFunctionToString.call(WeakMap2)); - }, - "./node_modules/core-js/internals/object-create.js": function(module3, exports2, __webpack_require__) { - var anObject = __webpack_require__("./node_modules/core-js/internals/an-object.js"); - var defineProperties = __webpack_require__("./node_modules/core-js/internals/object-define-properties.js"); - var enumBugKeys = __webpack_require__("./node_modules/core-js/internals/enum-bug-keys.js"); - var hiddenKeys = __webpack_require__("./node_modules/core-js/internals/hidden-keys.js"); - var html2 = __webpack_require__("./node_modules/core-js/internals/html.js"); - var documentCreateElement = __webpack_require__("./node_modules/core-js/internals/document-create-element.js"); - var sharedKey = __webpack_require__("./node_modules/core-js/internals/shared-key.js"); - var IE_PROTO = sharedKey("IE_PROTO"); - var PROTOTYPE = "prototype"; - var Empty = function() { - }; - var createDict = function() { - var iframe = documentCreateElement("iframe"); - var length = enumBugKeys.length; - var lt = "<"; - var script = "script"; - var gt = ">"; - var js = "java" + script + ":"; - var iframeDocument; - iframe.style.display = "none"; - html2.appendChild(iframe); - iframe.src = String(js); - iframeDocument = iframe.contentWindow.document; - iframeDocument.open(); - iframeDocument.write(lt + script + gt + "document.F=Object" + lt + "/" + script + gt); - iframeDocument.close(); - createDict = iframeDocument.F; - while (length--) - delete createDict[PROTOTYPE][enumBugKeys[length]]; - return createDict(); - }; - module3.exports = Object.create || function create(O, Properties) { - var result; - if (O !== null) { - Empty[PROTOTYPE] = anObject(O); - result = new Empty(); - Empty[PROTOTYPE] = null; - result[IE_PROTO] = O; - } else - result = createDict(); - return Properties === void 0 ? result : defineProperties(result, Properties); - }; - hiddenKeys[IE_PROTO] = true; - }, - "./node_modules/core-js/internals/object-define-properties.js": function(module3, exports2, __webpack_require__) { - var DESCRIPTORS = __webpack_require__("./node_modules/core-js/internals/descriptors.js"); - var definePropertyModule = __webpack_require__("./node_modules/core-js/internals/object-define-property.js"); - var anObject = __webpack_require__("./node_modules/core-js/internals/an-object.js"); - var objectKeys = __webpack_require__("./node_modules/core-js/internals/object-keys.js"); - module3.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) { - anObject(O); - var keys = objectKeys(Properties); - var length = keys.length; - var i = 0; - var key2; - while (length > i) - definePropertyModule.f(O, key2 = keys[i++], Properties[key2]); - return O; - }; - }, - "./node_modules/core-js/internals/object-define-property.js": function(module3, exports2, __webpack_require__) { - var DESCRIPTORS = __webpack_require__("./node_modules/core-js/internals/descriptors.js"); - var IE8_DOM_DEFINE = __webpack_require__("./node_modules/core-js/internals/ie8-dom-define.js"); - var anObject = __webpack_require__("./node_modules/core-js/internals/an-object.js"); - var toPrimitive = __webpack_require__("./node_modules/core-js/internals/to-primitive.js"); - var nativeDefineProperty = Object.defineProperty; - exports2.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) { - anObject(O); - P = toPrimitive(P, true); - anObject(Attributes); - if (IE8_DOM_DEFINE) + ), + /***/ + "./node_modules/core-js/internals/object-define-property.js": ( + /*!******************************************************************!*\ + !*** ./node_modules/core-js/internals/object-define-property.js ***! + \******************************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + var DESCRIPTORS = __webpack_require__( + /*! ../internals/descriptors */ + "./node_modules/core-js/internals/descriptors.js" + ); + var IE8_DOM_DEFINE = __webpack_require__( + /*! ../internals/ie8-dom-define */ + "./node_modules/core-js/internals/ie8-dom-define.js" + ); + var anObject = __webpack_require__( + /*! ../internals/an-object */ + "./node_modules/core-js/internals/an-object.js" + ); + var toPrimitive = __webpack_require__( + /*! ../internals/to-primitive */ + "./node_modules/core-js/internals/to-primitive.js" + ); + var nativeDefineProperty = Object.defineProperty; + exports2.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) { + anObject(O); + P = toPrimitive(P, true); + anObject(Attributes); + if (IE8_DOM_DEFINE) + try { + return nativeDefineProperty(O, P, Attributes); + } catch (error) { + } + if ("get" in Attributes || "set" in Attributes) + throw TypeError("Accessors not supported"); + if ("value" in Attributes) + O[P] = Attributes.value; + return O; + }; + } + ), + /***/ + "./node_modules/core-js/internals/object-get-own-property-descriptor.js": ( + /*!******************************************************************************!*\ + !*** ./node_modules/core-js/internals/object-get-own-property-descriptor.js ***! + \******************************************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + var DESCRIPTORS = __webpack_require__( + /*! ../internals/descriptors */ + "./node_modules/core-js/internals/descriptors.js" + ); + var propertyIsEnumerableModule = __webpack_require__( + /*! ../internals/object-property-is-enumerable */ + "./node_modules/core-js/internals/object-property-is-enumerable.js" + ); + var createPropertyDescriptor = __webpack_require__( + /*! ../internals/create-property-descriptor */ + "./node_modules/core-js/internals/create-property-descriptor.js" + ); + var toIndexedObject = __webpack_require__( + /*! ../internals/to-indexed-object */ + "./node_modules/core-js/internals/to-indexed-object.js" + ); + var toPrimitive = __webpack_require__( + /*! ../internals/to-primitive */ + "./node_modules/core-js/internals/to-primitive.js" + ); + var has = __webpack_require__( + /*! ../internals/has */ + "./node_modules/core-js/internals/has.js" + ); + var IE8_DOM_DEFINE = __webpack_require__( + /*! ../internals/ie8-dom-define */ + "./node_modules/core-js/internals/ie8-dom-define.js" + ); + var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + exports2.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { + O = toIndexedObject(O); + P = toPrimitive(P, true); + if (IE8_DOM_DEFINE) + try { + return nativeGetOwnPropertyDescriptor(O, P); + } catch (error) { + } + if (has(O, P)) + return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]); + }; + } + ), + /***/ + "./node_modules/core-js/internals/object-get-own-property-names.js": ( + /*!*************************************************************************!*\ + !*** ./node_modules/core-js/internals/object-get-own-property-names.js ***! + \*************************************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + var internalObjectKeys = __webpack_require__( + /*! ../internals/object-keys-internal */ + "./node_modules/core-js/internals/object-keys-internal.js" + ); + var enumBugKeys = __webpack_require__( + /*! ../internals/enum-bug-keys */ + "./node_modules/core-js/internals/enum-bug-keys.js" + ); + var hiddenKeys = enumBugKeys.concat("length", "prototype"); + exports2.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { + return internalObjectKeys(O, hiddenKeys); + }; + } + ), + /***/ + "./node_modules/core-js/internals/object-get-own-property-symbols.js": ( + /*!***************************************************************************!*\ + !*** ./node_modules/core-js/internals/object-get-own-property-symbols.js ***! + \***************************************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2) { + exports2.f = Object.getOwnPropertySymbols; + } + ), + /***/ + "./node_modules/core-js/internals/object-get-prototype-of.js": ( + /*!*******************************************************************!*\ + !*** ./node_modules/core-js/internals/object-get-prototype-of.js ***! + \*******************************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + var has = __webpack_require__( + /*! ../internals/has */ + "./node_modules/core-js/internals/has.js" + ); + var toObject = __webpack_require__( + /*! ../internals/to-object */ + "./node_modules/core-js/internals/to-object.js" + ); + var sharedKey = __webpack_require__( + /*! ../internals/shared-key */ + "./node_modules/core-js/internals/shared-key.js" + ); + var CORRECT_PROTOTYPE_GETTER = __webpack_require__( + /*! ../internals/correct-prototype-getter */ + "./node_modules/core-js/internals/correct-prototype-getter.js" + ); + var IE_PROTO = sharedKey("IE_PROTO"); + var ObjectPrototype = Object.prototype; + module3.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function(O) { + O = toObject(O); + if (has(O, IE_PROTO)) + return O[IE_PROTO]; + if (typeof O.constructor == "function" && O instanceof O.constructor) { + return O.constructor.prototype; + } + return O instanceof Object ? ObjectPrototype : null; + }; + } + ), + /***/ + "./node_modules/core-js/internals/object-keys-internal.js": ( + /*!****************************************************************!*\ + !*** ./node_modules/core-js/internals/object-keys-internal.js ***! + \****************************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + var has = __webpack_require__( + /*! ../internals/has */ + "./node_modules/core-js/internals/has.js" + ); + var toIndexedObject = __webpack_require__( + /*! ../internals/to-indexed-object */ + "./node_modules/core-js/internals/to-indexed-object.js" + ); + var arrayIncludes = __webpack_require__( + /*! ../internals/array-includes */ + "./node_modules/core-js/internals/array-includes.js" + ); + var hiddenKeys = __webpack_require__( + /*! ../internals/hidden-keys */ + "./node_modules/core-js/internals/hidden-keys.js" + ); + var arrayIndexOf = arrayIncludes(false); + module3.exports = function(object, names) { + var O = toIndexedObject(object); + var i = 0; + var result = []; + var key2; + for (key2 in O) + !has(hiddenKeys, key2) && has(O, key2) && result.push(key2); + while (names.length > i) + if (has(O, key2 = names[i++])) { + ~arrayIndexOf(result, key2) || result.push(key2); + } + return result; + }; + } + ), + /***/ + "./node_modules/core-js/internals/object-keys.js": ( + /*!*******************************************************!*\ + !*** ./node_modules/core-js/internals/object-keys.js ***! + \*******************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + var internalObjectKeys = __webpack_require__( + /*! ../internals/object-keys-internal */ + "./node_modules/core-js/internals/object-keys-internal.js" + ); + var enumBugKeys = __webpack_require__( + /*! ../internals/enum-bug-keys */ + "./node_modules/core-js/internals/enum-bug-keys.js" + ); + module3.exports = Object.keys || function keys(O) { + return internalObjectKeys(O, enumBugKeys); + }; + } + ), + /***/ + "./node_modules/core-js/internals/object-property-is-enumerable.js": ( + /*!*************************************************************************!*\ + !*** ./node_modules/core-js/internals/object-property-is-enumerable.js ***! + \*************************************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + "use strict"; + var nativePropertyIsEnumerable = {}.propertyIsEnumerable; + var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1); + exports2.f = NASHORN_BUG ? function propertyIsEnumerable(V) { + var descriptor = getOwnPropertyDescriptor(this, V); + return !!descriptor && descriptor.enumerable; + } : nativePropertyIsEnumerable; + } + ), + /***/ + "./node_modules/core-js/internals/object-set-prototype-of.js": ( + /*!*******************************************************************!*\ + !*** ./node_modules/core-js/internals/object-set-prototype-of.js ***! + \*******************************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + var validateSetPrototypeOfArguments = __webpack_require__( + /*! ../internals/validate-set-prototype-of-arguments */ + "./node_modules/core-js/internals/validate-set-prototype-of-arguments.js" + ); + module3.exports = Object.setPrototypeOf || ("__proto__" in {} ? function() { + var correctSetter = false; + var test = {}; + var setter; + try { + setter = Object.getOwnPropertyDescriptor(Object.prototype, "__proto__").set; + setter.call(test, []); + correctSetter = test instanceof Array; + } catch (error) { + } + return function setPrototypeOf(O, proto) { + validateSetPrototypeOfArguments(O, proto); + if (correctSetter) + setter.call(O, proto); + else + O.__proto__ = proto; + return O; + }; + }() : void 0); + } + ), + /***/ + "./node_modules/core-js/internals/own-keys.js": ( + /*!****************************************************!*\ + !*** ./node_modules/core-js/internals/own-keys.js ***! + \****************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + var global2 = __webpack_require__( + /*! ../internals/global */ + "./node_modules/core-js/internals/global.js" + ); + var getOwnPropertyNamesModule = __webpack_require__( + /*! ../internals/object-get-own-property-names */ + "./node_modules/core-js/internals/object-get-own-property-names.js" + ); + var getOwnPropertySymbolsModule = __webpack_require__( + /*! ../internals/object-get-own-property-symbols */ + "./node_modules/core-js/internals/object-get-own-property-symbols.js" + ); + var anObject = __webpack_require__( + /*! ../internals/an-object */ + "./node_modules/core-js/internals/an-object.js" + ); + var Reflect2 = global2.Reflect; + module3.exports = Reflect2 && Reflect2.ownKeys || function ownKeys(it) { + var keys = getOwnPropertyNamesModule.f(anObject(it)); + var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; + return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys; + }; + } + ), + /***/ + "./node_modules/core-js/internals/path.js": ( + /*!************************************************!*\ + !*** ./node_modules/core-js/internals/path.js ***! + \************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + module3.exports = __webpack_require__( + /*! ../internals/global */ + "./node_modules/core-js/internals/global.js" + ); + } + ), + /***/ + "./node_modules/core-js/internals/redefine.js": ( + /*!****************************************************!*\ + !*** ./node_modules/core-js/internals/redefine.js ***! + \****************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + var global2 = __webpack_require__( + /*! ../internals/global */ + "./node_modules/core-js/internals/global.js" + ); + var shared = __webpack_require__( + /*! ../internals/shared */ + "./node_modules/core-js/internals/shared.js" + ); + var hide = __webpack_require__( + /*! ../internals/hide */ + "./node_modules/core-js/internals/hide.js" + ); + var has = __webpack_require__( + /*! ../internals/has */ + "./node_modules/core-js/internals/has.js" + ); + var setGlobal = __webpack_require__( + /*! ../internals/set-global */ + "./node_modules/core-js/internals/set-global.js" + ); + var nativeFunctionToString = __webpack_require__( + /*! ../internals/function-to-string */ + "./node_modules/core-js/internals/function-to-string.js" + ); + var InternalStateModule = __webpack_require__( + /*! ../internals/internal-state */ + "./node_modules/core-js/internals/internal-state.js" + ); + var getInternalState = InternalStateModule.get; + var enforceInternalState = InternalStateModule.enforce; + var TEMPLATE = String(nativeFunctionToString).split("toString"); + shared("inspectSource", function(it) { + return nativeFunctionToString.call(it); + }); + (module3.exports = function(O, key2, value, options) { + var unsafe = options ? !!options.unsafe : false; + var simple2 = options ? !!options.enumerable : false; + var noTargetGet = options ? !!options.noTargetGet : false; + if (typeof value == "function") { + if (typeof key2 == "string" && !has(value, "name")) + hide(value, "name", key2); + enforceInternalState(value).source = TEMPLATE.join(typeof key2 == "string" ? key2 : ""); + } + if (O === global2) { + if (simple2) + O[key2] = value; + else + setGlobal(key2, value); + return; + } else if (!unsafe) { + delete O[key2]; + } else if (!noTargetGet && O[key2]) { + simple2 = true; + } + if (simple2) + O[key2] = value; + else + hide(O, key2, value); + })(Function.prototype, "toString", function toString() { + return typeof this == "function" && getInternalState(this).source || nativeFunctionToString.call(this); + }); + } + ), + /***/ + "./node_modules/core-js/internals/require-object-coercible.js": ( + /*!********************************************************************!*\ + !*** ./node_modules/core-js/internals/require-object-coercible.js ***! + \********************************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2) { + module3.exports = function(it) { + if (it == void 0) + throw TypeError("Can't call method on " + it); + return it; + }; + } + ), + /***/ + "./node_modules/core-js/internals/set-global.js": ( + /*!******************************************************!*\ + !*** ./node_modules/core-js/internals/set-global.js ***! + \******************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + var global2 = __webpack_require__( + /*! ../internals/global */ + "./node_modules/core-js/internals/global.js" + ); + var hide = __webpack_require__( + /*! ../internals/hide */ + "./node_modules/core-js/internals/hide.js" + ); + module3.exports = function(key2, value) { + try { + hide(global2, key2, value); + } catch (error) { + global2[key2] = value; + } + return value; + }; + } + ), + /***/ + "./node_modules/core-js/internals/set-to-string-tag.js": ( + /*!*************************************************************!*\ + !*** ./node_modules/core-js/internals/set-to-string-tag.js ***! + \*************************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + var defineProperty = __webpack_require__( + /*! ../internals/object-define-property */ + "./node_modules/core-js/internals/object-define-property.js" + ).f; + var has = __webpack_require__( + /*! ../internals/has */ + "./node_modules/core-js/internals/has.js" + ); + var wellKnownSymbol = __webpack_require__( + /*! ../internals/well-known-symbol */ + "./node_modules/core-js/internals/well-known-symbol.js" + ); + var TO_STRING_TAG = wellKnownSymbol("toStringTag"); + module3.exports = function(it, TAG, STATIC) { + if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) { + defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG }); + } + }; + } + ), + /***/ + "./node_modules/core-js/internals/shared-key.js": ( + /*!******************************************************!*\ + !*** ./node_modules/core-js/internals/shared-key.js ***! + \******************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + var shared = __webpack_require__( + /*! ../internals/shared */ + "./node_modules/core-js/internals/shared.js" + ); + var uid = __webpack_require__( + /*! ../internals/uid */ + "./node_modules/core-js/internals/uid.js" + ); + var keys = shared("keys"); + module3.exports = function(key2) { + return keys[key2] || (keys[key2] = uid(key2)); + }; + } + ), + /***/ + "./node_modules/core-js/internals/shared.js": ( + /*!**************************************************!*\ + !*** ./node_modules/core-js/internals/shared.js ***! + \**************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + var global2 = __webpack_require__( + /*! ../internals/global */ + "./node_modules/core-js/internals/global.js" + ); + var setGlobal = __webpack_require__( + /*! ../internals/set-global */ + "./node_modules/core-js/internals/set-global.js" + ); + var IS_PURE = __webpack_require__( + /*! ../internals/is-pure */ + "./node_modules/core-js/internals/is-pure.js" + ); + var SHARED = "__core-js_shared__"; + var store = global2[SHARED] || setGlobal(SHARED, {}); + (module3.exports = function(key2, value) { + return store[key2] || (store[key2] = value !== void 0 ? value : {}); + })("versions", []).push({ + version: "3.1.3", + mode: IS_PURE ? "pure" : "global", + copyright: "\xA9 2019 Denis Pushkarev (zloirock.ru)" + }); + } + ), + /***/ + "./node_modules/core-js/internals/string-at.js": ( + /*!*****************************************************!*\ + !*** ./node_modules/core-js/internals/string-at.js ***! + \*****************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + var toInteger = __webpack_require__( + /*! ../internals/to-integer */ + "./node_modules/core-js/internals/to-integer.js" + ); + var requireObjectCoercible = __webpack_require__( + /*! ../internals/require-object-coercible */ + "./node_modules/core-js/internals/require-object-coercible.js" + ); + module3.exports = function(that, pos, CONVERT_TO_STRING) { + var S = String(requireObjectCoercible(that)); + var position = toInteger(pos); + var size = S.length; + var first2, second; + if (position < 0 || position >= size) + return CONVERT_TO_STRING ? "" : void 0; + first2 = S.charCodeAt(position); + return first2 < 55296 || first2 > 56319 || position + 1 === size || (second = S.charCodeAt(position + 1)) < 56320 || second > 57343 ? CONVERT_TO_STRING ? S.charAt(position) : first2 : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first2 - 55296 << 10) + (second - 56320) + 65536; + }; + } + ), + /***/ + "./node_modules/core-js/internals/to-absolute-index.js": ( + /*!*************************************************************!*\ + !*** ./node_modules/core-js/internals/to-absolute-index.js ***! + \*************************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + var toInteger = __webpack_require__( + /*! ../internals/to-integer */ + "./node_modules/core-js/internals/to-integer.js" + ); + var max = Math.max; + var min = Math.min; + module3.exports = function(index2, length) { + var integer = toInteger(index2); + return integer < 0 ? max(integer + length, 0) : min(integer, length); + }; + } + ), + /***/ + "./node_modules/core-js/internals/to-indexed-object.js": ( + /*!*************************************************************!*\ + !*** ./node_modules/core-js/internals/to-indexed-object.js ***! + \*************************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + var IndexedObject = __webpack_require__( + /*! ../internals/indexed-object */ + "./node_modules/core-js/internals/indexed-object.js" + ); + var requireObjectCoercible = __webpack_require__( + /*! ../internals/require-object-coercible */ + "./node_modules/core-js/internals/require-object-coercible.js" + ); + module3.exports = function(it) { + return IndexedObject(requireObjectCoercible(it)); + }; + } + ), + /***/ + "./node_modules/core-js/internals/to-integer.js": ( + /*!******************************************************!*\ + !*** ./node_modules/core-js/internals/to-integer.js ***! + \******************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2) { + var ceil = Math.ceil; + var floor = Math.floor; + module3.exports = function(argument) { + return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument); + }; + } + ), + /***/ + "./node_modules/core-js/internals/to-length.js": ( + /*!*****************************************************!*\ + !*** ./node_modules/core-js/internals/to-length.js ***! + \*****************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + var toInteger = __webpack_require__( + /*! ../internals/to-integer */ + "./node_modules/core-js/internals/to-integer.js" + ); + var min = Math.min; + module3.exports = function(argument) { + return argument > 0 ? min(toInteger(argument), 9007199254740991) : 0; + }; + } + ), + /***/ + "./node_modules/core-js/internals/to-object.js": ( + /*!*****************************************************!*\ + !*** ./node_modules/core-js/internals/to-object.js ***! + \*****************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + var requireObjectCoercible = __webpack_require__( + /*! ../internals/require-object-coercible */ + "./node_modules/core-js/internals/require-object-coercible.js" + ); + module3.exports = function(argument) { + return Object(requireObjectCoercible(argument)); + }; + } + ), + /***/ + "./node_modules/core-js/internals/to-primitive.js": ( + /*!********************************************************!*\ + !*** ./node_modules/core-js/internals/to-primitive.js ***! + \********************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + var isObject = __webpack_require__( + /*! ../internals/is-object */ + "./node_modules/core-js/internals/is-object.js" + ); + module3.exports = function(it, S) { + if (!isObject(it)) + return it; + var fn, val; + if (S && typeof (fn = it.toString) == "function" && !isObject(val = fn.call(it))) + return val; + if (typeof (fn = it.valueOf) == "function" && !isObject(val = fn.call(it))) + return val; + if (!S && typeof (fn = it.toString) == "function" && !isObject(val = fn.call(it))) + return val; + throw TypeError("Can't convert object to primitive value"); + }; + } + ), + /***/ + "./node_modules/core-js/internals/uid.js": ( + /*!***********************************************!*\ + !*** ./node_modules/core-js/internals/uid.js ***! + \***********************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2) { + var id = 0; + var postfix = Math.random(); + module3.exports = function(key2) { + return "Symbol(".concat(key2 === void 0 ? "" : key2, ")_", (++id + postfix).toString(36)); + }; + } + ), + /***/ + "./node_modules/core-js/internals/validate-set-prototype-of-arguments.js": ( + /*!*******************************************************************************!*\ + !*** ./node_modules/core-js/internals/validate-set-prototype-of-arguments.js ***! + \*******************************************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + var isObject = __webpack_require__( + /*! ../internals/is-object */ + "./node_modules/core-js/internals/is-object.js" + ); + var anObject = __webpack_require__( + /*! ../internals/an-object */ + "./node_modules/core-js/internals/an-object.js" + ); + module3.exports = function(O, proto) { + anObject(O); + if (!isObject(proto) && proto !== null) { + throw TypeError("Can't set " + String(proto) + " as a prototype"); + } + }; + } + ), + /***/ + "./node_modules/core-js/internals/well-known-symbol.js": ( + /*!*************************************************************!*\ + !*** ./node_modules/core-js/internals/well-known-symbol.js ***! + \*************************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + var global2 = __webpack_require__( + /*! ../internals/global */ + "./node_modules/core-js/internals/global.js" + ); + var shared = __webpack_require__( + /*! ../internals/shared */ + "./node_modules/core-js/internals/shared.js" + ); + var uid = __webpack_require__( + /*! ../internals/uid */ + "./node_modules/core-js/internals/uid.js" + ); + var NATIVE_SYMBOL = __webpack_require__( + /*! ../internals/native-symbol */ + "./node_modules/core-js/internals/native-symbol.js" + ); + var Symbol2 = global2.Symbol; + var store = shared("wks"); + module3.exports = function(name) { + return store[name] || (store[name] = NATIVE_SYMBOL && Symbol2[name] || (NATIVE_SYMBOL ? Symbol2 : uid)("Symbol." + name)); + }; + } + ), + /***/ + "./node_modules/core-js/modules/es.array.from.js": ( + /*!*******************************************************!*\ + !*** ./node_modules/core-js/modules/es.array.from.js ***! + \*******************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + var $ = __webpack_require__( + /*! ../internals/export */ + "./node_modules/core-js/internals/export.js" + ); + var from = __webpack_require__( + /*! ../internals/array-from */ + "./node_modules/core-js/internals/array-from.js" + ); + var checkCorrectnessOfIteration = __webpack_require__( + /*! ../internals/check-correctness-of-iteration */ + "./node_modules/core-js/internals/check-correctness-of-iteration.js" + ); + var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function(iterable) { + Array.from(iterable); + }); + $({ target: "Array", stat: true, forced: INCORRECT_ITERATION }, { + from + }); + } + ), + /***/ + "./node_modules/core-js/modules/es.string.iterator.js": ( + /*!************************************************************!*\ + !*** ./node_modules/core-js/modules/es.string.iterator.js ***! + \************************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + "use strict"; + var codePointAt = __webpack_require__( + /*! ../internals/string-at */ + "./node_modules/core-js/internals/string-at.js" + ); + var InternalStateModule = __webpack_require__( + /*! ../internals/internal-state */ + "./node_modules/core-js/internals/internal-state.js" + ); + var defineIterator = __webpack_require__( + /*! ../internals/define-iterator */ + "./node_modules/core-js/internals/define-iterator.js" + ); + var STRING_ITERATOR = "String Iterator"; + var setInternalState = InternalStateModule.set; + var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR); + defineIterator(String, "String", function(iterated) { + setInternalState(this, { + type: STRING_ITERATOR, + string: String(iterated), + index: 0 + }); + }, function next() { + var state = getInternalState(this); + var string = state.string; + var index2 = state.index; + var point; + if (index2 >= string.length) + return { value: void 0, done: true }; + point = codePointAt(string, index2, true); + state.index += point.length; + return { value: point, done: false }; + }); + } + ), + /***/ + "./node_modules/webpack/buildin/global.js": ( + /*!***********************************!*\ + !*** (webpack)/buildin/global.js ***! + \***********************************/ + /*! no static exports found */ + /***/ + function(module3, exports2) { + var g; + g = function() { + return this; + }(); try { - return nativeDefineProperty(O, P, Attributes); - } catch (error) { + g = g || Function("return this")() || (1, eval)("this"); + } catch (e) { + if (typeof window === "object") + g = window; } - if ("get" in Attributes || "set" in Attributes) - throw TypeError("Accessors not supported"); - if ("value" in Attributes) - O[P] = Attributes.value; - return O; - }; - }, - "./node_modules/core-js/internals/object-get-own-property-descriptor.js": function(module3, exports2, __webpack_require__) { - var DESCRIPTORS = __webpack_require__("./node_modules/core-js/internals/descriptors.js"); - var propertyIsEnumerableModule = __webpack_require__("./node_modules/core-js/internals/object-property-is-enumerable.js"); - var createPropertyDescriptor = __webpack_require__("./node_modules/core-js/internals/create-property-descriptor.js"); - var toIndexedObject = __webpack_require__("./node_modules/core-js/internals/to-indexed-object.js"); - var toPrimitive = __webpack_require__("./node_modules/core-js/internals/to-primitive.js"); - var has = __webpack_require__("./node_modules/core-js/internals/has.js"); - var IE8_DOM_DEFINE = __webpack_require__("./node_modules/core-js/internals/ie8-dom-define.js"); - var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; - exports2.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { - O = toIndexedObject(O); - P = toPrimitive(P, true); - if (IE8_DOM_DEFINE) - try { - return nativeGetOwnPropertyDescriptor(O, P); - } catch (error) { + module3.exports = g; + } + ), + /***/ + "./src/default-attrs.json": ( + /*!********************************!*\ + !*** ./src/default-attrs.json ***! + \********************************/ + /*! exports provided: xmlns, width, height, viewBox, fill, stroke, stroke-width, stroke-linecap, stroke-linejoin, default */ + /***/ + function(module3) { + module3.exports = { "xmlns": "http://www.w3.org/2000/svg", "width": 24, "height": 24, "viewBox": "0 0 24 24", "fill": "none", "stroke": "currentColor", "stroke-width": 2, "stroke-linecap": "round", "stroke-linejoin": "round" }; + } + ), + /***/ + "./src/icon.js": ( + /*!*********************!*\ + !*** ./src/icon.js ***! + \*********************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + var _extends = Object.assign || function(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + for (var key2 in source) { + if (Object.prototype.hasOwnProperty.call(source, key2)) { + target[key2] = source[key2]; + } + } + } + return target; + }; + var _createClass = function() { + function defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) + descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + return function(Constructor, protoProps, staticProps) { + if (protoProps) + defineProperties(Constructor.prototype, protoProps); + if (staticProps) + defineProperties(Constructor, staticProps); + return Constructor; + }; + }(); + var _dedupe = __webpack_require__( + /*! classnames/dedupe */ + "./node_modules/classnames/dedupe.js" + ); + var _dedupe2 = _interopRequireDefault(_dedupe); + var _defaultAttrs = __webpack_require__( + /*! ./default-attrs.json */ + "./src/default-attrs.json" + ); + var _defaultAttrs2 = _interopRequireDefault(_defaultAttrs); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { default: obj }; } - if (has(O, P)) - return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]); - }; - }, - "./node_modules/core-js/internals/object-get-own-property-names.js": function(module3, exports2, __webpack_require__) { - var internalObjectKeys = __webpack_require__("./node_modules/core-js/internals/object-keys-internal.js"); - var enumBugKeys = __webpack_require__("./node_modules/core-js/internals/enum-bug-keys.js"); - var hiddenKeys = enumBugKeys.concat("length", "prototype"); - exports2.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { - return internalObjectKeys(O, hiddenKeys); - }; - }, - "./node_modules/core-js/internals/object-get-own-property-symbols.js": function(module3, exports2) { - exports2.f = Object.getOwnPropertySymbols; - }, - "./node_modules/core-js/internals/object-get-prototype-of.js": function(module3, exports2, __webpack_require__) { - var has = __webpack_require__("./node_modules/core-js/internals/has.js"); - var toObject = __webpack_require__("./node_modules/core-js/internals/to-object.js"); - var sharedKey = __webpack_require__("./node_modules/core-js/internals/shared-key.js"); - var CORRECT_PROTOTYPE_GETTER = __webpack_require__("./node_modules/core-js/internals/correct-prototype-getter.js"); - var IE_PROTO = sharedKey("IE_PROTO"); - var ObjectPrototype = Object.prototype; - module3.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function(O) { - O = toObject(O); - if (has(O, IE_PROTO)) - return O[IE_PROTO]; - if (typeof O.constructor == "function" && O instanceof O.constructor) { - return O.constructor.prototype; - } - return O instanceof Object ? ObjectPrototype : null; - }; - }, - "./node_modules/core-js/internals/object-keys-internal.js": function(module3, exports2, __webpack_require__) { - var has = __webpack_require__("./node_modules/core-js/internals/has.js"); - var toIndexedObject = __webpack_require__("./node_modules/core-js/internals/to-indexed-object.js"); - var arrayIncludes = __webpack_require__("./node_modules/core-js/internals/array-includes.js"); - var hiddenKeys = __webpack_require__("./node_modules/core-js/internals/hidden-keys.js"); - var arrayIndexOf = arrayIncludes(false); - module3.exports = function(object, names) { - var O = toIndexedObject(object); - var i = 0; - var result = []; - var key2; - for (key2 in O) - !has(hiddenKeys, key2) && has(O, key2) && result.push(key2); - while (names.length > i) - if (has(O, key2 = names[i++])) { - ~arrayIndexOf(result, key2) || result.push(key2); - } - return result; - }; - }, - "./node_modules/core-js/internals/object-keys.js": function(module3, exports2, __webpack_require__) { - var internalObjectKeys = __webpack_require__("./node_modules/core-js/internals/object-keys-internal.js"); - var enumBugKeys = __webpack_require__("./node_modules/core-js/internals/enum-bug-keys.js"); - module3.exports = Object.keys || function keys(O) { - return internalObjectKeys(O, enumBugKeys); - }; - }, - "./node_modules/core-js/internals/object-property-is-enumerable.js": function(module3, exports2, __webpack_require__) { - "use strict"; - var nativePropertyIsEnumerable = {}.propertyIsEnumerable; - var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; - var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1); - exports2.f = NASHORN_BUG ? function propertyIsEnumerable(V) { - var descriptor = getOwnPropertyDescriptor(this, V); - return !!descriptor && descriptor.enumerable; - } : nativePropertyIsEnumerable; - }, - "./node_modules/core-js/internals/object-set-prototype-of.js": function(module3, exports2, __webpack_require__) { - var validateSetPrototypeOfArguments = __webpack_require__("./node_modules/core-js/internals/validate-set-prototype-of-arguments.js"); - module3.exports = Object.setPrototypeOf || ("__proto__" in {} ? function() { - var correctSetter = false; - var test = {}; - var setter; - try { - setter = Object.getOwnPropertyDescriptor(Object.prototype, "__proto__").set; - setter.call(test, []); - correctSetter = test instanceof Array; - } catch (error) { - } - return function setPrototypeOf(O, proto) { - validateSetPrototypeOfArguments(O, proto); - if (correctSetter) - setter.call(O, proto); - else - O.__proto__ = proto; - return O; - }; - }() : void 0); - }, - "./node_modules/core-js/internals/own-keys.js": function(module3, exports2, __webpack_require__) { - var global2 = __webpack_require__("./node_modules/core-js/internals/global.js"); - var getOwnPropertyNamesModule = __webpack_require__("./node_modules/core-js/internals/object-get-own-property-names.js"); - var getOwnPropertySymbolsModule = __webpack_require__("./node_modules/core-js/internals/object-get-own-property-symbols.js"); - var anObject = __webpack_require__("./node_modules/core-js/internals/an-object.js"); - var Reflect = global2.Reflect; - module3.exports = Reflect && Reflect.ownKeys || function ownKeys(it) { - var keys = getOwnPropertyNamesModule.f(anObject(it)); - var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; - return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys; - }; - }, - "./node_modules/core-js/internals/path.js": function(module3, exports2, __webpack_require__) { - module3.exports = __webpack_require__("./node_modules/core-js/internals/global.js"); - }, - "./node_modules/core-js/internals/redefine.js": function(module3, exports2, __webpack_require__) { - var global2 = __webpack_require__("./node_modules/core-js/internals/global.js"); - var shared = __webpack_require__("./node_modules/core-js/internals/shared.js"); - var hide = __webpack_require__("./node_modules/core-js/internals/hide.js"); - var has = __webpack_require__("./node_modules/core-js/internals/has.js"); - var setGlobal = __webpack_require__("./node_modules/core-js/internals/set-global.js"); - var nativeFunctionToString = __webpack_require__("./node_modules/core-js/internals/function-to-string.js"); - var InternalStateModule = __webpack_require__("./node_modules/core-js/internals/internal-state.js"); - var getInternalState = InternalStateModule.get; - var enforceInternalState = InternalStateModule.enforce; - var TEMPLATE = String(nativeFunctionToString).split("toString"); - shared("inspectSource", function(it) { - return nativeFunctionToString.call(it); - }); - (module3.exports = function(O, key2, value, options) { - var unsafe = options ? !!options.unsafe : false; - var simple2 = options ? !!options.enumerable : false; - var noTargetGet = options ? !!options.noTargetGet : false; - if (typeof value == "function") { - if (typeof key2 == "string" && !has(value, "name")) - hide(value, "name", key2); - enforceInternalState(value).source = TEMPLATE.join(typeof key2 == "string" ? key2 : ""); - } - if (O === global2) { - if (simple2) - O[key2] = value; - else - setGlobal(key2, value); - return; - } else if (!unsafe) { - delete O[key2]; - } else if (!noTargetGet && O[key2]) { - simple2 = true; - } - if (simple2) - O[key2] = value; - else - hide(O, key2, value); - })(Function.prototype, "toString", function toString() { - return typeof this == "function" && getInternalState(this).source || nativeFunctionToString.call(this); - }); - }, - "./node_modules/core-js/internals/require-object-coercible.js": function(module3, exports2) { - module3.exports = function(it) { - if (it == void 0) - throw TypeError("Can't call method on " + it); - return it; - }; - }, - "./node_modules/core-js/internals/set-global.js": function(module3, exports2, __webpack_require__) { - var global2 = __webpack_require__("./node_modules/core-js/internals/global.js"); - var hide = __webpack_require__("./node_modules/core-js/internals/hide.js"); - module3.exports = function(key2, value) { - try { - hide(global2, key2, value); - } catch (error) { - global2[key2] = value; - } - return value; - }; - }, - "./node_modules/core-js/internals/set-to-string-tag.js": function(module3, exports2, __webpack_require__) { - var defineProperty = __webpack_require__("./node_modules/core-js/internals/object-define-property.js").f; - var has = __webpack_require__("./node_modules/core-js/internals/has.js"); - var wellKnownSymbol = __webpack_require__("./node_modules/core-js/internals/well-known-symbol.js"); - var TO_STRING_TAG = wellKnownSymbol("toStringTag"); - module3.exports = function(it, TAG, STATIC) { - if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) { - defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG }); - } - }; - }, - "./node_modules/core-js/internals/shared-key.js": function(module3, exports2, __webpack_require__) { - var shared = __webpack_require__("./node_modules/core-js/internals/shared.js"); - var uid = __webpack_require__("./node_modules/core-js/internals/uid.js"); - var keys = shared("keys"); - module3.exports = function(key2) { - return keys[key2] || (keys[key2] = uid(key2)); - }; - }, - "./node_modules/core-js/internals/shared.js": function(module3, exports2, __webpack_require__) { - var global2 = __webpack_require__("./node_modules/core-js/internals/global.js"); - var setGlobal = __webpack_require__("./node_modules/core-js/internals/set-global.js"); - var IS_PURE = __webpack_require__("./node_modules/core-js/internals/is-pure.js"); - var SHARED = "__core-js_shared__"; - var store = global2[SHARED] || setGlobal(SHARED, {}); - (module3.exports = function(key2, value) { - return store[key2] || (store[key2] = value !== void 0 ? value : {}); - })("versions", []).push({ - version: "3.1.3", - mode: IS_PURE ? "pure" : "global", - copyright: "\xA9 2019 Denis Pushkarev (zloirock.ru)" - }); - }, - "./node_modules/core-js/internals/string-at.js": function(module3, exports2, __webpack_require__) { - var toInteger = __webpack_require__("./node_modules/core-js/internals/to-integer.js"); - var requireObjectCoercible = __webpack_require__("./node_modules/core-js/internals/require-object-coercible.js"); - module3.exports = function(that, pos, CONVERT_TO_STRING) { - var S = String(requireObjectCoercible(that)); - var position = toInteger(pos); - var size = S.length; - var first2, second; - if (position < 0 || position >= size) - return CONVERT_TO_STRING ? "" : void 0; - first2 = S.charCodeAt(position); - return first2 < 55296 || first2 > 56319 || position + 1 === size || (second = S.charCodeAt(position + 1)) < 56320 || second > 57343 ? CONVERT_TO_STRING ? S.charAt(position) : first2 : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first2 - 55296 << 10) + (second - 56320) + 65536; - }; - }, - "./node_modules/core-js/internals/to-absolute-index.js": function(module3, exports2, __webpack_require__) { - var toInteger = __webpack_require__("./node_modules/core-js/internals/to-integer.js"); - var max = Math.max; - var min = Math.min; - module3.exports = function(index2, length) { - var integer = toInteger(index2); - return integer < 0 ? max(integer + length, 0) : min(integer, length); - }; - }, - "./node_modules/core-js/internals/to-indexed-object.js": function(module3, exports2, __webpack_require__) { - var IndexedObject = __webpack_require__("./node_modules/core-js/internals/indexed-object.js"); - var requireObjectCoercible = __webpack_require__("./node_modules/core-js/internals/require-object-coercible.js"); - module3.exports = function(it) { - return IndexedObject(requireObjectCoercible(it)); - }; - }, - "./node_modules/core-js/internals/to-integer.js": function(module3, exports2) { - var ceil = Math.ceil; - var floor = Math.floor; - module3.exports = function(argument) { - return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument); - }; - }, - "./node_modules/core-js/internals/to-length.js": function(module3, exports2, __webpack_require__) { - var toInteger = __webpack_require__("./node_modules/core-js/internals/to-integer.js"); - var min = Math.min; - module3.exports = function(argument) { - return argument > 0 ? min(toInteger(argument), 9007199254740991) : 0; - }; - }, - "./node_modules/core-js/internals/to-object.js": function(module3, exports2, __webpack_require__) { - var requireObjectCoercible = __webpack_require__("./node_modules/core-js/internals/require-object-coercible.js"); - module3.exports = function(argument) { - return Object(requireObjectCoercible(argument)); - }; - }, - "./node_modules/core-js/internals/to-primitive.js": function(module3, exports2, __webpack_require__) { - var isObject = __webpack_require__("./node_modules/core-js/internals/is-object.js"); - module3.exports = function(it, S) { - if (!isObject(it)) - return it; - var fn, val; - if (S && typeof (fn = it.toString) == "function" && !isObject(val = fn.call(it))) - return val; - if (typeof (fn = it.valueOf) == "function" && !isObject(val = fn.call(it))) - return val; - if (!S && typeof (fn = it.toString) == "function" && !isObject(val = fn.call(it))) - return val; - throw TypeError("Can't convert object to primitive value"); - }; - }, - "./node_modules/core-js/internals/uid.js": function(module3, exports2) { - var id = 0; - var postfix = Math.random(); - module3.exports = function(key2) { - return "Symbol(".concat(key2 === void 0 ? "" : key2, ")_", (++id + postfix).toString(36)); - }; - }, - "./node_modules/core-js/internals/validate-set-prototype-of-arguments.js": function(module3, exports2, __webpack_require__) { - var isObject = __webpack_require__("./node_modules/core-js/internals/is-object.js"); - var anObject = __webpack_require__("./node_modules/core-js/internals/an-object.js"); - module3.exports = function(O, proto) { - anObject(O); - if (!isObject(proto) && proto !== null) { - throw TypeError("Can't set " + String(proto) + " as a prototype"); - } - }; - }, - "./node_modules/core-js/internals/well-known-symbol.js": function(module3, exports2, __webpack_require__) { - var global2 = __webpack_require__("./node_modules/core-js/internals/global.js"); - var shared = __webpack_require__("./node_modules/core-js/internals/shared.js"); - var uid = __webpack_require__("./node_modules/core-js/internals/uid.js"); - var NATIVE_SYMBOL = __webpack_require__("./node_modules/core-js/internals/native-symbol.js"); - var Symbol2 = global2.Symbol; - var store = shared("wks"); - module3.exports = function(name) { - return store[name] || (store[name] = NATIVE_SYMBOL && Symbol2[name] || (NATIVE_SYMBOL ? Symbol2 : uid)("Symbol." + name)); - }; - }, - "./node_modules/core-js/modules/es.array.from.js": function(module3, exports2, __webpack_require__) { - var $ = __webpack_require__("./node_modules/core-js/internals/export.js"); - var from = __webpack_require__("./node_modules/core-js/internals/array-from.js"); - var checkCorrectnessOfIteration = __webpack_require__("./node_modules/core-js/internals/check-correctness-of-iteration.js"); - var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function(iterable) { - Array.from(iterable); - }); - $({ target: "Array", stat: true, forced: INCORRECT_ITERATION }, { - from - }); - }, - "./node_modules/core-js/modules/es.string.iterator.js": function(module3, exports2, __webpack_require__) { - "use strict"; - var codePointAt = __webpack_require__("./node_modules/core-js/internals/string-at.js"); - var InternalStateModule = __webpack_require__("./node_modules/core-js/internals/internal-state.js"); - var defineIterator = __webpack_require__("./node_modules/core-js/internals/define-iterator.js"); - var STRING_ITERATOR = "String Iterator"; - var setInternalState = InternalStateModule.set; - var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR); - defineIterator(String, "String", function(iterated) { - setInternalState(this, { - type: STRING_ITERATOR, - string: String(iterated), - index: 0 - }); - }, function next() { - var state = getInternalState(this); - var string = state.string; - var index2 = state.index; - var point; - if (index2 >= string.length) - return { value: void 0, done: true }; - point = codePointAt(string, index2, true); - state.index += point.length; - return { value: point, done: false }; - }); - }, - "./node_modules/webpack/buildin/global.js": function(module3, exports2) { - var g; - g = function() { - return this; - }(); - try { - g = g || Function("return this")() || (1, eval)("this"); - } catch (e) { - if (typeof window === "object") - g = window; - } - module3.exports = g; - }, - "./src/default-attrs.json": function(module3) { - module3.exports = { "xmlns": "http://www.w3.org/2000/svg", "width": 24, "height": 24, "viewBox": "0 0 24 24", "fill": "none", "stroke": "currentColor", "stroke-width": 2, "stroke-linecap": "round", "stroke-linejoin": "round" }; - }, - "./src/icon.js": function(module3, exports2, __webpack_require__) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var _extends = Object.assign || function(target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i]; - for (var key2 in source) { - if (Object.prototype.hasOwnProperty.call(source, key2)) { - target[key2] = source[key2]; + function _classCallCheck(instance10, Constructor) { + if (!(instance10 instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); } } - } - return target; - }; - var _createClass = function() { - function defineProperties(target, props) { - for (var i = 0; i < props.length; i++) { - var descriptor = props[i]; - descriptor.enumerable = descriptor.enumerable || false; - descriptor.configurable = true; - if ("value" in descriptor) - descriptor.writable = true; - Object.defineProperty(target, descriptor.key, descriptor); + var Icon = function() { + function Icon2(name, contents) { + var tags = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : []; + _classCallCheck(this, Icon2); + this.name = name; + this.contents = contents; + this.tags = tags; + this.attrs = _extends({}, _defaultAttrs2.default, { class: "feather feather-" + name }); + } + _createClass(Icon2, [{ + key: "toSvg", + value: function toSvg() { + var attrs = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; + var combinedAttrs = _extends({}, this.attrs, attrs, { class: (0, _dedupe2.default)(this.attrs.class, attrs.class) }); + return "" + this.contents + ""; + } + /** + * Return string representation of an `Icon`. + * + * Added for backward compatibility. If old code expects `feather.icons.` + * to be a string, `toString()` will get implicitly called. + * + * @returns {string} + */ + }, { + key: "toString", + value: function toString() { + return this.contents; + } + }]); + return Icon2; + }(); + function attrsToString(attrs) { + return Object.keys(attrs).map(function(key2) { + return key2 + '="' + attrs[key2] + '"'; + }).join(" "); } + exports2.default = Icon; } - return function(Constructor, protoProps, staticProps) { - if (protoProps) - defineProperties(Constructor.prototype, protoProps); - if (staticProps) - defineProperties(Constructor, staticProps); - return Constructor; - }; - }(); - var _dedupe = __webpack_require__("./node_modules/classnames/dedupe.js"); - var _dedupe2 = _interopRequireDefault(_dedupe); - var _defaultAttrs = __webpack_require__("./src/default-attrs.json"); - var _defaultAttrs2 = _interopRequireDefault(_defaultAttrs); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } - function _classCallCheck(instance6, Constructor) { - if (!(instance6 instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); + ), + /***/ + "./src/icons.js": ( + /*!**********************!*\ + !*** ./src/icons.js ***! + \**********************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + var _icon = __webpack_require__( + /*! ./icon */ + "./src/icon.js" + ); + var _icon2 = _interopRequireDefault(_icon); + var _icons = __webpack_require__( + /*! ../dist/icons.json */ + "./dist/icons.json" + ); + var _icons2 = _interopRequireDefault(_icons); + var _tags = __webpack_require__( + /*! ./tags.json */ + "./src/tags.json" + ); + var _tags2 = _interopRequireDefault(_tags); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { default: obj }; + } + exports2.default = Object.keys(_icons2.default).map(function(key2) { + return new _icon2.default(key2, _icons2.default[key2], _tags2.default[key2]); + }).reduce(function(object, icon) { + object[icon.name] = icon; + return object; + }, {}); } - } - var Icon = function() { - function Icon2(name, contents) { - var tags = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : []; - _classCallCheck(this, Icon2); - this.name = name; - this.contents = contents; - this.tags = tags; - this.attrs = _extends({}, _defaultAttrs2.default, { class: "feather feather-" + name }); + ), + /***/ + "./src/index.js": ( + /*!**********************!*\ + !*** ./src/index.js ***! + \**********************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + "use strict"; + var _icons = __webpack_require__( + /*! ./icons */ + "./src/icons.js" + ); + var _icons2 = _interopRequireDefault(_icons); + var _toSvg = __webpack_require__( + /*! ./to-svg */ + "./src/to-svg.js" + ); + var _toSvg2 = _interopRequireDefault(_toSvg); + var _replace = __webpack_require__( + /*! ./replace */ + "./src/replace.js" + ); + var _replace2 = _interopRequireDefault(_replace); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { default: obj }; + } + module3.exports = { icons: _icons2.default, toSvg: _toSvg2.default, replace: _replace2.default }; } - _createClass(Icon2, [{ - key: "toSvg", - value: function toSvg() { + ), + /***/ + "./src/replace.js": ( + /*!************************!*\ + !*** ./src/replace.js ***! + \************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + var _extends = Object.assign || function(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + for (var key2 in source) { + if (Object.prototype.hasOwnProperty.call(source, key2)) { + target[key2] = source[key2]; + } + } + } + return target; + }; + var _dedupe = __webpack_require__( + /*! classnames/dedupe */ + "./node_modules/classnames/dedupe.js" + ); + var _dedupe2 = _interopRequireDefault(_dedupe); + var _icons = __webpack_require__( + /*! ./icons */ + "./src/icons.js" + ); + var _icons2 = _interopRequireDefault(_icons); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { default: obj }; + } + function replace() { var attrs = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; - var combinedAttrs = _extends({}, this.attrs, attrs, { class: (0, _dedupe2.default)(this.attrs.class, attrs.class) }); - return "" + this.contents + ""; - } - }, { - key: "toString", - value: function toString() { - return this.contents; - } - }]); - return Icon2; - }(); - function attrsToString(attrs) { - return Object.keys(attrs).map(function(key2) { - return key2 + '="' + attrs[key2] + '"'; - }).join(" "); - } - exports2.default = Icon; - }, - "./src/icons.js": function(module3, exports2, __webpack_require__) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var _icon = __webpack_require__("./src/icon.js"); - var _icon2 = _interopRequireDefault(_icon); - var _icons = __webpack_require__("./dist/icons.json"); - var _icons2 = _interopRequireDefault(_icons); - var _tags = __webpack_require__("./src/tags.json"); - var _tags2 = _interopRequireDefault(_tags); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } - exports2.default = Object.keys(_icons2.default).map(function(key2) { - return new _icon2.default(key2, _icons2.default[key2], _tags2.default[key2]); - }).reduce(function(object, icon) { - object[icon.name] = icon; - return object; - }, {}); - }, - "./src/index.js": function(module3, exports2, __webpack_require__) { - "use strict"; - var _icons = __webpack_require__("./src/icons.js"); - var _icons2 = _interopRequireDefault(_icons); - var _toSvg = __webpack_require__("./src/to-svg.js"); - var _toSvg2 = _interopRequireDefault(_toSvg); - var _replace = __webpack_require__("./src/replace.js"); - var _replace2 = _interopRequireDefault(_replace); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } - module3.exports = { icons: _icons2.default, toSvg: _toSvg2.default, replace: _replace2.default }; - }, - "./src/replace.js": function(module3, exports2, __webpack_require__) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var _extends = Object.assign || function(target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i]; - for (var key2 in source) { - if (Object.prototype.hasOwnProperty.call(source, key2)) { - target[key2] = source[key2]; + if (typeof document === "undefined") { + throw new Error("`feather.replace()` only works in a browser environment."); } + var elementsToReplace = document.querySelectorAll("[data-feather]"); + Array.from(elementsToReplace).forEach(function(element2) { + return replaceElement(element2, attrs); + }); } + function replaceElement(element2) { + var attrs = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; + var elementAttrs = getAttrs(element2); + var name = elementAttrs["data-feather"]; + delete elementAttrs["data-feather"]; + var svgString = _icons2.default[name].toSvg(_extends({}, attrs, elementAttrs, { class: (0, _dedupe2.default)(attrs.class, elementAttrs.class) })); + var svgDocument = new DOMParser().parseFromString(svgString, "image/svg+xml"); + var svgElement = svgDocument.querySelector("svg"); + element2.parentNode.replaceChild(svgElement, element2); + } + function getAttrs(element2) { + return Array.from(element2.attributes).reduce(function(attrs, attr2) { + attrs[attr2.name] = attr2.value; + return attrs; + }, {}); + } + exports2.default = replace; } - return target; - }; - var _dedupe = __webpack_require__("./node_modules/classnames/dedupe.js"); - var _dedupe2 = _interopRequireDefault(_dedupe); - var _icons = __webpack_require__("./src/icons.js"); - var _icons2 = _interopRequireDefault(_icons); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } - function replace() { - var attrs = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; - if (typeof document === "undefined") { - throw new Error("`feather.replace()` only works in a browser environment."); + ), + /***/ + "./src/tags.json": ( + /*!***********************!*\ + !*** ./src/tags.json ***! + \***********************/ + /*! exports provided: activity, airplay, alert-circle, alert-octagon, alert-triangle, align-center, align-justify, align-left, align-right, anchor, archive, at-sign, award, aperture, bar-chart, bar-chart-2, battery, battery-charging, bell, bell-off, bluetooth, book-open, book, bookmark, box, briefcase, calendar, camera, cast, chevron-down, chevron-up, circle, clipboard, clock, cloud-drizzle, cloud-lightning, cloud-rain, cloud-snow, cloud, codepen, codesandbox, code, coffee, columns, command, compass, copy, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, cpu, credit-card, crop, crosshair, database, delete, disc, dollar-sign, droplet, edit, edit-2, edit-3, eye, eye-off, external-link, facebook, fast-forward, figma, file-minus, file-plus, file-text, film, filter, flag, folder-minus, folder-plus, folder, framer, frown, gift, git-branch, git-commit, git-merge, git-pull-request, github, gitlab, globe, hard-drive, hash, headphones, heart, help-circle, hexagon, home, image, inbox, instagram, key, layers, layout, life-bouy, link, link-2, linkedin, list, lock, log-in, log-out, mail, map-pin, map, maximize, maximize-2, meh, menu, message-circle, message-square, mic-off, mic, minimize, minimize-2, minus, monitor, moon, more-horizontal, more-vertical, mouse-pointer, move, music, navigation, navigation-2, octagon, package, paperclip, pause, pause-circle, pen-tool, percent, phone-call, phone-forwarded, phone-incoming, phone-missed, phone-off, phone-outgoing, phone, play, pie-chart, play-circle, plus, plus-circle, plus-square, pocket, power, printer, radio, refresh-cw, refresh-ccw, repeat, rewind, rotate-ccw, rotate-cw, rss, save, scissors, search, send, settings, share-2, shield, shield-off, shopping-bag, shopping-cart, shuffle, skip-back, skip-forward, slack, slash, sliders, smartphone, smile, speaker, star, stop-circle, sun, sunrise, sunset, tablet, tag, target, terminal, thermometer, thumbs-down, thumbs-up, toggle-left, toggle-right, tool, trash, trash-2, triangle, truck, tv, twitch, twitter, type, umbrella, unlock, user-check, user-minus, user-plus, user-x, user, users, video-off, video, voicemail, volume, volume-1, volume-2, volume-x, watch, wifi-off, wifi, wind, x-circle, x-octagon, x-square, x, youtube, zap-off, zap, zoom-in, zoom-out, default */ + /***/ + function(module3) { + module3.exports = { "activity": ["pulse", "health", "action", "motion"], "airplay": ["stream", "cast", "mirroring"], "alert-circle": ["warning", "alert", "danger"], "alert-octagon": ["warning", "alert", "danger"], "alert-triangle": ["warning", "alert", "danger"], "align-center": ["text alignment", "center"], "align-justify": ["text alignment", "justified"], "align-left": ["text alignment", "left"], "align-right": ["text alignment", "right"], "anchor": [], "archive": ["index", "box"], "at-sign": ["mention", "at", "email", "message"], "award": ["achievement", "badge"], "aperture": ["camera", "photo"], "bar-chart": ["statistics", "diagram", "graph"], "bar-chart-2": ["statistics", "diagram", "graph"], "battery": ["power", "electricity"], "battery-charging": ["power", "electricity"], "bell": ["alarm", "notification", "sound"], "bell-off": ["alarm", "notification", "silent"], "bluetooth": ["wireless"], "book-open": ["read", "library"], "book": ["read", "dictionary", "booklet", "magazine", "library"], "bookmark": ["read", "clip", "marker", "tag"], "box": ["cube"], "briefcase": ["work", "bag", "baggage", "folder"], "calendar": ["date"], "camera": ["photo"], "cast": ["chromecast", "airplay"], "chevron-down": ["expand"], "chevron-up": ["collapse"], "circle": ["off", "zero", "record"], "clipboard": ["copy"], "clock": ["time", "watch", "alarm"], "cloud-drizzle": ["weather", "shower"], "cloud-lightning": ["weather", "bolt"], "cloud-rain": ["weather"], "cloud-snow": ["weather", "blizzard"], "cloud": ["weather"], "codepen": ["logo"], "codesandbox": ["logo"], "code": ["source", "programming"], "coffee": ["drink", "cup", "mug", "tea", "cafe", "hot", "beverage"], "columns": ["layout"], "command": ["keyboard", "cmd", "terminal", "prompt"], "compass": ["navigation", "safari", "travel", "direction"], "copy": ["clone", "duplicate"], "corner-down-left": ["arrow", "return"], "corner-down-right": ["arrow"], "corner-left-down": ["arrow"], "corner-left-up": ["arrow"], "corner-right-down": ["arrow"], "corner-right-up": ["arrow"], "corner-up-left": ["arrow"], "corner-up-right": ["arrow"], "cpu": ["processor", "technology"], "credit-card": ["purchase", "payment", "cc"], "crop": ["photo", "image"], "crosshair": ["aim", "target"], "database": ["storage", "memory"], "delete": ["remove"], "disc": ["album", "cd", "dvd", "music"], "dollar-sign": ["currency", "money", "payment"], "droplet": ["water"], "edit": ["pencil", "change"], "edit-2": ["pencil", "change"], "edit-3": ["pencil", "change"], "eye": ["view", "watch"], "eye-off": ["view", "watch", "hide", "hidden"], "external-link": ["outbound"], "facebook": ["logo", "social"], "fast-forward": ["music"], "figma": ["logo", "design", "tool"], "file-minus": ["delete", "remove", "erase"], "file-plus": ["add", "create", "new"], "file-text": ["data", "txt", "pdf"], "film": ["movie", "video"], "filter": ["funnel", "hopper"], "flag": ["report"], "folder-minus": ["directory"], "folder-plus": ["directory"], "folder": ["directory"], "framer": ["logo", "design", "tool"], "frown": ["emoji", "face", "bad", "sad", "emotion"], "gift": ["present", "box", "birthday", "party"], "git-branch": ["code", "version control"], "git-commit": ["code", "version control"], "git-merge": ["code", "version control"], "git-pull-request": ["code", "version control"], "github": ["logo", "version control"], "gitlab": ["logo", "version control"], "globe": ["world", "browser", "language", "translate"], "hard-drive": ["computer", "server", "memory", "data"], "hash": ["hashtag", "number", "pound"], "headphones": ["music", "audio", "sound"], "heart": ["like", "love", "emotion"], "help-circle": ["question mark"], "hexagon": ["shape", "node.js", "logo"], "home": ["house", "living"], "image": ["picture"], "inbox": ["email"], "instagram": ["logo", "camera"], "key": ["password", "login", "authentication", "secure"], "layers": ["stack"], "layout": ["window", "webpage"], "life-bouy": ["help", "life ring", "support"], "link": ["chain", "url"], "link-2": ["chain", "url"], "linkedin": ["logo", "social media"], "list": ["options"], "lock": ["security", "password", "secure"], "log-in": ["sign in", "arrow", "enter"], "log-out": ["sign out", "arrow", "exit"], "mail": ["email", "message"], "map-pin": ["location", "navigation", "travel", "marker"], "map": ["location", "navigation", "travel"], "maximize": ["fullscreen"], "maximize-2": ["fullscreen", "arrows", "expand"], "meh": ["emoji", "face", "neutral", "emotion"], "menu": ["bars", "navigation", "hamburger"], "message-circle": ["comment", "chat"], "message-square": ["comment", "chat"], "mic-off": ["record", "sound", "mute"], "mic": ["record", "sound", "listen"], "minimize": ["exit fullscreen", "close"], "minimize-2": ["exit fullscreen", "arrows", "close"], "minus": ["subtract"], "monitor": ["tv", "screen", "display"], "moon": ["dark", "night"], "more-horizontal": ["ellipsis"], "more-vertical": ["ellipsis"], "mouse-pointer": ["arrow", "cursor"], "move": ["arrows"], "music": ["note"], "navigation": ["location", "travel"], "navigation-2": ["location", "travel"], "octagon": ["stop"], "package": ["box", "container"], "paperclip": ["attachment"], "pause": ["music", "stop"], "pause-circle": ["music", "audio", "stop"], "pen-tool": ["vector", "drawing"], "percent": ["discount"], "phone-call": ["ring"], "phone-forwarded": ["call"], "phone-incoming": ["call"], "phone-missed": ["call"], "phone-off": ["call", "mute"], "phone-outgoing": ["call"], "phone": ["call"], "play": ["music", "start"], "pie-chart": ["statistics", "diagram"], "play-circle": ["music", "start"], "plus": ["add", "new"], "plus-circle": ["add", "new"], "plus-square": ["add", "new"], "pocket": ["logo", "save"], "power": ["on", "off"], "printer": ["fax", "office", "device"], "radio": ["signal"], "refresh-cw": ["synchronise", "arrows"], "refresh-ccw": ["arrows"], "repeat": ["loop", "arrows"], "rewind": ["music"], "rotate-ccw": ["arrow"], "rotate-cw": ["arrow"], "rss": ["feed", "subscribe"], "save": ["floppy disk"], "scissors": ["cut"], "search": ["find", "magnifier", "magnifying glass"], "send": ["message", "mail", "email", "paper airplane", "paper aeroplane"], "settings": ["cog", "edit", "gear", "preferences"], "share-2": ["network", "connections"], "shield": ["security", "secure"], "shield-off": ["security", "insecure"], "shopping-bag": ["ecommerce", "cart", "purchase", "store"], "shopping-cart": ["ecommerce", "cart", "purchase", "store"], "shuffle": ["music"], "skip-back": ["music"], "skip-forward": ["music"], "slack": ["logo"], "slash": ["ban", "no"], "sliders": ["settings", "controls"], "smartphone": ["cellphone", "device"], "smile": ["emoji", "face", "happy", "good", "emotion"], "speaker": ["audio", "music"], "star": ["bookmark", "favorite", "like"], "stop-circle": ["media", "music"], "sun": ["brightness", "weather", "light"], "sunrise": ["weather", "time", "morning", "day"], "sunset": ["weather", "time", "evening", "night"], "tablet": ["device"], "tag": ["label"], "target": ["logo", "bullseye"], "terminal": ["code", "command line", "prompt"], "thermometer": ["temperature", "celsius", "fahrenheit", "weather"], "thumbs-down": ["dislike", "bad", "emotion"], "thumbs-up": ["like", "good", "emotion"], "toggle-left": ["on", "off", "switch"], "toggle-right": ["on", "off", "switch"], "tool": ["settings", "spanner"], "trash": ["garbage", "delete", "remove", "bin"], "trash-2": ["garbage", "delete", "remove", "bin"], "triangle": ["delta"], "truck": ["delivery", "van", "shipping", "transport", "lorry"], "tv": ["television", "stream"], "twitch": ["logo"], "twitter": ["logo", "social"], "type": ["text"], "umbrella": ["rain", "weather"], "unlock": ["security"], "user-check": ["followed", "subscribed"], "user-minus": ["delete", "remove", "unfollow", "unsubscribe"], "user-plus": ["new", "add", "create", "follow", "subscribe"], "user-x": ["delete", "remove", "unfollow", "unsubscribe", "unavailable"], "user": ["person", "account"], "users": ["group"], "video-off": ["camera", "movie", "film"], "video": ["camera", "movie", "film"], "voicemail": ["phone"], "volume": ["music", "sound", "mute"], "volume-1": ["music", "sound"], "volume-2": ["music", "sound"], "volume-x": ["music", "sound", "mute"], "watch": ["clock", "time"], "wifi-off": ["disabled"], "wifi": ["connection", "signal", "wireless"], "wind": ["weather", "air"], "x-circle": ["cancel", "close", "delete", "remove", "times", "clear"], "x-octagon": ["delete", "stop", "alert", "warning", "times", "clear"], "x-square": ["cancel", "close", "delete", "remove", "times", "clear"], "x": ["cancel", "close", "delete", "remove", "times", "clear"], "youtube": ["logo", "video", "play"], "zap-off": ["flash", "camera", "lightning"], "zap": ["flash", "camera", "lightning"], "zoom-in": ["magnifying glass"], "zoom-out": ["magnifying glass"] }; } - var elementsToReplace = document.querySelectorAll("[data-feather]"); - Array.from(elementsToReplace).forEach(function(element2) { - return replaceElement(element2, attrs); - }); - } - function replaceElement(element2) { - var attrs = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; - var elementAttrs = getAttrs(element2); - var name = elementAttrs["data-feather"]; - delete elementAttrs["data-feather"]; - var svgString = _icons2.default[name].toSvg(_extends({}, attrs, elementAttrs, { class: (0, _dedupe2.default)(attrs.class, elementAttrs.class) })); - var svgDocument = new DOMParser().parseFromString(svgString, "image/svg+xml"); - var svgElement = svgDocument.querySelector("svg"); - element2.parentNode.replaceChild(svgElement, element2); - } - function getAttrs(element2) { - return Array.from(element2.attributes).reduce(function(attrs, attr2) { - attrs[attr2.name] = attr2.value; - return attrs; - }, {}); - } - exports2.default = replace; - }, - "./src/tags.json": function(module3) { - module3.exports = { "activity": ["pulse", "health", "action", "motion"], "airplay": ["stream", "cast", "mirroring"], "alert-circle": ["warning", "alert", "danger"], "alert-octagon": ["warning", "alert", "danger"], "alert-triangle": ["warning", "alert", "danger"], "align-center": ["text alignment", "center"], "align-justify": ["text alignment", "justified"], "align-left": ["text alignment", "left"], "align-right": ["text alignment", "right"], "anchor": [], "archive": ["index", "box"], "at-sign": ["mention", "at", "email", "message"], "award": ["achievement", "badge"], "aperture": ["camera", "photo"], "bar-chart": ["statistics", "diagram", "graph"], "bar-chart-2": ["statistics", "diagram", "graph"], "battery": ["power", "electricity"], "battery-charging": ["power", "electricity"], "bell": ["alarm", "notification", "sound"], "bell-off": ["alarm", "notification", "silent"], "bluetooth": ["wireless"], "book-open": ["read", "library"], "book": ["read", "dictionary", "booklet", "magazine", "library"], "bookmark": ["read", "clip", "marker", "tag"], "box": ["cube"], "briefcase": ["work", "bag", "baggage", "folder"], "calendar": ["date"], "camera": ["photo"], "cast": ["chromecast", "airplay"], "chevron-down": ["expand"], "chevron-up": ["collapse"], "circle": ["off", "zero", "record"], "clipboard": ["copy"], "clock": ["time", "watch", "alarm"], "cloud-drizzle": ["weather", "shower"], "cloud-lightning": ["weather", "bolt"], "cloud-rain": ["weather"], "cloud-snow": ["weather", "blizzard"], "cloud": ["weather"], "codepen": ["logo"], "codesandbox": ["logo"], "code": ["source", "programming"], "coffee": ["drink", "cup", "mug", "tea", "cafe", "hot", "beverage"], "columns": ["layout"], "command": ["keyboard", "cmd", "terminal", "prompt"], "compass": ["navigation", "safari", "travel", "direction"], "copy": ["clone", "duplicate"], "corner-down-left": ["arrow", "return"], "corner-down-right": ["arrow"], "corner-left-down": ["arrow"], "corner-left-up": ["arrow"], "corner-right-down": ["arrow"], "corner-right-up": ["arrow"], "corner-up-left": ["arrow"], "corner-up-right": ["arrow"], "cpu": ["processor", "technology"], "credit-card": ["purchase", "payment", "cc"], "crop": ["photo", "image"], "crosshair": ["aim", "target"], "database": ["storage", "memory"], "delete": ["remove"], "disc": ["album", "cd", "dvd", "music"], "dollar-sign": ["currency", "money", "payment"], "droplet": ["water"], "edit": ["pencil", "change"], "edit-2": ["pencil", "change"], "edit-3": ["pencil", "change"], "eye": ["view", "watch"], "eye-off": ["view", "watch", "hide", "hidden"], "external-link": ["outbound"], "facebook": ["logo", "social"], "fast-forward": ["music"], "figma": ["logo", "design", "tool"], "file-minus": ["delete", "remove", "erase"], "file-plus": ["add", "create", "new"], "file-text": ["data", "txt", "pdf"], "film": ["movie", "video"], "filter": ["funnel", "hopper"], "flag": ["report"], "folder-minus": ["directory"], "folder-plus": ["directory"], "folder": ["directory"], "framer": ["logo", "design", "tool"], "frown": ["emoji", "face", "bad", "sad", "emotion"], "gift": ["present", "box", "birthday", "party"], "git-branch": ["code", "version control"], "git-commit": ["code", "version control"], "git-merge": ["code", "version control"], "git-pull-request": ["code", "version control"], "github": ["logo", "version control"], "gitlab": ["logo", "version control"], "globe": ["world", "browser", "language", "translate"], "hard-drive": ["computer", "server", "memory", "data"], "hash": ["hashtag", "number", "pound"], "headphones": ["music", "audio", "sound"], "heart": ["like", "love", "emotion"], "help-circle": ["question mark"], "hexagon": ["shape", "node.js", "logo"], "home": ["house", "living"], "image": ["picture"], "inbox": ["email"], "instagram": ["logo", "camera"], "key": ["password", "login", "authentication", "secure"], "layers": ["stack"], "layout": ["window", "webpage"], "life-bouy": ["help", "life ring", "support"], "link": ["chain", "url"], "link-2": ["chain", "url"], "linkedin": ["logo", "social media"], "list": ["options"], "lock": ["security", "password", "secure"], "log-in": ["sign in", "arrow", "enter"], "log-out": ["sign out", "arrow", "exit"], "mail": ["email", "message"], "map-pin": ["location", "navigation", "travel", "marker"], "map": ["location", "navigation", "travel"], "maximize": ["fullscreen"], "maximize-2": ["fullscreen", "arrows", "expand"], "meh": ["emoji", "face", "neutral", "emotion"], "menu": ["bars", "navigation", "hamburger"], "message-circle": ["comment", "chat"], "message-square": ["comment", "chat"], "mic-off": ["record", "sound", "mute"], "mic": ["record", "sound", "listen"], "minimize": ["exit fullscreen", "close"], "minimize-2": ["exit fullscreen", "arrows", "close"], "minus": ["subtract"], "monitor": ["tv", "screen", "display"], "moon": ["dark", "night"], "more-horizontal": ["ellipsis"], "more-vertical": ["ellipsis"], "mouse-pointer": ["arrow", "cursor"], "move": ["arrows"], "music": ["note"], "navigation": ["location", "travel"], "navigation-2": ["location", "travel"], "octagon": ["stop"], "package": ["box", "container"], "paperclip": ["attachment"], "pause": ["music", "stop"], "pause-circle": ["music", "audio", "stop"], "pen-tool": ["vector", "drawing"], "percent": ["discount"], "phone-call": ["ring"], "phone-forwarded": ["call"], "phone-incoming": ["call"], "phone-missed": ["call"], "phone-off": ["call", "mute"], "phone-outgoing": ["call"], "phone": ["call"], "play": ["music", "start"], "pie-chart": ["statistics", "diagram"], "play-circle": ["music", "start"], "plus": ["add", "new"], "plus-circle": ["add", "new"], "plus-square": ["add", "new"], "pocket": ["logo", "save"], "power": ["on", "off"], "printer": ["fax", "office", "device"], "radio": ["signal"], "refresh-cw": ["synchronise", "arrows"], "refresh-ccw": ["arrows"], "repeat": ["loop", "arrows"], "rewind": ["music"], "rotate-ccw": ["arrow"], "rotate-cw": ["arrow"], "rss": ["feed", "subscribe"], "save": ["floppy disk"], "scissors": ["cut"], "search": ["find", "magnifier", "magnifying glass"], "send": ["message", "mail", "email", "paper airplane", "paper aeroplane"], "settings": ["cog", "edit", "gear", "preferences"], "share-2": ["network", "connections"], "shield": ["security", "secure"], "shield-off": ["security", "insecure"], "shopping-bag": ["ecommerce", "cart", "purchase", "store"], "shopping-cart": ["ecommerce", "cart", "purchase", "store"], "shuffle": ["music"], "skip-back": ["music"], "skip-forward": ["music"], "slack": ["logo"], "slash": ["ban", "no"], "sliders": ["settings", "controls"], "smartphone": ["cellphone", "device"], "smile": ["emoji", "face", "happy", "good", "emotion"], "speaker": ["audio", "music"], "star": ["bookmark", "favorite", "like"], "stop-circle": ["media", "music"], "sun": ["brightness", "weather", "light"], "sunrise": ["weather", "time", "morning", "day"], "sunset": ["weather", "time", "evening", "night"], "tablet": ["device"], "tag": ["label"], "target": ["logo", "bullseye"], "terminal": ["code", "command line", "prompt"], "thermometer": ["temperature", "celsius", "fahrenheit", "weather"], "thumbs-down": ["dislike", "bad", "emotion"], "thumbs-up": ["like", "good", "emotion"], "toggle-left": ["on", "off", "switch"], "toggle-right": ["on", "off", "switch"], "tool": ["settings", "spanner"], "trash": ["garbage", "delete", "remove", "bin"], "trash-2": ["garbage", "delete", "remove", "bin"], "triangle": ["delta"], "truck": ["delivery", "van", "shipping", "transport", "lorry"], "tv": ["television", "stream"], "twitch": ["logo"], "twitter": ["logo", "social"], "type": ["text"], "umbrella": ["rain", "weather"], "unlock": ["security"], "user-check": ["followed", "subscribed"], "user-minus": ["delete", "remove", "unfollow", "unsubscribe"], "user-plus": ["new", "add", "create", "follow", "subscribe"], "user-x": ["delete", "remove", "unfollow", "unsubscribe", "unavailable"], "user": ["person", "account"], "users": ["group"], "video-off": ["camera", "movie", "film"], "video": ["camera", "movie", "film"], "voicemail": ["phone"], "volume": ["music", "sound", "mute"], "volume-1": ["music", "sound"], "volume-2": ["music", "sound"], "volume-x": ["music", "sound", "mute"], "watch": ["clock", "time"], "wifi-off": ["disabled"], "wifi": ["connection", "signal", "wireless"], "wind": ["weather", "air"], "x-circle": ["cancel", "close", "delete", "remove", "times", "clear"], "x-octagon": ["delete", "stop", "alert", "warning", "times", "clear"], "x-square": ["cancel", "close", "delete", "remove", "times", "clear"], "x": ["cancel", "close", "delete", "remove", "times", "clear"], "youtube": ["logo", "video", "play"], "zap-off": ["flash", "camera", "lightning"], "zap": ["flash", "camera", "lightning"], "zoom-in": ["magnifying glass"], "zoom-out": ["magnifying glass"] }; - }, - "./src/to-svg.js": function(module3, exports2, __webpack_require__) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var _icons = __webpack_require__("./src/icons.js"); - var _icons2 = _interopRequireDefault(_icons); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } - function toSvg(name) { - var attrs = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; - console.warn("feather.toSvg() is deprecated. Please use feather.icons[name].toSvg() instead."); - if (!name) { - throw new Error("The required `key` (icon name) parameter is missing."); + ), + /***/ + "./src/to-svg.js": ( + /*!***********************!*\ + !*** ./src/to-svg.js ***! + \***********************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + var _icons = __webpack_require__( + /*! ./icons */ + "./src/icons.js" + ); + var _icons2 = _interopRequireDefault(_icons); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { default: obj }; + } + function toSvg(name) { + var attrs = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; + console.warn("feather.toSvg() is deprecated. Please use feather.icons[name].toSvg() instead."); + if (!name) { + throw new Error("The required `key` (icon name) parameter is missing."); + } + if (!_icons2.default[name]) { + throw new Error("No icon matching '" + name + "'. See the complete list of icons at https://feathericons.com"); + } + return _icons2.default[name].toSvg(attrs); + } + exports2.default = toSvg; } - if (!_icons2.default[name]) { - throw new Error("No icon matching '" + name + "'. See the complete list of icons at https://feathericons.com"); + ), + /***/ + 0: ( + /*!**************************************************!*\ + !*** multi core-js/es/array/from ./src/index.js ***! + \**************************************************/ + /*! no static exports found */ + /***/ + function(module3, exports2, __webpack_require__) { + __webpack_require__( + /*! core-js/es/array/from */ + "./node_modules/core-js/es/array/from.js" + ); + module3.exports = __webpack_require__( + /*! /home/runner/work/feather/feather/src/index.js */ + "./src/index.js" + ); } - return _icons2.default[name].toSvg(attrs); - } - exports2.default = toSvg; - }, - 0: function(module3, exports2, __webpack_require__) { - __webpack_require__("./node_modules/core-js/es/array/from.js"); - module3.exports = __webpack_require__("./src/index.js"); - } - }); + ) + /******/ + }) + ); }); } }); // src/main.ts -__export(exports, { +var main_exports = {}; +__export(main_exports, { default: () => ObsidianGit }); +module.exports = __toCommonJS(main_exports); init_polyfill_buffer(); -// node_modules/.pnpm/isomorphic-git@1.21.0/node_modules/isomorphic-git/index.js +// node_modules/.pnpm/isomorphic-git@1.23.0/node_modules/isomorphic-git/index.js init_polyfill_buffer(); -var import_async_lock = __toModule(require_async_lock()); -var import_sha1 = __toModule(require_sha1()); -var import_crc_32 = __toModule(require_crc32()); -var import_pako = __toModule(require_pako()); -var import_ignore = __toModule(require_ignore()); -var import_pify = __toModule(require_pify()); -var import_clean_git_ref = __toModule(require_lib2()); -var import_diff3 = __toModule(require_diff3()); +var import_async_lock = __toESM(require_async_lock(), 1); +var import_sha1 = __toESM(require_sha1(), 1); +var import_crc_32 = __toESM(require_crc32(), 1); +var import_pako = __toESM(require_pako(), 1); +var import_pify = __toESM(require_pify(), 1); +var import_ignore = __toESM(require_ignore(), 1); +var import_clean_git_ref = __toESM(require_lib2(), 1); +var import_diff3 = __toESM(require_diff3(), 1); var BaseError = class extends Error { constructor(message) { super(message); @@ -9839,15 +11370,36 @@ var BaseError = class extends Error { return true; } }; +var UnmergedPathsError = class extends BaseError { + /** + * @param {Array} filepaths + */ + constructor(filepaths) { + super( + `Modifying the index is not possible because you have unmerged files: ${filepaths.toString}. Fix them up in the work tree, and then use 'git add/rm as appropriate to mark resolution and make a commit.` + ); + this.code = this.name = UnmergedPathsError.code; + this.data = { filepaths }; + } +}; +UnmergedPathsError.code = "UnmergedPathsError"; var InternalError = class extends BaseError { + /** + * @param {string} message + */ constructor(message) { - super(`An internal error caused this command to fail. Please file a bug report at https://github.com/isomorphic-git/isomorphic-git/issues with this error message: ${message}`); + super( + `An internal error caused this command to fail. Please file a bug report at https://github.com/isomorphic-git/isomorphic-git/issues with this error message: ${message}` + ); this.code = this.name = InternalError.code; this.data = { message }; } }; InternalError.code = "InternalError"; var UnsafeFilepathError = class extends BaseError { + /** + * @param {string} filepath + */ constructor(filepath) { super(`The filepath "${filepath}" contains unsafe character sequences`); this.code = this.name = UnsafeFilepathError.code; @@ -9954,8 +11506,18 @@ function SecondsNanoseconds(givenSeconds, givenNanoseconds, milliseconds, date) return [seconds, nanoseconds]; } function normalizeStats(e) { - const [ctimeSeconds, ctimeNanoseconds] = SecondsNanoseconds(e.ctimeSeconds, e.ctimeNanoseconds, e.ctimeMs, e.ctime); - const [mtimeSeconds, mtimeNanoseconds] = SecondsNanoseconds(e.mtimeSeconds, e.mtimeNanoseconds, e.mtimeMs, e.mtime); + const [ctimeSeconds, ctimeNanoseconds] = SecondsNanoseconds( + e.ctimeSeconds, + e.ctimeNanoseconds, + e.ctimeMs, + e.ctime + ); + const [mtimeSeconds, mtimeNanoseconds] = SecondsNanoseconds( + e.mtimeSeconds, + e.mtimeNanoseconds, + e.mtimeMs, + e.mtime + ); return { ctimeSeconds: ctimeSeconds % MAX_UINT32, ctimeNanoseconds: ctimeNanoseconds % MAX_UINT32, @@ -9966,6 +11528,8 @@ function normalizeStats(e) { mode: normalizeMode(e.mode % MAX_UINT32), uid: e.uid % MAX_UINT32, gid: e.gid % MAX_UINT32, + // size of -1 happens over a BrowserFS HTTP Backend that doesn't serve Content-Length headers + // (like the Karma webserver) because BrowserFS HTTP Backend uses HTTP HEAD requests to do fs.stat size: e.size > -1 ? e.size % MAX_UINT32 : 0 }; } @@ -10016,9 +11580,29 @@ function renderCacheEntryFlags(entry) { return (flags.assumeValid ? 32768 : 0) + (flags.extended ? 16384 : 0) + ((flags.stage & 3) << 12) + (flags.nameLength & 4095); } var GitIndex = class { - constructor(entries) { + /*:: + _entries: Map + _dirty: boolean // Used to determine if index needs to be saved to filesystem + */ + constructor(entries, unmergedPaths) { this._dirty = false; - this._entries = entries || new Map(); + this._unmergedPaths = unmergedPaths || /* @__PURE__ */ new Set(); + this._entries = entries || /* @__PURE__ */ new Map(); + } + _addEntry(entry) { + if (entry.flags.stage === 0) { + entry.stages = [entry]; + this._entries.set(entry.path, entry); + this._unmergedPaths.delete(entry.path); + } else { + let existingEntry = this._entries.get(entry.path); + if (!existingEntry) { + this._entries.set(entry.path, entry); + existingEntry = entry; + } + existingEntry.stages[entry.flags.stage] = entry; + this._unmergedPaths.add(entry.path); + } } static async from(buffer2) { if (Buffer2.isBuffer(buffer2)) { @@ -10033,10 +11617,12 @@ var GitIndex = class { const shaComputed = await shasum(buffer2.slice(0, -20)); const shaClaimed = buffer2.slice(-20).toString("hex"); if (shaClaimed !== shaComputed) { - throw new InternalError(`Invalid checksum in GitIndex buffer: expected ${shaClaimed} but saw ${shaComputed}`); + throw new InternalError( + `Invalid checksum in GitIndex buffer: expected ${shaClaimed} but saw ${shaComputed}` + ); } + const index2 = new GitIndex(); const reader = new BufferCursor(buffer2); - const _entries = new Map(); const magic = reader.toString("utf8", 4); if (magic !== "DIRC") { throw new InternalError(`Inavlid dircache magic file number: ${magic}`); @@ -10076,15 +11662,21 @@ var GitIndex = class { while (padding--) { const tmp = reader.readUInt8(); if (tmp !== 0) { - throw new InternalError(`Expected 1-8 null characters but got '${tmp}' after ${entry.path}`); + throw new InternalError( + `Expected 1-8 null characters but got '${tmp}' after ${entry.path}` + ); } else if (reader.eof()) { throw new InternalError("Unexpected end of file"); } } - _entries.set(entry.path, entry); + entry.stages = []; + index2._addEntry(entry); i++; } - return new GitIndex(_entries); + return index2; + } + get unmergedPaths() { + return [...this._unmergedPaths]; } get entries() { return [...this._entries.values()].sort(comparePath); @@ -10092,12 +11684,31 @@ var GitIndex = class { get entriesMap() { return this._entries; } + get entriesFlat() { + return [...this.entries].flatMap((entry) => { + return entry.stages.length > 1 ? entry.stages.filter((x) => x) : entry; + }); + } *[Symbol.iterator]() { for (const entry of this.entries) { yield entry; } } - insert({ filepath, stats, oid }) { + insert({ filepath, stats, oid, stage = 0 }) { + if (!stats) { + stats = { + ctimeSeconds: 0, + ctimeNanoseconds: 0, + mtimeSeconds: 0, + mtimeNanoseconds: 0, + dev: 0, + ino: 0, + mode: 0, + uid: 0, + gid: 0, + size: 0 + }; + } stats = normalizeStats(stats); const bfilepath = Buffer2.from(filepath); const entry = { @@ -10107,6 +11718,9 @@ var GitIndex = class { mtimeNanoseconds: stats.mtimeNanoseconds, dev: stats.dev, ino: stats.ino, + // We provide a fallback value for `mode` here because not all fs + // implementations assign it, but we use it in GitTree. + // '100644' is for a "regular non-executable file" mode: stats.mode || 33188, uid: stats.uid, gid: stats.gid, @@ -10116,11 +11730,12 @@ var GitIndex = class { flags: { assumeValid: false, extended: false, - stage: 0, + stage, nameLength: bfilepath.length < 4095 ? bfilepath.length : 4095 - } + }, + stages: [] }; - this._entries.set(entry.path, entry); + this._addEntry(entry); this._dirty = true; } delete({ filepath }) { @@ -10133,6 +11748,9 @@ var GitIndex = class { } } } + if (this._unmergedPaths.has(filepath)) { + this._unmergedPaths.delete(filepath); + } this._dirty = true; } clear() { @@ -10145,33 +11763,46 @@ var GitIndex = class { render() { return this.entries.map((entry) => `${entry.mode.toString(8)} ${entry.oid} ${entry.path}`).join("\n"); } + static async _entryToBuffer(entry) { + const bpath = Buffer2.from(entry.path); + const length = Math.ceil((62 + bpath.length + 1) / 8) * 8; + const written = Buffer2.alloc(length); + const writer = new BufferCursor(written); + const stat = normalizeStats(entry); + writer.writeUInt32BE(stat.ctimeSeconds); + writer.writeUInt32BE(stat.ctimeNanoseconds); + writer.writeUInt32BE(stat.mtimeSeconds); + writer.writeUInt32BE(stat.mtimeNanoseconds); + writer.writeUInt32BE(stat.dev); + writer.writeUInt32BE(stat.ino); + writer.writeUInt32BE(stat.mode); + writer.writeUInt32BE(stat.uid); + writer.writeUInt32BE(stat.gid); + writer.writeUInt32BE(stat.size); + writer.write(entry.oid, 20, "hex"); + writer.writeUInt16BE(renderCacheEntryFlags(entry)); + writer.write(entry.path, bpath.length, "utf8"); + return written; + } async toObject() { const header = Buffer2.alloc(12); const writer = new BufferCursor(header); writer.write("DIRC", 4, "utf8"); writer.writeUInt32BE(2); - writer.writeUInt32BE(this.entries.length); - const body = Buffer2.concat(this.entries.map((entry) => { - const bpath = Buffer2.from(entry.path); - const length = Math.ceil((62 + bpath.length + 1) / 8) * 8; - const written = Buffer2.alloc(length); - const writer2 = new BufferCursor(written); - const stat = normalizeStats(entry); - writer2.writeUInt32BE(stat.ctimeSeconds); - writer2.writeUInt32BE(stat.ctimeNanoseconds); - writer2.writeUInt32BE(stat.mtimeSeconds); - writer2.writeUInt32BE(stat.mtimeNanoseconds); - writer2.writeUInt32BE(stat.dev); - writer2.writeUInt32BE(stat.ino); - writer2.writeUInt32BE(stat.mode); - writer2.writeUInt32BE(stat.uid); - writer2.writeUInt32BE(stat.gid); - writer2.writeUInt32BE(stat.size); - writer2.write(entry.oid, 20, "hex"); - writer2.writeUInt16BE(renderCacheEntryFlags(entry)); - writer2.write(entry.path, bpath.length, "utf8"); - return written; - })); + writer.writeUInt32BE(this.entriesFlat.length); + let entryBuffers = []; + for (const entry of this.entries) { + entryBuffers.push(GitIndex._entryToBuffer(entry)); + if (entry.stages.length > 1) { + for (const stage of entry.stages) { + if (stage && stage !== entry) { + entryBuffers.push(GitIndex._entryToBuffer(stage)); + } + } + } + } + entryBuffers = await Promise.all(entryBuffers); + const body = Buffer2.concat(entryBuffers); const main = Buffer2.concat([header, body]); const sum = await shasum(main); return Buffer2.concat([main, Buffer2.from(sum, "hex")]); @@ -10187,8 +11818,8 @@ var lock = null; var IndexCache = Symbol("IndexCache"); function createCache() { return { - map: new Map(), - stats: new Map() + map: /* @__PURE__ */ new Map(), + stats: /* @__PURE__ */ new Map() }; } async function updateCachedIndexFile(fs, filepath, cache) { @@ -10210,18 +11841,31 @@ async function isIndexStale(fs, filepath, cache) { return compareStats(savedStats, currStats); } var GitIndexManager = class { - static async acquire({ fs, gitdir, cache }, closure) { + /** + * + * @param {object} opts + * @param {import('../models/FileSystem.js').FileSystem} opts.fs + * @param {string} opts.gitdir + * @param {object} opts.cache + * @param {bool} opts.allowUnmerged + * @param {function(GitIndex): any} closure + */ + static async acquire({ fs, gitdir, cache, allowUnmerged = true }, closure) { if (!cache[IndexCache]) cache[IndexCache] = createCache(); const filepath = `${gitdir}/index`; if (lock === null) lock = new import_async_lock.default({ maxPending: Infinity }); let result; + let unmergedPaths = []; await lock.acquire(filepath, async () => { if (await isIndexStale(fs, filepath, cache[IndexCache])) { await updateCachedIndexFile(fs, filepath, cache[IndexCache]); } const index2 = cache[IndexCache].map.get(filepath); + unmergedPaths = index2.unmergedPaths; + if (unmergedPaths.length && !allowUnmerged) + throw new UnmergedPathsError(unmergedPaths); result = await closure(index2); if (index2._dirty) { const buffer2 = await index2.toObject(); @@ -10249,7 +11893,7 @@ function dirname(path2) { return path2.slice(0, last2); } function flatFileListToDirectoryStructure(files) { - const inodes = new Map(); + const inodes = /* @__PURE__ */ new Map(); const mkdir = function(name) { if (!inodes.has(name)) { const dir = { @@ -10273,6 +11917,7 @@ function flatFileListToDirectoryStructure(files) { fullpath: name, basename: basename(name), metadata, + // This recursively generates any missing parent folders. parent: mkdir(dirname(name)), children: [] }; @@ -10305,9 +11950,12 @@ function mode2type(mode) { } var GitWalkerIndex = class { constructor({ fs, gitdir, cache }) { - this.treePromise = GitIndexManager.acquire({ fs, gitdir, cache }, async function(index2) { - return flatFileListToDirectoryStructure(index2.entries); - }); + this.treePromise = GitIndexManager.acquire( + { fs, gitdir, cache }, + async function(index2) { + return flatFileListToDirectoryStructure(index2.entries); + } + ); const walker = this; this.ConstructEntry = class StageEntry { constructor(fullpath) { @@ -10366,7 +12014,9 @@ var GitWalkerIndex = class { const tree = await this.treePromise; const inode = tree.get(entry._fullpath); if (!inode) { - throw new Error(`ENOENT: no such file or directory, lstat '${entry._fullpath}'`); + throw new Error( + `ENOENT: no such file or directory, lstat '${entry._fullpath}'` + ); } const stats = inode.type === "tree" ? {} : normalizeStats(inode.metadata); entry._type = inode.type === "tree" ? "tree" : mode2type(stats.mode); @@ -10392,7 +12042,7 @@ var GitWalkerIndex = class { }; var GitWalkSymbol = Symbol("GitWalkSymbol"); function STAGE() { - const o = Object.create(null); + const o = /* @__PURE__ */ Object.create(null); Object.defineProperty(o, GitWalkSymbol, { value: function({ fs, gitdir, cache }) { return new GitWalkerIndex({ fs, gitdir, cache }); @@ -10402,6 +12052,9 @@ function STAGE() { return o; } var NotFoundError = class extends BaseError { + /** + * @param {string} what + */ constructor(what) { super(`Could not find ${what}.`); this.code = this.name = NotFoundError.code; @@ -10410,14 +12063,25 @@ var NotFoundError = class extends BaseError { }; NotFoundError.code = "NotFoundError"; var ObjectTypeError = class extends BaseError { + /** + * @param {string} oid + * @param {'blob'|'commit'|'tag'|'tree'} actual + * @param {'blob'|'commit'|'tag'|'tree'} expected + * @param {string} [filepath] + */ constructor(oid, actual, expected, filepath) { - super(`Object ${oid} ${filepath ? `at ${filepath}` : ""}was anticipated to be a ${expected} but it is a ${actual}.`); + super( + `Object ${oid} ${filepath ? `at ${filepath}` : ""}was anticipated to be a ${expected} but it is a ${actual}.` + ); this.code = this.name = ObjectTypeError.code; this.data = { oid, actual, expected, filepath }; } }; ObjectTypeError.code = "ObjectTypeError"; var InvalidOidError = class extends BaseError { + /** + * @param {string} value + */ constructor(value) { super(`Expected a 40-char hex object id but saw "${value}".`); this.code = this.name = InvalidOidError.code; @@ -10426,6 +12090,9 @@ var InvalidOidError = class extends BaseError { }; InvalidOidError.code = "InvalidOidError"; var NoRefspecError = class extends BaseError { + /** + * @param {string} remote + */ constructor(remote) { super(`Could not find a fetch refspec for remote "${remote}". Make sure the config file has an entry like the following: [remote "${remote}"] @@ -10438,7 +12105,7 @@ var NoRefspecError = class extends BaseError { NoRefspecError.code = "NoRefspecError"; var GitPackedRefs = class { constructor(text2) { - this.refs = new Map(); + this.refs = /* @__PURE__ */ new Map(); this.parsedConfig = []; if (text2) { let key2 = null; @@ -10598,7 +12265,9 @@ var bool = (val) => { return true; if (val === "false" || val === "no" || val === "off") return false; - throw Error(`Expected 'true', 'false', 'yes', 'no', 'on', or 'off', but got ${val}`); + throw Error( + `Expected 'true', 'false', 'yes', 'no', 'on', or 'off', but got ${val}` + ); }; var schema = { core: { @@ -10725,7 +12394,9 @@ var GitConfig = class { return this.parsedConfig.filter((config) => config.section === section && config.isSection).map((config) => config.subsection); } async deleteSection(section, subsection) { - this.parsedConfig = this.parsedConfig.filter((config) => !(config.section === section && config.subsection === subsection)); + this.parsedConfig = this.parsedConfig.filter( + (config) => !(config.section === section && config.subsection === subsection) + ); } async append(path2, value) { return this.set(path2, value, true); @@ -10738,7 +12409,10 @@ var GitConfig = class { path: normalizedPath, sectionPath } = normalizePath$1(path2); - const configIndex = findLastIndex(this.parsedConfig, (config) => config.path === normalizedPath); + const configIndex = findLastIndex( + this.parsedConfig, + (config) => config.path === normalizedPath + ); if (value == null) { if (configIndex !== -1) { this.parsedConfig.splice(configIndex, 1); @@ -10757,7 +12431,9 @@ var GitConfig = class { this.parsedConfig[configIndex] = modifiedConfig; } } else { - const sectionIndex = this.parsedConfig.findIndex((config) => config.path === sectionPath); + const sectionIndex = this.parsedConfig.findIndex( + (config) => config.path === sectionPath + ); const newConfig = { section, subsection, @@ -10846,7 +12522,7 @@ var GitRefManager = class { refspecs.unshift(`+HEAD:refs/remotes/${remote}/HEAD`); } const refspec = GitRefSpecSet.from(refspecs); - const actualRefsToWrite = new Map(); + const actualRefsToWrite = /* @__PURE__ */ new Map(); if (pruneTags) { const tags2 = await GitRefManager.listRefs({ fs, @@ -10906,6 +12582,7 @@ var GitRefManager = class { } return { pruned }; } + // TODO: make this less crude? static async writeRef({ fs, gitdir, ref, value }) { if (!value.match(/[0-9a-f]{40}/)) { throw new InvalidOidError(value); @@ -10935,6 +12612,14 @@ var GitRefManager = class { await fs.write(`${gitdir}/packed-refs`, text2, { encoding: "utf8" }); } } + /** + * @param {object} args + * @param {import('../models/FileSystem.js').FileSystem} args.fs + * @param {string} args.gitdir + * @param {string} args.ref + * @param {number} [args.depth] + * @returns {Promise} + */ static async resolve({ fs, gitdir, ref, depth = void 0 }) { if (depth !== void 0) { depth--; @@ -11023,6 +12708,7 @@ var GitRefManager = class { const packed = GitPackedRefs.from(text2); return packed.refs; } + // List all the refs that match the `filepath` prefix static async listRefs({ fs, gitdir, filepath }) { const packedMap = GitRefManager.packedRefs({ fs, gitdir }); let files = null; @@ -11090,11 +12776,15 @@ function parseBuffer(buffer2) { while (cursor < buffer2.length) { const space2 = buffer2.indexOf(32, cursor); if (space2 === -1) { - throw new InternalError(`GitTree: Error parsing buffer at byte location ${cursor}: Could not find the next space character.`); + throw new InternalError( + `GitTree: Error parsing buffer at byte location ${cursor}: Could not find the next space character.` + ); } const nullchar = buffer2.indexOf(0, cursor); if (nullchar === -1) { - throw new InternalError(`GitTree: Error parsing buffer at byte location ${cursor}: Could not find the next null character.`); + throw new InternalError( + `GitTree: Error parsing buffer at byte location ${cursor}: Could not find the next null character.` + ); } let mode = buffer2.slice(cursor, space2).toString("utf8"); if (mode === "40000") @@ -11156,15 +12846,20 @@ var GitTree = class { toObject() { const entries = [...this._entries]; entries.sort(compareTreeEntryPath); - return Buffer2.concat(entries.map((entry) => { - const mode = Buffer2.from(entry.mode.replace(/^0/, "")); - const space2 = Buffer2.from(" "); - const path2 = Buffer2.from(entry.path, "utf8"); - const nullchar = Buffer2.from([0]); - const oid = Buffer2.from(entry.oid, "hex"); - return Buffer2.concat([mode, space2, path2, nullchar, oid]); - })); + return Buffer2.concat( + entries.map((entry) => { + const mode = Buffer2.from(entry.mode.replace(/^0/, "")); + const space2 = Buffer2.from(" "); + const path2 = Buffer2.from(entry.path, "utf8"); + const nullchar = Buffer2.from([0]); + const oid = Buffer2.from(entry.oid, "hex"); + return Buffer2.concat([mode, space2, path2, nullchar, oid]); + }) + ); } + /** + * @returns {TreeEntry[]} + */ entries() { return this._entries; } @@ -11188,7 +12883,9 @@ var GitObject = class { const length = buffer2.slice(s + 1, i).toString("utf8"); const actualLength = buffer2.length - (i + 1); if (parseInt(length) !== actualLength) { - throw new InternalError(`Length mismatch: expected ${length} bytes but got ${actualLength} instead.`); + throw new InternalError( + `Length mismatch: expected ${length} bytes but got ${actualLength} instead.` + ); } return { type, @@ -11208,7 +12905,9 @@ function applyDelta(delta, source) { const reader = new BufferCursor(delta); const sourceSize = readVarIntLE(reader); if (sourceSize !== source.byteLength) { - throw new InternalError(`applyDelta expected source buffer to be ${sourceSize} bytes but the provided buffer was ${source.length} bytes`); + throw new InternalError( + `applyDelta expected source buffer to be ${sourceSize} bytes but the provided buffer was ${source.length} bytes` + ); } const targetSize = readVarIntLE(reader); let target; @@ -11224,7 +12923,9 @@ function applyDelta(delta, source) { } const tell = writer.tell(); if (targetSize !== tell) { - throw new InternalError(`applyDelta expected target buffer to be ${targetSize} bytes but the resulting buffer was ${tell} bytes`); + throw new InternalError( + `applyDelta expected target buffer to be ${targetSize} bytes but the resulting buffer was ${tell} bytes` + ); } } return target; @@ -11441,7 +13142,9 @@ async function listpack(stream, onData) { } if (inflator.result) { if (inflator.result.length !== length) { - throw new InternalError(`Inflated object size is different from that stated in packfile.`); + throw new InternalError( + `Inflated object size is different from that stated in packfile.` + ); } await reader.undo(); await reader.read(chunk.length - inflator.strm.avail_in); @@ -11548,10 +13251,14 @@ var GitPackIndex = class { } const version2 = reader.readUInt32BE(); if (version2 !== 2) { - throw new InternalError(`Unable to read version ${version2} packfile IDX. (Only version 2 supported)`); + throw new InternalError( + `Unable to read version ${version2} packfile IDX. (Only version 2 supported)` + ); } if (idx.byteLength > 2048 * 1024 * 1024) { - throw new InternalError(`To keep implementation simple, I haven't implemented the layer 5 feature needed to support packfiles > 2GB in size.`); + throw new InternalError( + `To keep implementation simple, I haven't implemented the layer 5 feature needed to support packfiles > 2GB in size.` + ); } reader.seek(reader.tell() + 4 * 255); const size = reader.readUInt32BE(); @@ -11561,7 +13268,7 @@ var GitPackIndex = class { hashes[i] = hash2; } reader.seek(reader.tell() + 4 * size); - const offsets = new Map(); + const offsets = /* @__PURE__ */ new Map(); for (let i = 0; i < size; i++) { offsets.set(hashes[i], reader.readUInt32BE()); } @@ -11587,13 +13294,15 @@ var GitPackIndex = class { const packfileSha = pack.slice(-20).toString("hex"); const hashes = []; const crcs = {}; - const offsets = new Map(); + const offsets = /* @__PURE__ */ new Map(); let totalObjectCount = null; let lastPercent = null; await listpack([pack], async ({ data, type, reference, offset, num: num2 }) => { if (totalObjectCount === null) totalObjectCount = num2; - const percent = Math.floor((totalObjectCount - num2) * 100 / totalObjectCount); + const percent = Math.floor( + (totalObjectCount - num2) * 100 / totalObjectCount + ); if (percent !== lastPercent) { if (onProgress) { await onProgress({ @@ -11744,7 +13453,9 @@ var GitPackIndex = class { 112: "ref_delta" }; if (!this.pack) { - throw new InternalError("Tried to read from a GitPackIndex with no packfile loaded into memory"); + throw new InternalError( + "Tried to read from a GitPackIndex with no packfile loaded into memory" + ); } const raw = (await this.pack).slice(start); const reader = new BufferCursor(raw); @@ -11774,7 +13485,9 @@ var GitPackIndex = class { const buffer2 = raw.slice(reader.tell()); object = Buffer2.from(await inflate(buffer2)); if (object.byteLength !== length) { - throw new InternalError(`Packfile told us object would have length ${length} but it had length ${object.byteLength}`); + throw new InternalError( + `Packfile told us object would have length ${length} but it had length ${object.byteLength}` + ); } if (base) { object = Buffer2.from(applyDelta(object, base)); @@ -11805,7 +13518,7 @@ function readPackIndex({ emitterPrefix }) { if (!cache[PackfileCache]) - cache[PackfileCache] = new Map(); + cache[PackfileCache] = /* @__PURE__ */ new Map(); let p = cache[PackfileCache].get(filename); if (!p) { p = loadPackIndex({ @@ -11892,7 +13605,9 @@ async function _readObject({ } const sha = await shasum(result.object); if (sha !== oid) { - throw new InternalError(`SHA check failed! Expected ${oid}, computed ${sha}`); + throw new InternalError( + `SHA check failed! Expected ${oid}, computed ${sha}` + ); } const { object, type } = GitObject.unwrap(result.object); result.type = type; @@ -11907,32 +13622,61 @@ async function _readObject({ throw new InternalError(`invalid format "${result.format}"`); } var AlreadyExistsError = class extends BaseError { + /** + * @param {'note'|'remote'|'tag'|'branch'} noun + * @param {string} where + * @param {boolean} canForce + */ constructor(noun, where, canForce = true) { - super(`Failed to create ${noun} at ${where} because it already exists.${canForce ? ` (Hint: use 'force: true' parameter to overwrite existing ${noun}.)` : ""}`); + super( + `Failed to create ${noun} at ${where} because it already exists.${canForce ? ` (Hint: use 'force: true' parameter to overwrite existing ${noun}.)` : ""}` + ); this.code = this.name = AlreadyExistsError.code; this.data = { noun, where, canForce }; } }; AlreadyExistsError.code = "AlreadyExistsError"; var AmbiguousError = class extends BaseError { + /** + * @param {'oids'|'refs'} nouns + * @param {string} short + * @param {string[]} matches + */ constructor(nouns, short, matches) { - super(`Found multiple ${nouns} matching "${short}" (${matches.join(", ")}). Use a longer abbreviation length to disambiguate them.`); + super( + `Found multiple ${nouns} matching "${short}" (${matches.join( + ", " + )}). Use a longer abbreviation length to disambiguate them.` + ); this.code = this.name = AmbiguousError.code; this.data = { nouns, short, matches }; } }; AmbiguousError.code = "AmbiguousError"; var CheckoutConflictError = class extends BaseError { + /** + * @param {string[]} filepaths + */ constructor(filepaths) { - super(`Your local changes to the following files would be overwritten by checkout: ${filepaths.join(", ")}`); + super( + `Your local changes to the following files would be overwritten by checkout: ${filepaths.join( + ", " + )}` + ); this.code = this.name = CheckoutConflictError.code; this.data = { filepaths }; } }; CheckoutConflictError.code = "CheckoutConflictError"; var CommitNotFetchedError = class extends BaseError { + /** + * @param {string} ref + * @param {string} oid + */ constructor(ref, oid) { - super(`Failed to checkout "${ref}" because commit ${oid} is not available locally. Do a git fetch to make the branch available locally.`); + super( + `Failed to checkout "${ref}" because commit ${oid} is not available locally. Do a git fetch to make the branch available locally.` + ); this.code = this.name = CommitNotFetchedError.code; this.data = { ref, oid }; } @@ -11955,6 +13699,10 @@ var FastForwardError = class extends BaseError { }; FastForwardError.code = "FastForwardError"; var GitPushError = class extends BaseError { + /** + * @param {string} prettyDetails + * @param {PushResult} result + */ constructor(prettyDetails, result) { super(`One or more branches were not updated: ${prettyDetails}`); this.code = this.name = GitPushError.code; @@ -11963,6 +13711,11 @@ var GitPushError = class extends BaseError { }; GitPushError.code = "GitPushError"; var HttpError = class extends BaseError { + /** + * @param {number} statusCode + * @param {string} statusMessage + * @param {string} response + */ constructor(statusCode, statusMessage, response) { super(`HTTP Error: ${statusCode} ${statusMessage}`); this.code = this.name = HttpError.code; @@ -11971,6 +13724,9 @@ var HttpError = class extends BaseError { }; HttpError.code = "HttpError"; var InvalidFilepathError = class extends BaseError { + /** + * @param {'leading-slash'|'trailing-slash'|'directory'} [reason] + */ constructor(reason) { let message = "invalid filepath"; if (reason === "leading-slash" || reason === "trailing-slash") { @@ -11985,14 +13741,24 @@ var InvalidFilepathError = class extends BaseError { }; InvalidFilepathError.code = "InvalidFilepathError"; var InvalidRefNameError = class extends BaseError { + /** + * @param {string} ref + * @param {string} suggestion + * @param {boolean} canForce + */ constructor(ref, suggestion) { - super(`"${ref}" would be an invalid git reference. (Hint: a valid alternative would be "${suggestion}".)`); + super( + `"${ref}" would be an invalid git reference. (Hint: a valid alternative would be "${suggestion}".)` + ); this.code = this.name = InvalidRefNameError.code; this.data = { ref, suggestion }; } }; InvalidRefNameError.code = "InvalidRefNameError"; var MaxDepthError = class extends BaseError { + /** + * @param {number} depth + */ constructor(depth) { super(`Maximum search depth of ${depth} exceeded.`); this.code = this.name = MaxDepthError.code; @@ -12009,32 +13775,53 @@ var MergeNotSupportedError = class extends BaseError { }; MergeNotSupportedError.code = "MergeNotSupportedError"; var MergeConflictError = class extends BaseError { + /** + * @param {Array} filepaths + */ constructor(filepaths) { - super(`Automatic merge failed with one or more merge conflicts in the following files: ${filepaths.toString()}. Fix conflicts then commit the result.`); + super( + `Automatic merge failed with one or more merge conflicts in the following files: ${filepaths.toString()}. Fix conflicts then commit the result.` + ); this.code = this.name = MergeConflictError.code; this.data = { filepaths }; } }; MergeConflictError.code = "MergeConflictError"; var MissingNameError = class extends BaseError { + /** + * @param {'author'|'committer'|'tagger'} role + */ constructor(role) { - super(`No name was provided for ${role} in the argument or in the .git/config file.`); + super( + `No name was provided for ${role} in the argument or in the .git/config file.` + ); this.code = this.name = MissingNameError.code; this.data = { role }; } }; MissingNameError.code = "MissingNameError"; var MissingParameterError = class extends BaseError { + /** + * @param {string} parameter + */ constructor(parameter) { - super(`The function requires a "${parameter}" parameter but none was provided.`); + super( + `The function requires a "${parameter}" parameter but none was provided.` + ); this.code = this.name = MissingParameterError.code; this.data = { parameter }; } }; MissingParameterError.code = "MissingParameterError"; var MultipleGitError = class extends BaseError { + /** + * @param {Error[]} errors + * @param {string} message + */ constructor(errors) { - super(`There are multiple errors that were thrown by the method. Please refer to the "errors" property to see more`); + super( + `There are multiple errors that were thrown by the method. Please refer to the "errors" property to see more` + ); this.code = this.name = MultipleGitError.code; this.data = { errors }; this.errors = errors; @@ -12042,6 +13829,10 @@ var MultipleGitError = class extends BaseError { }; MultipleGitError.code = "MultipleGitError"; var ParseError = class extends BaseError { + /** + * @param {string} expected + * @param {string} actual + */ constructor(expected, actual) { super(`Expected "${expected}" but received "${actual}".`); this.code = this.name = ParseError.code; @@ -12050,6 +13841,9 @@ var ParseError = class extends BaseError { }; ParseError.code = "ParseError"; var PushRejectedError = class extends BaseError { + /** + * @param {'not-fast-forward'|'tag-exists'} reason + */ constructor(reason) { let message = ""; if (reason === "not-fast-forward") { @@ -12064,30 +13858,52 @@ var PushRejectedError = class extends BaseError { }; PushRejectedError.code = "PushRejectedError"; var RemoteCapabilityError = class extends BaseError { + /** + * @param {'shallow'|'deepen-since'|'deepen-not'|'deepen-relative'} capability + * @param {'depth'|'since'|'exclude'|'relative'} parameter + */ constructor(capability, parameter) { - super(`Remote does not support the "${capability}" so the "${parameter}" parameter cannot be used.`); + super( + `Remote does not support the "${capability}" so the "${parameter}" parameter cannot be used.` + ); this.code = this.name = RemoteCapabilityError.code; this.data = { capability, parameter }; } }; RemoteCapabilityError.code = "RemoteCapabilityError"; var SmartHttpError = class extends BaseError { + /** + * @param {string} preview + * @param {string} response + */ constructor(preview, response) { - super(`Remote did not reply using the "smart" HTTP protocol. Expected "001e# service=git-upload-pack" but received: ${preview}`); + super( + `Remote did not reply using the "smart" HTTP protocol. Expected "001e# service=git-upload-pack" but received: ${preview}` + ); this.code = this.name = SmartHttpError.code; this.data = { preview, response }; } }; SmartHttpError.code = "SmartHttpError"; var UnknownTransportError = class extends BaseError { + /** + * @param {string} url + * @param {string} transport + * @param {string} [suggestion] + */ constructor(url, transport, suggestion) { - super(`Git remote "${url}" uses an unrecognized transport protocol: "${transport}"`); + super( + `Git remote "${url}" uses an unrecognized transport protocol: "${transport}"` + ); this.code = this.name = UnknownTransportError.code; this.data = { url, transport, suggestion }; } }; UnknownTransportError.code = "UnknownTransportError"; var UrlParseError = class extends BaseError { + /** + * @param {string} url + */ constructor(url) { super(`Cannot parse remote URL: "${url}"`); this.code = this.name = UrlParseError.code; @@ -12103,6 +13919,19 @@ var UserCanceledError = class extends BaseError { } }; UserCanceledError.code = "UserCanceledError"; +var IndexResetError = class extends BaseError { + /** + * @param {Array} filepaths + */ + constructor(filepath) { + super( + `Could not merge index: Entry for '${filepath}' is not up to date. Either reset the index entry to HEAD, or stage your unstaged chages.` + ); + this.code = this.name = IndexResetError.code; + this.data = { filepath }; + } +}; +IndexResetError.code = "IndexResetError"; var Errors = /* @__PURE__ */ Object.freeze({ __proto__: null, AlreadyExistsError, @@ -12133,7 +13962,9 @@ var Errors = /* @__PURE__ */ Object.freeze({ UnknownTransportError, UnsafeFilepathError, UrlParseError, - UserCanceledError + UserCanceledError, + UnmergedPathsError, + IndexResetError }); function formatAuthor({ name, email, timestamp, timezoneOffset }) { timezoneOffset = formatTimezoneOffset(timezoneOffset); @@ -12165,7 +13996,9 @@ function normalizeNewlines(str) { return str; } function parseAuthor(author) { - const [, name, email, timestamp, offset] = author.match(/^(.*) <(.*)> (.*) (.*)$/); + const [, name, email, timestamp, offset] = author.match( + /^(.*) <(.*)> (.*) (.*)$/ + ); return { name, email, @@ -12190,7 +14023,9 @@ var GitAnnotatedTag = class { } else if (typeof tag2 === "object") { this._tag = GitAnnotatedTag.render(tag2); } else { - throw new InternalError("invalid type passed to GitAnnotatedTag constructor"); + throw new InternalError( + "invalid type passed to GitAnnotatedTag constructor" + ); } } static from(tag2) { @@ -12258,7 +14093,10 @@ ${obj.gpgsig ? obj.gpgsig : ""}`; gpgsig() { if (this._tag.indexOf("\n-----BEGIN PGP SIGNATURE-----") === -1) return; - const signature = this._tag.slice(this._tag.indexOf("-----BEGIN PGP SIGNATURE-----"), this._tag.indexOf("-----END PGP SIGNATURE-----") + "-----END PGP SIGNATURE-----".length); + const signature = this._tag.slice( + this._tag.indexOf("-----BEGIN PGP SIGNATURE-----"), + this._tag.indexOf("-----END PGP SIGNATURE-----") + "-----END PGP SIGNATURE-----".length + ); return normalizeNewlines(signature); } payload() { @@ -12296,7 +14134,9 @@ var GitCommit = class { static fromPayloadSignature({ payload, signature }) { const headers = GitCommit.justHeaders(payload); const message = GitCommit.justMessage(payload); - const commit2 = normalizeNewlines(headers + "\ngpgsig" + indent(signature) + "\n" + message); + const commit2 = normalizeNewlines( + headers + "\ngpgsig" + indent(signature) + "\n" + message + ); return new GitCommit(commit2); } static from(commit2) { @@ -12305,9 +14145,11 @@ var GitCommit = class { toObject() { return Buffer2.from(this._commit, "utf8"); } + // Todo: allow setting the headers and message headers() { return this.parseHeaders(); } + // Todo: allow setting the headers and message message() { return GitCommit.justMessage(this._commit); } @@ -12390,11 +14232,16 @@ var GitCommit = class { if (commit2.indexOf("\ngpgsig") === -1) return commit2; const headers = commit2.slice(0, commit2.indexOf("\ngpgsig")); - const message = commit2.slice(commit2.indexOf("-----END PGP SIGNATURE-----\n") + "-----END PGP SIGNATURE-----\n".length); + const message = commit2.slice( + commit2.indexOf("-----END PGP SIGNATURE-----\n") + "-----END PGP SIGNATURE-----\n".length + ); return normalizeNewlines(headers + "\n" + message); } isolateSignature() { - const signature = this._commit.slice(this._commit.indexOf("-----BEGIN PGP SIGNATURE-----"), this._commit.indexOf("-----END PGP SIGNATURE-----") + "-----END PGP SIGNATURE-----".length); + const signature = this._commit.slice( + this._commit.indexOf("-----BEGIN PGP SIGNATURE-----"), + this._commit.indexOf("-----END PGP SIGNATURE-----") + "-----END PGP SIGNATURE-----".length + ); return outdent(signature); } static async sign(commit2, sign, secretKey) { @@ -12431,7 +14278,7 @@ var GitWalkerRepo = class { this.cache = cache; this.gitdir = gitdir; this.mapPromise = (async () => { - const map = new Map(); + const map = /* @__PURE__ */ new Map(); let oid; try { oid = await GitRefManager.resolve({ fs, gitdir, ref }); @@ -12539,7 +14386,7 @@ var GitWalkerRepo = class { } }; function TREE({ ref = "HEAD" } = {}) { - const o = Object.create(null); + const o = /* @__PURE__ */ Object.create(null); Object.defineProperty(o, GitWalkSymbol, { value: function({ fs, gitdir, cache }) { return new GitWalkerRepo({ fs, gitdir, ref, cache }); @@ -12606,7 +14453,9 @@ var GitWalkerFs = class { const { fs, dir } = this; let stat = await fs.lstat(`${dir}/${entry._fullpath}`); if (!stat) { - throw new Error(`ENOENT: no such file or directory, lstat '${entry._fullpath}'`); + throw new Error( + `ENOENT: no such file or directory, lstat '${entry._fullpath}'` + ); } let type = stat.isDirectory() ? "tree" : "blob"; if (type === "blob" && !stat.isFile() && !stat.isSymbolicLink()) { @@ -12650,7 +14499,9 @@ var GitWalkerFs = class { if (content === void 0) { oid = void 0; } else { - oid = await shasum(GitObject.wrap({ type: "blob", object: await entry.content() })); + oid = await shasum( + GitObject.wrap({ type: "blob", object: await entry.content() }) + ); if (stage && oid === stage.oid && stats.mode === stage.mode && compareStats(stats, stage)) { index2.insert({ filepath: entry._fullpath, @@ -12669,7 +14520,7 @@ var GitWalkerFs = class { } }; function WORKDIR() { - const o = Object.create(null); + const o = /* @__PURE__ */ Object.create(null); Object.defineProperty(o, GitWalkSymbol, { value: function({ fs, dir, gitdir, cache }) { return new GitWalkerFs({ fs, dir, gitdir, cache }); @@ -12678,6 +14529,427 @@ function WORKDIR() { Object.freeze(o); return o; } +function arrayRange(start, end) { + const length = end - start; + return Array.from({ length }, (_, i) => start + i); +} +var flat = typeof Array.prototype.flat === "undefined" ? (entries) => entries.reduce((acc, x) => acc.concat(x), []) : (entries) => entries.flat(); +var RunningMinimum = class { + constructor() { + this.value = null; + } + consider(value) { + if (value === null || value === void 0) + return; + if (this.value === null) { + this.value = value; + } else if (value < this.value) { + this.value = value; + } + } + reset() { + this.value = null; + } +}; +function* unionOfIterators(sets) { + const min = new RunningMinimum(); + let minimum; + const heads = []; + const numsets = sets.length; + for (let i = 0; i < numsets; i++) { + heads[i] = sets[i].next().value; + if (heads[i] !== void 0) { + min.consider(heads[i]); + } + } + if (min.value === null) + return; + while (true) { + const result = []; + minimum = min.value; + min.reset(); + for (let i = 0; i < numsets; i++) { + if (heads[i] !== void 0 && heads[i] === minimum) { + result[i] = heads[i]; + heads[i] = sets[i].next().value; + } else { + result[i] = null; + } + if (heads[i] !== void 0) { + min.consider(heads[i]); + } + } + yield result; + if (min.value === null) + return; + } +} +async function _walk({ + fs, + cache, + dir, + gitdir, + trees, + // @ts-ignore + map = async (_, entry) => entry, + // The default reducer is a flatmap that filters out undefineds. + reduce = async (parent, children2) => { + const flatten = flat(children2); + if (parent !== void 0) + flatten.unshift(parent); + return flatten; + }, + // The default iterate function walks all children concurrently + iterate = (walk2, children2) => Promise.all([...children2].map(walk2)) +}) { + const walkers = trees.map( + (proxy) => proxy[GitWalkSymbol]({ fs, dir, gitdir, cache }) + ); + const root = new Array(walkers.length).fill("."); + const range = arrayRange(0, walkers.length); + const unionWalkerFromReaddir = async (entries) => { + range.map((i) => { + entries[i] = entries[i] && new walkers[i].ConstructEntry(entries[i]); + }); + const subdirs = await Promise.all( + range.map((i) => entries[i] ? walkers[i].readdir(entries[i]) : []) + ); + const iterators = subdirs.map((array) => array === null ? [] : array).map((array) => array[Symbol.iterator]()); + return { + entries, + children: unionOfIterators(iterators) + }; + }; + const walk2 = async (root2) => { + const { entries, children: children2 } = await unionWalkerFromReaddir(root2); + const fullpath = entries.find((entry) => entry && entry._fullpath)._fullpath; + const parent = await map(fullpath, entries); + if (parent !== null) { + let walkedChildren = await iterate(walk2, children2); + walkedChildren = walkedChildren.filter((x) => x !== void 0); + return reduce(parent, walkedChildren); + } + }; + return walk2(root); +} +async function rmRecursive(fs, filepath) { + const entries = await fs.readdir(filepath); + if (entries == null) { + await fs.rm(filepath); + } else if (entries.length) { + await Promise.all( + entries.map((entry) => { + const subpath = join(filepath, entry); + return fs.lstat(subpath).then((stat) => { + if (!stat) + return; + return stat.isDirectory() ? rmRecursive(fs, subpath) : fs.rm(subpath); + }); + }) + ).then(() => fs.rmdir(filepath)); + } else { + await fs.rmdir(filepath); + } +} +var FileSystem = class { + constructor(fs) { + if (typeof fs._original_unwrapped_fs !== "undefined") + return fs; + const promises = Object.getOwnPropertyDescriptor(fs, "promises"); + if (promises && promises.enumerable) { + this._readFile = fs.promises.readFile.bind(fs.promises); + this._writeFile = fs.promises.writeFile.bind(fs.promises); + this._mkdir = fs.promises.mkdir.bind(fs.promises); + if (fs.promises.rm) { + this._rm = fs.promises.rm.bind(fs.promises); + } else if (fs.promises.rmdir.length > 1) { + this._rm = fs.promises.rmdir.bind(fs.promises); + } else { + this._rm = rmRecursive.bind(null, this); + } + this._rmdir = fs.promises.rmdir.bind(fs.promises); + this._unlink = fs.promises.unlink.bind(fs.promises); + this._stat = fs.promises.stat.bind(fs.promises); + this._lstat = fs.promises.lstat.bind(fs.promises); + this._readdir = fs.promises.readdir.bind(fs.promises); + this._readlink = fs.promises.readlink.bind(fs.promises); + this._symlink = fs.promises.symlink.bind(fs.promises); + } else { + this._readFile = (0, import_pify.default)(fs.readFile.bind(fs)); + this._writeFile = (0, import_pify.default)(fs.writeFile.bind(fs)); + this._mkdir = (0, import_pify.default)(fs.mkdir.bind(fs)); + if (fs.rm) { + this._rm = (0, import_pify.default)(fs.rm.bind(fs)); + } else if (fs.rmdir.length > 2) { + this._rm = (0, import_pify.default)(fs.rmdir.bind(fs)); + } else { + this._rm = rmRecursive.bind(null, this); + } + this._rmdir = (0, import_pify.default)(fs.rmdir.bind(fs)); + this._unlink = (0, import_pify.default)(fs.unlink.bind(fs)); + this._stat = (0, import_pify.default)(fs.stat.bind(fs)); + this._lstat = (0, import_pify.default)(fs.lstat.bind(fs)); + this._readdir = (0, import_pify.default)(fs.readdir.bind(fs)); + this._readlink = (0, import_pify.default)(fs.readlink.bind(fs)); + this._symlink = (0, import_pify.default)(fs.symlink.bind(fs)); + } + this._original_unwrapped_fs = fs; + } + /** + * Return true if a file exists, false if it doesn't exist. + * Rethrows errors that aren't related to file existance. + */ + async exists(filepath, options = {}) { + try { + await this._stat(filepath); + return true; + } catch (err) { + if (err.code === "ENOENT" || err.code === "ENOTDIR") { + return false; + } else { + console.log('Unhandled error in "FileSystem.exists()" function', err); + throw err; + } + } + } + /** + * Return the contents of a file if it exists, otherwise returns null. + * + * @param {string} filepath + * @param {object} [options] + * + * @returns {Promise} + */ + async read(filepath, options = {}) { + try { + let buffer2 = await this._readFile(filepath, options); + if (typeof buffer2 !== "string") { + buffer2 = Buffer2.from(buffer2); + } + return buffer2; + } catch (err) { + return null; + } + } + /** + * Write a file (creating missing directories if need be) without throwing errors. + * + * @param {string} filepath + * @param {Buffer|Uint8Array|string} contents + * @param {object|string} [options] + */ + async write(filepath, contents, options = {}) { + try { + await this._writeFile(filepath, contents, options); + return; + } catch (err) { + await this.mkdir(dirname(filepath)); + await this._writeFile(filepath, contents, options); + } + } + /** + * Make a directory (or series of nested directories) without throwing an error if it already exists. + */ + async mkdir(filepath, _selfCall = false) { + try { + await this._mkdir(filepath); + return; + } catch (err) { + if (err === null) + return; + if (err.code === "EEXIST") + return; + if (_selfCall) + throw err; + if (err.code === "ENOENT") { + const parent = dirname(filepath); + if (parent === "." || parent === "/" || parent === filepath) + throw err; + await this.mkdir(parent); + await this.mkdir(filepath, true); + } + } + } + /** + * Delete a file without throwing an error if it is already deleted. + */ + async rm(filepath) { + try { + await this._unlink(filepath); + } catch (err) { + if (err.code !== "ENOENT") + throw err; + } + } + /** + * Delete a directory without throwing an error if it is already deleted. + */ + async rmdir(filepath, opts) { + try { + if (opts && opts.recursive) { + await this._rm(filepath, opts); + } else { + await this._rmdir(filepath); + } + } catch (err) { + if (err.code !== "ENOENT") + throw err; + } + } + /** + * Read a directory without throwing an error is the directory doesn't exist + */ + async readdir(filepath) { + try { + const names = await this._readdir(filepath); + names.sort(compareStrings); + return names; + } catch (err) { + if (err.code === "ENOTDIR") + return null; + return []; + } + } + /** + * Return a flast list of all the files nested inside a directory + * + * Based on an elegant concurrent recursive solution from SO + * https://stackoverflow.com/a/45130990/2168416 + */ + async readdirDeep(dir) { + const subdirs = await this._readdir(dir); + const files = await Promise.all( + subdirs.map(async (subdir) => { + const res = dir + "/" + subdir; + return (await this._stat(res)).isDirectory() ? this.readdirDeep(res) : res; + }) + ); + return files.reduce((a, f) => a.concat(f), []); + } + /** + * Return the Stats of a file/symlink if it exists, otherwise returns null. + * Rethrows errors that aren't related to file existance. + */ + async lstat(filename) { + try { + const stats = await this._lstat(filename); + return stats; + } catch (err) { + if (err.code === "ENOENT") { + return null; + } + throw err; + } + } + /** + * Reads the contents of a symlink if it exists, otherwise returns null. + * Rethrows errors that aren't related to file existance. + */ + async readlink(filename, opts = { encoding: "buffer" }) { + try { + const link = await this._readlink(filename, opts); + return Buffer2.isBuffer(link) ? link : Buffer2.from(link); + } catch (err) { + if (err.code === "ENOENT") { + return null; + } + throw err; + } + } + /** + * Write the contents of buffer to a symlink. + */ + async writelink(filename, buffer2) { + return this._symlink(buffer2.toString("utf8"), filename); + } +}; +function assertParameter(name, value) { + if (value === void 0) { + throw new MissingParameterError(name); + } +} +async function modified(entry, base) { + if (!entry && !base) + return false; + if (entry && !base) + return true; + if (!entry && base) + return true; + if (await entry.type() === "tree" && await base.type() === "tree") { + return false; + } + if (await entry.type() === await base.type() && await entry.mode() === await base.mode() && await entry.oid() === await base.oid()) { + return false; + } + return true; +} +async function abortMerge({ + fs: _fs, + dir, + gitdir = join(dir, ".git"), + commit: commit2 = "HEAD", + cache = {} +}) { + try { + assertParameter("fs", _fs); + assertParameter("dir", dir); + assertParameter("gitdir", gitdir); + const fs = new FileSystem(_fs); + const trees = [TREE({ ref: commit2 }), WORKDIR(), STAGE()]; + let unmergedPaths = []; + await GitIndexManager.acquire({ fs, gitdir, cache }, async function(index2) { + unmergedPaths = index2.unmergedPaths; + }); + const results = await _walk({ + fs, + cache, + dir, + gitdir, + trees, + map: async function(path2, [head, workdir, index2]) { + const staged = !await modified(workdir, index2); + const unmerged = unmergedPaths.includes(path2); + const unmodified = !await modified(index2, head); + if (staged || unmerged) { + return head ? { + path: path2, + mode: await head.mode(), + oid: await head.oid(), + type: await head.type(), + content: await head.content() + } : void 0; + } + if (unmodified) + return false; + else + throw new IndexResetError(path2); + } + }); + await GitIndexManager.acquire({ fs, gitdir, cache }, async function(index2) { + for (const entry of results) { + if (entry === false) + continue; + if (!entry) { + await fs.rmdir(`${dir}/${entry.path}`, { recursive: true }); + index2.delete({ filepath: entry.path }); + continue; + } + if (entry.type === "blob") { + const content = new TextDecoder().decode(entry.content); + await fs.write(`${dir}/${entry.path}`, content, { mode: entry.mode }); + index2.insert({ + filepath: entry.path, + oid: entry.oid, + stage: 0 + }); + } + } + }); + } catch (err) { + err.caller = "git.abortMerge"; + throw err; + } +} var GitIgnoreManager = class { static async isIgnored({ fs, dir, gitdir = join(dir, ".git"), filepath }) { if (basename(filepath) === ".git") @@ -12727,188 +14999,11 @@ var GitIgnoreManager = class { return ignoredStatus; } }; -async function rmRecursive(fs, filepath) { - const entries = await fs.readdir(filepath); - if (entries == null) { - await fs.rm(filepath); - } else if (entries.length) { - await Promise.all(entries.map((entry) => { - const subpath = join(filepath, entry); - return fs.lstat(subpath).then((stat) => { - if (!stat) - return; - return stat.isDirectory() ? rmRecursive(fs, subpath) : fs.rm(subpath); - }); - })).then(() => fs.rmdir(filepath)); - } else { - await fs.rmdir(filepath); - } -} -var FileSystem = class { - constructor(fs) { - if (typeof fs._original_unwrapped_fs !== "undefined") - return fs; - const promises = Object.getOwnPropertyDescriptor(fs, "promises"); - if (promises && promises.enumerable) { - this._readFile = fs.promises.readFile.bind(fs.promises); - this._writeFile = fs.promises.writeFile.bind(fs.promises); - this._mkdir = fs.promises.mkdir.bind(fs.promises); - if (fs.promises.rm) { - this._rm = fs.promises.rm.bind(fs.promises); - } else if (fs.promises.rmdir.length > 1) { - this._rm = fs.promises.rmdir.bind(fs.promises); - } else { - this._rm = rmRecursive.bind(null, this); - } - this._rmdir = fs.promises.rmdir.bind(fs.promises); - this._unlink = fs.promises.unlink.bind(fs.promises); - this._stat = fs.promises.stat.bind(fs.promises); - this._lstat = fs.promises.lstat.bind(fs.promises); - this._readdir = fs.promises.readdir.bind(fs.promises); - this._readlink = fs.promises.readlink.bind(fs.promises); - this._symlink = fs.promises.symlink.bind(fs.promises); - } else { - this._readFile = (0, import_pify.default)(fs.readFile.bind(fs)); - this._writeFile = (0, import_pify.default)(fs.writeFile.bind(fs)); - this._mkdir = (0, import_pify.default)(fs.mkdir.bind(fs)); - if (fs.rm) { - this._rm = (0, import_pify.default)(fs.rm.bind(fs)); - } else if (fs.rmdir.length > 2) { - this._rm = (0, import_pify.default)(fs.rmdir.bind(fs)); - } else { - this._rm = rmRecursive.bind(null, this); - } - this._rmdir = (0, import_pify.default)(fs.rmdir.bind(fs)); - this._unlink = (0, import_pify.default)(fs.unlink.bind(fs)); - this._stat = (0, import_pify.default)(fs.stat.bind(fs)); - this._lstat = (0, import_pify.default)(fs.lstat.bind(fs)); - this._readdir = (0, import_pify.default)(fs.readdir.bind(fs)); - this._readlink = (0, import_pify.default)(fs.readlink.bind(fs)); - this._symlink = (0, import_pify.default)(fs.symlink.bind(fs)); - } - this._original_unwrapped_fs = fs; - } - async exists(filepath, options = {}) { - try { - await this._stat(filepath); - return true; - } catch (err) { - if (err.code === "ENOENT" || err.code === "ENOTDIR") { - return false; - } else { - console.log('Unhandled error in "FileSystem.exists()" function', err); - throw err; - } - } - } - async read(filepath, options = {}) { - try { - let buffer2 = await this._readFile(filepath, options); - if (typeof buffer2 !== "string") { - buffer2 = Buffer2.from(buffer2); - } - return buffer2; - } catch (err) { - return null; - } - } - async write(filepath, contents, options = {}) { - try { - await this._writeFile(filepath, contents, options); - return; - } catch (err) { - await this.mkdir(dirname(filepath)); - await this._writeFile(filepath, contents, options); - } - } - async mkdir(filepath, _selfCall = false) { - try { - await this._mkdir(filepath); - return; - } catch (err) { - if (err === null) - return; - if (err.code === "EEXIST") - return; - if (_selfCall) - throw err; - if (err.code === "ENOENT") { - const parent = dirname(filepath); - if (parent === "." || parent === "/" || parent === filepath) - throw err; - await this.mkdir(parent); - await this.mkdir(filepath, true); - } - } - } - async rm(filepath) { - try { - await this._unlink(filepath); - } catch (err) { - if (err.code !== "ENOENT") - throw err; - } - } - async rmdir(filepath, opts) { - try { - if (opts && opts.recursive) { - await this._rm(filepath, opts); - } else { - await this._rmdir(filepath); - } - } catch (err) { - if (err.code !== "ENOENT") - throw err; - } - } - async readdir(filepath) { - try { - const names = await this._readdir(filepath); - names.sort(compareStrings); - return names; - } catch (err) { - if (err.code === "ENOTDIR") - return null; - return []; - } - } - async readdirDeep(dir) { - const subdirs = await this._readdir(dir); - const files = await Promise.all(subdirs.map(async (subdir) => { - const res = dir + "/" + subdir; - return (await this._stat(res)).isDirectory() ? this.readdirDeep(res) : res; - })); - return files.reduce((a, f) => a.concat(f), []); - } - async lstat(filename) { - try { - const stats = await this._lstat(filename); - return stats; - } catch (err) { - if (err.code === "ENOENT") { - return null; - } - throw err; - } - } - async readlink(filename, opts = { encoding: "buffer" }) { - try { - const link = await this._readlink(filename, opts); - return Buffer2.isBuffer(link) ? link : Buffer2.from(link); - } catch (err) { - if (err.code === "ENOENT") { - return null; - } - throw err; - } - } - async writelink(filename, buffer2) { - return this._symlink(buffer2.toString("utf8"), filename); - } -}; async function writeObjectLoose({ fs, gitdir, object, format, oid }) { if (format !== "deflated") { - throw new InternalError("GitObjectStoreLoose expects objects to write to be in deflated format"); + throw new InternalError( + "GitObjectStoreLoose expects objects to write to be in deflated format" + ); } const source = `objects/${oid.slice(0, 2)}/${oid.slice(2)}`; const filepath = `${gitdir}/${source}`; @@ -12958,11 +15053,6 @@ async function _writeObject({ } return oid; } -function assertParameter(name, value) { - if (value === void 0) { - throw new MissingParameterError(name); - } -} function posixifyPathBuffer(buffer2) { let idx; while (~(idx = buffer2.indexOf(92))) @@ -13009,14 +15099,16 @@ async function addToIndex({ dir, gitdir, fs, filepath, index: index2, force }) { throw new NotFoundError(currentFilepath); if (stats.isDirectory()) { const children2 = await fs.readdir(join(dir, currentFilepath)); - const promises2 = children2.map((child) => addToIndex({ - dir, - gitdir, - fs, - filepath: [join(currentFilepath, child)], - index: index2, - force - })); + const promises2 = children2.map( + (child) => addToIndex({ + dir, + gitdir, + fs, + filepath: [join(currentFilepath, child)], + index: index2, + force + }) + ); await Promise.all(promises2); } else { const object = stats.isSymbolicLink() ? await fs.readlink(join(dir, currentFilepath)).then(posixifyPathBuffer) : await fs.read(join(dir, currentFilepath)); @@ -13060,56 +15152,61 @@ async function _commit({ depth: 2 }); } - return GitIndexManager.acquire({ fs, gitdir, cache }, async function(index2) { - const inodes = flatFileListToDirectoryStructure(index2.entries); - const inode = inodes.get("."); - if (!tree) { - tree = await constructTree({ fs, gitdir, inode, dryRun }); - } - if (!parent) { - try { - parent = [ - await GitRefManager.resolve({ - fs, - gitdir, - ref - }) - ]; - } catch (err) { - parent = []; + return GitIndexManager.acquire( + { fs, gitdir, cache, allowUnmerged: false }, + async function(index2) { + const inodes = flatFileListToDirectoryStructure(index2.entries); + const inode = inodes.get("."); + if (!tree) { + tree = await constructTree({ fs, gitdir, inode, dryRun }); } - } else { - parent = await Promise.all(parent.map((p) => { - return GitRefManager.resolve({ fs, gitdir, ref: p }); - })); - } - let comm = GitCommit.from({ - tree, - parent, - author, - committer, - message - }); - if (signingKey) { - comm = await GitCommit.sign(comm, onSign, signingKey); - } - const oid = await _writeObject({ - fs, - gitdir, - type: "commit", - object: comm.toObject(), - dryRun - }); - if (!noUpdateBranch && !dryRun) { - await GitRefManager.writeRef({ + if (!parent) { + try { + parent = [ + await GitRefManager.resolve({ + fs, + gitdir, + ref + }) + ]; + } catch (err) { + parent = []; + } + } else { + parent = await Promise.all( + parent.map((p) => { + return GitRefManager.resolve({ fs, gitdir, ref: p }); + }) + ); + } + let comm = GitCommit.from({ + tree, + parent, + author, + committer, + message + }); + if (signingKey) { + comm = await GitCommit.sign(comm, onSign, signingKey); + } + const oid = await _writeObject({ fs, gitdir, - ref, - value: oid + type: "commit", + object: comm.toObject(), + dryRun }); + if (!noUpdateBranch && !dryRun) { + await GitRefManager.writeRef({ + fs, + gitdir, + ref, + value: oid + }); + } + return oid; } - return oid; - }); + ); } async function constructTree({ fs, gitdir, inode, dryRun }) { const children2 = inode.children; @@ -13182,7 +15279,7 @@ async function _resolveFilepath({ oid: entry.oid }); if (type !== "tree") { - throw new ObjectTypeError(oid, type, "blob", filepath); + throw new ObjectTypeError(oid, type, "tree", filepath); } tree = GitTree.from(object); return _resolveFilepath({ @@ -13391,7 +15488,10 @@ async function _addRemote({ fs, gitdir, remote, url, force }) { } } await config.set(`remote.${remote}.url`, url); - await config.set(`remote.${remote}.fetch`, `+refs/heads/*:refs/remotes/${remote}/*`); + await config.set( + `remote.${remote}.fetch`, + `+refs/heads/*:refs/remotes/${remote}/*` + ); await GitConfigManager.save({ fs, gitdir, config }); } async function addRemote({ @@ -13565,102 +15665,6 @@ async function branch({ throw err; } } -function arrayRange(start, end) { - const length = end - start; - return Array.from({ length }, (_, i) => start + i); -} -var flat = typeof Array.prototype.flat === "undefined" ? (entries) => entries.reduce((acc, x) => acc.concat(x), []) : (entries) => entries.flat(); -var RunningMinimum = class { - constructor() { - this.value = null; - } - consider(value) { - if (value === null || value === void 0) - return; - if (this.value === null) { - this.value = value; - } else if (value < this.value) { - this.value = value; - } - } - reset() { - this.value = null; - } -}; -function* unionOfIterators(sets) { - const min = new RunningMinimum(); - let minimum; - const heads = []; - const numsets = sets.length; - for (let i = 0; i < numsets; i++) { - heads[i] = sets[i].next().value; - if (heads[i] !== void 0) { - min.consider(heads[i]); - } - } - if (min.value === null) - return; - while (true) { - const result = []; - minimum = min.value; - min.reset(); - for (let i = 0; i < numsets; i++) { - if (heads[i] !== void 0 && heads[i] === minimum) { - result[i] = heads[i]; - heads[i] = sets[i].next().value; - } else { - result[i] = null; - } - if (heads[i] !== void 0) { - min.consider(heads[i]); - } - } - yield result; - if (min.value === null) - return; - } -} -async function _walk({ - fs, - cache, - dir, - gitdir, - trees, - map = async (_, entry) => entry, - reduce = async (parent, children2) => { - const flatten = flat(children2); - if (parent !== void 0) - flatten.unshift(parent); - return flatten; - }, - iterate = (walk2, children2) => Promise.all([...children2].map(walk2)) -}) { - const walkers = trees.map((proxy) => proxy[GitWalkSymbol]({ fs, dir, gitdir, cache })); - const root = new Array(walkers.length).fill("."); - const range = arrayRange(0, walkers.length); - const unionWalkerFromReaddir = async (entries) => { - range.map((i) => { - entries[i] = entries[i] && new walkers[i].ConstructEntry(entries[i]); - }); - const subdirs = await Promise.all(range.map((i) => entries[i] ? walkers[i].readdir(entries[i]) : [])); - const iterators = subdirs.map((array) => array === null ? [] : array).map((array) => array[Symbol.iterator]()); - return { - entries, - children: unionOfIterators(iterators) - }; - }; - const walk2 = async (root2) => { - const { entries, children: children2 } = await unionWalkerFromReaddir(root2); - const fullpath = entries.find((entry) => entry && entry._fullpath)._fullpath; - const parent = await map(fullpath, entries); - if (parent !== null) { - let walkedChildren = await iterate(walk2, children2); - walkedChildren = walkedChildren.filter((x) => x !== void 0); - return reduce(parent, walkedChildren); - } - }; - return walk2(root); -} var worthWalking = (filepath, root) => { if (filepath === "." || root == null || root.length === 0 || root === ".") { return true; @@ -13745,20 +15749,24 @@ async function _checkout({ let count = 0; const total = ops.length; await GitIndexManager.acquire({ fs, gitdir, cache }, async function(index2) { - await Promise.all(ops.filter(([method]) => method === "delete" || method === "delete-index").map(async function([method, fullpath]) { - const filepath = `${dir}/${fullpath}`; - if (method === "delete") { - await fs.rm(filepath); - } - index2.delete({ filepath: fullpath }); - if (onProgress) { - await onProgress({ - phase: "Updating workdir", - loaded: ++count, - total - }); - } - })); + await Promise.all( + ops.filter( + ([method]) => method === "delete" || method === "delete-index" + ).map(async function([method, fullpath]) { + const filepath = `${dir}/${fullpath}`; + if (method === "delete") { + await fs.rm(filepath); + } + index2.delete({ filepath: fullpath }); + if (onProgress) { + await onProgress({ + phase: "Updating workdir", + loaded: ++count, + total + }); + } + }) + ); }); await GitIndexManager.acquire({ fs, gitdir, cache }, async function(index2) { for (const [method, fullpath] of ops) { @@ -13778,7 +15786,9 @@ async function _checkout({ } } catch (e) { if (e.code === "ENOTEMPTY") { - console.log(`Did not delete ${fullpath} because directory is not empty`); + console.log( + `Did not delete ${fullpath} because directory is not empty` + ); } else { throw e; } @@ -13786,59 +15796,67 @@ async function _checkout({ } } }); - await Promise.all(ops.filter(([method]) => method === "mkdir" || method === "mkdir-index").map(async function([_, fullpath]) { - const filepath = `${dir}/${fullpath}`; - await fs.mkdir(filepath); - if (onProgress) { - await onProgress({ - phase: "Updating workdir", - loaded: ++count, - total - }); - } - })); - await GitIndexManager.acquire({ fs, gitdir, cache }, async function(index2) { - await Promise.all(ops.filter(([method]) => method === "create" || method === "create-index" || method === "update" || method === "mkdir-index").map(async function([method, fullpath, oid2, mode, chmod]) { + await Promise.all( + ops.filter(([method]) => method === "mkdir" || method === "mkdir-index").map(async function([_, fullpath]) { const filepath = `${dir}/${fullpath}`; - try { - if (method !== "create-index" && method !== "mkdir-index") { - const { object } = await _readObject({ fs, cache, gitdir, oid: oid2 }); - if (chmod) { - await fs.rm(filepath); - } - if (mode === 33188) { - await fs.write(filepath, object); - } else if (mode === 33261) { - await fs.write(filepath, object, { mode: 511 }); - } else if (mode === 40960) { - await fs.writelink(filepath, object); - } else { - throw new InternalError(`Invalid mode 0o${mode.toString(8)} detected in blob ${oid2}`); - } - } - const stats = await fs.lstat(filepath); - if (mode === 33261) { - stats.mode = 493; - } - if (method === "mkdir-index") { - stats.mode = 57344; - } - index2.insert({ - filepath: fullpath, - stats, - oid: oid2 + await fs.mkdir(filepath); + if (onProgress) { + await onProgress({ + phase: "Updating workdir", + loaded: ++count, + total }); - if (onProgress) { - await onProgress({ - phase: "Updating workdir", - loaded: ++count, - total - }); - } - } catch (e) { - console.log(e); } - })); + }) + ); + await GitIndexManager.acquire({ fs, gitdir, cache }, async function(index2) { + await Promise.all( + ops.filter( + ([method]) => method === "create" || method === "create-index" || method === "update" || method === "mkdir-index" + ).map(async function([method, fullpath, oid2, mode, chmod]) { + const filepath = `${dir}/${fullpath}`; + try { + if (method !== "create-index" && method !== "mkdir-index") { + const { object } = await _readObject({ fs, cache, gitdir, oid: oid2 }); + if (chmod) { + await fs.rm(filepath); + } + if (mode === 33188) { + await fs.write(filepath, object); + } else if (mode === 33261) { + await fs.write(filepath, object, { mode: 511 }); + } else if (mode === 40960) { + await fs.writelink(filepath, object); + } else { + throw new InternalError( + `Invalid mode 0o${mode.toString(8)} detected in blob ${oid2}` + ); + } + } + const stats = await fs.lstat(filepath); + if (mode === 33261) { + stats.mode = 493; + } + if (method === "mkdir-index") { + stats.mode = 57344; + } + index2.insert({ + filepath: fullpath, + stats, + oid: oid2 + }); + if (onProgress) { + await onProgress({ + phase: "Updating workdir", + loaded: ++count, + total + }); + } + } catch (e) { + console.log(e); + } + }) + ); }); } if (!noUpdateHead) { @@ -14083,6 +16101,7 @@ async function analyze({ } } }, + // Modify the default flat mapping reduce: async function(parent, children2) { children2 = flat(children2); if (!parent) { @@ -14280,9 +16299,9 @@ async function parseCapabilitiesV2(read) { return { protocolVersion: 2, capabilities2 }; } async function parseRefsAdResponse(stream, { service }) { - const capabilities = new Set(); - const refs = new Map(); - const symrefs = new Map(); + const capabilities = /* @__PURE__ */ new Set(); + const refs = /* @__PURE__ */ new Map(); + const symrefs = /* @__PURE__ */ new Map(); const read = GitPktLine.streamReader(stream); let lineOne = await read(); while (lineOne === null) @@ -14330,7 +16349,10 @@ async function parseRefsAdResponse(stream, { service }) { function splitAndAssert(line, sep2, expected) { const split = line.trim().split(sep2); if (split.length !== 2) { - throw new ParseError(`Two strings separated by '${expected}'`, line.toString("utf8")); + throw new ParseError( + `Two strings separated by '${expected}'`, + line.toString("utf8") + ); } return split; } @@ -14357,6 +16379,19 @@ var GitRemoteHTTP = class { static async capabilities() { return ["discover", "connect"]; } + /** + * @param {Object} args + * @param {HttpClient} args.http + * @param {ProgressCallback} [args.onProgress] + * @param {AuthCallback} [args.onAuth] + * @param {AuthFailureCallback} [args.onAuthFailure] + * @param {AuthSuccessCallback} [args.onAuthSuccess] + * @param {string} [args.corsProxy] + * @param {string} args.service + * @param {string} args.url + * @param {Object} args.headers + * @param {1 | 2} args.protocolVersion - Git Protocol Version + */ static async discover({ http, onProgress, @@ -14426,6 +16461,17 @@ var GitRemoteHTTP = class { } } } + /** + * @param {Object} args + * @param {HttpClient} args.http + * @param {ProgressCallback} [args.onProgress] + * @param {string} [args.corsProxy] + * @param {string} args.service + * @param {string} args.url + * @param {Object} [args.headers] + * @param {any} args.body + * @param {any} args.auth + */ static async connect({ http, onProgress, @@ -14483,7 +16529,7 @@ function parseRemoteUrl({ url }) { } var GitRemoteManager = class { static getRemoteHelperFor({ url }) { - const remoteHelpers = new Map(); + const remoteHelpers = /* @__PURE__ */ new Map(); remoteHelpers.set("http", GitRemoteHTTP); remoteHelpers.set("https", GitRemoteHTTP); const parts = parseRemoteUrl({ url }); @@ -14493,7 +16539,11 @@ var GitRemoteManager = class { if (remoteHelpers.has(parts.transport)) { return remoteHelpers.get(parts.transport); } - throw new UnknownTransportError(url, parts.transport, parts.transport === "ssh" ? translateSSHtoHTTP(url) : void 0); + throw new UnknownTransportError( + url, + parts.transport, + parts.transport === "ssh" ? translateSSHtoHTTP(url) : void 0 + ); } }; var lock$1 = null; @@ -14502,7 +16552,7 @@ var GitShallowManager = class { if (lock$1 === null) lock$1 = new import_async_lock.default(); const filepath = join(gitdir, "shallow"); - const oids = new Set(); + const oids = /* @__PURE__ */ new Set(); await lock$1.acquire(filepath, async function() { const text2 = await fs.read(filepath, { encoding: "utf8" }); if (text2 === null) @@ -14596,8 +16646,8 @@ function filterCapabilities(server, client) { } var pkg = { name: "isomorphic-git", - version: "1.21.0", - agent: "git/isomorphic-git@1.21.0" + version: "1.23.0", + agent: "git/isomorphic-git@1.23.0" }; var FIFO = class { constructor() { @@ -14635,7 +16685,9 @@ var FIFO = class { return { done: true }; } if (this._waiting) { - throw Error("You cannot call read until the previous call to read has returned!"); + throw Error( + "You cannot call read until the previous call to read has returned!" + ); } return new Promise((resolve) => { this._waiting = resolve; @@ -14721,6 +16773,73 @@ var GitSideBand = class { progress }; } + // static mux ({ + // protocol, // 'side-band' or 'side-band-64k' + // packetlines, + // packfile, + // progress, + // error + // }) { + // const MAX_PACKET_LENGTH = protocol === 'side-band-64k' ? 999 : 65519 + // let output = new PassThrough() + // packetlines.on('data', data => { + // if (data === null) { + // output.write(GitPktLine.flush()) + // } else { + // output.write(GitPktLine.encode(data)) + // } + // }) + // let packfileWasEmpty = true + // let packfileEnded = false + // let progressEnded = false + // let errorEnded = false + // let goodbye = Buffer.concat([ + // GitPktLine.encode(Buffer.from('010A', 'hex')), + // GitPktLine.flush() + // ]) + // packfile + // .on('data', data => { + // packfileWasEmpty = false + // const buffers = splitBuffer(data, MAX_PACKET_LENGTH) + // for (const buffer of buffers) { + // output.write( + // GitPktLine.encode(Buffer.concat([Buffer.from('01', 'hex'), buffer])) + // ) + // } + // }) + // .on('end', () => { + // packfileEnded = true + // if (!packfileWasEmpty) output.write(goodbye) + // if (progressEnded && errorEnded) output.end() + // }) + // progress + // .on('data', data => { + // const buffers = splitBuffer(data, MAX_PACKET_LENGTH) + // for (const buffer of buffers) { + // output.write( + // GitPktLine.encode(Buffer.concat([Buffer.from('02', 'hex'), buffer])) + // ) + // } + // }) + // .on('end', () => { + // progressEnded = true + // if (packfileEnded && errorEnded) output.end() + // }) + // error + // .on('data', data => { + // const buffers = splitBuffer(data, MAX_PACKET_LENGTH) + // for (const buffer of buffers) { + // output.write( + // GitPktLine.encode(Buffer.concat([Buffer.from('03', 'hex'), buffer])) + // ) + // } + // }) + // .on('end', () => { + // errorEnded = true + // if (progressEnded && packfileEnded) output.end() + // }) + // return output + // } }; async function parseUploadPackResponse(stream) { const { packetlines, packfile, progress } = GitSideBand.demux(stream); @@ -14785,8 +16904,10 @@ function writeUploadPackRequest({ `)); } if (since !== null) { - packstream.push(GitPktLine.encode(`deepen-since ${Math.floor(since.valueOf() / 1e3)} -`)); + packstream.push( + GitPktLine.encode(`deepen-since ${Math.floor(since.valueOf() / 1e3)} +`) + ); } for (const oid of exclude) { packstream.push(GitPktLine.encode(`deepen-not ${oid} @@ -14880,13 +17001,21 @@ async function _fetch({ } remoteRefs.delete(remoteRef2); } - const capabilities = filterCapabilities([...remoteHTTP.capabilities], [ - "multi_ack_detailed", - "no-done", - "side-band-64k", - "ofs-delta", - `agent=${pkg.agent}` - ]); + const capabilities = filterCapabilities( + [...remoteHTTP.capabilities], + [ + "multi_ack_detailed", + "no-done", + "side-band-64k", + // Note: I removed 'thin-pack' option since our code doesn't "fatten" packfiles, + // which is necessary for compatibility with git. It was the cause of mysterious + // 'fatal: pack has [x] unresolved deltas' errors that plagued us for some time. + // isomorphic-git is perfectly happy with thin packfiles in .git/objects/pack but + // canonical git it turns out is NOT. + "ofs-delta", + `agent=${pkg.agent}` + ] + ); if (relative) capabilities.push("deepen-relative"); const wants = singleBranch ? [oid] : remoteRefs.values(); @@ -14938,7 +17067,9 @@ async function _fetch({ try { const { object } = await _readObject({ fs, cache, gitdir, oid: oid2 }); const commit2 = new GitCommit(object); - const hasParents = await Promise.all(commit2.headers().parent.map((oid3) => hasObject({ fs, cache, gitdir, oid: oid3 }))); + const hasParents = await Promise.all( + commit2.headers().parent.map((oid3) => hasObject({ fs, cache, gitdir, oid: oid3 })) + ); const haveAllParents = hasParents.length === 0 || hasParents.every((has) => has); if (!haveAllParents) { oids.add(oid2); @@ -14953,8 +17084,8 @@ async function _fetch({ } await GitShallowManager.write({ fs, gitdir, oids }); if (singleBranch) { - const refs = new Map([[fullref, oid]]); - const symrefs = new Map(); + const refs = /* @__PURE__ */ new Map([[fullref, oid]]); + const symrefs = /* @__PURE__ */ new Map(); let bail = 10; let key2 = fullref; while (bail--) { @@ -15078,11 +17209,14 @@ async function _init({ for (const folder of folders) { await fs.mkdir(folder); } - await fs.write(gitdir + "/config", `[core] + await fs.write( + gitdir + "/config", + `[core] repositoryformatversion = 0 filemode = false bare = ${bare} -` + (bare ? "" : " logallrefupdates = true\n") + " symlinks = false\n ignorecase = true\n"); +` + (bare ? "" : " logallrefupdates = true\n") + " symlinks = false\n ignorecase = true\n" + ); await fs.write(gitdir + "/HEAD", `ref: refs/heads/${defaultBranch} `); } @@ -15471,10 +17605,10 @@ async function _findMergeBase({ fs, cache, gitdir, oids }) { const passes = oids.length; let heads = oids.map((oid, index2) => ({ index: index2, oid })); while (heads.length) { - const result = new Set(); + const result = /* @__PURE__ */ new Set(); for (const { oid, index: index2 } of heads) { if (!visits[oid]) - visits[oid] = new Set(); + visits[oid] = /* @__PURE__ */ new Set(); visits[oid].add(index2); if (visits[oid].size === passes) { result.add(oid); @@ -15483,7 +17617,7 @@ async function _findMergeBase({ fs, cache, gitdir, oids }) { if (result.size > 0) { return [...result]; } - const newheads = new Map(); + const newheads = /* @__PURE__ */ new Map(); for (const { oid, index: index2 } of heads) { try { const { object } = await _readObject({ fs, cache, gitdir, oid }); @@ -15538,6 +17672,7 @@ async function mergeTree({ cache, dir, gitdir = join(dir, ".git"), + index: index2, ourOid, baseOid, theirOid, @@ -15552,7 +17687,6 @@ async function mergeTree({ const baseTree = TREE({ ref: baseOid }); const theirTree = TREE({ ref: theirOid }); const unmergedFiles = []; - let cleanMerge = true; const results = await _walk({ fs, cache, @@ -15601,9 +17735,21 @@ async function mergeTree({ baseName, theirName, mergeDriver - }).then((r) => { - cleanMerge = cleanMerge && r.cleanMerge; - unmergedFiles.push(filepath); + }).then(async (r) => { + if (!r.cleanMerge) { + unmergedFiles.push(filepath); + if (!abortOnConflict) { + const baseOid2 = await base.oid(); + const ourOid2 = await ours.oid(); + const theirOid2 = await theirs.oid(); + index2.delete({ filepath }); + index2.insert({ filepath, oid: baseOid2, stage: 1 }); + index2.insert({ filepath, oid: ourOid2, stage: 2 }); + index2.insert({ filepath, oid: theirOid2, stage: 3 }); + } + } else if (!abortOnConflict) { + index2.insert({ filepath, oid: r.mergeResult.oid, stage: 0 }); + } return r.mergeResult; }); } @@ -15611,7 +17757,11 @@ async function mergeTree({ } } }, - reduce: async (parent, children2) => { + /** + * @param {TreeEntry} [parent] + * @param {Array} children + */ + reduce: unmergedFiles.length !== 0 && (!dir || abortOnConflict) ? void 0 : async (parent, children2) => { const entries = children2.filter(Boolean); if (!parent) return; @@ -15632,7 +17782,7 @@ async function mergeTree({ return parent; } }); - if (!cleanMerge) { + if (unmergedFiles.length !== 0) { if (dir && !abortOnConflict) { await _walk({ fs, @@ -15651,25 +17801,10 @@ async function mergeTree({ } }); } - throw new MergeConflictError(unmergedFiles); + return new MergeConflictError(unmergedFiles); } return results.oid; } -async function modified(entry, base) { - if (!entry && !base) - return false; - if (entry && !base) - return true; - if (!entry && base) - return true; - if (await entry.type() === "tree" && await base.type() === "tree") { - return false; - } - if (await entry.type() === await base.type() && await entry.mode() === await base.mode() && await entry.oid() === await base.oid()) { - return false; - } - return true; -} async function mergeBlobs({ fs, gitdir, @@ -15790,23 +17925,33 @@ async function _merge({ if (fastForwardOnly) { throw new FastForwardError(); } - const tree = await mergeTree({ - fs, - cache, - dir, - gitdir, - ourOid, - theirOid, - baseOid, - ourName: abbreviateRef(ours), - baseName: "base", - theirName: abbreviateRef(theirs), - dryRun, - abortOnConflict, - mergeDriver - }); + const tree = await GitIndexManager.acquire( + { fs, gitdir, cache, allowUnmerged: false }, + async (index2) => { + return mergeTree({ + fs, + cache, + dir, + gitdir, + index: index2, + ourOid, + theirOid, + baseOid, + ourName: abbreviateRef(ours), + baseName: "base", + theirName: abbreviateRef(theirs), + dryRun, + abortOnConflict, + mergeDriver + }); + } + ); + if (tree instanceof MergeConflictError) + throw tree; if (!message) { - message = `Merge branch '${abbreviateRef(theirs)}' into ${abbreviateRef(ours)}`; + message = `Merge branch '${abbreviateRef(theirs)}' into ${abbreviateRef( + ours + )}`; } const oid = await _commit({ fs, @@ -16373,7 +18518,7 @@ async function _isDescendent({ if (oid === ancestor) return false; const queue = [oid]; - const visited = new Set(); + const visited = /* @__PURE__ */ new Set(); let searchdepth = 0; while (queue.length) { if (searchdepth++ === depth) { @@ -16583,10 +18728,12 @@ async function listNotes({ async function _listRemotes({ fs, gitdir }) { const config = await GitConfigManager.get({ fs, gitdir }); const remoteNames = await config.getSubsections("remote"); - const remotes = Promise.all(remoteNames.map(async (remote) => { - const url = await config.get(`remote.${remote}.url`); - return { remote, url }; - })); + const remotes = Promise.all( + remoteNames.map(async (remote) => { + const url = await config.get(`remote.${remote}.url`); + return { remote, url }; + }) + ); return remotes; } async function listRemotes({ fs, dir, gitdir = join(dir, ".git") }) { @@ -16927,6 +19074,7 @@ async function log({ ref = "HEAD", depth, since, + // Date force, follow, cache = {} @@ -17181,8 +19329,8 @@ async function listCommitsAndTags({ finish }) { const shallows = await GitShallowManager.read({ fs, gitdir }); - const startingSet = new Set(); - const finishingSet = new Set(); + const startingSet = /* @__PURE__ */ new Set(); + const finishingSet = /* @__PURE__ */ new Set(); for (const ref of start) { startingSet.add(await GitRefManager.resolve({ fs, gitdir, ref })); } @@ -17193,7 +19341,7 @@ async function listCommitsAndTags({ } catch (err) { } } - const visited = new Set(); + const visited = /* @__PURE__ */ new Set(); async function walk2(oid) { visited.add(oid); const { type, object } = await _readObject({ fs, cache, gitdir, oid }); @@ -17227,7 +19375,7 @@ async function listObjects({ gitdir = join(dir, ".git"), oids }) { - const visited = new Set(); + const visited = /* @__PURE__ */ new Set(); async function walk2(oid) { if (visited.has(oid)) return; @@ -17302,8 +19450,12 @@ async function writeReceivePackRequest({ const packstream = []; let capsFirstLine = `\0 ${capabilities.join(" ")}`; for (const trip of triplets) { - packstream.push(GitPktLine.encode(`${trip.oldoid} ${trip.oid} ${trip.fullRef}${capsFirstLine} -`)); + packstream.push( + GitPktLine.encode( + `${trip.oldoid} ${trip.oid} ${trip.fullRef}${capsFirstLine} +` + ) + ); capsFirstLine = ""; } packstream.push(GitPktLine.flush()); @@ -17379,10 +19531,10 @@ async function _push({ } const oldoid = httpRemote.refs.get(fullRemoteRef) || "0000000000000000000000000000000000000000"; const thinPack = !httpRemote.capabilities.has("no-thin"); - let objects = new Set(); + let objects = /* @__PURE__ */ new Set(); if (!_delete) { const finish = [...httpRemote.refs.values()]; - let skipObjects = new Set(); + let skipObjects = /* @__PURE__ */ new Set(); if (oldoid !== "0000000000000000000000000000000000000000") { const mergebase = await _findMergeBase({ fs, @@ -17447,7 +19599,10 @@ async function _push({ } } } - const capabilities = filterCapabilities([...httpRemote.capabilities], ["report-status", "side-band-64k", `agent=${pkg.agent}`]); + const capabilities = filterCapabilities( + [...httpRemote.capabilities], + ["report-status", "side-band-64k", `agent=${pkg.agent}`] + ); const packstream1 = await writeReceivePackRequest({ capabilities, triplets: [{ oldoid, oid, fullRef: fullRemoteRef }] @@ -17480,7 +19635,10 @@ async function _push({ result.headers = res.headers; } if (remote && result.ok && result.refs[fullRemoteRef].ok) { - const ref2 = `refs/remotes/${remote}/${fullRemoteRef.replace("refs/heads", "")}`; + const ref2 = `refs/remotes/${remote}/${fullRemoteRef.replace( + "refs/heads", + "" + )}`; if (_delete) { await GitRefManager.deleteRef({ fs, gitdir, ref: ref2 }); } else { @@ -17714,7 +19872,11 @@ async function readObject({ result.object = GitAnnotatedTag.from(result.object).parse(); break; default: - throw new ObjectTypeError(result.oid, result.type, "blob|commit|tag|tree"); + throw new ObjectTypeError( + result.oid, + result.type, + "blob|commit|tag|tree" + ); } } else if (result.format === "deflated" || result.format === "wrapped") { result.type = result.format; @@ -17801,9 +19963,12 @@ async function remove({ assertParameter("fs", _fs); assertParameter("gitdir", gitdir); assertParameter("filepath", filepath); - await GitIndexManager.acquire({ fs: new FileSystem(_fs), gitdir, cache }, async function(index2) { - index2.delete({ filepath }); - }); + await GitIndexManager.acquire( + { fs: new FileSystem(_fs), gitdir, cache }, + async function(index2) { + index2.delete({ filepath }); + } + ); } catch (err) { err.caller = "git.remove"; throw err; @@ -18000,8 +20165,8 @@ async function resetIndex({ } } let stats = { - ctime: new Date(0), - mtime: new Date(0), + ctime: /* @__PURE__ */ new Date(0), + mtime: /* @__PURE__ */ new Date(0), dev: 0, ino: 0, mode: 0, @@ -18108,13 +20273,16 @@ async function status({ tree: headTree, path: filepath }); - const indexEntry = await GitIndexManager.acquire({ fs, gitdir, cache }, async function(index2) { - for (const entry of index2) { - if (entry.path === filepath) - return entry; + const indexEntry = await GitIndexManager.acquire( + { fs, gitdir, cache }, + async function(index2) { + for (const entry of index2) { + if (entry.path === filepath) + return entry; + } + return null; } - return null; - }); + ); const stats = await fs.lstat(join(dir, filepath)); const H = treeOid !== null; const I = indexEntry !== null; @@ -18334,29 +20502,34 @@ async function updateIndex({ assertParameter("filepath", filepath); const fs = new FileSystem(_fs); if (remove3) { - return await GitIndexManager.acquire({ fs, gitdir, cache }, async function(index2) { - let fileStats2; - if (!force) { - fileStats2 = await fs.lstat(join(dir, filepath)); - if (fileStats2) { - if (fileStats2.isDirectory()) { - throw new InvalidFilepathError("directory"); + return await GitIndexManager.acquire( + { fs, gitdir, cache }, + async function(index2) { + let fileStats2; + if (!force) { + fileStats2 = await fs.lstat(join(dir, filepath)); + if (fileStats2) { + if (fileStats2.isDirectory()) { + throw new InvalidFilepathError("directory"); + } + return; } - return; + } + if (index2.has({ filepath })) { + index2.delete({ + filepath + }); } } - if (index2.has({ filepath })) { - index2.delete({ - filepath - }); - } - }); + ); } let fileStats; if (!oid) { fileStats = await fs.lstat(join(dir, filepath)); if (!fileStats) { - throw new NotFoundError(`file at "${filepath}" on disk and "remove" not set`); + throw new NotFoundError( + `file at "${filepath}" on disk and "remove" not set` + ); } if (fileStats.isDirectory()) { throw new InvalidFilepathError("directory"); @@ -18364,11 +20537,13 @@ async function updateIndex({ } return await GitIndexManager.acquire({ fs, gitdir, cache }, async function(index2) { if (!add2 && !index2.has({ filepath })) { - throw new NotFoundError(`file at "${filepath}" in index and "add" not set`); + throw new NotFoundError( + `file at "${filepath}" in index and "add" not set` + ); } let stats = { - ctime: new Date(0), - mtime: new Date(0), + ctime: /* @__PURE__ */ new Date(0), + mtime: /* @__PURE__ */ new Date(0), dev: 0, ino: 0, mode, @@ -18622,6 +20797,7 @@ var index = { TREE, WORKDIR, add, + abortMerge, addNote, addRemote, annotatedTag, @@ -18688,7 +20864,7 @@ var index = { var isomorphic_git_default = index; // src/main.ts -var import_obsidian23 = __toModule(require("obsidian")); +var import_obsidian26 = require("obsidian"); // src/promiseQueue.ts init_polyfill_buffer(); @@ -18714,7 +20890,7 @@ var PromiseQueue = class { // src/settings.ts init_polyfill_buffer(); -var import_obsidian7 = __toModule(require("obsidian")); +var import_obsidian7 = require("obsidian"); // src/isomorphicGit.ts init_polyfill_buffer(); @@ -19043,7 +21219,7 @@ function canonicalize(obj, stack, replacementStack, replacer, key2) { } } var canonicalizedObj; - if (objectPrototypeToString.call(obj) === "[object Array]") { + if ("[object Array]" === objectPrototypeToString.call(obj)) { stack.push(obj); canonicalizedObj = new Array(obj.length); replacementStack.push(canonicalizedObj); @@ -19208,7 +21384,7 @@ function createPatch(fileName, oldStr, newStr, oldHeader, newHeader, options) { } // src/isomorphicGit.ts -var import_obsidian5 = __toModule(require("obsidian")); +var import_obsidian5 = require("obsidian"); // src/gitManager.ts init_polyfill_buffer(); @@ -19239,17 +21415,23 @@ var GitManager = class { return item.path.substring(beginLength).startsWith(title + "/"); }); childrenWithSameTitle.forEach((item) => children2.remove(item)); - const path2 = first2.path.substring(0, restPath.indexOf("/") + beginLength); + const path2 = first2.path.substring( + 0, + restPath.indexOf("/") + beginLength + ); list.push({ title, path: path2, vaultPath: this.getVaultPath(path2), - children: this._getTreeStructure(childrenWithSameTitle, (beginLength > 0 ? beginLength + title.length : title.length) + 1) + children: this._getTreeStructure( + childrenWithSameTitle, + (beginLength > 0 ? beginLength + title.length : title.length) + 1 + ) }); } else { list.push({ title: restPath, - statusResult: first2, + data: first2, path: first2.path, vaultPath: this.getVaultPath(first2.path) }); @@ -19258,17 +21440,21 @@ var GitManager = class { } return list; } + /* + * Sorts the children and simplifies the title + * If a node only contains another subdirectory, that subdirectory is moved up one level and integrated into the parent node + */ simplify(tree) { var _a2, _b, _c, _d; for (const node of tree) { while (true) { const singleChild = ((_a2 = node.children) == null ? void 0 : _a2.length) == 1; - const singleChildIsDir = ((_c = (_b = node.children) == null ? void 0 : _b.first()) == null ? void 0 : _c.statusResult) == void 0; + const singleChildIsDir = ((_c = (_b = node.children) == null ? void 0 : _b.first()) == null ? void 0 : _c.data) == void 0; if (!(node.children != void 0 && singleChild && singleChildIsDir)) break; const child = node.children.first(); node.title += "/" + child.title; - node.statusResult = child.statusResult; + node.data = child.data; node.path = child.path; node.vaultPath = child.vaultPath; node.children = child.children; @@ -19277,7 +21463,7 @@ var GitManager = class { this.simplify(node.children); } (_d = node.children) == null ? void 0 : _d.sort((a, b) => { - const dirCompare = (b.statusResult == void 0 ? 1 : 0) - (a.statusResult == void 0 ? 1 : 0); + const dirCompare = (b.data == void 0 ? 1 : 0) - (a.data == void 0 ? 1 : 0); if (dirCompare != 0) { return dirCompare; } else { @@ -19286,7 +21472,7 @@ var GitManager = class { }); } return tree.sort((a, b) => { - const dirCompare = (b.statusResult == void 0 ? 1 : 0) - (a.statusResult == void 0 ? 1 : 0); + const dirCompare = (b.data == void 0 ? 1 : 0) - (a.data == void 0 ? 1 : 0); if (dirCompare != 0) { return dirCompare; } else { @@ -19328,7 +21514,10 @@ var GitManager = class { template = template.replace("{{files}}", files); } const moment = window.moment; - template = template.replace("{{date}}", moment().format(this.plugin.settings.commitDateFormat)); + template = template.replace( + "{{date}}", + moment().format(this.plugin.settings.commitDateFormat) + ); if (this.plugin.settings.listChangedFilesInMessageBody) { template = template + "\n\nAffected files:\n" + (status2 != null ? status2 : await this.status()).staged.map((e) => e.path).join("\n"); } @@ -19338,13 +21527,14 @@ var GitManager = class { // src/myAdapter.ts init_polyfill_buffer(); -var import_obsidian2 = __toModule(require("obsidian")); +var import_obsidian2 = require("obsidian"); var MyAdapter = class { constructor(vault, plugin) { this.plugin = plugin; this.promises = {}; this.adapter = vault.adapter; this.vault = vault; + this.lastBasePath = this.plugin.settings.basePath; this.promises.readFile = this.readFile.bind(this); this.promises.writeFile = this.writeFile.bind(this); this.promises.readdir = this.readdir.bind(this); @@ -19369,6 +21559,11 @@ var MyAdapter = class { } } else { if (path2.endsWith(this.gitDir + "/index")) { + if (this.plugin.settings.basePath != this.lastBasePath) { + this.clearIndex(); + this.lastBasePath = this.plugin.settings.basePath; + return this.adapter.readBinary(path2); + } return (_a2 = this.index) != null ? _a2 : this.adapter.readBinary(path2); } const file = this.vault.getAbstractFileByPath(path2); @@ -19410,7 +21605,9 @@ var MyAdapter = class { const all = [...res.files, ...res.folders]; let formattedAll; if (path2 !== "/") { - formattedAll = all.map((e) => (0, import_obsidian2.normalizePath)(e.substring(path2.length))); + formattedAll = all.map( + (e) => (0, import_obsidian2.normalizePath)(e.substring(path2.length)) + ); } else { formattedAll = all; } @@ -19438,7 +21635,7 @@ var MyAdapter = class { } else { const stat = await this.adapter.stat(path2); if (stat == void 0) { - throw { "code": "ENOENT" }; + throw { code: "ENOENT" }; } this.indexctime = stat.ctime; this.indexmtime = stat.mtime; @@ -19481,7 +21678,7 @@ var MyAdapter = class { isSymbolicLink: () => false }; } else { - throw { "code": "ENOENT" }; + throw { code: "ENOENT" }; } } } @@ -19499,18 +21696,24 @@ var MyAdapter = class { } async saveAndClear() { if (this.index !== void 0) { - await this.adapter.writeBinary(this.plugin.gitManager.getVaultPath(this.gitDir + "/index"), this.index, { - ctime: this.indexctime, - mtime: this.indexmtime - }); + await this.adapter.writeBinary( + this.plugin.gitManager.getVaultPath(this.gitDir + "/index"), + this.index, + { + ctime: this.indexctime, + mtime: this.indexmtime + } + ); } + this.clearIndex(); + } + clearIndex() { this.index = void 0; this.indexctime = void 0; this.indexmtime = void 0; } get gitDir() { - var _a2; - return (_a2 = this.plugin.settings.gitDir) != null ? _a2 : ".git"; + return this.plugin.settings.gitDir || ".git"; } maybeLog(text2) { } @@ -19518,26 +21721,10 @@ var MyAdapter = class { // src/types.ts init_polyfill_buffer(); -var PluginState; -(function(PluginState2) { - PluginState2[PluginState2["idle"] = 0] = "idle"; - PluginState2[PluginState2["status"] = 1] = "status"; - PluginState2[PluginState2["pull"] = 2] = "pull"; - PluginState2[PluginState2["add"] = 3] = "add"; - PluginState2[PluginState2["commit"] = 4] = "commit"; - PluginState2[PluginState2["push"] = 5] = "push"; - PluginState2[PluginState2["conflicted"] = 6] = "conflicted"; -})(PluginState || (PluginState = {})); -var FileType; -(function(FileType2) { - FileType2[FileType2["staged"] = 0] = "staged"; - FileType2[FileType2["changed"] = 1] = "changed"; - FileType2[FileType2["pulled"] = 2] = "pulled"; -})(FileType || (FileType = {})); // src/ui/modals/generalModal.ts init_polyfill_buffer(); -var import_obsidian3 = __toModule(require("obsidian")); +var import_obsidian3 = require("obsidian"); var generalModalConfigDefaults = { options: [], placeholder: "", @@ -19596,7 +21783,7 @@ var GeneralModal = class extends import_obsidian3.SuggestModal { // src/utils.ts init_polyfill_buffer(); -var import_obsidian4 = __toModule(require("obsidian")); +var import_obsidian4 = require("obsidian"); var worthWalking2 = (filepath, root) => { if (filepath === "." || root == null || root.length === 0 || root === ".") { return true; @@ -19623,6 +21810,11 @@ function splitRemoteBranch(remoteBranch) { const [remote, ...branch2] = remoteBranch.split("/"); return [remote, branch2.length === 0 ? void 0 : branch2.join("/")]; } +function getDisplayPath(path2) { + if (path2.endsWith("/")) + return path2; + return path2.split("/").last().replace(".md", ""); +} // src/isomorphicGit.ts var IsomorphicGit = class extends GitManager { @@ -19632,6 +21824,8 @@ var IsomorphicGit = class extends GitManager { this.HEAD = 1; this.WORKDIR = 2; this.STAGE = 3; + // Mapping from statusMatrix to git status codes based off git status --short + // See: https://isomorphic-git.org/docs/en/statusMatrix this.status_mapping = { "000": " ", "003": "AD", @@ -19642,8 +21836,10 @@ var IsomorphicGit = class extends GitManager { "101": " D", "103": "MD", "110": "DA", + // Technically, two files: first one is deleted "D " and second one is untracked "??" "111": " ", "120": "DA", + // Same as "110" "121": " M", "122": "M ", "123": "MM" @@ -19664,10 +21860,16 @@ var IsomorphicGit = class extends GitManager { }; }, onAuthFailure: async () => { - new import_obsidian5.Notice("Authentication failed. Please try with different credentials"); - const username = await new GeneralModal({ placeholder: "Specify your username" }).open(); + new import_obsidian5.Notice( + "Authentication failed. Please try with different credentials" + ); + const username = await new GeneralModal({ + placeholder: "Specify your username" + }).open(); if (username) { - const password = await new GeneralModal({ placeholder: "Specify your password/personal access token" }).open(); + const password = await new GeneralModal({ + placeholder: "Specify your password/personal access token" + }).open(); if (password) { this.plugin.localStorage.setUsername(username); this.plugin.localStorage.setPassword(password); @@ -19690,7 +21892,13 @@ var IsomorphicGit = class extends GitManager { body = await collect2(body); body = body.buffer; } - const res = await (0, import_obsidian5.requestUrl)({ url, method, headers, body, throw: false }); + const res = await (0, import_obsidian5.requestUrl)({ + url, + method, + headers, + body, + throw: false + }); return { url, method, @@ -19716,13 +21924,20 @@ var IsomorphicGit = class extends GitManager { async status() { let notice; const timeout = window.setTimeout(function() { - notice = new import_obsidian5.Notice("This takes longer: Getting status", this.noticeLength); + notice = new import_obsidian5.Notice( + "This takes longer: Getting status", + this.noticeLength + ); }, 2e4); try { - this.plugin.setState(PluginState.status); + this.plugin.setState(1 /* status */); const status2 = (await this.wrapFS(isomorphic_git_default.statusMatrix({ ...this.getRepo() }))).map((row) => this.getFileStatusResult(row)); - const changed = status2.filter((fileStatus) => fileStatus.working_dir !== " "); - const staged = status2.filter((fileStatus) => fileStatus.index !== " " && fileStatus.index !== "U"); + const changed = status2.filter( + (fileStatus) => fileStatus.working_dir !== " " + ); + const staged = status2.filter( + (fileStatus) => fileStatus.index !== " " && fileStatus.index !== "U" + ); const conflicted = []; window.clearTimeout(timeout); notice == null ? void 0 : notice.hide(); @@ -19734,8 +21949,13 @@ var IsomorphicGit = class extends GitManager { throw error; } } - async commitAll({ message, status: status2, unstagedFiles }) { + async commitAll({ + message, + status: status2, + unstagedFiles + }) { try { + await this.checkAuthorInfo(); await this.stageAll({ status: status2, unstagedFiles }); return this.commit(message); } catch (error) { @@ -19745,7 +21965,8 @@ var IsomorphicGit = class extends GitManager { } async commit(message) { try { - this.plugin.setState(PluginState.commit); + await this.checkAuthorInfo(); + this.plugin.setState(4 /* commit */); const formatMessage = await this.formatCommitMessage(message); const hadConflict = this.plugin.localStorage.getConflict() === "true"; let parent = void 0; @@ -19753,11 +21974,13 @@ var IsomorphicGit = class extends GitManager { const branchInfo = await this.branchInfo(); parent = [branchInfo.current, branchInfo.tracking]; } - await this.wrapFS(isomorphic_git_default.commit({ - ...this.getRepo(), - message: formatMessage, - parent - })); + await this.wrapFS( + isomorphic_git_default.commit({ + ...this.getRepo(), + message: formatMessage, + parent + }) + ); this.plugin.localStorage.setConflict("false"); return; } catch (error) { @@ -19774,24 +21997,50 @@ var IsomorphicGit = class extends GitManager { vaultPath = this.getVaultPath(filepath); } try { - this.plugin.setState(PluginState.add); + this.plugin.setState(3 /* add */); if (await this.app.vault.adapter.exists(vaultPath)) { - await this.wrapFS(isomorphic_git_default.add({ ...this.getRepo(), filepath: gitPath })); + await this.wrapFS( + isomorphic_git_default.add({ ...this.getRepo(), filepath: gitPath }) + ); } else { - await this.wrapFS(isomorphic_git_default.remove({ ...this.getRepo(), filepath: gitPath })); + await this.wrapFS( + isomorphic_git_default.remove({ ...this.getRepo(), filepath: gitPath }) + ); } } catch (error) { this.plugin.displayError(error); throw error; } } - async stageAll({ dir, status: status2, unstagedFiles }) { + async stageAll({ + dir, + status: status2, + unstagedFiles + }) { try { if (status2) { - await Promise.all(status2.changed.map((file) => file.working_dir !== "D" ? this.wrapFS(isomorphic_git_default.add({ ...this.getRepo(), filepath: file.path })) : isomorphic_git_default.remove({ ...this.getRepo(), filepath: file.path }))); + await Promise.all( + status2.changed.map( + (file) => file.working_dir !== "D" ? this.wrapFS( + isomorphic_git_default.add({ + ...this.getRepo(), + filepath: file.path + }) + ) : isomorphic_git_default.remove({ + ...this.getRepo(), + filepath: file.path + }) + ) + ); } else { const filesToStage = unstagedFiles != null ? unstagedFiles : await this.getUnstagedFiles(dir != null ? dir : "."); - await Promise.all(filesToStage.map(({ filepath, deleted }) => deleted ? isomorphic_git_default.remove({ ...this.getRepo(), filepath }) : this.wrapFS(isomorphic_git_default.add({ ...this.getRepo(), filepath })))); + await Promise.all( + filesToStage.map( + ({ filepath, deleted }) => deleted ? isomorphic_git_default.remove({ ...this.getRepo(), filepath }) : this.wrapFS( + isomorphic_git_default.add({ ...this.getRepo(), filepath }) + ) + ) + ); } } catch (error) { this.plugin.displayError(error); @@ -19800,15 +22049,20 @@ var IsomorphicGit = class extends GitManager { } async unstage(filepath, relativeToVault) { try { - this.plugin.setState(PluginState.add); + this.plugin.setState(3 /* add */); filepath = this.getPath(filepath, relativeToVault); - await this.wrapFS(isomorphic_git_default.resetIndex({ ...this.getRepo(), filepath })); + await this.wrapFS( + isomorphic_git_default.resetIndex({ ...this.getRepo(), filepath }) + ); } catch (error) { this.plugin.displayError(error); throw error; } } - async unstageAll({ dir, status: status2 }) { + async unstageAll({ + dir, + status: status2 + }) { try { let staged; if (status2) { @@ -19817,7 +22071,13 @@ var IsomorphicGit = class extends GitManager { const res = await this.getStagedFiles(dir != null ? dir : "."); staged = res.map(({ filepath }) => filepath); } - await this.wrapFS(Promise.all(staged.map((file) => isomorphic_git_default.resetIndex({ ...this.getRepo(), filepath: file })))); + await this.wrapFS( + Promise.all( + staged.map( + (file) => isomorphic_git_default.resetIndex({ ...this.getRepo(), filepath: file }) + ) + ) + ); } catch (error) { this.plugin.displayError(error); throw error; @@ -19825,14 +22085,23 @@ var IsomorphicGit = class extends GitManager { } async discard(filepath) { try { - this.plugin.setState(PluginState.add); - await this.wrapFS(isomorphic_git_default.checkout({ ...this.getRepo(), filepaths: [filepath], force: true })); + this.plugin.setState(3 /* add */); + await this.wrapFS( + isomorphic_git_default.checkout({ + ...this.getRepo(), + filepaths: [filepath], + force: true + }) + ); } catch (error) { this.plugin.displayError(error); throw error; } } - async discardAll({ dir, status: status2 }) { + async discardAll({ + dir, + status: status2 + }) { let files = []; if (status2) { if (dir != void 0) { @@ -19841,10 +22110,18 @@ var IsomorphicGit = class extends GitManager { files = status2.changed.map((file) => file.path); } } else { - files = (await this.getUnstagedFiles(dir)).map(({ filepath }) => filepath); + files = (await this.getUnstagedFiles(dir)).map( + ({ filepath }) => filepath + ); } try { - await this.wrapFS(isomorphic_git_default.checkout({ ...this.getRepo(), filepaths: files, force: true })); + await this.wrapFS( + isomorphic_git_default.checkout({ + ...this.getRepo(), + filepaths: files, + force: true + }) + ); } catch (error) { this.plugin.displayError(error); throw error; @@ -19869,30 +22146,39 @@ var IsomorphicGit = class extends GitManager { async pull() { const progressNotice = this.showNotice("Initializing pull"); try { - this.plugin.setState(PluginState.pull); + this.plugin.setState(2 /* pull */); const localCommit = await this.resolveRef("HEAD"); await this.fetch(); const branchInfo = await this.branchInfo(); - await this.wrapFS(isomorphic_git_default.merge({ - ...this.getRepo(), - ours: branchInfo.current, - theirs: branchInfo.tracking, - abortOnConflict: false - })); - await this.wrapFS(isomorphic_git_default.checkout({ - ...this.getRepo(), - ref: branchInfo.current, - onProgress: (progress) => { - if (progressNotice !== void 0) { - progressNotice.noticeEl.innerText = this.getProgressText("Checkout", progress); - } - }, - remote: branchInfo.remote - })); + await this.checkAuthorInfo(); + const mergeRes = await this.wrapFS( + isomorphic_git_default.merge({ + ...this.getRepo(), + ours: branchInfo.current, + theirs: branchInfo.tracking, + abortOnConflict: false + }) + ); + if (!mergeRes.alreadyMerged) { + await this.wrapFS( + isomorphic_git_default.checkout({ + ...this.getRepo(), + ref: branchInfo.current, + onProgress: (progress) => { + if (progressNotice !== void 0) { + progressNotice.noticeEl.innerText = this.getProgressText("Checkout", progress); + } + }, + remote: branchInfo.remote + }) + ); + } progressNotice == null ? void 0 : progressNotice.hide(); const upstreamCommit = await this.resolveRef("HEAD"); - this.plugin.lastUpdate = Date.now(); - const changedFiles = await this.getFileChangesCount(localCommit, upstreamCommit); + const changedFiles = await this.getFileChangesCount( + localCommit, + upstreamCommit + ); this.showNotice("Finished pull", false); return changedFiles.map((file) => ({ path: file.path, @@ -19903,7 +22189,9 @@ var IsomorphicGit = class extends GitManager { } catch (error) { progressNotice == null ? void 0 : progressNotice.hide(); if (error instanceof Errors.MergeConflictError) { - this.plugin.handleConflict(error.data.filepaths.map((file) => this.getVaultPath(file))); + this.plugin.handleConflict( + error.data.filepaths.map((file) => this.getVaultPath(file)) + ); } this.plugin.displayError(error); throw error; @@ -19915,20 +22203,22 @@ var IsomorphicGit = class extends GitManager { } const progressNotice = this.showNotice("Initializing push"); try { - this.plugin.setState(PluginState.status); + this.plugin.setState(1 /* status */); const status2 = await this.branchInfo(); const trackingBranch = status2.tracking; const currentBranch2 = status2.current; const numChangedFiles = (await this.getFileChangesCount(currentBranch2, trackingBranch)).length; - this.plugin.setState(PluginState.push); - await this.wrapFS(isomorphic_git_default.push({ - ...this.getRepo(), - onProgress: (progress) => { - if (progressNotice !== void 0) { - progressNotice.noticeEl.innerText = this.getProgressText("Pushing", progress); + this.plugin.setState(5 /* push */); + await this.wrapFS( + isomorphic_git_default.push({ + ...this.getRepo(), + onProgress: (progress) => { + if (progressNotice !== void 0) { + progressNotice.noticeEl.innerText = this.getProgressText("Pushing", progress); + } } - } - })); + }) + ); progressNotice == null ? void 0 : progressNotice.hide(); return numChangedFiles; } catch (error) { @@ -19937,6 +22227,18 @@ var IsomorphicGit = class extends GitManager { throw error; } } + async getUnpushedCommits() { + const status2 = await this.branchInfo(); + const trackingBranch = status2.tracking; + const currentBranch2 = status2.current; + const localCommit = await this.resolveRef(currentBranch2); + const upstreamCommit = await this.resolveRef(trackingBranch); + const changedFiles = await this.getFileChangesCount( + localCommit, + upstreamCommit + ); + return changedFiles.length; + } async canPush() { const status2 = await this.branchInfo(); const trackingBranch = status2.tracking; @@ -19946,7 +22248,9 @@ var IsomorphicGit = class extends GitManager { return current != tracking; } async checkRequirements() { - const headExists = await this.plugin.app.vault.adapter.exists(`${this.getRepo().dir}/.git/HEAD`); + const headExists = await this.plugin.app.vault.adapter.exists( + `${this.getRepo().dir}/.git/HEAD` + ); return headExists ? "valid" : "missing-repo"; } async branchInfo() { @@ -19976,12 +22280,14 @@ var IsomorphicGit = class extends GitManager { } async checkout(branch2, remote) { try { - return this.wrapFS(isomorphic_git_default.checkout({ - ...this.getRepo(), - ref: branch2, - force: !!remote, - remote - })); + return this.wrapFS( + isomorphic_git_default.checkout({ + ...this.getRepo(), + ref: branch2, + force: !!remote, + remote + }) + ); } catch (error) { this.plugin.displayError(error); throw error; @@ -19989,7 +22295,9 @@ var IsomorphicGit = class extends GitManager { } async createBranch(branch2) { try { - await this.wrapFS(isomorphic_git_default.branch({ ...this.getRepo(), ref: branch2, checkout: true })); + await this.wrapFS( + isomorphic_git_default.branch({ ...this.getRepo(), ref: branch2, checkout: true }) + ); } catch (error) { this.plugin.displayError(error); throw error; @@ -19997,7 +22305,9 @@ var IsomorphicGit = class extends GitManager { } async deleteBranch(branch2) { try { - await this.wrapFS(isomorphic_git_default.deleteBranch({ ...this.getRepo(), ref: branch2 })); + await this.wrapFS( + isomorphic_git_default.deleteBranch({ ...this.getRepo(), ref: branch2 }) + ); } catch (error) { this.plugin.displayError(error); throw error; @@ -20017,17 +22327,19 @@ var IsomorphicGit = class extends GitManager { async clone(url, dir, depth) { const progressNotice = this.showNotice("Initializing clone"); try { - await this.wrapFS(isomorphic_git_default.clone({ - ...this.getRepo(), - dir, - url, - depth, - onProgress: (progress) => { - if (progressNotice !== void 0) { - progressNotice.noticeEl.innerText = this.getProgressText("Cloning", progress); + await this.wrapFS( + isomorphic_git_default.clone({ + ...this.getRepo(), + dir, + url, + depth, + onProgress: (progress) => { + if (progressNotice !== void 0) { + progressNotice.noticeEl.innerText = this.getProgressText("Cloning", progress); + } } - } - })); + }) + ); progressNotice == null ? void 0 : progressNotice.hide(); } catch (error) { progressNotice == null ? void 0 : progressNotice.hide(); @@ -20037,11 +22349,13 @@ var IsomorphicGit = class extends GitManager { } async setConfig(path2, value) { try { - return this.wrapFS(isomorphic_git_default.setConfig({ - ...this.getRepo(), - path: path2, - value - })); + return this.wrapFS( + isomorphic_git_default.setConfig({ + ...this.getRepo(), + path: path2, + value + }) + ); } catch (error) { this.plugin.displayError(error); throw error; @@ -20049,10 +22363,12 @@ var IsomorphicGit = class extends GitManager { } async getConfig(path2) { try { - return this.wrapFS(isomorphic_git_default.getConfig({ - ...this.getRepo(), - path: path2 - })); + return this.wrapFS( + isomorphic_git_default.getConfig({ + ...this.getRepo(), + path: path2 + }) + ); } catch (error) { this.plugin.displayError(error); throw error; @@ -20080,7 +22396,14 @@ var IsomorphicGit = class extends GitManager { } async setRemote(name, url) { try { - await this.wrapFS(isomorphic_git_default.addRemote({ ...this.getRepo(), remote: name, url, force: true })); + await this.wrapFS( + isomorphic_git_default.addRemote({ + ...this.getRepo(), + remote: name, + url, + force: true + }) + ); } catch (error) { this.plugin.displayError(error); throw error; @@ -20088,73 +22411,128 @@ var IsomorphicGit = class extends GitManager { } async getRemoteBranches(remote) { let remoteBranches = []; - remoteBranches.push(...await this.wrapFS(isomorphic_git_default.listBranches({ ...this.getRepo(), remote }))); + remoteBranches.push( + ...await this.wrapFS( + isomorphic_git_default.listBranches({ ...this.getRepo(), remote }) + ) + ); remoteBranches.remove("HEAD"); remoteBranches = remoteBranches.map((e) => `${remote}/${e}`); return remoteBranches; } async getRemotes() { - return (await this.wrapFS(isomorphic_git_default.listRemotes({ ...this.getRepo() }))).map((remoteUrl) => remoteUrl.remote); + return (await this.wrapFS(isomorphic_git_default.listRemotes({ ...this.getRepo() }))).map( + (remoteUrl) => remoteUrl.remote + ); } async removeRemote(remoteName) { - await this.wrapFS(isomorphic_git_default.deleteRemote({ ...this.getRepo(), remote: remoteName })); + await this.wrapFS( + isomorphic_git_default.deleteRemote({ ...this.getRepo(), remote: remoteName }) + ); } async getRemoteUrl(remote) { var _a2; return (_a2 = (await this.wrapFS(isomorphic_git_default.listRemotes({ ...this.getRepo() }))).filter((item) => item.remote == remote)[0]) == null ? void 0 : _a2.url; } + async log(_, __ = true, limit) { + const logs = await this.wrapFS( + isomorphic_git_default.log({ ...this.getRepo(), depth: limit }) + ); + return Promise.all( + logs.map(async (log2) => { + const completeMessage = log2.commit.message.split("\n\n"); + return { + message: completeMessage[0], + body: completeMessage.slice(1).join("\n\n"), + date: new Date( + log2.commit.committer.timestamp + ).toDateString(), + diff: { + changed: 0, + files: (await this.getFileChangesCount( + log2.commit.parent.first(), + log2.oid + )).map((item) => { + return { + path: item.path, + status: item.type, + vault_path: this.getVaultPath(item.path), + hash: log2.oid, + binary: void 0 + }; + }) + }, + hash: log2.oid, + refs: [] + }; + }) + ); + } updateBasePath(basePath) { this.getRepo().dir = basePath; } async updateUpstreamBranch(remoteBranch) { const [remote, branch2] = splitRemoteBranch(remoteBranch); const branchInfo = await this.branchInfo(); - await this.setConfig(`branch.${branchInfo.current}.merge`, `refs/heads/${branch2}`); + await this.setConfig( + `branch.${branchInfo.current}.merge`, + `refs/heads/${branch2}` + ); await this.setConfig(`branch.${branch2}.remote`, remote); } updateGitPath(gitPath) { return; } async getFileChangesCount(commitHash1, commitHash2) { - return this.walkDifference({ walkers: [isomorphic_git_default.TREE({ ref: commitHash1 }), isomorphic_git_default.TREE({ ref: commitHash2 })] }); + return this.walkDifference({ + walkers: [ + isomorphic_git_default.TREE({ ref: commitHash1 }), + isomorphic_git_default.TREE({ ref: commitHash2 }) + ] + }); } - async walkDifference({ walkers, dir: base }) { - const res = await this.wrapFS(isomorphic_git_default.walk({ - ...this.getRepo(), - trees: walkers, - map: async function(filepath, [A, B]) { - if (!worthWalking2(filepath, base)) { - return null; + async walkDifference({ + walkers, + dir: base + }) { + const res = await this.wrapFS( + isomorphic_git_default.walk({ + ...this.getRepo(), + trees: walkers, + map: async function(filepath, [A, B]) { + if (!worthWalking2(filepath, base)) { + return null; + } + if (await (A == null ? void 0 : A.type()) === "tree" || await (B == null ? void 0 : B.type()) === "tree") { + return; + } + const Aoid = await (A == null ? void 0 : A.oid()); + const Boid = await (B == null ? void 0 : B.oid()); + let type = "equal"; + if (Aoid !== Boid) { + type = "M"; + } + if (Aoid === void 0) { + type = "A"; + } + if (Boid === void 0) { + type = "D"; + } + if (Aoid === void 0 && Boid === void 0) { + console.log("Something weird happened:"); + console.log(A); + console.log(B); + } + if (type === "equal") { + return; + } + return { + path: filepath, + type + }; } - if (await (A == null ? void 0 : A.type()) === "tree" || await (B == null ? void 0 : B.type()) === "tree") { - return; - } - const Aoid = await (A == null ? void 0 : A.oid()); - const Boid = await (B == null ? void 0 : B.oid()); - let type = "equal"; - if (Aoid !== Boid) { - type = "modify"; - } - if (Aoid === void 0) { - type = "add"; - } - if (Boid === void 0) { - type = "remove"; - } - if (Aoid === void 0 && Boid === void 0) { - console.log("Something weird happened:"); - console.log(A); - console.log(B); - } - if (type === "equal") { - return; - } - return { - path: filepath, - type - }; - } - })); + }) + ); return res; } async getStagedFiles(dir = ".") { @@ -20172,59 +22550,67 @@ var IsomorphicGit = class extends GitManager { async getUnstagedFiles(base = ".") { let notice; const timeout = window.setTimeout(function() { - notice = new import_obsidian5.Notice("This takes longer: Getting status", this.noticeLength); + notice = new import_obsidian5.Notice( + "This takes longer: Getting status", + this.noticeLength + ); }, 2e4); try { const repo = this.getRepo(); - const res = await this.wrapFS(isomorphic_git_default.walk({ - ...repo, - trees: [isomorphic_git_default.WORKDIR(), isomorphic_git_default.STAGE()], - map: async function(filepath, [workdir, stage]) { - if (!stage && workdir) { - const isIgnored2 = await isomorphic_git_default.isIgnored({ - ...repo, - filepath - }); - if (isIgnored2) { + const res = await this.wrapFS( + //Modified from `git.statusMatrix` + isomorphic_git_default.walk({ + ...repo, + trees: [isomorphic_git_default.WORKDIR(), isomorphic_git_default.STAGE()], + map: async function(filepath, [workdir, stage]) { + if (!stage && workdir) { + const isIgnored2 = await isomorphic_git_default.isIgnored({ + ...repo, + filepath + }); + if (isIgnored2) { + return null; + } + } + if (!worthWalking2(filepath, base)) { return null; } - } - if (!worthWalking2(filepath, base)) { + const [workdirType, stageType] = await Promise.all([ + workdir && workdir.type(), + stage && stage.type() + ]); + const isBlob = [workdirType, stageType].includes( + "blob" + ); + if ((workdirType === "tree" || workdirType === "special") && !isBlob) + return; + if (stageType === "commit") + return null; + if ((stageType === "tree" || stageType === "special") && !isBlob) + return; + const stageOid = stageType === "blob" ? await stage.oid() : void 0; + let workdirOid; + if (workdirType === "blob" && stageType !== "blob") { + workdirOid = "42"; + } else if (workdirType === "blob") { + workdirOid = await workdir.oid(); + } + if (!workdirOid) { + return { + filepath, + deleted: true + }; + } + if (workdirOid !== stageOid) { + return { + filepath, + deleted: false + }; + } return null; } - const [workdirType, stageType] = await Promise.all([ - workdir && workdir.type(), - stage && stage.type() - ]); - const isBlob = [workdirType, stageType].includes("blob"); - if ((workdirType === "tree" || workdirType === "special") && !isBlob) - return; - if (stageType === "commit") - return null; - if ((stageType === "tree" || stageType === "special") && !isBlob) - return; - const stageOid = stageType === "blob" ? await stage.oid() : void 0; - let workdirOid; - if (workdirType === "blob" && stageType !== "blob") { - workdirOid = "42"; - } else if (workdirType === "blob") { - workdirOid = await workdir.oid(); - } - if (!workdirOid) { - return { - filepath, - deleted: true - }; - } - if (workdirOid !== stageOid) { - return { - filepath, - deleted: false - }; - } - return null; - } - })); + }) + ); window.clearTimeout(timeout); notice == null ? void 0 : notice.hide(); return res; @@ -20235,14 +22621,48 @@ var IsomorphicGit = class extends GitManager { throw error; } } - async getDiffString(filePath, stagedChanges = false) { + async getDiffString(filePath, stagedChanges = false, hash2) { + const vaultPath = this.getVaultPath(filePath); const map = async (file, [A]) => { if (filePath == file) { const oid = await A.oid(); - const contents = await isomorphic_git_default.readBlob({ ...this.getRepo(), oid }); + const contents = await isomorphic_git_default.readBlob({ + ...this.getRepo(), + oid + }); return contents.blob; } }; + if (hash2) { + const commitContent = await readBlob({ + ...this.getRepo(), + filepath: filePath, + oid: hash2 + }).then((headBlob) => new TextDecoder().decode(headBlob.blob)).catch((err) => { + if (err instanceof isomorphic_git_default.Errors.NotFoundError) + return void 0; + throw err; + }); + const commit2 = await isomorphic_git_default.readCommit({ + ...this.getRepo(), + oid: hash2 + }); + const previousContent = await readBlob({ + ...this.getRepo(), + filepath: filePath, + oid: commit2.commit.parent.first() + }).then((headBlob) => new TextDecoder().decode(headBlob.blob)).catch((err) => { + if (err instanceof isomorphic_git_default.Errors.NotFoundError) + return void 0; + throw err; + }); + const diff2 = createPatch( + vaultPath, + previousContent != null ? previousContent : "", + commitContent != null ? commitContent : "" + ); + return diff2; + } const stagedBlob = (await isomorphic_git_default.walk({ ...this.getRepo(), trees: [isomorphic_git_default.STAGE()], @@ -20250,18 +22670,31 @@ var IsomorphicGit = class extends GitManager { })).first(); const stagedContent = new TextDecoder().decode(stagedBlob); if (stagedChanges) { - const headBlob = await readBlob({ ...this.getRepo(), filepath: filePath, oid: await this.resolveRef("HEAD") }); - const headContent = new TextDecoder().decode(headBlob.blob); - const diff2 = createPatch(filePath, headContent, stagedContent); + const headContent = await this.resolveRef("HEAD").then( + (oid) => readBlob({ + ...this.getRepo(), + filepath: filePath, + oid + }) + ).then((headBlob) => new TextDecoder().decode(headBlob.blob)).catch((err) => { + if (err instanceof isomorphic_git_default.Errors.NotFoundError) + return void 0; + throw err; + }); + const diff2 = createPatch( + vaultPath, + headContent != null ? headContent : "", + stagedContent + ); return diff2; } else { let workdirContent; - if (await app.vault.adapter.exists(filePath)) { - workdirContent = await app.vault.adapter.read(filePath); + if (await app.vault.adapter.exists(vaultPath)) { + workdirContent = await app.vault.adapter.read(vaultPath); } else { workdirContent = ""; } - const diff2 = createPatch(filePath, stagedContent, workdirContent); + const diff2 = createPatch(vaultPath, stagedContent, workdirContent); return diff2; } } @@ -20281,9 +22714,19 @@ var IsomorphicGit = class extends GitManager { vault_path: this.getVaultPath(row[this.FILE]) }; } + async checkAuthorInfo() { + const name = await this.getConfig("user.name"); + const email = await this.getConfig("user.email"); + if (!name || !email) { + throw "Git author information is not set. Please set it in the settings."; + } + } showNotice(message, infinity = true) { if (!this.plugin.settings.disablePopups) { - return new import_obsidian5.Notice(message, infinity ? this.noticeLength : void 0); + return new import_obsidian5.Notice( + message, + infinity ? this.noticeLength : void 0 + ); } } }; @@ -20291,7 +22734,10 @@ function fromValue2(value) { let queue = [value]; return { next() { - return Promise.resolve({ done: queue.length === 0, value: queue.pop() }); + return Promise.resolve({ + done: queue.length === 0, + value: queue.pop() + }); }, return() { queue = []; @@ -20344,18 +22790,19 @@ async function collect2(iterable) { // src/simpleGit.ts init_polyfill_buffer(); -var import_child_process2 = __toModule(require("child_process")); -var import_obsidian6 = __toModule(require("obsidian")); -var path = __toModule(require("path")); -var import_path = __toModule(require("path")); +var import_child_process2 = require("child_process"); +var import_debug2 = __toESM(require_browser()); +var import_obsidian6 = require("obsidian"); +var path = __toESM(require("path")); +var import_path = require("path"); -// node_modules/.pnpm/simple-git@3.15.1_supports-color@7.2.0/node_modules/simple-git/dist/esm/index.js +// node_modules/.pnpm/github.com+Vinzent03+git-js@6b9a2d899bc8256e38a1d6f0b8a88116ba2bf56a_supports-color@7.2.0/node_modules/simple-git/dist/esm/index.js init_polyfill_buffer(); -var import_file_exists = __toModule(require_dist()); -var import_debug = __toModule(require_browser()); -var import_child_process = __toModule(require("child_process")); -var import_promise_deferred = __toModule(require_dist2()); -var import_promise_deferred2 = __toModule(require_dist2()); +var import_file_exists = __toESM(require_dist(), 1); +var import_debug = __toESM(require_browser(), 1); +var import_child_process = require("child_process"); +var import_promise_deferred = __toESM(require_dist2(), 1); +var import_promise_deferred2 = __toESM(require_dist2(), 1); var __defProp2 = Object.defineProperty; var __defProps = Object.defineProperties; var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; @@ -20377,7 +22824,7 @@ var __spreadValues = (a, b) => { return a; }; var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b)); -var __markAsModule2 = (target) => __defProp2(target, "__esModule", { value: true }); +var __markAsModule = (target) => __defProp2(target, "__esModule", { value: true }); var __esm2 = (fn, res) => function __init() { return fn && (res = (0, fn[__getOwnPropNames2(fn)[0]])(fn = 0)), res; }; @@ -20388,7 +22835,7 @@ var __export2 = (target, all) => { for (var name in all) __defProp2(target, name, { get: all[name], enumerable: true }); }; -var __reExport2 = (target, module2, copyDefault, desc) => { +var __reExport = (target, module2, copyDefault, desc) => { if (module2 && typeof module2 === "object" || typeof module2 === "function") { for (let key2 of __getOwnPropNames2(module2)) if (!__hasOwnProp2.call(target, key2) && (copyDefault || key2 !== "default")) @@ -20396,9 +22843,9 @@ var __reExport2 = (target, module2, copyDefault, desc) => { } return target; }; -var __toCommonJS = /* @__PURE__ */ ((cache) => { +var __toCommonJS2 = /* @__PURE__ */ ((cache) => { return (module2, temp) => { - return cache && cache.get(module2) || (temp = __reExport2(__markAsModule2({}), module2, 1), cache && cache.set(module2, temp), temp); + return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp); }; })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0); var __async = (__this, __arguments, generator) => { @@ -21208,7 +23655,11 @@ function listConfigTask(scope) { function config_default() { return { addConfig(key2, value, ...rest) { - return this._runTask(addConfigTask(key2, value, rest[0] === true, asConfigScope(rest[1], "local")), trailingFunctionArgument(arguments)); + return this._runTask(addConfigTask(key2, value, rest[0] === true, asConfigScope( + rest[1], + "local" + /* local */ + )), trailingFunctionArgument(arguments)); }, getConfig(key2, scope) { return this._runTask(getConfigTask(key2, asConfigScope(scope, void 0)), trailingFunctionArgument(arguments)); @@ -21388,9 +23839,9 @@ function createLogger(label, verbose, initialStep, infoDebugger = createLog()) { } function step(phase) { const stepPrefix = phase && `[${phase}]` || ""; - const debug2 = debugDebugger && prefixedLogger(debugDebugger, stepPrefix) || NOOP; - const info = prefixedLogger(infoDebugger, `${labelPrefix} ${stepPrefix}`, debug2); - return Object.assign(debugDebugger ? debug2 : info, { + const debug22 = debugDebugger && prefixedLogger(debugDebugger, stepPrefix) || NOOP; + const info = prefixedLogger(infoDebugger, `${labelPrefix} ${stepPrefix}`, debug22); + return Object.assign(debugDebugger ? debug22 : info, { label, sibling, info, @@ -21723,11 +24174,11 @@ var init_task_callback = __esm2({ } }); function changeWorkingDirectoryTask(directory, root) { - return adhocExecTask((instance6) => { + return adhocExecTask((instance10) => { if (!folderExists(directory)) { throw new Error(`Git.cwd: cannot change to non-directory "${directory}"`); } - return (root || instance6).cwd = directory; + return (root || instance10).cwd = directory; }); } var init_change_working_directory = __esm2({ @@ -21736,6 +24187,32 @@ var init_change_working_directory = __esm2({ init_task(); } }); +function checkoutTask(args) { + const commands = ["checkout", ...args]; + if (commands[1] === "-b" && commands.includes("-B")) { + commands[1] = remove2(commands, "-B"); + } + return straightThroughStringTask(commands); +} +function checkout_default() { + return { + checkout() { + return this._runTask(checkoutTask(getTrailingOptions(arguments, 1)), trailingFunctionArgument(arguments)); + }, + checkoutBranch(branchName, startPoint) { + return this._runTask(checkoutTask(["-b", branchName, startPoint, ...getTrailingOptions(arguments)]), trailingFunctionArgument(arguments)); + }, + checkoutLocalBranch(branchName) { + return this._runTask(checkoutTask(["-b", branchName, ...getTrailingOptions(arguments)]), trailingFunctionArgument(arguments)); + } + }; +} +var init_checkout = __esm2({ + "src/lib/tasks/checkout.ts"() { + init_utils(); + init_task(); + } +}); function parseCommitResult(stdOut) { const result = { author: null, @@ -21788,11 +24265,6 @@ var init_parse_commit = __esm2({ ]; } }); -var commit_exports = {}; -__export2(commit_exports, { - commitTask: () => commitTask, - default: () => commit_default -}); function commitTask(message, files, customArgs) { const commands = [ "-c", @@ -22008,11 +24480,12 @@ var init_parse_diff_summary = __esm2({ }) ]; nameStatusParser = [ - new LineParser(/([ACDMRTUXB])\s*(.+)$/, (result, [_status, file]) => { + new LineParser(/([ACDMRTUXB])([0-9][0-9][0-9])?\t(.[^\t]+)\t?(.*)?$/, (result, [status2, _similarity, from, to]) => { result.changed++; result.files.push({ - file, + file: to != null ? to : from, changes: 0, + status: status2, insertions: 0, deletions: 0, binary: false @@ -22020,11 +24493,26 @@ var init_parse_diff_summary = __esm2({ }) ]; diffSummaryParsers = { - [""]: statParser, - ["--stat"]: statParser, - ["--numstat"]: numStatParser, - ["--name-status"]: nameStatusParser, - ["--name-only"]: nameOnlyParser + [ + "" + /* NONE */ + ]: statParser, + [ + "--stat" + /* STAT */ + ]: statParser, + [ + "--numstat" + /* NUM_STAT */ + ]: numStatParser, + [ + "--name-status" + /* NAME_STATUS */ + ]: nameStatusParser, + [ + "--name-only" + /* NAME_ONLY */ + ]: nameOnlyParser }; } }); @@ -22501,7 +24989,7 @@ var init_parse_push = __esm2({ local }); }), - new LineParser(/^[*-=]\s+([^:]+):(\S+)\s+\[(.+)]$/, (result, [local, remote, type]) => { + new LineParser(/^[=*-]\s+([^:]+):(\S+)\s+\[(.+)]$/, (result, [local, remote, type]) => { result.pushed.push(pushResultPushedItem(local, remote, type)); }), new LineParser(/^Branch '([^']+)' set up to track remote branch '([^']+)' from '([^']+)'/, (result, [local, remote, remoteName]) => { @@ -22668,9 +25156,25 @@ var init_StatusSummary = __esm2({ append(_result.ignored = _result.ignored || [], _file); }), parser2("?", "?", (result, file) => append(result.not_added, file)), - ...conflicts("A", "A", "U"), - ...conflicts("D", "D", "U"), - ...conflicts("U", "A", "D", "U"), + ...conflicts( + "A", + "A", + "U" + /* UNMERGED */ + ), + ...conflicts( + "D", + "D", + "U" + /* UNMERGED */ + ), + ...conflicts( + "U", + "A", + "D", + "U" + /* UNMERGED */ + ), [ "##", (result, line) => { @@ -22801,6 +25305,7 @@ var init_simple_git_api = __esm2({ "src/lib/simple-git-api.ts"() { init_task_callback(); init_change_working_directory(); + init_checkout(); init_commit(); init_config(); init_grep(); @@ -22875,7 +25380,7 @@ var init_simple_git_api = __esm2({ return this._runTask(statusTask(getTrailingOptions(arguments)), trailingFunctionArgument(arguments)); } }; - Object.assign(SimpleGitApi.prototype, commit_default(), config_default(), grep_default(), log_default(), version_default()); + Object.assign(SimpleGitApi.prototype, checkout_default(), commit_default(), config_default(), grep_default(), log_default(), version_default()); } }); var scheduler_exports = {}; @@ -23535,10 +26040,10 @@ var init_tag = __esm2({ }); var require_git = __commonJS2({ "src/git.js"(exports, module2) { - var { GitExecutor: GitExecutor2 } = (init_git_executor(), __toCommonJS(git_executor_exports)); - var { SimpleGitApi: SimpleGitApi2 } = (init_simple_git_api(), __toCommonJS(simple_git_api_exports)); - var { Scheduler: Scheduler2 } = (init_scheduler(), __toCommonJS(scheduler_exports)); - var { configurationErrorTask: configurationErrorTask2 } = (init_task(), __toCommonJS(task_exports)); + var { GitExecutor: GitExecutor2 } = (init_git_executor(), __toCommonJS2(git_executor_exports)); + var { SimpleGitApi: SimpleGitApi2 } = (init_simple_git_api(), __toCommonJS2(simple_git_api_exports)); + var { Scheduler: Scheduler2 } = (init_scheduler(), __toCommonJS2(scheduler_exports)); + var { configurationErrorTask: configurationErrorTask2 } = (init_task(), __toCommonJS2(task_exports)); var { asArray: asArray2, filterArray: filterArray2, @@ -23549,41 +26054,40 @@ var require_git = __commonJS2({ getTrailingOptions: getTrailingOptions2, trailingFunctionArgument: trailingFunctionArgument2, trailingOptionsArgument: trailingOptionsArgument2 - } = (init_utils(), __toCommonJS(utils_exports)); - var { applyPatchTask: applyPatchTask2 } = (init_apply_patch(), __toCommonJS(apply_patch_exports)); + } = (init_utils(), __toCommonJS2(utils_exports)); + var { applyPatchTask: applyPatchTask2 } = (init_apply_patch(), __toCommonJS2(apply_patch_exports)); var { branchTask: branchTask2, branchLocalTask: branchLocalTask2, deleteBranchesTask: deleteBranchesTask2, deleteBranchTask: deleteBranchTask2 - } = (init_branch(), __toCommonJS(branch_exports)); - var { checkIgnoreTask: checkIgnoreTask2 } = (init_check_ignore(), __toCommonJS(check_ignore_exports)); - var { checkIsRepoTask: checkIsRepoTask2 } = (init_check_is_repo(), __toCommonJS(check_is_repo_exports)); - var { cloneTask: cloneTask2, cloneMirrorTask: cloneMirrorTask2 } = (init_clone(), __toCommonJS(clone_exports)); - var { cleanWithOptionsTask: cleanWithOptionsTask2, isCleanOptionsArray: isCleanOptionsArray2 } = (init_clean(), __toCommonJS(clean_exports)); - var { commitTask: commitTask2 } = (init_commit(), __toCommonJS(commit_exports)); - var { diffSummaryTask: diffSummaryTask2 } = (init_diff(), __toCommonJS(diff_exports)); - var { fetchTask: fetchTask2 } = (init_fetch(), __toCommonJS(fetch_exports)); - var { moveTask: moveTask2 } = (init_move(), __toCommonJS(move_exports)); - var { pullTask: pullTask2 } = (init_pull(), __toCommonJS(pull_exports)); - var { pushTagsTask: pushTagsTask2 } = (init_push(), __toCommonJS(push_exports)); + } = (init_branch(), __toCommonJS2(branch_exports)); + var { checkIgnoreTask: checkIgnoreTask2 } = (init_check_ignore(), __toCommonJS2(check_ignore_exports)); + var { checkIsRepoTask: checkIsRepoTask2 } = (init_check_is_repo(), __toCommonJS2(check_is_repo_exports)); + var { cloneTask: cloneTask2, cloneMirrorTask: cloneMirrorTask2 } = (init_clone(), __toCommonJS2(clone_exports)); + var { cleanWithOptionsTask: cleanWithOptionsTask2, isCleanOptionsArray: isCleanOptionsArray2 } = (init_clean(), __toCommonJS2(clean_exports)); + var { diffSummaryTask: diffSummaryTask2 } = (init_diff(), __toCommonJS2(diff_exports)); + var { fetchTask: fetchTask2 } = (init_fetch(), __toCommonJS2(fetch_exports)); + var { moveTask: moveTask2 } = (init_move(), __toCommonJS2(move_exports)); + var { pullTask: pullTask2 } = (init_pull(), __toCommonJS2(pull_exports)); + var { pushTagsTask: pushTagsTask2 } = (init_push(), __toCommonJS2(push_exports)); var { addRemoteTask: addRemoteTask2, getRemotesTask: getRemotesTask2, listRemotesTask: listRemotesTask2, remoteTask: remoteTask2, removeRemoteTask: removeRemoteTask2 - } = (init_remote(), __toCommonJS(remote_exports)); - var { getResetMode: getResetMode2, resetTask: resetTask2 } = (init_reset(), __toCommonJS(reset_exports)); - var { stashListTask: stashListTask2 } = (init_stash_list(), __toCommonJS(stash_list_exports)); + } = (init_remote(), __toCommonJS2(remote_exports)); + var { getResetMode: getResetMode2, resetTask: resetTask2 } = (init_reset(), __toCommonJS2(reset_exports)); + var { stashListTask: stashListTask2 } = (init_stash_list(), __toCommonJS2(stash_list_exports)); var { addSubModuleTask: addSubModuleTask2, initSubModuleTask: initSubModuleTask2, subModuleTask: subModuleTask2, updateSubModuleTask: updateSubModuleTask2 - } = (init_sub_module(), __toCommonJS(sub_module_exports)); - var { addAnnotatedTagTask: addAnnotatedTagTask2, addTagTask: addTagTask2, tagListTask: tagListTask2 } = (init_tag(), __toCommonJS(tag_exports)); - var { straightThroughBufferTask: straightThroughBufferTask2, straightThroughStringTask: straightThroughStringTask2 } = (init_task(), __toCommonJS(task_exports)); + } = (init_sub_module(), __toCommonJS2(sub_module_exports)); + var { addAnnotatedTagTask: addAnnotatedTagTask2, addTagTask: addTagTask2, tagListTask: tagListTask2 } = (init_tag(), __toCommonJS2(tag_exports)); + var { straightThroughBufferTask: straightThroughBufferTask2, straightThroughStringTask: straightThroughStringTask2 } = (init_task(), __toCommonJS2(task_exports)); function Git2(options, plugins) { this._executor = new GitExecutor2(options.binary, options.baseDir, new Scheduler2(options.maxConcurrentProcesses), plugins); this._trimmed = options.trimmed; @@ -23660,16 +26164,6 @@ var require_git = __commonJS2({ Git2.prototype.addAnnotatedTag = function(tagName, tagMessage) { return this._runTask(addAnnotatedTagTask2(tagName, tagMessage), trailingFunctionArgument2(arguments)); }; - Git2.prototype.checkout = function() { - const commands = ["checkout", ...getTrailingOptions2(arguments, true)]; - return this._runTask(straightThroughStringTask2(commands), trailingFunctionArgument2(arguments)); - }; - Git2.prototype.checkoutBranch = function(branchName, startPoint, then) { - return this.checkout(["-b", branchName, startPoint], trailingFunctionArgument2(arguments)); - }; - Git2.prototype.checkoutLocalBranch = function(branchName, then) { - return this.checkout(["-b", branchName], trailingFunctionArgument2(arguments)); - }; Git2.prototype.deleteLocalBranch = function(branchName, forceDelete, then) { return this._runTask(deleteBranchTask2(branchName, typeof forceDelete === "boolean" ? forceDelete : false), trailingFunctionArgument2(arguments)); }; @@ -23872,15 +26366,28 @@ function preventProtocolOverride(arg, next) { } throw new GitPluginError(void 0, "unsafe", "Configuring protocol.allow is not permitted without enabling allowUnsafeExtProtocol"); } +function preventUploadPack(arg, method) { + if (/^\s*--(upload|receive)-pack/.test(arg)) { + throw new GitPluginError(void 0, "unsafe", `Use of --upload-pack or --receive-pack is not permitted without enabling allowUnsafePack`); + } + if (method === "clone" && /^\s*-u\b/.test(arg)) { + throw new GitPluginError(void 0, "unsafe", `Use of clone with option -u is not permitted without enabling allowUnsafePack`); + } + if (method === "push" && /^\s*--exec\b/.test(arg)) { + throw new GitPluginError(void 0, "unsafe", `Use of push with option --exec is not permitted without enabling allowUnsafePack`); + } +} function blockUnsafeOperationsPlugin({ - allowUnsafeProtocolOverride = false + allowUnsafeProtocolOverride = false, + allowUnsafePack = false } = {}) { return { type: "spawn.args", - action(args, _context) { + action(args, context) { args.forEach((current, index2) => { const next = index2 < args.length ? args[index2 + 1] : ""; allowUnsafeProtocolOverride || preventProtocolOverride(current, next); + allowUnsafePack || preventUploadPack(current, context.method); }); return args; } @@ -24070,7 +26577,9 @@ function spawnOptionsPlugin(spawnOptions) { }; } function timeoutPlugin({ - block + block, + stdErr = true, + stdOut = true }) { if (block > 0) { return { @@ -24094,8 +26603,8 @@ function timeoutPlugin({ stop(); context.kill(new GitPluginError(void 0, "timeout", `block timeout reached`)); } - (_a2 = context.spawned.stdout) == null ? void 0 : _a2.on("data", wait3); - (_b = context.spawned.stderr) == null ? void 0 : _b.on("data", wait3); + stdOut && ((_a2 = context.spawned.stdout) == null ? void 0 : _a2.on("data", wait3)); + stdErr && ((_b = context.spawned.stderr) == null ? void 0 : _b.on("data", wait3)); context.spawned.on("exit", stop); context.spawned.on("close", stop); wait3(); @@ -24138,7 +26647,9 @@ var SimpleGit = class extends GitManager { const path2 = adapter.getBasePath(); let basePath = path2; if (this.plugin.settings.basePath) { - const exists2 = await adapter.exists((0, import_obsidian6.normalizePath)(this.plugin.settings.basePath)); + const exists2 = await adapter.exists( + (0, import_obsidian6.normalizePath)(this.plugin.settings.basePath) + ); if (exists2) { basePath = path2 + import_path.sep + this.plugin.settings.basePath; } else if (!ignoreError) { @@ -24164,15 +26675,16 @@ var SimpleGit = class extends GitManager { const [key2, value] = envVar.split("="); process.env[key2] = value; } - const debug2 = require_browser(); - debug2.enable("simple-git"); - await this.git.cwd(await this.git.revparse("--show-toplevel")); + import_debug2.default.enable("simple-git"); + if (await this.git.checkIsRepo()) { + await this.git.cwd(await this.git.revparse("--show-toplevel")); + } } } async status() { - this.plugin.setState(PluginState.status); + this.plugin.setState(1 /* status */); const status2 = await this.git.status((err) => this.onError(err)); - this.plugin.setState(PluginState.idle); + this.plugin.setState(0 /* idle */); return { changed: status2.files.filter((e) => e.working_dir !== " ").map((e) => { const res = this.formatPath(e); @@ -24192,7 +26704,9 @@ var SimpleGit = class extends GitManager { vault_path: this.getVaultPath(res.path) }; }), - conflicted: status2.conflicted.map((path2) => this.formatPath({ path: path2 }).path) + conflicted: status2.conflicted.map( + (path2) => this.formatPath({ path: path2 }).path + ) }; } async getSubmodulePaths() { @@ -24223,6 +26737,7 @@ var SimpleGit = class extends GitManager { }); }); } + //Remove wrong `"` like "My file.md" formatPath(path2, renamed = false) { function format(path3) { if (path3 == void 0) @@ -24246,62 +26761,83 @@ var SimpleGit = class extends GitManager { } async commitAll({ message }) { if (this.plugin.settings.updateSubmodules) { - this.plugin.setState(PluginState.commit); + this.plugin.setState(4 /* commit */); const submodulePaths = await this.getSubmodulePaths(); for (const item of submodulePaths) { await this.git.cwd({ path: item, root: false }).add("-A", (err) => this.onError(err)); - await this.git.cwd({ path: item, root: false }).commit(await this.formatCommitMessage(message), (err) => this.onError(err)); + await this.git.cwd({ path: item, root: false }).commit( + await this.formatCommitMessage(message), + (err) => this.onError(err) + ); } } - this.plugin.setState(PluginState.add); + this.plugin.setState(3 /* add */); await this.git.add("-A", (err) => this.onError(err)); - this.plugin.setState(PluginState.commit); - return (await this.git.commit(await this.formatCommitMessage(message), (err) => this.onError(err))).summary.changes; + this.plugin.setState(4 /* commit */); + return (await this.git.commit( + await this.formatCommitMessage(message), + (err) => this.onError(err) + )).summary.changes; } async commit(message) { - this.plugin.setState(PluginState.commit); - const res = (await this.git.commit(await this.formatCommitMessage(message), (err) => this.onError(err))).summary.changes; - this.plugin.setState(PluginState.idle); + this.plugin.setState(4 /* commit */); + const res = (await this.git.commit( + await this.formatCommitMessage(message), + (err) => this.onError(err) + )).summary.changes; + this.plugin.setState(0 /* idle */); return res; } async stage(path2, relativeToVault) { - this.plugin.setState(PluginState.add); + this.plugin.setState(3 /* add */); path2 = this.getPath(path2, relativeToVault); await this.git.add(["--", path2], (err) => this.onError(err)); - this.plugin.setState(PluginState.idle); + this.plugin.setState(0 /* idle */); } async stageAll({ dir }) { - this.plugin.setState(PluginState.add); + this.plugin.setState(3 /* add */); await this.git.add(dir != null ? dir : "-A", (err) => this.onError(err)); - this.plugin.setState(PluginState.idle); + this.plugin.setState(0 /* idle */); } async unstageAll({ dir }) { - this.plugin.setState(PluginState.add); - await this.git.reset(dir != void 0 ? ["--", dir] : [], (err) => this.onError(err)); - this.plugin.setState(PluginState.idle); + this.plugin.setState(3 /* add */); + await this.git.reset( + dir != void 0 ? ["--", dir] : [], + (err) => this.onError(err) + ); + this.plugin.setState(0 /* idle */); } async unstage(path2, relativeToVault) { - this.plugin.setState(PluginState.add); + this.plugin.setState(3 /* add */); path2 = this.getPath(path2, relativeToVault); await this.git.reset(["--", path2], (err) => this.onError(err)); - this.plugin.setState(PluginState.idle); + this.plugin.setState(0 /* idle */); } async discard(filepath) { - this.plugin.setState(PluginState.add); + this.plugin.setState(3 /* add */); await this.git.checkout(["--", filepath], (err) => this.onError(err)); - this.plugin.setState(PluginState.idle); + this.plugin.setState(0 /* idle */); } async discardAll({ dir }) { return this.discard(dir != null ? dir : "."); } async pull() { - this.plugin.setState(PluginState.pull); + this.plugin.setState(2 /* pull */); if (this.plugin.settings.updateSubmodules) - await this.git.subModule(["update", "--remote", "--merge", "--recursive"], (err) => this.onError(err)); + await this.git.subModule( + ["update", "--remote", "--merge", "--recursive"], + (err) => this.onError(err) + ); const branchInfo = await this.branchInfo(); - const localCommit = await this.git.revparse([branchInfo.current], (err) => this.onError(err)); + const localCommit = await this.git.revparse( + [branchInfo.current], + (err) => this.onError(err) + ); await this.git.fetch((err) => this.onError(err)); - const upstreamCommit = await this.git.revparse([branchInfo.tracking], (err) => this.onError(err)); + const upstreamCommit = await this.git.revparse( + [branchInfo.tracking], + (err) => this.onError(err) + ); if (localCommit !== upstreamCommit) { if (this.plugin.settings.syncMethod === "merge" || this.plugin.settings.syncMethod === "rebase") { try { @@ -24313,19 +26849,36 @@ var SimpleGit = class extends GitManager { await this.git.rebase([branchInfo.tracking]); } } catch (err) { - this.plugin.displayError(`Pull failed (${this.plugin.settings.syncMethod}): ${err.message}`); + this.plugin.displayError( + `Pull failed (${this.plugin.settings.syncMethod}): ${err.message}` + ); return; } } else if (this.plugin.settings.syncMethod === "reset") { try { - await this.git.raw(["update-ref", `refs/heads/${branchInfo.current}`, upstreamCommit], (err) => this.onError(err)); + await this.git.raw( + [ + "update-ref", + `refs/heads/${branchInfo.current}`, + upstreamCommit + ], + (err) => this.onError(err) + ); await this.unstageAll({}); } catch (err) { - this.plugin.displayError(`Sync failed (${this.plugin.settings.syncMethod}): ${err.message}`); + this.plugin.displayError( + `Sync failed (${this.plugin.settings.syncMethod}): ${err.message}` + ); } } - const afterMergeCommit = await this.git.revparse([branchInfo.current], (err) => this.onError(err)); - const filesChanged = await this.git.diff([`${localCommit}..${afterMergeCommit}`, "--name-only"]); + const afterMergeCommit = await this.git.revparse( + [branchInfo.current], + (err) => this.onError(err) + ); + const filesChanged = await this.git.diff([ + `${localCommit}..${afterMergeCommit}`, + "--name-only" + ]); return filesChanged.split(/\r\n|\r|\n/).filter((value) => value.length > 0).map((e) => { return { path: e, @@ -24338,16 +26891,36 @@ var SimpleGit = class extends GitManager { } } async push() { - this.plugin.setState(PluginState.status); + this.plugin.setState(1 /* status */); const status2 = await this.git.status(); const trackingBranch = status2.tracking; const currentBranch2 = status2.current; - const remoteChangedFiles = (await this.git.diffSummary([currentBranch2, trackingBranch, "--"], (err) => this.onError(err))).changed; - this.plugin.setState(PluginState.push); + const remoteChangedFiles = (await this.git.diffSummary( + [currentBranch2, trackingBranch, "--"], + (err) => this.onError(err) + )).changed; + this.plugin.setState(5 /* push */); if (this.plugin.settings.updateSubmodules) { - await this.git.env({ ...process.env, "OBSIDIAN_GIT": 1 }).subModule(["foreach", "--recursive", `tracking=$(git for-each-ref --format='%(upstream:short)' "$(git symbolic-ref -q HEAD)"); echo $tracking; if [ ! -z "$(git diff --shortstat $tracking)" ]; then git push; fi`], (err) => this.onError(err)); + await this.git.env({ ...process.env, OBSIDIAN_GIT: 1 }).subModule( + [ + "foreach", + "--recursive", + `tracking=$(git for-each-ref --format='%(upstream:short)' "$(git symbolic-ref -q HEAD)"); echo $tracking; if [ ! -z "$(git diff --shortstat $tracking)" ]; then git push; fi` + ], + (err) => this.onError(err) + ); } - await this.git.env({ ...process.env, "OBSIDIAN_GIT": 1 }).push((err) => this.onError(err)); + await this.git.env({ ...process.env, OBSIDIAN_GIT: 1 }).push((err) => this.onError(err)); + return remoteChangedFiles; + } + async getUnpushedCommits() { + const status2 = await this.git.status(); + const trackingBranch = status2.tracking; + const currentBranch2 = status2.current; + const remoteChangedFiles = (await this.git.diffSummary( + [currentBranch2, trackingBranch, "--"], + (err) => this.onError(err) + )).changed; return remoteChangedFiles; } async canPush() { @@ -24371,7 +26944,10 @@ var SimpleGit = class extends GitManager { } async branchInfo() { const status2 = await this.git.status((err) => this.onError(err)); - const branches = await this.git.branch(["--no-color"], (err) => this.onError(err)); + const branches = await this.git.branch( + ["--no-color"], + (err) => this.onError(err) + ); return { current: status2.current || void 0, tracking: status2.tracking || void 0, @@ -24379,22 +26955,51 @@ var SimpleGit = class extends GitManager { }; } async getRemoteUrl(remote) { - return await this.git.remote(["get-url", remote], (err, url) => this.onError(err)) || void 0; + return await this.git.remote( + ["get-url", remote], + (err, url) => this.onError(err) + ) || void 0; } - async log(file, relativeToVault = true) { - const path2 = this.getPath(file, relativeToVault); - const res = await this.git.log({ file: path2, "--name-only": null }, (err) => this.onError(err)); + // https://github.com/kometenstaub/obsidian-version-history-diff/issues/3 + async log(file, relativeToVault = true, limit) { + let path2; + if (file) { + path2 = this.getPath(file, relativeToVault); + } + const res = await this.git.log( + { + file: path2, + maxCount: limit, + "-m": null, + "--name-status": null + }, + (err) => this.onError(err) + ); return res.all.map((e) => { var _a2, _b; return { ...e, + refs: e.refs.split(", "), + diff: { + ...e.diff, + files: e.diff.files.map((f) => ({ + ...f, + status: f.status, + path: f.file, + hash: e.hash, + vault_path: this.getVaultPath(f.file) + })) + }, fileName: (_b = (_a2 = e.diff) == null ? void 0 : _a2.files.first()) == null ? void 0 : _b.file }; }); } async show(commitHash, file, relativeToVault = true) { const path2 = this.getPath(file, relativeToVault); - return this.git.show([commitHash + ":" + path2], (err) => this.onError(err)); + return this.git.show( + [commitHash + ":" + path2], + (err) => this.onError(err) + ); } async checkout(branch2, remote) { if (remote) { @@ -24404,7 +27009,7 @@ var SimpleGit = class extends GitManager { if (this.plugin.settings.submoduleRecurseCheckout) { const submodulePaths = await this.getSubmodulePaths(); for (const submodulePath of submodulePaths) { - let branchSummary = await this.git.cwd({ path: submodulePath, root: false }).branch(); + const branchSummary = await this.git.cwd({ path: submodulePath, root: false }).branch(); if (Object.keys(branchSummary.branches).includes(branch2)) { await this.git.cwd({ path: submodulePath, root: false }).checkout(branch2, (err) => this.onError(err)); } @@ -24415,17 +27020,31 @@ var SimpleGit = class extends GitManager { await this.git.checkout(["-b", branch2], (err) => this.onError(err)); } async deleteBranch(branch2, force) { - await this.git.branch([force ? "-D" : "-d", branch2], (err) => this.onError(err)); + await this.git.branch( + [force ? "-D" : "-d", branch2], + (err) => this.onError(err) + ); } async branchIsMerged(branch2) { - const notMergedBranches = await this.git.branch(["--no-merged"], (err) => this.onError(err)); + const notMergedBranches = await this.git.branch( + ["--no-merged"], + (err) => this.onError(err) + ); return !notMergedBranches.all.contains(branch2); } async init() { await this.git.init(false, (err) => this.onError(err)); } async clone(url, dir, depth) { - await this.git.clone(url, path.join(this.app.vault.adapter.getBasePath(), dir), depth ? ["--depth", `${depth}`] : [], (err) => this.onError(err)); + await this.git.clone( + url, + path.join( + this.app.vault.adapter.getBasePath(), + dir + ), + depth ? ["--depth", `${depth}`] : [], + (err) => this.onError(err) + ); } async setConfig(path2, value) { if (value == void 0) { @@ -24435,21 +27054,36 @@ var SimpleGit = class extends GitManager { } } async getConfig(path2) { - const config = await this.git.listConfig("local", (err) => this.onError(err)); + const config = await this.git.listConfig( + "local", + (err) => this.onError(err) + ); return config.all[path2]; } async fetch(remote) { - await this.git.fetch(remote != void 0 ? [remote] : [], (err) => this.onError(err)); + await this.git.fetch( + remote != void 0 ? [remote] : [], + (err) => this.onError(err) + ); } async setRemote(name, url) { if ((await this.getRemotes()).includes(name)) - await this.git.remote(["set-url", name, url], (err) => this.onError(err)); + await this.git.remote( + ["set-url", name, url], + (err) => this.onError(err) + ); else { - await this.git.remote(["add", name, url], (err) => this.onError(err)); + await this.git.remote( + ["add", name, url], + (err) => this.onError(err) + ); } } async getRemoteBranches(remote) { - const res = await this.git.branch(["-r", "--list", `${remote}*`], (err) => this.onError(err)); + const res = await this.git.branch( + ["-r", "--list", `${remote}*`], + (err) => this.onError(err) + ); console.log(remote); console.log(res); const list = []; @@ -24478,7 +27112,14 @@ var SimpleGit = class extends GitManager { await this.git.branch(["--set-upstream", remoteBranch]); } catch (e2) { console.error(e2); - await this.git.push(["--set-upstream", ...splitRemoteBranch(remoteBranch)], (err) => this.onError(err)); + await this.git.push( + // A type error occurs here because the third element could be undefined. + // However, it is unlikely to be undefined due to the `remoteBranch`'s format, and error handling is in place. + // Therefore, we temporarily ignore the error. + // @ts-ignore + ["--set-upstream", ...splitRemoteBranch(remoteBranch)], + (err) => this.onError(err) + ); } } } @@ -24488,9 +27129,11 @@ var SimpleGit = class extends GitManager { updateBasePath(basePath) { this.setGitInstance(true); } - async getDiffString(filePath, stagedChanges = false) { + async getDiffString(filePath, stagedChanges = false, hash2) { if (stagedChanges) return await this.git.diff(["--cached", "--", filePath]); + if (hash2) + return await this.git.show([`${hash2}`, "--", filePath]); else return await this.git.diff(["--", filePath]); } @@ -24504,9 +27147,13 @@ var SimpleGit = class extends GitManager { } } isGitInstalled() { - const command = (0, import_child_process2.spawnSync)(this.plugin.localStorage.getGitPath() || "git", ["--version"], { - stdio: "ignore" - }); + const command = (0, import_child_process2.spawnSync)( + this.plugin.localStorage.getGitPath() || "git", + ["--version"], + { + stdio: "ignore" + } + ); if (command.error) { console.error(command.error); return false; @@ -24515,16 +27162,23 @@ var SimpleGit = class extends GitManager { } onError(error) { if (error) { - const networkFailure = error.message.contains("Could not resolve host") || error.message.match(/ssh: connect to host .*? port .*?: Operation timed out/) || error.message.match(/ssh: connect to host .*? port .*?: Network is unreachable/); + const networkFailure = error.message.contains("Could not resolve host") || error.message.match( + /ssh: connect to host .*? port .*?: Operation timed out/ + ) || error.message.match( + /ssh: connect to host .*? port .*?: Network is unreachable/ + ); if (!networkFailure) { this.plugin.displayError(error.message); - this.plugin.setState(PluginState.idle); + this.plugin.setState(0 /* idle */); } else if (!this.plugin.offlineMode) { - this.plugin.displayError("Git: Going into offline mode. Future network errors will no longer be displayed.", 2e3); + this.plugin.displayError( + "Git: Going into offline mode. Future network errors will no longer be displayed.", + 2e3 + ); } if (networkFailure) { this.plugin.offlineMode = true; - this.plugin.setState(PluginState.idle); + this.plugin.setState(0 /* idle */); } } } @@ -24540,129 +27194,205 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab { containerEl.empty(); containerEl.createEl("h2", { text: "Git Backup settings" }); if (!gitReady) { - containerEl.createEl("p", { text: "Git is not ready. When all settings are correct you can configure auto backup, etc." }); + containerEl.createEl("p", { + text: "Git is not ready. When all settings are correct you can configure auto backup, etc." + }); } if (gitReady) { containerEl.createEl("br"); containerEl.createEl("h3", { text: "Automatic" }); - new import_obsidian7.Setting(containerEl).setName("Split automatic commit and push").setDesc("Enable to use separate timer for commit and push").addToggle((toggle) => toggle.setValue(plugin.settings.differentIntervalCommitAndPush).onChange((value) => { - plugin.settings.differentIntervalCommitAndPush = value; - plugin.saveSettings(); - plugin.clearAutoBackup(); - plugin.clearAutoPush(); - if (plugin.settings.autoSaveInterval > 0) { - plugin.startAutoBackup(plugin.settings.autoSaveInterval); - } - if (value && plugin.settings.autoPushInterval > 0) { - plugin.startAutoPush(plugin.settings.autoPushInterval); - } - this.display(); - })); - new import_obsidian7.Setting(containerEl).setName(`Vault ${commitOrBackup} interval (minutes)`).setDesc(`${plugin.settings.differentIntervalCommitAndPush ? "Commit" : "Commit and push"} changes every X minutes. Set to 0 (default) to disable. (See below setting for further configuration!)`).addText((text2) => text2.setValue(String(plugin.settings.autoSaveInterval)).onChange((value) => { - if (!isNaN(Number(value))) { - plugin.settings.autoSaveInterval = Number(value); - plugin.saveSettings(); - if (plugin.settings.autoSaveInterval > 0) { - plugin.clearAutoBackup(); - plugin.startAutoBackup(plugin.settings.autoSaveInterval); - new import_obsidian7.Notice(`Automatic ${commitOrBackup} enabled! Every ${plugin.settings.autoSaveInterval} minutes.`); - } else if (plugin.settings.autoSaveInterval <= 0) { - plugin.clearAutoBackup() && new import_obsidian7.Notice(`Automatic ${commitOrBackup} disabled!`); - } - } else { - new import_obsidian7.Notice("Please specify a valid number."); - } - })); - if (!plugin.settings.setLastSaveToLastCommit) - new import_obsidian7.Setting(containerEl).setName(`Auto Backup after file change`).setDesc(`If turned on, do auto ${commitOrBackup} every ${plugin.settings.autoSaveInterval} minutes after last change. This also prevents auto ${commitOrBackup} while editing a file. If turned off, it's independent from last the change.`).addToggle((toggle) => toggle.setValue(plugin.settings.autoBackupAfterFileChange).onChange((value) => { - plugin.settings.autoBackupAfterFileChange = value; - this.display(); + new import_obsidian7.Setting(containerEl).setName("Split automatic commit and push").setDesc("Enable to use separate timer for commit and push").addToggle( + (toggle) => toggle.setValue( + plugin.settings.differentIntervalCommitAndPush + ).onChange((value) => { + plugin.settings.differentIntervalCommitAndPush = value; plugin.saveSettings(); plugin.clearAutoBackup(); + plugin.clearAutoPush(); if (plugin.settings.autoSaveInterval > 0) { - plugin.startAutoBackup(plugin.settings.autoSaveInterval); + plugin.startAutoBackup( + plugin.settings.autoSaveInterval + ); + } + if (value && plugin.settings.autoPushInterval > 0) { + plugin.startAutoPush( + plugin.settings.autoPushInterval + ); } - })); - if (!plugin.settings.autoBackupAfterFileChange) - new import_obsidian7.Setting(containerEl).setName(`Auto ${commitOrBackup} after latest commit`).setDesc(`If turned on, set last auto ${commitOrBackup} time to latest commit`).addToggle((toggle) => toggle.setValue(plugin.settings.setLastSaveToLastCommit).onChange(async (value) => { - plugin.settings.setLastSaveToLastCommit = value; - plugin.saveSettings(); this.display(); - plugin.clearAutoBackup(); - await plugin.setUpAutoBackup(); - })); - if (plugin.settings.differentIntervalCommitAndPush) { - new import_obsidian7.Setting(containerEl).setName(`Vault push interval (minutes)`).setDesc("Push changes every X minutes. Set to 0 (default) to disable.").addText((text2) => text2.setValue(String(plugin.settings.autoPushInterval)).onChange((value) => { + }) + ); + new import_obsidian7.Setting(containerEl).setName(`Vault ${commitOrBackup} interval (minutes)`).setDesc( + `${plugin.settings.differentIntervalCommitAndPush ? "Commit" : "Commit and push"} changes every X minutes. Set to 0 (default) to disable. (See below setting for further configuration!)` + ).addText( + (text2) => text2.setValue(String(plugin.settings.autoSaveInterval)).onChange((value) => { if (!isNaN(Number(value))) { - plugin.settings.autoPushInterval = Number(value); + plugin.settings.autoSaveInterval = Number(value); plugin.saveSettings(); - if (plugin.settings.autoPushInterval > 0) { - plugin.clearAutoPush(); - plugin.startAutoPush(plugin.settings.autoPushInterval); - new import_obsidian7.Notice(`Automatic push enabled! Every ${plugin.settings.autoPushInterval} minutes.`); - } else if (plugin.settings.autoPushInterval <= 0) { - plugin.clearAutoPush() && new import_obsidian7.Notice("Automatic push disabled!"); + if (plugin.settings.autoSaveInterval > 0) { + plugin.clearAutoBackup(); + plugin.startAutoBackup( + plugin.settings.autoSaveInterval + ); + new import_obsidian7.Notice( + `Automatic ${commitOrBackup} enabled! Every ${plugin.settings.autoSaveInterval} minutes.` + ); + } else if (plugin.settings.autoSaveInterval <= 0) { + plugin.clearAutoBackup() && new import_obsidian7.Notice( + `Automatic ${commitOrBackup} disabled!` + ); } } else { new import_obsidian7.Notice("Please specify a valid number."); } - })); + }) + ); + if (!plugin.settings.setLastSaveToLastCommit) + new import_obsidian7.Setting(containerEl).setName(`Auto Backup after file change`).setDesc( + `If turned on, do auto ${commitOrBackup} every ${plugin.settings.autoSaveInterval} minutes after last change. This also prevents auto ${commitOrBackup} while editing a file. If turned off, it's independent from the last change.` + ).addToggle( + (toggle) => toggle.setValue(plugin.settings.autoBackupAfterFileChange).onChange((value) => { + plugin.settings.autoBackupAfterFileChange = value; + this.display(); + plugin.saveSettings(); + plugin.clearAutoBackup(); + if (plugin.settings.autoSaveInterval > 0) { + plugin.startAutoBackup( + plugin.settings.autoSaveInterval + ); + } + }) + ); + if (!plugin.settings.autoBackupAfterFileChange) + new import_obsidian7.Setting(containerEl).setName(`Auto ${commitOrBackup} after latest commit`).setDesc( + `If turned on, set last auto ${commitOrBackup} time to latest commit` + ).addToggle( + (toggle) => toggle.setValue(plugin.settings.setLastSaveToLastCommit).onChange(async (value) => { + plugin.settings.setLastSaveToLastCommit = value; + plugin.saveSettings(); + this.display(); + plugin.clearAutoBackup(); + await plugin.setUpAutoBackup(); + }) + ); + if (plugin.settings.differentIntervalCommitAndPush) { + new import_obsidian7.Setting(containerEl).setName(`Vault push interval (minutes)`).setDesc( + "Push changes every X minutes. Set to 0 (default) to disable." + ).addText( + (text2) => text2.setValue(String(plugin.settings.autoPushInterval)).onChange((value) => { + if (!isNaN(Number(value))) { + plugin.settings.autoPushInterval = Number(value); + plugin.saveSettings(); + if (plugin.settings.autoPushInterval > 0) { + plugin.clearAutoPush(); + plugin.startAutoPush( + plugin.settings.autoPushInterval + ); + new import_obsidian7.Notice( + `Automatic push enabled! Every ${plugin.settings.autoPushInterval} minutes.` + ); + } else if (plugin.settings.autoPushInterval <= 0) { + plugin.clearAutoPush() && new import_obsidian7.Notice( + "Automatic push disabled!" + ); + } + } else { + new import_obsidian7.Notice( + "Please specify a valid number." + ); + } + }) + ); } - new import_obsidian7.Setting(containerEl).setName("Auto pull interval (minutes)").setDesc("Pull changes every X minutes. Set to 0 (default) to disable.").addText((text2) => text2.setValue(String(plugin.settings.autoPullInterval)).onChange((value) => { - if (!isNaN(Number(value))) { - plugin.settings.autoPullInterval = Number(value); - plugin.saveSettings(); - if (plugin.settings.autoPullInterval > 0) { - plugin.clearAutoPull(); - plugin.startAutoPull(plugin.settings.autoPullInterval); - new import_obsidian7.Notice(`Automatic pull enabled! Every ${plugin.settings.autoPullInterval} minutes.`); - } else if (plugin.settings.autoPullInterval <= 0) { - plugin.clearAutoPull() && new import_obsidian7.Notice("Automatic pull disabled!"); + new import_obsidian7.Setting(containerEl).setName("Auto pull interval (minutes)").setDesc( + "Pull changes every X minutes. Set to 0 (default) to disable." + ).addText( + (text2) => text2.setValue(String(plugin.settings.autoPullInterval)).onChange((value) => { + if (!isNaN(Number(value))) { + plugin.settings.autoPullInterval = Number(value); + plugin.saveSettings(); + if (plugin.settings.autoPullInterval > 0) { + plugin.clearAutoPull(); + plugin.startAutoPull( + plugin.settings.autoPullInterval + ); + new import_obsidian7.Notice( + `Automatic pull enabled! Every ${plugin.settings.autoPullInterval} minutes.` + ); + } else if (plugin.settings.autoPullInterval <= 0) { + plugin.clearAutoPull() && new import_obsidian7.Notice("Automatic pull disabled!"); + } + } else { + new import_obsidian7.Notice("Please specify a valid number."); } - } else { - new import_obsidian7.Notice("Please specify a valid number."); - } - })); - new import_obsidian7.Setting(containerEl).setName("Specify custom commit message on auto backup").setDesc("You will get a pop up to specify your message").addToggle((toggle) => toggle.setValue(plugin.settings.customMessageOnAutoBackup).onChange((value) => { - plugin.settings.customMessageOnAutoBackup = value; - plugin.saveSettings(); - })); - new import_obsidian7.Setting(containerEl).setName("Commit message on auto backup/commit").setDesc("Available placeholders: {{date}} (see below), {{hostname}} (see below) and {{numFiles}} (number of changed files in the commit)").addText((text2) => text2.setPlaceholder("vault backup: {{date}}").setValue(plugin.settings.autoCommitMessage).onChange((value) => { - plugin.settings.autoCommitMessage = value; - plugin.saveSettings(); - })); + }) + ); + new import_obsidian7.Setting(containerEl).setName("Specify custom commit message on auto backup").setDesc("You will get a pop up to specify your message").addToggle( + (toggle) => toggle.setValue(plugin.settings.customMessageOnAutoBackup).onChange((value) => { + plugin.settings.customMessageOnAutoBackup = value; + plugin.saveSettings(); + }) + ); + new import_obsidian7.Setting(containerEl).setName("Commit message on auto backup/commit").setDesc( + "Available placeholders: {{date}} (see below), {{hostname}} (see below) and {{numFiles}} (number of changed files in the commit)" + ).addText( + (text2) => text2.setPlaceholder("vault backup: {{date}}").setValue(plugin.settings.autoCommitMessage).onChange((value) => { + plugin.settings.autoCommitMessage = value; + plugin.saveSettings(); + }) + ); containerEl.createEl("br"); containerEl.createEl("h3", { text: "Commit message" }); - new import_obsidian7.Setting(containerEl).setName("Commit message on manual backup/commit").setDesc("Available placeholders: {{date}} (see below), {{hostname}} (see below) and {{numFiles}} (number of changed files in the commit)").addText((text2) => text2.setPlaceholder("vault backup: {{date}}").setValue(plugin.settings.commitMessage ? plugin.settings.commitMessage : "").onChange((value) => { - plugin.settings.commitMessage = value; - plugin.saveSettings(); - })); - new import_obsidian7.Setting(containerEl).setName("{{date}} placeholder format").setDesc('Specify custom date format. E.g. "YYYY-MM-DD HH:mm:ss"').addText((text2) => text2.setPlaceholder(plugin.settings.commitDateFormat).setValue(plugin.settings.commitDateFormat).onChange(async (value) => { - plugin.settings.commitDateFormat = value; - await plugin.saveSettings(); - })); - new import_obsidian7.Setting(containerEl).setName("{{hostname}} placeholder replacement").setDesc("Specify custom hostname for every device.").addText((text2) => { - var _a2; - return text2.setValue((_a2 = plugin.localStorage.getHostname()) != null ? _a2 : "").onChange(async (value) => { - plugin.localStorage.setHostname(value); - }); - }); - new import_obsidian7.Setting(containerEl).setName("Preview commit message").addButton((button) => button.setButtonText("Preview").onClick(async () => { - const commitMessagePreview = await plugin.gitManager.formatCommitMessage(plugin.settings.commitMessage); - new import_obsidian7.Notice(`${commitMessagePreview}`); - })); - new import_obsidian7.Setting(containerEl).setName("List filenames affected by commit in the commit body").addToggle((toggle) => toggle.setValue(plugin.settings.listChangedFilesInMessageBody).onChange((value) => { - plugin.settings.listChangedFilesInMessageBody = value; - plugin.saveSettings(); - })); + new import_obsidian7.Setting(containerEl).setName("Commit message on manual backup/commit").setDesc( + "Available placeholders: {{date}} (see below), {{hostname}} (see below) and {{numFiles}} (number of changed files in the commit)" + ).addText( + (text2) => text2.setPlaceholder("vault backup: {{date}}").setValue( + plugin.settings.commitMessage ? plugin.settings.commitMessage : "" + ).onChange((value) => { + plugin.settings.commitMessage = value; + plugin.saveSettings(); + }) + ); + new import_obsidian7.Setting(containerEl).setName("{{date}} placeholder format").setDesc( + 'Specify custom date format. E.g. "YYYY-MM-DD HH:mm:ss"' + ).addText( + (text2) => text2.setPlaceholder(plugin.settings.commitDateFormat).setValue(plugin.settings.commitDateFormat).onChange(async (value) => { + plugin.settings.commitDateFormat = value; + await plugin.saveSettings(); + }) + ); + new import_obsidian7.Setting(containerEl).setName("{{hostname}} placeholder replacement").setDesc("Specify custom hostname for every device.").addText( + (text2) => { + var _a2; + return text2.setValue((_a2 = plugin.localStorage.getHostname()) != null ? _a2 : "").onChange(async (value) => { + plugin.localStorage.setHostname(value); + }); + } + ); + new import_obsidian7.Setting(containerEl).setName("Preview commit message").addButton( + (button) => button.setButtonText("Preview").onClick(async () => { + const commitMessagePreview = await plugin.gitManager.formatCommitMessage( + plugin.settings.commitMessage + ); + new import_obsidian7.Notice(`${commitMessagePreview}`); + }) + ); + new import_obsidian7.Setting(containerEl).setName("List filenames affected by commit in the commit body").addToggle( + (toggle) => toggle.setValue(plugin.settings.listChangedFilesInMessageBody).onChange((value) => { + plugin.settings.listChangedFilesInMessageBody = value; + plugin.saveSettings(); + }) + ); containerEl.createEl("br"); containerEl.createEl("h3", { text: "Backup" }); if (plugin.gitManager instanceof SimpleGit) - new import_obsidian7.Setting(containerEl).setName("Sync Method").setDesc("Selects the method used for handling new changes found in your remote git repository.").addDropdown((dropdown) => { + new import_obsidian7.Setting(containerEl).setName("Sync Method").setDesc( + "Selects the method used for handling new changes found in your remote git repository." + ).addDropdown((dropdown) => { const options = { - "merge": "Merge", - "rebase": "Rebase", - "reset": "Other sync service (Only updates the HEAD without touching the working directory)" + merge: "Merge", + rebase: "Rebase", + reset: "Other sync service (Only updates the HEAD without touching the working directory)" }; dropdown.addOptions(options); dropdown.setValue(plugin.settings.syncMethod); @@ -24671,54 +27401,99 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab { plugin.saveSettings(); }); }); - new import_obsidian7.Setting(containerEl).setName("Pull updates on startup").setDesc("Automatically pull updates when Obsidian starts").addToggle((toggle) => toggle.setValue(plugin.settings.autoPullOnBoot).onChange((value) => { - plugin.settings.autoPullOnBoot = value; - plugin.saveSettings(); - })); - new import_obsidian7.Setting(containerEl).setName("Push on backup").setDesc("Disable to only commit changes").addToggle((toggle) => toggle.setValue(!plugin.settings.disablePush).onChange((value) => { - plugin.settings.disablePush = !value; - plugin.saveSettings(); - })); - new import_obsidian7.Setting(containerEl).setName("Pull changes before push").setDesc("Commit -> pull -> push (Only if pushing is enabled)").addToggle((toggle) => toggle.setValue(plugin.settings.pullBeforePush).onChange((value) => { - plugin.settings.pullBeforePush = value; - plugin.saveSettings(); - })); + new import_obsidian7.Setting(containerEl).setName("Pull updates on startup").setDesc("Automatically pull updates when Obsidian starts").addToggle( + (toggle) => toggle.setValue(plugin.settings.autoPullOnBoot).onChange((value) => { + plugin.settings.autoPullOnBoot = value; + plugin.saveSettings(); + }) + ); + new import_obsidian7.Setting(containerEl).setName("Push on backup").setDesc("Disable to only commit changes").addToggle( + (toggle) => toggle.setValue(!plugin.settings.disablePush).onChange((value) => { + plugin.settings.disablePush = !value; + plugin.saveSettings(); + }) + ); + new import_obsidian7.Setting(containerEl).setName("Pull changes before push").setDesc("Commit -> pull -> push (Only if pushing is enabled)").addToggle( + (toggle) => toggle.setValue(plugin.settings.pullBeforePush).onChange((value) => { + plugin.settings.pullBeforePush = value; + plugin.saveSettings(); + }) + ); } containerEl.createEl("br"); containerEl.createEl("h3", { text: "Miscellaneous" }); - new import_obsidian7.Setting(containerEl).setName("Automatically refresh Source Control View on file changes").setDesc("On slower machines this may cause lags. If so, just disable this option").addToggle((toggle) => toggle.setValue(plugin.settings.refreshSourceControl).onChange((value) => { - plugin.settings.refreshSourceControl = value; - plugin.saveSettings(); - })); - new import_obsidian7.Setting(containerEl).setName("Source Control View refresh interval").setDesc("Milliseconds to wait after file change before refreshing the Source Control View").addText((toggle) => toggle.setValue(plugin.settings.refreshSourceControlTimer.toString()).setPlaceholder("7000").onChange((value) => { - plugin.settings.refreshSourceControlTimer = Math.max(parseInt(value), 500); - plugin.saveSettings(); - plugin.setRefreshDebouncer(); - })); - new import_obsidian7.Setting(containerEl).setName("Disable notifications").setDesc("Disable notifications for git operations to minimize distraction (refer to status bar for updates). Errors are still shown as notifications even if you enable this setting").addToggle((toggle) => toggle.setValue(plugin.settings.disablePopups).onChange((value) => { - plugin.settings.disablePopups = value; - plugin.saveSettings(); - })); - new import_obsidian7.Setting(containerEl).setName("Show status bar").setDesc("Obsidian must be restarted for the changes to take affect").addToggle((toggle) => toggle.setValue(plugin.settings.showStatusBar).onChange((value) => { - plugin.settings.showStatusBar = value; - plugin.saveSettings(); - })); - new import_obsidian7.Setting(containerEl).setName("Show branch status bar").setDesc("Obsidian must be restarted for the changes to take affect").addToggle((toggle) => toggle.setValue(plugin.settings.showBranchStatusBar).onChange((value) => { - plugin.settings.showBranchStatusBar = value; - plugin.saveSettings(); - })); - new import_obsidian7.Setting(containerEl).setName("Show changes files count in status bar").addToggle((toggle) => toggle.setValue(plugin.settings.changedFilesInStatusBar).onChange((value) => { - plugin.settings.changedFilesInStatusBar = value; - plugin.saveSettings(); - })); + new import_obsidian7.Setting(containerEl).setName( + "Automatically refresh Source Control View on file changes" + ).setDesc( + "On slower machines this may cause lags. If so, just disable this option" + ).addToggle( + (toggle) => toggle.setValue(plugin.settings.refreshSourceControl).onChange((value) => { + plugin.settings.refreshSourceControl = value; + plugin.saveSettings(); + }) + ); + new import_obsidian7.Setting(containerEl).setName("Source Control View refresh interval").setDesc( + "Milliseconds to wait after file change before refreshing the Source Control View" + ).addText( + (toggle) => toggle.setValue( + plugin.settings.refreshSourceControlTimer.toString() + ).setPlaceholder("7000").onChange((value) => { + plugin.settings.refreshSourceControlTimer = Math.max( + parseInt(value), + 500 + ); + plugin.saveSettings(); + plugin.setRefreshDebouncer(); + }) + ); + new import_obsidian7.Setting(containerEl).setName("Disable notifications").setDesc( + "Disable notifications for git operations to minimize distraction (refer to status bar for updates). Errors are still shown as notifications even if you enable this setting" + ).addToggle( + (toggle) => toggle.setValue(plugin.settings.disablePopups).onChange((value) => { + plugin.settings.disablePopups = value; + plugin.saveSettings(); + }) + ); + new import_obsidian7.Setting(containerEl).setName("Show status bar").setDesc( + "Obsidian must be restarted for the changes to take affect" + ).addToggle( + (toggle) => toggle.setValue(plugin.settings.showStatusBar).onChange((value) => { + plugin.settings.showStatusBar = value; + plugin.saveSettings(); + }) + ); + new import_obsidian7.Setting(containerEl).setName("Show stage/unstage button in file menu").addToggle( + (toggle) => toggle.setValue(plugin.settings.showFileMenu).onChange((value) => { + plugin.settings.showFileMenu = value; + plugin.saveSettings(); + }) + ); + new import_obsidian7.Setting(containerEl).setName("Show branch status bar").setDesc( + "Obsidian must be restarted for the changes to take affect" + ).addToggle( + (toggle) => toggle.setValue(plugin.settings.showBranchStatusBar).onChange((value) => { + plugin.settings.showBranchStatusBar = value; + plugin.saveSettings(); + }) + ); + new import_obsidian7.Setting(containerEl).setName("Show changes files count in status bar").addToggle( + (toggle) => toggle.setValue(plugin.settings.changedFilesInStatusBar).onChange((value) => { + plugin.settings.changedFilesInStatusBar = value; + plugin.saveSettings(); + }) + ); containerEl.createEl("br"); if (plugin.gitManager instanceof IsomorphicGit) { - containerEl.createEl("h3", { text: "Authentication/Commit Author" }); + containerEl.createEl("h3", { + text: "Authentication/Commit Author" + }); } else { containerEl.createEl("h3", { text: "Commit Author" }); } if (plugin.gitManager instanceof IsomorphicGit) - new import_obsidian7.Setting(containerEl).setName("Username on your git server. E.g. your username on GitHub").addText((cb) => { + new import_obsidian7.Setting(containerEl).setName( + "Username on your git server. E.g. your username on GitHub" + ).addText((cb) => { var _a2; cb.setValue((_a2 = plugin.localStorage.getUsername()) != null ? _a2 : ""); cb.onChange((value) => { @@ -24726,7 +27501,9 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab { }); }); if (plugin.gitManager instanceof IsomorphicGit) - new import_obsidian7.Setting(containerEl).setName("Password/Personal access token").setDesc("Type in your password. You won't be able to see it again.").addText((cb) => { + new import_obsidian7.Setting(containerEl).setName("Password/Personal access token").setDesc( + "Type in your password. You won't be able to see it again." + ).addText((cb) => { cb.inputEl.autocapitalize = "off"; cb.inputEl.autocomplete = "off"; cb.inputEl.spellcheck = false; @@ -24738,28 +27515,44 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab { new import_obsidian7.Setting(containerEl).setName("Author name for commit").addText(async (cb) => { cb.setValue(await plugin.gitManager.getConfig("user.name")); cb.onChange((value) => { - plugin.gitManager.setConfig("user.name", value == "" ? void 0 : value); + plugin.gitManager.setConfig( + "user.name", + value == "" ? void 0 : value + ); }); }); if (gitReady) new import_obsidian7.Setting(containerEl).setName("Author email for commit").addText(async (cb) => { - cb.setValue(await plugin.gitManager.getConfig("user.email")); + cb.setValue( + await plugin.gitManager.getConfig("user.email") + ); cb.onChange((value) => { - plugin.gitManager.setConfig("user.email", value == "" ? void 0 : value); + plugin.gitManager.setConfig( + "user.email", + value == "" ? void 0 : value + ); }); }); containerEl.createEl("br"); containerEl.createEl("h3", { text: "Advanced" }); if (plugin.gitManager instanceof SimpleGit) { - new import_obsidian7.Setting(containerEl).setName("Update submodules").setDesc('"Create backup" and "pull" takes care of submodules. Missing features: Conflicted files, count of pulled/pushed/committed files. Tracking branch needs to be set for each submodule').addToggle((toggle) => toggle.setValue(plugin.settings.updateSubmodules).onChange((value) => { - plugin.settings.updateSubmodules = value; - plugin.saveSettings(); - })); - if (plugin.settings.updateSubmodules) { - new import_obsidian7.Setting(containerEl).setName("Submodule recurse checkout/switch").setDesc("Whenever a checkout happens on the root repository, recurse the checkout on the submodules (if the branches exist).").addToggle((toggle) => toggle.setValue(plugin.settings.submoduleRecurseCheckout).onChange((value) => { - plugin.settings.submoduleRecurseCheckout = value; + new import_obsidian7.Setting(containerEl).setName("Update submodules").setDesc( + '"Create backup" and "pull" takes care of submodules. Missing features: Conflicted files, count of pulled/pushed/committed files. Tracking branch needs to be set for each submodule' + ).addToggle( + (toggle) => toggle.setValue(plugin.settings.updateSubmodules).onChange((value) => { + plugin.settings.updateSubmodules = value; plugin.saveSettings(); - })); + }) + ); + if (plugin.settings.updateSubmodules) { + new import_obsidian7.Setting(containerEl).setName("Submodule recurse checkout/switch").setDesc( + "Whenever a checkout happens on the root repository, recurse the checkout on the submodules (if the branches exist)." + ).addToggle( + (toggle) => toggle.setValue(plugin.settings.submoduleRecurseCheckout).onChange((value) => { + plugin.settings.submoduleRecurseCheckout = value; + plugin.saveSettings(); + }) + ); } } if (plugin.gitManager instanceof SimpleGit) @@ -24773,7 +27566,9 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab { }); }); if (plugin.gitManager instanceof SimpleGit) - new import_obsidian7.Setting(containerEl).setName("Additional environment variables").setDesc("Use each line for a new environment variable in the format KEY=VALUE").addTextArea((cb) => { + new import_obsidian7.Setting(containerEl).setName("Additional environment variables").setDesc( + "Use each line for a new environment variable in the format KEY=VALUE" + ).addTextArea((cb) => { cb.setPlaceholder("GIT_DIR=/path/to/git/dir"); cb.setValue(plugin.localStorage.getEnvVars().join("\n")); cb.onChange((value) => { @@ -24788,17 +27583,21 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab { }); }); if (plugin.gitManager instanceof SimpleGit) - new import_obsidian7.Setting(containerEl).setName("Reload with new environment variables").setDesc("Removing previously added environment variables will not take effect until Obsidian is restarted.").addButton((cb) => { + new import_obsidian7.Setting(containerEl).setName("Reload with new environment variables").setDesc( + "Removing previously added environment variables will not take effect until Obsidian is restarted." + ).addButton((cb) => { cb.setButtonText("Reload"); cb.setCta(); cb.onClick(() => { plugin.gitManager.setGitInstance(); }); }); - new import_obsidian7.Setting(containerEl).setName("Custom base path (Git repository path)").setDesc(` + new import_obsidian7.Setting(containerEl).setName("Custom base path (Git repository path)").setDesc( + ` Sets the relative path to the vault from which the Git binary should be executed. Mostly used to set the path to the Git repository, which is only required if the Git repository is below the vault root directory. Use "\\" instead of "/" on Windows. - `).addText((cb) => { + ` + ).addText((cb) => { cb.setValue(plugin.settings.basePath); cb.setPlaceholder("directory/directory-with-git-repo"); cb.onChange((value) => { @@ -24807,7 +27606,9 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab { plugin.gitManager.updateBasePath(value || ""); }); }); - new import_obsidian7.Setting(containerEl).setName("Custom Git directory path (Instead of '.git')").setDesc(`Requires restart of Obsidian to take effect. Use "\\" instead of "/" on Windows.`).addText((cb) => { + new import_obsidian7.Setting(containerEl).setName("Custom Git directory path (Instead of '.git')").setDesc( + `Requires restart of Obsidian to take effect. Use "\\" instead of "/" on Windows.` + ).addText((cb) => { cb.setValue(plugin.settings.gitDir); cb.setPlaceholder(".git"); cb.onChange((value) => { @@ -24815,21 +27616,29 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab { plugin.saveSettings(); }); }); - new import_obsidian7.Setting(containerEl).setName("Disable on this device").addToggle((toggle) => toggle.setValue(plugin.localStorage.getPluginDisabled()).onChange((value) => { - plugin.localStorage.setPluginDisabled(value); - if (value) { - plugin.unloadPlugin(); - } else { - plugin.loadPlugin(); - } - new import_obsidian7.Notice("Obsidian must be restarted for the changes to take affect"); - })); - new import_obsidian7.Setting(containerEl).setName("Donate").setDesc("If you like this Plugin, consider donating to support continued development.").addButton((bt) => { + new import_obsidian7.Setting(containerEl).setName("Disable on this device").addToggle( + (toggle) => toggle.setValue(plugin.localStorage.getPluginDisabled()).onChange((value) => { + plugin.localStorage.setPluginDisabled(value); + if (value) { + plugin.unloadPlugin(); + } else { + plugin.loadPlugin(); + } + new import_obsidian7.Notice( + "Obsidian must be restarted for the changes to take affect" + ); + }) + ); + new import_obsidian7.Setting(containerEl).setName("Donate").setDesc( + "If you like this Plugin, consider donating to support continued development." + ).addButton((bt) => { bt.buttonEl.outerHTML = "Buy Me a Coffee at ko-fi.com"; }); const info = containerEl.createDiv(); info.setAttr("align", "center"); - info.setText("Debugging and logging:\nYou can always see the logs of this and every other plugin by opening the console with"); + info.setText( + "Debugging and logging:\nYou can always see the logs of this and every other plugin by opening the console with" + ); const keys = containerEl.createDiv(); keys.setAttr("align", "center"); keys.addClass("obsidian-git-shortcuts"); @@ -24843,7 +27652,7 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab { // src/statusBar.ts init_polyfill_buffer(); -var import_obsidian8 = __toModule(require("obsidian")); +var import_obsidian8 = require("obsidian"); var StatusBar = class { constructor(statusBarEl, plugin) { this.statusBarEl = statusBarEl; @@ -24851,6 +27660,7 @@ var StatusBar = class { this.messages = []; this.base = "obsidian-git-statusbar-"; this.statusBarEl.setAttribute("aria-label-position", "top"); + addEventListener("git-refresh", this.refreshCommitTimestamp.bind(this)); } displayMessage(message, timeout) { this.messages.push({ @@ -24886,35 +27696,35 @@ var StatusBar = class { this.iconEl.style.float = "left"; } switch (this.plugin.state) { - case PluginState.idle: - this.displayFromNow(this.plugin.lastUpdate); + case 0 /* idle */: + this.displayFromNow(); break; - case PluginState.status: + case 1 /* status */: this.statusBarEl.ariaLabel = "Checking repository status..."; (0, import_obsidian8.setIcon)(this.iconEl, "refresh-cw"); this.statusBarEl.addClass(this.base + "status"); break; - case PluginState.add: + case 3 /* add */: this.statusBarEl.ariaLabel = "Adding files..."; (0, import_obsidian8.setIcon)(this.iconEl, "refresh-w"); this.statusBarEl.addClass(this.base + "add"); break; - case PluginState.commit: + case 4 /* commit */: this.statusBarEl.ariaLabel = "Committing changes..."; (0, import_obsidian8.setIcon)(this.iconEl, "git-commit"); this.statusBarEl.addClass(this.base + "commit"); break; - case PluginState.push: + case 5 /* push */: this.statusBarEl.ariaLabel = "Pushing changes..."; (0, import_obsidian8.setIcon)(this.iconEl, "upload"); this.statusBarEl.addClass(this.base + "push"); break; - case PluginState.pull: + case 2 /* pull */: this.statusBarEl.ariaLabel = "Pulling changes..."; (0, import_obsidian8.setIcon)(this.iconEl, "download"); this.statusBarEl.addClass(this.base + "pull"); break; - case PluginState.conflicted: + case 6 /* conflicted */: this.statusBarEl.ariaLabel = "You have conflict files..."; (0, import_obsidian8.setIcon)(this.iconEl, "alert-circle"); this.statusBarEl.addClass(this.base + "conflict"); @@ -24926,11 +27736,17 @@ var StatusBar = class { break; } } - displayFromNow(timestamp) { + displayFromNow() { + var _a2; + const timestamp = this.lastCommitTimestamp; if (timestamp) { const moment = window.moment; const fromNow = moment(timestamp).fromNow(); - this.statusBarEl.ariaLabel = `${this.plugin.offlineMode ? "Offline: " : ""}Last Git update: ${fromNow}`; + this.statusBarEl.ariaLabel = `${this.plugin.offlineMode ? "Offline: " : ""}Last Commit: ${fromNow}`; + if ((_a2 = this.unPushedCommits) != null ? _a2 : 0 > 0) { + this.statusBarEl.ariaLabel += ` +(${this.unPushedCommits} unpushed commits)`; + } } else { this.statusBarEl.ariaLabel = this.plugin.offlineMode ? "Git is offline" : "Git is ready"; } @@ -24940,21 +27756,29 @@ var StatusBar = class { (0, import_obsidian8.setIcon)(this.iconEl, "check"); } if (this.plugin.settings.changedFilesInStatusBar && this.plugin.cachedStatus) { - this.textEl.setText(this.plugin.cachedStatus.changed.length.toString()); + this.textEl.setText( + this.plugin.cachedStatus.changed.length.toString() + ); } this.statusBarEl.addClass(this.base + "idle"); } + async refreshCommitTimestamp() { + this.lastCommitTimestamp = await this.plugin.gitManager.getLastCommitTime(); + this.unPushedCommits = await this.plugin.gitManager.getUnpushedCommits(); + } }; // src/ui/modals/changedFilesModal.ts init_polyfill_buffer(); -var import_obsidian9 = __toModule(require("obsidian")); +var import_obsidian9 = require("obsidian"); var ChangedFilesModal = class extends import_obsidian9.FuzzySuggestModal { constructor(plugin, changedFiles) { super(plugin.app); this.plugin = plugin; this.changedFiles = changedFiles; - this.setPlaceholder("Not supported files will be opened by default app!"); + this.setPlaceholder( + "Not supported files will be opened by default app!" + ); } getItems() { return this.changedFiles; @@ -24972,7 +27796,10 @@ var ChangedFilesModal = class extends import_obsidian9.FuzzySuggestModal { return `${working_dir}${index2} | ${item.vault_path}`; } onChooseItem(item, _) { - if (this.plugin.app.metadataCache.getFirstLinkpathDest(item.vault_path, "") == null) { + if (this.plugin.app.metadataCache.getFirstLinkpathDest( + item.vault_path, + "" + ) == null) { this.app.openWithDefaultApp(item.vault_path); } else { this.plugin.app.workspace.openLinkText(item.vault_path, "/"); @@ -24982,14 +27809,16 @@ var ChangedFilesModal = class extends import_obsidian9.FuzzySuggestModal { // src/ui/modals/customMessageModal.ts init_polyfill_buffer(); -var import_obsidian10 = __toModule(require("obsidian")); +var import_obsidian10 = require("obsidian"); var CustomMessageModal = class extends import_obsidian10.SuggestModal { constructor(plugin, fromAutoBackup) { super(plugin.app); this.fromAutoBackup = fromAutoBackup; this.resolve = null; this.plugin = plugin; - this.setPlaceholder("Type your message and select optional the version with the added date."); + this.setPlaceholder( + "Type your message and select optional the version with the added date." + ); } open() { super.open(); @@ -25021,10 +27850,9 @@ var CustomMessageModal = class extends import_obsidian10.SuggestModal { // src/constants.ts init_polyfill_buffer(); -var import_obsidian11 = __toModule(require("obsidian")); +var import_obsidian11 = require("obsidian"); var DEFAULT_SETTINGS = { commitMessage: "vault backup: {{date}}", - autoCommitMessage: void 0, commitDateFormat: "YYYY-MM-DD HH:mm:ss", autoSaveInterval: 0, autoPushInterval: 0, @@ -25047,13 +27875,21 @@ var DEFAULT_SETTINGS = { showedMobileNotice: false, refreshSourceControlTimer: 7e3, showBranchStatusBar: true, - setLastSaveToLastCommit: false + setLastSaveToLastCommit: false, + submoduleRecurseCheckout: false, + gitDir: "", + showFileMenu: true }; -var GIT_VIEW_CONFIG = { +var SOURCE_CONTROL_VIEW_CONFIG = { type: "git-view", name: "Source Control", icon: "git-pull-request" }; +var HISTORY_VIEW_CONFIG = { + type: "git-history-view", + name: "History", + icon: "history" +}; var DIFF_VIEW_CONFIG = { type: "diff-view", name: "Diff View", @@ -25068,7 +27904,16 @@ var LocalStorageSettings = class { this.prefix = this.plugin.manifest.id + ":"; } migrate() { - const keys = ["password", "hostname", "conflict", "lastAutoPull", "lastAutoBackup", "lastAutoPush", "gitPath", "pluginDisabled"]; + const keys = [ + "password", + "hostname", + "conflict", + "lastAutoPull", + "lastAutoBackup", + "lastAutoPush", + "gitPath", + "pluginDisabled" + ]; for (const key2 of keys) { const old = localStorage.getItem(this.prefix + key2); if (app.loadLocalStorage(this.prefix + key2) == null && old != null) { @@ -25136,10 +27981,15 @@ var LocalStorageSettings = class { } getEnvVars() { var _a2; - return JSON.parse((_a2 = app.loadLocalStorage(this.prefix + "envVars")) != null ? _a2 : "[]"); + return JSON.parse( + (_a2 = app.loadLocalStorage(this.prefix + "envVars")) != null ? _a2 : "[]" + ); } setEnvVars(value) { - return app.saveLocalStorage(this.prefix + "envVars", JSON.stringify(value)); + return app.saveLocalStorage( + this.prefix + "envVars", + JSON.stringify(value) + ); } getPluginDisabled() { return app.loadLocalStorage(this.prefix + "pluginDisabled") == "true"; @@ -25151,7 +28001,7 @@ var LocalStorageSettings = class { // src/openInGitHub.ts init_polyfill_buffer(); -var import_obsidian12 = __toModule(require("obsidian")); +var import_obsidian12 = require("obsidian"); async function openLineInGitHub(editor, file, manager) { const data = await getData(manager); if (data.result === "failure") { @@ -25164,9 +28014,13 @@ async function openLineInGitHub(editor, file, manager) { const from = editor.getCursor("from").line + 1; const to = editor.getCursor("to").line + 1; if (from === to) { - window.open(`https://github.com/${user}/${repo}/blob/${branch2}/${path2}?plain=1#L${from}`); + window.open( + `https://github.com/${user}/${repo}/blob/${branch2}/${path2}?plain=1#L${from}` + ); } else { - window.open(`https://github.com/${user}/${repo}/blob/${branch2}/${path2}?plain=1#L${from}-L${to}`); + window.open( + `https://github.com/${user}/${repo}/blob/${branch2}/${path2}?plain=1#L${from}-L${to}` + ); } } else { new import_obsidian12.Notice("It seems like you are not using GitHub"); @@ -25181,7 +28035,9 @@ async function openHistoryInGitHub(file, manager) { const { isGitHub, branch: branch2, repo, user } = data; const path2 = manager.getPath(file.path, true); if (isGitHub) { - window.open(`https://github.com/${user}/${repo}/commits/${branch2}/${path2}`); + window.open( + `https://github.com/${user}/${repo}/commits/${branch2}/${path2}` + ); } else { new import_obsidian12.Notice("It seems like you are not using GitHub"); } @@ -25203,8 +28059,12 @@ async function getData(manager) { }; } const remote = remoteBranch.substring(0, remoteBranch.indexOf("/")); - const remoteUrl = await manager.getConfig(`remote.${remote}.url`); - const [isGitHub, httpsUser, httpsRepo, sshUser, sshRepo] = remoteUrl.match(/(?:^https:\/\/github\.com\/(.*)\/(.*)\.git$)|(?:^git@github\.com:(.*)\/(.*)\.git$)/); + const remoteUrl = await manager.getConfig( + `remote.${remote}.url` + ); + const [isGitHub, httpsUser, httpsRepo, sshUser, sshRepo] = remoteUrl.match( + /(?:^https:\/\/github\.com\/(.*)\/(.*)\.git$)|(?:^git@github\.com:(.*)\/(.*)\.git$)/ + ); return { result: "success", isGitHub: !!isGitHub, @@ -25217,13 +28077,13 @@ async function getData(manager) { // src/ui/diff/diffView.ts init_polyfill_buffer(); -// node_modules/.pnpm/diff2html@3.4.22/node_modules/diff2html/lib-esm/diff2html.js +// node_modules/.pnpm/diff2html@3.4.34/node_modules/diff2html/lib-esm/diff2html.js init_polyfill_buffer(); -// node_modules/.pnpm/diff2html@3.4.22/node_modules/diff2html/lib-esm/diff-parser.js +// node_modules/.pnpm/diff2html@3.4.34/node_modules/diff2html/lib-esm/diff-parser.js init_polyfill_buffer(); -// node_modules/.pnpm/diff2html@3.4.22/node_modules/diff2html/lib-esm/types.js +// node_modules/.pnpm/diff2html@3.4.34/node_modules/diff2html/lib-esm/types.js init_polyfill_buffer(); var LineType; (function(LineType2) { @@ -25245,7 +28105,7 @@ var DiffStyleType = { CHAR: "char" }; -// node_modules/.pnpm/diff2html@3.4.22/node_modules/diff2html/lib-esm/utils.js +// node_modules/.pnpm/diff2html@3.4.34/node_modules/diff2html/lib-esm/utils.js init_polyfill_buffer(); var specials = [ "-", @@ -25283,7 +28143,7 @@ function hashCode(text2) { return hash2; } -// node_modules/.pnpm/diff2html@3.4.22/node_modules/diff2html/lib-esm/diff-parser.js +// node_modules/.pnpm/diff2html@3.4.34/node_modules/diff2html/lib-esm/diff-parser.js var __spreadArray = function(to, from, pack) { if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { @@ -25461,7 +28321,7 @@ function parse(diffInput, config) { var prevLine = diffLines2[lineIndex - 1]; var nxtLine = diffLines2[lineIndex + 1]; var afterNxtLine = diffLines2[lineIndex + 2]; - if (line.startsWith("diff")) { + if (line.startsWith("diff --git") || line.startsWith("diff --combined")) { startFile(); var gitDiffStart = /^diff --git "?([a-ciow]\/.+)"? "?([a-ciow]\/.+)"?/; if (values = gitDiffStart.exec(line)) { @@ -25474,6 +28334,19 @@ function parse(diffInput, config) { currentFile.isGitDiff = true; return; } + if (line.startsWith("Binary files") && !(currentFile === null || currentFile === void 0 ? void 0 : currentFile.isGitDiff)) { + startFile(); + var unixDiffBinaryStart = /^Binary files "?([a-ciow]\/.+)"? and "?([a-ciow]\/.+)"? differ/; + if (values = unixDiffBinaryStart.exec(line)) { + possibleOldName = getFilename(values[1], void 0, config.dstPrefix); + possibleNewName = getFilename(values[2], void 0, config.srcPrefix); + } + if (currentFile === null) { + throw new Error("Where is my file !!!"); + } + currentFile.isBinary = true; + return; + } if (!currentFile || !currentFile.isGitDiff && currentFile && line.startsWith(oldFileNameHeader) && nxtLine.startsWith(newFileNameHeader) && afterNxtLine.startsWith(hunkHeaderPrefix)) { startFile(); } @@ -25579,13 +28452,13 @@ function parse(diffInput, config) { return files; } -// node_modules/.pnpm/diff2html@3.4.22/node_modules/diff2html/lib-esm/file-list-renderer.js +// node_modules/.pnpm/diff2html@3.4.34/node_modules/diff2html/lib-esm/file-list-renderer.js init_polyfill_buffer(); -// node_modules/.pnpm/diff2html@3.4.22/node_modules/diff2html/lib-esm/render-utils.js +// node_modules/.pnpm/diff2html@3.4.34/node_modules/diff2html/lib-esm/render-utils.js init_polyfill_buffer(); -// node_modules/.pnpm/diff2html@3.4.22/node_modules/diff2html/lib-esm/rematch.js +// node_modules/.pnpm/diff2html@3.4.34/node_modules/diff2html/lib-esm/rematch.js init_polyfill_buffer(); function levenshtein(a, b) { if (a.length === 0) { @@ -25625,7 +28498,7 @@ function newDistanceFn(str) { function newMatcherFn(distance2) { function findBestMatch(a, b, cache) { if (cache === void 0) { - cache = new Map(); + cache = /* @__PURE__ */ new Map(); } var bestMatchDist = Infinity; var bestMatch; @@ -25650,7 +28523,7 @@ function newMatcherFn(distance2) { level = 0; } if (cache === void 0) { - cache = new Map(); + cache = /* @__PURE__ */ new Map(); } var bm = findBestMatch(a, b, cache); if (!bm || a.length + b.length < 3) { @@ -25679,7 +28552,7 @@ function newMatcherFn(distance2) { return group; } -// node_modules/.pnpm/diff2html@3.4.22/node_modules/diff2html/lib-esm/render-utils.js +// node_modules/.pnpm/diff2html@3.4.34/node_modules/diff2html/lib-esm/render-utils.js var __assign = function() { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { @@ -25869,7 +28742,7 @@ function diffHighlight(diffLine1, diffLine2, isCombined, config) { }; } -// node_modules/.pnpm/diff2html@3.4.22/node_modules/diff2html/lib-esm/file-list-renderer.js +// node_modules/.pnpm/diff2html@3.4.34/node_modules/diff2html/lib-esm/file-list-renderer.js var baseTemplatesPath = "file-summary"; var iconsBaseTemplatesPath = "icon"; function render(diffFiles, hoganUtils) { @@ -25891,7 +28764,7 @@ function render(diffFiles, hoganUtils) { }); } -// node_modules/.pnpm/diff2html@3.4.22/node_modules/diff2html/lib-esm/line-by-line-renderer.js +// node_modules/.pnpm/diff2html@3.4.34/node_modules/diff2html/lib-esm/line-by-line-renderer.js init_polyfill_buffer(); var __assign2 = function() { __assign2 = Object.assign || function(t) { @@ -25973,14 +28846,14 @@ var LineByLineRenderer = function() { if (oldLines.length && newLines.length && !contextLines.length) { _this.applyRematchMatching(oldLines, newLines, matcher2).map(function(_a3) { var oldLines2 = _a3[0], newLines2 = _a3[1]; - var _b2 = _this.processChangedLines(file.isCombined, oldLines2, newLines2), left2 = _b2.left, right2 = _b2.right; + var _b2 = _this.processChangedLines(file, file.isCombined, oldLines2, newLines2), left2 = _b2.left, right2 = _b2.right; lines += left2; lines += right2; }); } else if (contextLines.length) { contextLines.forEach(function(line) { var _a3 = deconstructLine(line.content, file.isCombined), prefix = _a3.prefix, content = _a3.content; - lines += _this.generateSingleLineHtml({ + lines += _this.generateSingleLineHtml(file, { type: CSSLineClass.CONTEXT, prefix, content, @@ -25989,7 +28862,7 @@ var LineByLineRenderer = function() { }); }); } else if (oldLines.length || newLines.length) { - var _b = _this.processChangedLines(file.isCombined, oldLines, newLines), left = _b.left, right = _b.right; + var _b = _this.processChangedLines(file, file.isCombined, oldLines, newLines), left = _b.left, right = _b.right; lines += left; lines += right; } else { @@ -26035,7 +28908,7 @@ var LineByLineRenderer = function() { var doMatching = comparisons < this.config.matchingMaxComparisons && maxLineSizeInBlock < this.config.maxLineSizeInBlockForComparison && (this.config.matching === "lines" || this.config.matching === "words"); return doMatching ? matcher2(oldLines, newLines) : [[oldLines, newLines]]; }; - LineByLineRenderer2.prototype.processChangedLines = function(isCombined, oldLines, newLines) { + LineByLineRenderer2.prototype.processChangedLines = function(file, isCombined, oldLines, newLines) { var fileHtml = { right: "", left: "" @@ -26055,19 +28928,19 @@ var LineByLineRenderer = function() { content: diff2.newLine.content, type: CSSLineClass.INSERT_CHANGES } : __assign2(__assign2({}, deconstructLine(newLine.content, isCombined)), { type: toCSSClass(newLine.type) })), { oldNumber: newLine.oldNumber, newNumber: newLine.newNumber }) : void 0; - var _a2 = this.generateLineHtml(preparedOldLine, preparedNewLine), left = _a2.left, right = _a2.right; + var _a2 = this.generateLineHtml(file, preparedOldLine, preparedNewLine), left = _a2.left, right = _a2.right; fileHtml.left += left; fileHtml.right += right; } return fileHtml; }; - LineByLineRenderer2.prototype.generateLineHtml = function(oldLine, newLine) { + LineByLineRenderer2.prototype.generateLineHtml = function(file, oldLine, newLine) { return { - left: this.generateSingleLineHtml(oldLine), - right: this.generateSingleLineHtml(newLine) + left: this.generateSingleLineHtml(file, oldLine), + right: this.generateSingleLineHtml(file, newLine) }; }; - LineByLineRenderer2.prototype.generateSingleLineHtml = function(line) { + LineByLineRenderer2.prototype.generateSingleLineHtml = function(file, line) { if (line === void 0) return ""; var lineNumberHtml = this.hoganUtils.render(baseTemplatesPath2, "numbers", { @@ -26080,14 +28953,16 @@ var LineByLineRenderer = function() { contentClass: "d2h-code-line", prefix: line.prefix === " " ? " " : line.prefix, content: line.content, - lineNumber: lineNumberHtml + lineNumber: lineNumberHtml, + line, + file }); }; return LineByLineRenderer2; }(); var line_by_line_renderer_default = LineByLineRenderer; -// node_modules/.pnpm/diff2html@3.4.22/node_modules/diff2html/lib-esm/side-by-side-renderer.js +// node_modules/.pnpm/diff2html@3.4.34/node_modules/diff2html/lib-esm/side-by-side-renderer.js init_polyfill_buffer(); var __assign3 = function() { __assign3 = Object.assign || function(t) { @@ -26296,13 +29171,13 @@ var SideBySideRenderer = function() { }(); var side_by_side_renderer_default = SideBySideRenderer; -// node_modules/.pnpm/diff2html@3.4.22/node_modules/diff2html/lib-esm/hoganjs-utils.js +// node_modules/.pnpm/diff2html@3.4.34/node_modules/diff2html/lib-esm/hoganjs-utils.js init_polyfill_buffer(); -var Hogan3 = __toModule(require_hogan()); +var Hogan3 = __toESM(require_hogan()); -// node_modules/.pnpm/diff2html@3.4.22/node_modules/diff2html/lib-esm/diff2html-templates.js +// node_modules/.pnpm/diff2html@3.4.34/node_modules/diff2html/lib-esm/diff2html-templates.js init_polyfill_buffer(); -var Hogan2 = __toModule(require_hogan()); +var Hogan2 = __toESM(require_hogan()); var defaultTemplates = {}; defaultTemplates["file-summary-line"] = new Hogan2.Template({ code: function(c, p, i) { var t = this; @@ -26380,7 +29255,16 @@ defaultTemplates["generic-block-header"] = new Hogan2.Template({ code: function( t.b('
'); - t.b(t.t(t.f("blockHeader", c, p, 0))); + if (t.s(t.f("blockHeader", c, p, 1), c, p, 0, 156, 173, "{{ }}")) { + t.rs(c, p, function(c2, p2, t2) { + t2.b(t2.t(t2.f("blockHeader", c2, p2, 0))); + }); + c.pop(); + } + if (!t.s(t.f("blockHeader", c, p, 1), c, p, 1, 0, 0, "")) { + t.b(" "); + } + ; t.b("
"); t.b("\n" + i); t.b(" "); @@ -26696,7 +29580,7 @@ defaultTemplates["tag-file-renamed"] = new Hogan2.Template({ code: function(c, p return t.fl(); }, partials: {}, subs: {} }); -// node_modules/.pnpm/diff2html@3.4.22/node_modules/diff2html/lib-esm/hoganjs-utils.js +// node_modules/.pnpm/diff2html@3.4.34/node_modules/diff2html/lib-esm/hoganjs-utils.js var __assign4 = function() { __assign4 = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { @@ -26742,7 +29626,7 @@ var HoganJsUtils = function() { }(); var hoganjs_utils_default = HoganJsUtils; -// node_modules/.pnpm/diff2html@3.4.22/node_modules/diff2html/lib-esm/diff2html.js +// node_modules/.pnpm/diff2html@3.4.34/node_modules/diff2html/lib-esm/diff2html.js var __assign5 = function() { __assign5 = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { @@ -26769,7 +29653,7 @@ function html(diffInput, configuration) { } // src/ui/diff/diffView.ts -var import_obsidian13 = __toModule(require("obsidian")); +var import_obsidian13 = require("obsidian"); var DiffView = class extends import_obsidian13.ItemView { constructor(leaf, plugin) { super(leaf); @@ -26815,100 +29699,42 @@ var DiffView = class extends import_obsidian13.ItemView { var _a2; if (((_a2 = this.state) == null ? void 0 : _a2.file) && !this.gettingDiff && this.plugin.gitManager) { this.gettingDiff = true; - let diff2 = await this.plugin.gitManager.getDiffString(this.state.file, this.state.staged); - this.contentEl.empty(); - if (!diff2) { - const content = await this.app.vault.adapter.read(this.plugin.gitManager.getVaultPath(this.state.file)); - const header = `--- /dev/null + try { + let diff2 = await this.plugin.gitManager.getDiffString( + this.state.file, + this.state.staged, + this.state.hash + ); + this.contentEl.empty(); + if (!diff2) { + const content = await this.app.vault.adapter.read( + this.plugin.gitManager.getVaultPath(this.state.file) + ); + const header = `--- /dev/null +++ ${this.state.file} @@ -0,0 +1,${content.split("\n").length} @@`; - diff2 = [...header.split("\n"), ...content.split("\n").map((line) => `+${line}`)].join("\n"); + diff2 = [ + ...header.split("\n"), + ...content.split("\n").map((line) => `+${line}`) + ].join("\n"); + } + const diffEl = this.parser.parseFromString(html(diff2), "text/html").querySelector(".d2h-file-diff"); + this.contentEl.append(diffEl); + } finally { + this.gettingDiff = false; } - const diffEl = this.parser.parseFromString(html(diff2), "text/html").querySelector(".d2h-file-diff"); - this.contentEl.append(diffEl); - this.gettingDiff = false; } } }; -// src/ui/modals/branchModal.ts +// src/ui/history/historyView.ts init_polyfill_buffer(); -var import_obsidian14 = __toModule(require("obsidian")); -var BranchModal = class extends import_obsidian14.FuzzySuggestModal { - constructor(branches) { - super(app); - this.branches = branches; - this.setPlaceholder("Select branch to checkout"); - } - getItems() { - return this.branches; - } - getItemText(item) { - return item; - } - onChooseItem(item, evt) { - this.resolve(item); - } - open() { - super.open(); - return new Promise((resolve) => { - this.resolve = resolve; - }); - } - async onClose() { - await new Promise((resolve) => setTimeout(resolve, 10)); - if (this.resolve) - this.resolve(void 0); - } -}; +var import_obsidian16 = require("obsidian"); -// src/ui/modals/ignoreModal.ts -init_polyfill_buffer(); -var import_obsidian15 = __toModule(require("obsidian")); -var IgnoreModal = class extends import_obsidian15.Modal { - constructor(app2, content) { - super(app2); - this.content = content; - this.resolve = null; - } - open() { - super.open(); - return new Promise((resolve) => { - this.resolve = resolve; - }); - } - onOpen() { - const { contentEl, titleEl } = this; - titleEl.setText("Edit .gitignore"); - const div = contentEl.createDiv(); - const text2 = div.createEl("textarea", { - text: this.content, - cls: ["obsidian-git-textarea"], - attr: { rows: 10, cols: 30, wrap: "off" } - }); - div.createEl("button", { - cls: ["mod-cta", "obsidian-git-center-button"], - text: "Save" - }).addEventListener("click", async () => { - this.resolve(text2.value); - this.close(); - }); - } - onClose() { - const { contentEl } = this; - this.resolve(void 0); - contentEl.empty(); - } -}; - -// src/ui/sidebar/sidebarView.ts -init_polyfill_buffer(); -var import_obsidian22 = __toModule(require("obsidian")); - -// src/ui/sidebar/gitView.svelte +// src/ui/history/historyView.svelte init_polyfill_buffer(); -// node_modules/.pnpm/svelte@3.55.0/node_modules/svelte/internal/index.mjs +// node_modules/.pnpm/svelte@3.57.0/node_modules/svelte/internal/index.mjs init_polyfill_buffer(); function noop() { } @@ -26917,7 +29743,7 @@ function run(fn) { return fn(); } function blank_object() { - return Object.create(null); + return /* @__PURE__ */ Object.create(null); } function run_all(fns) { fns.forEach(run); @@ -26934,7 +29760,7 @@ function is_empty(obj) { var is_client = typeof window !== "undefined"; var now = is_client ? () => window.performance.now() : () => Date.now(); var raf = is_client ? (cb) => requestAnimationFrame(cb) : noop; -var tasks = new Set(); +var tasks = /* @__PURE__ */ new Set(); function run_tasks(now2) { tasks.forEach((task) => { if (!task.c(now2)) { @@ -27063,7 +29889,7 @@ function custom_event(type, detail, { bubbles = false, cancelable = false } = {} e.initCustomEvent(type, bubbles, cancelable, detail); return e; } -var managed_styles = new Map(); +var managed_styles = /* @__PURE__ */ new Map(); var active = 0; function hash(str) { let hash2 = 5381; @@ -27101,7 +29927,10 @@ function create_rule(node, a, b, duration, delay2, ease, fn, uid = 0) { } function delete_rule(node, name) { const previous = (node.style.animation || "").split(", "); - const next = previous.filter(name ? (anim) => anim.indexOf(name) < 0 : (anim) => anim.indexOf("__svelte") === -1); + const next = previous.filter( + name ? (anim) => anim.indexOf(name) < 0 : (anim) => anim.indexOf("__svelte") === -1 + // remove all Svelte animations + ); const deleted = previous.length - next.length; if (deleted) { node.style.animation = next.join(", "); @@ -27144,7 +29973,7 @@ var dirty_components = []; var binding_callbacks = []; var render_callbacks = []; var flush_callbacks = []; -var resolved_promise = Promise.resolve(); +var resolved_promise = /* @__PURE__ */ Promise.resolve(); var update_scheduled = false; function schedule_update() { if (!update_scheduled) { @@ -27155,16 +29984,25 @@ function schedule_update() { function add_render_callback(fn) { render_callbacks.push(fn); } -var seen_callbacks = new Set(); +var seen_callbacks = /* @__PURE__ */ new Set(); var flushidx = 0; function flush() { + if (flushidx !== 0) { + return; + } const saved_component = current_component; do { - while (flushidx < dirty_components.length) { - const component = dirty_components[flushidx]; - flushidx++; - set_current_component(component); - update(component.$$); + try { + while (flushidx < dirty_components.length) { + const component = dirty_components[flushidx]; + flushidx++; + set_current_component(component); + update(component.$$); + } + } catch (e) { + dirty_components.length = 0; + flushidx = 0; + throw e; } set_current_component(null); dirty_components.length = 0; @@ -27197,6 +30035,13 @@ function update($$) { $$.after_update.forEach(add_render_callback); } } +function flush_render_callbacks(fns) { + const filtered = []; + const targets = []; + render_callbacks.forEach((c) => fns.indexOf(c) === -1 ? filtered.push(c) : targets.push(c)); + targets.forEach((c) => c()); + render_callbacks = filtered; +} var promise; function wait() { if (!promise) { @@ -27210,13 +30055,14 @@ function wait() { function dispatch(node, direction, kind) { node.dispatchEvent(custom_event(`${direction ? "intro" : "outro"}${kind}`)); } -var outroing = new Set(); +var outroing = /* @__PURE__ */ new Set(); var outros; function group_outros() { outros = { r: 0, c: [], p: outros + // parent group }; } function check_outros() { @@ -27346,7 +30192,7 @@ function create_bidirectional_transition(node, fn, params, intro) { }; } var globals = typeof window !== "undefined" ? window : typeof globalThis !== "undefined" ? globalThis : global; -var boolean_attributes = new Set([ +var _boolean_attributes = [ "allowfullscreen", "allowpaymentrequest", "async", @@ -27373,7 +30219,8 @@ var boolean_attributes = new Set([ "required", "reversed", "selected" -]); +]; +var boolean_attributes = /* @__PURE__ */ new Set([..._boolean_attributes]); function create_component(block) { block && block.c(); } @@ -27396,6 +30243,7 @@ function mount_component(component, target, anchor, customElement) { function destroy_component(component, detaching) { const $$ = component.$$; if ($$.fragment !== null) { + flush_render_callbacks($$.after_update); run_all($$.on_destroy); $$.fragment && $$.fragment.d(detaching); $$.on_destroy = $$.fragment = null; @@ -27410,22 +30258,25 @@ function make_dirty(component, i) { } component.$$.dirty[i / 31 | 0] |= 1 << i % 31; } -function init2(component, options, instance6, create_fragment6, not_equal, props, append_styles2, dirty = [-1]) { +function init2(component, options, instance10, create_fragment10, not_equal, props, append_styles2, dirty = [-1]) { const parent_component = current_component; set_current_component(component); const $$ = component.$$ = { fragment: null, ctx: [], + // state props, update: noop, not_equal, bound: blank_object(), + // lifecycle on_mount: [], on_destroy: [], on_disconnect: [], before_update: [], after_update: [], context: new Map(options.context || (parent_component ? parent_component.$$.context : [])), + // everything else callbacks: blank_object(), dirty, skip_bound: false, @@ -27433,7 +30284,7 @@ function init2(component, options, instance6, create_fragment6, not_equal, props }; append_styles2 && append_styles2($$.root); let ready = false; - $$.ctx = instance6 ? instance6(component, options.props || {}, (i, ret, ...rest) => { + $$.ctx = instance10 ? instance10(component, options.props || {}, (i, ret, ...rest) => { const value = rest.length ? rest[0] : ret; if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) { if (!$$.skip_bound && $$.bound[i]) @@ -27446,7 +30297,7 @@ function init2(component, options, instance6, create_fragment6, not_equal, props $$.update(); ready = true; run_all($$.before_update); - $$.fragment = create_fragment6 ? create_fragment6($$.ctx) : false; + $$.fragment = create_fragment10 ? create_fragment10($$.ctx) : false; if (options.target) { if (options.hydrate) { start_hydrating(); @@ -27535,45 +30386,1926 @@ var SvelteComponent = class { } }; -// src/ui/sidebar/gitView.svelte -var import_obsidian21 = __toModule(require("obsidian")); +// node_modules/.pnpm/tslib@2.5.0/node_modules/tslib/tslib.es6.js +init_polyfill_buffer(); +function __awaiter(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve) { + resolve(value); + }); + } + return new (P || (P = Promise))(function(resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +} -// node_modules/.pnpm/svelte@3.55.0/node_modules/svelte/index.mjs +// src/ui/history/historyView.svelte +var import_obsidian15 = require("obsidian"); + +// node_modules/.pnpm/svelte@3.57.0/node_modules/svelte/index.mjs init_polyfill_buffer(); -// node_modules/.pnpm/svelte@3.55.0/node_modules/svelte/transition/index.mjs +// src/ui/history/components/logComponent.svelte init_polyfill_buffer(); -// node_modules/.pnpm/svelte@3.55.0/node_modules/svelte/easing/index.mjs +// node_modules/.pnpm/svelte@3.57.0/node_modules/svelte/transition/index.mjs +init_polyfill_buffer(); + +// node_modules/.pnpm/svelte@3.57.0/node_modules/svelte/easing/index.mjs init_polyfill_buffer(); function cubicOut(t) { const f = t - 1; return f * f * f + 1; } -// node_modules/.pnpm/svelte@3.55.0/node_modules/svelte/transition/index.mjs -function slide(node, { delay: delay2 = 0, duration = 400, easing = cubicOut } = {}) { +// node_modules/.pnpm/svelte@3.57.0/node_modules/svelte/transition/index.mjs +function slide(node, { delay: delay2 = 0, duration = 400, easing = cubicOut, axis = "y" } = {}) { const style = getComputedStyle(node); const opacity = +style.opacity; - const height = parseFloat(style.height); - const padding_top = parseFloat(style.paddingTop); - const padding_bottom = parseFloat(style.paddingBottom); - const margin_top = parseFloat(style.marginTop); - const margin_bottom = parseFloat(style.marginBottom); - const border_top_width = parseFloat(style.borderTopWidth); - const border_bottom_width = parseFloat(style.borderBottomWidth); + const primary_property = axis === "y" ? "height" : "width"; + const primary_property_value = parseFloat(style[primary_property]); + const secondary_properties = axis === "y" ? ["top", "bottom"] : ["left", "right"]; + const capitalized_secondary_properties = secondary_properties.map((e) => `${e[0].toUpperCase()}${e.slice(1)}`); + const padding_start_value = parseFloat(style[`padding${capitalized_secondary_properties[0]}`]); + const padding_end_value = parseFloat(style[`padding${capitalized_secondary_properties[1]}`]); + const margin_start_value = parseFloat(style[`margin${capitalized_secondary_properties[0]}`]); + const margin_end_value = parseFloat(style[`margin${capitalized_secondary_properties[1]}`]); + const border_width_start_value = parseFloat(style[`border${capitalized_secondary_properties[0]}Width`]); + const border_width_end_value = parseFloat(style[`border${capitalized_secondary_properties[1]}Width`]); return { delay: delay2, duration, easing, - css: (t) => `overflow: hidden;opacity: ${Math.min(t * 20, 1) * opacity};height: ${t * height}px;padding-top: ${t * padding_top}px;padding-bottom: ${t * padding_bottom}px;margin-top: ${t * margin_top}px;margin-bottom: ${t * margin_bottom}px;border-top-width: ${t * border_top_width}px;border-bottom-width: ${t * border_bottom_width}px;` + css: (t) => `overflow: hidden;opacity: ${Math.min(t * 20, 1) * opacity};${primary_property}: ${t * primary_property_value}px;padding-${secondary_properties[0]}: ${t * padding_start_value}px;padding-${secondary_properties[1]}: ${t * padding_end_value}px;margin-${secondary_properties[0]}: ${t * margin_start_value}px;margin-${secondary_properties[1]}: ${t * margin_end_value}px;border-${secondary_properties[0]}-width: ${t * border_width_start_value}px;border-${secondary_properties[1]}-width: ${t * border_width_end_value}px;` }; } +// src/ui/history/components/logFileComponent.svelte +init_polyfill_buffer(); +var import_obsidian14 = require("obsidian"); +function add_css(target) { + append_styles(target, "svelte-pmbo0n", "main.svelte-pmbo0n .nav-file-title-content.svelte-pmbo0n{display:flex;align-items:center}"); +} +function create_if_block(ctx) { + let div; + let mounted; + let dispose; + return { + c() { + div = element("div"); + attr(div, "data-icon", "go-to-file"); + attr(div, "aria-label", "Open File"); + attr(div, "class", "clickable-icon"); + }, + m(target, anchor) { + insert(target, div, anchor); + ctx[7](div); + if (!mounted) { + dispose = [ + listen( + div, + "auxclick", + /*open*/ + ctx[4] + ), + listen( + div, + "click", + /*open*/ + ctx[4] + ) + ]; + mounted = true; + } + }, + p: noop, + d(detaching) { + if (detaching) + detach(div); + ctx[7](null); + mounted = false; + run_all(dispose); + } + }; +} +function create_fragment(ctx) { + let main; + let div3; + let div0; + let t0_value = getDisplayPath( + /*diff*/ + ctx[0].vault_path + ) + ""; + let t0; + let t1; + let div2; + let div1; + let show_if = ( + /*view*/ + ctx[1].app.vault.getAbstractFileByPath( + /*diff*/ + ctx[0].vault_path + ) + ); + let t2; + let span; + let t3_value = ( + /*diff*/ + ctx[0].status + "" + ); + let t3; + let span_data_type_value; + let div3_aria_label_value; + let mounted; + let dispose; + let if_block = show_if && create_if_block(ctx); + return { + c() { + main = element("main"); + div3 = element("div"); + div0 = element("div"); + t0 = text(t0_value); + t1 = space(); + div2 = element("div"); + div1 = element("div"); + if (if_block) + if_block.c(); + t2 = space(); + span = element("span"); + t3 = text(t3_value); + attr(div0, "class", "nav-file-title-content svelte-pmbo0n"); + attr(div1, "class", "buttons"); + attr(span, "class", "type"); + attr(span, "data-type", span_data_type_value = /*diff*/ + ctx[0].status); + attr(div2, "class", "git-tools"); + attr(div3, "class", "nav-file-title"); + attr( + div3, + "aria-label-position", + /*side*/ + ctx[3] + ); + attr(div3, "aria-label", div3_aria_label_value = /*diff*/ + ctx[0].vault_path); + attr(main, "class", "nav-file svelte-pmbo0n"); + }, + m(target, anchor) { + insert(target, main, anchor); + append2(main, div3); + append2(div3, div0); + append2(div0, t0); + append2(div3, t1); + append2(div3, div2); + append2(div2, div1); + if (if_block) + if_block.m(div1, null); + append2(div2, t2); + append2(div2, span); + append2(span, t3); + if (!mounted) { + dispose = [ + listen( + div0, + "click", + /*showDiff*/ + ctx[5] + ), + listen( + div0, + "auxclick", + /*showDiff*/ + ctx[5] + ), + listen(div3, "click", self2( + /*showDiff*/ + ctx[5] + )), + listen(div3, "auxclick", self2( + /*showDiff*/ + ctx[5] + )), + listen( + main, + "focus", + /*focus_handler*/ + ctx[6] + ) + ]; + mounted = true; + } + }, + p(ctx2, [dirty]) { + if (dirty & /*diff*/ + 1 && t0_value !== (t0_value = getDisplayPath( + /*diff*/ + ctx2[0].vault_path + ) + "")) + set_data(t0, t0_value); + if (dirty & /*view, diff*/ + 3) + show_if = /*view*/ + ctx2[1].app.vault.getAbstractFileByPath( + /*diff*/ + ctx2[0].vault_path + ); + if (show_if) { + if (if_block) { + if_block.p(ctx2, dirty); + } else { + if_block = create_if_block(ctx2); + if_block.c(); + if_block.m(div1, null); + } + } else if (if_block) { + if_block.d(1); + if_block = null; + } + if (dirty & /*diff*/ + 1 && t3_value !== (t3_value = /*diff*/ + ctx2[0].status + "")) + set_data(t3, t3_value); + if (dirty & /*diff*/ + 1 && span_data_type_value !== (span_data_type_value = /*diff*/ + ctx2[0].status)) { + attr(span, "data-type", span_data_type_value); + } + if (dirty & /*side*/ + 8) { + attr( + div3, + "aria-label-position", + /*side*/ + ctx2[3] + ); + } + if (dirty & /*diff*/ + 1 && div3_aria_label_value !== (div3_aria_label_value = /*diff*/ + ctx2[0].vault_path)) { + attr(div3, "aria-label", div3_aria_label_value); + } + }, + i: noop, + o: noop, + d(detaching) { + if (detaching) + detach(main); + if (if_block) + if_block.d(); + mounted = false; + run_all(dispose); + } + }; +} +function instance($$self, $$props, $$invalidate) { + let side; + let { diff: diff2 } = $$props; + let { view } = $$props; + let buttons = []; + window.setTimeout(() => buttons.forEach((b) => (0, import_obsidian14.setIcon)(b, b.getAttr("data-icon"))), 0); + function open(event) { + var _a2; + const file = view.app.vault.getAbstractFileByPath(diff2.vault_path); + if (file instanceof import_obsidian14.TFile) { + (_a2 = getNewLeaf(event)) === null || _a2 === void 0 ? void 0 : _a2.openFile(file); + } + } + function showDiff(event) { + var _a2; + (_a2 = getNewLeaf(event)) === null || _a2 === void 0 ? void 0 : _a2.setViewState({ + type: DIFF_VIEW_CONFIG.type, + active: true, + state: { + file: diff2.path, + staged: false, + hash: diff2.hash + } + }); + } + function focus_handler(event) { + bubble.call(this, $$self, event); + } + function div_binding($$value) { + binding_callbacks[$$value ? "unshift" : "push"](() => { + buttons[0] = $$value; + $$invalidate(2, buttons); + }); + } + $$self.$$set = ($$props2) => { + if ("diff" in $$props2) + $$invalidate(0, diff2 = $$props2.diff); + if ("view" in $$props2) + $$invalidate(1, view = $$props2.view); + }; + $$self.$$.update = () => { + if ($$self.$$.dirty & /*view*/ + 2) { + $: + $$invalidate(3, side = view.leaf.getRoot().side == "left" ? "right" : "left"); + } + }; + return [diff2, view, buttons, side, open, showDiff, focus_handler, div_binding]; +} +var LogFileComponent = class extends SvelteComponent { + constructor(options) { + super(); + init2(this, options, instance, create_fragment, safe_not_equal, { diff: 0, view: 1 }, add_css); + } +}; +var logFileComponent_default = LogFileComponent; + +// src/ui/history/components/logTreeComponent.svelte +init_polyfill_buffer(); +function add_css2(target) { + append_styles(target, "svelte-1lnl15d", "main.svelte-1lnl15d .nav-folder-title-content.svelte-1lnl15d{display:flex;align-items:center}"); +} +function get_each_context(ctx, list, i) { + const child_ctx = ctx.slice(); + child_ctx[10] = list[i]; + return child_ctx; +} +function create_else_block(ctx) { + let div4; + let div3; + let div0; + let t0; + let div1; + let t1; + let div2; + let t2_value = ( + /*entity*/ + ctx[10].title + "" + ); + let t2; + let div3_aria_label_value; + let t3; + let t4; + let current; + let mounted; + let dispose; + function click_handler() { + return ( + /*click_handler*/ + ctx[7]( + /*entity*/ + ctx[10] + ) + ); + } + function click_handler_1() { + return ( + /*click_handler_1*/ + ctx[8]( + /*entity*/ + ctx[10] + ) + ); + } + function click_handler_2() { + return ( + /*click_handler_2*/ + ctx[9]( + /*entity*/ + ctx[10] + ) + ); + } + let if_block = !/*closed*/ + ctx[4][ + /*entity*/ + ctx[10].title + ] && create_if_block_1(ctx); + return { + c() { + div4 = element("div"); + div3 = element("div"); + div0 = element("div"); + t0 = space(); + div1 = element("div"); + div1.innerHTML = ``; + t1 = space(); + div2 = element("div"); + t2 = text(t2_value); + t3 = space(); + if (if_block) + if_block.c(); + t4 = space(); + attr(div0, "data-icon", "folder"); + set_style(div0, "padding-right", "5px"); + set_style(div0, "display", "flex"); + attr(div1, "class", "nav-folder-collapse-indicator collapse-icon"); + attr(div2, "class", "nav-folder-title-content svelte-1lnl15d"); + attr(div3, "class", "nav-folder-title"); + attr( + div3, + "aria-label-position", + /*side*/ + ctx[5] + ); + attr(div3, "aria-label", div3_aria_label_value = /*entity*/ + ctx[10].vaultPath); + attr(div4, "class", "nav-folder"); + toggle_class( + div4, + "is-collapsed", + /*closed*/ + ctx[4][ + /*entity*/ + ctx[10].title + ] + ); + }, + m(target, anchor) { + insert(target, div4, anchor); + append2(div4, div3); + append2(div3, div0); + append2(div3, t0); + append2(div3, div1); + append2(div3, t1); + append2(div3, div2); + append2(div2, t2); + append2(div4, t3); + if (if_block) + if_block.m(div4, null); + append2(div4, t4); + current = true; + if (!mounted) { + dispose = [ + listen(div1, "click", click_handler), + listen(div2, "click", click_handler_1), + listen(div3, "click", self2(click_handler_2)) + ]; + mounted = true; + } + }, + p(new_ctx, dirty) { + ctx = new_ctx; + if ((!current || dirty & /*hierarchy*/ + 1) && t2_value !== (t2_value = /*entity*/ + ctx[10].title + "")) + set_data(t2, t2_value); + if (!current || dirty & /*side*/ + 32) { + attr( + div3, + "aria-label-position", + /*side*/ + ctx[5] + ); + } + if (!current || dirty & /*hierarchy*/ + 1 && div3_aria_label_value !== (div3_aria_label_value = /*entity*/ + ctx[10].vaultPath)) { + attr(div3, "aria-label", div3_aria_label_value); + } + if (!/*closed*/ + ctx[4][ + /*entity*/ + ctx[10].title + ]) { + if (if_block) { + if_block.p(ctx, dirty); + if (dirty & /*closed, hierarchy*/ + 17) { + transition_in(if_block, 1); + } + } else { + if_block = create_if_block_1(ctx); + if_block.c(); + transition_in(if_block, 1); + if_block.m(div4, t4); + } + } else if (if_block) { + group_outros(); + transition_out(if_block, 1, 1, () => { + if_block = null; + }); + check_outros(); + } + if (!current || dirty & /*closed, hierarchy*/ + 17) { + toggle_class( + div4, + "is-collapsed", + /*closed*/ + ctx[4][ + /*entity*/ + ctx[10].title + ] + ); + } + }, + i(local) { + if (current) + return; + transition_in(if_block); + current = true; + }, + o(local) { + transition_out(if_block); + current = false; + }, + d(detaching) { + if (detaching) + detach(div4); + if (if_block) + if_block.d(); + mounted = false; + run_all(dispose); + } + }; +} +function create_if_block2(ctx) { + let div; + let logfilecomponent; + let t; + let current; + logfilecomponent = new logFileComponent_default({ + props: { + diff: ( + /*entity*/ + ctx[10].data + ), + view: ( + /*view*/ + ctx[2] + ) + } + }); + return { + c() { + div = element("div"); + create_component(logfilecomponent.$$.fragment); + t = space(); + }, + m(target, anchor) { + insert(target, div, anchor); + mount_component(logfilecomponent, div, null); + append2(div, t); + current = true; + }, + p(ctx2, dirty) { + const logfilecomponent_changes = {}; + if (dirty & /*hierarchy*/ + 1) + logfilecomponent_changes.diff = /*entity*/ + ctx2[10].data; + if (dirty & /*view*/ + 4) + logfilecomponent_changes.view = /*view*/ + ctx2[2]; + logfilecomponent.$set(logfilecomponent_changes); + }, + i(local) { + if (current) + return; + transition_in(logfilecomponent.$$.fragment, local); + current = true; + }, + o(local) { + transition_out(logfilecomponent.$$.fragment, local); + current = false; + }, + d(detaching) { + if (detaching) + detach(div); + destroy_component(logfilecomponent); + } + }; +} +function create_if_block_1(ctx) { + let div; + let logtreecomponent; + let div_transition; + let current; + logtreecomponent = new LogTreeComponent({ + props: { + hierarchy: ( + /*entity*/ + ctx[10] + ), + plugin: ( + /*plugin*/ + ctx[1] + ), + view: ( + /*view*/ + ctx[2] + ) + } + }); + return { + c() { + div = element("div"); + create_component(logtreecomponent.$$.fragment); + attr(div, "class", "nav-folder-children"); + }, + m(target, anchor) { + insert(target, div, anchor); + mount_component(logtreecomponent, div, null); + current = true; + }, + p(ctx2, dirty) { + const logtreecomponent_changes = {}; + if (dirty & /*hierarchy*/ + 1) + logtreecomponent_changes.hierarchy = /*entity*/ + ctx2[10]; + if (dirty & /*plugin*/ + 2) + logtreecomponent_changes.plugin = /*plugin*/ + ctx2[1]; + if (dirty & /*view*/ + 4) + logtreecomponent_changes.view = /*view*/ + ctx2[2]; + logtreecomponent.$set(logtreecomponent_changes); + }, + i(local) { + if (current) + return; + transition_in(logtreecomponent.$$.fragment, local); + if (local) { + add_render_callback(() => { + if (!current) + return; + if (!div_transition) + div_transition = create_bidirectional_transition(div, slide, { duration: 150 }, true); + div_transition.run(1); + }); + } + current = true; + }, + o(local) { + transition_out(logtreecomponent.$$.fragment, local); + if (local) { + if (!div_transition) + div_transition = create_bidirectional_transition(div, slide, { duration: 150 }, false); + div_transition.run(0); + } + current = false; + }, + d(detaching) { + if (detaching) + detach(div); + destroy_component(logtreecomponent); + if (detaching && div_transition) + div_transition.end(); + } + }; +} +function create_each_block(ctx) { + let current_block_type_index; + let if_block; + let if_block_anchor; + let current; + const if_block_creators = [create_if_block2, create_else_block]; + const if_blocks = []; + function select_block_type(ctx2, dirty) { + if ( + /*entity*/ + ctx2[10].data + ) + return 0; + return 1; + } + current_block_type_index = select_block_type(ctx, -1); + if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx); + return { + c() { + if_block.c(); + if_block_anchor = empty(); + }, + m(target, anchor) { + if_blocks[current_block_type_index].m(target, anchor); + insert(target, if_block_anchor, anchor); + current = true; + }, + p(ctx2, dirty) { + let previous_block_index = current_block_type_index; + current_block_type_index = select_block_type(ctx2, dirty); + if (current_block_type_index === previous_block_index) { + if_blocks[current_block_type_index].p(ctx2, dirty); + } else { + group_outros(); + transition_out(if_blocks[previous_block_index], 1, 1, () => { + if_blocks[previous_block_index] = null; + }); + check_outros(); + if_block = if_blocks[current_block_type_index]; + if (!if_block) { + if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx2); + if_block.c(); + } else { + if_block.p(ctx2, dirty); + } + transition_in(if_block, 1); + if_block.m(if_block_anchor.parentNode, if_block_anchor); + } + }, + i(local) { + if (current) + return; + transition_in(if_block); + current = true; + }, + o(local) { + transition_out(if_block); + current = false; + }, + d(detaching) { + if_blocks[current_block_type_index].d(detaching); + if (detaching) + detach(if_block_anchor); + } + }; +} +function create_fragment2(ctx) { + let main; + let current; + let each_value = ( + /*hierarchy*/ + ctx[0].children + ); + let each_blocks = []; + for (let i = 0; i < each_value.length; i += 1) { + each_blocks[i] = create_each_block(get_each_context(ctx, each_value, i)); + } + const out = (i) => transition_out(each_blocks[i], 1, 1, () => { + each_blocks[i] = null; + }); + return { + c() { + main = element("main"); + for (let i = 0; i < each_blocks.length; i += 1) { + each_blocks[i].c(); + } + attr(main, "class", "svelte-1lnl15d"); + toggle_class( + main, + "topLevel", + /*topLevel*/ + ctx[3] + ); + }, + m(target, anchor) { + insert(target, main, anchor); + for (let i = 0; i < each_blocks.length; i += 1) { + if (each_blocks[i]) { + each_blocks[i].m(main, null); + } + } + current = true; + }, + p(ctx2, [dirty]) { + if (dirty & /*hierarchy, view, closed, plugin, side, fold*/ + 119) { + each_value = /*hierarchy*/ + ctx2[0].children; + let i; + for (i = 0; i < each_value.length; i += 1) { + const child_ctx = get_each_context(ctx2, each_value, i); + if (each_blocks[i]) { + each_blocks[i].p(child_ctx, dirty); + transition_in(each_blocks[i], 1); + } else { + each_blocks[i] = create_each_block(child_ctx); + each_blocks[i].c(); + transition_in(each_blocks[i], 1); + each_blocks[i].m(main, null); + } + } + group_outros(); + for (i = each_value.length; i < each_blocks.length; i += 1) { + out(i); + } + check_outros(); + } + if (!current || dirty & /*topLevel*/ + 8) { + toggle_class( + main, + "topLevel", + /*topLevel*/ + ctx2[3] + ); + } + }, + i(local) { + if (current) + return; + for (let i = 0; i < each_value.length; i += 1) { + transition_in(each_blocks[i]); + } + current = true; + }, + o(local) { + each_blocks = each_blocks.filter(Boolean); + for (let i = 0; i < each_blocks.length; i += 1) { + transition_out(each_blocks[i]); + } + current = false; + }, + d(detaching) { + if (detaching) + detach(main); + destroy_each(each_blocks, detaching); + } + }; +} +function instance2($$self, $$props, $$invalidate) { + let side; + let { hierarchy } = $$props; + let { plugin } = $$props; + let { view } = $$props; + let { topLevel = false } = $$props; + const closed = {}; + function fold(item) { + $$invalidate(4, closed[item.title] = !closed[item.title], closed); + } + const click_handler = (entity) => fold(entity); + const click_handler_1 = (entity) => fold(entity); + const click_handler_2 = (entity) => fold(entity); + $$self.$$set = ($$props2) => { + if ("hierarchy" in $$props2) + $$invalidate(0, hierarchy = $$props2.hierarchy); + if ("plugin" in $$props2) + $$invalidate(1, plugin = $$props2.plugin); + if ("view" in $$props2) + $$invalidate(2, view = $$props2.view); + if ("topLevel" in $$props2) + $$invalidate(3, topLevel = $$props2.topLevel); + }; + $$self.$$.update = () => { + if ($$self.$$.dirty & /*view*/ + 4) { + $: + $$invalidate(5, side = view.leaf.getRoot().side == "left" ? "right" : "left"); + } + }; + return [ + hierarchy, + plugin, + view, + topLevel, + closed, + side, + fold, + click_handler, + click_handler_1, + click_handler_2 + ]; +} +var LogTreeComponent = class extends SvelteComponent { + constructor(options) { + super(); + init2( + this, + options, + instance2, + create_fragment2, + safe_not_equal, + { + hierarchy: 0, + plugin: 1, + view: 2, + topLevel: 3 + }, + add_css2 + ); + } +}; +var logTreeComponent_default = LogTreeComponent; + +// src/ui/history/components/logComponent.svelte +function add_css3(target) { + append_styles(target, "svelte-1t6egnt", ".git-ref.svelte-1t6egnt{color:var(--text-accent)}"); +} +function get_each_context2(ctx, list, i) { + const child_ctx = ctx.slice(); + child_ctx[8] = list[i]; + return child_ctx; +} +function create_if_block_2(ctx) { + let div; + let t_value = ( + /*log*/ + ctx[0].refs.join(", ") + "" + ); + let t; + return { + c() { + div = element("div"); + t = text(t_value); + attr(div, "class", "git-ref svelte-1t6egnt"); + }, + m(target, anchor) { + insert(target, div, anchor); + append2(div, t); + }, + p(ctx2, dirty) { + if (dirty & /*log*/ + 1 && t_value !== (t_value = /*log*/ + ctx2[0].refs.join(", ") + "")) + set_data(t, t_value); + }, + d(detaching) { + if (detaching) + detach(div); + } + }; +} +function create_if_block3(ctx) { + let div; + let current_block_type_index; + let if_block; + let div_transition; + let current; + const if_block_creators = [create_if_block_12, create_else_block2]; + const if_blocks = []; + function select_block_type(ctx2, dirty) { + if ( + /*showTree*/ + ctx2[2] + ) + return 0; + return 1; + } + current_block_type_index = select_block_type(ctx, -1); + if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx); + return { + c() { + div = element("div"); + if_block.c(); + attr(div, "class", "nav-folder-children"); + }, + m(target, anchor) { + insert(target, div, anchor); + if_blocks[current_block_type_index].m(div, null); + current = true; + }, + p(ctx2, dirty) { + let previous_block_index = current_block_type_index; + current_block_type_index = select_block_type(ctx2, dirty); + if (current_block_type_index === previous_block_index) { + if_blocks[current_block_type_index].p(ctx2, dirty); + } else { + group_outros(); + transition_out(if_blocks[previous_block_index], 1, 1, () => { + if_blocks[previous_block_index] = null; + }); + check_outros(); + if_block = if_blocks[current_block_type_index]; + if (!if_block) { + if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx2); + if_block.c(); + } else { + if_block.p(ctx2, dirty); + } + transition_in(if_block, 1); + if_block.m(div, null); + } + }, + i(local) { + if (current) + return; + transition_in(if_block); + if (local) { + add_render_callback(() => { + if (!current) + return; + if (!div_transition) + div_transition = create_bidirectional_transition(div, slide, { duration: 150 }, true); + div_transition.run(1); + }); + } + current = true; + }, + o(local) { + transition_out(if_block); + if (local) { + if (!div_transition) + div_transition = create_bidirectional_transition(div, slide, { duration: 150 }, false); + div_transition.run(0); + } + current = false; + }, + d(detaching) { + if (detaching) + detach(div); + if_blocks[current_block_type_index].d(); + if (detaching && div_transition) + div_transition.end(); + } + }; +} +function create_else_block2(ctx) { + let each_1_anchor; + let current; + let each_value = ( + /*log*/ + ctx[0].diff.files + ); + let each_blocks = []; + for (let i = 0; i < each_value.length; i += 1) { + each_blocks[i] = create_each_block2(get_each_context2(ctx, each_value, i)); + } + const out = (i) => transition_out(each_blocks[i], 1, 1, () => { + each_blocks[i] = null; + }); + return { + c() { + for (let i = 0; i < each_blocks.length; i += 1) { + each_blocks[i].c(); + } + each_1_anchor = empty(); + }, + m(target, anchor) { + for (let i = 0; i < each_blocks.length; i += 1) { + if (each_blocks[i]) { + each_blocks[i].m(target, anchor); + } + } + insert(target, each_1_anchor, anchor); + current = true; + }, + p(ctx2, dirty) { + if (dirty & /*view, log*/ + 3) { + each_value = /*log*/ + ctx2[0].diff.files; + let i; + for (i = 0; i < each_value.length; i += 1) { + const child_ctx = get_each_context2(ctx2, each_value, i); + if (each_blocks[i]) { + each_blocks[i].p(child_ctx, dirty); + transition_in(each_blocks[i], 1); + } else { + each_blocks[i] = create_each_block2(child_ctx); + each_blocks[i].c(); + transition_in(each_blocks[i], 1); + each_blocks[i].m(each_1_anchor.parentNode, each_1_anchor); + } + } + group_outros(); + for (i = each_value.length; i < each_blocks.length; i += 1) { + out(i); + } + check_outros(); + } + }, + i(local) { + if (current) + return; + for (let i = 0; i < each_value.length; i += 1) { + transition_in(each_blocks[i]); + } + current = true; + }, + o(local) { + each_blocks = each_blocks.filter(Boolean); + for (let i = 0; i < each_blocks.length; i += 1) { + transition_out(each_blocks[i]); + } + current = false; + }, + d(detaching) { + destroy_each(each_blocks, detaching); + if (detaching) + detach(each_1_anchor); + } + }; +} +function create_if_block_12(ctx) { + let logtreecomponent; + let current; + logtreecomponent = new logTreeComponent_default({ + props: { + hierarchy: ( + /*logsHierarchy*/ + ctx[6] + ), + plugin: ( + /*plugin*/ + ctx[3] + ), + view: ( + /*view*/ + ctx[1] + ), + topLevel: true + } + }); + return { + c() { + create_component(logtreecomponent.$$.fragment); + }, + m(target, anchor) { + mount_component(logtreecomponent, target, anchor); + current = true; + }, + p(ctx2, dirty) { + const logtreecomponent_changes = {}; + if (dirty & /*logsHierarchy*/ + 64) + logtreecomponent_changes.hierarchy = /*logsHierarchy*/ + ctx2[6]; + if (dirty & /*plugin*/ + 8) + logtreecomponent_changes.plugin = /*plugin*/ + ctx2[3]; + if (dirty & /*view*/ + 2) + logtreecomponent_changes.view = /*view*/ + ctx2[1]; + logtreecomponent.$set(logtreecomponent_changes); + }, + i(local) { + if (current) + return; + transition_in(logtreecomponent.$$.fragment, local); + current = true; + }, + o(local) { + transition_out(logtreecomponent.$$.fragment, local); + current = false; + }, + d(detaching) { + destroy_component(logtreecomponent, detaching); + } + }; +} +function create_each_block2(ctx) { + let logfilecomponent; + let current; + logfilecomponent = new logFileComponent_default({ + props: { + view: ( + /*view*/ + ctx[1] + ), + diff: ( + /*file*/ + ctx[8] + ) + } + }); + return { + c() { + create_component(logfilecomponent.$$.fragment); + }, + m(target, anchor) { + mount_component(logfilecomponent, target, anchor); + current = true; + }, + p(ctx2, dirty) { + const logfilecomponent_changes = {}; + if (dirty & /*view*/ + 2) + logfilecomponent_changes.view = /*view*/ + ctx2[1]; + if (dirty & /*log*/ + 1) + logfilecomponent_changes.diff = /*file*/ + ctx2[8]; + logfilecomponent.$set(logfilecomponent_changes); + }, + i(local) { + if (current) + return; + transition_in(logfilecomponent.$$.fragment, local); + current = true; + }, + o(local) { + transition_out(logfilecomponent.$$.fragment, local); + current = false; + }, + d(detaching) { + destroy_component(logfilecomponent, detaching); + } + }; +} +function create_fragment3(ctx) { + let main; + let div4; + let div3; + let div0; + let t0; + let div2; + let t1; + let div1; + let t2_value = ( + /*log*/ + ctx[0].message + "" + ); + let t2; + let div1_aria_label_value; + let t3; + let current; + let mounted; + let dispose; + let if_block0 = ( + /*log*/ + ctx[0].refs.length > 0 && create_if_block_2(ctx) + ); + let if_block1 = !/*isCollapsed*/ + ctx[4] && create_if_block3(ctx); + return { + c() { + main = element("main"); + div4 = element("div"); + div3 = element("div"); + div0 = element("div"); + div0.innerHTML = ``; + t0 = space(); + div2 = element("div"); + if (if_block0) + if_block0.c(); + t1 = space(); + div1 = element("div"); + t2 = text(t2_value); + t3 = space(); + if (if_block1) + if_block1.c(); + attr(div0, "class", "nav-folder-collapse-indicator collapse-icon"); + attr(div1, "class", "nav-folder-title-content"); + attr(div1, "aria-label", div1_aria_label_value = /*log*/ + ctx[0].message); + attr( + div1, + "aria-label-position", + /*side*/ + ctx[5] + ); + attr(div3, "class", "nav-folder-title"); + attr(div4, "class", "staged nav-folder"); + toggle_class( + div4, + "is-collapsed", + /*isCollapsed*/ + ctx[4] + ); + }, + m(target, anchor) { + insert(target, main, anchor); + append2(main, div4); + append2(div4, div3); + append2(div3, div0); + append2(div3, t0); + append2(div3, div2); + if (if_block0) + if_block0.m(div2, null); + append2(div2, t1); + append2(div2, div1); + append2(div1, t2); + append2(div4, t3); + if (if_block1) + if_block1.m(div4, null); + current = true; + if (!mounted) { + dispose = listen( + div3, + "click", + /*click_handler*/ + ctx[7] + ); + mounted = true; + } + }, + p(ctx2, [dirty]) { + if ( + /*log*/ + ctx2[0].refs.length > 0 + ) { + if (if_block0) { + if_block0.p(ctx2, dirty); + } else { + if_block0 = create_if_block_2(ctx2); + if_block0.c(); + if_block0.m(div2, t1); + } + } else if (if_block0) { + if_block0.d(1); + if_block0 = null; + } + if ((!current || dirty & /*log*/ + 1) && t2_value !== (t2_value = /*log*/ + ctx2[0].message + "")) + set_data(t2, t2_value); + if (!current || dirty & /*log*/ + 1 && div1_aria_label_value !== (div1_aria_label_value = /*log*/ + ctx2[0].message)) { + attr(div1, "aria-label", div1_aria_label_value); + } + if (!current || dirty & /*side*/ + 32) { + attr( + div1, + "aria-label-position", + /*side*/ + ctx2[5] + ); + } + if (!/*isCollapsed*/ + ctx2[4]) { + if (if_block1) { + if_block1.p(ctx2, dirty); + if (dirty & /*isCollapsed*/ + 16) { + transition_in(if_block1, 1); + } + } else { + if_block1 = create_if_block3(ctx2); + if_block1.c(); + transition_in(if_block1, 1); + if_block1.m(div4, null); + } + } else if (if_block1) { + group_outros(); + transition_out(if_block1, 1, 1, () => { + if_block1 = null; + }); + check_outros(); + } + if (!current || dirty & /*isCollapsed*/ + 16) { + toggle_class( + div4, + "is-collapsed", + /*isCollapsed*/ + ctx2[4] + ); + } + }, + i(local) { + if (current) + return; + transition_in(if_block1); + current = true; + }, + o(local) { + transition_out(if_block1); + current = false; + }, + d(detaching) { + if (detaching) + detach(main); + if (if_block0) + if_block0.d(); + if (if_block1) + if_block1.d(); + mounted = false; + dispose(); + } + }; +} +function instance3($$self, $$props, $$invalidate) { + let logsHierarchy; + let side; + let { log: log2 } = $$props; + let { view } = $$props; + let { showTree } = $$props; + let { plugin } = $$props; + let isCollapsed = true; + const click_handler = () => $$invalidate(4, isCollapsed = !isCollapsed); + $$self.$$set = ($$props2) => { + if ("log" in $$props2) + $$invalidate(0, log2 = $$props2.log); + if ("view" in $$props2) + $$invalidate(1, view = $$props2.view); + if ("showTree" in $$props2) + $$invalidate(2, showTree = $$props2.showTree); + if ("plugin" in $$props2) + $$invalidate(3, plugin = $$props2.plugin); + }; + $$self.$$.update = () => { + if ($$self.$$.dirty & /*plugin, log*/ + 9) { + $: + $$invalidate(6, logsHierarchy = { + title: "", + path: "", + vaultPath: "", + children: plugin.gitManager.getTreeStructure(log2.diff.files) + }); + } + if ($$self.$$.dirty & /*view*/ + 2) { + $: + $$invalidate(5, side = view.leaf.getRoot().side == "left" ? "right" : "left"); + } + }; + return [log2, view, showTree, plugin, isCollapsed, side, logsHierarchy, click_handler]; +} +var LogComponent = class extends SvelteComponent { + constructor(options) { + super(); + init2(this, options, instance3, create_fragment3, safe_not_equal, { log: 0, view: 1, showTree: 2, plugin: 3 }, add_css3); + } +}; +var logComponent_default = LogComponent; + +// src/ui/history/historyView.svelte +function get_each_context3(ctx, list, i) { + const child_ctx = ctx.slice(); + child_ctx[11] = list[i]; + return child_ctx; +} +function create_if_block4(ctx) { + let div1; + let div0; + let current; + let each_value = ( + /*logs*/ + ctx[6] + ); + let each_blocks = []; + for (let i = 0; i < each_value.length; i += 1) { + each_blocks[i] = create_each_block3(get_each_context3(ctx, each_value, i)); + } + const out = (i) => transition_out(each_blocks[i], 1, 1, () => { + each_blocks[i] = null; + }); + return { + c() { + div1 = element("div"); + div0 = element("div"); + for (let i = 0; i < each_blocks.length; i += 1) { + each_blocks[i].c(); + } + attr(div0, "class", "nav-folder-children"); + attr(div1, "class", "nav-folder mod-root"); + }, + m(target, anchor) { + insert(target, div1, anchor); + append2(div1, div0); + for (let i = 0; i < each_blocks.length; i += 1) { + if (each_blocks[i]) { + each_blocks[i].m(div0, null); + } + } + current = true; + }, + p(ctx2, dirty) { + if (dirty & /*view, showTree, logs, plugin*/ + 71) { + each_value = /*logs*/ + ctx2[6]; + let i; + for (i = 0; i < each_value.length; i += 1) { + const child_ctx = get_each_context3(ctx2, each_value, i); + if (each_blocks[i]) { + each_blocks[i].p(child_ctx, dirty); + transition_in(each_blocks[i], 1); + } else { + each_blocks[i] = create_each_block3(child_ctx); + each_blocks[i].c(); + transition_in(each_blocks[i], 1); + each_blocks[i].m(div0, null); + } + } + group_outros(); + for (i = each_value.length; i < each_blocks.length; i += 1) { + out(i); + } + check_outros(); + } + }, + i(local) { + if (current) + return; + for (let i = 0; i < each_value.length; i += 1) { + transition_in(each_blocks[i]); + } + current = true; + }, + o(local) { + each_blocks = each_blocks.filter(Boolean); + for (let i = 0; i < each_blocks.length; i += 1) { + transition_out(each_blocks[i]); + } + current = false; + }, + d(detaching) { + if (detaching) + detach(div1); + destroy_each(each_blocks, detaching); + } + }; +} +function create_each_block3(ctx) { + let logcomponent; + let current; + logcomponent = new logComponent_default({ + props: { + view: ( + /*view*/ + ctx[1] + ), + showTree: ( + /*showTree*/ + ctx[2] + ), + log: ( + /*log*/ + ctx[11] + ), + plugin: ( + /*plugin*/ + ctx[0] + ) + } + }); + return { + c() { + create_component(logcomponent.$$.fragment); + }, + m(target, anchor) { + mount_component(logcomponent, target, anchor); + current = true; + }, + p(ctx2, dirty) { + const logcomponent_changes = {}; + if (dirty & /*view*/ + 2) + logcomponent_changes.view = /*view*/ + ctx2[1]; + if (dirty & /*showTree*/ + 4) + logcomponent_changes.showTree = /*showTree*/ + ctx2[2]; + if (dirty & /*logs*/ + 64) + logcomponent_changes.log = /*log*/ + ctx2[11]; + if (dirty & /*plugin*/ + 1) + logcomponent_changes.plugin = /*plugin*/ + ctx2[0]; + logcomponent.$set(logcomponent_changes); + }, + i(local) { + if (current) + return; + transition_in(logcomponent.$$.fragment, local); + current = true; + }, + o(local) { + transition_out(logcomponent.$$.fragment, local); + current = false; + }, + d(detaching) { + destroy_component(logcomponent, detaching); + } + }; +} +function create_fragment4(ctx) { + let main; + let div3; + let div2; + let div0; + let t0; + let div1; + let t1; + let div4; + let current; + let mounted; + let dispose; + let if_block = ( + /*logs*/ + ctx[6] && create_if_block4(ctx) + ); + return { + c() { + main = element("main"); + div3 = element("div"); + div2 = element("div"); + div0 = element("div"); + t0 = space(); + div1 = element("div"); + t1 = space(); + div4 = element("div"); + if (if_block) + if_block.c(); + attr(div0, "id", "layoutChange"); + attr(div0, "class", "clickable-icon nav-action-button"); + attr(div0, "aria-label", "Change Layout"); + attr(div1, "id", "refresh"); + attr(div1, "class", "clickable-icon nav-action-button"); + attr(div1, "data-icon", "refresh-cw"); + attr(div1, "aria-label", "Refresh"); + set_style(div1, "margin", "1px"); + toggle_class( + div1, + "loading", + /*loading*/ + ctx[4] + ); + attr(div2, "class", "nav-buttons-container"); + attr(div3, "class", "nav-header"); + attr(div4, "class", "nav-files-container"); + set_style(div4, "position", "relative"); + }, + m(target, anchor) { + insert(target, main, anchor); + append2(main, div3); + append2(div3, div2); + append2(div2, div0); + ctx[7](div0); + append2(div2, t0); + append2(div2, div1); + ctx[9](div1); + append2(main, t1); + append2(main, div4); + if (if_block) + if_block.m(div4, null); + current = true; + if (!mounted) { + dispose = [ + listen( + div0, + "click", + /*click_handler*/ + ctx[8] + ), + listen(div1, "click", triggerRefresh) + ]; + mounted = true; + } + }, + p(ctx2, [dirty]) { + if (!current || dirty & /*loading*/ + 16) { + toggle_class( + div1, + "loading", + /*loading*/ + ctx2[4] + ); + } + if ( + /*logs*/ + ctx2[6] + ) { + if (if_block) { + if_block.p(ctx2, dirty); + if (dirty & /*logs*/ + 64) { + transition_in(if_block, 1); + } + } else { + if_block = create_if_block4(ctx2); + if_block.c(); + transition_in(if_block, 1); + if_block.m(div4, null); + } + } else if (if_block) { + group_outros(); + transition_out(if_block, 1, 1, () => { + if_block = null; + }); + check_outros(); + } + }, + i(local) { + if (current) + return; + transition_in(if_block); + current = true; + }, + o(local) { + transition_out(if_block); + current = false; + }, + d(detaching) { + if (detaching) + detach(main); + ctx[7](null); + ctx[9](null); + if (if_block) + if_block.d(); + mounted = false; + run_all(dispose); + } + }; +} +function triggerRefresh() { + dispatchEvent(new CustomEvent("git-refresh")); +} +function instance4($$self, $$props, $$invalidate) { + let { plugin } = $$props; + let { view } = $$props; + let loading; + let buttons = []; + let logs; + let showTree = plugin.settings.treeStructure; + let layoutBtn; + addEventListener("git-view-refresh", refresh); + plugin.app.workspace.onLayoutReady(() => { + window.setTimeout( + () => { + buttons.forEach((btn) => (0, import_obsidian15.setIcon)(btn, btn.getAttr("data-icon"), 16)); + (0, import_obsidian15.setIcon)(layoutBtn, showTree ? "list" : "folder", 16); + }, + 0 + ); + }); + onDestroy(() => { + removeEventListener("git-view-refresh", refresh); + }); + function refresh() { + return __awaiter(this, void 0, void 0, function* () { + $$invalidate(4, loading = true); + const isSimpleGit = plugin.gitManager instanceof SimpleGit; + $$invalidate(6, logs = yield plugin.gitManager.log(void 0, false, isSimpleGit ? 50 : 10)); + $$invalidate(4, loading = false); + }); + } + function div0_binding($$value) { + binding_callbacks[$$value ? "unshift" : "push"](() => { + layoutBtn = $$value; + $$invalidate(3, layoutBtn); + }); + } + const click_handler = () => { + $$invalidate(2, showTree = !showTree); + $$invalidate(0, plugin.settings.treeStructure = showTree, plugin); + plugin.saveSettings(); + }; + function div1_binding($$value) { + binding_callbacks[$$value ? "unshift" : "push"](() => { + buttons[6] = $$value; + $$invalidate(5, buttons); + }); + } + $$self.$$set = ($$props2) => { + if ("plugin" in $$props2) + $$invalidate(0, plugin = $$props2.plugin); + if ("view" in $$props2) + $$invalidate(1, view = $$props2.view); + }; + $$self.$$.update = () => { + if ($$self.$$.dirty & /*layoutBtn, showTree*/ + 12) { + $: { + if (layoutBtn) { + layoutBtn.empty(); + (0, import_obsidian15.setIcon)(layoutBtn, showTree ? "list" : "folder", 16); + } + } + } + }; + return [ + plugin, + view, + showTree, + layoutBtn, + loading, + buttons, + logs, + div0_binding, + click_handler, + div1_binding + ]; +} +var HistoryView = class extends SvelteComponent { + constructor(options) { + super(); + init2(this, options, instance4, create_fragment4, safe_not_equal, { plugin: 0, view: 1 }); + } +}; +var historyView_default = HistoryView; + +// src/ui/history/historyView.ts +var HistoryView2 = class extends import_obsidian16.ItemView { + constructor(leaf, plugin) { + super(leaf); + this.plugin = plugin; + this.hoverPopover = null; + } + getViewType() { + return HISTORY_VIEW_CONFIG.type; + } + getDisplayText() { + return HISTORY_VIEW_CONFIG.name; + } + getIcon() { + return HISTORY_VIEW_CONFIG.icon; + } + onClose() { + return super.onClose(); + } + onOpen() { + this._view = new historyView_default({ + target: this.contentEl, + props: { + plugin: this.plugin, + view: this + } + }); + return super.onOpen(); + } +}; + +// src/ui/modals/branchModal.ts +init_polyfill_buffer(); +var import_obsidian17 = require("obsidian"); +var BranchModal = class extends import_obsidian17.FuzzySuggestModal { + constructor(branches) { + super(app); + this.branches = branches; + this.setPlaceholder("Select branch to checkout"); + } + getItems() { + return this.branches; + } + getItemText(item) { + return item; + } + onChooseItem(item, evt) { + this.resolve(item); + } + open() { + super.open(); + return new Promise((resolve) => { + this.resolve = resolve; + }); + } + async onClose() { + await new Promise((resolve) => setTimeout(resolve, 10)); + if (this.resolve) + this.resolve(void 0); + } +}; + +// src/ui/modals/ignoreModal.ts +init_polyfill_buffer(); +var import_obsidian18 = require("obsidian"); +var IgnoreModal = class extends import_obsidian18.Modal { + constructor(app2, content) { + super(app2); + this.content = content; + this.resolve = null; + } + open() { + super.open(); + return new Promise((resolve) => { + this.resolve = resolve; + }); + } + onOpen() { + const { contentEl, titleEl } = this; + titleEl.setText("Edit .gitignore"); + const div = contentEl.createDiv(); + const text2 = div.createEl("textarea", { + text: this.content, + cls: ["obsidian-git-textarea"], + attr: { rows: 10, cols: 30, wrap: "off" } + }); + div.createEl("button", { + cls: ["mod-cta", "obsidian-git-center-button"], + text: "Save" + }).addEventListener("click", async () => { + this.resolve(text2.value); + this.close(); + }); + } + onClose() { + const { contentEl } = this; + this.resolve(void 0); + contentEl.empty(); + } +}; + +// src/ui/sourceControl/sourceControl.ts +init_polyfill_buffer(); +var import_obsidian25 = require("obsidian"); + +// src/ui/sourceControl/sourceControl.svelte +init_polyfill_buffer(); +var import_obsidian24 = require("obsidian"); + // src/ui/modals/discardModal.ts init_polyfill_buffer(); -var import_obsidian16 = __toModule(require("obsidian")); -var DiscardModal = class extends import_obsidian16.Modal { +var import_obsidian19 = require("obsidian"); +var DiscardModal = class extends import_obsidian19.Modal { constructor(app2, deletion, filename) { super(app2); this.deletion = deletion; @@ -27589,7 +32321,9 @@ var DiscardModal = class extends import_obsidian16.Modal { onOpen() { const { contentEl, titleEl } = this; titleEl.setText(`${this.deletion ? "Delete" : "Discard"} this file?`); - contentEl.createEl("p").setText(`Do you really want to ${this.deletion ? "delete" : "discard the changes of"} "${this.filename}"`); + contentEl.createEl("p").setText( + `Do you really want to ${this.deletion ? "delete" : "discard the changes of"} "${this.filename}"` + ); const div = contentEl.createDiv({ cls: "modal-button-container" }); const discard = div.createEl("button", { cls: "mod-warning", @@ -27625,17 +32359,17 @@ var DiscardModal = class extends import_obsidian16.Modal { } }; -// src/ui/sidebar/components/fileComponent.svelte +// src/ui/sourceControl/components/fileComponent.svelte init_polyfill_buffer(); -var import_obsidian18 = __toModule(require("obsidian")); +var import_obsidian21 = require("obsidian"); -// node_modules/.pnpm/obsidian-community-lib@2.0.2/node_modules/obsidian-community-lib/dist/index.js +// node_modules/.pnpm/obsidian-community-lib@2.0.2_ydzx5qoi6374xmclt4keb2sh6a/node_modules/obsidian-community-lib/dist/index.js init_polyfill_buffer(); -// node_modules/.pnpm/obsidian-community-lib@2.0.2/node_modules/obsidian-community-lib/dist/utils.js +// node_modules/.pnpm/obsidian-community-lib@2.0.2_ydzx5qoi6374xmclt4keb2sh6a/node_modules/obsidian-community-lib/dist/utils.js init_polyfill_buffer(); -var feather = __toModule(require_feather()); -var import_obsidian17 = __toModule(require("obsidian")); +var feather = __toESM(require_feather()); +var import_obsidian20 = require("obsidian"); function hoverPreview(event, view, to) { const targetEl = event.target; app.workspace.trigger("hover-link", { @@ -27647,11 +32381,11 @@ function hoverPreview(event, view, to) { }); } -// src/ui/sidebar/components/fileComponent.svelte -function add_css(target) { - append_styles(target, "svelte-wn85nz", "main.svelte-wn85nz .nav-file-title-content.svelte-wn85nz.svelte-wn85nz{display:flex;align-items:center}main.svelte-wn85nz .tools.svelte-wn85nz.svelte-wn85nz{display:flex;margin-left:auto}main.svelte-wn85nz .tools .type.svelte-wn85nz.svelte-wn85nz{padding-left:var(--size-2-1);width:11px;display:flex;align-items:center;justify-content:center}main.svelte-wn85nz .tools .type[data-type=M].svelte-wn85nz.svelte-wn85nz{color:orange}main.svelte-wn85nz .tools .type[data-type=D].svelte-wn85nz.svelte-wn85nz{color:red}main.svelte-wn85nz .tools .buttons.svelte-wn85nz.svelte-wn85nz{display:flex}main.svelte-wn85nz .tools .buttons.svelte-wn85nz>.svelte-wn85nz{padding:0 0;height:auto}"); +// src/ui/sourceControl/components/fileComponent.svelte +function add_css4(target) { + append_styles(target, "svelte-pmbo0n", "main.svelte-pmbo0n .nav-file-title-content.svelte-pmbo0n{display:flex;align-items:center}"); } -function create_if_block(ctx) { +function create_if_block5(ctx) { let div; let mounted; let dispose; @@ -27660,15 +32394,25 @@ function create_if_block(ctx) { div = element("div"); attr(div, "data-icon", "go-to-file"); attr(div, "aria-label", "Open File"); - attr(div, "class", "clickable-icon svelte-wn85nz"); + attr(div, "class", "clickable-icon"); }, m(target, anchor) { insert(target, div, anchor); ctx[11](div); if (!mounted) { dispose = [ - listen(div, "auxclick", ctx[5]), - listen(div, "click", ctx[5]) + listen( + div, + "auxclick", + /*open*/ + ctx[5] + ), + listen( + div, + "click", + /*open*/ + ctx[5] + ) ]; mounted = true; } @@ -27683,30 +32427,41 @@ function create_if_block(ctx) { } }; } -function create_fragment(ctx) { - var _a2; +function create_fragment5(ctx) { let main; let div6; let div0; - let t0_value = ((_a2 = ctx[0].vault_path.split("/").last()) == null ? void 0 : _a2.replace(".md", "")) + ""; + let t0_value = getDisplayPath( + /*change*/ + ctx[0].vault_path + ) + ""; let t0; let t1; let div5; let div3; - let show_if = ctx[1].app.vault.getAbstractFileByPath(ctx[0].vault_path); + let show_if = ( + /*view*/ + ctx[1].app.vault.getAbstractFileByPath( + /*change*/ + ctx[0].vault_path + ) + ); let t2; let div1; let t3; let div2; let t4; let div4; - let t5_value = ctx[0].working_dir + ""; + let t5_value = ( + /*change*/ + ctx[0].working_dir + "" + ); let t5; let div4_data_type_value; let div6_aria_label_value; let mounted; let dispose; - let if_block = show_if && create_if_block(ctx); + let if_block = show_if && create_if_block5(ctx); return { c() { main = element("main"); @@ -27725,21 +32480,28 @@ function create_fragment(ctx) { t4 = space(); div4 = element("div"); t5 = text(t5_value); - attr(div0, "class", "nav-file-title-content svelte-wn85nz"); + attr(div0, "class", "nav-file-title-content svelte-pmbo0n"); attr(div1, "data-icon", "undo"); attr(div1, "aria-label", "Discard"); - attr(div1, "class", "clickable-icon svelte-wn85nz"); + attr(div1, "class", "clickable-icon"); attr(div2, "data-icon", "plus"); attr(div2, "aria-label", "Stage"); - attr(div2, "class", "clickable-icon svelte-wn85nz"); - attr(div3, "class", "buttons svelte-wn85nz"); - attr(div4, "class", "type svelte-wn85nz"); - attr(div4, "data-type", div4_data_type_value = ctx[0].working_dir); - attr(div5, "class", "tools svelte-wn85nz"); + attr(div2, "class", "clickable-icon"); + attr(div3, "class", "buttons"); + attr(div4, "class", "type"); + attr(div4, "data-type", div4_data_type_value = /*change*/ + ctx[0].working_dir); + attr(div5, "class", "git-tools"); attr(div6, "class", "nav-file-title"); - attr(div6, "aria-label-position", ctx[3]); - attr(div6, "aria-label", div6_aria_label_value = ctx[0].vault_path.split("/").last() != ctx[0].vault_path ? ctx[0].vault_path : ""); - attr(main, "class", "nav-file svelte-wn85nz"); + attr( + div6, + "aria-label-position", + /*side*/ + ctx[3] + ); + attr(div6, "aria-label", div6_aria_label_value = /*change*/ + ctx[0].vault_path); + attr(main, "class", "nav-file svelte-pmbo0n"); }, m(target, anchor) { insert(target, main, anchor); @@ -27762,30 +32524,77 @@ function create_fragment(ctx) { append2(div4, t5); if (!mounted) { dispose = [ - listen(div0, "click", ctx[7]), - listen(div0, "auxclick", ctx[7]), - listen(div1, "click", ctx[8]), - listen(div2, "click", ctx[6]), - listen(div6, "click", self2(ctx[7])), - listen(div6, "auxclick", self2(ctx[7])), - listen(main, "mouseover", ctx[4]), - listen(main, "click", self2(ctx[7])), - listen(main, "focus", ctx[10]) + listen( + div0, + "click", + /*showDiff*/ + ctx[7] + ), + listen( + div0, + "auxclick", + /*showDiff*/ + ctx[7] + ), + listen( + div1, + "click", + /*discard*/ + ctx[8] + ), + listen( + div2, + "click", + /*stage*/ + ctx[6] + ), + listen(div6, "click", self2( + /*showDiff*/ + ctx[7] + )), + listen(div6, "auxclick", self2( + /*showDiff*/ + ctx[7] + )), + listen( + main, + "mouseover", + /*hover*/ + ctx[4] + ), + listen(main, "click", self2( + /*showDiff*/ + ctx[7] + )), + listen( + main, + "focus", + /*focus_handler*/ + ctx[10] + ) ]; mounted = true; } }, p(ctx2, [dirty]) { - var _a3; - if (dirty & 1 && t0_value !== (t0_value = ((_a3 = ctx2[0].vault_path.split("/").last()) == null ? void 0 : _a3.replace(".md", "")) + "")) + if (dirty & /*change*/ + 1 && t0_value !== (t0_value = getDisplayPath( + /*change*/ + ctx2[0].vault_path + ) + "")) set_data(t0, t0_value); - if (dirty & 3) - show_if = ctx2[1].app.vault.getAbstractFileByPath(ctx2[0].vault_path); + if (dirty & /*view, change*/ + 3) + show_if = /*view*/ + ctx2[1].app.vault.getAbstractFileByPath( + /*change*/ + ctx2[0].vault_path + ); if (show_if) { if (if_block) { if_block.p(ctx2, dirty); } else { - if_block = create_if_block(ctx2); + if_block = create_if_block5(ctx2); if_block.c(); if_block.m(div3, t2); } @@ -27793,15 +32602,27 @@ function create_fragment(ctx) { if_block.d(1); if_block = null; } - if (dirty & 1 && t5_value !== (t5_value = ctx2[0].working_dir + "")) + if (dirty & /*change*/ + 1 && t5_value !== (t5_value = /*change*/ + ctx2[0].working_dir + "")) set_data(t5, t5_value); - if (dirty & 1 && div4_data_type_value !== (div4_data_type_value = ctx2[0].working_dir)) { + if (dirty & /*change*/ + 1 && div4_data_type_value !== (div4_data_type_value = /*change*/ + ctx2[0].working_dir)) { attr(div4, "data-type", div4_data_type_value); } - if (dirty & 8) { - attr(div6, "aria-label-position", ctx2[3]); + if (dirty & /*side*/ + 8) { + attr( + div6, + "aria-label-position", + /*side*/ + ctx2[3] + ); } - if (dirty & 1 && div6_aria_label_value !== (div6_aria_label_value = ctx2[0].vault_path.split("/").last() != ctx2[0].vault_path ? ctx2[0].vault_path : "")) { + if (dirty & /*change*/ + 1 && div6_aria_label_value !== (div6_aria_label_value = /*change*/ + ctx2[0].vault_path)) { attr(div6, "aria-label", div6_aria_label_value); } }, @@ -27819,23 +32640,23 @@ function create_fragment(ctx) { } }; } -function instance($$self, $$props, $$invalidate) { +function instance5($$self, $$props, $$invalidate) { let side; let { change } = $$props; let { view } = $$props; let { manager } = $$props; let buttons = []; - window.setTimeout(() => buttons.forEach((b) => (0, import_obsidian18.setIcon)(b, b.getAttr("data-icon"))), 0); + window.setTimeout(() => buttons.forEach((b) => (0, import_obsidian21.setIcon)(b, b.getAttr("data-icon"))), 0); function hover(event) { - if (!change.path.startsWith(view.app.vault.configDir) || !change.path.startsWith(".")) { - hoverPreview(event, view, change.vault_path.split("/").last().replace(".md", "")); + if (app.vault.getAbstractFileByPath(change.vault_path)) { + hoverPreview(event, view, change.vault_path); } } function open(event) { var _a2; const file = view.app.vault.getAbstractFileByPath(change.vault_path); console.log(event); - if (file instanceof import_obsidian18.TFile) { + if (file instanceof import_obsidian21.TFile) { (_a2 = getNewLeaf(event)) === null || _a2 === void 0 ? void 0 : _a2.openFile(file); } } @@ -27898,7 +32719,8 @@ function instance($$self, $$props, $$invalidate) { $$invalidate(9, manager = $$props2.manager); }; $$self.$$.update = () => { - if ($$self.$$.dirty & 2) { + if ($$self.$$.dirty & /*view*/ + 2) { $: $$invalidate(3, side = view.leaf.getRoot().side == "left" ? "right" : "left"); } @@ -27923,28 +32745,33 @@ function instance($$self, $$props, $$invalidate) { var FileComponent = class extends SvelteComponent { constructor(options) { super(); - init2(this, options, instance, create_fragment, safe_not_equal, { change: 0, view: 1, manager: 9 }, add_css); + init2(this, options, instance5, create_fragment5, safe_not_equal, { change: 0, view: 1, manager: 9 }, add_css4); } }; var fileComponent_default = FileComponent; -// src/ui/sidebar/components/pulledFileComponent.svelte +// src/ui/sourceControl/components/pulledFileComponent.svelte init_polyfill_buffer(); -var import_obsidian19 = __toModule(require("obsidian")); -function add_css2(target) { - append_styles(target, "svelte-sajhpp", "main.svelte-sajhpp .nav-file-title-content.svelte-sajhpp{display:flex;align-items:center}main.svelte-sajhpp .tools.svelte-sajhpp{display:flex;margin-left:auto}main.svelte-sajhpp .tools .type.svelte-sajhpp{padding-left:var(--size-2-1);display:flex;align-items:center;justify-content:center}main.svelte-sajhpp .tools .type[data-type=M].svelte-sajhpp{color:orange}main.svelte-sajhpp .tools .type[data-type=D].svelte-sajhpp{color:red}"); +var import_obsidian22 = require("obsidian"); +function add_css5(target) { + append_styles(target, "svelte-jdrlm5", "main.svelte-jdrlm5 .nav-file-title-content.svelte-jdrlm5{display:flex;align-items:center}main.svelte-jdrlm5 .git-tools.svelte-jdrlm5{display:flex;margin-left:auto}main.svelte-jdrlm5 .git-tools .type.svelte-jdrlm5{padding-left:var(--size-2-1);display:flex;align-items:center;justify-content:center}main.svelte-jdrlm5 .git-tools .type[data-type=M].svelte-jdrlm5{color:orange}main.svelte-jdrlm5 .git-tools .type[data-type=D].svelte-jdrlm5{color:red}"); } -function create_fragment2(ctx) { - var _a2; +function create_fragment6(ctx) { let main; let div2; let div0; - let t0_value = ((_a2 = ctx[0].vault_path.split("/").last()) == null ? void 0 : _a2.replace(".md", "")) + ""; + let t0_value = getDisplayPath( + /*change*/ + ctx[0].vault_path + ) + ""; let t0; let t1; let div1; let span; - let t2_value = ctx[0].working_dir + ""; + let t2_value = ( + /*change*/ + ctx[0].working_dir + "" + ); let t2; let span_data_type_value; let div2_aria_label_value; @@ -27960,14 +32787,21 @@ function create_fragment2(ctx) { div1 = element("div"); span = element("span"); t2 = text(t2_value); - attr(div0, "class", "nav-file-title-content svelte-sajhpp"); - attr(span, "class", "type svelte-sajhpp"); - attr(span, "data-type", span_data_type_value = ctx[0].working_dir); - attr(div1, "class", "tools svelte-sajhpp"); + attr(div0, "class", "nav-file-title-content svelte-jdrlm5"); + attr(span, "class", "type svelte-jdrlm5"); + attr(span, "data-type", span_data_type_value = /*change*/ + ctx[0].working_dir); + attr(div1, "class", "git-tools svelte-jdrlm5"); attr(div2, "class", "nav-file-title"); - attr(div2, "aria-label-position", ctx[1]); - attr(div2, "aria-label", div2_aria_label_value = ctx[0].vault_path.split("/").last() != ctx[0].vault_path ? ctx[0].vault_path : ""); - attr(main, "class", "nav-file svelte-sajhpp"); + attr( + div2, + "aria-label-position", + /*side*/ + ctx[1] + ); + attr(div2, "aria-label", div2_aria_label_value = /*change*/ + ctx[0].vault_path); + attr(main, "class", "nav-file svelte-jdrlm5"); }, m(target, anchor) { insert(target, main, anchor); @@ -27980,26 +32814,56 @@ function create_fragment2(ctx) { append2(span, t2); if (!mounted) { dispose = [ - listen(main, "mouseover", ctx[2]), - listen(main, "click", ctx[3]), - listen(main, "focus", ctx[5]) + listen( + main, + "mouseover", + /*hover*/ + ctx[2] + ), + listen( + main, + "click", + /*open*/ + ctx[3] + ), + listen( + main, + "focus", + /*focus_handler*/ + ctx[5] + ) ]; mounted = true; } }, p(ctx2, [dirty]) { - var _a3; - if (dirty & 1 && t0_value !== (t0_value = ((_a3 = ctx2[0].vault_path.split("/").last()) == null ? void 0 : _a3.replace(".md", "")) + "")) + if (dirty & /*change*/ + 1 && t0_value !== (t0_value = getDisplayPath( + /*change*/ + ctx2[0].vault_path + ) + "")) set_data(t0, t0_value); - if (dirty & 1 && t2_value !== (t2_value = ctx2[0].working_dir + "")) + if (dirty & /*change*/ + 1 && t2_value !== (t2_value = /*change*/ + ctx2[0].working_dir + "")) set_data(t2, t2_value); - if (dirty & 1 && span_data_type_value !== (span_data_type_value = ctx2[0].working_dir)) { + if (dirty & /*change*/ + 1 && span_data_type_value !== (span_data_type_value = /*change*/ + ctx2[0].working_dir)) { attr(span, "data-type", span_data_type_value); } - if (dirty & 2) { - attr(div2, "aria-label-position", ctx2[1]); + if (dirty & /*side*/ + 2) { + attr( + div2, + "aria-label-position", + /*side*/ + ctx2[1] + ); } - if (dirty & 1 && div2_aria_label_value !== (div2_aria_label_value = ctx2[0].vault_path.split("/").last() != ctx2[0].vault_path ? ctx2[0].vault_path : "")) { + if (dirty & /*change*/ + 1 && div2_aria_label_value !== (div2_aria_label_value = /*change*/ + ctx2[0].vault_path)) { attr(div2, "aria-label", div2_aria_label_value); } }, @@ -28013,19 +32877,19 @@ function create_fragment2(ctx) { } }; } -function instance2($$self, $$props, $$invalidate) { +function instance6($$self, $$props, $$invalidate) { let side; let { change } = $$props; let { view } = $$props; function hover(event) { - if (!change.path.startsWith(view.app.vault.configDir) || !change.path.startsWith(".")) { - hoverPreview(event, view, change.vault_path.split("/").last().replace(".md", "")); + if (app.vault.getAbstractFileByPath(change.vault_path)) { + hoverPreview(event, view, change.vault_path); } } function open(event) { var _a2; const file = view.app.vault.getAbstractFileByPath(change.vault_path); - if (file instanceof import_obsidian19.TFile) { + if (file instanceof import_obsidian22.TFile) { (_a2 = getNewLeaf(event)) === null || _a2 === void 0 ? void 0 : _a2.openFile(file); } } @@ -28039,7 +32903,8 @@ function instance2($$self, $$props, $$invalidate) { $$invalidate(4, view = $$props2.view); }; $$self.$$.update = () => { - if ($$self.$$.dirty & 16) { + if ($$self.$$.dirty & /*view*/ + 16) { $: $$invalidate(1, side = view.leaf.getRoot().side == "left" ? "right" : "left"); } @@ -28049,18 +32914,18 @@ function instance2($$self, $$props, $$invalidate) { var PulledFileComponent = class extends SvelteComponent { constructor(options) { super(); - init2(this, options, instance2, create_fragment2, safe_not_equal, { change: 0, view: 4 }, add_css2); + init2(this, options, instance6, create_fragment6, safe_not_equal, { change: 0, view: 4 }, add_css5); } }; var pulledFileComponent_default = PulledFileComponent; -// src/ui/sidebar/components/stagedFileComponent.svelte +// src/ui/sourceControl/components/stagedFileComponent.svelte init_polyfill_buffer(); -var import_obsidian20 = __toModule(require("obsidian")); -function add_css3(target) { - append_styles(target, "svelte-wn85nz", "main.svelte-wn85nz .nav-file-title-content.svelte-wn85nz.svelte-wn85nz{display:flex;align-items:center}main.svelte-wn85nz .tools.svelte-wn85nz.svelte-wn85nz{display:flex;margin-left:auto}main.svelte-wn85nz .tools .type.svelte-wn85nz.svelte-wn85nz{padding-left:var(--size-2-1);width:11px;display:flex;align-items:center;justify-content:center}main.svelte-wn85nz .tools .type[data-type=M].svelte-wn85nz.svelte-wn85nz{color:orange}main.svelte-wn85nz .tools .type[data-type=D].svelte-wn85nz.svelte-wn85nz{color:red}main.svelte-wn85nz .tools .buttons.svelte-wn85nz.svelte-wn85nz{display:flex}main.svelte-wn85nz .tools .buttons.svelte-wn85nz>.svelte-wn85nz{padding:0 0;height:auto}"); +var import_obsidian23 = require("obsidian"); +function add_css6(target) { + append_styles(target, "svelte-pmbo0n", "main.svelte-pmbo0n .nav-file-title-content.svelte-pmbo0n{display:flex;align-items:center}"); } -function create_if_block2(ctx) { +function create_if_block6(ctx) { let div; let mounted; let dispose; @@ -28069,13 +32934,18 @@ function create_if_block2(ctx) { div = element("div"); attr(div, "data-icon", "go-to-file"); attr(div, "aria-label", "Open File"); - attr(div, "class", "clickable-icon svelte-wn85nz"); + attr(div, "class", "clickable-icon"); }, m(target, anchor) { insert(target, div, anchor); - ctx[11](div); + ctx[10](div); if (!mounted) { - dispose = listen(div, "click", ctx[6]); + dispose = listen( + div, + "click", + /*open*/ + ctx[5] + ); mounted = true; } }, @@ -28083,34 +32953,45 @@ function create_if_block2(ctx) { d(detaching) { if (detaching) detach(div); - ctx[11](null); + ctx[10](null); mounted = false; dispose(); } }; } -function create_fragment3(ctx) { - var _a2; +function create_fragment7(ctx) { let main; let div5; let div0; - let t0_value = ((_a2 = ctx[3].split("/").last()) == null ? void 0 : _a2.replace(".md", "")) + ""; + let t0_value = getDisplayPath( + /*change*/ + ctx[0].vault_path + ) + ""; let t0; let t1; let div4; let div2; - let show_if = ctx[1].app.vault.getAbstractFileByPath(ctx[3]); + let show_if = ( + /*view*/ + ctx[1].app.vault.getAbstractFileByPath( + /*change*/ + ctx[0].vault_path + ) + ); let t2; let div1; let t3; let div3; - let t4_value = ctx[0].index + ""; + let t4_value = ( + /*change*/ + ctx[0].index + "" + ); let t4; let div3_data_type_value; let div5_aria_label_value; let mounted; let dispose; - let if_block = show_if && create_if_block2(ctx); + let if_block = show_if && create_if_block6(ctx); return { c() { main = element("main"); @@ -28127,18 +33008,25 @@ function create_fragment3(ctx) { t3 = space(); div3 = element("div"); t4 = text(t4_value); - attr(div0, "class", "nav-file-title-content svelte-wn85nz"); + attr(div0, "class", "nav-file-title-content svelte-pmbo0n"); attr(div1, "data-icon", "minus"); attr(div1, "aria-label", "Unstage"); - attr(div1, "class", "clickable-icon svelte-wn85nz"); - attr(div2, "class", "buttons svelte-wn85nz"); - attr(div3, "class", "type svelte-wn85nz"); - attr(div3, "data-type", div3_data_type_value = ctx[0].index); - attr(div4, "class", "tools svelte-wn85nz"); + attr(div1, "class", "clickable-icon"); + attr(div2, "class", "buttons"); + attr(div3, "class", "type"); + attr(div3, "data-type", div3_data_type_value = /*change*/ + ctx[0].index); + attr(div4, "class", "git-tools"); attr(div5, "class", "nav-file-title"); - attr(div5, "aria-label-position", ctx[4]); - attr(div5, "aria-label", div5_aria_label_value = ctx[3].split("/").last() != ctx[3] ? ctx[3] : ""); - attr(main, "class", "nav-file svelte-wn85nz"); + attr( + div5, + "aria-label-position", + /*side*/ + ctx[3] + ); + attr(div5, "aria-label", div5_aria_label_value = /*change*/ + ctx[0].vault_path); + attr(main, "class", "nav-file svelte-pmbo0n"); }, m(target, anchor) { insert(target, main, anchor); @@ -28152,34 +33040,73 @@ function create_fragment3(ctx) { if_block.m(div2, null); append2(div2, t2); append2(div2, div1); - ctx[12](div1); + ctx[11](div1); append2(div4, t3); append2(div4, div3); append2(div3, t4); if (!mounted) { dispose = [ - listen(div0, "click", ctx[7]), - listen(div0, "auxclick", ctx[7]), - listen(div1, "click", ctx[8]), - listen(div5, "click", self2(ctx[7])), - listen(main, "mouseover", ctx[5]), - listen(main, "focus", ctx[10]), - listen(main, "click", self2(ctx[7])) + listen( + div0, + "click", + /*showDiff*/ + ctx[6] + ), + listen( + div0, + "auxclick", + /*showDiff*/ + ctx[6] + ), + listen( + div1, + "click", + /*unstage*/ + ctx[7] + ), + listen(div5, "click", self2( + /*showDiff*/ + ctx[6] + )), + listen( + main, + "mouseover", + /*hover*/ + ctx[4] + ), + listen( + main, + "focus", + /*focus_handler*/ + ctx[9] + ), + listen(main, "click", self2( + /*showDiff*/ + ctx[6] + )) ]; mounted = true; } }, p(ctx2, [dirty]) { - var _a3; - if (dirty & 8 && t0_value !== (t0_value = ((_a3 = ctx2[3].split("/").last()) == null ? void 0 : _a3.replace(".md", "")) + "")) + if (dirty & /*change*/ + 1 && t0_value !== (t0_value = getDisplayPath( + /*change*/ + ctx2[0].vault_path + ) + "")) set_data(t0, t0_value); - if (dirty & 10) - show_if = ctx2[1].app.vault.getAbstractFileByPath(ctx2[3]); + if (dirty & /*view, change*/ + 3) + show_if = /*view*/ + ctx2[1].app.vault.getAbstractFileByPath( + /*change*/ + ctx2[0].vault_path + ); if (show_if) { if (if_block) { if_block.p(ctx2, dirty); } else { - if_block = create_if_block2(ctx2); + if_block = create_if_block6(ctx2); if_block.c(); if_block.m(div2, t2); } @@ -28187,15 +33114,27 @@ function create_fragment3(ctx) { if_block.d(1); if_block = null; } - if (dirty & 1 && t4_value !== (t4_value = ctx2[0].index + "")) + if (dirty & /*change*/ + 1 && t4_value !== (t4_value = /*change*/ + ctx2[0].index + "")) set_data(t4, t4_value); - if (dirty & 1 && div3_data_type_value !== (div3_data_type_value = ctx2[0].index)) { + if (dirty & /*change*/ + 1 && div3_data_type_value !== (div3_data_type_value = /*change*/ + ctx2[0].index)) { attr(div3, "data-type", div3_data_type_value); } - if (dirty & 16) { - attr(div5, "aria-label-position", ctx2[4]); + if (dirty & /*side*/ + 8) { + attr( + div5, + "aria-label-position", + /*side*/ + ctx2[3] + ); } - if (dirty & 8 && div5_aria_label_value !== (div5_aria_label_value = ctx2[3].split("/").last() != ctx2[3] ? ctx2[3] : "")) { + if (dirty & /*change*/ + 1 && div5_aria_label_value !== (div5_aria_label_value = /*change*/ + ctx2[0].vault_path)) { attr(div5, "aria-label", div5_aria_label_value); } }, @@ -28206,29 +33145,29 @@ function create_fragment3(ctx) { detach(main); if (if_block) if_block.d(); - ctx[12](null); + ctx[11](null); mounted = false; run_all(dispose); } }; } -function instance3($$self, $$props, $$invalidate) { +function instance7($$self, $$props, $$invalidate) { let formattedPath; let side; let { change } = $$props; let { view } = $$props; let { manager } = $$props; let buttons = []; - window.setTimeout(() => buttons.forEach((b) => (0, import_obsidian20.setIcon)(b, b.getAttr("data-icon"), 16)), 0); + window.setTimeout(() => buttons.forEach((b) => (0, import_obsidian23.setIcon)(b, b.getAttr("data-icon"), 16)), 0); function hover(event) { - if (!change.path.startsWith(view.app.vault.configDir) || !change.path.startsWith(".")) { - hoverPreview(event, view, formattedPath.split("/").last().replace(".md", "")); + if (app.vault.getAbstractFileByPath(change.vault_path)) { + hoverPreview(event, view, change.vault_path); } } function open(event) { var _a2; const file = view.app.vault.getAbstractFileByPath(change.vault_path); - if (file instanceof import_obsidian20.TFile) { + if (file instanceof import_obsidian23.TFile) { (_a2 = getNewLeaf(event)) === null || _a2 === void 0 ? void 0 : _a2.openFile(file); } } @@ -28266,23 +33205,24 @@ function instance3($$self, $$props, $$invalidate) { if ("view" in $$props2) $$invalidate(1, view = $$props2.view); if ("manager" in $$props2) - $$invalidate(9, manager = $$props2.manager); + $$invalidate(8, manager = $$props2.manager); }; $$self.$$.update = () => { - if ($$self.$$.dirty & 1) { + if ($$self.$$.dirty & /*change*/ + 1) { $: - $$invalidate(3, formattedPath = change.vault_path); + formattedPath = change.vault_path; } - if ($$self.$$.dirty & 2) { + if ($$self.$$.dirty & /*view*/ + 2) { $: - $$invalidate(4, side = view.leaf.getRoot().side == "left" ? "right" : "left"); + $$invalidate(3, side = view.leaf.getRoot().side == "left" ? "right" : "left"); } }; return [ change, view, buttons, - formattedPath, side, hover, open, @@ -28297,22 +33237,22 @@ function instance3($$self, $$props, $$invalidate) { var StagedFileComponent = class extends SvelteComponent { constructor(options) { super(); - init2(this, options, instance3, create_fragment3, safe_not_equal, { change: 0, view: 1, manager: 9 }, add_css3); + init2(this, options, instance7, create_fragment7, safe_not_equal, { change: 0, view: 1, manager: 8 }, add_css6); } }; var stagedFileComponent_default = StagedFileComponent; -// src/ui/sidebar/components/treeComponent.svelte +// src/ui/sourceControl/components/treeComponent.svelte init_polyfill_buffer(); -function add_css4(target) { - append_styles(target, "svelte-148wteu", "main.svelte-148wteu .nav-folder-title-content.svelte-148wteu.svelte-148wteu{display:flex;align-items:center}main.svelte-148wteu .tools.svelte-148wteu.svelte-148wteu{display:flex;margin-left:auto}main.svelte-148wteu .tools .buttons.svelte-148wteu.svelte-148wteu{display:flex}main.svelte-148wteu .tools .buttons.svelte-148wteu>.svelte-148wteu{padding:0 0;height:auto}"); +function add_css7(target) { + append_styles(target, "svelte-1lnl15d", "main.svelte-1lnl15d .nav-folder-title-content.svelte-1lnl15d{display:flex;align-items:center}"); } -function get_each_context(ctx, list, i) { +function get_each_context4(ctx, list, i) { const child_ctx = ctx.slice(); child_ctx[17] = list[i]; return child_ctx; } -function create_else_block(ctx) { +function create_else_block3(ctx) { let div7; let div6; let div0; @@ -28320,7 +33260,10 @@ function create_else_block(ctx) { let div1; let t1; let div2; - let t2_value = ctx[17].title + ""; + let t2_value = ( + /*entity*/ + ctx[17].title + "" + ); let t2; let t3; let div5; @@ -28334,22 +33277,47 @@ function create_else_block(ctx) { let mounted; let dispose; function click_handler() { - return ctx[11](ctx[17]); + return ( + /*click_handler*/ + ctx[11]( + /*entity*/ + ctx[17] + ) + ); } function click_handler_1() { - return ctx[12](ctx[17]); + return ( + /*click_handler_1*/ + ctx[12]( + /*entity*/ + ctx[17] + ) + ); } function select_block_type_2(ctx2, dirty) { - if (ctx2[3] == FileType.staged) + if ( + /*fileType*/ + ctx2[3] == 0 /* staged */ + ) return create_if_block_5; return create_else_block_1; } let current_block_type = select_block_type_2(ctx, -1); let if_block0 = current_block_type(ctx); function click_handler_5() { - return ctx[16](ctx[17]); + return ( + /*click_handler_5*/ + ctx[16]( + /*entity*/ + ctx[17] + ) + ); } - let if_block1 = !ctx[5][ctx[17].title] && create_if_block_4(ctx); + let if_block1 = !/*closed*/ + ctx[5][ + /*entity*/ + ctx[17].title + ] && create_if_block_4(ctx); return { c() { div7 = element("div"); @@ -28375,16 +33343,29 @@ function create_else_block(ctx) { set_style(div0, "padding-right", "5px"); set_style(div0, "display", "flex"); attr(div1, "class", "nav-folder-collapse-indicator collapse-icon"); - attr(div2, "class", "nav-folder-title-content svelte-148wteu"); + attr(div2, "class", "nav-folder-title-content svelte-1lnl15d"); set_style(div3, "width", "11px"); - attr(div3, "class", "svelte-148wteu"); - attr(div4, "class", "buttons svelte-148wteu"); - attr(div5, "class", "tools svelte-148wteu"); + attr(div4, "class", "buttons"); + attr(div5, "class", "git-tools"); attr(div6, "class", "nav-folder-title"); - attr(div6, "aria-label-position", ctx[6]); - attr(div6, "aria-label", div6_aria_label_value = ctx[17].vaultPath.split("/").last() != ctx[17].vaultPath ? ctx[17].vaultPath : ""); + attr( + div6, + "aria-label-position", + /*side*/ + ctx[6] + ); + attr(div6, "aria-label", div6_aria_label_value = /*entity*/ + ctx[17].vaultPath); attr(div7, "class", "nav-folder"); - toggle_class(div7, "is-collapsed", ctx[5][ctx[17].title]); + toggle_class( + div7, + "is-collapsed", + /*closed*/ + ctx[5][ + /*entity*/ + ctx[17].title + ] + ); }, m(target, anchor) { insert(target, div7, anchor); @@ -28417,7 +33398,9 @@ function create_else_block(ctx) { }, p(new_ctx, dirty) { ctx = new_ctx; - if ((!current || dirty & 1) && t2_value !== (t2_value = ctx[17].title + "")) + if ((!current || dirty & /*hierarchy*/ + 1) && t2_value !== (t2_value = /*entity*/ + ctx[17].title + "")) set_data(t2, t2_value); if (current_block_type === (current_block_type = select_block_type_2(ctx, dirty)) && if_block0) { if_block0.p(ctx, dirty); @@ -28429,16 +33412,29 @@ function create_else_block(ctx) { if_block0.m(div4, t4); } } - if (!current || dirty & 64) { - attr(div6, "aria-label-position", ctx[6]); + if (!current || dirty & /*side*/ + 64) { + attr( + div6, + "aria-label-position", + /*side*/ + ctx[6] + ); } - if (!current || dirty & 1 && div6_aria_label_value !== (div6_aria_label_value = ctx[17].vaultPath.split("/").last() != ctx[17].vaultPath ? ctx[17].vaultPath : "")) { + if (!current || dirty & /*hierarchy*/ + 1 && div6_aria_label_value !== (div6_aria_label_value = /*entity*/ + ctx[17].vaultPath)) { attr(div6, "aria-label", div6_aria_label_value); } - if (!ctx[5][ctx[17].title]) { + if (!/*closed*/ + ctx[5][ + /*entity*/ + ctx[17].title + ]) { if (if_block1) { if_block1.p(ctx, dirty); - if (dirty & 33) { + if (dirty & /*closed, hierarchy*/ + 33) { transition_in(if_block1, 1); } } else { @@ -28454,8 +33450,17 @@ function create_else_block(ctx) { }); check_outros(); } - if (!current || dirty & 33) { - toggle_class(div7, "is-collapsed", ctx[5][ctx[17].title]); + if (!current || dirty & /*closed, hierarchy*/ + 33) { + toggle_class( + div7, + "is-collapsed", + /*closed*/ + ctx[5][ + /*entity*/ + ctx[17].title + ] + ); } }, i(local) { @@ -28479,20 +33484,29 @@ function create_else_block(ctx) { } }; } -function create_if_block3(ctx) { +function create_if_block7(ctx) { let div; let current_block_type_index; let if_block; let t; let current; - const if_block_creators = [create_if_block_1, create_if_block_2, create_if_block_3]; + const if_block_creators = [create_if_block_13, create_if_block_22, create_if_block_3]; const if_blocks = []; function select_block_type_1(ctx2, dirty) { - if (ctx2[3] == FileType.staged) + if ( + /*fileType*/ + ctx2[3] == 0 /* staged */ + ) return 0; - if (ctx2[3] == FileType.changed) + if ( + /*fileType*/ + ctx2[3] == 1 /* changed */ + ) return 1; - if (ctx2[3] == FileType.pulled) + if ( + /*fileType*/ + ctx2[3] == 2 /* pulled */ + ) return 2; return -1; } @@ -28570,10 +33584,22 @@ function create_else_block_1(ctx) { let mounted; let dispose; function click_handler_3() { - return ctx[14](ctx[17]); + return ( + /*click_handler_3*/ + ctx[14]( + /*entity*/ + ctx[17] + ) + ); } function click_handler_4() { - return ctx[15](ctx[17]); + return ( + /*click_handler_4*/ + ctx[15]( + /*entity*/ + ctx[17] + ) + ); } return { c() { @@ -28584,10 +33610,10 @@ function create_else_block_1(ctx) { div1.innerHTML = ``; attr(div0, "data-icon", "undo"); attr(div0, "aria-label", "Discard"); - attr(div0, "class", "clickable-icon svelte-148wteu"); + attr(div0, "class", "clickable-icon"); attr(div1, "data-icon", "plus"); attr(div1, "aria-label", "Stage"); - attr(div1, "class", "clickable-icon svelte-148wteu"); + attr(div1, "class", "clickable-icon"); }, m(target, anchor) { insert(target, div0, anchor); @@ -28621,7 +33647,13 @@ function create_if_block_5(ctx) { let mounted; let dispose; function click_handler_2() { - return ctx[13](ctx[17]); + return ( + /*click_handler_2*/ + ctx[13]( + /*entity*/ + ctx[17] + ) + ); } return { c() { @@ -28629,7 +33661,7 @@ function create_if_block_5(ctx) { div.innerHTML = ``; attr(div, "data-icon", "minus"); attr(div, "aria-label", "Unstage"); - attr(div, "class", "clickable-icon svelte-148wteu"); + attr(div, "class", "clickable-icon"); }, m(target, anchor) { insert(target, div, anchor); @@ -28656,10 +33688,22 @@ function create_if_block_4(ctx) { let current; treecomponent = new TreeComponent({ props: { - hierarchy: ctx[17], - plugin: ctx[1], - view: ctx[2], - fileType: ctx[3] + hierarchy: ( + /*entity*/ + ctx[17] + ), + plugin: ( + /*plugin*/ + ctx[1] + ), + view: ( + /*view*/ + ctx[2] + ), + fileType: ( + /*fileType*/ + ctx[3] + ) } }); return { @@ -28675,14 +33719,22 @@ function create_if_block_4(ctx) { }, p(ctx2, dirty) { const treecomponent_changes = {}; - if (dirty & 1) - treecomponent_changes.hierarchy = ctx2[17]; - if (dirty & 2) - treecomponent_changes.plugin = ctx2[1]; - if (dirty & 4) - treecomponent_changes.view = ctx2[2]; - if (dirty & 8) - treecomponent_changes.fileType = ctx2[3]; + if (dirty & /*hierarchy*/ + 1) + treecomponent_changes.hierarchy = /*entity*/ + ctx2[17]; + if (dirty & /*plugin*/ + 2) + treecomponent_changes.plugin = /*plugin*/ + ctx2[1]; + if (dirty & /*view*/ + 4) + treecomponent_changes.view = /*view*/ + ctx2[2]; + if (dirty & /*fileType*/ + 8) + treecomponent_changes.fileType = /*fileType*/ + ctx2[3]; treecomponent.$set(treecomponent_changes); }, i(local) { @@ -28691,6 +33743,8 @@ function create_if_block_4(ctx) { transition_in(treecomponent.$$.fragment, local); if (local) { add_render_callback(() => { + if (!current) + return; if (!div_transition) div_transition = create_bidirectional_transition(div, slide, { duration: 150 }, true); div_transition.run(1); @@ -28721,8 +33775,14 @@ function create_if_block_3(ctx) { let current; pulledfilecomponent = new pulledFileComponent_default({ props: { - change: ctx[17].statusResult, - view: ctx[2] + change: ( + /*entity*/ + ctx[17].data + ), + view: ( + /*view*/ + ctx[2] + ) } }); return { @@ -28735,10 +33795,14 @@ function create_if_block_3(ctx) { }, p(ctx2, dirty) { const pulledfilecomponent_changes = {}; - if (dirty & 1) - pulledfilecomponent_changes.change = ctx2[17].statusResult; - if (dirty & 4) - pulledfilecomponent_changes.view = ctx2[2]; + if (dirty & /*hierarchy*/ + 1) + pulledfilecomponent_changes.change = /*entity*/ + ctx2[17].data; + if (dirty & /*view*/ + 4) + pulledfilecomponent_changes.view = /*view*/ + ctx2[2]; pulledfilecomponent.$set(pulledfilecomponent_changes); }, i(local) { @@ -28756,14 +33820,23 @@ function create_if_block_3(ctx) { } }; } -function create_if_block_2(ctx) { +function create_if_block_22(ctx) { let filecomponent; let current; filecomponent = new fileComponent_default({ props: { - change: ctx[17].statusResult, - manager: ctx[1].gitManager, - view: ctx[2] + change: ( + /*entity*/ + ctx[17].data + ), + manager: ( + /*plugin*/ + ctx[1].gitManager + ), + view: ( + /*view*/ + ctx[2] + ) } }); return { @@ -28776,12 +33849,18 @@ function create_if_block_2(ctx) { }, p(ctx2, dirty) { const filecomponent_changes = {}; - if (dirty & 1) - filecomponent_changes.change = ctx2[17].statusResult; - if (dirty & 2) - filecomponent_changes.manager = ctx2[1].gitManager; - if (dirty & 4) - filecomponent_changes.view = ctx2[2]; + if (dirty & /*hierarchy*/ + 1) + filecomponent_changes.change = /*entity*/ + ctx2[17].data; + if (dirty & /*plugin*/ + 2) + filecomponent_changes.manager = /*plugin*/ + ctx2[1].gitManager; + if (dirty & /*view*/ + 4) + filecomponent_changes.view = /*view*/ + ctx2[2]; filecomponent.$set(filecomponent_changes); }, i(local) { @@ -28799,14 +33878,23 @@ function create_if_block_2(ctx) { } }; } -function create_if_block_1(ctx) { +function create_if_block_13(ctx) { let stagedfilecomponent; let current; stagedfilecomponent = new stagedFileComponent_default({ props: { - change: ctx[17].statusResult, - manager: ctx[1].gitManager, - view: ctx[2] + change: ( + /*entity*/ + ctx[17].data + ), + manager: ( + /*plugin*/ + ctx[1].gitManager + ), + view: ( + /*view*/ + ctx[2] + ) } }); return { @@ -28819,12 +33907,18 @@ function create_if_block_1(ctx) { }, p(ctx2, dirty) { const stagedfilecomponent_changes = {}; - if (dirty & 1) - stagedfilecomponent_changes.change = ctx2[17].statusResult; - if (dirty & 2) - stagedfilecomponent_changes.manager = ctx2[1].gitManager; - if (dirty & 4) - stagedfilecomponent_changes.view = ctx2[2]; + if (dirty & /*hierarchy*/ + 1) + stagedfilecomponent_changes.change = /*entity*/ + ctx2[17].data; + if (dirty & /*plugin*/ + 2) + stagedfilecomponent_changes.manager = /*plugin*/ + ctx2[1].gitManager; + if (dirty & /*view*/ + 4) + stagedfilecomponent_changes.view = /*view*/ + ctx2[2]; stagedfilecomponent.$set(stagedfilecomponent_changes); }, i(local) { @@ -28842,15 +33936,18 @@ function create_if_block_1(ctx) { } }; } -function create_each_block(ctx) { +function create_each_block4(ctx) { let current_block_type_index; let if_block; let if_block_anchor; let current; - const if_block_creators = [create_if_block3, create_else_block]; + const if_block_creators = [create_if_block7, create_else_block3]; const if_blocks = []; function select_block_type(ctx2, dirty) { - if (ctx2[17].statusResult) + if ( + /*entity*/ + ctx2[17].data + ) return 0; return 1; } @@ -28905,13 +34002,16 @@ function create_each_block(ctx) { } }; } -function create_fragment4(ctx) { +function create_fragment8(ctx) { let main; let current; - let each_value = ctx[0].children; + let each_value = ( + /*hierarchy*/ + ctx[0].children + ); let each_blocks = []; for (let i = 0; i < each_value.length; i += 1) { - each_blocks[i] = create_each_block(get_each_context(ctx, each_value, i)); + each_blocks[i] = create_each_block4(get_each_context4(ctx, each_value, i)); } const out = (i) => transition_out(each_blocks[i], 1, 1, () => { each_blocks[i] = null; @@ -28922,27 +34022,36 @@ function create_fragment4(ctx) { for (let i = 0; i < each_blocks.length; i += 1) { each_blocks[i].c(); } - attr(main, "class", "svelte-148wteu"); - toggle_class(main, "topLevel", ctx[4]); + attr(main, "class", "svelte-1lnl15d"); + toggle_class( + main, + "topLevel", + /*topLevel*/ + ctx[4] + ); }, m(target, anchor) { insert(target, main, anchor); for (let i = 0; i < each_blocks.length; i += 1) { - each_blocks[i].m(main, null); + if (each_blocks[i]) { + each_blocks[i].m(main, null); + } } current = true; }, p(ctx2, [dirty]) { - if (dirty & 2031) { - each_value = ctx2[0].children; + if (dirty & /*hierarchy, plugin, view, fileType, FileType, closed, side, fold, unstage, stage, discard*/ + 2031) { + each_value = /*hierarchy*/ + ctx2[0].children; let i; for (i = 0; i < each_value.length; i += 1) { - const child_ctx = get_each_context(ctx2, each_value, i); + const child_ctx = get_each_context4(ctx2, each_value, i); if (each_blocks[i]) { each_blocks[i].p(child_ctx, dirty); transition_in(each_blocks[i], 1); } else { - each_blocks[i] = create_each_block(child_ctx); + each_blocks[i] = create_each_block4(child_ctx); each_blocks[i].c(); transition_in(each_blocks[i], 1); each_blocks[i].m(main, null); @@ -28954,8 +34063,14 @@ function create_fragment4(ctx) { } check_outros(); } - if (!current || dirty & 16) { - toggle_class(main, "topLevel", ctx2[4]); + if (!current || dirty & /*topLevel*/ + 16) { + toggle_class( + main, + "topLevel", + /*topLevel*/ + ctx2[4] + ); } }, i(local) { @@ -28980,7 +34095,7 @@ function create_fragment4(ctx) { } }; } -function instance4($$self, $$props, $$invalidate) { +function instance8($$self, $$props, $$invalidate) { let side; let { hierarchy } = $$props; let { plugin } = $$props; @@ -29032,7 +34147,8 @@ function instance4($$self, $$props, $$invalidate) { $$invalidate(4, topLevel = $$props2.topLevel); }; $$self.$$.update = () => { - if ($$self.$$.dirty & 4) { + if ($$self.$$.dirty & /*view*/ + 4) { $: $$invalidate(6, side = view.leaf.getRoot().side == "left" ? "right" : "left"); } @@ -29060,22 +34176,30 @@ function instance4($$self, $$props, $$invalidate) { var TreeComponent = class extends SvelteComponent { constructor(options) { super(); - init2(this, options, instance4, create_fragment4, safe_not_equal, { - hierarchy: 0, - plugin: 1, - view: 2, - fileType: 3, - topLevel: 4 - }, add_css4); + init2( + this, + options, + instance8, + create_fragment8, + safe_not_equal, + { + hierarchy: 0, + plugin: 1, + view: 2, + fileType: 3, + topLevel: 4 + }, + add_css7 + ); } }; var treeComponent_default = TreeComponent; -// src/ui/sidebar/gitView.svelte -function add_css5(target) { - append_styles(target, "svelte-fnxzfa", `.commit-msg-input.svelte-fnxzfa.svelte-fnxzfa.svelte-fnxzfa{width:100%;overflow:hidden;resize:none;padding:7px 5px;background-color:var(--background-modifier-form-field)}.git-commit-msg.svelte-fnxzfa.svelte-fnxzfa.svelte-fnxzfa{position:relative;padding:0;width:calc(100% - var(--size-4-8));margin:4px auto}main.svelte-fnxzfa .tools.svelte-fnxzfa.svelte-fnxzfa{display:flex;margin-left:auto}main.svelte-fnxzfa .tools .buttons.svelte-fnxzfa.svelte-fnxzfa{display:flex}main.svelte-fnxzfa .tools .buttons.svelte-fnxzfa>.svelte-fnxzfa{padding:0 0;height:auto}main.svelte-fnxzfa .tools .files-count.svelte-fnxzfa.svelte-fnxzfa{padding-left:var(--size-2-1);width:11px;display:flex;align-items:center;justify-content:center}.git-commit-msg-clear-button.svelte-fnxzfa.svelte-fnxzfa.svelte-fnxzfa{position:absolute;background:transparent;border-radius:50%;color:var(--search-clear-button-color);cursor:var(--cursor);top:-4px;right:2px;bottom:0px;line-height:0;height:var(--input-height);width:28px;margin:auto;padding:0 0;text-align:center;display:flex;justify-content:center;align-items:center;transition:color 0.15s ease-in-out}.git-commit-msg-clear-button.svelte-fnxzfa.svelte-fnxzfa.svelte-fnxzfa:after{content:"";height:var(--search-clear-button-size);width:var(--search-clear-button-size);display:block;background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml,");-webkit-mask-repeat:no-repeat}.tree-item-flair.svelte-fnxzfa.svelte-fnxzfa.svelte-fnxzfa{margin-left:auto;align-items:center}`); +// src/ui/sourceControl/sourceControl.svelte +function add_css8(target) { + append_styles(target, "svelte-48bivb", `.commit-msg-input.svelte-48bivb.svelte-48bivb{width:100%;overflow:hidden;resize:none;padding:7px 5px;background-color:var(--background-modifier-form-field)}.git-commit-msg.svelte-48bivb.svelte-48bivb{position:relative;padding:0;width:calc(100% - var(--size-4-8));margin:4px auto}main.svelte-48bivb .git-tools .files-count.svelte-48bivb{padding-left:var(--size-2-1);width:11px;display:flex;align-items:center;justify-content:center}.git-commit-msg-clear-button.svelte-48bivb.svelte-48bivb{position:absolute;background:transparent;border-radius:50%;color:var(--search-clear-button-color);cursor:var(--cursor);top:-4px;right:2px;bottom:0px;line-height:0;height:var(--input-height);width:28px;margin:auto;padding:0 0;text-align:center;display:flex;justify-content:center;align-items:center;transition:color 0.15s ease-in-out}.git-commit-msg-clear-button.svelte-48bivb.svelte-48bivb:after{content:"";height:var(--search-clear-button-size);width:var(--search-clear-button-size);display:block;background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml,");-webkit-mask-repeat:no-repeat}`); } -function get_each_context2(ctx, list, i) { +function get_each_context5(ctx, list, i) { const child_ctx = ctx.slice(); child_ctx[45] = list[i]; return child_ctx; @@ -29098,13 +34222,18 @@ function create_if_block_8(ctx) { return { c() { div = element("div"); - attr(div, "class", "git-commit-msg-clear-button svelte-fnxzfa"); + attr(div, "class", "git-commit-msg-clear-button svelte-48bivb"); attr(div, "aria-label", div_aria_label_value = "Clear"); }, m(target, anchor) { insert(target, div, anchor); if (!mounted) { - dispose = listen(div, "click", ctx[33]); + dispose = listen( + div, + "click", + /*click_handler_1*/ + ctx[33] + ); mounted = true; } }, @@ -29117,7 +34246,7 @@ function create_if_block_8(ctx) { } }; } -function create_if_block4(ctx) { +function create_if_block8(ctx) { let div18; let div17; let div7; @@ -29131,7 +34260,10 @@ function create_if_block4(ctx) { let div2; let t3; let div4; - let t4_value = ctx[6].staged.length + ""; + let t4_value = ( + /*status*/ + ctx[6].staged.length + "" + ); let t4; let t5; let t6; @@ -29148,16 +34280,28 @@ function create_if_block4(ctx) { let div11; let t11; let div13; - let t12_value = ctx[6].changed.length + ""; + let t12_value = ( + /*status*/ + ctx[6].changed.length + "" + ); let t12; let t13; let t14; let current; let mounted; let dispose; - let if_block0 = ctx[13] && create_if_block_6(ctx); - let if_block1 = ctx[12] && create_if_block_42(ctx); - let if_block2 = ctx[7].length > 0 && create_if_block_12(ctx); + let if_block0 = ( + /*stagedOpen*/ + ctx[13] && create_if_block_6(ctx) + ); + let if_block1 = ( + /*changesOpen*/ + ctx[12] && create_if_block_42(ctx) + ); + let if_block2 = ( + /*lastPulledFiles*/ + ctx[7].length > 0 && create_if_block_14(ctx) + ); return { c() { div18 = element("div"); @@ -29209,27 +34353,29 @@ function create_if_block4(ctx) { attr(div1, "class", "nav-folder-title-content"); attr(div2, "data-icon", "minus"); attr(div2, "aria-label", "Unstage"); - attr(div2, "class", "clickable-icon svelte-fnxzfa"); - attr(div3, "class", "buttons svelte-fnxzfa"); - attr(div4, "class", "files-count svelte-fnxzfa"); - attr(div5, "class", "tools svelte-fnxzfa"); + attr(div2, "class", "clickable-icon"); + attr(div3, "class", "buttons"); + attr(div4, "class", "files-count svelte-48bivb"); + attr(div5, "class", "git-tools"); attr(div6, "class", "nav-folder-title"); attr(div7, "class", "staged nav-folder"); - toggle_class(div7, "is-collapsed", !ctx[13]); + toggle_class(div7, "is-collapsed", !/*stagedOpen*/ + ctx[13]); attr(div8, "class", "nav-folder-collapse-indicator collapse-icon"); attr(div9, "class", "nav-folder-title-content"); attr(div10, "data-icon", "undo"); attr(div10, "aria-label", "Discard"); - attr(div10, "class", "clickable-icon svelte-fnxzfa"); + attr(div10, "class", "clickable-icon"); attr(div11, "data-icon", "plus"); attr(div11, "aria-label", "Stage"); - attr(div11, "class", "clickable-icon svelte-fnxzfa"); - attr(div12, "class", "buttons svelte-fnxzfa"); - attr(div13, "class", "files-count svelte-fnxzfa"); - attr(div14, "class", "tools svelte-fnxzfa"); + attr(div11, "class", "clickable-icon"); + attr(div12, "class", "buttons"); + attr(div13, "class", "files-count svelte-48bivb"); + attr(div14, "class", "git-tools"); attr(div15, "class", "nav-folder-title"); attr(div16, "class", "changes nav-folder"); - toggle_class(div16, "is-collapsed", !ctx[12]); + toggle_class(div16, "is-collapsed", !/*changesOpen*/ + ctx[12]); attr(div17, "class", "nav-folder-children"); attr(div18, "class", "nav-folder mod-root"); }, @@ -29277,26 +34423,73 @@ function create_if_block4(ctx) { current = true; if (!mounted) { dispose = [ - listen(div0, "click", ctx[34]), - listen(div1, "click", ctx[35]), - listen(div2, "click", ctx[19]), - listen(div6, "click", self2(ctx[37])), - listen(div8, "click", ctx[38]), - listen(div9, "click", ctx[39]), - listen(div10, "click", ctx[40]), - listen(div11, "click", ctx[18]), - listen(div15, "click", self2(ctx[42])) + listen( + div0, + "click", + /*click_handler_2*/ + ctx[34] + ), + listen( + div1, + "click", + /*click_handler_3*/ + ctx[35] + ), + listen( + div2, + "click", + /*unstageAll*/ + ctx[19] + ), + listen(div6, "click", self2( + /*click_handler_4*/ + ctx[37] + )), + listen( + div8, + "click", + /*click_handler_5*/ + ctx[38] + ), + listen( + div9, + "click", + /*click_handler_6*/ + ctx[39] + ), + listen( + div10, + "click", + /*click_handler_7*/ + ctx[40] + ), + listen( + div11, + "click", + /*stageAll*/ + ctx[18] + ), + listen(div15, "click", self2( + /*click_handler_8*/ + ctx[42] + )) ]; mounted = true; } }, p(ctx2, dirty) { - if ((!current || dirty[0] & 64) && t4_value !== (t4_value = ctx2[6].staged.length + "")) + if ((!current || dirty[0] & /*status*/ + 64) && t4_value !== (t4_value = /*status*/ + ctx2[6].staged.length + "")) set_data(t4, t4_value); - if (ctx2[13]) { + if ( + /*stagedOpen*/ + ctx2[13] + ) { if (if_block0) { if_block0.p(ctx2, dirty); - if (dirty[0] & 8192) { + if (dirty[0] & /*stagedOpen*/ + 8192) { transition_in(if_block0, 1); } } else { @@ -29312,15 +34505,23 @@ function create_if_block4(ctx) { }); check_outros(); } - if (!current || dirty[0] & 8192) { - toggle_class(div7, "is-collapsed", !ctx2[13]); + if (!current || dirty[0] & /*stagedOpen*/ + 8192) { + toggle_class(div7, "is-collapsed", !/*stagedOpen*/ + ctx2[13]); } - if ((!current || dirty[0] & 64) && t12_value !== (t12_value = ctx2[6].changed.length + "")) + if ((!current || dirty[0] & /*status*/ + 64) && t12_value !== (t12_value = /*status*/ + ctx2[6].changed.length + "")) set_data(t12, t12_value); - if (ctx2[12]) { + if ( + /*changesOpen*/ + ctx2[12] + ) { if (if_block1) { if_block1.p(ctx2, dirty); - if (dirty[0] & 4096) { + if (dirty[0] & /*changesOpen*/ + 4096) { transition_in(if_block1, 1); } } else { @@ -29336,17 +34537,23 @@ function create_if_block4(ctx) { }); check_outros(); } - if (!current || dirty[0] & 4096) { - toggle_class(div16, "is-collapsed", !ctx2[12]); + if (!current || dirty[0] & /*changesOpen*/ + 4096) { + toggle_class(div16, "is-collapsed", !/*changesOpen*/ + ctx2[12]); } - if (ctx2[7].length > 0) { + if ( + /*lastPulledFiles*/ + ctx2[7].length > 0 + ) { if (if_block2) { if_block2.p(ctx2, dirty); - if (dirty[0] & 128) { + if (dirty[0] & /*lastPulledFiles*/ + 128) { transition_in(if_block2, 1); } } else { - if_block2 = create_if_block_12(ctx2); + if_block2 = create_if_block_14(ctx2); if_block2.c(); transition_in(if_block2, 1); if_block2.m(div17, null); @@ -29398,7 +34605,10 @@ function create_if_block_6(ctx) { const if_block_creators = [create_if_block_7, create_else_block_2]; const if_blocks = []; function select_block_type(ctx2, dirty) { - if (ctx2[3]) + if ( + /*showTree*/ + ctx2[3] + ) return 0; return 1; } @@ -29443,6 +34653,8 @@ function create_if_block_6(ctx) { transition_in(if_block); if (local) { add_render_callback(() => { + if (!current) + return; if (!div_transition) div_transition = create_bidirectional_transition(div, slide, { duration: 150 }, true); div_transition.run(1); @@ -29471,7 +34683,10 @@ function create_if_block_6(ctx) { function create_else_block_2(ctx) { let each_1_anchor; let current; - let each_value_2 = ctx[6].staged; + let each_value_2 = ( + /*status*/ + ctx[6].staged + ); let each_blocks = []; for (let i = 0; i < each_value_2.length; i += 1) { each_blocks[i] = create_each_block_2(get_each_context_2(ctx, each_value_2, i)); @@ -29488,14 +34703,18 @@ function create_else_block_2(ctx) { }, m(target, anchor) { for (let i = 0; i < each_blocks.length; i += 1) { - each_blocks[i].m(target, anchor); + if (each_blocks[i]) { + each_blocks[i].m(target, anchor); + } } insert(target, each_1_anchor, anchor); current = true; }, p(ctx2, dirty) { - if (dirty[0] & 67) { - each_value_2 = ctx2[6].staged; + if (dirty[0] & /*status, view, plugin*/ + 67) { + each_value_2 = /*status*/ + ctx2[6].staged; let i; for (i = 0; i < each_value_2.length; i += 1) { const child_ctx = get_each_context_2(ctx2, each_value_2, i); @@ -29543,10 +34762,19 @@ function create_if_block_7(ctx) { let current; treecomponent = new treeComponent_default({ props: { - hierarchy: ctx[10], - plugin: ctx[0], - view: ctx[1], - fileType: FileType.staged, + hierarchy: ( + /*stagedHierarchy*/ + ctx[10] + ), + plugin: ( + /*plugin*/ + ctx[0] + ), + view: ( + /*view*/ + ctx[1] + ), + fileType: 0 /* staged */, topLevel: true } }); @@ -29560,12 +34788,18 @@ function create_if_block_7(ctx) { }, p(ctx2, dirty) { const treecomponent_changes = {}; - if (dirty[0] & 1024) - treecomponent_changes.hierarchy = ctx2[10]; - if (dirty[0] & 1) - treecomponent_changes.plugin = ctx2[0]; - if (dirty[0] & 2) - treecomponent_changes.view = ctx2[1]; + if (dirty[0] & /*stagedHierarchy*/ + 1024) + treecomponent_changes.hierarchy = /*stagedHierarchy*/ + ctx2[10]; + if (dirty[0] & /*plugin*/ + 1) + treecomponent_changes.plugin = /*plugin*/ + ctx2[0]; + if (dirty[0] & /*view*/ + 2) + treecomponent_changes.view = /*view*/ + ctx2[1]; treecomponent.$set(treecomponent_changes); }, i(local) { @@ -29588,9 +34822,18 @@ function create_each_block_2(ctx) { let current; stagedfilecomponent = new stagedFileComponent_default({ props: { - change: ctx[50], - view: ctx[1], - manager: ctx[0].gitManager + change: ( + /*stagedFile*/ + ctx[50] + ), + view: ( + /*view*/ + ctx[1] + ), + manager: ( + /*plugin*/ + ctx[0].gitManager + ) } }); return { @@ -29603,12 +34846,18 @@ function create_each_block_2(ctx) { }, p(ctx2, dirty) { const stagedfilecomponent_changes = {}; - if (dirty[0] & 64) - stagedfilecomponent_changes.change = ctx2[50]; - if (dirty[0] & 2) - stagedfilecomponent_changes.view = ctx2[1]; - if (dirty[0] & 1) - stagedfilecomponent_changes.manager = ctx2[0].gitManager; + if (dirty[0] & /*status*/ + 64) + stagedfilecomponent_changes.change = /*stagedFile*/ + ctx2[50]; + if (dirty[0] & /*view*/ + 2) + stagedfilecomponent_changes.view = /*view*/ + ctx2[1]; + if (dirty[0] & /*plugin*/ + 1) + stagedfilecomponent_changes.manager = /*plugin*/ + ctx2[0].gitManager; stagedfilecomponent.$set(stagedfilecomponent_changes); }, i(local) { @@ -29635,7 +34884,10 @@ function create_if_block_42(ctx) { const if_block_creators = [create_if_block_52, create_else_block_12]; const if_blocks = []; function select_block_type_1(ctx2, dirty) { - if (ctx2[3]) + if ( + /*showTree*/ + ctx2[3] + ) return 0; return 1; } @@ -29680,6 +34932,8 @@ function create_if_block_42(ctx) { transition_in(if_block); if (local) { add_render_callback(() => { + if (!current) + return; if (!div_transition) div_transition = create_bidirectional_transition(div, slide, { duration: 150 }, true); div_transition.run(1); @@ -29708,7 +34962,10 @@ function create_if_block_42(ctx) { function create_else_block_12(ctx) { let each_1_anchor; let current; - let each_value_1 = ctx[6].changed; + let each_value_1 = ( + /*status*/ + ctx[6].changed + ); let each_blocks = []; for (let i = 0; i < each_value_1.length; i += 1) { each_blocks[i] = create_each_block_1(get_each_context_1(ctx, each_value_1, i)); @@ -29725,14 +34982,18 @@ function create_else_block_12(ctx) { }, m(target, anchor) { for (let i = 0; i < each_blocks.length; i += 1) { - each_blocks[i].m(target, anchor); + if (each_blocks[i]) { + each_blocks[i].m(target, anchor); + } } insert(target, each_1_anchor, anchor); current = true; }, p(ctx2, dirty) { - if (dirty[0] & 67) { - each_value_1 = ctx2[6].changed; + if (dirty[0] & /*status, view, plugin*/ + 67) { + each_value_1 = /*status*/ + ctx2[6].changed; let i; for (i = 0; i < each_value_1.length; i += 1) { const child_ctx = get_each_context_1(ctx2, each_value_1, i); @@ -29780,10 +35041,19 @@ function create_if_block_52(ctx) { let current; treecomponent = new treeComponent_default({ props: { - hierarchy: ctx[9], - plugin: ctx[0], - view: ctx[1], - fileType: FileType.changed, + hierarchy: ( + /*changeHierarchy*/ + ctx[9] + ), + plugin: ( + /*plugin*/ + ctx[0] + ), + view: ( + /*view*/ + ctx[1] + ), + fileType: 1 /* changed */, topLevel: true } }); @@ -29797,12 +35067,18 @@ function create_if_block_52(ctx) { }, p(ctx2, dirty) { const treecomponent_changes = {}; - if (dirty[0] & 512) - treecomponent_changes.hierarchy = ctx2[9]; - if (dirty[0] & 1) - treecomponent_changes.plugin = ctx2[0]; - if (dirty[0] & 2) - treecomponent_changes.view = ctx2[1]; + if (dirty[0] & /*changeHierarchy*/ + 512) + treecomponent_changes.hierarchy = /*changeHierarchy*/ + ctx2[9]; + if (dirty[0] & /*plugin*/ + 1) + treecomponent_changes.plugin = /*plugin*/ + ctx2[0]; + if (dirty[0] & /*view*/ + 2) + treecomponent_changes.view = /*view*/ + ctx2[1]; treecomponent.$set(treecomponent_changes); }, i(local) { @@ -29825,12 +35101,21 @@ function create_each_block_1(ctx) { let current; filecomponent = new fileComponent_default({ props: { - change: ctx[45], - view: ctx[1], - manager: ctx[0].gitManager + change: ( + /*change*/ + ctx[45] + ), + view: ( + /*view*/ + ctx[1] + ), + manager: ( + /*plugin*/ + ctx[0].gitManager + ) } }); - filecomponent.$on("git-refresh", triggerRefresh); + filecomponent.$on("git-refresh", triggerRefresh2); return { c() { create_component(filecomponent.$$.fragment); @@ -29841,12 +35126,18 @@ function create_each_block_1(ctx) { }, p(ctx2, dirty) { const filecomponent_changes = {}; - if (dirty[0] & 64) - filecomponent_changes.change = ctx2[45]; - if (dirty[0] & 2) - filecomponent_changes.view = ctx2[1]; - if (dirty[0] & 1) - filecomponent_changes.manager = ctx2[0].gitManager; + if (dirty[0] & /*status*/ + 64) + filecomponent_changes.change = /*change*/ + ctx2[45]; + if (dirty[0] & /*view*/ + 2) + filecomponent_changes.view = /*view*/ + ctx2[1]; + if (dirty[0] & /*plugin*/ + 1) + filecomponent_changes.manager = /*plugin*/ + ctx2[0].gitManager; filecomponent.$set(filecomponent_changes); }, i(local) { @@ -29864,7 +35155,7 @@ function create_each_block_1(ctx) { } }; } -function create_if_block_12(ctx) { +function create_if_block_14(ctx) { let div3; let div2; let div0; @@ -29872,13 +35163,19 @@ function create_if_block_12(ctx) { let div1; let t2; let span; - let t3_value = ctx[7].length + ""; + let t3_value = ( + /*lastPulledFiles*/ + ctx[7].length + "" + ); let t3; let t4; let current; let mounted; let dispose; - let if_block = ctx[14] && create_if_block_22(ctx); + let if_block = ( + /*lastPulledFilesOpen*/ + ctx[14] && create_if_block_23(ctx) + ); return { c() { div3 = element("div"); @@ -29896,10 +35193,11 @@ function create_if_block_12(ctx) { if_block.c(); attr(div0, "class", "nav-folder-collapse-indicator collapse-icon"); attr(div1, "class", "nav-folder-title-content"); - attr(span, "class", "tree-item-flair svelte-fnxzfa"); + attr(span, "class", "tree-item-flair"); attr(div2, "class", "nav-folder-title"); attr(div3, "class", "pulled nav-folder"); - toggle_class(div3, "is-collapsed", !ctx[14]); + toggle_class(div3, "is-collapsed", !/*lastPulledFilesOpen*/ + ctx[14]); }, m(target, anchor) { insert(target, div3, anchor); @@ -29915,21 +35213,32 @@ function create_if_block_12(ctx) { if_block.m(div3, null); current = true; if (!mounted) { - dispose = listen(div2, "click", ctx[43]); + dispose = listen( + div2, + "click", + /*click_handler_9*/ + ctx[43] + ); mounted = true; } }, p(ctx2, dirty) { - if ((!current || dirty[0] & 128) && t3_value !== (t3_value = ctx2[7].length + "")) + if ((!current || dirty[0] & /*lastPulledFiles*/ + 128) && t3_value !== (t3_value = /*lastPulledFiles*/ + ctx2[7].length + "")) set_data(t3, t3_value); - if (ctx2[14]) { + if ( + /*lastPulledFilesOpen*/ + ctx2[14] + ) { if (if_block) { if_block.p(ctx2, dirty); - if (dirty[0] & 16384) { + if (dirty[0] & /*lastPulledFilesOpen*/ + 16384) { transition_in(if_block, 1); } } else { - if_block = create_if_block_22(ctx2); + if_block = create_if_block_23(ctx2); if_block.c(); transition_in(if_block, 1); if_block.m(div3, null); @@ -29941,8 +35250,10 @@ function create_if_block_12(ctx) { }); check_outros(); } - if (!current || dirty[0] & 16384) { - toggle_class(div3, "is-collapsed", !ctx2[14]); + if (!current || dirty[0] & /*lastPulledFilesOpen*/ + 16384) { + toggle_class(div3, "is-collapsed", !/*lastPulledFilesOpen*/ + ctx2[14]); } }, i(local) { @@ -29965,16 +35276,19 @@ function create_if_block_12(ctx) { } }; } -function create_if_block_22(ctx) { +function create_if_block_23(ctx) { let div; let current_block_type_index; let if_block; let div_transition; let current; - const if_block_creators = [create_if_block_32, create_else_block2]; + const if_block_creators = [create_if_block_32, create_else_block4]; const if_blocks = []; function select_block_type_2(ctx2, dirty) { - if (ctx2[3]) + if ( + /*showTree*/ + ctx2[3] + ) return 0; return 1; } @@ -30019,6 +35333,8 @@ function create_if_block_22(ctx) { transition_in(if_block); if (local) { add_render_callback(() => { + if (!current) + return; if (!div_transition) div_transition = create_bidirectional_transition(div, slide, { duration: 150 }, true); div_transition.run(1); @@ -30044,13 +35360,16 @@ function create_if_block_22(ctx) { } }; } -function create_else_block2(ctx) { +function create_else_block4(ctx) { let each_1_anchor; let current; - let each_value = ctx[7]; + let each_value = ( + /*lastPulledFiles*/ + ctx[7] + ); let each_blocks = []; for (let i = 0; i < each_value.length; i += 1) { - each_blocks[i] = create_each_block2(get_each_context2(ctx, each_value, i)); + each_blocks[i] = create_each_block5(get_each_context5(ctx, each_value, i)); } const out = (i) => transition_out(each_blocks[i], 1, 1, () => { each_blocks[i] = null; @@ -30064,22 +35383,26 @@ function create_else_block2(ctx) { }, m(target, anchor) { for (let i = 0; i < each_blocks.length; i += 1) { - each_blocks[i].m(target, anchor); + if (each_blocks[i]) { + each_blocks[i].m(target, anchor); + } } insert(target, each_1_anchor, anchor); current = true; }, p(ctx2, dirty) { - if (dirty[0] & 130) { - each_value = ctx2[7]; + if (dirty[0] & /*lastPulledFiles, view*/ + 130) { + each_value = /*lastPulledFiles*/ + ctx2[7]; let i; for (i = 0; i < each_value.length; i += 1) { - const child_ctx = get_each_context2(ctx2, each_value, i); + const child_ctx = get_each_context5(ctx2, each_value, i); if (each_blocks[i]) { each_blocks[i].p(child_ctx, dirty); transition_in(each_blocks[i], 1); } else { - each_blocks[i] = create_each_block2(child_ctx); + each_blocks[i] = create_each_block5(child_ctx); each_blocks[i].c(); transition_in(each_blocks[i], 1); each_blocks[i].m(each_1_anchor.parentNode, each_1_anchor); @@ -30119,10 +35442,19 @@ function create_if_block_32(ctx) { let current; treecomponent = new treeComponent_default({ props: { - hierarchy: ctx[11], - plugin: ctx[0], - view: ctx[1], - fileType: FileType.pulled, + hierarchy: ( + /*lastPulledFilesHierarchy*/ + ctx[11] + ), + plugin: ( + /*plugin*/ + ctx[0] + ), + view: ( + /*view*/ + ctx[1] + ), + fileType: 2 /* pulled */, topLevel: true } }); @@ -30136,12 +35468,18 @@ function create_if_block_32(ctx) { }, p(ctx2, dirty) { const treecomponent_changes = {}; - if (dirty[0] & 2048) - treecomponent_changes.hierarchy = ctx2[11]; - if (dirty[0] & 1) - treecomponent_changes.plugin = ctx2[0]; - if (dirty[0] & 2) - treecomponent_changes.view = ctx2[1]; + if (dirty[0] & /*lastPulledFilesHierarchy*/ + 2048) + treecomponent_changes.hierarchy = /*lastPulledFilesHierarchy*/ + ctx2[11]; + if (dirty[0] & /*plugin*/ + 1) + treecomponent_changes.plugin = /*plugin*/ + ctx2[0]; + if (dirty[0] & /*view*/ + 2) + treecomponent_changes.view = /*view*/ + ctx2[1]; treecomponent.$set(treecomponent_changes); }, i(local) { @@ -30159,16 +35497,22 @@ function create_if_block_32(ctx) { } }; } -function create_each_block2(ctx) { +function create_each_block5(ctx) { let pulledfilecomponent; let current; pulledfilecomponent = new pulledFileComponent_default({ props: { - change: ctx[45], - view: ctx[1] + change: ( + /*change*/ + ctx[45] + ), + view: ( + /*view*/ + ctx[1] + ) } }); - pulledfilecomponent.$on("git-refresh", triggerRefresh); + pulledfilecomponent.$on("git-refresh", triggerRefresh2); return { c() { create_component(pulledfilecomponent.$$.fragment); @@ -30179,10 +35523,14 @@ function create_each_block2(ctx) { }, p(ctx2, dirty) { const pulledfilecomponent_changes = {}; - if (dirty[0] & 128) - pulledfilecomponent_changes.change = ctx2[45]; - if (dirty[0] & 2) - pulledfilecomponent_changes.view = ctx2[1]; + if (dirty[0] & /*lastPulledFiles*/ + 128) + pulledfilecomponent_changes.change = /*change*/ + ctx2[45]; + if (dirty[0] & /*view*/ + 2) + pulledfilecomponent_changes.view = /*view*/ + ctx2[1]; pulledfilecomponent.$set(pulledfilecomponent_changes); }, i(local) { @@ -30200,7 +35548,7 @@ function create_each_block2(ctx) { } }; } -function create_fragment5(ctx) { +function create_fragment9(ctx) { let main; let div9; let div8; @@ -30228,8 +35576,16 @@ function create_fragment5(ctx) { let current; let mounted; let dispose; - let if_block0 = ctx[2] && create_if_block_8(ctx); - let if_block1 = ctx[6] && ctx[10] && ctx[9] && create_if_block4(ctx); + let if_block0 = ( + /*commitMessage*/ + ctx[2] && create_if_block_8(ctx) + ); + let if_block1 = ( + /*status*/ + ctx[6] && /*stagedHierarchy*/ + ctx[10] && /*changeHierarchy*/ + ctx[9] && create_if_block8(ctx) + ); return { c() { main = element("main"); @@ -30292,18 +35648,27 @@ function create_fragment5(ctx) { attr(div7, "data-icon", "refresh-cw"); attr(div7, "aria-label", "Refresh"); set_style(div7, "margin", "1px"); - toggle_class(div7, "loading", ctx[5]); + toggle_class( + div7, + "loading", + /*loading*/ + ctx[5] + ); attr(div8, "class", "nav-buttons-container"); attr(div9, "class", "nav-header"); - attr(textarea, "rows", ctx[15]); - attr(textarea, "class", "commit-msg-input svelte-fnxzfa"); - attr(textarea, "type", "text"); + attr( + textarea, + "rows", + /*rows*/ + ctx[15] + ); + attr(textarea, "class", "commit-msg-input svelte-48bivb"); attr(textarea, "spellcheck", "true"); attr(textarea, "placeholder", "Commit Message"); - attr(div10, "class", "git-commit-msg svelte-fnxzfa"); + attr(div10, "class", "git-commit-msg svelte-48bivb"); attr(div11, "class", "nav-files-container"); set_style(div11, "position", "relative"); - attr(main, "class", "svelte-fnxzfa"); + attr(main, "class", "svelte-48bivb"); }, m(target, anchor) { insert(target, main, anchor); @@ -30335,7 +35700,11 @@ function create_fragment5(ctx) { append2(main, t7); append2(main, div10); append2(div10, textarea); - set_input_value(textarea, ctx[2]); + set_input_value( + textarea, + /*commitMessage*/ + ctx[2] + ); append2(div10, t8); if (if_block0) if_block0.m(div10, null); @@ -30346,30 +35715,90 @@ function create_fragment5(ctx) { current = true; if (!mounted) { dispose = [ - listen(div0, "click", ctx[17]), - listen(div1, "click", ctx[16]), - listen(div2, "click", ctx[18]), - listen(div3, "click", ctx[19]), - listen(div4, "click", ctx[20]), - listen(div5, "click", ctx[21]), - listen(div6, "click", ctx[30]), - listen(div7, "click", triggerRefresh), - listen(textarea, "input", ctx[32]) + listen( + div0, + "click", + /*backup*/ + ctx[17] + ), + listen( + div1, + "click", + /*commit*/ + ctx[16] + ), + listen( + div2, + "click", + /*stageAll*/ + ctx[18] + ), + listen( + div3, + "click", + /*unstageAll*/ + ctx[19] + ), + listen( + div4, + "click", + /*push*/ + ctx[20] + ), + listen( + div5, + "click", + /*pull*/ + ctx[21] + ), + listen( + div6, + "click", + /*click_handler*/ + ctx[30] + ), + listen(div7, "click", triggerRefresh2), + listen( + textarea, + "input", + /*textarea_input_handler*/ + ctx[32] + ) ]; mounted = true; } }, p(ctx2, dirty) { - if (!current || dirty[0] & 32) { - toggle_class(div7, "loading", ctx2[5]); + if (!current || dirty[0] & /*loading*/ + 32) { + toggle_class( + div7, + "loading", + /*loading*/ + ctx2[5] + ); } - if (!current || dirty[0] & 32768) { - attr(textarea, "rows", ctx2[15]); + if (!current || dirty[0] & /*rows*/ + 32768) { + attr( + textarea, + "rows", + /*rows*/ + ctx2[15] + ); } - if (dirty[0] & 4) { - set_input_value(textarea, ctx2[2]); + if (dirty[0] & /*commitMessage*/ + 4) { + set_input_value( + textarea, + /*commitMessage*/ + ctx2[2] + ); } - if (ctx2[2]) { + if ( + /*commitMessage*/ + ctx2[2] + ) { if (if_block0) { if_block0.p(ctx2, dirty); } else { @@ -30381,14 +35810,20 @@ function create_fragment5(ctx) { if_block0.d(1); if_block0 = null; } - if (ctx2[6] && ctx2[10] && ctx2[9]) { + if ( + /*status*/ + ctx2[6] && /*stagedHierarchy*/ + ctx2[10] && /*changeHierarchy*/ + ctx2[9] + ) { if (if_block1) { if_block1.p(ctx2, dirty); - if (dirty[0] & 1600) { + if (dirty[0] & /*status, stagedHierarchy, changeHierarchy*/ + 1600) { transition_in(if_block1, 1); } } else { - if_block1 = create_if_block4(ctx2); + if_block1 = create_if_block8(ctx2); if_block1.c(); transition_in(if_block1, 1); if_block1.m(div11, null); @@ -30431,10 +35866,10 @@ function create_fragment5(ctx) { } }; } -function triggerRefresh() { +function triggerRefresh2() { dispatchEvent(new CustomEvent("git-refresh")); } -function instance5($$self, $$props, $$invalidate) { +function instance9($$self, $$props, $$invalidate) { let rows; let { plugin } = $$props; let { view } = $$props; @@ -30453,100 +35888,109 @@ function instance5($$self, $$props, $$invalidate) { let layoutBtn; addEventListener("git-view-refresh", refresh); plugin.app.workspace.onLayoutReady(() => { - window.setTimeout(() => { - buttons.forEach((btn) => (0, import_obsidian21.setIcon)(btn, btn.getAttr("data-icon"), 16)); - (0, import_obsidian21.setIcon)(layoutBtn, showTree ? "list" : "folder", 16); - }, 0); + window.setTimeout( + () => { + buttons.forEach((btn) => (0, import_obsidian24.setIcon)(btn, btn.getAttr("data-icon"), 16)); + (0, import_obsidian24.setIcon)(layoutBtn, showTree ? "list" : "folder", 16); + }, + 0 + ); }); onDestroy(() => { removeEventListener("git-view-refresh", refresh); }); - async function commit2() { - $$invalidate(5, loading = true); - if (status2) { - if (await plugin.hasTooBigFiles(status2.staged)) { - plugin.setState(PluginState.idle); - return false; + function commit2() { + return __awaiter(this, void 0, void 0, function* () { + $$invalidate(5, loading = true); + if (status2) { + if (yield plugin.hasTooBigFiles(status2.staged)) { + plugin.setState(0 /* idle */); + return false; + } + plugin.gitManager.commit(commitMessage).then(() => { + if (commitMessage !== plugin.settings.commitMessage) { + $$invalidate(2, commitMessage = ""); + } + plugin.setUpAutoBackup(); + }).finally(triggerRefresh2); } - plugin.gitManager.commit(commitMessage).then(() => { - if (commitMessage !== plugin.settings.commitMessage) { - $$invalidate(2, commitMessage = ""); - } - plugin.setUpAutoBackup(); - }).finally(triggerRefresh); - } + }); } - async function backup() { - $$invalidate(5, loading = true); - if (status2) { - plugin.createBackup(false, false, commitMessage).then(() => { - if (commitMessage !== plugin.settings.commitMessage) { - $$invalidate(2, commitMessage = ""); - } - }).finally(triggerRefresh); - } + function backup() { + return __awaiter(this, void 0, void 0, function* () { + $$invalidate(5, loading = true); + if (status2) { + plugin.createBackup(false, false, commitMessage).then(() => { + if (commitMessage !== plugin.settings.commitMessage) { + $$invalidate(2, commitMessage = ""); + } + }).finally(triggerRefresh2); + } + }); } - async function refresh() { - if (!plugin.gitReady) { - $$invalidate(6, status2 = void 0); - return; - } - $$invalidate(6, status2 = plugin.cachedStatus); - if (plugin.lastPulledFiles && plugin.lastPulledFiles != lastPulledFiles) { - $$invalidate(7, lastPulledFiles = plugin.lastPulledFiles); - $$invalidate(11, lastPulledFilesHierarchy = { - title: "", - path: "", - vaultPath: "", - children: plugin.gitManager.getTreeStructure(lastPulledFiles) - }); - } - if (status2) { - const sort = (a, b) => { - return a.vault_path.split("/").last().localeCompare(b.vault_path.split("/").last()); - }; - status2.changed.sort(sort); - status2.staged.sort(sort); - if (status2.changed.length + status2.staged.length > 500) { + function refresh() { + return __awaiter(this, void 0, void 0, function* () { + if (!plugin.gitReady) { $$invalidate(6, status2 = void 0); - if (!plugin.loading) { - plugin.displayError("Too many changes to display"); + return; + } + $$invalidate(6, status2 = plugin.cachedStatus); + if (plugin.lastPulledFiles && plugin.lastPulledFiles != lastPulledFiles) { + $$invalidate(7, lastPulledFiles = plugin.lastPulledFiles); + $$invalidate(11, lastPulledFilesHierarchy = { + title: "", + path: "", + vaultPath: "", + children: plugin.gitManager.getTreeStructure(lastPulledFiles) + }); + } + if (status2) { + const sort = (a, b) => { + return a.vault_path.split("/").last().localeCompare(getDisplayPath(b.vault_path)); + }; + status2.changed.sort(sort); + status2.staged.sort(sort); + if (status2.changed.length + status2.staged.length > 500) { + $$invalidate(6, status2 = void 0); + if (!plugin.loading) { + plugin.displayError("Too many changes to display"); + } + } else { + $$invalidate(9, changeHierarchy = { + title: "", + path: "", + vaultPath: "", + children: plugin.gitManager.getTreeStructure(status2.changed) + }); + $$invalidate(10, stagedHierarchy = { + title: "", + path: "", + vaultPath: "", + children: plugin.gitManager.getTreeStructure(status2.staged) + }); } } else { - $$invalidate(9, changeHierarchy = { - title: "", - path: "", - vaultPath: "", - children: plugin.gitManager.getTreeStructure(status2.changed) - }); - $$invalidate(10, stagedHierarchy = { - title: "", - path: "", - vaultPath: "", - children: plugin.gitManager.getTreeStructure(status2.staged) - }); + $$invalidate(9, changeHierarchy = void 0); + $$invalidate(10, stagedHierarchy = void 0); } - } else { - $$invalidate(9, changeHierarchy = void 0); - $$invalidate(10, stagedHierarchy = void 0); - } - $$invalidate(5, loading = plugin.loading); + $$invalidate(5, loading = plugin.loading); + }); } function stageAll() { $$invalidate(5, loading = true); - plugin.gitManager.stageAll({ status: status2 }).finally(triggerRefresh); + plugin.gitManager.stageAll({ status: status2 }).finally(triggerRefresh2); } function unstageAll() { $$invalidate(5, loading = true); - plugin.gitManager.unstageAll({ status: status2 }).finally(triggerRefresh); + plugin.gitManager.unstageAll({ status: status2 }).finally(triggerRefresh2); } function push2() { $$invalidate(5, loading = true); - plugin.push().finally(triggerRefresh); + plugin.push().finally(triggerRefresh2); } function pull2() { $$invalidate(5, loading = true); - plugin.pullChangesFromRemote().finally(triggerRefresh); + plugin.pullChangesFromRemote().finally(triggerRefresh2); } function discard() { new DiscardModal(view.app, false, plugin.gitManager.getVaultPath("/")).myOpen().then((shouldDiscard) => { @@ -30642,15 +36086,17 @@ function instance5($$self, $$props, $$invalidate) { $$invalidate(1, view = $$props2.view); }; $$self.$$.update = () => { - if ($$self.$$.dirty[0] & 24) { + if ($$self.$$.dirty[0] & /*layoutBtn, showTree*/ + 24) { $: { if (layoutBtn) { layoutBtn.empty(); - (0, import_obsidian21.setIcon)(layoutBtn, showTree ? "list" : "folder", 16); + (0, import_obsidian24.setIcon)(layoutBtn, showTree ? "list" : "folder", 16); } } } - if ($$self.$$.dirty[0] & 4) { + if ($$self.$$.dirty[0] & /*commitMessage*/ + 4) { $: $$invalidate(15, rows = (commitMessage.match(/\n/g) || []).length + 1 || 1); } @@ -30702,35 +36148,35 @@ function instance5($$self, $$props, $$invalidate) { click_handler_9 ]; } -var GitView = class extends SvelteComponent { +var SourceControl = class extends SvelteComponent { constructor(options) { super(); - init2(this, options, instance5, create_fragment5, safe_not_equal, { plugin: 0, view: 1 }, add_css5, [-1, -1]); + init2(this, options, instance9, create_fragment9, safe_not_equal, { plugin: 0, view: 1 }, add_css8, [-1, -1]); } }; -var gitView_default = GitView; +var sourceControl_default = SourceControl; -// src/ui/sidebar/sidebarView.ts -var GitView2 = class extends import_obsidian22.ItemView { +// src/ui/sourceControl/sourceControl.ts +var GitView = class extends import_obsidian25.ItemView { constructor(leaf, plugin) { super(leaf); this.plugin = plugin; this.hoverPopover = null; } getViewType() { - return GIT_VIEW_CONFIG.type; + return SOURCE_CONTROL_VIEW_CONFIG.type; } getDisplayText() { - return GIT_VIEW_CONFIG.name; + return SOURCE_CONTROL_VIEW_CONFIG.name; } getIcon() { - return GIT_VIEW_CONFIG.icon; + return SOURCE_CONTROL_VIEW_CONFIG.icon; } onClose() { return super.onClose(); } onOpen() { - this._view = new gitView_default({ + this._view = new sourceControl_default({ target: this.contentEl, props: { plugin: this.plugin, @@ -30767,7 +36213,7 @@ var BranchStatusBar = class { }; // src/main.ts -var ObsidianGit = class extends import_obsidian23.Plugin { +var ObsidianGit = class extends import_obsidian26.Plugin { constructor() { super(...arguments); this.gitReady = false; @@ -30786,8 +36232,13 @@ var ObsidianGit = class extends import_obsidian23.Plugin { return this.cachedStatus; } async refresh() { - const gitView = this.app.workspace.getLeavesOfType(GIT_VIEW_CONFIG.type); - if (this.settings.changedFilesInStatusBar || gitView.length > 0) { + const gitView = this.app.workspace.getLeavesOfType( + SOURCE_CONTROL_VIEW_CONFIG.type + ); + const historyView = this.app.workspace.getLeavesOfType( + HISTORY_VIEW_CONFIG.type + ); + if (this.settings.changedFilesInStatusBar || gitView.length > 0 || historyView.length > 0) { this.loading = true; dispatchEvent(new CustomEvent("git-view-refresh")); await this.updateCachedStatus(); @@ -30808,16 +36259,22 @@ var ObsidianGit = class extends import_obsidian23.Plugin { } async loadPlugin() { addEventListener("git-refresh", this.refresh.bind(this)); - this.registerView(GIT_VIEW_CONFIG.type, (leaf) => { - return new GitView2(leaf, this); + this.registerView(SOURCE_CONTROL_VIEW_CONFIG.type, (leaf) => { + return new GitView(leaf, this); + }); + this.registerView(HISTORY_VIEW_CONFIG.type, (leaf) => { + return new HistoryView2(leaf, this); }); this.registerView(DIFF_VIEW_CONFIG.type, (leaf) => { return new DiffView(leaf, this); }); - this.app.workspace.registerHoverLinkSource(GIT_VIEW_CONFIG.type, { - display: "Git View", - defaultMod: true - }); + this.app.workspace.registerHoverLinkSource( + SOURCE_CONTROL_VIEW_CONFIG.type, + { + display: "Git View", + defaultMod: true + } + ); this.setRefreshDebouncer(); this.addCommand({ id: "edit-gitignore", @@ -30840,12 +36297,34 @@ var ObsidianGit = class extends import_obsidian23.Plugin { id: "open-git-view", name: "Open source control view", callback: async () => { - const leafs = this.app.workspace.getLeavesOfType(GIT_VIEW_CONFIG.type); + const leafs = this.app.workspace.getLeavesOfType( + SOURCE_CONTROL_VIEW_CONFIG.type + ); let leaf; if (leafs.length === 0) { leaf = this.app.workspace.getRightLeaf(false); await leaf.setViewState({ - type: GIT_VIEW_CONFIG.type + type: SOURCE_CONTROL_VIEW_CONFIG.type + }); + } else { + leaf = leafs.first(); + } + this.app.workspace.revealLeaf(leaf); + dispatchEvent(new CustomEvent("git-refresh")); + } + }); + this.addCommand({ + id: "open-history-view", + name: "Open history view", + callback: async () => { + const leafs = this.app.workspace.getLeavesOfType( + HISTORY_VIEW_CONFIG.type + ); + let leaf; + if (leafs.length === 0) { + leaf = this.app.workspace.getRightLeaf(false); + await leaf.setViewState({ + type: HISTORY_VIEW_CONFIG.type }); } else { leaf = leafs.first(); @@ -30902,7 +36381,10 @@ var ObsidianGit = class extends import_obsidian23.Plugin { if (checking) { return file !== null; } else { - app.vault.adapter.append(this.gitManager.getVaultPath(".gitignore"), "\n" + this.gitManager.getPath(file.path, true)).then(() => { + app.vault.adapter.append( + this.gitManager.getVaultPath(".gitignore"), + "\n" + this.gitManager.getPath(file.path, true) + ).then(() => { this.refresh(); }); } @@ -30929,33 +36411,41 @@ var ObsidianGit = class extends import_obsidian23.Plugin { this.addCommand({ id: "commit", name: "Commit all changes", - callback: () => this.promiseQueue.addTask(() => this.commit({ fromAutoBackup: false })) + callback: () => this.promiseQueue.addTask( + () => this.commit({ fromAutoBackup: false }) + ) }); this.addCommand({ id: "commit-specified-message", name: "Commit all changes with specific message", - callback: () => this.promiseQueue.addTask(() => this.commit({ - fromAutoBackup: false, - requestCustomMessage: true - })) + callback: () => this.promiseQueue.addTask( + () => this.commit({ + fromAutoBackup: false, + requestCustomMessage: true + }) + ) }); this.addCommand({ id: "commit-staged", name: "Commit staged", - callback: () => this.promiseQueue.addTask(() => this.commit({ - fromAutoBackup: false, - requestCustomMessage: false, - onlyStaged: true - })) + callback: () => this.promiseQueue.addTask( + () => this.commit({ + fromAutoBackup: false, + requestCustomMessage: false, + onlyStaged: true + }) + ) }); this.addCommand({ id: "commit-staged-specified-message", name: "Commit staged with specific message", - callback: () => this.promiseQueue.addTask(() => this.commit({ - fromAutoBackup: false, - requestCustomMessage: true, - onlyStaged: true - })) + callback: () => this.promiseQueue.addTask( + () => this.commit({ + fromAutoBackup: false, + requestCustomMessage: true, + onlyStaged: true + }) + ) }); this.addCommand({ id: "push2", @@ -31000,18 +36490,29 @@ var ObsidianGit = class extends import_obsidian23.Plugin { id: "delete-repo", name: "CAUTION: Delete repository", callback: async () => { - const repoExists = await this.app.vault.adapter.exists(`${this.settings.basePath}/.git`); + const repoExists = await this.app.vault.adapter.exists( + `${this.settings.basePath}/.git` + ); if (repoExists) { - const modal = new GeneralModal({ options: ["NO", "YES"], placeholder: "Do you really want to delete the repository (.git directory)? This action cannot be undone.", onlySelection: true }); + const modal = new GeneralModal({ + options: ["NO", "YES"], + placeholder: "Do you really want to delete the repository (.git directory)? This action cannot be undone.", + onlySelection: true + }); const shouldDelete = await modal.open() === "YES"; if (shouldDelete) { - await this.app.vault.adapter.rmdir(`${this.settings.basePath}/.git`, true); - new import_obsidian23.Notice("Successfully deleted repository. Reloading plugin..."); + await this.app.vault.adapter.rmdir( + `${this.settings.basePath}/.git`, + true + ); + new import_obsidian26.Notice( + "Successfully deleted repository. Reloading plugin..." + ); this.unloadPlugin(); this.init(); } } else { - new import_obsidian23.Notice("No repository found"); + new import_obsidian26.Notice("No repository found"); } } }); @@ -31032,7 +36533,7 @@ var ObsidianGit = class extends import_obsidian23.Plugin { if (!await this.isAllInitialized()) return; const status2 = await this.gitManager.status(); - this.setState(PluginState.idle); + this.setState(0 /* idle */); if (status2.changed.length + status2.staged.length > 500) { this.displayError("Too many changes to display"); return; @@ -31061,48 +36562,83 @@ var ObsidianGit = class extends import_obsidian23.Plugin { this.deleteBranch(); } }); - this.registerEvent(this.app.workspace.on("file-menu", (menu, file, source) => { - this.handleFileMenu(menu, file, source); - })); + this.addCommand({ + id: "discard-all", + name: "CAUTION: Discard all changes", + callback: async () => { + if (!await this.isAllInitialized()) + return false; + const modal = new GeneralModal({ + options: ["NO", "YES"], + placeholder: "Do you want to discard all changes to tracked files? This action cannot be undone.", + onlySelection: true + }); + const shouldDiscardAll = await modal.open() === "YES"; + if (shouldDiscardAll) { + this.promiseQueue.addTask(() => this.discardAll()); + } + } + }); + this.registerEvent( + this.app.workspace.on("file-menu", (menu, file, source) => { + this.handleFileMenu(menu, file, source); + }) + ); if (this.settings.showStatusBar) { const statusBarEl = this.addStatusBarItem(); this.statusBar = new StatusBar(statusBarEl, this); - this.registerInterval(window.setInterval(() => { - var _a2; - return (_a2 = this.statusBar) == null ? void 0 : _a2.display(); - }, 1e3)); + this.registerInterval( + window.setInterval(() => { + var _a2; + return (_a2 = this.statusBar) == null ? void 0 : _a2.display(); + }, 1e3) + ); } - if (import_obsidian23.Platform.isDesktop && this.settings.showBranchStatusBar) { + if (import_obsidian26.Platform.isDesktop && this.settings.showBranchStatusBar) { const branchStatusBarEl = this.addStatusBarItem(); this.branchBar = new BranchStatusBar(branchStatusBarEl, this); - this.registerInterval(window.setInterval(() => { - var _a2; - return (_a2 = this.branchBar) == null ? void 0 : _a2.display(); - }, 6e4)); + this.registerInterval( + window.setInterval(() => { + var _a2; + return (_a2 = this.branchBar) == null ? void 0 : _a2.display(); + }, 6e4) + ); } this.app.workspace.onLayoutReady(() => this.init()); } setRefreshDebouncer() { var _a2; (_a2 = this.debRefresh) == null ? void 0 : _a2.cancel(); - this.debRefresh = (0, import_obsidian23.debounce)(() => { - if (this.settings.refreshSourceControl) { - this.refresh(); - } - }, this.settings.refreshSourceControlTimer, true); + this.debRefresh = (0, import_obsidian26.debounce)( + () => { + if (this.settings.refreshSourceControl) { + this.refresh(); + } + }, + this.settings.refreshSourceControlTimer, + true + ); } async showNotices() { const length = 1e4; - if (this.manifest.id === "obsidian-git" && import_obsidian23.Platform.isDesktopApp && !this.settings.showedMobileNotice) { - new import_obsidian23.Notice("Obsidian Git is now available on mobile! Please read the plugin's README for more information.", length); + if (this.manifest.id === "obsidian-git" && import_obsidian26.Platform.isDesktopApp && !this.settings.showedMobileNotice) { + new import_obsidian26.Notice( + "Obsidian Git is now available on mobile! Please read the plugin's README for more information.", + length + ); this.settings.showedMobileNotice = true; await this.saveSettings(); } if (this.manifest.id === "obsidian-git-isomorphic") { - new import_obsidian23.Notice("Obsidian Git Mobile is now deprecated. Please uninstall it and install Obsidian Git instead.", length); + new import_obsidian26.Notice( + "Obsidian Git Mobile is now deprecated. Please uninstall it and install Obsidian Git instead.", + length + ); } } handleFileMenu(menu, file, source) { + if (!this.settings.showFileMenu) + return; if (source !== "file-explorer-context-menu") { return; } @@ -31114,10 +36650,12 @@ var ObsidianGit = class extends import_obsidian23.Plugin { menu.addItem((item) => { item.setTitle(`Git: Stage`).setIcon("plus-circle").setSection("action").onClick((_) => { this.promiseQueue.addTask(async () => { - if (file instanceof import_obsidian23.TFile) { + if (file instanceof import_obsidian26.TFile) { await this.gitManager.stage(file.path, true); } else { - await this.gitManager.stageAll({ dir: this.gitManager.getPath(file.path, true) }); + await this.gitManager.stageAll({ + dir: this.gitManager.getPath(file.path, true) + }); } this.displayMessage(`Staged ${file.path}`); }); @@ -31126,10 +36664,12 @@ var ObsidianGit = class extends import_obsidian23.Plugin { menu.addItem((item) => { item.setTitle(`Git: Unstage`).setIcon("minus-circle").setSection("action").onClick((_) => { this.promiseQueue.addTask(async () => { - if (file instanceof import_obsidian23.TFile) { + if (file instanceof import_obsidian26.TFile) { await this.gitManager.unstage(file.path, true); } else { - await this.gitManager.unstageAll({ dir: this.gitManager.getPath(file.path, true) }); + await this.gitManager.unstageAll({ + dir: this.gitManager.getPath(file.path, true) + }); } this.displayMessage(`Unstaged ${file.path}`); }); @@ -31171,7 +36711,9 @@ var ObsidianGit = class extends import_obsidian23.Plugin { this.debRefresh.cancel(); } async onunload() { - this.app.workspace.unregisterHoverLinkSource(GIT_VIEW_CONFIG.type); + this.app.workspace.unregisterHoverLinkSource( + SOURCE_CONTROL_VIEW_CONFIG.type + ); this.unloadPlugin(); console.log("unloading " + this.manifest.name + " plugin"); } @@ -31197,16 +36739,16 @@ var ObsidianGit = class extends import_obsidian23.Plugin { async loadLastAuto() { var _a2, _b, _c; return { - "backup": new Date((_a2 = this.localStorage.getLastAutoBackup()) != null ? _a2 : ""), - "pull": new Date((_b = this.localStorage.getLastAutoPull()) != null ? _b : ""), - "push": new Date((_c = this.localStorage.getLastAutoPush()) != null ? _c : "") + backup: new Date((_a2 = this.localStorage.getLastAutoBackup()) != null ? _a2 : ""), + pull: new Date((_b = this.localStorage.getLastAutoPull()) != null ? _b : ""), + push: new Date((_c = this.localStorage.getLastAutoPush()) != null ? _c : "") }; } async init() { var _a2; this.showNotices(); try { - if (import_obsidian23.Platform.isDesktopApp) { + if (import_obsidian26.Platform.isDesktopApp) { this.gitManager = new SimpleGit(this); await this.gitManager.setGitInstance(); } else { @@ -31218,11 +36760,14 @@ var ObsidianGit = class extends import_obsidian23.Plugin { this.displayError("Cannot run git command"); break; case "missing-repo": - new import_obsidian23.Notice("Can't find a valid git repository. Please create one via the given command or clone an existing repo."); + new import_obsidian26.Notice( + "Can't find a valid git repository. Please create one via the given command or clone an existing repo.", + 1e4 + ); break; case "valid": this.gitReady = true; - this.setState(PluginState.idle); + this.setState(0 /* idle */); this.modifyEvent = this.app.vault.on("modify", () => { this.debRefresh(); }); @@ -31242,12 +36787,16 @@ var ObsidianGit = class extends import_obsidian23.Plugin { (_a2 = this.branchBar) == null ? void 0 : _a2.display(); dispatchEvent(new CustomEvent("git-refresh")); if (this.settings.autoPullOnBoot) { - this.promiseQueue.addTask(() => this.pullChangesFromRemote()); + this.promiseQueue.addTask( + () => this.pullChangesFromRemote() + ); } this.setUpAutos(); break; default: - console.log("Something weird happened. The 'checkRequirements' result is " + result); + console.log( + "Something weird happened. The 'checkRequirements' result is " + result + ); } } catch (error) { this.displayError(error); @@ -31256,7 +36805,7 @@ var ObsidianGit = class extends import_obsidian23.Plugin { } async createNewRepo() { await this.gitManager.init(); - new import_obsidian23.Notice("Initialized new repo"); + new import_obsidian26.Notice("Initialized new repo"); await this.init(); } async cloneNewRepo() { @@ -31273,24 +36822,35 @@ var ObsidianGit = class extends import_obsidian23.Plugin { if (dir === confirmOption) { dir = "."; } - dir = (0, import_obsidian23.normalizePath)(dir); + dir = (0, import_obsidian26.normalizePath)(dir); if (dir === "/") { dir = "."; } if (dir === ".") { - const modal2 = new GeneralModal({ options: ["NO", "YES"], placeholder: `Does your remote repo contain a ${app.vault.configDir} directory at the root?`, onlySelection: true }); + const modal2 = new GeneralModal({ + options: ["NO", "YES"], + placeholder: `Does your remote repo contain a ${app.vault.configDir} directory at the root?`, + onlySelection: true + }); const containsConflictDir = await modal2.open(); if (containsConflictDir === void 0) { - new import_obsidian23.Notice("Aborted clone"); + new import_obsidian26.Notice("Aborted clone"); return; } else if (containsConflictDir === "YES") { const confirmOption2 = "DELETE ALL YOUR LOCAL CONFIG AND PLUGINS"; - const modal3 = new GeneralModal({ options: ["Abort clone", confirmOption2], placeholder: `To avoid conflicts, the local ${app.vault.configDir} directory needs to be deleted.`, onlySelection: true }); + const modal3 = new GeneralModal({ + options: ["Abort clone", confirmOption2], + placeholder: `To avoid conflicts, the local ${app.vault.configDir} directory needs to be deleted.`, + onlySelection: true + }); const shouldDelete = await modal3.open() === confirmOption2; if (shouldDelete) { - await this.app.vault.adapter.rmdir(app.vault.configDir, true); + await this.app.vault.adapter.rmdir( + app.vault.configDir, + true + ); } else { - new import_obsidian23.Notice("Aborted clone"); + new import_obsidian26.Notice("Aborted clone"); return; } } @@ -31303,27 +36863,42 @@ var ObsidianGit = class extends import_obsidian23.Plugin { if (depth !== "") { depthInt = parseInt(depth); if (isNaN(depthInt)) { - new import_obsidian23.Notice("Invalid depth. Aborting clone."); + new import_obsidian26.Notice("Invalid depth. Aborting clone."); return; } } - new import_obsidian23.Notice(`Cloning new repo into "${dir}"`); - await this.gitManager.clone(url, dir, depthInt); - new import_obsidian23.Notice("Cloned new repo."); - new import_obsidian23.Notice("Please restart Obsidian"); - if (dir && dir !== ".") { + new import_obsidian26.Notice(`Cloning new repo into "${dir}"`); + const oldBase = this.settings.basePath; + const customDir = dir && dir !== "."; + if (customDir) { this.settings.basePath = dir; + } + try { + await this.gitManager.clone(url, dir, depthInt); + } catch (error) { + this.settings.basePath = oldBase; + this.saveSettings(); + throw error; + } + new import_obsidian26.Notice("Cloned new repo."); + new import_obsidian26.Notice("Please restart Obsidian"); + if (customDir) { this.saveSettings(); } } } } + /** + * Retries to call `this.init()` if necessary, otherwise returns directly + * @returns true if `this.gitManager` is ready to be used, false if not. + */ async isAllInitialized() { if (!this.gitReady) { await this.init(); } return this.gitReady; } + ///Used for command async pullChangesFromRemote() { if (!await this.isAllInitialized()) return; @@ -31335,13 +36910,14 @@ var ObsidianGit = class extends import_obsidian23.Plugin { if (this.gitManager instanceof SimpleGit) { const status2 = await this.gitManager.status(); if (status2.conflicted.length > 0) { - this.displayError(`You have conflicts in ${status2.conflicted.length} ${status2.conflicted.length == 1 ? "file" : "files"}`); + this.displayError( + `You have conflicts in ${status2.conflicted.length} ${status2.conflicted.length == 1 ? "file" : "files"}` + ); this.handleConflict(status2.conflicted); } } dispatchEvent(new CustomEvent("git-refresh")); - this.lastUpdate = Date.now(); - this.setState(PluginState.idle); + this.setState(0 /* idle */); } async createBackup(fromAutoBackup, requestCustomMessage = false, commitMessage) { if (!await this.isAllInitialized()) @@ -31349,7 +36925,11 @@ var ObsidianGit = class extends import_obsidian23.Plugin { if (this.settings.syncMethod == "reset" && this.settings.pullBeforePush) { await this.pull(); } - if (!await this.commit({ fromAutoBackup, requestCustomMessage, commitMessage })) + if (!await this.commit({ + fromAutoBackup, + requestCustomMessage, + commitMessage + })) return; if (!this.settings.disablePush) { if (await this.gitManager.canPush()) { @@ -31361,8 +36941,9 @@ var ObsidianGit = class extends import_obsidian23.Plugin { this.displayMessage("No changes to push"); } } - this.setState(PluginState.idle); + this.setState(0 /* idle */); } + // Returns true if commit was successfully async commit({ fromAutoBackup, requestCustomMessage = false, @@ -31379,14 +36960,18 @@ var ObsidianGit = class extends import_obsidian23.Plugin { this.mayDeleteConflictFile(); status2 = await this.updateCachedStatus(); if (fromAutoBackup && status2.conflicted.length > 0) { - this.displayError(`Did not commit, because you have conflicts in ${status2.conflicted.length} ${status2.conflicted.length == 1 ? "file" : "files"}. Please resolve them and commit per command.`); + this.displayError( + `Did not commit, because you have conflicts in ${status2.conflicted.length} ${status2.conflicted.length == 1 ? "file" : "files"}. Please resolve them and commit per command.` + ); this.handleConflict(status2.conflicted); return false; } changedFiles = [...status2.changed, ...status2.staged]; } else if (fromAutoBackup && hadConflict) { - this.setState(PluginState.conflicted); - this.displayError(`Did not commit, because you have conflicts. Please resolve them and commit per command.`); + this.setState(6 /* conflicted */); + this.displayError( + `Did not commit, because you have conflicts. Please resolve them and commit per command.` + ); return false; } else if (hadConflict) { await this.mayDeleteConflictFile(); @@ -31397,24 +36982,31 @@ var ObsidianGit = class extends import_obsidian23.Plugin { changedFiles = await this.gitManager.getStagedFiles(); } else { unstagedFiles = await this.gitManager.getUnstagedFiles(); - changedFiles = unstagedFiles.map(({ filepath }) => ({ vault_path: this.gitManager.getVaultPath(filepath) })); + changedFiles = unstagedFiles.map(({ filepath }) => ({ + vault_path: this.gitManager.getVaultPath(filepath) + })); } } if (await this.hasTooBigFiles(changedFiles)) { - this.setState(PluginState.idle); + this.setState(0 /* idle */); return false; } if (changedFiles.length !== 0 || hadConflict) { let cmtMessage = commitMessage != null ? commitMessage : commitMessage = fromAutoBackup ? this.settings.autoCommitMessage : this.settings.commitMessage; if (fromAutoBackup && this.settings.customMessageOnAutoBackup || requestCustomMessage) { if (!this.settings.disablePopups && fromAutoBackup) { - new import_obsidian23.Notice("Auto backup: Please enter a custom commit message. Leave empty to abort"); + new import_obsidian26.Notice( + "Auto backup: Please enter a custom commit message. Leave empty to abort" + ); } - const tempMessage = await new CustomMessageModal(this, true).open(); + const tempMessage = await new CustomMessageModal( + this, + true + ).open(); if (tempMessage != void 0 && tempMessage != "" && tempMessage != "...") { cmtMessage = tempMessage; } else { - this.setState(PluginState.idle); + this.setState(0 /* idle */); return false; } } @@ -31422,7 +37014,15 @@ var ObsidianGit = class extends import_obsidian23.Plugin { if (onlyStaged) { committedFiles = await this.gitManager.commit(cmtMessage); } else { - committedFiles = await this.gitManager.commitAll({ message: cmtMessage, status: status2, unstagedFiles }); + committedFiles = await this.gitManager.commitAll({ + // A type error occurs here because `this.settings.autoCommitMessage` is possibly undefined. + // However, since `this.settings.autoCommitMessage` is always set to string in `this.migrateSettings`, + // `undefined` is never passed here. Therefore, temporarily ignore this error. + // @ts-ignore + message: cmtMessage, + status: status2, + unstagedFiles + }); } let roughly = false; if (committedFiles === void 0) { @@ -31430,12 +37030,14 @@ var ObsidianGit = class extends import_obsidian23.Plugin { committedFiles = changedFiles.length; } this.setUpAutoBackup(); - this.displayMessage(`Committed${roughly ? " approx." : ""} ${committedFiles} ${committedFiles == 1 ? "file" : "files"}`); + this.displayMessage( + `Committed${roughly ? " approx." : ""} ${committedFiles} ${committedFiles == 1 ? "file" : "files"}` + ); } else { this.displayMessage("No changes to commit"); } dispatchEvent(new CustomEvent("git-refresh")); - this.setState(PluginState.idle); + this.setState(0 /* idle */); return true; } async hasTooBigFiles(files) { @@ -31445,14 +37047,20 @@ var ObsidianGit = class extends import_obsidian23.Plugin { const remoteUrl = await this.gitManager.getRemoteUrl(remote); if (remoteUrl == null ? void 0 : remoteUrl.includes("github.com")) { const tooBigFiles = files.filter((f) => { - const file = this.app.vault.getAbstractFileByPath(f.vault_path); - if (file instanceof import_obsidian23.TFile) { + const file = this.app.vault.getAbstractFileByPath( + f.vault_path + ); + if (file instanceof import_obsidian26.TFile) { return file.stat.size >= 1e8; } return false; }); if (tooBigFiles.length > 0) { - this.displayError(`Did not commit, because following files are too big: ${tooBigFiles.map((e) => e.vault_path)}. Please remove them.`); + this.displayError( + `Did not commit, because following files are too big: ${tooBigFiles.map( + (e) => e.vault_path + )}. Please remove them.` + ); return true; } } @@ -31470,29 +37078,34 @@ var ObsidianGit = class extends import_obsidian23.Plugin { await this.mayDeleteConflictFile(); let status2; if (this.gitManager instanceof SimpleGit && (status2 = await this.updateCachedStatus()).conflicted.length > 0) { - this.displayError(`Cannot push. You have conflicts in ${status2.conflicted.length} ${status2.conflicted.length == 1 ? "file" : "files"}`); + this.displayError( + `Cannot push. You have conflicts in ${status2.conflicted.length} ${status2.conflicted.length == 1 ? "file" : "files"}` + ); this.handleConflict(status2.conflicted); return false; } else if (this.gitManager instanceof IsomorphicGit && hadConflict) { this.displayError(`Cannot push. You have conflicts`); - this.setState(PluginState.conflicted); + this.setState(6 /* conflicted */); return false; } { console.log("Pushing...."); const pushedFiles = await this.gitManager.push(); console.log("Pushed!", pushedFiles); - this.lastUpdate = Date.now(); if (pushedFiles > 0) { - this.displayMessage(`Pushed ${pushedFiles} ${pushedFiles == 1 ? "file" : "files"} to remote`); + this.displayMessage( + `Pushed ${pushedFiles} ${pushedFiles == 1 ? "file" : "files"} to remote` + ); } else { this.displayMessage(`No changes to push`); } this.offlineMode = false; - this.setState(PluginState.idle); + this.setState(0 /* idle */); return true; } } + /// Used for internals + /// Returns whether the pull added a commit or not. async pull() { if (!await this.remotesAreSet()) { return false; @@ -31500,16 +37113,20 @@ var ObsidianGit = class extends import_obsidian23.Plugin { const pulledFiles = await this.gitManager.pull() || []; this.offlineMode = false; if (pulledFiles.length > 0) { - this.displayMessage(`Pulled ${pulledFiles.length} ${pulledFiles.length == 1 ? "file" : "files"} from remote`); + this.displayMessage( + `Pulled ${pulledFiles.length} ${pulledFiles.length == 1 ? "file" : "files"} from remote` + ); this.lastPulledFiles = pulledFiles; } return pulledFiles.length != 0; } async mayDeleteConflictFile() { - const file = this.app.vault.getAbstractFileByPath(this.conflictOutputFile); + const file = this.app.vault.getAbstractFileByPath( + this.conflictOutputFile + ); if (file) { this.app.workspace.iterateAllLeaves((leaf) => { - if (leaf.view instanceof import_obsidian23.MarkdownView && leaf.view.file.path == file.path) { + if (leaf.view instanceof import_obsidian26.MarkdownView && leaf.view.file.path == file.path) { leaf.detach(); } }); @@ -31522,7 +37139,7 @@ var ObsidianGit = class extends import_obsidian23.Plugin { await this.gitManager.stage(file.path, true); this.displayMessage(`Staged ${file.path}`); dispatchEvent(new CustomEvent("git-refresh")); - this.setState(PluginState.idle); + this.setState(0 /* idle */); return true; } async unstageFile(file) { @@ -31531,7 +37148,7 @@ var ObsidianGit = class extends import_obsidian23.Plugin { await this.gitManager.unstage(file.path, true); this.displayMessage(`Unstaged ${file.path}`); dispatchEvent(new CustomEvent("git-refresh")); - this.setState(PluginState.idle); + this.setState(0 /* idle */); return true; } async switchBranch() { @@ -31539,7 +37156,9 @@ var ObsidianGit = class extends import_obsidian23.Plugin { if (!await this.isAllInitialized()) return; const branchInfo = await this.gitManager.branchInfo(); - const selectedBranch = await new BranchModal(branchInfo.branches).open(); + const selectedBranch = await new BranchModal( + branchInfo.branches + ).open(); if (selectedBranch != void 0) { await this.gitManager.checkout(selectedBranch); this.displayMessage(`Switched to ${selectedBranch}`); @@ -31564,7 +37183,9 @@ var ObsidianGit = class extends import_obsidian23.Plugin { var _a2; if (!await this.isAllInitialized()) return; - const newBranch = await new GeneralModal({ placeholder: "Create new branch" }).open(); + const newBranch = await new GeneralModal({ + placeholder: "Create new branch" + }).open(); if (newBranch != void 0) { await this.gitManager.createBranch(newBranch); this.displayMessage(`Created new branch ${newBranch}`); @@ -31579,12 +37200,20 @@ var ObsidianGit = class extends import_obsidian23.Plugin { const branchInfo = await this.gitManager.branchInfo(); if (branchInfo.current) branchInfo.branches.remove(branchInfo.current); - const branch2 = await new GeneralModal({ options: branchInfo.branches, placeholder: "Delete branch", onlySelection: true }).open(); + const branch2 = await new GeneralModal({ + options: branchInfo.branches, + placeholder: "Delete branch", + onlySelection: true + }).open(); if (branch2 != void 0) { let force = false; const merged = await this.gitManager.branchIsMerged(branch2); if (!merged) { - const forceAnswer = await new GeneralModal({ options: ["YES", "NO"], placeholder: "This branch isn't merged into HEAD. Force delete?", onlySelection: true }).open(); + const forceAnswer = await new GeneralModal({ + options: ["YES", "NO"], + placeholder: "This branch isn't merged into HEAD. Force delete?", + onlySelection: true + }).open(); if (forceAnswer !== "YES") { return; } @@ -31598,11 +37227,11 @@ var ObsidianGit = class extends import_obsidian23.Plugin { } async remotesAreSet() { if (!(await this.gitManager.branchInfo()).tracking) { - new import_obsidian23.Notice("No upstream branch is set. Please select one."); + new import_obsidian26.Notice("No upstream branch is set. Please select one."); const remoteBranch = await this.selectRemoteBranch(); if (remoteBranch == void 0) { this.displayError("Aborted. No upstream-branch is set!", 1e4); - this.setState(PluginState.idle); + this.setState(0 /* idle */); return false; } else { await this.gitManager.updateUpstreamBranch(remoteBranch); @@ -31622,8 +37251,10 @@ var ObsidianGit = class extends import_obsidian23.Plugin { if (!this.timeoutIDBackup && !this.onFileModifyEventRef) { const lastAutos = await this.loadLastAuto(); if (this.settings.autoSaveInterval > 0) { - const now2 = new Date(); - const diff2 = this.settings.autoSaveInterval - Math.round((now2.getTime() - lastAutos.backup.getTime()) / 1e3 / 60); + const now2 = /* @__PURE__ */ new Date(); + const diff2 = this.settings.autoSaveInterval - Math.round( + (now2.getTime() - lastAutos.backup.getTime()) / 1e3 / 60 + ); this.startAutoBackup(diff2 <= 0 ? 0 : diff2); } } @@ -31632,34 +37263,59 @@ var ObsidianGit = class extends import_obsidian23.Plugin { this.setUpAutoBackup(); const lastAutos = await this.loadLastAuto(); if (this.settings.differentIntervalCommitAndPush && this.settings.autoPushInterval > 0) { - const now2 = new Date(); - const diff2 = this.settings.autoPushInterval - Math.round((now2.getTime() - lastAutos.push.getTime()) / 1e3 / 60); + const now2 = /* @__PURE__ */ new Date(); + const diff2 = this.settings.autoPushInterval - Math.round( + (now2.getTime() - lastAutos.push.getTime()) / 1e3 / 60 + ); this.startAutoPush(diff2 <= 0 ? 0 : diff2); } if (this.settings.autoPullInterval > 0) { - const now2 = new Date(); - const diff2 = this.settings.autoPullInterval - Math.round((now2.getTime() - lastAutos.pull.getTime()) / 1e3 / 60); + const now2 = /* @__PURE__ */ new Date(); + const diff2 = this.settings.autoPullInterval - Math.round( + (now2.getTime() - lastAutos.pull.getTime()) / 1e3 / 60 + ); this.startAutoPull(diff2 <= 0 ? 0 : diff2); } } + async discardAll() { + await this.gitManager.discardAll({ + status: this.cachedStatus + }); + new import_obsidian26.Notice( + "All local changes have been discarded. New files remain untouched." + ); + } clearAutos() { this.clearAutoBackup(); this.clearAutoPush(); this.clearAutoPull(); } startAutoBackup(minutes) { - const time = (minutes != null ? minutes : this.settings.autoSaveInterval) * 6e4; + let time = (minutes != null ? minutes : this.settings.autoSaveInterval) * 6e4; if (this.settings.autoBackupAfterFileChange) { if (minutes === 0) { this.doAutoBackup(); } else { - this.onFileModifyEventRef = this.app.vault.on("modify", () => this.autoBackupDebouncer()); - this.autoBackupDebouncer = (0, import_obsidian23.debounce)(() => this.doAutoBackup(), time, true); + this.onFileModifyEventRef = this.app.vault.on( + "modify", + () => this.autoBackupDebouncer() + ); + this.autoBackupDebouncer = (0, import_obsidian26.debounce)( + () => this.doAutoBackup(), + time, + true + ); } } else { - this.timeoutIDBackup = window.setTimeout(() => this.doAutoBackup(), time); + if (time > 2147483647) + time = 2147483647; + this.timeoutIDBackup = window.setTimeout( + () => this.doAutoBackup(), + time + ); } } + // This is used for both auto backup and commit doAutoBackup() { this.promiseQueue.addTask(() => { if (this.settings.differentIntervalCommitAndPush) { @@ -31668,25 +37324,31 @@ var ObsidianGit = class extends import_obsidian23.Plugin { return this.createBackup(true); } }); - this.saveLastAuto(new Date(), "backup"); + this.saveLastAuto(/* @__PURE__ */ new Date(), "backup"); this.saveSettings(); this.startAutoBackup(); } startAutoPull(minutes) { + let time = (minutes != null ? minutes : this.settings.autoPullInterval) * 6e4; + if (time > 2147483647) + time = 2147483647; this.timeoutIDPull = window.setTimeout(() => { this.promiseQueue.addTask(() => this.pullChangesFromRemote()); - this.saveLastAuto(new Date(), "pull"); + this.saveLastAuto(/* @__PURE__ */ new Date(), "pull"); this.saveSettings(); this.startAutoPull(); - }, (minutes != null ? minutes : this.settings.autoPullInterval) * 6e4); + }, time); } startAutoPush(minutes) { + let time = (minutes != null ? minutes : this.settings.autoPushInterval) * 6e4; + if (time > 2147483647) + time = 2147483647; this.timeoutIDPush = window.setTimeout(() => { this.promiseQueue.addTask(() => this.push()); - this.saveLastAuto(new Date(), "push"); + this.saveLastAuto(/* @__PURE__ */ new Date(), "push"); this.saveSettings(); this.startAutoPush(); - }, (minutes != null ? minutes : this.settings.autoPushInterval) * 6e4); + }, time); } clearAutoBackup() { var _a2; @@ -31721,7 +37383,7 @@ var ObsidianGit = class extends import_obsidian23.Plugin { return false; } async handleConflict(conflicted) { - this.setState(PluginState.conflicted); + this.setState(6 /* conflicted */); this.localStorage.setConflict("true"); let lines; if (conflicted !== void 0) { @@ -31733,8 +37395,11 @@ var ObsidianGit = class extends import_obsidian23.Plugin { "", ...conflicted.map((e) => { const file = this.app.vault.getAbstractFileByPath(e); - if (file instanceof import_obsidian23.TFile) { - const link = this.app.metadataCache.fileToLinktext(file, "/"); + if (file instanceof import_obsidian26.TFile) { + const link = this.app.metadataCache.fileToLinktext( + file, + "/" + ); return `- [[${link}]]`; } else { return `- Not a file: ${e}`; @@ -31783,13 +37448,21 @@ I strongly recommend to use "Source mode" for viewing the conflicted files. For remotes = await this.gitManager.getRemotes(); } } - const nameModal = new GeneralModal({ options: remotes, placeholder: "Select or create a new remote by typing its name and selecting it" }); + const nameModal = new GeneralModal({ + options: remotes, + placeholder: "Select or create a new remote by typing its name and selecting it" + }); const remoteName = selectedRemote != null ? selectedRemote : await nameModal.open(); if (remoteName) { this.displayMessage("Fetching remote branches"); await this.gitManager.fetch(remoteName); - const branches = await this.gitManager.getRemoteBranches(remoteName); - const branchModal = new GeneralModal({ options: branches, placeholder: "Select or create a new remote branch by typing its name and selecting it" }); + const branches = await this.gitManager.getRemoteBranches( + remoteName + ); + const branchModal = new GeneralModal({ + options: branches, + placeholder: "Select or create a new remote branch by typing its name and selecting it" + }); return await branchModal.open(); } } @@ -31797,7 +37470,10 @@ I strongly recommend to use "Source mode" for viewing the conflicted files. For if (!await this.isAllInitialized()) return; const remotes = await this.gitManager.getRemotes(); - const nameModal = new GeneralModal({ options: remotes, placeholder: "Select a remote" }); + const nameModal = new GeneralModal({ + options: remotes, + placeholder: "Select a remote" + }); const remoteName = await nameModal.open(); if (remoteName) { this.gitManager.removeRemote(remoteName); @@ -31817,37 +37493,50 @@ I strongly recommend to use "Source mode" for viewing the conflicted files. For this.app.workspace.openLinkText(this.conflictOutputFile, "/", true); } } + // region: displaying / formatting messages displayMessage(message, timeout = 4 * 1e3) { var _a2; (_a2 = this.statusBar) == null ? void 0 : _a2.displayMessage(message.toLowerCase(), timeout); if (!this.settings.disablePopups) { - new import_obsidian23.Notice(message, 5 * 1e3); + new import_obsidian26.Notice(message, 5 * 1e3); } console.log(`git obsidian message: ${message}`); } displayError(message, timeout = 10 * 1e3) { var _a2; if (message instanceof Errors.UserCanceledError) { - new import_obsidian23.Notice("Aborted"); + new import_obsidian26.Notice("Aborted"); return; } message = message.toString(); - new import_obsidian23.Notice(message, timeout); + new import_obsidian26.Notice(message, timeout); console.log(`git obsidian error: ${message}`); (_a2 = this.statusBar) == null ? void 0 : _a2.displayMessage(message.toLowerCase(), timeout); } }; -/*! - Copyright (c) 2016 Jed Watson. - Licensed under the MIT License (MIT), see - http://jedwatson.github.io/classnames +/*! Bundled license information: + +ieee754/index.js: + (*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh *) + +buffer/index.js: + (*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + *) + +safe-buffer/index.js: + (*! safe-buffer. MIT License. Feross Aboukhadijeh *) + +crc-32/crc32.js: + (*! crc32.js (C) 2014-present SheetJS -- http://sheetjs.com *) + +feather-icons/dist/feather.js: + (*! + Copyright (c) 2016 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames + *) */ -/*! - * The buffer module from node.js, for the browser. - * - * @author Feross Aboukhadijeh - * @license MIT - */ -/*! crc32.js (C) 2014-present SheetJS -- http://sheetjs.com */ -/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */ -/*! safe-buffer. MIT License. Feross Aboukhadijeh */ diff --git a/.obsidian/plugins/obsidian-git/manifest.json b/.obsidian/plugins/obsidian-git/manifest.json index c89a63d..f24333f 100644 --- a/.obsidian/plugins/obsidian-git/manifest.json +++ b/.obsidian/plugins/obsidian-git/manifest.json @@ -5,5 +5,5 @@ "isDesktopOnly": false, "fundingUrl": "https://ko-fi.com/vinzent", "js": "main.js", - "version": "2.17.0" + "version": "2.19.0" } diff --git a/.obsidian/plugins/obsidian-git/styles.css b/.obsidian/plugins/obsidian-git/styles.css index e496c17..f19e66d 100644 --- a/.obsidian/plugins/obsidian-git/styles.css +++ b/.obsidian/plugins/obsidian-git/styles.css @@ -12,6 +12,10 @@ padding: 0; } +.workspace-leaf-content[data-type='git-history-view'] .view-content { + padding: 0; +} + .loading>svg { animation: 2s linear infinite loading; transform-origin: 50% 50%; @@ -42,21 +46,28 @@ .tooltip.mod-right { overflow-wrap: break-word; } - -.obsidian-git-shortcuts { - margin: 10px; -} - -.diff-err { - height: 100%; +.git-tools { display: flex; - justify-content: center; - flex-direction: column; - align-items: center; + margin-left: auto; } - -.diff-err-sign { - font-size: 2em; +.git-tools .type { + padding-left: var(--size-2-1); + display: flex; + align-items: center; + justify-content: center; +} +.git-tools .type[data-type="M"] { + color: orange; +} +.git-tools .type[data-type="D"] { + color: red; +} +.git-tools .buttons { + display: flex; +} +.git-tools .buttons > * { + padding: 0 0; + height: auto; } .workspace-leaf-content[data-type="diff-view"] .d2h-d-none { diff --git a/.obsidian/plugins/obsidian-icon-folder/main.js b/.obsidian/plugins/obsidian-icon-folder/main.js index 0cebd5c..518a115 100644 --- a/.obsidian/plugins/obsidian-icon-folder/main.js +++ b/.obsidian/plugins/obsidian-icon-folder/main.js @@ -2325,13 +2325,12 @@ const updateCustomIconRules = (plugin, view) => { const titleEl = fileItem.titleEl; const titleInnerEl = fileItem.titleInnerEl; const existingIcon = titleEl.querySelector('.obsidian-icon-folder-icon'); - if (existingIcon) { - existingIcon.remove(); + if (!existingIcon) { + const iconNode = titleEl.createDiv(); + iconNode.classList.add('obsidian-icon-folder-icon'); + insertIconToNode(plugin, rule.icon, iconNode, rule.color); + titleEl.insertBefore(iconNode, titleInnerEl); } - const iconNode = titleEl.createDiv(); - iconNode.classList.add('obsidian-icon-folder-icon'); - insertIconToNode(plugin, rule.icon, iconNode, rule.color); - titleEl.insertBefore(iconNode, titleInnerEl); } }; // Add custom rule icons. @@ -3175,6 +3174,7 @@ class CustomIconRuleSetting extends IconFolderSetting { colorizeCustomRuleIcons(this.plugin, rule); })); settingRuleEl.components.push(colorPicker); + // Add the configuration button for configuring where the custom rule gets applied to. settingRuleEl.addButton((btn) => { var _a; const isFor = (_a = rule.for) !== null && _a !== void 0 ? _a : 'everything'; @@ -3207,13 +3207,49 @@ class CustomIconRuleSetting extends IconFolderSetting { })); })); }); + // Add the edit custom rule button. + settingRuleEl.addButton((btn) => { + btn.setIcon('pencil'); + btn.setTooltip('Edit the custom rule'); + btn.onClick(() => { + // Create modal and its children elements. + const modal = new obsidian.Modal(this.plugin.app); + modal.modalEl.classList.add('obsidian-icon-folder-custom-rule-modal'); + modal.titleEl.createEl('h3', { text: 'Edit custom rule' }); + const input = new obsidian.TextComponent(modal.contentEl); + input.setValue(rule.rule); + const button = new obsidian.ButtonComponent(modal.contentEl); + button.setButtonText('Save'); + button.onClick(() => __awaiter(this, void 0, void 0, function* () { + // Update the rules with new edited rule. + const newRules = this.plugin.getSettings().rules.map((r) => { + if (rule.rule === r.rule && rule.color === r.color && rule.icon === r.icon && rule.for === r.for) { + return Object.assign(Object.assign({}, r), { rule: input.getValue() }); + } + return r; + }); + this.plugin.getSettings().rules = newRules; + yield this.plugin.saveIconFolderData(); + this.refreshDisplay(); + new obsidian.Notice('Custom rule updated.'); + // Refresh the DOM. + removeCustomRuleIconsFromDOM(this.plugin, rule); + newRules.forEach((rule) => __awaiter(this, void 0, void 0, function* () { + yield addCustomRuleIconsToDOM(this.plugin, rule); + })); + modal.close(); + })); + modal.open(); + }); + }); + // Add the delete custom rule button. settingRuleEl.addButton((btn) => { btn.setIcon('trash'); btn.setTooltip('Remove the custom rule'); btn.onClick(() => __awaiter(this, void 0, void 0, function* () { const newRules = this.plugin .getSettings() - .rules.filter((r) => rule.rule !== r.rule || rule.color !== r.color || rule.icon !== r.icon || r.for !== r.for); + .rules.filter((r) => rule.rule !== r.rule || rule.color !== r.color || rule.icon !== r.icon || rule.for !== r.for); this.plugin.getSettings().rules = newRules; yield this.plugin.saveIconFolderData(); this.refreshDisplay(); @@ -3405,6 +3441,12 @@ var iconPacks = { path: 'icons', downloadLink: 'https://github.com/simple-icons/simple-icons/archive/refs/tags/7.15.0.zip', }, + lucide: { + name: 'lucide-icons', + displayName: 'Lucide', + path: '', + downloadLink: 'https://github.com/lucide-icons/lucide/releases/download/v0.122.0/lucide-icons-0.122.0.zip', + }, }; var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; @@ -4000,4 +4042,4 @@ class IconFolderPlugin extends obsidian.Plugin { } module.exports = IconFolderPlugin; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZXMiOlsibm9kZV9tb2R1bGVzLy5wbnBtL0Byb2xsdXArcGx1Z2luLXR5cGVzY3JpcHRAOC41LjBfc2Jpc2t5aXlzeGhsZG1uczdybW52b2lzenUvbm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qcyIsInNyYy9NZXRhRGF0YS50cyIsInNyYy9zdmdFeHRyYWN0b3IudHMiLCJzcmMvaWNvblBhY2tNYW5hZ2VyLnRzIiwibm9kZV9tb2R1bGVzLy5wbnBtL3R3ZW1vamlAMTQuMC4yL25vZGVfbW9kdWxlcy90d2Vtb2ppL2Rpc3QvdHdlbW9qaS5lc20uanMiLCJzcmMvZW1vamkudHMiLCJzcmMvdXRpbC50cyIsInNyYy9pY29uc1BpY2tlck1vZGFsLnRzIiwic3JjL3NldHRpbmdzLnRzIiwic3JjL21pZ3JhdGlvbi50cyIsInNyYy9zZXR0aW5nc1RhYi9pY29uRm9sZGVyU2V0dGluZy50cyIsInNyYy9zZXR0aW5nc1RhYi9jdXN0b21JY29uUGFjay50cyIsInNyYy9zZXR0aW5nc1RhYi9jdXN0b21JY29uUnVsZS50cyIsInNyYy9zZXR0aW5nc1RhYi9lbW9qaVN0eWxlLnRzIiwic3JjL3NldHRpbmdzVGFiL2V4dHJhTWFyZ2luLnRzIiwic3JjL3NldHRpbmdzVGFiL2ljb25Db2xvci50cyIsInNyYy9zZXR0aW5nc1RhYi9pY29uRm9udFNpemUudHMiLCJzcmMvc2V0dGluZ3NUYWIvaWNvblBhY2tzUGF0aC50cyIsInNyYy9pY29uUGFja3MudHMiLCJub2RlX21vZHVsZXMvLnBucG0vanN6aXBAMy4xMC4xL25vZGVfbW9kdWxlcy9qc3ppcC9kaXN0L2pzemlwLm1pbi5qcyIsInNyYy96aXBVdGlsLnRzIiwic3JjL2ljb25QYWNrQnJvd3Nlck1vZGFsLnRzIiwic3JjL3NldHRpbmdzVGFiL3ByZWRlZmluZWRJY29uUGFja3MudHMiLCJzcmMvc2V0dGluZ3NUYWIvcmVjZW50bHlVc2VkSWNvbnMudHMiLCJzcmMvc2V0dGluZ3NUYWIvaW5kZXgudHMiLCJub2RlX21vZHVsZXMvLnBucG0vbW9ua2V5LWFyb3VuZEAyLjMuMC9ub2RlX21vZHVsZXMvbW9ua2V5LWFyb3VuZC9tanMvaW5kZXguanMiLCJzcmMvQHR5cGVzL2ludGVybmFsUGx1Z2luSW5qZWN0b3IudHMiLCJzcmMvaW50ZXJuYWxQbHVnaW5zL3N0YXJyZWQudHMiLCJzcmMvbWFpbi50cyJdLCJzb3VyY2VzQ29udGVudCI6bnVsbCwibmFtZXMiOlsiTm90aWNlIiwiaWNvblBhY2tzIiwiRnV6enlTdWdnZXN0TW9kYWwiLCJlbW9qaSIsIlNldHRpbmciLCJDb2xvckNvbXBvbmVudCIsIkRyb3Bkb3duQ29tcG9uZW50IiwiU2xpZGVyQ29tcG9uZW50IiwicmVxdWlyZSIsImdsb2JhbCIsInJlcXVlc3RVcmwiLCJKU1ppcCIsIlBsdWdpblNldHRpbmdUYWIiLCJQbHVnaW4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUF1REE7QUFDTyxTQUFTLFNBQVMsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUU7QUFDN0QsSUFBSSxTQUFTLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxPQUFPLEtBQUssWUFBWSxDQUFDLEdBQUcsS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDLFVBQVUsT0FBTyxFQUFFLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUU7QUFDaEgsSUFBSSxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxPQUFPLENBQUMsRUFBRSxVQUFVLE9BQU8sRUFBRSxNQUFNLEVBQUU7QUFDL0QsUUFBUSxTQUFTLFNBQVMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO0FBQ25HLFFBQVEsU0FBUyxRQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO0FBQ3RHLFFBQVEsU0FBUyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQyxFQUFFO0FBQ3RILFFBQVEsSUFBSSxDQUFDLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLFVBQVUsSUFBSSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBQzlFLEtBQUssQ0FBQyxDQUFDO0FBQ1A7O0FDNUVjLE1BQU8sUUFBUSxDQUFBO0FBRTVCOztBQ0hNLE1BQU0sT0FBTyxHQUFHLENBQUMsU0FBaUIsS0FBWTs7O0lBRW5ELFNBQVMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3BELFNBQVMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQzs7QUFHL0MsSUFBQSxNQUFNLE1BQU0sR0FBRyxJQUFJLFNBQVMsRUFBRSxDQUFDO0FBQy9CLElBQUEsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDOztBQUdoRixJQUFBLElBQUksR0FBRyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsRUFBRTtBQUM3QixRQUFBLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztBQUNyQixRQUFBLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztBQUN2QixLQUFBOztBQUdELElBQUEsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEtBQUssQ0FBQyxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7QUFDdkUsUUFBQSxNQUFNLEtBQUssR0FBRyxDQUFBLEVBQUEsR0FBQSxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLE1BQUksSUFBQSxJQUFBLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxFQUFBLEdBQUEsRUFBRSxDQUFDO0FBQzVDLFFBQUEsTUFBTSxNQUFNLEdBQUcsQ0FBQSxFQUFBLEdBQUEsR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxNQUFJLElBQUEsSUFBQSxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsRUFBQSxHQUFBLEVBQUUsQ0FBQztRQUM5QyxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ2xDLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7QUFDckMsS0FBQTtBQUVELElBQUEsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUU7QUFDN0IsUUFBQSxHQUFHLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxjQUFjLENBQUMsQ0FBQztBQUMxQyxLQUFBO0FBRUQsSUFBQSxHQUFHLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNsQyxJQUFBLEdBQUcsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBRW5DLE9BQU8sR0FBRyxDQUFDLFNBQVMsQ0FB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Z0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUMsQ0FBQyxDQUFDLE9BQU8sT0FBTyxDQUFDLFNBQVMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxXQUFXLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksT0FBTyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxNQUFNLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksUUFBUSxJQUFJLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSSxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxTQUFTLFdBQVcsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsT0FBTyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxRQUFRLElBQUksTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksRUFBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLFVBQVUsRUFBRSxDQUFDLE9BQU8sSUFBSSxDQUFDLFNBQVMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxPQUFPLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sU0FBUyxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLE9BQU8sWUFBWSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLE9BQU8sR0FBRyxHQUFHLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUMsQ0FBQyxPQUFNLENBQUMsT0FBTyxJQUFJLEdBQUcsUUFBUSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsd0JBQXdCLENBQUMsVUFBVSxDQUFDLE9BQU8sR0FBRyxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsa0JBQWtCLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sTUFBTSxDQUFDLFNBQVMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEVB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Q0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxVQUFVLEVBQUUsT0FBT0EsZUFBTyxFQUFFQSxlQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsbUVBQW1FLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLGlEQUFpRCxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLDJDQUEyQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDLDBCQUEwQixDQUFDLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxLQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLE9BQU8sVUFBVSxFQUFFLFdBQVcsRUFBRSxPQUFPLFdBQVcsRUFBRSxXQUFXLEVBQUUsT0FBTyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsc0NBQXNDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxFQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxTQUFTLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxJQUFJLFlBQVksQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxnR0FBZ0csQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsc0RBQXNELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxFQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFFLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLE9BQU8sTUFBTSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsbUNBQW1DLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyw0RUFBNEUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLDRFQUE0RSxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxTQUFTLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxPQUFPLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxPQUFPLEdBQUcsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsbUNBQW1DLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsd0JBQXdCLENBQUMsRUFBRSxDQUFDLHVCQUF1QixDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLCtCQUErQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsMkJBQTJCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsUUFBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxjQUFjLEdBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFDLElBQUksWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE9BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHFDQUFxQyxFQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxPQUFPLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLFlBQVksQ0FBQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxNQUFNLENBQUMsSUFBSSxhQUFhLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxNQUFNLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU0sTUFBTSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMscUNBQXFDLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxPQUFPLFdBQVcsRUFBRSxXQUFXLEVBQUUsT0FBTyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxVQUFVLENBQUMsV0FBVyxFQUFFLE9BQU8sV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxLQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsU0FBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssR0FBRyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssR0FBRyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLHdCQUF3QixDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxHQUFHLENBQUMsRUFBRSxZQUFZLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsWUFBWSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsWUFBWSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGFBQWEsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU0sUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLFlBQVksVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsWUFBWSxXQUFXLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsb0NBQW9DLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxZQUFZLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLGFBQWEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsNEVBQTRFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLDhDQUE4QyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLDBCQUEwQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxpQ0FBaUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGtDQUFrQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLEdBQUUsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxJQUFJLENBQUMs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QUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLG9JQUFvSSxDQUFDLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxLQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHlCQUF5QixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyw0QkFBNEIsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENB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QUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLFlBQVksQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLE9BQU8sSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLENBQUMsS0FBSyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLDRFQUE0RSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDLHdCQUF3QixDQUFDLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFDLEVBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxFQUFFLG9CQUFvQixHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsS0FBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUMsRUFBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFFLEVBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLE9BQU9DLGNBQU0sQ0FBQ0EsY0FBTSxDQUFDLFdBQVcsRUFBRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsTUFBTSxJQUFJLFNBQVMsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksU0FBUyxDQUFDLG9DQUFvQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsUUFBUSxFQUFFLE9BQU8sQ0FBQyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxPQUFPLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxFQUFFLE9BQU8sQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsRUFBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxTQUFTLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxTQUFTLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBRyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxZQUFZLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsc0JBQXNCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsc0JBQXNCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxZQUFZLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsc0JBQXNCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FBQyxHQUFHLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEdBQUcsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUUsT0FBTyxVQUFVLEVBQUUsV0FBVyxFQUFFLE9BQU8sV0FBVyxFQUFFLFdBQVcsRUFBRSxPQUFPLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxNQUFNLElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssR0FBRyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssR0FBRyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFLE1BQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsVUFBVSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxHQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLHFDQUFvQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsK0JBQStCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxLQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNEJBQTRCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNEJBQTRCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxLQUFLLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsOEJBQThCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEtBQUssRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMscUNBQXFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxLQUFLLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxLQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsK0JBQStCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLCtCQUErQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxRQUFRLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMscUNBQW9DLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBQyxFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsR0FBRyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxjQUFjLEVBQUUsS0FBSyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLG9CQUFvQixHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxRQUFRLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFD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 +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZXMiOlsibm9kZV9tb2R1bGVzLy5wbnBtL0Byb2xsdXArcGx1Z2luLXR5cGVzY3JpcHRAOC41LjBfc2Jpc2t5aXlzeGhsZG1uczdybW52b2lzenUvbm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qcyIsInNyYy9NZXRhRGF0YS50cyIsInNyYy9zdmdFeHRyYWN0b3IudHMiLCJzcmMvaWNvblBhY2tNYW5hZ2VyLnRzIiwibm9kZV9tb2R1bGVzLy5wbnBtL3R3ZW1vamlAMTQuMC4yL25vZGVfbW9kdWxlcy90d2Vtb2ppL2Rpc3QvdHdlbW9qaS5lc20uanMiLCJzcmMvZW1vamkudHMiLCJzcmMvdXRpbC50cyIsInNyYy9pY29uc1BpY2tlck1vZGFsLnRzIiwic3JjL3NldHRpbmdzLnRzIiwic3JjL21pZ3JhdGlvbi50cyIsInNyYy9zZXR0aW5nc1RhYi9pY29uRm9sZGVyU2V0dGluZy50cyIsInNyYy9zZXR0aW5nc1RhYi9jdXN0b21JY29uUGFjay50cyIsInNyYy9zZXR0aW5nc1RhYi9jdXN0b21JY29uUnVsZS50cyIsInNyYy9zZXR0aW5nc1RhYi9lbW9qaVN0eWxlLnRzIiwic3JjL3NldHRpbmdzVGFiL2V4dHJhTWFyZ2luLnRzIiwic3JjL3NldHRpbmdzVGFiL2ljb25Db2xvci50cyIsInNyYy9zZXR0aW5nc1RhYi9pY29uRm9udFNpemUudHMiLCJzcmMvc2V0dGluZ3NUYWIvaWNvblBhY2tzUGF0aC50cyIsInNyYy9pY29uUGFja3MudHMiLCJub2RlX21vZHVsZXMvLnBucG0vanN6aXBAMy4xMC4xL25vZGVfbW9kdWxlcy9qc3ppcC9kaXN0L2pzemlwLm1pbi5qcyIsInNyYy96aXBVdGlsLnRzIiwic3JjL2ljb25QYWNrQnJvd3Nlck1vZGFsLnRzIiwic3JjL3NldHRpbmdzVGFiL3ByZWRlZmluZWRJY29uUGFja3MudHMiLCJzcmMvc2V0dGluZ3NUYWIvcmVjZW50bHlVc2VkSWNvbnMudHMiLCJzcmMvc2V0dGluZ3NUYWIvaW5kZXgudHMiLCJub2RlX21vZHVsZXMvLnBucG0vbW9ua2V5LWFyb3VuZEAyLjMuMC9ub2RlX21vZHVsZXMvbW9ua2V5LWFyb3VuZC9tanMvaW5kZXguanMiLCJzcmMvQHR5cGVzL2ludGVybmFsUGx1Z2luSW5qZWN0b3IudHMiLCJzcmMvaW50ZXJuYWxQbHVnaW5zL3N0YXJyZWQudHMiLCJzcmMvbWFpbi50cyJdLCJzb3VyY2VzQ29udGVudCI6bnVsbCwibmFtZXMiOlsiTm90aWNlIiwiaWNvblBhY2tzIiwiRnV6enlTdWdnZXN0TW9kYWwiLCJlbW9qaSIsIlNldHRpbmciLCJDb2xvckNvbXBvbmVudCIsIk1vZGFsIiwiVGV4dENvbXBvbmVudCIsIkJ1dHRvbkNvbXBvbmVudCIsIkRyb3Bkb3duQ29tcG9uZW50IiwiU2xpZGVyQ29tcG9uZW50IiwicmVxdWlyZSIsImdsb2JhbCIsInJlcXVlc3RVcmwiLCJKU1ppcCIsIlBsdWdpblNldHRpbmdUYWIiLCJQbHVnaW4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUF1REE7QUFDTyxTQUFTLFNBQVMsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUU7QUFDN0QsSUFBSSxTQUFTLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxPQUFPLEtBQUssWUFBWSxDQUFDLEdBQUcsS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDLFVBQVUsT0FBTyxFQUFFLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUU7QUFDaEgsSUFBSSxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxPQUFPLENBQUMsRUFBRSxVQUFVLE9BQU8sRUFBRSxNQUFNLEVBQUU7QUFDL0QsUUFBUSxTQUFTLFNBQVMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJ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RUFBRSxFQUFFLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUMsQ0FBQyxDQUFDLE9BQU8sT0FBTyxDQUFDLFNBQVMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxXQUFXLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksT0FBTyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxNQUFNLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksUUFBUSxJQUFJLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSSxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxTQUFTLFdBQVcsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsT0FBTyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxRQUFRLElBQUksTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksRUFBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLFVBQVUsRUFBRSxDQUFDLE9BQU8sSUFBSSxDQUFDLFNBQVMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxPQUFPLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sU0FBUyxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLE9BQU8sWUFBWSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLE9BQU8sR0FBRyxHQUFHLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUMsQ0FBQyxPQUFNLENBQUMsT0FBTyxJQUFJLEdBQUcsUUFBUSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsd0JBQXdCLENBQUMsVUFBVSxDQUFDLE9BQU8sR0FBRyxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsa0JBQWtCLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sTUFBTSxDQUFDLFNBQVMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMs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Q0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxVQUFVLEVBQUUsT0FBT0EsZUFBTyxFQUFFQSxlQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsbUVBQW1FLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLGlEQUFpRCxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLDJDQUEyQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDLDBCQUEwQixDQUFDLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxLQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLE9BQU8sVUFBVSxFQUFFLFdBQVcsRUFBRSxPQUFPLFdBQVcsRUFBRSxXQUFXLEVBQUUsT0FBTyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsc0NBQXNDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxFQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxTQUFTLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxJQUFJLFlBQVksQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxnR0FBZ0csQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsc0RBQXNELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxFQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFFLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLE9BQU8sTUFBTSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsbUNBQW1DLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyw0RUFBNEUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLDRFQUE0RSxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxTQUFTLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxPQUFPLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxPQUFPLEdBQUcsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsbUNBQW1DLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsd0JBQXdCLENBQUMsRUFBRSxDQUFDLHVCQUF1QixDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLCtCQUErQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsMkJBQTJCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsUUFBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxjQUFjLEdBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFDLElBQUksWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE9BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHFDQUFxQyxFQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxPQUFPLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLFlBQVksQ0FBQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxNQUFNLENBQUMsSUFBSSxhQUFhLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxNQUFNLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU0sTUFBTSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMscUNBQXFDLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxPQUFPLFdBQVcsRUFBRSxXQUFXLEVBQUUsT0FBTyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxVQUFVLENBQUMsV0FBVyxFQUFFLE9BQU8sV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxLQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsU0FBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssR0FBRyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssR0FBRyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLHdCQUF3QixDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxHQUFHLENBQUMsRUFBRSxZQUFZLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsWUFBWSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsWUFBWSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGFBQWEsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU0sUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLFlBQVksVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsWUFBWSxXQUFXLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsb0NBQW9DLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxZQUFZLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLGFBQWEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsNEVBQTRFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLDhDQUE4QyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLDBCQUEwQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxpQ0FBaUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGtDQUFrQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLEdBQUUsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQywrQkFBK0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyx5SUFBeUksQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLG9EQUFvRCxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsdUJBQXVCLEdBQUcsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQywyQkFBMkIsR0FBRyxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLCtCQUErQixDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsc0VBQXNFLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLCtCQUErQixDQUFDLENBQUMsSUFBSSxDQUFDLGlDQUFpQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDLENBQUMsMkJBQTJCLENBQUMsR0FBRyxJQUFJLENBQUMsa0NBQWtDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxJQUFJLENBQUMsa0NBQWtDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyw4REFBOEQsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLDJCQUEyQixDQUFDLENBQUMsSUFBSSxDQUFDLDBCQUEwQixHQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxHQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxHQUFHLElB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QUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxLQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHlCQUF5QixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyw0QkFBNEIsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxrQkFBa0IsRUFBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUMsY0FBYyxHQUFHLENBQUMsRUFBRSxNQUFNLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLGdCQUFnQixDQUFDLEVBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLEVBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLFlBQVksQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLE9BQU8sSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLENBQUMsS0FBSyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLDRFQUE0RSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDLHdCQUF3QixDQUFDLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFDLEVBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxFQUFFLG9CQUFvQixHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsS0FBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUMsRUFBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFFLEVBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLE9BQU9DLGNBQU0sQ0FBQ0EsY0FBTSxDQUFDLFdBQVcsRUFBRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsTUFBTSxJQUFJLFNBQVMsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksU0FBUyxDQUFDLG9DQUFvQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsUUFBUSxFQUFFLE9BQU8sQ0FBQyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxPQUFPLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxFQUFFLE9BQU8sQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsRUFBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxTQUFTLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxTQUFTLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBRyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxZQUFZLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsc0JBQXNCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsc0JBQXNCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxZQUFZLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsc0JBQXNCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FBQyxHQUFHLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEdBQUcsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUUsT0FBTyxVQUFVLEVBQUUsV0FBVyxFQUFFLE9BQU8sV0FBVyxFQUFFLFdBQVcsRUFBRSxPQUFPLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxNQUFNLElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssR0FBRyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssR0FBRyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFLE1BQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsVUFBVSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxHQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLHFDQUFvQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsK0JBQStCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxLQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNEJBQTRCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNEJBQTRCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxLQUFLLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsOEJBQThCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEtBQUssRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMscUNBQXFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxLQUFLLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxLQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsK0JBQStCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLCtCQUErQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxRQUFRLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMscUNBQW9DLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBQyxFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsR0FBRyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxjQUFjLEVBQUUsS0FBSyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLG9CQUFvQixHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxRQUFRLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsT0FBT0EsY0FBTSxDQUFDQSxjQUFNLENBQUMsV0FBVyxFQUFFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTs7O0FDVHQ5OUYsTUFBTSxlQUFlLEdBQUcsQ0FBTyxHQUFXLEtBQUksU0FBQSxDQUFBLEtBQUEsQ0FBQSxFQUFBLEtBQUEsQ0FBQSxFQUFBLEtBQUEsQ0FBQSxFQUFBLGFBQUE7SUFDbkQsTUFBTSxPQUFPLEdBQUcsTUFBTUMsbUJBQVUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7QUFDMUMsSUFBQSxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDO0FBQ2xDLElBQUEsT0FBTyxLQUFLLENB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 diff --git a/.obsidian/plugins/obsidian-icon-folder/manifest.json b/.obsidian/plugins/obsidian-icon-folder/manifest.json index f386fdd..497008b 100644 --- a/.obsidian/plugins/obsidian-icon-folder/manifest.json +++ b/.obsidian/plugins/obsidian-icon-folder/manifest.json @@ -1,7 +1,7 @@ { "id": "obsidian-icon-folder", "name": "Icon Folder", - "version": "1.6.0", + "version": "1.7.0", "minAppVersion": "0.9.12", "description": "This plugin allows to add an emoji or an icon to a folder or file.", "author": "Florian Woelki", diff --git a/.obsidian/plugins/obsidian-icon-folder/styles.css b/.obsidian/plugins/obsidian-icon-folder/styles.css index 4797c0c..d1cccad 100644 --- a/.obsidian/plugins/obsidian-icon-folder/styles.css +++ b/.obsidian/plugins/obsidian-icon-folder/styles.css @@ -93,3 +93,19 @@ align-items: center; justify-content: center; } + +/* Custom rule modal. */ +.obsidian-icon-folder-custom-rule-modal .modal-title h3 { + margin: 0; +} + +.obsidian-icon-folder-custom-rule-modal .modal-content { + display: flex; + align-items: center; + justify-content: center; +} + +.obsidian-icon-folder-custom-rule-modal .modal-content input { + width: 100%; + margin-right: 0.5rem; +} diff --git a/.obsidian/plugins/obsidian-outliner/main.js b/.obsidian/plugins/obsidian-outliner/main.js index 4683b92..b13b60c 100644 --- a/.obsidian/plugins/obsidian-outliner/main.js +++ b/.obsidian/plugins/obsidian-outliner/main.js @@ -193,7 +193,7 @@ class DeleteShouldIgnoreBulletsFeature { this.obsidian = obsidian; this.performOperation = performOperation; this.check = () => { - return this.settings.stickCursor && !this.ime.isIMEOpened(); + return this.settings.stickCursor != "never" && !this.ime.isIMEOpened(); }; this.deleteAndMergeWithPreviousLine = (editor) => { return this.performOperation.performOperation((root) => new DeleteAndMergeWithPreviousLineOperation(root), editor); @@ -257,9 +257,9 @@ class EnsureCursorInListContentOperation { this.stopPropagation = true; const cursor = root.getCursor(); const list = root.getListUnderCursor(); - const contentStart = list.getFirstLineContentStart(); + const contentStart = list.getFirstLineContentStartAfterCheckbox(); const linePrefix = contentStart.line === cursor.line - ? contentStart.ch + list.getCheckboxLength() + ? contentStart.ch : list.getNotesIndent().length; if (cursor.ch < linePrefix) { this.updated = true; @@ -310,7 +310,7 @@ class EnsureCursorInListContentFeature { this.obsidian = obsidian; this.performOperation = performOperation; this.transactionExtender = (tr) => { - if (!this.settings.stickCursor || !tr.selection) { + if (this.settings.stickCursor == "never" || !tr.selection) { return null; } const editor = this.obsidian.getEditorFromState(tr.startState); @@ -450,11 +450,11 @@ function minPos(a, b) { return cmpPos(a, b) < 0 ? a : b; } class List { - constructor(root, indent, bullet, checkboxLength, spaceAfterBullet, firstLine, foldRoot) { + constructor(root, indent, bullet, optionalCheckbox, spaceAfterBullet, firstLine, foldRoot) { this.root = root; this.indent = indent; this.bullet = bullet; - this.checkboxLength = checkboxLength; + this.optionalCheckbox = optionalCheckbox; this.spaceAfterBullet = spaceAfterBullet; this.foldRoot = foldRoot; this.parent = null; @@ -516,6 +516,13 @@ class List { ch: this.getContentStartCh(), }; } + getFirstLineContentStartAfterCheckbox() { + const startLine = this.root.getContentLinesRangeOf(this)[0]; + return { + line: startLine, + ch: this.getContentStartCh() + this.optionalCheckbox.length, + }; + } getLastLineContentEnd() { const endLine = this.root.getContentLinesRangeOf(this)[1]; const endCh = this.lines.length === 1 @@ -594,7 +601,7 @@ class List { return this.spaceAfterBullet; } getCheckboxLength() { - return this.checkboxLength; + return this.optionalCheckbox.length; } replateBullet(bullet) { this.bullet = bullet; @@ -656,7 +663,7 @@ class Root { constructor(start, end, selections) { this.start = start; this.end = end; - this.rootList = new List(this, "", "", 0, "", "", false); + this.rootList = new List(this, "", "", "", "", "", false); this.selections = []; this.replaceSelections(selections); } @@ -768,6 +775,8 @@ class Root { } } +const checkboxRe = `\\[[^\\[\\]]\\][ \t]`; + class CreateNewItemOperation { constructor(root, defaultIndentChars, getZoomRange) { this.root = root; @@ -846,8 +855,8 @@ class CreateNewItemOperation { const spaceAfterBullet = onChildLevel && hasChildren ? list.getChildren()[0].getSpaceAfterBullet() : list.getSpaceAfterBullet(); - const prefix = oldLines[0].match(/^\[.\]/) ? "[ ] " : ""; - const newList = new List(list.getRoot(), indent, bullet, prefix.length, spaceAfterBullet, prefix + newLines.shift(), false); + const prefix = oldLines[0].match(checkboxRe) ? "[ ] " : ""; + const newList = new List(list.getRoot(), indent, bullet, prefix, spaceAfterBullet, prefix + newLines.shift(), false); if (newLines.length > 0) { newList.setNotesIndent(list.getNotesIndent()); for (const line of newLines) { @@ -1397,8 +1406,10 @@ class MoveCursorToPreviousUnfoldedLineOperation { const list = this.root.getListUnderCursor(); const cursor = this.root.getCursor(); const lines = list.getLinesInfo(); - const lineNo = lines.findIndex((l) => cursor.ch === l.from.ch + list.getCheckboxLength() && - cursor.line === l.from.line); + const lineNo = lines.findIndex((l) => { + return (cursor.ch === l.from.ch + list.getCheckboxLength() && + cursor.line === l.from.line); + }); if (lineNo === 0) { this.moveCursorToPreviousUnfoldedItem(root, cursor); } @@ -1437,7 +1448,7 @@ class MoveCursorToPreviousUnfoldedLineFeature { this.obsidian = obsidian; this.performOperation = performOperation; this.check = () => { - return this.settings.stickCursor && !this.ime.isIMEOpened(); + return this.settings.stickCursor != "never" && !this.ime.isIMEOpened(); }; this.run = (editor) => { return this.performOperation.performOperation((root) => new MoveCursorToPreviousUnfoldedLineOperation(root), editor); @@ -1761,7 +1772,7 @@ class SelectAllOperation { return false; } const list = root.getListUnderCursor(); - const contentStart = list.getFirstLineContentStart(); + const contentStart = list.getFirstLineContentStartAfterCheckbox(); const contentEnd = list.getLastLineContentEnd(); if (selectionFrom.line < contentStart.line || selectionTo.line > contentEnd.line) { @@ -1773,11 +1784,11 @@ class SelectAllOperation { selectionFrom.ch === contentStart.ch && selectionTo.line === contentEnd.line && selectionTo.ch === contentEnd.ch) { - // select all list + // select whole list root.replaceSelections([{ anchor: rootStart, head: rootEnd }]); } else { - // select all line + // select whole line root.replaceSelections([{ anchor: contentStart, head: contentEnd }]); } return true; @@ -1840,7 +1851,12 @@ class SelectTillLineStartOperation { const list = root.getListUnderCursor(); const lines = list.getLinesInfo(); const lineNo = lines.findIndex((l) => l.from.line === cursor.line); - root.replaceSelections([{ head: lines[lineNo].from, anchor: cursor }]); + const offset = lineNo === 0 ? list.getCheckboxLength() : 0; + const newHead = { + ch: lines[lineNo].from.ch + offset, + line: lines[lineNo].from.line, + }; + root.replaceSelections([{ head: newHead, anchor: cursor }]); } } @@ -1852,7 +1868,7 @@ class SelectionShouldIgnoreBulletsFeature { this.obsidian = obsidian; this.performOperation = performOperation; this.check = () => { - return this.settings.stickCursor && !this.ime.isIMEOpened(); + return this.settings.stickCursor != "never" && !this.ime.isIMEOpened(); }; this.run = (editor) => { return this.performOperation.performOperation((root) => new SelectTillLineStartOperation(root), editor); @@ -1919,8 +1935,15 @@ class ObsidianOutlinerPluginSettingTab extends obsidian.PluginSettingTab { new obsidian.Setting(containerEl) .setName("Stick the cursor to the content") .setDesc("Don't let the cursor move to the bullet position.") - .addToggle((toggle) => { - toggle.setValue(this.settings.stickCursor).onChange((value) => __awaiter(this, void 0, void 0, function* () { + .addDropdown((dropdown) => { + dropdown + .addOptions({ + never: "Never", + "bullet-only": "Stick cursor out of bullets", + "bullet-and-checkbox": "Stick cursor out of bullets and checkboxes", + }) + .setValue(this.settings.stickCursor) + .onChange((value) => __awaiter(this, void 0, void 0, function* () { this.settings.stickCursor = value; yield this.settings.save(); })); @@ -2217,15 +2240,16 @@ class ObsidianService { } } -const bulletSign = `(?:[-*+]|\\d+\\.)`; -const optionalCheckbox = `(?:\\[[ xX]\\]( |\t))?`; -const listItemWithoutSpacesRe = new RegExp(`^${bulletSign}( |\t)`); -const listItemRe = new RegExp(`^[ \t]*${bulletSign}( |\t)`); +const bulletSignRe = `(?:[-*+]|\\d+\\.)`; +const optionalCheckboxRe = `(?:${checkboxRe})?`; +const listItemWithoutSpacesRe = new RegExp(`^${bulletSignRe}( |\t)`); +const listItemRe = new RegExp(`^[ \t]*${bulletSignRe}( |\t)`); const stringWithSpacesRe = new RegExp(`^[ \t]+`); -const parseListItemRe = new RegExp(`^([ \t]*)(${bulletSign})( |\t)((${optionalCheckbox}).*)$`); +const parseListItemRe = new RegExp(`^([ \t]*)(${bulletSignRe})( |\t)(${optionalCheckboxRe})(.*)$`); class ParserService { - constructor(logger) { + constructor(logger, settings) { this.logger = logger; + this.settings = settings; } parseRange(editor, fromLine = 0, toLine = editor.lastLine()) { const lists = []; @@ -2323,7 +2347,12 @@ class ParserService { const line = editor.getLine(l); const matches = parseListItemRe.exec(line); if (matches) { - const [, indent, bullet, spaceAfterBullet, content, optionalCheckbox] = matches; + const [, indent, bullet, spaceAfterBullet] = matches; + let [, , , , optionalCheckbox, content] = matches; + content = optionalCheckbox + content; + if (this.settings.stickCursor != "bullet-and-checkbox") { + optionalCheckbox = ""; + } const compareLength = Math.min(currentIndent.length, indent.length); const indentSlice = indent.slice(0, compareLength); const currentIndentSlice = currentIndent.slice(0, compareLength); @@ -2346,7 +2375,7 @@ class ParserService { currentIndent = indent; } const foldRoot = foldedLines.includes(l); - currentList = new List(root, indent, bullet, optionalCheckbox.length, spaceAfterBullet, content, foldRoot); + currentList = new List(root, indent, bullet, optionalCheckbox, spaceAfterBullet, content, foldRoot); currentParent.addAfterAll(currentList); } else if (this.isLineWithIndent(line)) { @@ -2422,7 +2451,7 @@ class PerformOperationService { const DEFAULT_SETTINGS = { styleLists: true, debug: false, - stickCursor: true, + stickCursor: "bullet-and-checkbox", betterEnter: true, betterTab: true, selectAll: true, @@ -2447,6 +2476,13 @@ class SettingsService { this.set("debug", value); } get stickCursor() { + // Adaptor for users migrating from older version of the plugin. + if (this.values.stickCursor === true) { + return "bullet-and-checkbox"; + } + else if (this.values.stickCursor === false) { + return "never"; + } return this.values.stickCursor; } set stickCursor(value) { @@ -2529,7 +2565,7 @@ class ObsidianOutlinerPlugin extends obsidian.Plugin { this.settings = new SettingsService(this); yield this.settings.load(); this.logger = new LoggerService(this.settings); - this.parser = new ParserService(this.logger); + this.parser = new ParserService(this.logger, this.settings); this.applyChanges = new ApplyChangesService(); this.performOperation = new PerformOperationService(this.parser, this.applyChanges); this.ime = new IMEService(); @@ -2566,4 +2602,4 @@ class ObsidianOutlinerPlugin extends obsidian.Plugin { } module.exports = ObsidianOutlinerPlugin; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZXMiOlsibm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qcyIsInNyYy9yb290L3JlY2FsY3VsYXRlTnVtZXJpY0J1bGxldHMudHMiLCJzcmMvb3BlcmF0aW9ucy9EZWxldGVBbmRNZXJnZVdpdGhQcmV2aW91c0xpbmVPcGVyYXRpb24udHMiLCJzcmMvb3BlcmF0aW9ucy9EZWxldGVBbmRNZXJnZVdpdGhOZXh0TGluZU9wZXJhdGlvbi50cyIsInNyYy9vcGVyYXRpb25zL0RlbGV0ZVRpbGxMaW5lU3RhcnRPcGVyYXRpb24udHMiLCJzcmMvZmVhdHVyZXMvRGVsZXRlU2hvdWxkSWdub3JlQnVsbGV0c0ZlYXR1cmUudHMiLCJzcmMvb3BlcmF0aW9ucy9FbnN1cmVDdXJzb3JJbkxpc3RDb250ZW50T3BlcmF0aW9uLnRzIiwic3JjL29wZXJhdGlvbnMvRW5zdXJlQ3Vyc29ySXNJblVuZm9sZGVkTGluZU9wZXJhdGlvbi50cyIsInNyYy9mZWF0dXJlcy9FbnN1cmVDdXJzb3JJbkxpc3RDb250ZW50RmVhdHVyZS50cyIsInNyYy9vcGVyYXRpb25zL01vdmVMZWZ0T3BlcmF0aW9uLnRzIiwic3JjL3V0aWxzL2lzRW1wdHlMaW5lT3JFbXB0eUNoZWNrYm94LnRzIiwic3JjL29wZXJhdGlvbnMvT3V0ZGVudElmTGluZUlzRW1wdHlPcGVyYXRpb24udHMiLCJzcmMvZmVhdHVyZXMvRW50ZXJPdXRkZW50SWZMaW5lSXNFbXB0eUZlYXR1cmUudHMiLCJzcmMvcm9vdC9pbmRleC50cyIsInNyYy9vcGVyYXRpb25zL0NyZWF0ZU5ld0l0ZW1PcGVyYXRpb24udHMiLCJzcmMvZmVhdHVyZXMvRW50ZXJTaG91bGRDcmVhdGVOZXdJdGVtT25DaGlsZExldmVsRmVhdHVyZS50cyIsInNyYy9mZWF0dXJlcy9Gb2xkRmVhdHVyZS50cyIsInNyYy9NeUVkaXRvci50cyIsInNyYy9mZWF0dXJlcy9MaW5lc0ZlYXR1cmUudHMiLCJzcmMvZmVhdHVyZXMvTGlzdHNTdHlsZXNGZWF0dXJlLnRzIiwic3JjL29wZXJhdGlvbnMvTW92ZUN1cnNvclRvUHJldmlvdXNVbmZvbGRlZExpbmVPcGVyYXRpb24udHMiLCJzcmMvZmVhdHVyZXMvTW92ZUN1cnNvclRvUHJldmlvdXNVbmZvbGRlZExpbmVGZWF0dXJlLnRzIiwic3JjL29wZXJhdGlvbnMvTW92ZURvd25PcGVyYXRpb24udHMiLCJzcmMvb3BlcmF0aW9ucy9Nb3ZlUmlnaHRPcGVyYXRpb24udHMiLCJzcmMvb3BlcmF0aW9ucy9Nb3ZlVXBPcGVyYXRpb24udHMiLCJzcmMvZmVhdHVyZXMvTW92ZUl0ZW1zRmVhdHVyZS50cyIsInNyYy9vcGVyYXRpb25zL1NlbGVjdEFsbE9wZXJhdGlvbi50cyIsInNyYy9mZWF0dXJlcy9TZWxlY3RBbGxGZWF0dXJlLnRzIiwic3JjL29wZXJhdGlvbnMvU2VsZWN0VGlsbExpbmVTdGFydE9wZXJhdGlvbi50cyIsInNyYy9mZWF0dXJlcy9TZWxlY3Rpb25TaG91bGRJZ25vcmVCdWxsZXRzRmVhdHVyZS50cyIsInNyYy9mZWF0dXJlcy9TZXR0aW5nc1RhYkZlYXR1cmUudHMiLCJzcmMvb3BlcmF0aW9ucy9DcmVhdGVOb3RlTGluZU9wZXJhdGlvbi50cyIsInNyYy9mZWF0dXJlcy9TaGlmdEVudGVyU2hvdWxkQ3JlYXRlTm90ZUZlYXR1cmUudHMiLCJzcmMvc2VydmljZXMvQXBwbHlDaGFuZ2VzU2VydmljZS50cyIsInNyYy9zZXJ2aWNlcy9JTUVTZXJ2aWNlLnRzIiwic3JjL3NlcnZpY2VzL0xvZ2dlclNlcnZpY2UudHMiLCJzcmMvc2VydmljZXMvT2JzaWRpYW5TZXJ2aWNlLnRzIiwic3JjL3NlcnZpY2VzL1BhcnNlclNlcnZpY2UudHMiLCJzcmMvc2VydmljZXMvUGVyZm9ybU9wZXJhdGlvblNlcnZpY2UudHMiLCJzcmMvc2VydmljZXMvU2V0dGluZ3NTZXJ2aWNlLnRzIiwic3JjL09ic2lkaWFuT3V0bGluZXJQbHVnaW4udHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5Db3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi5cclxuXHJcblBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZC9vciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueVxyXG5wdXJwb3NlIHdpdGggb3Igd2l0aG91dCBmZWUgaXMgaGVyZWJ5IGdyYW50ZWQuXHJcblxyXG5USEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiIEFORCBUSEUgQVVUSE9SIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUyBXSVRIXHJcblJFR0FSRCBUTyBUSElTIFNPRlRXQVJFIElOQ0xVRElORyBBTEwgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWVxyXG5BTkQgRklUTkVTUy4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBTUEVDSUFMLCBESVJFQ1QsXHJcbklORElSRUNULCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTVxyXG5MT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUlxyXG5PVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SXHJcblBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcbi8qIGdsb2JhbCBSZWZsZWN0LCBQcm9taXNlICovXHJcblxyXG52YXIgZXh0ZW5kU3RhdGljcyA9IGZ1bmN0aW9uKGQsIGIpIHtcclxuICAgIGV4dGVuZFN0YXRpY3MgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHxcclxuICAgICAgICAoeyBfX3Byb3RvX186IFtdIH0gaW5zdGFuY2VvZiBBcnJheSAmJiBmdW5jdGlvbiAoZCwgYikgeyBkLl9fcHJvdG9fXyA9IGI7IH0pIHx8XHJcbiAgICAgICAgZnVuY3Rpb24gKGQsIGIpIHsgZm9yICh2YXIgcCBpbiBiKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGIsIHApKSBkW3BdID0gYltwXTsgfTtcclxuICAgIHJldHVybiBleHRlbmRTdGF0aWNzKGQsIGIpO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZXh0ZW5kcyhkLCBiKSB7XHJcbiAgICBpZiAodHlwZW9mIGIgIT09IFwiZnVuY3Rpb25cIiAmJiBiICE9PSBudWxsKVxyXG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDbGFzcyBleHRlbmRzIHZhbHVlIFwiICsgU3RyaW5nKGIpICsgXCIgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbFwiKTtcclxuICAgIGV4dGVuZFN0YXRpY3MoZCwgYik7XHJcbiAgICBmdW5jdGlvbiBfXygpIHsgdGhpcy5jb25zdHJ1Y3RvciA9IGQ7IH1cclxuICAgIGQucHJvdG90eXBlID0gYiA9PT0gbnVsbCA/IE9iamVjdC5jcmVhdGUoYikgOiAoX18ucHJvdG90eXBlID0gYi5wcm90b3R5cGUsIG5ldyBfXygpKTtcclxufVxyXG5cclxuZXhwb3J0IHZhciBfX2Fzc2lnbiA9IGZ1bmN0aW9uKCkge1xyXG4gICAgX19hc3NpZ24gPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uIF9fYXNzaWduKHQpIHtcclxuICAgICAgICBmb3IgKHZhciBzLCBpID0gMSwgbiA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBuOyBpKyspIHtcclxuICAgICAgICAgICAgcyA9IGFyZ3VtZW50c1tpXTtcclxuICAgICAgICAgICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApKSB0W3BdID0gc1twXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gX19hc3NpZ24uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fcmVzdChzLCBlKSB7XHJcbiAgICB2YXIgdCA9IHt9O1xyXG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXHJcbiAgICAgICAgdFtwXSA9IHNbcF07XHJcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXHJcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXHJcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcclxuICAgICAgICB9XHJcbiAgICByZXR1cm4gdDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpIHtcclxuICAgIHZhciBjID0gYXJndW1lbnRzLmxlbmd0aCwgciA9IGMgPCAzID8gdGFyZ2V0IDogZGVzYyA9PT0gbnVsbCA/IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwga2V5KSA6IGRlc2MsIGQ7XHJcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUgPT09IFwiZnVuY3Rpb25cIikgciA9IFJlZmxlY3QuZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpO1xyXG4gICAgZWxzZSBmb3IgKHZhciBpID0gZGVjb3JhdG9ycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgaWYgKGQgPSBkZWNvcmF0b3JzW2ldKSByID0gKGMgPCAzID8gZChyKSA6IGMgPiAzID8gZCh0YXJnZXQsIGtleSwgcikgOiBkKHRhcmdldCwga2V5KSkgfHwgcjtcclxuICAgIHJldHVybiBjID4gMyAmJiByICYmIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgciksIHI7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3BhcmFtKHBhcmFtSW5kZXgsIGRlY29yYXRvcikge1xyXG4gICAgcmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQsIGtleSkgeyBkZWNvcmF0b3IodGFyZ2V0LCBrZXksIHBhcmFtSW5kZXgpOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX21ldGFkYXRhKG1ldGFkYXRhS2V5LCBtZXRhZGF0YVZhbHVlKSB7XHJcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QubWV0YWRhdGEgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIFJlZmxlY3QubWV0YWRhdGEobWV0YWRhdGFLZXksIG1ldGFkYXRhVmFsdWUpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hd2FpdGVyKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikge1xyXG4gICAgZnVuY3Rpb24gYWRvcHQodmFsdWUpIHsgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUCA/IHZhbHVlIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOyB9XHJcbiAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcclxuICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbXCJ0aHJvd1wiXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cclxuICAgICAgICBzdGVwKChnZW5lcmF0b3IgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSkpLm5leHQoKSk7XHJcbiAgICB9KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZ2VuZXJhdG9yKHRoaXNBcmcsIGJvZHkpIHtcclxuICAgIHZhciBfID0geyBsYWJlbDogMCwgc2VudDogZnVuY3Rpb24oKSB7IGlmICh0WzBdICYgMSkgdGhyb3cgdFsxXTsgcmV0dXJuIHRbMV07IH0sIHRyeXM6IFtdLCBvcHM6IFtdIH0sIGYsIHksIHQsIGc7XHJcbiAgICByZXR1cm4gZyA9IHsgbmV4dDogdmVyYigwKSwgXCJ0aHJvd1wiOiB2ZXJiKDEpLCBcInJldHVyblwiOiB2ZXJiKDIpIH0sIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiAoZ1tTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24oKSB7IHJldHVybiB0aGlzOyB9KSwgZztcclxuICAgIGZ1bmN0aW9uIHZlcmIobikgeyByZXR1cm4gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIHN0ZXAoW24sIHZdKTsgfTsgfVxyXG4gICAgZnVuY3Rpb24gc3RlcChvcCkge1xyXG4gICAgICAgIGlmIChmKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLlwiKTtcclxuICAgICAgICB3aGlsZSAoXykgdHJ5IHtcclxuICAgICAgICAgICAgaWYgKGYgPSAxLCB5ICYmICh0ID0gb3BbMF0gJiAyID8geVtcInJldHVyblwiXSA6IG9wWzBdID8geVtcInRocm93XCJdIHx8ICgodCA9IHlbXCJyZXR1cm5cIl0pICYmIHQuY2FsbCh5KSwgMCkgOiB5Lm5leHQpICYmICEodCA9IHQuY2FsbCh5LCBvcFsxXSkpLmRvbmUpIHJldHVybiB0O1xyXG4gICAgICAgICAgICBpZiAoeSA9IDAsIHQpIG9wID0gW29wWzBdICYgMiwgdC52YWx1ZV07XHJcbiAgICAgICAgICAgIHN3aXRjaCAob3BbMF0pIHtcclxuICAgICAgICAgICAgICAgIGNhc2UgMDogY2FzZSAxOiB0ID0gb3A7IGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSA0OiBfLmxhYmVsKys7IHJldHVybiB7IHZhbHVlOiBvcFsxXSwgZG9uZTogZmFsc2UgfTtcclxuICAgICAgICAgICAgICAgIGNhc2UgNTogXy5sYWJlbCsrOyB5ID0gb3BbMV07IG9wID0gWzBdOyBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgIGNhc2UgNzogb3AgPSBfLm9wcy5wb3AoKTsgXy50cnlzLnBvcCgpOyBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCEodCA9IF8udHJ5cywgdCA9IHQubGVuZ3RoID4gMCAmJiB0W3QubGVuZ3RoIC0gMV0pICYmIChvcFswXSA9PT0gNiB8fCBvcFswXSA9PT0gMikpIHsgXyA9IDA7IGNvbnRpbnVlOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wWzBdID09PSAzICYmICghdCB8fCAob3BbMV0gPiB0WzBdICYmIG9wWzFdIDwgdFszXSkpKSB7IF8ubGFiZWwgPSBvcFsxXTsgYnJlYWs7IH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAob3BbMF0gPT09IDYgJiYgXy5sYWJlbCA8IHRbMV0pIHsgXy5sYWJlbCA9IHRbMV07IHQgPSBvcDsgYnJlYWs7IH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAodCAmJiBfLmxhYmVsIDwgdFsyXSkgeyBfLmxhYmVsID0gdFsyXTsgXy5vcHMucHVzaChvcCk7IGJyZWFrOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRbMl0pIF8ub3BzLnBvcCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIF8udHJ5cy5wb3AoKTsgY29udGludWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgb3AgPSBib2R5LmNhbGwodGhpc0FyZywgXyk7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkgeyBvcCA9IFs2LCBlXTsgeSA9IDA7IH0gZmluYWxseSB7IGYgPSB0ID0gMDsgfVxyXG4gICAgICAgIGlmIChvcFswXSAmIDUpIHRocm93IG9wWzFdOyByZXR1cm4geyB2YWx1ZTogb3BbMF0gPyBvcFsxXSA6IHZvaWQgMCwgZG9uZTogdHJ1ZSB9O1xyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgdmFyIF9fY3JlYXRlQmluZGluZyA9IE9iamVjdC5jcmVhdGUgPyAoZnVuY3Rpb24obywgbSwgaywgazIpIHtcclxuICAgIGlmIChrMiA9PT0gdW5kZWZpbmVkKSBrMiA9IGs7XHJcbiAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobSwgayk7XHJcbiAgICBpZiAoIWRlc2MgfHwgKFwiZ2V0XCIgaW4gZGVzYyA/ICFtLl9fZXNNb2R1bGUgOiBkZXNjLndyaXRhYmxlIHx8IGRlc2MuY29uZmlndXJhYmxlKSkge1xyXG4gICAgICAgIGRlc2MgPSB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24oKSB7IHJldHVybiBtW2tdOyB9IH07XHJcbiAgICB9XHJcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgazIsIGRlc2MpO1xyXG59KSA6IChmdW5jdGlvbihvLCBtLCBrLCBrMikge1xyXG4gICAgaWYgKGsyID09PSB1bmRlZmluZWQpIGsyID0gaztcclxuICAgIG9bazJdID0gbVtrXTtcclxufSk7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19leHBvcnRTdGFyKG0sIG8pIHtcclxuICAgIGZvciAodmFyIHAgaW4gbSkgaWYgKHAgIT09IFwiZGVmYXVsdFwiICYmICFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobywgcCkpIF9fY3JlYXRlQmluZGluZyhvLCBtLCBwKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fdmFsdWVzKG8pIHtcclxuICAgIHZhciBzID0gdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIFN5bWJvbC5pdGVyYXRvciwgbSA9IHMgJiYgb1tzXSwgaSA9IDA7XHJcbiAgICBpZiAobSkgcmV0dXJuIG0uY2FsbChvKTtcclxuICAgIGlmIChvICYmIHR5cGVvZiBvLmxlbmd0aCA9PT0gXCJudW1iZXJcIikgcmV0dXJuIHtcclxuICAgICAgICBuZXh0OiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIGlmIChvICYmIGkgPj0gby5sZW5ndGgpIG8gPSB2b2lkIDA7XHJcbiAgICAgICAgICAgIHJldHVybiB7IHZhbHVlOiBvICYmIG9baSsrXSwgZG9uZTogIW8gfTtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihzID8gXCJPYmplY3QgaXMgbm90IGl0ZXJhYmxlLlwiIDogXCJTeW1ib2wuaXRlcmF0b3IgaXMgbm90IGRlZmluZWQuXCIpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19yZWFkKG8sIG4pIHtcclxuICAgIHZhciBtID0gdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9bU3ltYm9sLml0ZXJhdG9yXTtcclxuICAgIGlmICghbSkgcmV0dXJuIG87XHJcbiAgICB2YXIgaSA9IG0uY2FsbChvKSwgciwgYXIgPSBbXSwgZTtcclxuICAgIHRyeSB7XHJcbiAgICAgICAgd2hpbGUgKChuID09PSB2b2lkIDAgfHwgbi0tID4gMCkgJiYgIShyID0gaS5uZXh0KCkpLmRvbmUpIGFyLnB1c2goci52YWx1ZSk7XHJcbiAgICB9XHJcbiAgICBjYXRjaCAoZXJyb3IpIHsgZSA9IHsgZXJyb3I6IGVycm9yIH07IH1cclxuICAgIGZpbmFsbHkge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGlmIChyICYmICFyLmRvbmUgJiYgKG0gPSBpW1wicmV0dXJuXCJdKSkgbS5jYWxsKGkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmaW5hbGx5IHsgaWYgKGUpIHRocm93IGUuZXJyb3I7IH1cclxuICAgIH1cclxuICAgIHJldHVybiBhcjtcclxufVxyXG5cclxuLyoqIEBkZXByZWNhdGVkICovXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3NwcmVhZCgpIHtcclxuICAgIGZvciAodmFyIGFyID0gW10sIGkgPSAwOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKVxyXG4gICAgICAgIGFyID0gYXIuY29uY2F0KF9fcmVhZChhcmd1bWVudHNbaV0pKTtcclxuICAgIHJldHVybiBhcjtcclxufVxyXG5cclxuLyoqIEBkZXByZWNhdGVkICovXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3NwcmVhZEFycmF5cygpIHtcclxuICAgIGZvciAodmFyIHMgPSAwLCBpID0gMCwgaWwgPSBhcmd1bWVudHMubGVuZ3RoOyBpIDwgaWw7IGkrKykgcyArPSBhcmd1bWVudHNbaV0ubGVuZ3RoO1xyXG4gICAgZm9yICh2YXIgciA9IEFycmF5KHMpLCBrID0gMCwgaSA9IDA7IGkgPCBpbDsgaSsrKVxyXG4gICAgICAgIGZvciAodmFyIGEgPSBhcmd1bWVudHNbaV0sIGogPSAwLCBqbCA9IGEubGVuZ3RoOyBqIDwgamw7IGorKywgaysrKVxyXG4gICAgICAgICAgICByW2tdID0gYVtqXTtcclxuICAgIHJldHVybiByO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19zcHJlYWRBcnJheSh0bywgZnJvbSwgcGFjaykge1xyXG4gICAgaWYgKHBhY2sgfHwgYXJndW1lbnRzLmxlbmd0aCA9PT0gMikgZm9yICh2YXIgaSA9IDAsIGwgPSBmcm9tLmxlbmd0aCwgYXI7IGkgPCBsOyBpKyspIHtcclxuICAgICAgICBpZiAoYXIgfHwgIShpIGluIGZyb20pKSB7XHJcbiAgICAgICAgICAgIGlmICghYXIpIGFyID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZnJvbSwgMCwgaSk7XHJcbiAgICAgICAgICAgIGFyW2ldID0gZnJvbVtpXTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdG8uY29uY2F0KGFyIHx8IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGZyb20pKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXdhaXQodikge1xyXG4gICAgcmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBfX2F3YWl0ID8gKHRoaXMudiA9IHYsIHRoaXMpIDogbmV3IF9fYXdhaXQodik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2FzeW5jR2VuZXJhdG9yKHRoaXNBcmcsIF9hcmd1bWVudHMsIGdlbmVyYXRvcikge1xyXG4gICAgaWYgKCFTeW1ib2wuYXN5bmNJdGVyYXRvcikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLlwiKTtcclxuICAgIHZhciBnID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pLCBpLCBxID0gW107XHJcbiAgICByZXR1cm4gaSA9IHt9LCB2ZXJiKFwibmV4dFwiKSwgdmVyYihcInRocm93XCIpLCB2ZXJiKFwicmV0dXJuXCIpLCBpW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGk7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4pIHsgaWYgKGdbbl0pIGlbbl0gPSBmdW5jdGlvbiAodikgeyByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKGEsIGIpIHsgcS5wdXNoKFtuLCB2LCBhLCBiXSkgPiAxIHx8IHJlc3VtZShuLCB2KTsgfSk7IH07IH1cclxuICAgIGZ1bmN0aW9uIHJlc3VtZShuLCB2KSB7IHRyeSB7IHN0ZXAoZ1tuXSh2KSk7IH0gY2F0Y2ggKGUpIHsgc2V0dGxlKHFbMF1bM10sIGUpOyB9IH1cclxuICAgIGZ1bmN0aW9uIHN0ZXAocikgeyByLnZhbHVlIGluc3RhbmNlb2YgX19hd2FpdCA/IFByb21pc2UucmVzb2x2ZShyLnZhbHVlLnYpLnRoZW4oZnVsZmlsbCwgcmVqZWN0KSA6IHNldHRsZShxWzBdWzJdLCByKTsgfVxyXG4gICAgZnVuY3Rpb24gZnVsZmlsbCh2YWx1ZSkgeyByZXN1bWUoXCJuZXh0XCIsIHZhbHVlKTsgfVxyXG4gICAgZnVuY3Rpb24gcmVqZWN0KHZhbHVlKSB7IHJlc3VtZShcInRocm93XCIsIHZhbHVlKTsgfVxyXG4gICAgZnVuY3Rpb24gc2V0dGxlKGYsIHYpIHsgaWYgKGYodiksIHEuc2hpZnQoKSwgcS5sZW5ndGgpIHJlc3VtZShxWzBdWzBdLCBxWzBdWzFdKTsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hc3luY0RlbGVnYXRvcihvKSB7XHJcbiAgICB2YXIgaSwgcDtcclxuICAgIHJldHVybiBpID0ge30sIHZlcmIoXCJuZXh0XCIpLCB2ZXJiKFwidGhyb3dcIiwgZnVuY3Rpb24gKGUpIHsgdGhyb3cgZTsgfSksIHZlcmIoXCJyZXR1cm5cIiksIGlbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGk7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4sIGYpIHsgaVtuXSA9IG9bbl0gPyBmdW5jdGlvbiAodikgeyByZXR1cm4gKHAgPSAhcCkgPyB7IHZhbHVlOiBfX2F3YWl0KG9bbl0odikpLCBkb25lOiBuID09PSBcInJldHVyblwiIH0gOiBmID8gZih2KSA6IHY7IH0gOiBmOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2FzeW5jVmFsdWVzKG8pIHtcclxuICAgIGlmICghU3ltYm9sLmFzeW5jSXRlcmF0b3IpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJTeW1ib2wuYXN5bmNJdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XHJcbiAgICB2YXIgbSA9IG9bU3ltYm9sLmFzeW5jSXRlcmF0b3JdLCBpO1xyXG4gICAgcmV0dXJuIG0gPyBtLmNhbGwobykgOiAobyA9IHR5cGVvZiBfX3ZhbHVlcyA9PT0gXCJmdW5jdGlvblwiID8gX192YWx1ZXMobykgOiBvW1N5bWJvbC5pdGVyYXRvcl0oKSwgaSA9IHt9LCB2ZXJiKFwibmV4dFwiKSwgdmVyYihcInRocm93XCIpLCB2ZXJiKFwicmV0dXJuXCIpLCBpW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGkpO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuKSB7IGlbbl0gPSBvW25dICYmIGZ1bmN0aW9uICh2KSB7IHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7IHYgPSBvW25dKHYpLCBzZXR0bGUocmVzb2x2ZSwgcmVqZWN0LCB2LmRvbmUsIHYudmFsdWUpOyB9KTsgfTsgfVxyXG4gICAgZnVuY3Rpb24gc2V0dGxlKHJlc29sdmUsIHJlamVjdCwgZCwgdikgeyBQcm9taXNlLnJlc29sdmUodikudGhlbihmdW5jdGlvbih2KSB7IHJlc29sdmUoeyB2YWx1ZTogdiwgZG9uZTogZCB9KTsgfSwgcmVqZWN0KTsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19tYWtlVGVtcGxhdGVPYmplY3QoY29va2VkLCByYXcpIHtcclxuICAgIGlmIChPYmplY3QuZGVmaW5lUHJvcGVydHkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNvb2tlZCwgXCJyYXdcIiwgeyB2YWx1ZTogcmF3IH0pOyB9IGVsc2UgeyBjb29rZWQucmF3ID0gcmF3OyB9XHJcbiAgICByZXR1cm4gY29va2VkO1xyXG59O1xyXG5cclxudmFyIF9fc2V0TW9kdWxlRGVmYXVsdCA9IE9iamVjdC5jcmVhdGUgPyAoZnVuY3Rpb24obywgdikge1xyXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sIFwiZGVmYXVsdFwiLCB7IGVudW1lcmFibGU6IHRydWUsIHZhbHVlOiB2IH0pO1xyXG59KSA6IGZ1bmN0aW9uKG8sIHYpIHtcclxuICAgIG9bXCJkZWZhdWx0XCJdID0gdjtcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2ltcG9ydFN0YXIobW9kKSB7XHJcbiAgICBpZiAobW9kICYmIG1vZC5fX2VzTW9kdWxlKSByZXR1cm4gbW9kO1xyXG4gICAgdmFyIHJlc3VsdCA9IHt9O1xyXG4gICAgaWYgKG1vZCAhPSBudWxsKSBmb3IgKHZhciBrIGluIG1vZCkgaWYgKGsgIT09IFwiZGVmYXVsdFwiICYmIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChtb2QsIGspKSBfX2NyZWF0ZUJpbmRpbmcocmVzdWx0LCBtb2QsIGspO1xyXG4gICAgX19zZXRNb2R1bGVEZWZhdWx0KHJlc3VsdCwgbW9kKTtcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2ltcG9ydERlZmF1bHQobW9kKSB7XHJcbiAgICByZXR1cm4gKG1vZCAmJiBtb2QuX19lc01vZHVsZSkgPyBtb2QgOiB7IGRlZmF1bHQ6IG1vZCB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19jbGFzc1ByaXZhdGVGaWVsZEdldChyZWNlaXZlciwgc3RhdGUsIGtpbmQsIGYpIHtcclxuICAgIGlmIChraW5kID09PSBcImFcIiAmJiAhZikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlByaXZhdGUgYWNjZXNzb3Igd2FzIGRlZmluZWQgd2l0aG91dCBhIGdldHRlclwiKTtcclxuICAgIGlmICh0eXBlb2Ygc3RhdGUgPT09IFwiZnVuY3Rpb25cIiA/IHJlY2VpdmVyICE9PSBzdGF0ZSB8fCAhZiA6ICFzdGF0ZS5oYXMocmVjZWl2ZXIpKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IHJlYWQgcHJpdmF0ZSBtZW1iZXIgZnJvbSBhbiBvYmplY3Qgd2hvc2UgY2xhc3MgZGlkIG5vdCBkZWNsYXJlIGl0XCIpO1xyXG4gICAgcmV0dXJuIGtpbmQgPT09IFwibVwiID8gZiA6IGtpbmQgPT09IFwiYVwiID8gZi5jYWxsKHJlY2VpdmVyKSA6IGYgPyBmLnZhbHVlIDogc3RhdGUuZ2V0KHJlY2VpdmVyKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fY2xhc3NQcml2YXRlRmllbGRTZXQocmVjZWl2ZXIsIHN0YXRlLCB2YWx1ZSwga2luZCwgZikge1xyXG4gICAgaWYgKGtpbmQgPT09IFwibVwiKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiUHJpdmF0ZSBtZXRob2QgaXMgbm90IHdyaXRhYmxlXCIpO1xyXG4gICAgaWYgKGtpbmQgPT09IFwiYVwiICYmICFmKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiUHJpdmF0ZSBhY2Nlc3NvciB3YXMgZGVmaW5lZCB3aXRob3V0IGEgc2V0dGVyXCIpO1xyXG4gICAgaWYgKHR5cGVvZiBzdGF0ZSA9PT0gXCJmdW5jdGlvblwiID8gcmVjZWl2ZXIgIT09IHN0YXRlIHx8ICFmIDogIXN0YXRlLmhhcyhyZWNlaXZlcikpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3Qgd3JpdGUgcHJpdmF0ZSBtZW1iZXIgdG8gYW4gb2JqZWN0IHdob3NlIGNsYXNzIGRpZCBub3QgZGVjbGFyZSBpdFwiKTtcclxuICAgIHJldHVybiAoa2luZCA9PT0gXCJhXCIgPyBmLmNhbGwocmVjZWl2ZXIsIHZhbHVlKSA6IGYgPyBmLnZhbHVlID0gdmFsdWUgOiBzdGF0ZS5zZXQocmVjZWl2ZXIsIHZhbHVlKSksIHZhbHVlO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19jbGFzc1ByaXZhdGVGaWVsZEluKHN0YXRlLCByZWNlaXZlcikge1xyXG4gICAgaWYgKHJlY2VpdmVyID09PSBudWxsIHx8ICh0eXBlb2YgcmVjZWl2ZXIgIT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIHJlY2VpdmVyICE9PSBcImZ1bmN0aW9uXCIpKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IHVzZSAnaW4nIG9wZXJhdG9yIG9uIG5vbi1vYmplY3RcIik7XHJcbiAgICByZXR1cm4gdHlwZW9mIHN0YXRlID09PSBcImZ1bmN0aW9uXCIgPyByZWNlaXZlciA9PT0gc3RhdGUgOiBzdGF0ZS5oYXMocmVjZWl2ZXIpO1xyXG59XHJcbiIsImltcG9ydCB7IExpc3QsIFJvb3QgfSBmcm9tIFwiLlwiO1xuXG5leHBvcnQgZnVuY3Rpb24gcmVjYWxjdWxhdGVOdW1lcmljQnVsbGV0cyhyb290OiBSb290KSB7XG4gIGZ1bmN0aW9uIHZpc2l0KHBhcmVudDogUm9vdCB8IExpc3QpIHtcbiAgICBsZXQgaW5kZXggPSAxO1xuXG4gICAgZm9yIChjb25zdCBjaGlsZCBvZiBwYXJlbnQuZ2V0Q2hpbGRyZW4oKSkge1xuICAgICAgaWYgKC9cXGQrXFwuLy50ZXN0KGNoaWxkLmdldEJ1bGxldCgpKSkge1xuICAgICAgICBjaGlsZC5yZXBsYXRlQnVsbGV0KGAke2luZGV4Kyt9LmApO1xuICAgICAgfVxuXG4gICAgICB2aXNpdChjaGlsZCk7XG4gICAgfVxuICB9XG5cbiAgdmlzaXQocm9vdCk7XG59XG4iLCJpbXBvcnQgeyBPcGVyYXRpb24gfSBmcm9tIFwiLi9PcGVyYXRpb25cIjtcblxuaW1wb3J0IHsgTGlzdCwgTGlzdExpbmUsIFBvc2l0aW9uLCBSb290IH0gZnJvbSBcIi4uL3Jvb3RcIjtcbmltcG9ydCB7IHJlY2FsY3VsYXRlTnVtZXJpY0J1bGxldHMgfSBmcm9tIFwiLi4vcm9vdC9yZWNhbGN1bGF0ZU51bWVyaWNCdWxsZXRzXCI7XG5cbmV4cG9ydCBjbGFzcyBEZWxldGVBbmRNZXJnZVdpdGhQcmV2aW91c0xpbmVPcGVyYXRpb24gaW1wbGVtZW50cyBPcGVyYXRpb24ge1xuICBwcml2YXRlIHN0b3BQcm9wYWdhdGlvbiA9IGZhbHNlO1xuICBwcml2YXRlIHVwZGF0ZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvb3Q6IFJvb3QpIHt9XG5cbiAgc2hvdWxkU3RvcFByb3BhZ2F0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnN0b3BQcm9wYWdhdGlvbjtcbiAgfVxuXG4gIHNob3VsZFVwZGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy51cGRhdGVkO1xuICB9XG5cbiAgcGVyZm9ybSgpIHtcbiAgICBjb25zdCB7IHJvb3QgfSA9IHRoaXM7XG5cbiAgICBpZiAoIXJvb3QuaGFzU2luZ2xlQ3Vyc29yKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBsaXN0ID0gcm9vdC5nZXRMaXN0VW5kZXJDdXJzb3IoKTtcbiAgICBjb25zdCBjdXJzb3IgPSByb290LmdldEN1cnNvcigpO1xuICAgIGNvbnN0IGxpbmVzID0gbGlzdC5nZXRMaW5lc0luZm8oKTtcblxuICAgIGNvbnN0IGxpbmVObyA9IGxpbmVzLmZpbmRJbmRleChcbiAgICAgIChsKSA9PiBjdXJzb3IuY2ggPT09IGwuZnJvbS5jaCAmJiBjdXJzb3IubGluZSA9PT0gbC5mcm9tLmxpbmVcbiAgICApO1xuXG4gICAgaWYgKGxpbmVObyA9PT0gMCkge1xuICAgICAgdGhpcy5tZXJnZVdpdGhQcmV2aW91c0l0ZW0ocm9vdCwgY3Vyc29yLCBsaXN0KTtcbiAgICB9IGVsc2UgaWYgKGxpbmVObyA+IDApIHtcbiAgICAgIHRoaXMubWVyZ2VOb3Rlcyhyb290LCBjdXJzb3IsIGxpc3QsIGxpbmVzLCBsaW5lTm8pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbWVyZ2VOb3RlcyhcbiAgICByb290OiBSb290LFxuICAgIGN1cnNvcjogUG9zaXRpb24sXG4gICAgbGlzdDogTGlzdCxcbiAgICBsaW5lczogTGlzdExpbmVbXSxcbiAgICBsaW5lTm86IG51bWJlclxuICApIHtcbiAgICB0aGlzLnN0b3BQcm9wYWdhdGlvbiA9IHRydWU7XG4gICAgdGhpcy51cGRhdGVkID0gdHJ1ZTtcblxuICAgIGNvbnN0IHByZXZMaW5lTm8gPSBsaW5lTm8gLSAxO1xuXG4gICAgcm9vdC5yZXBsYWNlQ3Vyc29yKHtcbiAgICAgIGxpbmU6IGN1cnNvci5saW5lIC0gMSxcbiAgICAgIGNoOiBsaW5lc1twcmV2TGluZU5vXS50ZXh0Lmxlbmd0aCArIGxpbmVzW3ByZXZMaW5lTm9dLmZyb20uY2gsXG4gICAgfSk7XG5cbiAgICBsaW5lc1twcmV2TGluZU5vXS50ZXh0ICs9IGxpbmVzW2xpbmVOb10udGV4dDtcbiAgICBsaW5lcy5zcGxpY2UobGluZU5vLCAxKTtcblxuICAgIGxpc3QucmVwbGFjZUxpbmVzKGxpbmVzLm1hcCgobCkgPT4gbC50ZXh0KSk7XG4gIH1cblxuICBwcml2YXRlIG1lcmdlV2l0aFByZXZpb3VzSXRlbShyb290OiBSb290LCBjdXJzb3I6IFBvc2l0aW9uLCBsaXN0OiBMaXN0KSB7XG4gICAgaWYgKHJvb3QuZ2V0Q2hpbGRyZW4oKVswXSA9PT0gbGlzdCAmJiBsaXN0LmdldENoaWxkcmVuKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zdG9wUHJvcGFnYXRpb24gPSB0cnVlO1xuXG4gICAgY29uc3QgcHJldiA9IHJvb3QuZ2V0TGlzdFVuZGVyTGluZShjdXJzb3IubGluZSAtIDEpO1xuXG4gICAgaWYgKCFwcmV2KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgYm90aEFyZUVtcHR5ID0gcHJldi5pc0VtcHR5KCkgJiYgbGlzdC5pc0VtcHR5KCk7XG4gICAgY29uc3QgcHJldklzRW1wdHlBbmRTYW1lTGV2ZWwgPVxuICAgICAgcHJldi5pc0VtcHR5KCkgJiYgIWxpc3QuaXNFbXB0eSgpICYmIHByZXYuZ2V0TGV2ZWwoKSA9PSBsaXN0LmdldExldmVsKCk7XG4gICAgY29uc3QgbGlzdElzRW1wdHlBbmRQcmV2SXNQYXJlbnQgPVxuICAgICAgbGlzdC5pc0VtcHR5KCkgJiYgcHJldi5nZXRMZXZlbCgpID09IGxpc3QuZ2V0TGV2ZWwoKSAtIDE7XG5cbiAgICBpZiAoYm90aEFyZUVtcHR5IHx8IHByZXZJc0VtcHR5QW5kU2FtZUxldmVsIHx8IGxpc3RJc0VtcHR5QW5kUHJldklzUGFyZW50KSB7XG4gICAgICB0aGlzLnVwZGF0ZWQgPSB0cnVlO1xuXG4gICAgICBjb25zdCBwYXJlbnQgPSBsaXN0LmdldFBhcmVudCgpO1xuICAgICAgY29uc3QgcHJldkVuZCA9IHByZXYuZ2V0TGFzdExpbmVDb250ZW50RW5kKCk7XG5cbiAgICAgIGlmICghcHJldi5nZXROb3Rlc0luZGVudCgpICYmIGxpc3QuZ2V0Tm90ZXNJbmRlbnQoKSkge1xuICAgICAgICBwcmV2LnNldE5vdGVzSW5kZW50KFxuICAgICAgICAgIHByZXYuZ2V0Rmlyc3RMaW5lSW5kZW50KCkgK1xuICAgICAgICAgICAgbGlzdC5nZXROb3Rlc0luZGVudCgpLnNsaWNlKGxpc3QuZ2V0Rmlyc3RMaW5lSW5kZW50KCkubGVuZ3RoKVxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBvbGRMaW5lcyA9IHByZXYuZ2V0TGluZXMoKTtcbiAgICAgIGNvbnN0IG5ld0xpbmVzID0gbGlzdC5nZXRMaW5lcygpO1xuICAgICAgb2xkTGluZXNbb2xkTGluZXMubGVuZ3RoIC0gMV0gKz0gbmV3TGluZXNbMF07XG4gICAgICBjb25zdCByZXN1bHRMaW5lcyA9IG9sZExpbmVzLmNvbmNhdChuZXdMaW5lcy5zbGljZSgxKSk7XG5cbiAgICAgIHByZXYucmVwbGFjZUxpbmVzKHJlc3VsdExpbmVzKTtcbiAgICAgIHBhcmVudC5yZW1vdmVDaGlsZChsaXN0KTtcblxuICAgICAgZm9yIChjb25zdCBjIG9mIGxpc3QuZ2V0Q2hpbGRyZW4oKSkge1xuICAgICAgICBsaXN0LnJlbW92ZUNoaWxkKGMpO1xuICAgICAgICBwcmV2LmFkZEFmdGVyQWxsKGMpO1xuICAgICAgfVxuXG4gICAgICByb290LnJlcGxhY2VDdXJzb3IocHJldkVuZCk7XG5cbiAgICAgIHJlY2FsY3VsYXRlTnVtZXJpY0J1bGxldHMocm9vdCk7XG4gICAgfVxuICB9XG59XG4iLCJpbXBvcnQgeyBEZWxldGVBbmRNZXJnZVdpdGhQcmV2aW91c0xpbmVPcGVyYXRpb24gfSBmcm9tIFwiLi9EZWxldGVBbmRNZXJnZVdpdGhQcmV2aW91c0xpbmVPcGVyYXRpb25cIjtcbmltcG9ydCB7IE9wZXJhdGlvbiB9IGZyb20gXCIuL09wZXJhdGlvblwiO1xuXG5pbXBvcnQgeyBSb290IH0gZnJvbSBcIi4uL3Jvb3RcIjtcblxuZXhwb3J0IGNsYXNzIERlbGV0ZUFuZE1lcmdlV2l0aE5leHRMaW5lT3BlcmF0aW9uIGltcGxlbWVudHMgT3BlcmF0aW9uIHtcbiAgcHJpdmF0ZSBkZWxldGVBbmRNZXJnZVdpdGhQcmV2aW91czogRGVsZXRlQW5kTWVyZ2VXaXRoUHJldmlvdXNMaW5lT3BlcmF0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm9vdDogUm9vdCkge1xuICAgIHRoaXMuZGVsZXRlQW5kTWVyZ2VXaXRoUHJldmlvdXMgPVxuICAgICAgbmV3IERlbGV0ZUFuZE1lcmdlV2l0aFByZXZpb3VzTGluZU9wZXJhdGlvbihyb290KTtcbiAgfVxuXG4gIHNob3VsZFN0b3BQcm9wYWdhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5kZWxldGVBbmRNZXJnZVdpdGhQcmV2aW91cy5zaG91bGRTdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIHNob3VsZFVwZGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5kZWxldGVBbmRNZXJnZVdpdGhQcmV2aW91cy5zaG91bGRVcGRhdGUoKTtcbiAgfVxuXG4gIHBlcmZvcm0oKSB7XG4gICAgY29uc3QgeyByb290IH0gPSB0aGlzO1xuXG4gICAgaWYgKCFyb290Lmhhc1NpbmdsZUN1cnNvcigpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbGlzdCA9IHJvb3QuZ2V0TGlzdFVuZGVyQ3Vyc29yKCk7XG4gICAgY29uc3QgY3Vyc29yID0gcm9vdC5nZXRDdXJzb3IoKTtcbiAgICBjb25zdCBsaW5lcyA9IGxpc3QuZ2V0TGluZXNJbmZvKCk7XG5cbiAgICBjb25zdCBsaW5lTm8gPSBsaW5lcy5maW5kSW5kZXgoXG4gICAgICAobCkgPT4gY3Vyc29yLmNoID09PSBsLnRvLmNoICYmIGN1cnNvci5saW5lID09PSBsLnRvLmxpbmVcbiAgICApO1xuXG4gICAgaWYgKGxpbmVObyA9PT0gbGluZXMubGVuZ3RoIC0gMSkge1xuICAgICAgY29uc3QgbmV4dExpbmUgPSBsaW5lc1tsaW5lTm9dLnRvLmxpbmUgKyAxO1xuICAgICAgY29uc3QgbmV4dExpc3QgPSByb290LmdldExpc3RVbmRlckxpbmUobmV4dExpbmUpO1xuICAgICAgaWYgKCFuZXh0TGlzdCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICByb290LnJlcGxhY2VDdXJzb3IobmV4dExpc3QuZ2V0Rmlyc3RMaW5lQ29udGVudFN0YXJ0KCkpO1xuICAgICAgdGhpcy5kZWxldGVBbmRNZXJnZVdpdGhQcmV2aW91cy5wZXJmb3JtKCk7XG4gICAgfSBlbHNlIGlmIChsaW5lTm8gPj0gMCkge1xuICAgICAgcm9vdC5yZXBsYWNlQ3Vyc29yKGxpbmVzW2xpbmVObyArIDFdLmZyb20pO1xuICAgICAgdGhpcy5kZWxldGVBbmRNZXJnZVdpdGhQcmV2aW91cy5wZXJmb3JtKCk7XG4gICAgfVxuICB9XG59XG4iLCJpbXBvcnQgeyBPcGVyYXRpb24gfSBmcm9tIFwiLi9PcGVyYXRpb25cIjtcblxuaW1wb3J0IHsgUm9vdCB9IGZyb20gXCIuLi9yb290XCI7XG5cbmV4cG9ydCBjbGFzcyBEZWxldGVUaWxsTGluZVN0YXJ0T3BlcmF0aW9uIGltcGxlbWVudHMgT3BlcmF0aW9uIHtcbiAgcHJpdmF0ZSBzdG9wUHJvcGFnYXRpb24gPSBmYWxzZTtcbiAgcHJpdmF0ZSB1cGRhdGVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb290OiBSb290KSB7fVxuXG4gIHNob3VsZFN0b3BQcm9wYWdhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9wUHJvcGFnYXRpb247XG4gIH1cblxuICBzaG91bGRVcGRhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudXBkYXRlZDtcbiAgfVxuXG4gIHBlcmZvcm0oKSB7XG4gICAgY29uc3QgeyByb290IH0gPSB0aGlzO1xuXG4gICAgaWYgKCFyb290Lmhhc1NpbmdsZUN1cnNvcigpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zdG9wUHJvcGFnYXRpb24gPSB0cnVlO1xuICAgIHRoaXMudXBkYXRlZCA9IHRydWU7XG5cbiAgICBjb25zdCBjdXJzb3IgPSByb290LmdldEN1cnNvcigpO1xuICAgIGNvbnN0IGxpc3QgPSByb290LmdldExpc3RVbmRlckN1cnNvcigpO1xuICAgIGNvbnN0IGxpbmVzID0gbGlzdC5nZXRMaW5lc0luZm8oKTtcbiAgICBjb25zdCBsaW5lTm8gPSBsaW5lcy5maW5kSW5kZXgoKGwpID0+IGwuZnJvbS5saW5lID09PSBjdXJzb3IubGluZSk7XG5cbiAgICBsaW5lc1tsaW5lTm9dLnRleHQgPSBsaW5lc1tsaW5lTm9dLnRleHQuc2xpY2UoXG4gICAgICBjdXJzb3IuY2ggLSBsaW5lc1tsaW5lTm9dLmZyb20uY2hcbiAgICApO1xuXG4gICAgbGlzdC5yZXBsYWNlTGluZXMobGluZXMubWFwKChsKSA9PiBsLnRleHQpKTtcbiAgICByb290LnJlcGxhY2VDdXJzb3IobGluZXNbbGluZU5vXS5mcm9tKTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgUGx1Z2luXzIgfSBmcm9tIFwib2JzaWRpYW5cIjtcblxuaW1wb3J0IHsga2V5bWFwIH0gZnJvbSBcIkBjb2RlbWlycm9yL3ZpZXdcIjtcblxuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gXCIuL0ZlYXR1cmVcIjtcblxuaW1wb3J0IHsgTXlFZGl0b3IgfSBmcm9tIFwiLi4vTXlFZGl0b3JcIjtcbmltcG9ydCB7IERlbGV0ZUFuZE1lcmdlV2l0aE5leHRMaW5lT3BlcmF0aW9uIH0gZnJvbSBcIi4uL29wZXJhdGlvbnMvRGVsZXRlQW5kTWVyZ2VXaXRoTmV4dExpbmVPcGVyYXRpb25cIjtcbmltcG9ydCB7IERlbGV0ZUFuZE1lcmdlV2l0aFByZXZpb3VzTGluZU9wZXJhdGlvbiB9IGZyb20gXCIuLi9vcGVyYXRpb25zL0RlbGV0ZUFuZE1lcmdlV2l0aFByZXZpb3VzTGluZU9wZXJhdGlvblwiO1xuaW1wb3J0IHsgRGVsZXRlVGlsbExpbmVTdGFydE9wZXJhdGlvbiB9IGZyb20gXCIuLi9vcGVyYXRpb25zL0RlbGV0ZVRpbGxMaW5lU3RhcnRPcGVyYXRpb25cIjtcbmltcG9ydCB7IElNRVNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvSU1FU2VydmljZVwiO1xuaW1wb3J0IHsgT2JzaWRpYW5TZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL09ic2lkaWFuU2VydmljZVwiO1xuaW1wb3J0IHsgUGVyZm9ybU9wZXJhdGlvblNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvUGVyZm9ybU9wZXJhdGlvblNlcnZpY2VcIjtcbmltcG9ydCB7IFNldHRpbmdzU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9TZXR0aW5nc1NlcnZpY2VcIjtcblxuZXhwb3J0IGNsYXNzIERlbGV0ZVNob3VsZElnbm9yZUJ1bGxldHNGZWF0dXJlIGltcGxlbWVudHMgRmVhdHVyZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcGx1Z2luOiBQbHVnaW5fMixcbiAgICBwcml2YXRlIHNldHRpbmdzOiBTZXR0aW5nc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbWU6IElNRVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBvYnNpZGlhbjogT2JzaWRpYW5TZXJ2aWNlLFxuICAgIHByaXZhdGUgcGVyZm9ybU9wZXJhdGlvbjogUGVyZm9ybU9wZXJhdGlvblNlcnZpY2VcbiAgKSB7fVxuXG4gIGFzeW5jIGxvYWQoKSB7XG4gICAgdGhpcy5wbHVnaW4ucmVnaXN0ZXJFZGl0b3JFeHRlbnNpb24oXG4gICAgICBrZXltYXAub2YoW1xuICAgICAgICB7XG4gICAgICAgICAga2V5OiBcIkJhY2tzcGFjZVwiLFxuICAgICAgICAgIHJ1bjogdGhpcy5vYnNpZGlhbi5jcmVhdGVLZXltYXBSdW5DYWxsYmFjayh7XG4gICAgICAgICAgICBjaGVjazogdGhpcy5jaGVjayxcbiAgICAgICAgICAgIHJ1bjogdGhpcy5kZWxldGVBbmRNZXJnZVdpdGhQcmV2aW91c0xpbmUsXG4gICAgICAgICAgfSksXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBrZXk6IFwiRGVsZXRlXCIsXG4gICAgICAgICAgcnVuOiB0aGlzLm9ic2lkaWFuLmNyZWF0ZUtleW1hcFJ1bkNhbGxiYWNrKHtcbiAgICAgICAgICAgIGNoZWNrOiB0aGlzLmNoZWNrLFxuICAgICAgICAgICAgcnVuOiB0aGlzLmRlbGV0ZUFuZE1lcmdlV2l0aE5leHRMaW5lLFxuICAgICAgICAgIH0pLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbWFjOiBcIm0tQmFja3NwYWNlXCIsXG4gICAgICAgICAgcnVuOiB0aGlzLm9ic2lkaWFuLmNyZWF0ZUtleW1hcFJ1bkNhbGxiYWNrKHtcbiAgICAgICAgICAgIGNoZWNrOiB0aGlzLmNoZWNrLFxuICAgICAgICAgICAgcnVuOiB0aGlzLmRlbGV0ZVRpbGxMaW5lU3RhcnQsXG4gICAgICAgICAgfSksXG4gICAgICAgIH0sXG4gICAgICBdKVxuICAgICk7XG4gIH1cblxuICBhc3luYyB1bmxvYWQoKSB7fVxuXG4gIHByaXZhdGUgY2hlY2sgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuc2V0dGluZ3Muc3RpY2tDdXJzb3IgJiYgIXRoaXMuaW1lLmlzSU1FT3BlbmVkKCk7XG4gIH07XG5cbiAgcHJpdmF0ZSBkZWxldGVBbmRNZXJnZVdpdGhQcmV2aW91c0xpbmUgPSAoZWRpdG9yOiBNeUVkaXRvcikgPT4ge1xuICAgIHJldHVybiB0aGlzLnBlcmZvcm1PcGVyYXRpb24ucGVyZm9ybU9wZXJhdGlvbihcbiAgICAgIChyb290KSA9PiBuZXcgRGVsZXRlQW5kTWVyZ2VXaXRoUHJldmlvdXNMaW5lT3BlcmF0aW9uKHJvb3QpLFxuICAgICAgZWRpdG9yXG4gICAgKTtcbiAgfTtcblxuICBwcml2YXRlIGRlbGV0ZVRpbGxMaW5lU3RhcnQgPSAoZWRpdG9yOiBNeUVkaXRvcikgPT4ge1xuICAgIHJldHVybiB0aGlzLnBlcmZvcm1PcGVyYXRpb24ucGVyZm9ybU9wZXJhdGlvbihcbiAgICAgIChyb290KSA9PiBuZXcgRGVsZXRlVGlsbExpbmVTdGFydE9wZXJhdGlvbihyb290KSxcbiAgICAgIGVkaXRvclxuICAgICk7XG4gIH07XG5cbiAgcHJpdmF0ZSBkZWxldGVBbmRNZXJnZVdpdGhOZXh0TGluZSA9IChlZGl0b3I6IE15RWRpdG9yKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMucGVyZm9ybU9wZXJhdGlvbi5wZXJmb3JtT3BlcmF0aW9uKFxuICAgICAgKHJvb3QpID0+IG5ldyBEZWxldGVBbmRNZXJnZVdpdGhOZXh0TGluZU9wZXJhdGlvbihyb290KSxcbiAgICAgIGVkaXRvclxuICAgICk7XG4gIH07XG59XG4iLCJpbXBvcnQgeyBPcGVyYXRpb24gfSBmcm9tIFwiLi9PcGVyYXRpb25cIjtcblxuaW1wb3J0IHsgUm9vdCB9IGZyb20gXCIuLi9yb290XCI7XG5cbmV4cG9ydCBjbGFzcyBFbnN1cmVDdXJzb3JJbkxpc3RDb250ZW50T3BlcmF0aW9uIGltcGxlbWVudHMgT3BlcmF0aW9uIHtcbiAgcHJpdmF0ZSBzdG9wUHJvcGFnYXRpb24gPSBmYWxzZTtcbiAgcHJpdmF0ZSB1cGRhdGVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb290OiBSb290KSB7fVxuXG4gIHNob3VsZFN0b3BQcm9wYWdhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9wUHJvcGFnYXRpb247XG4gIH1cblxuICBzaG91bGRVcGRhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudXBkYXRlZDtcbiAgfVxuXG4gIHBlcmZvcm0oKSB7XG4gICAgY29uc3QgeyByb290IH0gPSB0aGlzO1xuXG4gICAgaWYgKCFyb290Lmhhc1NpbmdsZUN1cnNvcigpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zdG9wUHJvcGFnYXRpb24gPSB0cnVlO1xuXG4gICAgY29uc3QgY3Vyc29yID0gcm9vdC5nZXRDdXJzb3IoKTtcbiAgICBjb25zdCBsaXN0ID0gcm9vdC5nZXRMaXN0VW5kZXJDdXJzb3IoKTtcbiAgICBjb25zdCBjb250ZW50U3RhcnQgPSBsaXN0LmdldEZpcnN0TGluZUNvbnRlbnRTdGFydCgpO1xuICAgIGNvbnN0IGxpbmVQcmVmaXggPVxuICAgICAgY29udGVudFN0YXJ0LmxpbmUgPT09IGN1cnNvci5saW5lXG4gICAgICAgID8gY29udGVudFN0YXJ0LmNoICsgbGlzdC5nZXRDaGVja2JveExlbmd0aCgpXG4gICAgICAgIDogbGlzdC5nZXROb3Rlc0luZGVudCgpLmxlbmd0aDtcblxuICAgIGlmIChjdXJzb3IuY2ggPCBsaW5lUHJlZml4KSB7XG4gICAgICB0aGlzLnVwZGF0ZWQgPSB0cnVlO1xuICAgICAgcm9vdC5yZXBsYWNlQ3Vyc29yKHtcbiAgICAgICAgbGluZTogY3Vyc29yLmxpbmUsXG4gICAgICAgIGNoOiBsaW5lUHJlZml4LFxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iLCJpbXBvcnQgeyBPcGVyYXRpb24gfSBmcm9tIFwiLi9PcGVyYXRpb25cIjtcblxuaW1wb3J0IHsgUm9vdCB9IGZyb20gXCIuLi9yb290XCI7XG5cbmV4cG9ydCBjbGFzcyBFbnN1cmVDdXJzb3JJc0luVW5mb2xkZWRMaW5lT3BlcmF0aW9uIGltcGxlbWVudHMgT3BlcmF0aW9uIHtcbiAgcHJpdmF0ZSBzdG9wUHJvcGFnYXRpb24gPSBmYWxzZTtcbiAgcHJpdmF0ZSB1cGRhdGVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb290OiBSb290KSB7fVxuXG4gIHNob3VsZFN0b3BQcm9wYWdhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9wUHJvcGFnYXRpb247XG4gIH1cblxuICBzaG91bGRVcGRhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudXBkYXRlZDtcbiAgfVxuXG4gIHBlcmZvcm0oKSB7XG4gICAgY29uc3QgeyByb290IH0gPSB0aGlzO1xuXG4gICAgaWYgKCFyb290Lmhhc1NpbmdsZUN1cnNvcigpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zdG9wUHJvcGFnYXRpb24gPSB0cnVlO1xuXG4gICAgY29uc3QgY3Vyc29yID0gcm9vdC5nZXRDdXJzb3IoKTtcblxuICAgIGNvbnN0IGxpc3QgPSByb290LmdldExpc3RVbmRlckN1cnNvcigpO1xuICAgIGlmICghbGlzdC5pc0ZvbGRlZCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZm9sZFJvb3QgPSBsaXN0LmdldFRvcEZvbGRSb290KCk7XG4gICAgY29uc3QgZmlyc3RMaW5lRW5kID0gZm9sZFJvb3QuZ2V0TGluZXNJbmZvKClbMF0udG87XG5cbiAgICBpZiAoY3Vyc29yLmxpbmUgPiBmaXJzdExpbmVFbmQubGluZSkge1xuICAgICAgdGhpcy51cGRhdGVkID0gdHJ1ZTtcbiAgICAgIHJvb3QucmVwbGFjZUN1cnNvcihmaXJzdExpbmVFbmQpO1xuICAgIH1cbiAgfVxufVxuIiwiaW1wb3J0IHsgUGx1Z2luXzIgfSBmcm9tIFwib2JzaWRpYW5cIjtcblxuaW1wb3J0IHsgRWRpdG9yU3RhdGUsIFRyYW5zYWN0aW9uIH0gZnJvbSBcIkBjb2RlbWlycm9yL3N0YXRlXCI7XG5cbmltcG9ydCB7IE15RWRpdG9yIH0gZnJvbSBcIi4uL015RWRpdG9yXCI7XG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSBcIi4uL2ZlYXR1cmVzL0ZlYXR1cmVcIjtcbmltcG9ydCB7IEVuc3VyZUN1cnNvckluTGlzdENvbnRlbnRPcGVyYXRpb24gfSBmcm9tIFwiLi4vb3BlcmF0aW9ucy9FbnN1cmVDdXJzb3JJbkxpc3RDb250ZW50T3BlcmF0aW9uXCI7XG5pbXBvcnQgeyBFbnN1cmVDdXJzb3JJc0luVW5mb2xkZWRMaW5lT3BlcmF0aW9uIH0gZnJvbSBcIi4uL29wZXJhdGlvbnMvRW5zdXJlQ3Vyc29ySXNJblVuZm9sZGVkTGluZU9wZXJhdGlvblwiO1xuaW1wb3J0IHsgT2JzaWRpYW5TZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL09ic2lkaWFuU2VydmljZVwiO1xuaW1wb3J0IHsgUGVyZm9ybU9wZXJhdGlvblNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvUGVyZm9ybU9wZXJhdGlvblNlcnZpY2VcIjtcbmltcG9ydCB7IFNldHRpbmdzU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9TZXR0aW5nc1NlcnZpY2VcIjtcblxuZXhwb3J0IGNsYXNzIEVuc3VyZUN1cnNvckluTGlzdENvbnRlbnRGZWF0dXJlIGltcGxlbWVudHMgRmVhdHVyZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcGx1Z2luOiBQbHVnaW5fMixcbiAgICBwcml2YXRlIHNldHRpbmdzOiBTZXR0aW5nc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBvYnNpZGlhbjogT2JzaWRpYW5TZXJ2aWNlLFxuICAgIHByaXZhdGUgcGVyZm9ybU9wZXJhdGlvbjogUGVyZm9ybU9wZXJhdGlvblNlcnZpY2VcbiAgKSB7fVxuXG4gIGFzeW5jIGxvYWQoKSB7XG4gICAgdGhpcy5wbHVnaW4ucmVnaXN0ZXJFZGl0b3JFeHRlbnNpb24oXG4gICAgICBFZGl0b3JTdGF0ZS50cmFuc2FjdGlvbkV4dGVuZGVyLm9mKHRoaXMudHJhbnNhY3Rpb25FeHRlbmRlcilcbiAgICApO1xuICB9XG5cbiAgYXN5bmMgdW5sb2FkKCkge31cblxuICBwcml2YXRlIHRyYW5zYWN0aW9uRXh0ZW5kZXIgPSAodHI6IFRyYW5zYWN0aW9uKTogbnVsbCA9PiB7XG4gICAgaWYgKCF0aGlzLnNldHRpbmdzLnN0aWNrQ3Vyc29yIHx8ICF0ci5zZWxlY3Rpb24pIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGVkaXRvciA9IHRoaXMub2JzaWRpYW4uZ2V0RWRpdG9yRnJvbVN0YXRlKHRyLnN0YXJ0U3RhdGUpO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmhhbmRsZUN1cnNvckFjdGl2aXR5KGVkaXRvcik7XG4gICAgfSwgMCk7XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfTtcblxuICBwcml2YXRlIGhhbmRsZUN1cnNvckFjdGl2aXR5ID0gKGVkaXRvcjogTXlFZGl0b3IpID0+IHtcbiAgICB0aGlzLnBlcmZvcm1PcGVyYXRpb24ucGVyZm9ybU9wZXJhdGlvbihcbiAgICAgIChyb290KSA9PiBuZXcgRW5zdXJlQ3Vyc29ySXNJblVuZm9sZGVkTGluZU9wZXJhdGlvbihyb290KSxcbiAgICAgIGVkaXRvclxuICAgICk7XG5cbiAgICB0aGlzLnBlcmZvcm1PcGVyYXRpb24ucGVyZm9ybU9wZXJhdGlvbihcbiAgICAgIChyb290KSA9PiBuZXcgRW5zdXJlQ3Vyc29ySW5MaXN0Q29udGVudE9wZXJhdGlvbihyb290KSxcbiAgICAgIGVkaXRvclxuICAgICk7XG4gIH07XG59XG4iLCJpbXBvcnQgeyBPcGVyYXRpb24gfSBmcm9tIFwiLi9PcGVyYXRpb25cIjtcblxuaW1wb3J0IHsgUm9vdCB9IGZyb20gXCIuLi9yb290XCI7XG5pbXBvcnQgeyByZWNhbGN1bGF0ZU51bWVyaWNCdWxsZXRzIH0gZnJvbSBcIi4uL3Jvb3QvcmVjYWxjdWxhdGVOdW1lcmljQnVsbGV0c1wiO1xuXG5leHBvcnQgY2xhc3MgTW92ZUxlZnRPcGVyYXRpb24gaW1wbGVtZW50cyBPcGVyYXRpb24ge1xuICBwcml2YXRlIHN0b3BQcm9wYWdhdGlvbiA9IGZhbHNlO1xuICBwcml2YXRlIHVwZGF0ZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvb3Q6IFJvb3QpIHt9XG5cbiAgc2hvdWxkU3RvcFByb3BhZ2F0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnN0b3BQcm9wYWdhdGlvbjtcbiAgfVxuXG4gIHNob3VsZFVwZGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy51cGRhdGVkO1xuICB9XG5cbiAgcGVyZm9ybSgpIHtcbiAgICBjb25zdCB7IHJvb3QgfSA9IHRoaXM7XG5cbiAgICBpZiAoIXJvb3QuaGFzU2luZ2xlQ3Vyc29yKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnN0b3BQcm9wYWdhdGlvbiA9IHRydWU7XG5cbiAgICBjb25zdCBsaXN0ID0gcm9vdC5nZXRMaXN0VW5kZXJDdXJzb3IoKTtcbiAgICBjb25zdCBwYXJlbnQgPSBsaXN0LmdldFBhcmVudCgpO1xuICAgIGNvbnN0IGdyYW5kUGFyZW50ID0gcGFyZW50LmdldFBhcmVudCgpO1xuXG4gICAgaWYgKCFncmFuZFBhcmVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMudXBkYXRlZCA9IHRydWU7XG5cbiAgICBjb25zdCBsaXN0U3RhcnRMaW5lQmVmb3JlID0gcm9vdC5nZXRDb250ZW50TGluZXNSYW5nZU9mKGxpc3QpWzBdO1xuICAgIGNvbnN0IGluZGVudFJtRnJvbSA9IHBhcmVudC5nZXRGaXJzdExpbmVJbmRlbnQoKS5sZW5ndGg7XG4gICAgY29uc3QgaW5kZW50Um1UaWxsID0gbGlzdC5nZXRGaXJzdExpbmVJbmRlbnQoKS5sZW5ndGg7XG5cbiAgICBwYXJlbnQucmVtb3ZlQ2hpbGQobGlzdCk7XG4gICAgZ3JhbmRQYXJlbnQuYWRkQWZ0ZXIocGFyZW50LCBsaXN0KTtcbiAgICBsaXN0LnVuaW5kZW50Q29udGVudChpbmRlbnRSbUZyb20sIGluZGVudFJtVGlsbCk7XG5cbiAgICBjb25zdCBsaXN0U3RhcnRMaW5lQWZ0ZXIgPSByb290LmdldENvbnRlbnRMaW5lc1JhbmdlT2YobGlzdClbMF07XG4gICAgY29uc3QgbGluZURpZmYgPSBsaXN0U3RhcnRMaW5lQWZ0ZXIgLSBsaXN0U3RhcnRMaW5lQmVmb3JlO1xuICAgIGNvbnN0IGNoRGlmZiA9IGluZGVudFJtVGlsbCAtIGluZGVudFJtRnJvbTtcblxuICAgIGNvbnN0IGN1cnNvciA9IHJvb3QuZ2V0Q3Vyc29yKCk7XG4gICAgcm9vdC5yZXBsYWNlQ3Vyc29yKHtcbiAgICAgIGxpbmU6IGN1cnNvci5saW5lICsgbGluZURpZmYsXG4gICAgICBjaDogY3Vyc29yLmNoIC0gY2hEaWZmLFxuICAgIH0pO1xuXG4gICAgcmVjYWxjdWxhdGVOdW1lcmljQnVsbGV0cyhyb290KTtcbiAgfVxufVxuIiwiZXhwb3J0IGZ1bmN0aW9uIGlzRW1wdHlMaW5lT3JFbXB0eUNoZWNrYm94KGxpbmU6IHN0cmluZykge1xuICByZXR1cm4gbGluZSA9PT0gXCJcIiB8fCBsaW5lID09PSBcIlsgXSBcIjtcbn1cbiIsImltcG9ydCB7IE1vdmVMZWZ0T3BlcmF0aW9uIH0gZnJvbSBcIi4vTW92ZUxlZnRPcGVyYXRpb25cIjtcbmltcG9ydCB7IE9wZXJhdGlvbiB9IGZyb20gXCIuL09wZXJhdGlvblwiO1xuXG5pbXBvcnQgeyBSb290IH0gZnJvbSBcIi4uL3Jvb3RcIjtcbmltcG9ydCB7IGlzRW1wdHlMaW5lT3JFbXB0eUNoZWNrYm94IH0gZnJvbSBcIi4uL3V0aWxzL2lzRW1wdHlMaW5lT3JFbXB0eUNoZWNrYm94XCI7XG5cbmV4cG9ydCBjbGFzcyBPdXRkZW50SWZMaW5lSXNFbXB0eU9wZXJhdGlvbiBpbXBsZW1lbnRzIE9wZXJhdGlvbiB7XG4gIHByaXZhdGUgbW92ZUxlZnRPcDogTW92ZUxlZnRPcGVyYXRpb247XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb290OiBSb290KSB7XG4gICAgdGhpcy5tb3ZlTGVmdE9wID0gbmV3IE1vdmVMZWZ0T3BlcmF0aW9uKHJvb3QpO1xuICB9XG5cbiAgc2hvdWxkU3RvcFByb3BhZ2F0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLm1vdmVMZWZ0T3Auc2hvdWxkU3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICBzaG91bGRVcGRhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMubW92ZUxlZnRPcC5zaG91bGRVcGRhdGUoKTtcbiAgfVxuXG4gIHBlcmZvcm0oKSB7XG4gICAgY29uc3QgeyByb290IH0gPSB0aGlzO1xuXG4gICAgaWYgKCFyb290Lmhhc1NpbmdsZUN1cnNvcigpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbGlzdCA9IHJvb3QuZ2V0TGlzdFVuZGVyQ3Vyc29yKCk7XG4gICAgY29uc3QgbGluZXMgPSBsaXN0LmdldExpbmVzKCk7XG5cbiAgICBpZiAoXG4gICAgICBsaW5lcy5sZW5ndGggPiAxIHx8XG4gICAgICAhaXNFbXB0eUxpbmVPckVtcHR5Q2hlY2tib3gobGluZXNbMF0pIHx8XG4gICAgICBsaXN0LmdldExldmVsKCkgPT09IDFcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLm1vdmVMZWZ0T3AucGVyZm9ybSgpO1xuICB9XG59XG4iLCJpbXBvcnQgeyBQbHVnaW5fMiB9IGZyb20gXCJvYnNpZGlhblwiO1xuXG5pbXBvcnQgeyBQcmVjIH0gZnJvbSBcIkBjb2RlbWlycm9yL3N0YXRlXCI7XG5pbXBvcnQgeyBrZXltYXAgfSBmcm9tIFwiQGNvZGVtaXJyb3Ivdmlld1wiO1xuXG5pbXBvcnQgeyBNeUVkaXRvciB9IGZyb20gXCIuLi9NeUVkaXRvclwiO1xuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gXCIuLi9mZWF0dXJlcy9GZWF0dXJlXCI7XG5pbXBvcnQgeyBPdXRkZW50SWZMaW5lSXNFbXB0eU9wZXJhdGlvbiB9IGZyb20gXCIuLi9vcGVyYXRpb25zL091dGRlbnRJZkxpbmVJc0VtcHR5T3BlcmF0aW9uXCI7XG5pbXBvcnQgeyBJTUVTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL0lNRVNlcnZpY2VcIjtcbmltcG9ydCB7IE9ic2lkaWFuU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9PYnNpZGlhblNlcnZpY2VcIjtcbmltcG9ydCB7IFBlcmZvcm1PcGVyYXRpb25TZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL1BlcmZvcm1PcGVyYXRpb25TZXJ2aWNlXCI7XG5pbXBvcnQgeyBTZXR0aW5nc1NlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvU2V0dGluZ3NTZXJ2aWNlXCI7XG5cbmV4cG9ydCBjbGFzcyBFbnRlck91dGRlbnRJZkxpbmVJc0VtcHR5RmVhdHVyZSBpbXBsZW1lbnRzIEZlYXR1cmUge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHBsdWdpbjogUGx1Z2luXzIsXG4gICAgcHJpdmF0ZSBzZXR0aW5nczogU2V0dGluZ3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgaW1lOiBJTUVTZXJ2aWNlLFxuICAgIHByaXZhdGUgb2JzaWRpYW46IE9ic2lkaWFuU2VydmljZSxcbiAgICBwcml2YXRlIHBlcmZvcm1PcGVyYXRpb246IFBlcmZvcm1PcGVyYXRpb25TZXJ2aWNlXG4gICkge31cblxuICBhc3luYyBsb2FkKCkge1xuICAgIHRoaXMucGx1Z2luLnJlZ2lzdGVyRWRpdG9yRXh0ZW5zaW9uKFxuICAgICAgUHJlYy5oaWdoZXN0KFxuICAgICAgICBrZXltYXAub2YoW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGtleTogXCJFbnRlclwiLFxuICAgICAgICAgICAgcnVuOiB0aGlzLm9ic2lkaWFuLmNyZWF0ZUtleW1hcFJ1bkNhbGxiYWNrKHtcbiAgICAgICAgICAgICAgY2hlY2s6IHRoaXMuY2hlY2ssXG4gICAgICAgICAgICAgIHJ1bjogdGhpcy5ydW4sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICB9LFxuICAgICAgICBdKVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBhc3luYyB1bmxvYWQoKSB7fVxuXG4gIHByaXZhdGUgY2hlY2sgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuc2V0dGluZ3MuYmV0dGVyRW50ZXIgJiYgIXRoaXMuaW1lLmlzSU1FT3BlbmVkKCk7XG4gIH07XG5cbiAgcHJpdmF0ZSBydW4gPSAoZWRpdG9yOiBNeUVkaXRvcikgPT4ge1xuICAgIHJldHVybiB0aGlzLnBlcmZvcm1PcGVyYXRpb24ucGVyZm9ybU9wZXJhdGlvbihcbiAgICAgIChyb290KSA9PiBuZXcgT3V0ZGVudElmTGluZUlzRW1wdHlPcGVyYXRpb24ocm9vdCksXG4gICAgICBlZGl0b3JcbiAgICApO1xuICB9O1xufVxuIiwiZXhwb3J0IGZ1bmN0aW9uIGNtcFBvcyhhOiBQb3NpdGlvbiwgYjogUG9zaXRpb24pIHtcbiAgcmV0dXJuIGEubGluZSAtIGIubGluZSB8fCBhLmNoIC0gYi5jaDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1heFBvcyhhOiBQb3NpdGlvbiwgYjogUG9zaXRpb24pIHtcbiAgcmV0dXJuIGNtcFBvcyhhLCBiKSA8IDAgPyBiIDogYTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1pblBvcyhhOiBQb3NpdGlvbiwgYjogUG9zaXRpb24pIHtcbiAgcmV0dXJuIGNtcFBvcyhhLCBiKSA8IDAgPyBhIDogYjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQb3NpdGlvbiB7XG4gIGNoOiBudW1iZXI7XG4gIGxpbmU6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0TGluZSB7XG4gIHRleHQ6IHN0cmluZztcbiAgZnJvbTogUG9zaXRpb247XG4gIHRvOiBQb3NpdGlvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSYW5nZSB7XG4gIGFuY2hvcjogUG9zaXRpb247XG4gIGhlYWQ6IFBvc2l0aW9uO1xufVxuXG5leHBvcnQgY2xhc3MgTGlzdCB7XG4gIHByaXZhdGUgcGFyZW50OiBMaXN0IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgY2hpbGRyZW46IExpc3RbXSA9IFtdO1xuICBwcml2YXRlIG5vdGVzSW5kZW50OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBsaW5lczogc3RyaW5nW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJvb3Q6IFJvb3QsXG4gICAgcHJpdmF0ZSBpbmRlbnQ6IHN0cmluZyxcbiAgICBwcml2YXRlIGJ1bGxldDogc3RyaW5nLFxuICAgIHByaXZhdGUgY2hlY2tib3hMZW5ndGg6IG51bWJlcixcbiAgICBwcml2YXRlIHNwYWNlQWZ0ZXJCdWxsZXQ6IHN0cmluZyxcbiAgICBmaXJzdExpbmU6IHN0cmluZyxcbiAgICBwcml2YXRlIGZvbGRSb290OiBib29sZWFuXG4gICkge1xuICAgIHRoaXMubGluZXMucHVzaChmaXJzdExpbmUpO1xuICB9XG5cbiAgZ2V0Tm90ZXNJbmRlbnQoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMubm90ZXNJbmRlbnQ7XG4gIH1cblxuICBzZXROb3Rlc0luZGVudChub3Rlc0luZGVudDogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMubm90ZXNJbmRlbnQgIT09IG51bGwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTm90ZXMgaW5kZW50IGFscmVhZHkgcHJvdmlkZWRgKTtcbiAgICB9XG4gICAgdGhpcy5ub3Rlc0luZGVudCA9IG5vdGVzSW5kZW50O1xuICB9XG5cbiAgYWRkTGluZSh0ZXh0OiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5ub3Rlc0luZGVudCA9PT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgVW5hYmxlIHRvIGFkZCBsaW5lLCBub3RlcyBpbmRlbnQgc2hvdWxkIGJlIHByb3ZpZGVkIGZpcnN0YFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLmxpbmVzLnB1c2godGV4dCk7XG4gIH1cblxuICByZXBsYWNlTGluZXMobGluZXM6IHN0cmluZ1tdKSB7XG4gICAgaWYgKGxpbmVzLmxlbmd0aCA+IDEgJiYgdGhpcy5ub3Rlc0luZGVudCA9PT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgVW5hYmxlIHRvIGFkZCBsaW5lLCBub3RlcyBpbmRlbnQgc2hvdWxkIGJlIHByb3ZpZGVkIGZpcnN0YFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLmxpbmVzID0gbGluZXM7XG4gIH1cblxuICBnZXRMaW5lQ291bnQoKSB7XG4gICAgcmV0dXJuIHRoaXMubGluZXMubGVuZ3RoO1xuICB9XG5cbiAgZ2V0Um9vdCgpIHtcbiAgICByZXR1cm4gdGhpcy5yb290O1xuICB9XG5cbiAgZ2V0Q2hpbGRyZW4oKSB7XG4gICAgcmV0dXJuIHRoaXMuY2hpbGRyZW4uY29uY2F0KCk7XG4gIH1cblxuICBnZXRMaW5lc0luZm8oKTogTGlzdExpbmVbXSB7XG4gICAgY29uc3Qgc3RhcnRMaW5lID0gdGhpcy5yb290LmdldENvbnRlbnRMaW5lc1JhbmdlT2YodGhpcylbMF07XG5cbiAgICByZXR1cm4gdGhpcy5saW5lcy5tYXAoKHJvdywgaSkgPT4ge1xuICAgICAgY29uc3QgbGluZSA9IHN0YXJ0TGluZSArIGk7XG4gICAgICBjb25zdCBzdGFydENoID1cbiAgICAgICAgaSA9PT0gMCA/IHRoaXMuZ2V0Q29udGVudFN0YXJ0Q2goKSA6IHRoaXMubm90ZXNJbmRlbnQubGVuZ3RoO1xuICAgICAgY29uc3QgZW5kQ2ggPSBzdGFydENoICsgcm93Lmxlbmd0aDtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdGV4dDogcm93LFxuICAgICAgICBmcm9tOiB7IGxpbmUsIGNoOiBzdGFydENoIH0sXG4gICAgICAgIHRvOiB7IGxpbmUsIGNoOiBlbmRDaCB9LFxuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuXG4gIGdldExpbmVzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5saW5lcy5jb25jYXQoKTtcbiAgfVxuXG4gIGdldEZpcnN0TGluZUNvbnRlbnRTdGFydCgpIHtcbiAgICBjb25zdCBzdGFydExpbmUgPSB0aGlzLnJvb3QuZ2V0Q29udGVudExpbmVzUmFuZ2VPZih0aGlzKVswXTtcblxuICAgIHJldHVybiB7XG4gICAgICBsaW5lOiBzdGFydExpbmUsXG4gICAgICBjaDogdGhpcy5nZXRDb250ZW50U3RhcnRDaCgpLFxuICAgIH07XG4gIH1cblxuICBnZXRMYXN0TGluZUNvbnRlbnRFbmQoKSB7XG4gICAgY29uc3QgZW5kTGluZSA9IHRoaXMucm9vdC5nZXRDb250ZW50TGluZXNSYW5nZU9mKHRoaXMpWzFdO1xuICAgIGNvbnN0IGVuZENoID1cbiAgICAgIHRoaXMubGluZXMubGVuZ3RoID09PSAxXG4gICAgICAgID8gdGhpcy5nZXRDb250ZW50U3RhcnRDaCgpICsgdGhpcy5saW5lc1swXS5sZW5ndGhcbiAgICAgICAgOiB0aGlzLm5vdGVzSW5kZW50Lmxlbmd0aCArIHRoaXMubGluZXNbdGhpcy5saW5lcy5sZW5ndGggLSAxXS5sZW5ndGg7XG5cbiAgICByZXR1cm4ge1xuICAgICAgbGluZTogZW5kTGluZSxcbiAgICAgIGNoOiBlbmRDaCxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb250ZW50U3RhcnRDaCgpIHtcbiAgICByZXR1cm4gdGhpcy5pbmRlbnQubGVuZ3RoICsgdGhpcy5idWxsZXQubGVuZ3RoICsgMTtcbiAgfVxuXG4gIGlzRm9sZGVkKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmZvbGRSb290KSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5wYXJlbnQpIHtcbiAgICAgIHJldHVybiB0aGlzLnBhcmVudC5pc0ZvbGRlZCgpO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlzRm9sZFJvb3QoKSB7XG4gICAgcmV0dXJuIHRoaXMuZm9sZFJvb3Q7XG4gIH1cblxuICBnZXRUb3BGb2xkUm9vdCgpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXRoaXMtYWxpYXNcbiAgICBsZXQgdG1wOiBMaXN0ID0gdGhpcztcbiAgICBsZXQgZm9sZFJvb3Q6IExpc3QgfCBudWxsID0gbnVsbDtcbiAgICB3aGlsZSAodG1wKSB7XG4gICAgICBpZiAodG1wLmlzRm9sZFJvb3QoKSkge1xuICAgICAgICBmb2xkUm9vdCA9IHRtcDtcbiAgICAgIH1cbiAgICAgIHRtcCA9IHRtcC5wYXJlbnQ7XG4gICAgfVxuICAgIHJldHVybiBmb2xkUm9vdDtcbiAgfVxuXG4gIGdldExldmVsKCk6IG51bWJlciB7XG4gICAgaWYgKCF0aGlzLnBhcmVudCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucGFyZW50LmdldExldmVsKCkgKyAxO1xuICB9XG5cbiAgdW5pbmRlbnRDb250ZW50KGZyb206IG51bWJlciwgdGlsbDogbnVtYmVyKSB7XG4gICAgdGhpcy5pbmRlbnQgPSB0aGlzLmluZGVudC5zbGljZSgwLCBmcm9tKSArIHRoaXMuaW5kZW50LnNsaWNlKHRpbGwpO1xuICAgIGlmICh0aGlzLm5vdGVzSW5kZW50ICE9PSBudWxsKSB7XG4gICAgICB0aGlzLm5vdGVzSW5kZW50ID1cbiAgICAgICAgdGhpcy5ub3Rlc0luZGVudC5zbGljZSgwLCBmcm9tKSArIHRoaXMubm90ZXNJbmRlbnQuc2xpY2UodGlsbCk7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBjaGlsZCBvZiB0aGlzLmNoaWxkcmVuKSB7XG4gICAgICBjaGlsZC51bmluZGVudENvbnRlbnQoZnJvbSwgdGlsbCk7XG4gICAgfVxuICB9XG5cbiAgaW5kZW50Q29udGVudChpbmRlbnRQb3M6IG51bWJlciwgaW5kZW50Q2hhcnM6IHN0cmluZykge1xuICAgIHRoaXMuaW5kZW50ID1cbiAgICAgIHRoaXMuaW5kZW50LnNsaWNlKDAsIGluZGVudFBvcykgK1xuICAgICAgaW5kZW50Q2hhcnMgK1xuICAgICAgdGhpcy5pbmRlbnQuc2xpY2UoaW5kZW50UG9zKTtcbiAgICBpZiAodGhpcy5ub3Rlc0luZGVudCAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5ub3Rlc0luZGVudCA9XG4gICAgICAgIHRoaXMubm90ZXNJbmRlbnQuc2xpY2UoMCwgaW5kZW50UG9zKSArXG4gICAgICAgIGluZGVudENoYXJzICtcbiAgICAgICAgdGhpcy5ub3Rlc0luZGVudC5zbGljZShpbmRlbnRQb3MpO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgY2hpbGQgb2YgdGhpcy5jaGlsZHJlbikge1xuICAgICAgY2hpbGQuaW5kZW50Q29udGVudChpbmRlbnRQb3MsIGluZGVudENoYXJzKTtcbiAgICB9XG4gIH1cblxuICBnZXRGaXJzdExpbmVJbmRlbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuaW5kZW50O1xuICB9XG5cbiAgZ2V0QnVsbGV0KCkge1xuICAgIHJldHVybiB0aGlzLmJ1bGxldDtcbiAgfVxuXG4gIGdldFNwYWNlQWZ0ZXJCdWxsZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3BhY2VBZnRlckJ1bGxldDtcbiAgfVxuXG4gIGdldENoZWNrYm94TGVuZ3RoKCkge1xuICAgIHJldHVybiB0aGlzLmNoZWNrYm94TGVuZ3RoO1xuICB9XG5cbiAgcmVwbGF0ZUJ1bGxldChidWxsZXQ6IHN0cmluZykge1xuICAgIHRoaXMuYnVsbGV0ID0gYnVsbGV0O1xuICB9XG5cbiAgZ2V0UGFyZW50KCkge1xuICAgIHJldHVybiB0aGlzLnBhcmVudDtcbiAgfVxuXG4gIGFkZEJlZm9yZUFsbChsaXN0OiBMaXN0KSB7XG4gICAgdGhpcy5jaGlsZHJlbi51bnNoaWZ0KGxpc3QpO1xuICAgIGxpc3QucGFyZW50ID0gdGhpcztcbiAgfVxuXG4gIGFkZEFmdGVyQWxsKGxpc3Q6IExpc3QpIHtcbiAgICB0aGlzLmNoaWxkcmVuLnB1c2gobGlzdCk7XG4gICAgbGlzdC5wYXJlbnQgPSB0aGlzO1xuICB9XG5cbiAgcmVtb3ZlQ2hpbGQobGlzdDogTGlzdCkge1xuICAgIGNvbnN0IGkgPSB0aGlzLmNoaWxkcmVuLmluZGV4T2YobGlzdCk7XG4gICAgdGhpcy5jaGlsZHJlbi5zcGxpY2UoaSwgMSk7XG4gICAgbGlzdC5wYXJlbnQgPSBudWxsO1xuICB9XG5cbiAgYWRkQmVmb3JlKGJlZm9yZTogTGlzdCwgbGlzdDogTGlzdCkge1xuICAgIGNvbnN0IGkgPSB0aGlzLmNoaWxkcmVuLmluZGV4T2YoYmVmb3JlKTtcbiAgICB0aGlzLmNoaWxkcmVuLnNwbGljZShpLCAwLCBsaXN0KTtcbiAgICBsaXN0LnBhcmVudCA9IHRoaXM7XG4gIH1cblxuICBhZGRBZnRlcihiZWZvcmU6IExpc3QsIGxpc3Q6IExpc3QpIHtcbiAgICBjb25zdCBpID0gdGhpcy5jaGlsZHJlbi5pbmRleE9mKGJlZm9yZSk7XG4gICAgdGhpcy5jaGlsZHJlbi5zcGxpY2UoaSArIDEsIDAsIGxpc3QpO1xuICAgIGxpc3QucGFyZW50ID0gdGhpcztcbiAgfVxuXG4gIGdldFByZXZTaWJsaW5nT2YobGlzdDogTGlzdCkge1xuICAgIGNvbnN0IGkgPSB0aGlzLmNoaWxkcmVuLmluZGV4T2YobGlzdCk7XG4gICAgcmV0dXJuIGkgPiAwID8gdGhpcy5jaGlsZHJlbltpIC0gMV0gOiBudWxsO1xuICB9XG5cbiAgZ2V0TmV4dFNpYmxpbmdPZihsaXN0OiBMaXN0KSB7XG4gICAgY29uc3QgaSA9IHRoaXMuY2hpbGRyZW4uaW5kZXhPZihsaXN0KTtcbiAgICByZXR1cm4gaSA+PSAwICYmIGkgPCB0aGlzLmNoaWxkcmVuLmxlbmd0aCA/IHRoaXMuY2hpbGRyZW5baSArIDFdIDogbnVsbDtcbiAgfVxuXG4gIGlzRW1wdHkoKSB7XG4gICAgcmV0dXJuIHRoaXMuY2hpbGRyZW4ubGVuZ3RoID09PSAwO1xuICB9XG5cbiAgcHJpbnQoKSB7XG4gICAgbGV0IHJlcyA9IFwiXCI7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMubGluZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHJlcyArPVxuICAgICAgICBpID09PSAwXG4gICAgICAgICAgPyB0aGlzLmluZGVudCArIHRoaXMuYnVsbGV0ICsgdGhpcy5zcGFjZUFmdGVyQnVsbGV0XG4gICAgICAgICAgOiB0aGlzLm5vdGVzSW5kZW50O1xuICAgICAgcmVzICs9IHRoaXMubGluZXNbaV07XG4gICAgICByZXMgKz0gXCJcXG5cIjtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIHRoaXMuY2hpbGRyZW4pIHtcbiAgICAgIHJlcyArPSBjaGlsZC5wcmludCgpO1xuICAgIH1cblxuICAgIHJldHVybiByZXM7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFJvb3Qge1xuICBwcml2YXRlIHJvb3RMaXN0ID0gbmV3IExpc3QodGhpcywgXCJcIiwgXCJcIiwgMCwgXCJcIiwgXCJcIiwgZmFsc2UpO1xuICBwcml2YXRlIHNlbGVjdGlvbnM6IFJhbmdlW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0YXJ0OiBQb3NpdGlvbixcbiAgICBwcml2YXRlIGVuZDogUG9zaXRpb24sXG4gICAgc2VsZWN0aW9uczogUmFuZ2VbXVxuICApIHtcbiAgICB0aGlzLnJlcGxhY2VTZWxlY3Rpb25zKHNlbGVjdGlvbnMpO1xuICB9XG5cbiAgZ2V0Um9vdExpc3QoKSB7XG4gICAgcmV0dXJuIHRoaXMucm9vdExpc3Q7XG4gIH1cblxuICBnZXRSYW5nZSgpOiBbUG9zaXRpb24sIFBvc2l0aW9uXSB7XG4gICAgcmV0dXJuIFt7IC4uLnRoaXMuc3RhcnQgfSwgeyAuLi50aGlzLmVuZCB9XTtcbiAgfVxuXG4gIGdldFNlbGVjdGlvbnMoKTogUmFuZ2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0aW9ucy5tYXAoKHMpID0+ICh7XG4gICAgICBhbmNob3I6IHsgLi4ucy5hbmNob3IgfSxcbiAgICAgIGhlYWQ6IHsgLi4ucy5oZWFkIH0sXG4gICAgfSkpO1xuICB9XG5cbiAgaGFzU2luZ2xlQ3Vyc29yKCkge1xuICAgIGlmICghdGhpcy5oYXNTaW5nbGVTZWxlY3Rpb24oKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IHNlbGVjdGlvbiA9IHRoaXMuc2VsZWN0aW9uc1swXTtcblxuICAgIHJldHVybiAoXG4gICAgICBzZWxlY3Rpb24uYW5jaG9yLmxpbmUgPT09IHNlbGVjdGlvbi5oZWFkLmxpbmUgJiZcbiAgICAgIHNlbGVjdGlvbi5hbmNob3IuY2ggPT09IHNlbGVjdGlvbi5oZWFkLmNoXG4gICAgKTtcbiAgfVxuXG4gIGhhc1NpbmdsZVNlbGVjdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3Rpb25zLmxlbmd0aCA9PT0gMTtcbiAgfVxuXG4gIGdldFNlbGVjdGlvbigpIHtcbiAgICBjb25zdCBzZWxlY3Rpb24gPSB0aGlzLnNlbGVjdGlvbnNbdGhpcy5zZWxlY3Rpb25zLmxlbmd0aCAtIDFdO1xuXG4gICAgY29uc3QgZnJvbSA9XG4gICAgICBzZWxlY3Rpb24uYW5jaG9yLmNoID4gc2VsZWN0aW9uLmhlYWQuY2hcbiAgICAgICAgPyBzZWxlY3Rpb24uaGVhZC5jaFxuICAgICAgICA6IHNlbGVjdGlvbi5hbmNob3IuY2g7XG4gICAgY29uc3QgdG8gPVxuICAgICAgc2VsZWN0aW9uLmFuY2hvci5jaCA+IHNlbGVjdGlvbi5oZWFkLmNoXG4gICAgICAgID8gc2VsZWN0aW9uLmFuY2hvci5jaFxuICAgICAgICA6IHNlbGVjdGlvbi5oZWFkLmNoO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnNlbGVjdGlvbixcbiAgICAgIGZyb20sXG4gICAgICB0byxcbiAgICB9O1xuICB9XG5cbiAgZ2V0Q3Vyc29yKCkge1xuICAgIHJldHVybiB7IC4uLnRoaXMuc2VsZWN0aW9uc1t0aGlzLnNlbGVjdGlvbnMubGVuZ3RoIC0gMV0uaGVhZCB9O1xuICB9XG5cbiAgcmVwbGFjZUN1cnNvcihjdXJzb3I6IFBvc2l0aW9uKSB7XG4gICAgdGhpcy5zZWxlY3Rpb25zID0gW3sgYW5jaG9yOiBjdXJzb3IsIGhlYWQ6IGN1cnNvciB9XTtcbiAgfVxuXG4gIHJlcGxhY2VTZWxlY3Rpb25zKHNlbGVjdGlvbnM6IFJhbmdlW10pIHtcbiAgICBpZiAoc2VsZWN0aW9ucy5sZW5ndGggPCAxKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byBjcmVhdGUgUm9vdCB3aXRob3V0IHNlbGVjdGlvbnNgKTtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3Rpb25zID0gc2VsZWN0aW9ucztcbiAgfVxuXG4gIGdldExpc3RVbmRlckN1cnNvcigpOiBMaXN0IHtcbiAgICByZXR1cm4gdGhpcy5nZXRMaXN0VW5kZXJMaW5lKHRoaXMuZ2V0Q3Vyc29yKCkubGluZSk7XG4gIH1cblxuICBnZXRMaXN0VW5kZXJMaW5lKGxpbmU6IG51bWJlcikge1xuICAgIGlmIChsaW5lIDwgdGhpcy5zdGFydC5saW5lIHx8IGxpbmUgPiB0aGlzLmVuZC5saW5lKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IHJlc3VsdDogTGlzdCA9IG51bGw7XG4gICAgbGV0IGluZGV4OiBudW1iZXIgPSB0aGlzLnN0YXJ0LmxpbmU7XG5cbiAgICBjb25zdCB2aXNpdEFyciA9IChsbDogTGlzdFtdKSA9PiB7XG4gICAgICBmb3IgKGNvbnN0IGwgb2YgbGwpIHtcbiAgICAgICAgY29uc3QgbGlzdEZyb21MaW5lID0gaW5kZXg7XG4gICAgICAgIGNvbnN0IGxpc3RUaWxsTGluZSA9IGxpc3RGcm9tTGluZSArIGwuZ2V0TGluZUNvdW50KCkgLSAxO1xuXG4gICAgICAgIGlmIChsaW5lID49IGxpc3RGcm9tTGluZSAmJiBsaW5lIDw9IGxpc3RUaWxsTGluZSkge1xuICAgICAgICAgIHJlc3VsdCA9IGw7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaW5kZXggPSBsaXN0VGlsbExpbmUgKyAxO1xuICAgICAgICAgIHZpc2l0QXJyKGwuZ2V0Q2hpbGRyZW4oKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJlc3VsdCAhPT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG5cbiAgICB2aXNpdEFycih0aGlzLnJvb3RMaXN0LmdldENoaWxkcmVuKCkpO1xuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIGdldENvbnRlbnRMaW5lc1JhbmdlT2YobGlzdDogTGlzdCk6IFtudW1iZXIsIG51bWJlcl0gfCBudWxsIHtcbiAgICBsZXQgcmVzdWx0OiBbbnVtYmVyLCBudW1iZXJdIHwgbnVsbCA9IG51bGw7XG4gICAgbGV0IGxpbmU6IG51bWJlciA9IHRoaXMuc3RhcnQubGluZTtcblxuICAgIGNvbnN0IHZpc2l0QXJyID0gKGxsOiBMaXN0W10pID0+IHtcbiAgICAgIGZvciAoY29uc3QgbCBvZiBsbCkge1xuICAgICAgICBjb25zdCBsaXN0RnJvbUxpbmUgPSBsaW5lO1xuICAgICAgICBjb25zdCBsaXN0VGlsbExpbmUgPSBsaXN0RnJvbUxpbmUgKyBsLmdldExpbmVDb3VudCgpIC0gMTtcblxuICAgICAgICBpZiAobCA9PT0gbGlzdCkge1xuICAgICAgICAgIHJlc3VsdCA9IFtsaXN0RnJvbUxpbmUsIGxpc3RUaWxsTGluZV07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbGluZSA9IGxpc3RUaWxsTGluZSArIDE7XG4gICAgICAgICAgdmlzaXRBcnIobC5nZXRDaGlsZHJlbigpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChyZXN1bHQgIT09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuXG4gICAgdmlzaXRBcnIodGhpcy5yb290TGlzdC5nZXRDaGlsZHJlbigpKTtcblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBnZXRDaGlsZHJlbigpIHtcbiAgICByZXR1cm4gdGhpcy5yb290TGlzdC5nZXRDaGlsZHJlbigpO1xuICB9XG5cbiAgcHJpbnQoKSB7XG4gICAgbGV0IHJlcyA9IFwiXCI7XG5cbiAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIHRoaXMucm9vdExpc3QuZ2V0Q2hpbGRyZW4oKSkge1xuICAgICAgcmVzICs9IGNoaWxkLnByaW50KCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlcy5yZXBsYWNlKC9cXG4kLywgXCJcIik7XG4gIH1cbn1cbiIsImltcG9ydCB7IE9wZXJhdGlvbiB9IGZyb20gXCIuL09wZXJhdGlvblwiO1xuXG5pbXBvcnQgeyBMaXN0LCBQb3NpdGlvbiwgUm9vdCB9IGZyb20gXCIuLi9yb290XCI7XG5pbXBvcnQgeyByZWNhbGN1bGF0ZU51bWVyaWNCdWxsZXRzIH0gZnJvbSBcIi4uL3Jvb3QvcmVjYWxjdWxhdGVOdW1lcmljQnVsbGV0c1wiO1xuaW1wb3J0IHsgaXNFbXB0eUxpbmVPckVtcHR5Q2hlY2tib3ggfSBmcm9tIFwiLi4vdXRpbHMvaXNFbXB0eUxpbmVPckVtcHR5Q2hlY2tib3hcIjtcblxuZXhwb3J0IGludGVyZmFjZSBHZXRab29tUmFuZ2Uge1xuICBnZXRab29tUmFuZ2UoKTogeyBmcm9tOiBQb3NpdGlvbjsgdG86IFBvc2l0aW9uIH0gfCBudWxsO1xufVxuXG5leHBvcnQgY2xhc3MgQ3JlYXRlTmV3SXRlbU9wZXJhdGlvbiBpbXBsZW1lbnRzIE9wZXJhdGlvbiB7XG4gIHByaXZhdGUgc3RvcFByb3BhZ2F0aW9uID0gZmFsc2U7XG4gIHByaXZhdGUgdXBkYXRlZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcm9vdDogUm9vdCxcbiAgICBwcml2YXRlIGRlZmF1bHRJbmRlbnRDaGFyczogc3RyaW5nLFxuICAgIHByaXZhdGUgZ2V0Wm9vbVJhbmdlOiBHZXRab29tUmFuZ2VcbiAgKSB7fVxuXG4gIHNob3VsZFN0b3BQcm9wYWdhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9wUHJvcGFnYXRpb247XG4gIH1cblxuICBzaG91bGRVcGRhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudXBkYXRlZDtcbiAgfVxuXG4gIHBlcmZvcm0oKSB7XG4gICAgY29uc3QgeyByb290IH0gPSB0aGlzO1xuXG4gICAgaWYgKCFyb290Lmhhc1NpbmdsZVNlbGVjdGlvbigpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc2VsZWN0aW9uID0gcm9vdC5nZXRTZWxlY3Rpb24oKTtcbiAgICBpZiAoIXNlbGVjdGlvbiB8fCBzZWxlY3Rpb24uYW5jaG9yLmxpbmUgIT09IHNlbGVjdGlvbi5oZWFkLmxpbmUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBsaXN0ID0gcm9vdC5nZXRMaXN0VW5kZXJDdXJzb3IoKTtcbiAgICBjb25zdCBsaW5lcyA9IGxpc3QuZ2V0TGluZXNJbmZvKCk7XG5cbiAgICBpZiAobGluZXMubGVuZ3RoID09PSAxICYmIGlzRW1wdHlMaW5lT3JFbXB0eUNoZWNrYm94KGxpbmVzWzBdLnRleHQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY3Vyc29yID0gcm9vdC5nZXRDdXJzb3IoKTtcbiAgICBjb25zdCBsaW5lVW5kZXJDdXJzb3IgPSBsaW5lcy5maW5kKChsKSA9PiBsLmZyb20ubGluZSA9PT0gY3Vyc29yLmxpbmUpO1xuXG4gICAgaWYgKGN1cnNvci5jaCA8IGxpbmVVbmRlckN1cnNvci5mcm9tLmNoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgeyBvbGRMaW5lcywgbmV3TGluZXMgfSA9IGxpbmVzLnJlZHVjZShcbiAgICAgIChhY2MsIGxpbmUpID0+IHtcbiAgICAgICAgaWYgKGN1cnNvci5saW5lID4gbGluZS5mcm9tLmxpbmUpIHtcbiAgICAgICAgICBhY2Mub2xkTGluZXMucHVzaChsaW5lLnRleHQpO1xuICAgICAgICB9IGVsc2UgaWYgKGN1cnNvci5saW5lID09PSBsaW5lLmZyb20ubGluZSkge1xuICAgICAgICAgIGNvbnN0IGxlZnQgPSBsaW5lLnRleHQuc2xpY2UoMCwgc2VsZWN0aW9uLmZyb20gLSBsaW5lLmZyb20uY2gpO1xuICAgICAgICAgIGNvbnN0IHJpZ2h0ID0gbGluZS50ZXh0LnNsaWNlKHNlbGVjdGlvbi50byAtIGxpbmUuZnJvbS5jaCk7XG4gICAgICAgICAgYWNjLm9sZExpbmVzLnB1c2gobGVmdCk7XG4gICAgICAgICAgYWNjLm5ld0xpbmVzLnB1c2gocmlnaHQpO1xuICAgICAgICB9IGVsc2UgaWYgKGN1cnNvci5saW5lIDwgbGluZS5mcm9tLmxpbmUpIHtcbiAgICAgICAgICBhY2MubmV3TGluZXMucHVzaChsaW5lLnRleHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG9sZExpbmVzOiBbXSxcbiAgICAgICAgbmV3TGluZXM6IFtdLFxuICAgICAgfVxuICAgICk7XG5cbiAgICBjb25zdCBjb2RlQmxvY2tCYWN0aWNrcyA9IG9sZExpbmVzLmpvaW4oXCJcXG5cIikuc3BsaXQoXCJgYGBcIikubGVuZ3RoIC0gMTtcbiAgICBjb25zdCBpc0luc2lkZUNvZGVibG9jayA9XG4gICAgICBjb2RlQmxvY2tCYWN0aWNrcyA+IDAgJiYgY29kZUJsb2NrQmFjdGlja3MgJSAyICE9PSAwO1xuXG4gICAgaWYgKGlzSW5zaWRlQ29kZWJsb2NrKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zdG9wUHJvcGFnYXRpb24gPSB0cnVlO1xuICAgIHRoaXMudXBkYXRlZCA9IHRydWU7XG5cbiAgICBjb25zdCB6b29tUmFuZ2UgPSB0aGlzLmdldFpvb21SYW5nZS5nZXRab29tUmFuZ2UoKTtcbiAgICBjb25zdCBsaXN0SXNab29taW5nUm9vdCA9IEJvb2xlYW4oXG4gICAgICB6b29tUmFuZ2UgJiZcbiAgICAgICAgbGlzdC5nZXRGaXJzdExpbmVDb250ZW50U3RhcnQoKS5saW5lID49IHpvb21SYW5nZS5mcm9tLmxpbmUgJiZcbiAgICAgICAgbGlzdC5nZXRMYXN0TGluZUNvbnRlbnRFbmQoKS5saW5lIDw9IHpvb21SYW5nZS5mcm9tLmxpbmVcbiAgICApO1xuXG4gICAgY29uc3QgaGFzQ2hpbGRyZW4gPSAhbGlzdC5pc0VtcHR5KCk7XG4gICAgY29uc3QgY2hpbGRJc0ZvbGRlZCA9IGxpc3QuaXNGb2xkUm9vdCgpO1xuICAgIGNvbnN0IGVuZFBvcyA9IGxpc3QuZ2V0TGFzdExpbmVDb250ZW50RW5kKCk7XG4gICAgY29uc3QgZW5kT2ZMaW5lID0gY3Vyc29yLmxpbmUgPT09IGVuZFBvcy5saW5lICYmIGN1cnNvci5jaCA9PT0gZW5kUG9zLmNoO1xuXG4gICAgY29uc3Qgb25DaGlsZExldmVsID1cbiAgICAgIGxpc3RJc1pvb21pbmdSb290IHx8IChoYXNDaGlsZHJlbiAmJiAhY2hpbGRJc0ZvbGRlZCAmJiBlbmRPZkxpbmUpO1xuXG4gICAgY29uc3QgaW5kZW50ID0gb25DaGlsZExldmVsXG4gICAgICA/IGhhc0NoaWxkcmVuXG4gICAgICAgID8gbGlzdC5nZXRDaGlsZHJlbigpWzBdLmdldEZpcnN0TGluZUluZGVudCgpXG4gICAgICAgIDogbGlzdC5nZXRGaXJzdExpbmVJbmRlbnQoKSArIHRoaXMuZGVmYXVsdEluZGVudENoYXJzXG4gICAgICA6IGxpc3QuZ2V0Rmlyc3RMaW5lSW5kZW50KCk7XG5cbiAgICBjb25zdCBidWxsZXQgPVxuICAgICAgb25DaGlsZExldmVsICYmIGhhc0NoaWxkcmVuXG4gICAgICAgID8gbGlzdC5nZXRDaGlsZHJlbigpWzBdLmdldEJ1bGxldCgpXG4gICAgICAgIDogbGlzdC5nZXRCdWxsZXQoKTtcblxuICAgIGNvbnN0IHNwYWNlQWZ0ZXJCdWxsZXQgPVxuICAgICAgb25DaGlsZExldmVsICYmIGhhc0NoaWxkcmVuXG4gICAgICAgID8gbGlzdC5nZXRDaGlsZHJlbigpWzBdLmdldFNwYWNlQWZ0ZXJCdWxsZXQoKVxuICAgICAgICA6IGxpc3QuZ2V0U3BhY2VBZnRlckJ1bGxldCgpO1xuXG4gICAgY29uc3QgcHJlZml4ID0gb2xkTGluZXNbMF0ubWF0Y2goL15cXFsuXFxdLykgPyBcIlsgXSBcIiA6IFwiXCI7XG5cbiAgICBjb25zdCBuZXdMaXN0ID0gbmV3IExpc3QoXG4gICAgICBsaXN0LmdldFJvb3QoKSxcbiAgICAgIGluZGVudCxcbiAgICAgIGJ1bGxldCxcbiAgICAgIHByZWZpeC5sZW5ndGgsXG4gICAgICBzcGFjZUFmdGVyQnVsbGV0LFxuICAgICAgcHJlZml4ICsgbmV3TGluZXMuc2hpZnQoKSxcbiAgICAgIGZhbHNlXG4gICAgKTtcblxuICAgIGlmIChuZXdMaW5lcy5sZW5ndGggPiAwKSB7XG4gICAgICBuZXdMaXN0LnNldE5vdGVzSW5kZW50KGxpc3QuZ2V0Tm90ZXNJbmRlbnQoKSk7XG4gICAgICBmb3IgKGNvbnN0IGxpbmUgb2YgbmV3TGluZXMpIHtcbiAgICAgICAgbmV3TGlzdC5hZGRMaW5lKGxpbmUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChvbkNoaWxkTGV2ZWwpIHtcbiAgICAgIGxpc3QuYWRkQmVmb3JlQWxsKG5ld0xpc3QpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoIWNoaWxkSXNGb2xkZWQgfHwgIWVuZE9mTGluZSkge1xuICAgICAgICBjb25zdCBjaGlsZHJlbiA9IGxpc3QuZ2V0Q2hpbGRyZW4oKTtcbiAgICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiBjaGlsZHJlbikge1xuICAgICAgICAgIGxpc3QucmVtb3ZlQ2hpbGQoY2hpbGQpO1xuICAgICAgICAgIG5ld0xpc3QuYWRkQWZ0ZXJBbGwoY2hpbGQpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGxpc3QuZ2V0UGFyZW50KCkuYWRkQWZ0ZXIobGlzdCwgbmV3TGlzdCk7XG4gICAgfVxuXG4gICAgbGlzdC5yZXBsYWNlTGluZXMob2xkTGluZXMpO1xuXG4gICAgY29uc3QgbmV3TGlzdFN0YXJ0ID0gbmV3TGlzdC5nZXRGaXJzdExpbmVDb250ZW50U3RhcnQoKTtcbiAgICByb290LnJlcGxhY2VDdXJzb3Ioe1xuICAgICAgbGluZTogbmV3TGlzdFN0YXJ0LmxpbmUsXG4gICAgICBjaDogbmV3TGlzdFN0YXJ0LmNoICsgcHJlZml4Lmxlbmd0aCxcbiAgICB9KTtcblxuICAgIHJlY2FsY3VsYXRlTnVtZXJpY0J1bGxldHMocm9vdCk7XG4gIH1cbn1cbiIsImltcG9ydCB7IFBsdWdpbl8yIH0gZnJvbSBcIm9ic2lkaWFuXCI7XG5cbmltcG9ydCB7IFByZWMgfSBmcm9tIFwiQGNvZGVtaXJyb3Ivc3RhdGVcIjtcbmltcG9ydCB7IGtleW1hcCB9IGZyb20gXCJAY29kZW1pcnJvci92aWV3XCI7XG5cbmltcG9ydCB7IE15RWRpdG9yIH0gZnJvbSBcIi4uL015RWRpdG9yXCI7XG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSBcIi4uL2ZlYXR1cmVzL0ZlYXR1cmVcIjtcbmltcG9ydCB7IENyZWF0ZU5ld0l0ZW1PcGVyYXRpb24gfSBmcm9tIFwiLi4vb3BlcmF0aW9ucy9DcmVhdGVOZXdJdGVtT3BlcmF0aW9uXCI7XG5pbXBvcnQgeyBJTUVTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL0lNRVNlcnZpY2VcIjtcbmltcG9ydCB7IE9ic2lkaWFuU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9PYnNpZGlhblNlcnZpY2VcIjtcbmltcG9ydCB7IFBlcmZvcm1PcGVyYXRpb25TZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL1BlcmZvcm1PcGVyYXRpb25TZXJ2aWNlXCI7XG5pbXBvcnQgeyBTZXR0aW5nc1NlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvU2V0dGluZ3NTZXJ2aWNlXCI7XG5cbmV4cG9ydCBjbGFzcyBFbnRlclNob3VsZENyZWF0ZU5ld0l0ZW1GZWF0dXJlIGltcGxlbWVudHMgRmVhdHVyZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcGx1Z2luOiBQbHVnaW5fMixcbiAgICBwcml2YXRlIHNldHRpbmdzOiBTZXR0aW5nc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbWU6IElNRVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBvYnNpZGlhbjogT2JzaWRpYW5TZXJ2aWNlLFxuICAgIHByaXZhdGUgcGVyZm9ybU9wZXJhdGlvbjogUGVyZm9ybU9wZXJhdGlvblNlcnZpY2VcbiAgKSB7fVxuXG4gIGFzeW5jIGxvYWQoKSB7XG4gICAgdGhpcy5wbHVnaW4ucmVnaXN0ZXJFZGl0b3JFeHRlbnNpb24oXG4gICAgICBQcmVjLmhpZ2hlc3QoXG4gICAgICAgIGtleW1hcC5vZihbXG4gICAgICAgICAge1xuICAgICAgICAgICAga2V5OiBcIkVudGVyXCIsXG4gICAgICAgICAgICBydW46IHRoaXMub2JzaWRpYW4uY3JlYXRlS2V5bWFwUnVuQ2FsbGJhY2soe1xuICAgICAgICAgICAgICBjaGVjazogdGhpcy5jaGVjayxcbiAgICAgICAgICAgICAgcnVuOiB0aGlzLnJ1bixcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0pXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIGFzeW5jIHVubG9hZCgpIHt9XG5cbiAgcHJpdmF0ZSBjaGVjayA9ICgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5zZXR0aW5ncy5iZXR0ZXJFbnRlciAmJiAhdGhpcy5pbWUuaXNJTUVPcGVuZWQoKTtcbiAgfTtcblxuICBwcml2YXRlIHJ1biA9IChlZGl0b3I6IE15RWRpdG9yKSA9PiB7XG4gICAgY29uc3Qgem9vbVJhbmdlID0gZWRpdG9yLmdldFpvb21SYW5nZSgpO1xuXG4gICAgY29uc3QgcmVzID0gdGhpcy5wZXJmb3JtT3BlcmF0aW9uLnBlcmZvcm1PcGVyYXRpb24oXG4gICAgICAocm9vdCkgPT5cbiAgICAgICAgbmV3IENyZWF0ZU5ld0l0ZW1PcGVyYXRpb24oXG4gICAgICAgICAgcm9vdCxcbiAgICAgICAgICB0aGlzLm9ic2lkaWFuLmdldERlZmF1bHRJbmRlbnRDaGFycygpLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGdldFpvb21SYW5nZTogKCkgPT4gem9vbVJhbmdlLFxuICAgICAgICAgIH1cbiAgICAgICAgKSxcbiAgICAgIGVkaXRvclxuICAgICk7XG5cbiAgICBpZiAocmVzLnNob3VsZFVwZGF0ZSAmJiB6b29tUmFuZ2UpIHtcbiAgICAgIGVkaXRvci56b29tSW4oem9vbVJhbmdlLmZyb20ubGluZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlcztcbiAgfTtcbn1cbiIsImltcG9ydCB7IE5vdGljZSwgUGx1Z2luXzIgfSBmcm9tIFwib2JzaWRpYW5cIjtcblxuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gXCIuL0ZlYXR1cmVcIjtcblxuaW1wb3J0IHsgTXlFZGl0b3IgfSBmcm9tIFwiLi4vTXlFZGl0b3JcIjtcbmltcG9ydCB7IE9ic2lkaWFuU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9PYnNpZGlhblNlcnZpY2VcIjtcblxuZXhwb3J0IGNsYXNzIEZvbGRGZWF0dXJlIGltcGxlbWVudHMgRmVhdHVyZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGx1Z2luOiBQbHVnaW5fMiwgcHJpdmF0ZSBvYnNpZGlhbjogT2JzaWRpYW5TZXJ2aWNlKSB7fVxuXG4gIGFzeW5jIGxvYWQoKSB7XG4gICAgdGhpcy5wbHVnaW4uYWRkQ29tbWFuZCh7XG4gICAgICBpZDogXCJmb2xkXCIsXG4gICAgICBpY29uOiBcImNoZXZyb25zLWRvd24tdXBcIixcbiAgICAgIG5hbWU6IFwiRm9sZCB0aGUgbGlzdFwiLFxuICAgICAgZWRpdG9yQ2FsbGJhY2s6IHRoaXMub2JzaWRpYW4uY3JlYXRlRWRpdG9yQ2FsbGJhY2sodGhpcy5mb2xkKSxcbiAgICAgIGhvdGtleXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vZGlmaWVyczogW1wiTW9kXCJdLFxuICAgICAgICAgIGtleTogXCJBcnJvd1VwXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pO1xuXG4gICAgdGhpcy5wbHVnaW4uYWRkQ29tbWFuZCh7XG4gICAgICBpZDogXCJ1bmZvbGRcIixcbiAgICAgIGljb246IFwiY2hldnJvbnMtdXAtZG93blwiLFxuICAgICAgbmFtZTogXCJVbmZvbGQgdGhlIGxpc3RcIixcbiAgICAgIGVkaXRvckNhbGxiYWNrOiB0aGlzLm9ic2lkaWFuLmNyZWF0ZUVkaXRvckNhbGxiYWNrKHRoaXMudW5mb2xkKSxcbiAgICAgIGhvdGtleXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vZGlmaWVyczogW1wiTW9kXCJdLFxuICAgICAgICAgIGtleTogXCJBcnJvd0Rvd25cIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyB1bmxvYWQoKSB7fVxuXG4gIHByaXZhdGUgc2V0Rm9sZChlZGl0b3I6IE15RWRpdG9yLCB0eXBlOiBcImZvbGRcIiB8IFwidW5mb2xkXCIpIHtcbiAgICBpZiAoIXRoaXMub2JzaWRpYW4uZ2V0T2JzaWRpYW5Gb2xkU2V0dGluZ3MoKS5mb2xkSW5kZW50KSB7XG4gICAgICBuZXcgTm90aWNlKFxuICAgICAgICBgVW5hYmxlIHRvICR7dHlwZX0gYmVjYXVzZSBmb2xkaW5nIGlzIGRpc2FibGVkLiBQbGVhc2UgZW5hYmxlIFwiRm9sZCBpbmRlbnRcIiBpbiBPYnNpZGlhbiBzZXR0aW5ncy5gLFxuICAgICAgICA1MDAwXG4gICAgICApO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgY29uc3QgY3Vyc29yID0gZWRpdG9yLmdldEN1cnNvcigpO1xuXG4gICAgaWYgKHR5cGUgPT09IFwiZm9sZFwiKSB7XG4gICAgICBlZGl0b3IuZm9sZChjdXJzb3IubGluZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGVkaXRvci51bmZvbGQoY3Vyc29yLmxpbmUpO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSBmb2xkID0gKGVkaXRvcjogTXlFZGl0b3IpID0+IHtcbiAgICByZXR1cm4gdGhpcy5zZXRGb2xkKGVkaXRvciwgXCJmb2xkXCIpO1xuICB9O1xuXG4gIHByaXZhdGUgdW5mb2xkID0gKGVkaXRvcjogTXlFZGl0b3IpID0+IHtcbiAgICByZXR1cm4gdGhpcy5zZXRGb2xkKGVkaXRvciwgXCJ1bmZvbGRcIik7XG4gIH07XG59XG4iLCIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMgKi9cbmltcG9ydCB7IEVkaXRvciB9IGZyb20gXCJvYnNpZGlhblwiO1xuXG5pbXBvcnQge1xuICBmb2xkRWZmZWN0LFxuICBmb2xkYWJsZSxcbiAgZm9sZGVkUmFuZ2VzLFxuICB1bmZvbGRFZmZlY3QsXG59IGZyb20gXCJAY29kZW1pcnJvci9sYW5ndWFnZVwiO1xuaW1wb3J0IHsgRWRpdG9yVmlldywgcnVuU2NvcGVIYW5kbGVycyB9IGZyb20gXCJAY29kZW1pcnJvci92aWV3XCI7XG5cbmV4cG9ydCBjbGFzcyBNeUVkaXRvclBvc2l0aW9uIHtcbiAgbGluZTogbnVtYmVyO1xuICBjaDogbnVtYmVyO1xufVxuXG5leHBvcnQgY2xhc3MgTXlFZGl0b3JSYW5nZSB7XG4gIGZyb206IE15RWRpdG9yUG9zaXRpb247XG4gIHRvOiBNeUVkaXRvclBvc2l0aW9uO1xufVxuXG5leHBvcnQgY2xhc3MgTXlFZGl0b3JTZWxlY3Rpb24ge1xuICBhbmNob3I6IE15RWRpdG9yUG9zaXRpb247XG4gIGhlYWQ6IE15RWRpdG9yUG9zaXRpb247XG59XG5cbmZ1bmN0aW9uIGZvbGRJbnNpZGUodmlldzogRWRpdG9yVmlldywgZnJvbTogbnVtYmVyLCB0bzogbnVtYmVyKSB7XG4gIGxldCBmb3VuZDogeyBmcm9tOiBudW1iZXI7IHRvOiBudW1iZXIgfSB8IG51bGwgPSBudWxsO1xuICBmb2xkZWRSYW5nZXModmlldy5zdGF0ZSkuYmV0d2Vlbihmcm9tLCB0bywgKGZyb20sIHRvKSA9PiB7XG4gICAgaWYgKCFmb3VuZCB8fCBmb3VuZC5mcm9tID4gZnJvbSkgZm91bmQgPSB7IGZyb20sIHRvIH07XG4gIH0pO1xuICByZXR1cm4gZm91bmQ7XG59XG5cbmV4cG9ydCBjbGFzcyBNeUVkaXRvciB7XG4gIHByaXZhdGUgdmlldzogRWRpdG9yVmlldztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGU6IEVkaXRvcikge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgdGhpcy52aWV3ID0gKHRoaXMuZSBhcyBhbnkpLmNtO1xuICB9XG5cbiAgZ2V0Q3Vyc29yKCk6IE15RWRpdG9yUG9zaXRpb24ge1xuICAgIHJldHVybiB0aGlzLmUuZ2V0Q3Vyc29yKCk7XG4gIH1cblxuICBnZXRMaW5lKG46IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZS5nZXRMaW5lKG4pO1xuICB9XG5cbiAgbGFzdExpbmUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5lLmxhc3RMaW5lKCk7XG4gIH1cblxuICBsaXN0U2VsZWN0aW9ucygpOiBNeUVkaXRvclNlbGVjdGlvbltdIHtcbiAgICByZXR1cm4gdGhpcy5lLmxpc3RTZWxlY3Rpb25zKCk7XG4gIH1cblxuICBnZXRSYW5nZShmcm9tOiBNeUVkaXRvclBvc2l0aW9uLCB0bzogTXlFZGl0b3JQb3NpdGlvbik6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZS5nZXRSYW5nZShmcm9tLCB0byk7XG4gIH1cblxuICByZXBsYWNlUmFuZ2UoXG4gICAgcmVwbGFjZW1lbnQ6IHN0cmluZyxcbiAgICBmcm9tOiBNeUVkaXRvclBvc2l0aW9uLFxuICAgIHRvOiBNeUVkaXRvclBvc2l0aW9uXG4gICk6IHZvaWQge1xuICAgIHJldHVybiB0aGlzLmUucmVwbGFjZVJhbmdlKHJlcGxhY2VtZW50LCBmcm9tLCB0byk7XG4gIH1cblxuICBzZXRTZWxlY3Rpb25zKHNlbGVjdGlvbnM6IE15RWRpdG9yU2VsZWN0aW9uW10pOiB2b2lkIHtcbiAgICB0aGlzLmUuc2V0U2VsZWN0aW9ucyhzZWxlY3Rpb25zKTtcbiAgfVxuXG4gIHNldFZhbHVlKHRleHQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuZS5zZXRWYWx1ZSh0ZXh0KTtcbiAgfVxuXG4gIGdldFZhbHVlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZS5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgb2Zmc2V0VG9Qb3Mob2Zmc2V0OiBudW1iZXIpOiBNeUVkaXRvclBvc2l0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5lLm9mZnNldFRvUG9zKG9mZnNldCk7XG4gIH1cblxuICBwb3NUb09mZnNldChwb3M6IE15RWRpdG9yUG9zaXRpb24pOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmUucG9zVG9PZmZzZXQocG9zKTtcbiAgfVxuXG4gIGZvbGQobjogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3QgeyB2aWV3IH0gPSB0aGlzO1xuICAgIGNvbnN0IGwgPSB2aWV3LmxpbmVCbG9ja0F0KHZpZXcuc3RhdGUuZG9jLmxpbmUobiArIDEpLmZyb20pO1xuICAgIGNvbnN0IHJhbmdlID0gZm9sZGFibGUodmlldy5zdGF0ZSwgbC5mcm9tLCBsLnRvKTtcblxuICAgIGlmICghcmFuZ2UgfHwgcmFuZ2UuZnJvbSA9PT0gcmFuZ2UudG8pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2aWV3LmRpc3BhdGNoKHsgZWZmZWN0czogW2ZvbGRFZmZlY3Qub2YocmFuZ2UpXSB9KTtcbiAgfVxuXG4gIHVuZm9sZChuOiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCB7IHZpZXcgfSA9IHRoaXM7XG4gICAgY29uc3QgbCA9IHZpZXcubGluZUJsb2NrQXQodmlldy5zdGF0ZS5kb2MubGluZShuICsgMSkuZnJvbSk7XG4gICAgY29uc3QgcmFuZ2UgPSBmb2xkSW5zaWRlKHZpZXcsIGwuZnJvbSwgbC50byk7XG5cbiAgICBpZiAoIXJhbmdlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmlldy5kaXNwYXRjaCh7IGVmZmVjdHM6IFt1bmZvbGRFZmZlY3Qub2YocmFuZ2UpXSB9KTtcbiAgfVxuXG4gIGdldEFsbEZvbGRlZExpbmVzKCk6IG51bWJlcltdIHtcbiAgICBjb25zdCBjID0gZm9sZGVkUmFuZ2VzKHRoaXMudmlldy5zdGF0ZSkuaXRlcigpO1xuICAgIGNvbnN0IHJlczogbnVtYmVyW10gPSBbXTtcbiAgICB3aGlsZSAoYy52YWx1ZSkge1xuICAgICAgcmVzLnB1c2godGhpcy5vZmZzZXRUb1BvcyhjLmZyb20pLmxpbmUpO1xuICAgICAgYy5uZXh0KCk7XG4gICAgfVxuICAgIHJldHVybiByZXM7XG4gIH1cblxuICB0cmlnZ2VyT25LZXlEb3duKGU6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBydW5TY29wZUhhbmRsZXJzKHRoaXMudmlldywgZSwgXCJlZGl0b3JcIik7XG4gIH1cblxuICBnZXRab29tUmFuZ2UoKTogTXlFZGl0b3JSYW5nZSB8IG51bGwge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgY29uc3QgYXBpID0gKHdpbmRvdyBhcyBhbnkpLk9ic2lkaWFuWm9vbVBsdWdpbjtcblxuICAgIGlmICghYXBpIHx8ICFhcGkuZ2V0Wm9vbVJhbmdlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gYXBpLmdldFpvb21SYW5nZSh0aGlzLmUpO1xuICB9XG5cbiAgem9vbU91dCgpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIGNvbnN0IGFwaSA9ICh3aW5kb3cgYXMgYW55KS5PYnNpZGlhblpvb21QbHVnaW47XG5cbiAgICBpZiAoIWFwaSB8fCAhYXBpLnpvb21PdXQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBhcGkuem9vbU91dCh0aGlzLmUpO1xuICB9XG5cbiAgem9vbUluKGxpbmU6IG51bWJlcikge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgY29uc3QgYXBpID0gKHdpbmRvdyBhcyBhbnkpLk9ic2lkaWFuWm9vbVBsdWdpbjtcblxuICAgIGlmICghYXBpIHx8ICFhcGkuem9vbUluKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgYXBpLnpvb21Jbih0aGlzLmUsIGxpbmUpO1xuICB9XG59XG4iLCJpbXBvcnQgeyBQbHVnaW5fMiwgZWRpdG9ySW5mb0ZpZWxkIH0gZnJvbSBcIm9ic2lkaWFuXCI7XG5cbmltcG9ydCB7XG4gIEVkaXRvclZpZXcsXG4gIFBsdWdpblZhbHVlLFxuICBWaWV3UGx1Z2luLFxuICBWaWV3VXBkYXRlLFxufSBmcm9tIFwiQGNvZGVtaXJyb3Ivdmlld1wiO1xuXG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSBcIi4vRmVhdHVyZVwiO1xuXG5pbXBvcnQgeyBNeUVkaXRvciB9IGZyb20gXCIuLi9NeUVkaXRvclwiO1xuaW1wb3J0IHsgTGlzdCB9IGZyb20gXCIuLi9yb290XCI7XG5pbXBvcnQgeyBPYnNpZGlhblNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvT2JzaWRpYW5TZXJ2aWNlXCI7XG5pbXBvcnQgeyBQYXJzZXJTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL1BhcnNlclNlcnZpY2VcIjtcbmltcG9ydCB7IFNldHRpbmdzU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9TZXR0aW5nc1NlcnZpY2VcIjtcblxuaW50ZXJmYWNlIExpbmVEYXRhIHtcbiAgdG9wOiBudW1iZXI7XG4gIGxlZnQ6IG51bWJlcjtcbiAgaGVpZ2h0OiBzdHJpbmc7XG4gIGxpc3Q6IExpc3Q7XG59XG5cbmNsYXNzIExpc3RMaW5lc1ZpZXdQbHVnaW5WYWx1ZSBpbXBsZW1lbnRzIFBsdWdpblZhbHVlIHtcbiAgcHJpdmF0ZSBzY2hlZHVsZWQ6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+O1xuICBwcml2YXRlIHNjcm9sbGVyOiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBjb250ZW50Q29udGFpbmVyOiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBlZGl0b3I6IE15RWRpdG9yO1xuICBwcml2YXRlIGxhc3RMaW5lOiBudW1iZXI7XG4gIHByaXZhdGUgbGluZXM6IExpbmVEYXRhW107XG4gIHByaXZhdGUgbGluZUVsZW1lbnRzOiBIVE1MRWxlbWVudFtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzZXR0aW5nczogU2V0dGluZ3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgb2JzaWRpYW46IE9ic2lkaWFuU2VydmljZSxcbiAgICBwcml2YXRlIHBhcnNlcjogUGFyc2VyU2VydmljZSxcbiAgICBwcml2YXRlIHZpZXc6IEVkaXRvclZpZXdcbiAgKSB7XG4gICAgdGhpcy52aWV3LnNjcm9sbERPTS5hZGRFdmVudExpc3RlbmVyKFwic2Nyb2xsXCIsIHRoaXMub25TY3JvbGwpO1xuICAgIHRoaXMuc2V0dGluZ3Mub25DaGFuZ2UoXCJsaXN0TGluZXNcIiwgdGhpcy5zY2hlZHVsZVJlY2FsY3VsYXRlKTtcblxuICAgIHRoaXMucHJlcGFyZURvbSgpO1xuICAgIHRoaXMud2FpdEZvckVkaXRvcigpO1xuICB9XG5cbiAgcHJpdmF0ZSB3YWl0Rm9yRWRpdG9yID0gKCkgPT4ge1xuICAgIGNvbnN0IG9lID0gdGhpcy52aWV3LnN0YXRlLmZpZWxkKGVkaXRvckluZm9GaWVsZCkuZWRpdG9yO1xuICAgIGlmICghb2UpIHtcbiAgICAgIHNldFRpbWVvdXQodGhpcy53YWl0Rm9yRWRpdG9yLCAwKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5lZGl0b3IgPSBuZXcgTXlFZGl0b3Iob2UpO1xuICAgIHRoaXMuc2NoZWR1bGVSZWNhbGN1bGF0ZSgpO1xuICB9O1xuXG4gIHByaXZhdGUgcHJlcGFyZURvbSgpIHtcbiAgICB0aGlzLmNvbnRlbnRDb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xuICAgIHRoaXMuY29udGVudENvbnRhaW5lci5jbGFzc0xpc3QuYWRkKFxuICAgICAgXCJvdXRsaW5lci1wbHVnaW4tbGlzdC1saW5lcy1jb250ZW50LWNvbnRhaW5lclwiXG4gICAgKTtcblxuICAgIHRoaXMuc2Nyb2xsZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xuICAgIHRoaXMuc2Nyb2xsZXIuY2xhc3NMaXN0LmFkZChcIm91dGxpbmVyLXBsdWdpbi1saXN0LWxpbmVzLXNjcm9sbGVyXCIpO1xuXG4gICAgdGhpcy5zY3JvbGxlci5hcHBlbmRDaGlsZCh0aGlzLmNvbnRlbnRDb250YWluZXIpO1xuICAgIHRoaXMudmlldy5kb20uYXBwZW5kQ2hpbGQodGhpcy5zY3JvbGxlcik7XG4gIH1cblxuICBwcml2YXRlIG9uU2Nyb2xsID0gKGU6IEV2ZW50KSA9PiB7XG4gICAgY29uc3QgeyBzY3JvbGxMZWZ0LCBzY3JvbGxUb3AgfSA9IGUudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgIHRoaXMuc2Nyb2xsZXIuc2Nyb2xsVG8oc2Nyb2xsTGVmdCwgc2Nyb2xsVG9wKTtcbiAgfTtcblxuICBwcml2YXRlIHNjaGVkdWxlUmVjYWxjdWxhdGUgPSAoKSA9PiB7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuc2NoZWR1bGVkKTtcbiAgICB0aGlzLnNjaGVkdWxlZCA9IHNldFRpbWVvdXQodGhpcy5jYWxjdWxhdGUsIDApO1xuICB9O1xuXG4gIHVwZGF0ZSh1cGRhdGU6IFZpZXdVcGRhdGUpIHtcbiAgICBpZiAoXG4gICAgICB1cGRhdGUuZG9jQ2hhbmdlZCB8fFxuICAgICAgdXBkYXRlLnZpZXdwb3J0Q2hhbmdlZCB8fFxuICAgICAgdXBkYXRlLmdlb21ldHJ5Q2hhbmdlZCB8fFxuICAgICAgdXBkYXRlLnRyYW5zYWN0aW9ucy5zb21lKCh0cikgPT4gdHIucmVjb25maWd1cmVkKVxuICAgICkge1xuICAgICAgdGhpcy5zY2hlZHVsZVJlY2FsY3VsYXRlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjYWxjdWxhdGUgPSAoKSA9PiB7XG4gICAgdGhpcy5saW5lcyA9IFtdO1xuXG4gICAgaWYgKFxuICAgICAgdGhpcy5zZXR0aW5ncy5saXN0TGluZXMgJiZcbiAgICAgIHRoaXMub2JzaWRpYW4uaXNEZWZhdWx0VGhlbWVFbmFibGVkKCkgJiZcbiAgICAgIHRoaXMudmlldy52aWV3cG9ydExpbmVCbG9ja3MubGVuZ3RoID4gMCAmJlxuICAgICAgdGhpcy52aWV3LnZpc2libGVSYW5nZXMubGVuZ3RoID4gMFxuICAgICkge1xuICAgICAgY29uc3QgZnJvbUxpbmUgPSB0aGlzLmVkaXRvci5vZmZzZXRUb1Bvcyh0aGlzLnZpZXcudmlld3BvcnQuZnJvbSkubGluZTtcbiAgICAgIGNvbnN0IHRvTGluZSA9IHRoaXMuZWRpdG9yLm9mZnNldFRvUG9zKHRoaXMudmlldy52aWV3cG9ydC50bykubGluZTtcbiAgICAgIGNvbnN0IGxpc3RzID0gdGhpcy5wYXJzZXIucGFyc2VSYW5nZSh0aGlzLmVkaXRvciwgZnJvbUxpbmUsIHRvTGluZSk7XG5cbiAgICAgIGZvciAoY29uc3QgbGlzdCBvZiBsaXN0cykge1xuICAgICAgICB0aGlzLmxhc3RMaW5lID0gbGlzdC5nZXRSYW5nZSgpWzFdLmxpbmU7XG5cbiAgICAgICAgZm9yIChjb25zdCBjIG9mIGxpc3QuZ2V0Q2hpbGRyZW4oKSkge1xuICAgICAgICAgIHRoaXMucmVjdXJzaXZlKGMpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRoaXMubGluZXMuc29ydCgoYSwgYikgPT5cbiAgICAgICAgYS50b3AgPT09IGIudG9wID8gYS5sZWZ0IC0gYi5sZWZ0IDogYS50b3AgLSBiLnRvcFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLnVwZGF0ZURvbSgpO1xuICB9O1xuXG4gIHByaXZhdGUgZ2V0TmV4dFNpYmxpbmcobGlzdDogTGlzdCk6IExpc3QgfCBudWxsIHtcbiAgICBsZXQgbGlzdFRtcCA9IGxpc3Q7XG4gICAgbGV0IHAgPSBsaXN0VG1wLmdldFBhcmVudCgpO1xuICAgIHdoaWxlIChwKSB7XG4gICAgICBjb25zdCBuZXh0U2libGluZyA9IHAuZ2V0TmV4dFNpYmxpbmdPZihsaXN0VG1wKTtcbiAgICAgIGlmIChuZXh0U2libGluZykge1xuICAgICAgICByZXR1cm4gbmV4dFNpYmxpbmc7XG4gICAgICB9XG4gICAgICBsaXN0VG1wID0gcDtcbiAgICAgIHAgPSBsaXN0VG1wLmdldFBhcmVudCgpO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgcmVjdXJzaXZlKGxpc3Q6IExpc3QsIHBhcmVudEN0eDogeyByb290TGVmdD86IG51bWJlciB9ID0ge30pIHtcbiAgICBjb25zdCBjaGlsZHJlbiA9IGxpc3QuZ2V0Q2hpbGRyZW4oKTtcblxuICAgIGlmIChjaGlsZHJlbi5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBmcm9tT2Zmc2V0ID0gdGhpcy5lZGl0b3IucG9zVG9PZmZzZXQoe1xuICAgICAgbGluZTogbGlzdC5nZXRGaXJzdExpbmVDb250ZW50U3RhcnQoKS5saW5lLFxuICAgICAgY2g6IGxpc3QuZ2V0Rmlyc3RMaW5lSW5kZW50KCkubGVuZ3RoLFxuICAgIH0pO1xuICAgIGNvbnN0IG5leHRTaWJsaW5nID0gdGhpcy5nZXROZXh0U2libGluZyhsaXN0KTtcbiAgICBjb25zdCB0aWxsT2Zmc2V0ID0gdGhpcy5lZGl0b3IucG9zVG9PZmZzZXQoe1xuICAgICAgbGluZTogbmV4dFNpYmxpbmdcbiAgICAgICAgPyBuZXh0U2libGluZy5nZXRGaXJzdExpbmVDb250ZW50U3RhcnQoKS5saW5lIC0gMVxuICAgICAgICA6IHRoaXMubGFzdExpbmUsXG4gICAgICBjaDogMCxcbiAgICB9KTtcblxuICAgIGxldCB2aXNpYmxlRnJvbSA9IHRoaXMudmlldy52aXNpYmxlUmFuZ2VzWzBdLmZyb207XG4gICAgbGV0IHZpc2libGVUbyA9XG4gICAgICB0aGlzLnZpZXcudmlzaWJsZVJhbmdlc1t0aGlzLnZpZXcudmlzaWJsZVJhbmdlcy5sZW5ndGggLSAxXS50bztcbiAgICBjb25zdCB6b29tUmFuZ2UgPSB0aGlzLmVkaXRvci5nZXRab29tUmFuZ2UoKTtcbiAgICBpZiAoem9vbVJhbmdlKSB7XG4gICAgICB2aXNpYmxlRnJvbSA9IE1hdGgubWF4KFxuICAgICAgICB2aXNpYmxlRnJvbSxcbiAgICAgICAgdGhpcy5lZGl0b3IucG9zVG9PZmZzZXQoem9vbVJhbmdlLmZyb20pXG4gICAgICApO1xuICAgICAgdmlzaWJsZVRvID0gTWF0aC5taW4odmlzaWJsZVRvLCB0aGlzLmVkaXRvci5wb3NUb09mZnNldCh6b29tUmFuZ2UudG8pKTtcbiAgICB9XG5cbiAgICBpZiAoZnJvbU9mZnNldCA+IHZpc2libGVUbyB8fCB0aWxsT2Zmc2V0IDwgdmlzaWJsZUZyb20pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjb29yZHMgPSB0aGlzLnZpZXcuY29vcmRzQXRQb3MoZnJvbU9mZnNldCwgMSk7XG4gICAgaWYgKHBhcmVudEN0eC5yb290TGVmdCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBwYXJlbnRDdHgucm9vdExlZnQgPSBjb29yZHMubGVmdDtcbiAgICB9XG4gICAgY29uc3QgbGVmdCA9IE1hdGguZmxvb3IoY29vcmRzLnJpZ2h0IC0gcGFyZW50Q3R4LnJvb3RMZWZ0KTtcblxuICAgIGNvbnN0IHRvcCA9XG4gICAgICB2aXNpYmxlRnJvbSA+IDAgJiYgZnJvbU9mZnNldCA8IHZpc2libGVGcm9tXG4gICAgICAgID8gLTIwXG4gICAgICAgIDogdGhpcy52aWV3LmxpbmVCbG9ja0F0KGZyb21PZmZzZXQpLnRvcDtcbiAgICBjb25zdCBib3R0b20gPVxuICAgICAgdGlsbE9mZnNldCA+IHZpc2libGVUb1xuICAgICAgICA/IHRoaXMudmlldy5saW5lQmxvY2tBdCh2aXNpYmxlVG8gLSAxKS5ib3R0b21cbiAgICAgICAgOiB0aGlzLnZpZXcubGluZUJsb2NrQXQodGlsbE9mZnNldCkuYm90dG9tO1xuICAgIGNvbnN0IGhlaWdodCA9IGJvdHRvbSAtIHRvcDtcblxuICAgIGlmIChoZWlnaHQgPiAwICYmICFsaXN0LmlzRm9sZGVkKCkpIHtcbiAgICAgIGNvbnN0IG5leHRTaWJsaW5nID0gbGlzdC5nZXRQYXJlbnQoKS5nZXROZXh0U2libGluZ09mKGxpc3QpO1xuICAgICAgY29uc3QgaGFzTmV4dFNpYmxpbmcgPVxuICAgICAgICAhIW5leHRTaWJsaW5nICYmXG4gICAgICAgIHRoaXMuZWRpdG9yLnBvc1RvT2Zmc2V0KG5leHRTaWJsaW5nLmdldEZpcnN0TGluZUNvbnRlbnRTdGFydCgpKSA8PVxuICAgICAgICAgIHZpc2libGVUbztcblxuICAgICAgdGhpcy5saW5lcy5wdXNoKHtcbiAgICAgICAgdG9wLFxuICAgICAgICBsZWZ0LFxuICAgICAgICBoZWlnaHQ6IGBjYWxjKCR7aGVpZ2h0fXB4ICR7aGFzTmV4dFNpYmxpbmcgPyBcIi0gMS41ZW1cIiA6IFwiLSAyZW1cIn0pYCxcbiAgICAgICAgbGlzdCxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgY2hpbGQgb2YgY2hpbGRyZW4pIHtcbiAgICAgIGlmICghY2hpbGQuaXNFbXB0eSgpKSB7XG4gICAgICAgIHRoaXMucmVjdXJzaXZlKGNoaWxkLCBwYXJlbnRDdHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgb25DbGljayA9IChlOiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgY29uc3QgbGluZSA9IHRoaXMubGluZXNbTnVtYmVyKChlLnRhcmdldCBhcyBIVE1MRWxlbWVudCkuZGF0YXNldC5pbmRleCldO1xuXG4gICAgc3dpdGNoICh0aGlzLnNldHRpbmdzLmxpc3RMaW5lQWN0aW9uKSB7XG4gICAgICBjYXNlIFwiem9vbS1pblwiOlxuICAgICAgICB0aGlzLnpvb21JbihsaW5lKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgXCJ0b2dnbGUtZm9sZGluZ1wiOlxuICAgICAgICB0aGlzLnRvZ2dsZUZvbGRpbmcobGluZSk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIHpvb21JbihsaW5lOiBMaW5lRGF0YSkge1xuICAgIGNvbnN0IGVkaXRvciA9IG5ldyBNeUVkaXRvcih0aGlzLnZpZXcuc3RhdGUuZmllbGQoZWRpdG9ySW5mb0ZpZWxkKS5lZGl0b3IpO1xuXG4gICAgZWRpdG9yLnpvb21JbihsaW5lLmxpc3QuZ2V0Rmlyc3RMaW5lQ29udGVudFN0YXJ0KCkubGluZSk7XG4gIH1cblxuICBwcml2YXRlIHRvZ2dsZUZvbGRpbmcobGluZTogTGluZURhdGEpIHtcbiAgICBjb25zdCB7IGxpc3QgfSA9IGxpbmU7XG5cbiAgICBpZiAobGlzdC5pc0VtcHR5KCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgbmVlZFRvVW5mb2xkID0gdHJ1ZTtcbiAgICBjb25zdCBsaW5lc1RvVG9nZ2xlOiBudW1iZXJbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgYyBvZiBsaXN0LmdldENoaWxkcmVuKCkpIHtcbiAgICAgIGlmIChjLmlzRW1wdHkoKSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGlmICghYy5pc0ZvbGRlZCgpKSB7XG4gICAgICAgIG5lZWRUb1VuZm9sZCA9IGZhbHNlO1xuICAgICAgfVxuICAgICAgbGluZXNUb1RvZ2dsZS5wdXNoKGMuZ2V0Rmlyc3RMaW5lQ29udGVudFN0YXJ0KCkubGluZSk7XG4gICAgfVxuXG4gICAgY29uc3QgZWRpdG9yID0gbmV3IE15RWRpdG9yKHRoaXMudmlldy5zdGF0ZS5maWVsZChlZGl0b3JJbmZvRmllbGQpLmVkaXRvcik7XG5cbiAgICBmb3IgKGNvbnN0IGwgb2YgbGluZXNUb1RvZ2dsZSkge1xuICAgICAgaWYgKG5lZWRUb1VuZm9sZCkge1xuICAgICAgICBlZGl0b3IudW5mb2xkKGwpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZWRpdG9yLmZvbGQobCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVEb20oKSB7XG4gICAgY29uc3QgY21TY3JvbGwgPSB0aGlzLnZpZXcuc2Nyb2xsRE9NO1xuICAgIGNvbnN0IGNtQ29udGVudCA9IHRoaXMudmlldy5jb250ZW50RE9NO1xuICAgIGNvbnN0IGNtQ29udGVudENvbnRhaW5lciA9IGNtQ29udGVudC5wYXJlbnRFbGVtZW50O1xuICAgIGNvbnN0IGNtU2l6ZXIgPSBjbUNvbnRlbnRDb250YWluZXIucGFyZW50RWxlbWVudDtcblxuICAgIC8qKlxuICAgICAqIE9ic2lkaWFuIGNhbiBhZGQgYWRkaXRpb25hbCBlbGVtZW50cyBpbnRvIENvbnRlbnQgTWFuYWdlci5cbiAgICAgKiBUaGUgbW9zdCBvYnZpb3VzIGNhc2UgaXMgdGhlICdlbWJlZGRlZC1iYWNrbGlua3MnIGNvcmUgcGx1Z2luIHRoYXQgYWRkcyBhIG1lbnUgaW5zaWRlIGEgQ29udGVudCBNYW5hZ2VyLlxuICAgICAqIFdlIG11c3QgdGFrZSBoZWlnaHRzIG9mIGFsbCBvZiB0aGVzZSBlbGVtZW50cyBpbnRvIGFjY291bnRcbiAgICAgKiB0byBiZSBhYmxlIHRvIGNhbGN1bGF0ZSB0aGUgY29ycmVjdCBzaXplIG9mIGxpbmVzJyBjb250YWluZXIuXG4gICAgICovXG4gICAgbGV0IGNtU2l6ZXJDaGlsZHJlblN1bUhlaWdodCA9IDA7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjbVNpemVyLmNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjbVNpemVyQ2hpbGRyZW5TdW1IZWlnaHQgKz0gY21TaXplci5jaGlsZHJlbltpXS5jbGllbnRIZWlnaHQ7XG4gICAgfVxuXG4gICAgdGhpcy5zY3JvbGxlci5zdHlsZS50b3AgPSBjbVNjcm9sbC5vZmZzZXRUb3AgKyBcInB4XCI7XG4gICAgdGhpcy5jb250ZW50Q29udGFpbmVyLnN0eWxlLmhlaWdodCA9IGNtU2l6ZXJDaGlsZHJlblN1bUhlaWdodCArIFwicHhcIjtcbiAgICB0aGlzLmNvbnRlbnRDb250YWluZXIuc3R5bGUubWFyZ2luTGVmdCA9XG4gICAgICBjbUNvbnRlbnRDb250YWluZXIub2Zmc2V0TGVmdCArIFwicHhcIjtcbiAgICB0aGlzLmNvbnRlbnRDb250YWluZXIuc3R5bGUubWFyZ2luVG9wID1cbiAgICAgIChjbUNvbnRlbnQuZmlyc3RFbGVtZW50Q2hpbGQgYXMgSFRNTEVsZW1lbnQpLm9mZnNldFRvcCAtIDI0ICsgXCJweFwiO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmxpbmVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAodGhpcy5saW5lRWxlbWVudHMubGVuZ3RoID09PSBpKSB7XG4gICAgICAgIGNvbnN0IGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xuICAgICAgICBlLmNsYXNzTGlzdC5hZGQoXCJvdXRsaW5lci1wbHVnaW4tbGlzdC1saW5lXCIpO1xuICAgICAgICBlLmRhdGFzZXQuaW5kZXggPSBTdHJpbmcoaSk7XG4gICAgICAgIGUuYWRkRXZlbnRMaXN0ZW5lcihcIm1vdXNlZG93blwiLCB0aGlzLm9uQ2xpY2spO1xuICAgICAgICB0aGlzLmNvbnRlbnRDb250YWluZXIuYXBwZW5kQ2hpbGQoZSk7XG4gICAgICAgIHRoaXMubGluZUVsZW1lbnRzLnB1c2goZSk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGwgPSB0aGlzLmxpbmVzW2ldO1xuICAgICAgY29uc3QgZSA9IHRoaXMubGluZUVsZW1lbnRzW2ldO1xuICAgICAgZS5zdHlsZS50b3AgPSBsLnRvcCArIFwicHhcIjtcbiAgICAgIGUuc3R5bGUubGVmdCA9IGwubGVmdCArIFwicHhcIjtcbiAgICAgIGUuc3R5bGUuaGVpZ2h0ID0gbC5oZWlnaHQ7XG4gICAgICBlLnN0eWxlLmRpc3BsYXkgPSBcImJsb2NrXCI7XG4gICAgfVxuXG4gICAgZm9yIChsZXQgaSA9IHRoaXMubGluZXMubGVuZ3RoOyBpIDwgdGhpcy5saW5lRWxlbWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IGUgPSB0aGlzLmxpbmVFbGVtZW50c1tpXTtcbiAgICAgIGUuc3R5bGUudG9wID0gXCIwcHhcIjtcbiAgICAgIGUuc3R5bGUubGVmdCA9IFwiMHB4XCI7XG4gICAgICBlLnN0eWxlLmhlaWdodCA9IFwiMHB4XCI7XG4gICAgICBlLnN0eWxlLmRpc3BsYXkgPSBcIm5vbmVcIjtcbiAgICB9XG4gIH1cblxuICBkZXN0cm95KCkge1xuICAgIHRoaXMuc2V0dGluZ3MucmVtb3ZlQ2FsbGJhY2soXCJsaXN0TGluZXNcIiwgdGhpcy5zY2hlZHVsZVJlY2FsY3VsYXRlKTtcbiAgICB0aGlzLnZpZXcuc2Nyb2xsRE9NLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJzY3JvbGxcIiwgdGhpcy5vblNjcm9sbCk7XG4gICAgdGhpcy52aWV3LmRvbS5yZW1vdmVDaGlsZCh0aGlzLnNjcm9sbGVyKTtcbiAgICBjbGVhclRpbWVvdXQodGhpcy5zY2hlZHVsZWQpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBMaW5lc0ZlYXR1cmUgaW1wbGVtZW50cyBGZWF0dXJlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBwbHVnaW46IFBsdWdpbl8yLFxuICAgIHByaXZhdGUgc2V0dGluZ3M6IFNldHRpbmdzU2VydmljZSxcbiAgICBwcml2YXRlIG9ic2lkaWFuOiBPYnNpZGlhblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwYXJzZXI6IFBhcnNlclNlcnZpY2VcbiAgKSB7fVxuXG4gIGFzeW5jIGxvYWQoKSB7XG4gICAgdGhpcy5wbHVnaW4ucmVnaXN0ZXJFZGl0b3JFeHRlbnNpb24oXG4gICAgICBWaWV3UGx1Z2luLmRlZmluZShcbiAgICAgICAgKHZpZXcpID0+XG4gICAgICAgICAgbmV3IExpc3RMaW5lc1ZpZXdQbHVnaW5WYWx1ZShcbiAgICAgICAgICAgIHRoaXMuc2V0dGluZ3MsXG4gICAgICAgICAgICB0aGlzLm9ic2lkaWFuLFxuICAgICAgICAgICAgdGhpcy5wYXJzZXIsXG4gICAgICAgICAgICB2aWV3XG4gICAgICAgICAgKVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBhc3luYyB1bmxvYWQoKSB7fVxufVxuIiwiaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gXCIuL0ZlYXR1cmVcIjtcblxuaW1wb3J0IHsgT2JzaWRpYW5TZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL09ic2lkaWFuU2VydmljZVwiO1xuaW1wb3J0IHsgU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL1NldHRpbmdzU2VydmljZVwiO1xuXG5jb25zdCBCRVRURVJfTElTVFNfQ0xBU1MgPSBcIm91dGxpbmVyLXBsdWdpbi1iZXR0ZXItbGlzdHNcIjtcbmNvbnN0IEJFVFRFUl9CVUxMRVRTX0NMQVNTID0gXCJvdXRsaW5lci1wbHVnaW4tYmV0dGVyLWJ1bGxldHNcIjtcbmNvbnN0IFZFUlRJQ0FMX0xJTkVTID0gXCJvdXRsaW5lci1wbHVnaW4tdmVydGljYWwtbGluZXNcIjtcbmNvbnN0IEtOT1dOX0NMQVNTRVMgPSBbXG4gIEJFVFRFUl9MSVNUU19DTEFTUyxcbiAgQkVUVEVSX0JVTExFVFNfQ0xBU1MsXG4gIFZFUlRJQ0FMX0xJTkVTLFxuXTtcblxuZXhwb3J0IGNsYXNzIExpc3RzU3R5bGVzRmVhdHVyZSBpbXBsZW1lbnRzIEZlYXR1cmUge1xuICBwcml2YXRlIGludGVydmFsOiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzZXR0aW5nczogU2V0dGluZ3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgb2JzaWRpYW46IE9ic2lkaWFuU2VydmljZVxuICApIHt9XG5cbiAgYXN5bmMgbG9hZCgpIHtcbiAgICB0aGlzLnN5bmNMaXN0c1N0eWxlcygpO1xuICAgIHRoaXMuaW50ZXJ2YWwgPSB3aW5kb3cuc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgdGhpcy5zeW5jTGlzdHNTdHlsZXMoKTtcbiAgICB9LCAxMDAwKTtcbiAgfVxuXG4gIGFzeW5jIHVubG9hZCgpIHtcbiAgICBjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWwpO1xuICAgIHRoaXMuYXBwbHlMaXN0c1N0eWxlcyhbXSk7XG4gIH1cblxuICBwcml2YXRlIHN5bmNMaXN0c1N0eWxlcyA9ICgpID0+IHtcbiAgICBjb25zdCBjbGFzc2VzID0gW107XG5cbiAgICBpZiAodGhpcy5vYnNpZGlhbi5pc0RlZmF1bHRUaGVtZUVuYWJsZWQoKSkge1xuICAgICAgaWYgKHRoaXMuc2V0dGluZ3Muc3R5bGVMaXN0cykge1xuICAgICAgICBjbGFzc2VzLnB1c2goQkVUVEVSX0xJU1RTX0NMQVNTKTtcbiAgICAgICAgY2xhc3Nlcy5wdXNoKEJFVFRFUl9CVUxMRVRTX0NMQVNTKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuc2V0dGluZ3MubGlzdExpbmVzKSB7XG4gICAgICAgIGNsYXNzZXMucHVzaChWRVJUSUNBTF9MSU5FUyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5hcHBseUxpc3RzU3R5bGVzKGNsYXNzZXMpO1xuICB9O1xuXG4gIHByaXZhdGUgYXBwbHlMaXN0c1N0eWxlcyhjbGFzc2VzOiBzdHJpbmdbXSkge1xuICAgIGNvbnN0IHRvS2VlcCA9IGNsYXNzZXMuZmlsdGVyKChjKSA9PiBLTk9XTl9DTEFTU0VTLmNvbnRhaW5zKGMpKTtcbiAgICBjb25zdCB0b1JlbW92ZSA9IEtOT1dOX0NMQVNTRVMuZmlsdGVyKChjKSA9PiAhdG9LZWVwLmNvbnRhaW5zKGMpKTtcblxuICAgIGZvciAoY29uc3QgYyBvZiB0b0tlZXApIHtcbiAgICAgIGlmICghZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuY29udGFpbnMoYykpIHtcbiAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKGMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAoY29uc3QgYyBvZiB0b1JlbW92ZSkge1xuICAgICAgaWYgKGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmNvbnRhaW5zKGMpKSB7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZShjKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsImltcG9ydCB7IE9wZXJhdGlvbiB9IGZyb20gXCIuL09wZXJhdGlvblwiO1xuXG5pbXBvcnQgeyBMaXN0TGluZSwgUG9zaXRpb24sIFJvb3QgfSBmcm9tIFwiLi4vcm9vdFwiO1xuXG5leHBvcnQgY2xhc3MgTW92ZUN1cnNvclRvUHJldmlvdXNVbmZvbGRlZExpbmVPcGVyYXRpb24gaW1wbGVtZW50cyBPcGVyYXRpb24ge1xuICBwcml2YXRlIHN0b3BQcm9wYWdhdGlvbiA9IGZhbHNlO1xuICBwcml2YXRlIHVwZGF0ZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvb3Q6IFJvb3QpIHt9XG5cbiAgc2hvdWxkU3RvcFByb3BhZ2F0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnN0b3BQcm9wYWdhdGlvbjtcbiAgfVxuXG4gIHNob3VsZFVwZGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy51cGRhdGVkO1xuICB9XG5cbiAgcGVyZm9ybSgpIHtcbiAgICBjb25zdCB7IHJvb3QgfSA9IHRoaXM7XG5cbiAgICBpZiAoIXJvb3QuaGFzU2luZ2xlQ3Vyc29yKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBsaXN0ID0gdGhpcy5yb290LmdldExpc3RVbmRlckN1cnNvcigpO1xuICAgIGNvbnN0IGN1cnNvciA9IHRoaXMucm9vdC5nZXRDdXJzb3IoKTtcbiAgICBjb25zdCBsaW5lcyA9IGxpc3QuZ2V0TGluZXNJbmZvKCk7XG4gICAgY29uc3QgbGluZU5vID0gbGluZXMuZmluZEluZGV4KFxuICAgICAgKGwpID0+XG4gICAgICAgIGN1cnNvci5jaCA9PT0gbC5mcm9tLmNoICsgbGlzdC5nZXRDaGVja2JveExlbmd0aCgpICYmXG4gICAgICAgIGN1cnNvci5saW5lID09PSBsLmZyb20ubGluZVxuICAgICk7XG5cbiAgICBpZiAobGluZU5vID09PSAwKSB7XG4gICAgICB0aGlzLm1vdmVDdXJzb3JUb1ByZXZpb3VzVW5mb2xkZWRJdGVtKHJvb3QsIGN1cnNvcik7XG4gICAgfSBlbHNlIGlmIChsaW5lTm8gPiAwKSB7XG4gICAgICB0aGlzLm1vdmVDdXJzb3JUb1ByZXZpb3VzTm90ZUxpbmUocm9vdCwgbGluZXMsIGxpbmVObyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBtb3ZlQ3Vyc29yVG9QcmV2aW91c05vdGVMaW5lKFxuICAgIHJvb3Q6IFJvb3QsXG4gICAgbGluZXM6IExpc3RMaW5lW10sXG4gICAgbGluZU5vOiBudW1iZXJcbiAgKSB7XG4gICAgdGhpcy5zdG9wUHJvcGFnYXRpb24gPSB0cnVlO1xuICAgIHRoaXMudXBkYXRlZCA9IHRydWU7XG5cbiAgICByb290LnJlcGxhY2VDdXJzb3IobGluZXNbbGluZU5vIC0gMV0udG8pO1xuICB9XG5cbiAgcHJpdmF0ZSBtb3ZlQ3Vyc29yVG9QcmV2aW91c1VuZm9sZGVkSXRlbShyb290OiBSb290LCBjdXJzb3I6IFBvc2l0aW9uKSB7XG4gICAgY29uc3QgcHJldiA9IHJvb3QuZ2V0TGlzdFVuZGVyTGluZShjdXJzb3IubGluZSAtIDEpO1xuXG4gICAgaWYgKCFwcmV2KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zdG9wUHJvcGFnYXRpb24gPSB0cnVlO1xuICAgIHRoaXMudXBkYXRlZCA9IHRydWU7XG5cbiAgICBpZiAocHJldi5pc0ZvbGRlZCgpKSB7XG4gICAgICBjb25zdCBmb2xkUm9vdCA9IHByZXYuZ2V0VG9wRm9sZFJvb3QoKTtcbiAgICAgIGNvbnN0IGZpcnN0TGluZUVuZCA9IGZvbGRSb290LmdldExpbmVzSW5mbygpWzBdLnRvO1xuICAgICAgcm9vdC5yZXBsYWNlQ3Vyc29yKGZpcnN0TGluZUVuZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJvb3QucmVwbGFjZUN1cnNvcihwcmV2LmdldExhc3RMaW5lQ29udGVudEVuZCgpKTtcbiAgICB9XG4gIH1cbn1cbiIsImltcG9ydCB7IFBsdWdpbl8yIH0gZnJvbSBcIm9ic2lkaWFuXCI7XG5cbmltcG9ydCB7IGtleW1hcCB9IGZyb20gXCJAY29kZW1pcnJvci92aWV3XCI7XG5cbmltcG9ydCB7IE15RWRpdG9yIH0gZnJvbSBcIi4uL015RWRpdG9yXCI7XG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSBcIi4uL2ZlYXR1cmVzL0ZlYXR1cmVcIjtcbmltcG9ydCB7IE1vdmVDdXJzb3JUb1ByZXZpb3VzVW5mb2xkZWRMaW5lT3BlcmF0aW9uIH0gZnJvbSBcIi4uL29wZXJhdGlvbnMvTW92ZUN1cnNvclRvUHJldmlvdXNVbmZvbGRlZExpbmVPcGVyYXRpb25cIjtcbmltcG9ydCB7IElNRVNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvSU1FU2VydmljZVwiO1xuaW1wb3J0IHsgT2JzaWRpYW5TZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL09ic2lkaWFuU2VydmljZVwiO1xuaW1wb3J0IHsgUGVyZm9ybU9wZXJhdGlvblNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvUGVyZm9ybU9wZXJhdGlvblNlcnZpY2VcIjtcbmltcG9ydCB7IFNldHRpbmdzU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9TZXR0aW5nc1NlcnZpY2VcIjtcblxuZXhwb3J0IGNsYXNzIE1vdmVDdXJzb3JUb1ByZXZpb3VzVW5mb2xkZWRMaW5lRmVhdHVyZSBpbXBsZW1lbnRzIEZlYXR1cmUge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHBsdWdpbjogUGx1Z2luXzIsXG4gICAgcHJpdmF0ZSBzZXR0aW5nczogU2V0dGluZ3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgaW1lOiBJTUVTZXJ2aWNlLFxuICAgIHByaXZhdGUgb2JzaWRpYW46IE9ic2lkaWFuU2VydmljZSxcbiAgICBwcml2YXRlIHBlcmZvcm1PcGVyYXRpb246IFBlcmZvcm1PcGVyYXRpb25TZXJ2aWNlXG4gICkge31cblxuICBhc3luYyBsb2FkKCkge1xuICAgIHRoaXMucGx1Z2luLnJlZ2lzdGVyRWRpdG9yRXh0ZW5zaW9uKFxuICAgICAga2V5bWFwLm9mKFtcbiAgICAgICAge1xuICAgICAgICAgIGtleTogXCJBcnJvd0xlZnRcIixcbiAgICAgICAgICBydW46IHRoaXMub2JzaWRpYW4uY3JlYXRlS2V5bWFwUnVuQ2FsbGJhY2soe1xuICAgICAgICAgICAgY2hlY2s6IHRoaXMuY2hlY2ssXG4gICAgICAgICAgICBydW46IHRoaXMucnVuLFxuICAgICAgICAgIH0pLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgd2luOiBcImMtQXJyb3dMZWZ0XCIsXG4gICAgICAgICAgbGludXg6IFwiYy1BcnJvd0xlZnRcIixcbiAgICAgICAgICBydW46IHRoaXMub2JzaWRpYW4uY3JlYXRlS2V5bWFwUnVuQ2FsbGJhY2soe1xuICAgICAgICAgICAgY2hlY2s6IHRoaXMuY2hlY2ssXG4gICAgICAgICAgICBydW46IHRoaXMucnVuLFxuICAgICAgICAgIH0pLFxuICAgICAgICB9LFxuICAgICAgXSlcbiAgICApO1xuICB9XG5cbiAgYXN5bmMgdW5sb2FkKCkge31cblxuICBwcml2YXRlIGNoZWNrID0gKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLnNldHRpbmdzLnN0aWNrQ3Vyc29yICYmICF0aGlzLmltZS5pc0lNRU9wZW5lZCgpO1xuICB9O1xuXG4gIHByaXZhdGUgcnVuID0gKGVkaXRvcjogTXlFZGl0b3IpID0+IHtcbiAgICByZXR1cm4gdGhpcy5wZXJmb3JtT3BlcmF0aW9uLnBlcmZvcm1PcGVyYXRpb24oXG4gICAgICAocm9vdCkgPT4gbmV3IE1vdmVDdXJzb3JUb1ByZXZpb3VzVW5mb2xkZWRMaW5lT3BlcmF0aW9uKHJvb3QpLFxuICAgICAgZWRpdG9yXG4gICAgKTtcbiAgfTtcbn1cbiIsImltcG9ydCB7IE9wZXJhdGlvbiB9IGZyb20gXCIuL09wZXJhdGlvblwiO1xuXG5pbXBvcnQgeyBSb290IH0gZnJvbSBcIi4uL3Jvb3RcIjtcbmltcG9ydCB7IHJlY2FsY3VsYXRlTnVtZXJpY0J1bGxldHMgfSBmcm9tIFwiLi4vcm9vdC9yZWNhbGN1bGF0ZU51bWVyaWNCdWxsZXRzXCI7XG5cbmV4cG9ydCBjbGFzcyBNb3ZlRG93bk9wZXJhdGlvbiBpbXBsZW1lbnRzIE9wZXJhdGlvbiB7XG4gIHByaXZhdGUgc3RvcFByb3BhZ2F0aW9uID0gZmFsc2U7XG4gIHByaXZhdGUgdXBkYXRlZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm9vdDogUm9vdCkge31cblxuICBzaG91bGRTdG9wUHJvcGFnYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcFByb3BhZ2F0aW9uO1xuICB9XG5cbiAgc2hvdWxkVXBkYXRlKCkge1xuICAgIHJldHVybiB0aGlzLnVwZGF0ZWQ7XG4gIH1cblxuICBwZXJmb3JtKCkge1xuICAgIGNvbnN0IHsgcm9vdCB9ID0gdGhpcztcblxuICAgIGlmICghcm9vdC5oYXNTaW5nbGVDdXJzb3IoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc3RvcFByb3BhZ2F0aW9uID0gdHJ1ZTtcblxuICAgIGNvbnN0IGxpc3QgPSByb290LmdldExpc3RVbmRlckN1cnNvcigpO1xuICAgIGNvbnN0IHBhcmVudCA9IGxpc3QuZ2V0UGFyZW50KCk7XG4gICAgY29uc3QgZ3JhbmRQYXJlbnQgPSBwYXJlbnQuZ2V0UGFyZW50KCk7XG4gICAgY29uc3QgbmV4dCA9IHBhcmVudC5nZXROZXh0U2libGluZ09mKGxpc3QpO1xuXG4gICAgY29uc3QgbGlzdFN0YXJ0TGluZUJlZm9yZSA9IHJvb3QuZ2V0Q29udGVudExpbmVzUmFuZ2VPZihsaXN0KVswXTtcblxuICAgIGlmICghbmV4dCAmJiBncmFuZFBhcmVudCkge1xuICAgICAgY29uc3QgbmV3UGFyZW50ID0gZ3JhbmRQYXJlbnQuZ2V0TmV4dFNpYmxpbmdPZihwYXJlbnQpO1xuXG4gICAgICBpZiAobmV3UGFyZW50KSB7XG4gICAgICAgIHRoaXMudXBkYXRlZCA9IHRydWU7XG4gICAgICAgIHBhcmVudC5yZW1vdmVDaGlsZChsaXN0KTtcbiAgICAgICAgbmV3UGFyZW50LmFkZEJlZm9yZUFsbChsaXN0KTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKG5leHQpIHtcbiAgICAgIHRoaXMudXBkYXRlZCA9IHRydWU7XG4gICAgICBwYXJlbnQucmVtb3ZlQ2hpbGQobGlzdCk7XG4gICAgICBwYXJlbnQuYWRkQWZ0ZXIobmV4dCwgbGlzdCk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnVwZGF0ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBsaXN0U3RhcnRMaW5lQWZ0ZXIgPSByb290LmdldENvbnRlbnRMaW5lc1JhbmdlT2YobGlzdClbMF07XG4gICAgY29uc3QgbGluZURpZmYgPSBsaXN0U3RhcnRMaW5lQWZ0ZXIgLSBsaXN0U3RhcnRMaW5lQmVmb3JlO1xuXG4gICAgY29uc3QgY3Vyc29yID0gcm9vdC5nZXRDdXJzb3IoKTtcbiAgICByb290LnJlcGxhY2VDdXJzb3Ioe1xuICAgICAgbGluZTogY3Vyc29yLmxpbmUgKyBsaW5lRGlmZixcbiAgICAgIGNoOiBjdXJzb3IuY2gsXG4gICAgfSk7XG5cbiAgICByZWNhbGN1bGF0ZU51bWVyaWNCdWxsZXRzKHJvb3QpO1xuICB9XG59XG4iLCJpbXBvcnQgeyBPcGVyYXRpb24gfSBmcm9tIFwiLi9PcGVyYXRpb25cIjtcblxuaW1wb3J0IHsgUm9vdCB9IGZyb20gXCIuLi9yb290XCI7XG5pbXBvcnQgeyByZWNhbGN1bGF0ZU51bWVyaWNCdWxsZXRzIH0gZnJvbSBcIi4uL3Jvb3QvcmVjYWxjdWxhdGVOdW1lcmljQnVsbGV0c1wiO1xuXG5leHBvcnQgY2xhc3MgTW92ZVJpZ2h0T3BlcmF0aW9uIGltcGxlbWVudHMgT3BlcmF0aW9uIHtcbiAgcHJpdmF0ZSBzdG9wUHJvcGFnYXRpb24gPSBmYWxzZTtcbiAgcHJpdmF0ZSB1cGRhdGVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb290OiBSb290LCBwcml2YXRlIGRlZmF1bHRJbmRlbnRDaGFyczogc3RyaW5nKSB7fVxuXG4gIHNob3VsZFN0b3BQcm9wYWdhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9wUHJvcGFnYXRpb247XG4gIH1cblxuICBzaG91bGRVcGRhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudXBkYXRlZDtcbiAgfVxuXG4gIHBlcmZvcm0oKSB7XG4gICAgY29uc3QgeyByb290IH0gPSB0aGlzO1xuXG4gICAgaWYgKCFyb290Lmhhc1NpbmdsZUN1cnNvcigpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zdG9wUHJvcGFnYXRpb24gPSB0cnVlO1xuXG4gICAgY29uc3QgbGlzdCA9IHJvb3QuZ2V0TGlzdFVuZGVyQ3Vyc29yKCk7XG4gICAgY29uc3QgcGFyZW50ID0gbGlzdC5nZXRQYXJlbnQoKTtcbiAgICBjb25zdCBwcmV2ID0gcGFyZW50LmdldFByZXZTaWJsaW5nT2YobGlzdCk7XG5cbiAgICBpZiAoIXByZXYpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnVwZGF0ZWQgPSB0cnVlO1xuXG4gICAgY29uc3QgbGlzdFN0YXJ0TGluZUJlZm9yZSA9IHJvb3QuZ2V0Q29udGVudExpbmVzUmFuZ2VPZihsaXN0KVswXTtcblxuICAgIGNvbnN0IGluZGVudFBvcyA9IGxpc3QuZ2V0Rmlyc3RMaW5lSW5kZW50KCkubGVuZ3RoO1xuICAgIGxldCBpbmRlbnRDaGFycyA9IFwiXCI7XG5cbiAgICBpZiAoaW5kZW50Q2hhcnMgPT09IFwiXCIgJiYgIXByZXYuaXNFbXB0eSgpKSB7XG4gICAgICBpbmRlbnRDaGFycyA9IHByZXZcbiAgICAgICAgLmdldENoaWxkcmVuKClbMF1cbiAgICAgICAgLmdldEZpcnN0TGluZUluZGVudCgpXG4gICAgICAgIC5zbGljZShwcmV2LmdldEZpcnN0TGluZUluZGVudCgpLmxlbmd0aCk7XG4gICAgfVxuXG4gICAgaWYgKGluZGVudENoYXJzID09PSBcIlwiKSB7XG4gICAgICBpbmRlbnRDaGFycyA9IGxpc3RcbiAgICAgICAgLmdldEZpcnN0TGluZUluZGVudCgpXG4gICAgICAgIC5zbGljZShwYXJlbnQuZ2V0Rmlyc3RMaW5lSW5kZW50KCkubGVuZ3RoKTtcbiAgICB9XG5cbiAgICBpZiAoaW5kZW50Q2hhcnMgPT09IFwiXCIgJiYgIWxpc3QuaXNFbXB0eSgpKSB7XG4gICAgICBpbmRlbnRDaGFycyA9IGxpc3QuZ2V0Q2hpbGRyZW4oKVswXS5nZXRGaXJzdExpbmVJbmRlbnQoKTtcbiAgICB9XG5cbiAgICBpZiAoaW5kZW50Q2hhcnMgPT09IFwiXCIpIHtcbiAgICAgIGluZGVudENoYXJzID0gdGhpcy5kZWZhdWx0SW5kZW50Q2hhcnM7XG4gICAgfVxuXG4gICAgcGFyZW50LnJlbW92ZUNoaWxkKGxpc3QpO1xuICAgIHByZXYuYWRkQWZ0ZXJBbGwobGlzdCk7XG4gICAgbGlzdC5pbmRlbnRDb250ZW50KGluZGVudFBvcywgaW5kZW50Q2hhcnMpO1xuXG4gICAgY29uc3QgbGlzdFN0YXJ0TGluZUFmdGVyID0gcm9vdC5nZXRDb250ZW50TGluZXNSYW5nZU9mKGxpc3QpWzBdO1xuICAgIGNvbnN0IGxpbmVEaWZmID0gbGlzdFN0YXJ0TGluZUFmdGVyIC0gbGlzdFN0YXJ0TGluZUJlZm9yZTtcblxuICAgIGNvbnN0IGN1cnNvciA9IHJvb3QuZ2V0Q3Vyc29yKCk7XG4gICAgcm9vdC5yZXBsYWNlQ3Vyc29yKHtcbiAgICAgIGxpbmU6IGN1cnNvci5saW5lICsgbGluZURpZmYsXG4gICAgICBjaDogY3Vyc29yLmNoICsgaW5kZW50Q2hhcnMubGVuZ3RoLFxuICAgIH0pO1xuXG4gICAgcmVjYWxjdWxhdGVOdW1lcmljQnVsbGV0cyhyb290KTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgT3BlcmF0aW9uIH0gZnJvbSBcIi4vT3BlcmF0aW9uXCI7XG5cbmltcG9ydCB7IFJvb3QgfSBmcm9tIFwiLi4vcm9vdFwiO1xuaW1wb3J0IHsgcmVjYWxjdWxhdGVOdW1lcmljQnVsbGV0cyB9IGZyb20gXCIuLi9yb290L3JlY2FsY3VsYXRlTnVtZXJpY0J1bGxldHNcIjtcblxuZXhwb3J0IGNsYXNzIE1vdmVVcE9wZXJhdGlvbiBpbXBsZW1lbnRzIE9wZXJhdGlvbiB7XG4gIHByaXZhdGUgc3RvcFByb3BhZ2F0aW9uID0gZmFsc2U7XG4gIHByaXZhdGUgdXBkYXRlZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm9vdDogUm9vdCkge31cblxuICBzaG91bGRTdG9wUHJvcGFnYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcFByb3BhZ2F0aW9uO1xuICB9XG5cbiAgc2hvdWxkVXBkYXRlKCkge1xuICAgIHJldHVybiB0aGlzLnVwZGF0ZWQ7XG4gIH1cblxuICBwZXJmb3JtKCkge1xuICAgIGNvbnN0IHsgcm9vdCB9ID0gdGhpcztcblxuICAgIGlmICghcm9vdC5oYXNTaW5nbGVDdXJzb3IoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc3RvcFByb3BhZ2F0aW9uID0gdHJ1ZTtcblxuICAgIGNvbnN0IGxpc3QgPSByb290LmdldExpc3RVbmRlckN1cnNvcigpO1xuICAgIGNvbnN0IHBhcmVudCA9IGxpc3QuZ2V0UGFyZW50KCk7XG4gICAgY29uc3QgZ3JhbmRQYXJlbnQgPSBwYXJlbnQuZ2V0UGFyZW50KCk7XG4gICAgY29uc3QgcHJldiA9IHBhcmVudC5nZXRQcmV2U2libGluZ09mKGxpc3QpO1xuXG4gICAgY29uc3QgbGlzdFN0YXJ0TGluZUJlZm9yZSA9IHJvb3QuZ2V0Q29udGVudExpbmVzUmFuZ2VPZihsaXN0KVswXTtcblxuICAgIGlmICghcHJldiAmJiBncmFuZFBhcmVudCkge1xuICAgICAgY29uc3QgbmV3UGFyZW50ID0gZ3JhbmRQYXJlbnQuZ2V0UHJldlNpYmxpbmdPZihwYXJlbnQpO1xuXG4gICAgICBpZiAobmV3UGFyZW50KSB7XG4gICAgICAgIHRoaXMudXBkYXRlZCA9IHRydWU7XG4gICAgICAgIHBhcmVudC5yZW1vdmVDaGlsZChsaXN0KTtcbiAgICAgICAgbmV3UGFyZW50LmFkZEFmdGVyQWxsKGxpc3QpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocHJldikge1xuICAgICAgdGhpcy51cGRhdGVkID0gdHJ1ZTtcbiAgICAgIHBhcmVudC5yZW1vdmVDaGlsZChsaXN0KTtcbiAgICAgIHBhcmVudC5hZGRCZWZvcmUocHJldiwgbGlzdCk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnVwZGF0ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBsaXN0U3RhcnRMaW5lQWZ0ZXIgPSByb290LmdldENvbnRlbnRMaW5lc1JhbmdlT2YobGlzdClbMF07XG4gICAgY29uc3QgbGluZURpZmYgPSBsaXN0U3RhcnRMaW5lQWZ0ZXIgLSBsaXN0U3RhcnRMaW5lQmVmb3JlO1xuXG4gICAgY29uc3QgY3Vyc29yID0gcm9vdC5nZXRDdXJzb3IoKTtcbiAgICByb290LnJlcGxhY2VDdXJzb3Ioe1xuICAgICAgbGluZTogY3Vyc29yLmxpbmUgKyBsaW5lRGlmZixcbiAgICAgIGNoOiBjdXJzb3IuY2gsXG4gICAgfSk7XG5cbiAgICByZWNhbGN1bGF0ZU51bWVyaWNCdWxsZXRzKHJvb3QpO1xuICB9XG59XG4iLCJpbXBvcnQgeyBQbHVnaW5fMiB9IGZyb20gXCJvYnNpZGlhblwiO1xuXG5pbXBvcnQgeyBQcmVjIH0gZnJvbSBcIkBjb2RlbWlycm9yL3N0YXRlXCI7XG5pbXBvcnQgeyBrZXltYXAgfSBmcm9tIFwiQGNvZGVtaXJyb3Ivdmlld1wiO1xuXG5pbXBvcnQgeyBNeUVkaXRvciB9IGZyb20gXCIuLi9NeUVkaXRvclwiO1xuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gXCIuLi9mZWF0dXJlcy9GZWF0dXJlXCI7XG5pbXBvcnQgeyBNb3ZlRG93bk9wZXJhdGlvbiB9IGZyb20gXCIuLi9vcGVyYXRpb25zL01vdmVEb3duT3BlcmF0aW9uXCI7XG5pbXBvcnQgeyBNb3ZlTGVmdE9wZXJhdGlvbiB9IGZyb20gXCIuLi9vcGVyYXRpb25zL01vdmVMZWZ0T3BlcmF0aW9uXCI7XG5pbXBvcnQgeyBNb3ZlUmlnaHRPcGVyYXRpb24gfSBmcm9tIFwiLi4vb3BlcmF0aW9ucy9Nb3ZlUmlnaHRPcGVyYXRpb25cIjtcbmltcG9ydCB7IE1vdmVVcE9wZXJhdGlvbiB9IGZyb20gXCIuLi9vcGVyYXRpb25zL01vdmVVcE9wZXJhdGlvblwiO1xuaW1wb3J0IHsgSU1FU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9JTUVTZXJ2aWNlXCI7XG5pbXBvcnQgeyBPYnNpZGlhblNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvT2JzaWRpYW5TZXJ2aWNlXCI7XG5pbXBvcnQgeyBQZXJmb3JtT3BlcmF0aW9uU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9QZXJmb3JtT3BlcmF0aW9uU2VydmljZVwiO1xuaW1wb3J0IHsgU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL1NldHRpbmdzU2VydmljZVwiO1xuXG5leHBvcnQgY2xhc3MgTW92ZUl0ZW1zRmVhdHVyZSBpbXBsZW1lbnRzIEZlYXR1cmUge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHBsdWdpbjogUGx1Z2luXzIsXG4gICAgcHJpdmF0ZSBpbWU6IElNRVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBvYnNpZGlhbjogT2JzaWRpYW5TZXJ2aWNlLFxuICAgIHByaXZhdGUgc2V0dGluZ3M6IFNldHRpbmdzU2VydmljZSxcbiAgICBwcml2YXRlIHBlcmZvcm1PcGVyYXRpb246IFBlcmZvcm1PcGVyYXRpb25TZXJ2aWNlXG4gICkge31cblxuICBhc3luYyBsb2FkKCkge1xuICAgIHRoaXMucGx1Z2luLmFkZENvbW1hbmQoe1xuICAgICAgaWQ6IFwibW92ZS1saXN0LWl0ZW0tdXBcIixcbiAgICAgIGljb246IFwiYXJyb3ctdXBcIixcbiAgICAgIG5hbWU6IFwiTW92ZSBsaXN0IGFuZCBzdWJsaXN0cyB1cFwiLFxuICAgICAgZWRpdG9yQ2FsbGJhY2s6IHRoaXMub2JzaWRpYW4uY3JlYXRlRWRpdG9yQ2FsbGJhY2soXG4gICAgICAgIHRoaXMubW92ZUxpc3RFbGVtZW50VXBDb21tYW5kXG4gICAgICApLFxuICAgICAgaG90a2V5czogW1xuICAgICAgICB7XG4gICAgICAgICAgbW9kaWZpZXJzOiBbXCJNb2RcIiwgXCJTaGlmdFwiXSxcbiAgICAgICAgICBrZXk6IFwiQXJyb3dVcFwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KTtcblxuICAgIHRoaXMucGx1Z2luLmFkZENvbW1hbmQoe1xuICAgICAgaWQ6IFwibW92ZS1saXN0LWl0ZW0tZG93blwiLFxuICAgICAgaWNvbjogXCJhcnJvdy1kb3duXCIsXG4gICAgICBuYW1lOiBcIk1vdmUgbGlzdCBhbmQgc3VibGlzdHMgZG93blwiLFxuICAgICAgZWRpdG9yQ2FsbGJhY2s6IHRoaXMub2JzaWRpYW4uY3JlYXRlRWRpdG9yQ2FsbGJhY2soXG4gICAgICAgIHRoaXMubW92ZUxpc3RFbGVtZW50RG93bkNvbW1hbmRcbiAgICAgICksXG4gICAgICBob3RrZXlzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBtb2RpZmllcnM6IFtcIk1vZFwiLCBcIlNoaWZ0XCJdLFxuICAgICAgICAgIGtleTogXCJBcnJvd0Rvd25cIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICB0aGlzLnBsdWdpbi5hZGRDb21tYW5kKHtcbiAgICAgIGlkOiBcImluZGVudC1saXN0XCIsXG4gICAgICBpY29uOiBcImluZGVudFwiLFxuICAgICAgbmFtZTogXCJJbmRlbnQgdGhlIGxpc3QgYW5kIHN1Ymxpc3RzXCIsXG4gICAgICBlZGl0b3JDYWxsYmFjazogdGhpcy5vYnNpZGlhbi5jcmVhdGVFZGl0b3JDYWxsYmFjayhcbiAgICAgICAgdGhpcy5tb3ZlTGlzdEVsZW1lbnRSaWdodENvbW1hbmRcbiAgICAgICksXG4gICAgICBob3RrZXlzOiBbXSxcbiAgICB9KTtcblxuICAgIHRoaXMucGx1Z2luLmFkZENvbW1hbmQoe1xuICAgICAgaWQ6IFwib3V0ZGVudC1saXN0XCIsXG4gICAgICBpY29uOiBcIm91dGRlbnRcIixcbiAgICAgIG5hbWU6IFwiT3V0ZGVudCB0aGUgbGlzdCBhbmQgc3VibGlzdHNcIixcbiAgICAgIGVkaXRvckNhbGxiYWNrOiB0aGlzLm9ic2lkaWFuLmNyZWF0ZUVkaXRvckNhbGxiYWNrKFxuICAgICAgICB0aGlzLm1vdmVMaXN0RWxlbWVudExlZnRDb21tYW5kXG4gICAgICApLFxuICAgICAgaG90a2V5czogW10sXG4gICAgfSk7XG5cbiAgICB0aGlzLnBsdWdpbi5yZWdpc3RlckVkaXRvckV4dGVuc2lvbihcbiAgICAgIFByZWMuaGlnaGVzdChcbiAgICAgICAga2V5bWFwLm9mKFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IFwiVGFiXCIsXG4gICAgICAgICAgICBydW46IHRoaXMub2JzaWRpYW4uY3JlYXRlS2V5bWFwUnVuQ2FsbGJhY2soe1xuICAgICAgICAgICAgICBjaGVjazogdGhpcy5jaGVjayxcbiAgICAgICAgICAgICAgcnVuOiB0aGlzLm1vdmVMaXN0RWxlbWVudFJpZ2h0LFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IFwicy1UYWJcIixcbiAgICAgICAgICAgIHJ1bjogdGhpcy5vYnNpZGlhbi5jcmVhdGVLZXltYXBSdW5DYWxsYmFjayh7XG4gICAgICAgICAgICAgIGNoZWNrOiB0aGlzLmNoZWNrLFxuICAgICAgICAgICAgICBydW46IHRoaXMubW92ZUxpc3RFbGVtZW50TGVmdCxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0pXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIGFzeW5jIHVubG9hZCgpIHt9XG5cbiAgcHJpdmF0ZSBjaGVjayA9ICgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5zZXR0aW5ncy5iZXR0ZXJUYWIgJiYgIXRoaXMuaW1lLmlzSU1FT3BlbmVkKCk7XG4gIH07XG5cbiAgcHJpdmF0ZSBtb3ZlTGlzdEVsZW1lbnREb3duQ29tbWFuZCA9IChlZGl0b3I6IE15RWRpdG9yKSA9PiB7XG4gICAgY29uc3QgeyBzaG91bGRTdG9wUHJvcGFnYXRpb24gfSA9IHRoaXMucGVyZm9ybU9wZXJhdGlvbi5wZXJmb3JtT3BlcmF0aW9uKFxuICAgICAgKHJvb3QpID0+IG5ldyBNb3ZlRG93bk9wZXJhdGlvbihyb290KSxcbiAgICAgIGVkaXRvclxuICAgICk7XG5cbiAgICByZXR1cm4gc2hvdWxkU3RvcFByb3BhZ2F0aW9uO1xuICB9O1xuXG4gIHByaXZhdGUgbW92ZUxpc3RFbGVtZW50VXBDb21tYW5kID0gKGVkaXRvcjogTXlFZGl0b3IpID0+IHtcbiAgICBjb25zdCB7IHNob3VsZFN0b3BQcm9wYWdhdGlvbiB9ID0gdGhpcy5wZXJmb3JtT3BlcmF0aW9uLnBlcmZvcm1PcGVyYXRpb24oXG4gICAgICAocm9vdCkgPT4gbmV3IE1vdmVVcE9wZXJhdGlvbihyb290KSxcbiAgICAgIGVkaXRvclxuICAgICk7XG5cbiAgICByZXR1cm4gc2hvdWxkU3RvcFByb3BhZ2F0aW9uO1xuICB9O1xuXG4gIHByaXZhdGUgbW92ZUxpc3RFbGVtZW50UmlnaHRDb21tYW5kID0gKGVkaXRvcjogTXlFZGl0b3IpID0+IHtcbiAgICBpZiAodGhpcy5pbWUuaXNJTUVPcGVuZWQoKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMubW92ZUxpc3RFbGVtZW50UmlnaHQoZWRpdG9yKS5zaG91bGRTdG9wUHJvcGFnYXRpb247XG4gIH07XG5cbiAgcHJpdmF0ZSBtb3ZlTGlzdEVsZW1lbnRSaWdodCA9IChlZGl0b3I6IE15RWRpdG9yKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMucGVyZm9ybU9wZXJhdGlvbi5wZXJmb3JtT3BlcmF0aW9uKFxuICAgICAgKHJvb3QpID0+XG4gICAgICAgIG5ldyBNb3ZlUmlnaHRPcGVyYXRpb24ocm9vdCwgdGhpcy5vYnNpZGlhbi5nZXREZWZhdWx0SW5kZW50Q2hhcnMoKSksXG4gICAgICBlZGl0b3JcbiAgICApO1xuICB9O1xuXG4gIHByaXZhdGUgbW92ZUxpc3RFbGVtZW50TGVmdENvbW1hbmQgPSAoZWRpdG9yOiBNeUVkaXRvcikgPT4ge1xuICAgIGlmICh0aGlzLmltZS5pc0lNRU9wZW5lZCgpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5tb3ZlTGlzdEVsZW1lbnRMZWZ0KGVkaXRvcikuc2hvdWxkU3RvcFByb3BhZ2F0aW9uO1xuICB9O1xuXG4gIHByaXZhdGUgbW92ZUxpc3RFbGVtZW50TGVmdCA9IChlZGl0b3I6IE15RWRpdG9yKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMucGVyZm9ybU9wZXJhdGlvbi5wZXJmb3JtT3BlcmF0aW9uKFxuICAgICAgKHJvb3QpID0+IG5ldyBNb3ZlTGVmdE9wZXJhdGlvbihyb290KSxcbiAgICAgIGVkaXRvclxuICAgICk7XG4gIH07XG59XG4iLCJpbXBvcnQgeyBPcGVyYXRpb24gfSBmcm9tIFwiLi9PcGVyYXRpb25cIjtcblxuaW1wb3J0IHsgUm9vdCwgbWF4UG9zLCBtaW5Qb3MgfSBmcm9tIFwiLi4vcm9vdFwiO1xuXG5leHBvcnQgY2xhc3MgU2VsZWN0QWxsT3BlcmF0aW9uIGltcGxlbWVudHMgT3BlcmF0aW9uIHtcbiAgcHJpdmF0ZSBzdG9wUHJvcGFnYXRpb24gPSBmYWxzZTtcbiAgcHJpdmF0ZSB1cGRhdGVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb290OiBSb290KSB7fVxuXG4gIHNob3VsZFN0b3BQcm9wYWdhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9wUHJvcGFnYXRpb247XG4gIH1cblxuICBzaG91bGRVcGRhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudXBkYXRlZDtcbiAgfVxuXG4gIHBlcmZvcm0oKSB7XG4gICAgY29uc3QgeyByb290IH0gPSB0aGlzO1xuXG4gICAgaWYgKCFyb290Lmhhc1NpbmdsZVNlbGVjdGlvbigpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc2VsZWN0aW9uID0gcm9vdC5nZXRTZWxlY3Rpb25zKClbMF07XG4gICAgY29uc3QgW3Jvb3RTdGFydCwgcm9vdEVuZF0gPSByb290LmdldFJhbmdlKCk7XG5cbiAgICBjb25zdCBzZWxlY3Rpb25Gcm9tID0gbWluUG9zKHNlbGVjdGlvbi5hbmNob3IsIHNlbGVjdGlvbi5oZWFkKTtcbiAgICBjb25zdCBzZWxlY3Rpb25UbyA9IG1heFBvcyhzZWxlY3Rpb24uYW5jaG9yLCBzZWxlY3Rpb24uaGVhZCk7XG5cbiAgICBpZiAoXG4gICAgICBzZWxlY3Rpb25Gcm9tLmxpbmUgPCByb290U3RhcnQubGluZSB8fFxuICAgICAgc2VsZWN0aW9uVG8ubGluZSA+IHJvb3RFbmQubGluZVxuICAgICkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHNlbGVjdGlvbkZyb20ubGluZSA9PT0gcm9vdFN0YXJ0LmxpbmUgJiZcbiAgICAgIHNlbGVjdGlvbkZyb20uY2ggPT09IHJvb3RTdGFydC5jaCAmJlxuICAgICAgc2VsZWN0aW9uVG8ubGluZSA9PT0gcm9vdEVuZC5saW5lICYmXG4gICAgICBzZWxlY3Rpb25Uby5jaCA9PT0gcm9vdEVuZC5jaFxuICAgICkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IGxpc3QgPSByb290LmdldExpc3RVbmRlckN1cnNvcigpO1xuICAgIGNvbnN0IGNvbnRlbnRTdGFydCA9IGxpc3QuZ2V0Rmlyc3RMaW5lQ29udGVudFN0YXJ0KCk7XG4gICAgY29uc3QgY29udGVudEVuZCA9IGxpc3QuZ2V0TGFzdExpbmVDb250ZW50RW5kKCk7XG5cbiAgICBpZiAoXG4gICAgICBzZWxlY3Rpb25Gcm9tLmxpbmUgPCBjb250ZW50U3RhcnQubGluZSB8fFxuICAgICAgc2VsZWN0aW9uVG8ubGluZSA+IGNvbnRlbnRFbmQubGluZVxuICAgICkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHRoaXMuc3RvcFByb3BhZ2F0aW9uID0gdHJ1ZTtcbiAgICB0aGlzLnVwZGF0ZWQgPSB0cnVlO1xuXG4gICAgaWYgKFxuICAgICAgc2VsZWN0aW9uRnJvbS5saW5lID09PSBjb250ZW50U3RhcnQubGluZSAmJlxuICAgICAgc2VsZWN0aW9uRnJvbS5jaCA9PT0gY29udGVudFN0YXJ0LmNoICYmXG4gICAgICBzZWxlY3Rpb25Uby5saW5lID09PSBjb250ZW50RW5kLmxpbmUgJiZcbiAgICAgIHNlbGVjdGlvblRvLmNoID09PSBjb250ZW50RW5kLmNoXG4gICAgKSB7XG4gICAgICAvLyBzZWxlY3QgYWxsIGxpc3RcbiAgICAgIHJvb3QucmVwbGFjZVNlbGVjdGlvbnMoW3sgYW5jaG9yOiByb290U3RhcnQsIGhlYWQ6IHJvb3RFbmQgfV0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBzZWxlY3QgYWxsIGxpbmVcbiAgICAgIHJvb3QucmVwbGFjZVNlbGVjdGlvbnMoW3sgYW5jaG9yOiBjb250ZW50U3RhcnQsIGhlYWQ6IGNvbnRlbnRFbmQgfV0pO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG4iLCJpbXBvcnQgeyBQbHVnaW5fMiB9IGZyb20gXCJvYnNpZGlhblwiO1xuXG5pbXBvcnQgeyBrZXltYXAgfSBmcm9tIFwiQGNvZGVtaXJyb3Ivdmlld1wiO1xuXG5pbXBvcnQgeyBNeUVkaXRvciB9IGZyb20gXCIuLi9NeUVkaXRvclwiO1xuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gXCIuLi9mZWF0dXJlcy9GZWF0dXJlXCI7XG5pbXBvcnQgeyBTZWxlY3RBbGxPcGVyYXRpb24gfSBmcm9tIFwiLi4vb3BlcmF0aW9ucy9TZWxlY3RBbGxPcGVyYXRpb25cIjtcbmltcG9ydCB7IElNRVNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvSU1FU2VydmljZVwiO1xuaW1wb3J0IHsgT2JzaWRpYW5TZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL09ic2lkaWFuU2VydmljZVwiO1xuaW1wb3J0IHsgUGVyZm9ybU9wZXJhdGlvblNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvUGVyZm9ybU9wZXJhdGlvblNlcnZpY2VcIjtcbmltcG9ydCB7IFNldHRpbmdzU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9TZXR0aW5nc1NlcnZpY2VcIjtcblxuZXhwb3J0IGNsYXNzIFNlbGVjdEFsbEZlYXR1cmUgaW1wbGVtZW50cyBGZWF0dXJlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBwbHVnaW46IFBsdWdpbl8yLFxuICAgIHByaXZhdGUgc2V0dGluZ3M6IFNldHRpbmdzU2VydmljZSxcbiAgICBwcml2YXRlIGltZTogSU1FU2VydmljZSxcbiAgICBwcml2YXRlIG9ic2lkaWFuOiBPYnNpZGlhblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwZXJmb3JtT3BlcmF0aW9uOiBQZXJmb3JtT3BlcmF0aW9uU2VydmljZVxuICApIHt9XG5cbiAgYXN5bmMgbG9hZCgpIHtcbiAgICB0aGlzLnBsdWdpbi5yZWdpc3RlckVkaXRvckV4dGVuc2lvbihcbiAgICAgIGtleW1hcC5vZihbXG4gICAgICAgIHtcbiAgICAgICAgICBrZXk6IFwiYy1hXCIsXG4gICAgICAgICAgbWFjOiBcIm0tYVwiLFxuICAgICAgICAgIHJ1bjogdGhpcy5vYnNpZGlhbi5jcmVhdGVLZXltYXBSdW5DYWxsYmFjayh7XG4gICAgICAgICAgICBjaGVjazogdGhpcy5jaGVjayxcbiAgICAgICAgICAgIHJ1bjogdGhpcy5ydW4sXG4gICAgICAgICAgfSksXG4gICAgICAgIH0sXG4gICAgICBdKVxuICAgICk7XG4gIH1cblxuICBhc3luYyB1bmxvYWQoKSB7fVxuXG4gIHByaXZhdGUgY2hlY2sgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuc2V0dGluZ3Muc2VsZWN0QWxsICYmICF0aGlzLmltZS5pc0lNRU9wZW5lZCgpO1xuICB9O1xuXG4gIHByaXZhdGUgcnVuID0gKGVkaXRvcjogTXlFZGl0b3IpID0+IHtcbiAgICByZXR1cm4gdGhpcy5wZXJmb3JtT3BlcmF0aW9uLnBlcmZvcm1PcGVyYXRpb24oXG4gICAgICAocm9vdCkgPT4gbmV3IFNlbGVjdEFsbE9wZXJhdGlvbihyb290KSxcbiAgICAgIGVkaXRvclxuICAgICk7XG4gIH07XG59XG4iLCJpbXBvcnQgeyBPcGVyYXRpb24gfSBmcm9tIFwiLi9PcGVyYXRpb25cIjtcblxuaW1wb3J0IHsgUm9vdCB9IGZyb20gXCIuLi9yb290XCI7XG5cbmV4cG9ydCBjbGFzcyBTZWxlY3RUaWxsTGluZVN0YXJ0T3BlcmF0aW9uIGltcGxlbWVudHMgT3BlcmF0aW9uIHtcbiAgcHJpdmF0ZSBzdG9wUHJvcGFnYXRpb24gPSBmYWxzZTtcbiAgcHJpdmF0ZSB1cGRhdGVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb290OiBSb290KSB7fVxuXG4gIHNob3VsZFN0b3BQcm9wYWdhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9wUHJvcGFnYXRpb247XG4gIH1cblxuICBzaG91bGRVcGRhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudXBkYXRlZDtcbiAgfVxuXG4gIHBlcmZvcm0oKSB7XG4gICAgY29uc3QgeyByb290IH0gPSB0aGlzO1xuXG4gICAgaWYgKCFyb290Lmhhc1NpbmdsZUN1cnNvcigpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zdG9wUHJvcGFnYXRpb24gPSB0cnVlO1xuICAgIHRoaXMudXBkYXRlZCA9IHRydWU7XG5cbiAgICBjb25zdCBjdXJzb3IgPSByb290LmdldEN1cnNvcigpO1xuICAgIGNvbnN0IGxpc3QgPSByb290LmdldExpc3RVbmRlckN1cnNvcigpO1xuICAgIGNvbnN0IGxpbmVzID0gbGlzdC5nZXRMaW5lc0luZm8oKTtcbiAgICBjb25zdCBsaW5lTm8gPSBsaW5lcy5maW5kSW5kZXgoKGwpID0+IGwuZnJvbS5saW5lID09PSBjdXJzb3IubGluZSk7XG5cbiAgICByb290LnJlcGxhY2VTZWxlY3Rpb25zKFt7IGhlYWQ6IGxpbmVzW2xpbmVOb10uZnJvbSwgYW5jaG9yOiBjdXJzb3IgfV0pO1xuICB9XG59XG4iLCJpbXBvcnQgeyBQbHVnaW5fMiB9IGZyb20gXCJvYnNpZGlhblwiO1xuXG5pbXBvcnQgeyBrZXltYXAgfSBmcm9tIFwiQGNvZGVtaXJyb3Ivdmlld1wiO1xuXG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSBcIi4vRmVhdHVyZVwiO1xuXG5pbXBvcnQgeyBNeUVkaXRvciB9IGZyb20gXCIuLi9NeUVkaXRvclwiO1xuaW1wb3J0IHsgU2VsZWN0VGlsbExpbmVTdGFydE9wZXJhdGlvbiB9IGZyb20gXCIuLi9vcGVyYXRpb25zL1NlbGVjdFRpbGxMaW5lU3RhcnRPcGVyYXRpb25cIjtcbmltcG9ydCB7IElNRVNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvSU1FU2VydmljZVwiO1xuaW1wb3J0IHsgT2JzaWRpYW5TZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL09ic2lkaWFuU2VydmljZVwiO1xuaW1wb3J0IHsgUGVyZm9ybU9wZXJhdGlvblNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvUGVyZm9ybU9wZXJhdGlvblNlcnZpY2VcIjtcbmltcG9ydCB7IFNldHRpbmdzU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9TZXR0aW5nc1NlcnZpY2VcIjtcblxuZXhwb3J0IGNsYXNzIFNlbGVjdGlvblNob3VsZElnbm9yZUJ1bGxldHNGZWF0dXJlIGltcGxlbWVudHMgRmVhdHVyZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcGx1Z2luOiBQbHVnaW5fMixcbiAgICBwcml2YXRlIHNldHRpbmdzOiBTZXR0aW5nc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbWU6IElNRVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBvYnNpZGlhbjogT2JzaWRpYW5TZXJ2aWNlLFxuICAgIHByaXZhdGUgcGVyZm9ybU9wZXJhdGlvbjogUGVyZm9ybU9wZXJhdGlvblNlcnZpY2VcbiAgKSB7fVxuXG4gIGFzeW5jIGxvYWQoKSB7XG4gICAgdGhpcy5wbHVnaW4ucmVnaXN0ZXJFZGl0b3JFeHRlbnNpb24oXG4gICAgICBrZXltYXAub2YoW1xuICAgICAgICB7XG4gICAgICAgICAga2V5OiBcIm0tcy1BcnJvd0xlZnRcIixcbiAgICAgICAgICBydW46IHRoaXMub2JzaWRpYW4uY3JlYXRlS2V5bWFwUnVuQ2FsbGJhY2soe1xuICAgICAgICAgICAgY2hlY2s6IHRoaXMuY2hlY2ssXG4gICAgICAgICAgICBydW46IHRoaXMucnVuLFxuICAgICAgICAgIH0pLFxuICAgICAgICB9LFxuICAgICAgXSlcbiAgICApO1xuICB9XG5cbiAgYXN5bmMgdW5sb2FkKCkge31cblxuICBwcml2YXRlIGNoZWNrID0gKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLnNldHRpbmdzLnN0aWNrQ3Vyc29yICYmICF0aGlzLmltZS5pc0lNRU9wZW5lZCgpO1xuICB9O1xuXG4gIHByaXZhdGUgcnVuID0gKGVkaXRvcjogTXlFZGl0b3IpID0+IHtcbiAgICByZXR1cm4gdGhpcy5wZXJmb3JtT3BlcmF0aW9uLnBlcmZvcm1PcGVyYXRpb24oXG4gICAgICAocm9vdCkgPT4gbmV3IFNlbGVjdFRpbGxMaW5lU3RhcnRPcGVyYXRpb24ocm9vdCksXG4gICAgICBlZGl0b3JcbiAgICApO1xuICB9O1xufVxuIiwiaW1wb3J0IHsgQXBwLCBQbHVnaW5TZXR0aW5nVGFiLCBQbHVnaW5fMiwgU2V0dGluZyB9IGZyb20gXCJvYnNpZGlhblwiO1xuXG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSBcIi4vRmVhdHVyZVwiO1xuXG5pbXBvcnQgeyBMaXN0TGluZUFjdGlvbiwgU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL1NldHRpbmdzU2VydmljZVwiO1xuXG5jbGFzcyBPYnNpZGlhbk91dGxpbmVyUGx1Z2luU2V0dGluZ1RhYiBleHRlbmRzIFBsdWdpblNldHRpbmdUYWIge1xuICBjb25zdHJ1Y3RvcihhcHA6IEFwcCwgcGx1Z2luOiBQbHVnaW5fMiwgcHJpdmF0ZSBzZXR0aW5nczogU2V0dGluZ3NTZXJ2aWNlKSB7XG4gICAgc3VwZXIoYXBwLCBwbHVnaW4pO1xuICB9XG5cbiAgZGlzcGxheSgpOiB2b2lkIHtcbiAgICBjb25zdCB7IGNvbnRhaW5lckVsIH0gPSB0aGlzO1xuXG4gICAgY29udGFpbmVyRWwuZW1wdHkoKTtcblxuICAgIG5ldyBTZXR0aW5nKGNvbnRhaW5lckVsKVxuICAgICAgLnNldE5hbWUoXCJJbXByb3ZlIHRoZSBzdHlsZSBvZiB5b3VyIGxpc3RzXCIpXG4gICAgICAuc2V0RGVzYyhcbiAgICAgICAgXCJTdHlsZXMgYXJlIG9ubHkgY29tcGF0aWJsZSB3aXRoIGJ1aWx0LWluIE9ic2lkaWFuIHRoZW1lcyBhbmQgbWF5IG5vdCBiZSBjb21wYXRpYmxlIHdpdGggb3RoZXIgdGhlbWVzLlwiXG4gICAgICApXG4gICAgICAuYWRkVG9nZ2xlKCh0b2dnbGUpID0+IHtcbiAgICAgICAgdG9nZ2xlLnNldFZhbHVlKHRoaXMuc2V0dGluZ3Muc3R5bGVMaXN0cykub25DaGFuZ2UoYXN5bmMgKHZhbHVlKSA9PiB7XG4gICAgICAgICAgdGhpcy5zZXR0aW5ncy5zdHlsZUxpc3RzID0gdmFsdWU7XG4gICAgICAgICAgYXdhaXQgdGhpcy5zZXR0aW5ncy5zYXZlKCk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICBuZXcgU2V0dGluZyhjb250YWluZXJFbClcbiAgICAgIC5zZXROYW1lKFwiRHJhdyB2ZXJ0aWNhbCBpbmRlbnRhdGlvbiBsaW5lc1wiKVxuICAgICAgLmFkZFRvZ2dsZSgodG9nZ2xlKSA9PiB7XG4gICAgICAgIHRvZ2dsZS5zZXRWYWx1ZSh0aGlzLnNldHRpbmdzLmxpc3RMaW5lcykub25DaGFuZ2UoYXN5bmMgKHZhbHVlKSA9PiB7XG4gICAgICAgICAgdGhpcy5zZXR0aW5ncy5saXN0TGluZXMgPSB2YWx1ZTtcbiAgICAgICAgICBhd2FpdCB0aGlzLnNldHRpbmdzLnNhdmUoKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgIG5ldyBTZXR0aW5nKGNvbnRhaW5lckVsKVxuICAgICAgLnNldE5hbWUoXCJWZXJ0aWNhbCBpbmRlbnRhdGlvbiBsaW5lIGNsaWNrIGFjdGlvblwiKVxuICAgICAgLmFkZERyb3Bkb3duKChkcm9wZG93bikgPT4ge1xuICAgICAgICBkcm9wZG93blxuICAgICAgICAgIC5hZGRPcHRpb25zKHtcbiAgICAgICAgICAgIG5vbmU6IFwiTm9uZVwiLFxuICAgICAgICAgICAgXCJ6b29tLWluXCI6IFwiWm9vbSBJblwiLFxuICAgICAgICAgICAgXCJ0b2dnbGUtZm9sZGluZ1wiOiBcIlRvZ2dsZSBGb2xkaW5nXCIsXG4gICAgICAgICAgfSBhcyB7IFtrZXkgaW4gTGlzdExpbmVBY3Rpb25dOiBzdHJpbmcgfSlcbiAgICAgICAgICAuc2V0VmFsdWUodGhpcy5zZXR0aW5ncy5saXN0TGluZUFjdGlvbilcbiAgICAgICAgICAub25DaGFuZ2UoYXN5bmMgKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNldHRpbmdzLmxpc3RMaW5lQWN0aW9uID0gdmFsdWUgYXMgTGlzdExpbmVBY3Rpb247XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnNldHRpbmdzLnNhdmUoKTtcbiAgICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgbmV3IFNldHRpbmcoY29udGFpbmVyRWwpXG4gICAgICAuc2V0TmFtZShcIlN0aWNrIHRoZSBjdXJzb3IgdG8gdGhlIGNvbnRlbnRcIilcbiAgICAgIC5zZXREZXNjKFwiRG9uJ3QgbGV0IHRoZSBjdXJzb3IgbW92ZSB0byB0aGUgYnVsbGV0IHBvc2l0aW9uLlwiKVxuICAgICAgLmFkZFRvZ2dsZSgodG9nZ2xlKSA9PiB7XG4gICAgICAgIHRvZ2dsZS5zZXRWYWx1ZSh0aGlzLnNldHRpbmdzLnN0aWNrQ3Vyc29yKS5vbkNoYW5nZShhc3luYyAodmFsdWUpID0+IHtcbiAgICAgICAgICB0aGlzLnNldHRpbmdzLnN0aWNrQ3Vyc29yID0gdmFsdWU7XG4gICAgICAgICAgYXdhaXQgdGhpcy5zZXR0aW5ncy5zYXZlKCk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICBuZXcgU2V0dGluZyhjb250YWluZXJFbClcbiAgICAgIC5zZXROYW1lKFwiRW5oYW5jZSB0aGUgRW50ZXIga2V5XCIpXG4gICAgICAuc2V0RGVzYyhcIk1ha2UgdGhlIEVudGVyIGtleSBiZWhhdmUgdGhlIHNhbWUgYXMgb3RoZXIgb3V0bGluZXJzLlwiKVxuICAgICAgLmFkZFRvZ2dsZSgodG9nZ2xlKSA9PiB7XG4gICAgICAgIHRvZ2dsZS5zZXRWYWx1ZSh0aGlzLnNldHRpbmdzLmJldHRlckVudGVyKS5vbkNoYW5nZShhc3luYyAodmFsdWUpID0+IHtcbiAgICAgICAgICB0aGlzLnNldHRpbmdzLmJldHRlckVudGVyID0gdmFsdWU7XG4gICAgICAgICAgYXdhaXQgdGhpcy5zZXR0aW5ncy5zYXZlKCk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICBuZXcgU2V0dGluZyhjb250YWluZXJFbClcbiAgICAgIC5zZXROYW1lKFwiRW5oYW5jZSB0aGUgVGFiIGtleVwiKVxuICAgICAgLnNldERlc2MoXCJNYWtlIFRhYiBhbmQgU2hpZnQtVGFiIGJlaGF2ZSB0aGUgc2FtZSBhcyBvdGhlciBvdXRsaW5lcnMuXCIpXG4gICAgICAuYWRkVG9nZ2xlKCh0b2dnbGUpID0+IHtcbiAgICAgICAgdG9nZ2xlLnNldFZhbHVlKHRoaXMuc2V0dGluZ3MuYmV0dGVyVGFiKS5vbkNoYW5nZShhc3luYyAodmFsdWUpID0+IHtcbiAgICAgICAgICB0aGlzLnNldHRpbmdzLmJldHRlclRhYiA9IHZhbHVlO1xuICAgICAgICAgIGF3YWl0IHRoaXMuc2V0dGluZ3Muc2F2ZSgpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgbmV3IFNldHRpbmcoY29udGFpbmVyRWwpXG4gICAgICAuc2V0TmFtZShcIkVuaGFuY2UgdGhlIEN0cmwrQSBvciBDbWQrQSBiZWhhdmlvclwiKVxuICAgICAgLnNldERlc2MoXG4gICAgICAgIFwiUHJlc3MgdGhlIGhvdGtleSBvbmNlIHRvIHNlbGVjdCB0aGUgY3VycmVudCBsaXN0IGl0ZW0uIFByZXNzIHRoZSBob3RrZXkgdHdpY2UgdG8gc2VsZWN0IHRoZSBlbnRpcmUgbGlzdC5cIlxuICAgICAgKVxuICAgICAgLmFkZFRvZ2dsZSgodG9nZ2xlKSA9PiB7XG4gICAgICAgIHRvZ2dsZS5zZXRWYWx1ZSh0aGlzLnNldHRpbmdzLnNlbGVjdEFsbCkub25DaGFuZ2UoYXN5bmMgKHZhbHVlKSA9PiB7XG4gICAgICAgICAgdGhpcy5zZXR0aW5ncy5zZWxlY3RBbGwgPSB2YWx1ZTtcbiAgICAgICAgICBhd2FpdCB0aGlzLnNldHRpbmdzLnNhdmUoKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgIG5ldyBTZXR0aW5nKGNvbnRhaW5lckVsKVxuICAgICAgLnNldE5hbWUoXCJEZWJ1ZyBtb2RlXCIpXG4gICAgICAuc2V0RGVzYyhcbiAgICAgICAgXCJPcGVuIERldlRvb2xzIChDb21tYW5kK09wdGlvbitJIG9yIENvbnRyb2wrU2hpZnQrSSkgdG8gY29weSB0aGUgZGVidWcgbG9ncy5cIlxuICAgICAgKVxuICAgICAgLmFkZFRvZ2dsZSgodG9nZ2xlKSA9PiB7XG4gICAgICAgIHRvZ2dsZS5zZXRWYWx1ZSh0aGlzLnNldHRpbmdzLmRlYnVnKS5vbkNoYW5nZShhc3luYyAodmFsdWUpID0+IHtcbiAgICAgICAgICB0aGlzLnNldHRpbmdzLmRlYnVnID0gdmFsdWU7XG4gICAgICAgICAgYXdhaXQgdGhpcy5zZXR0aW5ncy5zYXZlKCk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFNldHRpbmdzVGFiRmVhdHVyZSBpbXBsZW1lbnRzIEZlYXR1cmUge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBsdWdpbjogUGx1Z2luXzIsIHByaXZhdGUgc2V0dGluZ3M6IFNldHRpbmdzU2VydmljZSkge31cblxuICBhc3luYyBsb2FkKCkge1xuICAgIHRoaXMucGx1Z2luLmFkZFNldHRpbmdUYWIoXG4gICAgICBuZXcgT2JzaWRpYW5PdXRsaW5lclBsdWdpblNldHRpbmdUYWIoXG4gICAgICAgIHRoaXMucGx1Z2luLmFwcCxcbiAgICAgICAgdGhpcy5wbHVnaW4sXG4gICAgICAgIHRoaXMuc2V0dGluZ3NcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgYXN5bmMgdW5sb2FkKCkge31cbn1cbiIsImltcG9ydCB7IE9wZXJhdGlvbiB9IGZyb20gXCIuL09wZXJhdGlvblwiO1xuXG5pbXBvcnQgeyBSb290IH0gZnJvbSBcIi4uL3Jvb3RcIjtcblxuZXhwb3J0IGNsYXNzIENyZWF0ZU5vdGVMaW5lT3BlcmF0aW9uIGltcGxlbWVudHMgT3BlcmF0aW9uIHtcbiAgcHJpdmF0ZSBzdG9wUHJvcGFnYXRpb24gPSBmYWxzZTtcbiAgcHJpdmF0ZSB1cGRhdGVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb290OiBSb290KSB7fVxuXG4gIHNob3VsZFN0b3BQcm9wYWdhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9wUHJvcGFnYXRpb247XG4gIH1cblxuICBzaG91bGRVcGRhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudXBkYXRlZDtcbiAgfVxuXG4gIHBlcmZvcm0oKSB7XG4gICAgY29uc3QgeyByb290IH0gPSB0aGlzO1xuXG4gICAgaWYgKCFyb290Lmhhc1NpbmdsZUN1cnNvcigpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY3Vyc29yID0gcm9vdC5nZXRDdXJzb3IoKTtcbiAgICBjb25zdCBsaXN0ID0gcm9vdC5nZXRMaXN0VW5kZXJDdXJzb3IoKTtcbiAgICBjb25zdCBsaW5lVW5kZXJDdXJzb3IgPSBsaXN0XG4gICAgICAuZ2V0TGluZXNJbmZvKClcbiAgICAgIC5maW5kKChsKSA9PiBsLmZyb20ubGluZSA9PT0gY3Vyc29yLmxpbmUpO1xuXG4gICAgaWYgKGN1cnNvci5jaCA8IGxpbmVVbmRlckN1cnNvci5mcm9tLmNoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zdG9wUHJvcGFnYXRpb24gPSB0cnVlO1xuICAgIHRoaXMudXBkYXRlZCA9IHRydWU7XG5cbiAgICBpZiAoIWxpc3QuZ2V0Tm90ZXNJbmRlbnQoKSkge1xuICAgICAgbGlzdC5zZXROb3Rlc0luZGVudChsaXN0LmdldEZpcnN0TGluZUluZGVudCgpICsgXCIgIFwiKTtcbiAgICB9XG5cbiAgICBjb25zdCBsaW5lcyA9IGxpc3QuZ2V0TGluZXNJbmZvKCkucmVkdWNlKChhY2MsIGxpbmUpID0+IHtcbiAgICAgIGlmIChjdXJzb3IubGluZSA9PT0gbGluZS5mcm9tLmxpbmUpIHtcbiAgICAgICAgYWNjLnB1c2gobGluZS50ZXh0LnNsaWNlKDAsIGN1cnNvci5jaCAtIGxpbmUuZnJvbS5jaCkpO1xuICAgICAgICBhY2MucHVzaChsaW5lLnRleHQuc2xpY2UoY3Vyc29yLmNoIC0gbGluZS5mcm9tLmNoKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhY2MucHVzaChsaW5lLnRleHQpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIFtdIGFzIHN0cmluZ1tdKTtcblxuICAgIGxpc3QucmVwbGFjZUxpbmVzKGxpbmVzKTtcblxuICAgIHJvb3QucmVwbGFjZUN1cnNvcih7XG4gICAgICBsaW5lOiBjdXJzb3IubGluZSArIDEsXG4gICAgICBjaDogbGlzdC5nZXROb3Rlc0luZGVudCgpLmxlbmd0aCxcbiAgICB9KTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgUGx1Z2luXzIgfSBmcm9tIFwib2JzaWRpYW5cIjtcblxuaW1wb3J0IHsga2V5bWFwIH0gZnJvbSBcIkBjb2RlbWlycm9yL3ZpZXdcIjtcblxuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gXCIuL0ZlYXR1cmVcIjtcblxuaW1wb3J0IHsgTXlFZGl0b3IgfSBmcm9tIFwiLi4vTXlFZGl0b3JcIjtcbmltcG9ydCB7IENyZWF0ZU5vdGVMaW5lT3BlcmF0aW9uIH0gZnJvbSBcIi4uL29wZXJhdGlvbnMvQ3JlYXRlTm90ZUxpbmVPcGVyYXRpb25cIjtcbmltcG9ydCB7IElNRVNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvSU1FU2VydmljZVwiO1xuaW1wb3J0IHsgT2JzaWRpYW5TZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL09ic2lkaWFuU2VydmljZVwiO1xuaW1wb3J0IHsgUGVyZm9ybU9wZXJhdGlvblNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvUGVyZm9ybU9wZXJhdGlvblNlcnZpY2VcIjtcbmltcG9ydCB7IFNldHRpbmdzU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9TZXR0aW5nc1NlcnZpY2VcIjtcblxuZXhwb3J0IGNsYXNzIFNoaWZ0RW50ZXJTaG91bGRDcmVhdGVOb3RlRmVhdHVyZSBpbXBsZW1lbnRzIEZlYXR1cmUge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHBsdWdpbjogUGx1Z2luXzIsXG4gICAgcHJpdmF0ZSBvYnNpZGlhbjogT2JzaWRpYW5TZXJ2aWNlLFxuICAgIHByaXZhdGUgc2V0dGluZ3M6IFNldHRpbmdzU2VydmljZSxcbiAgICBwcml2YXRlIGltZTogSU1FU2VydmljZSxcbiAgICBwcml2YXRlIHBlcmZvcm1PcGVyYXRpb246IFBlcmZvcm1PcGVyYXRpb25TZXJ2aWNlXG4gICkge31cblxuICBhc3luYyBsb2FkKCkge1xuICAgIHRoaXMucGx1Z2luLnJlZ2lzdGVyRWRpdG9yRXh0ZW5zaW9uKFxuICAgICAga2V5bWFwLm9mKFtcbiAgICAgICAge1xuICAgICAgICAgIGtleTogXCJzLUVudGVyXCIsXG4gICAgICAgICAgcnVuOiB0aGlzLm9ic2lkaWFuLmNyZWF0ZUtleW1hcFJ1bkNhbGxiYWNrKHtcbiAgICAgICAgICAgIGNoZWNrOiB0aGlzLmNoZWNrLFxuICAgICAgICAgICAgcnVuOiB0aGlzLnJ1bixcbiAgICAgICAgICB9KSxcbiAgICAgICAgfSxcbiAgICAgIF0pXG4gICAgKTtcbiAgfVxuXG4gIGFzeW5jIHVubG9hZCgpIHt9XG5cbiAgcHJpdmF0ZSBjaGVjayA9ICgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5zZXR0aW5ncy5iZXR0ZXJFbnRlciAmJiAhdGhpcy5pbWUuaXNJTUVPcGVuZWQoKTtcbiAgfTtcblxuICBwcml2YXRlIHJ1biA9IChlZGl0b3I6IE15RWRpdG9yKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMucGVyZm9ybU9wZXJhdGlvbi5wZXJmb3JtT3BlcmF0aW9uKFxuICAgICAgKHJvb3QpID0+IG5ldyBDcmVhdGVOb3RlTGluZU9wZXJhdGlvbihyb290KSxcbiAgICAgIGVkaXRvclxuICAgICk7XG4gIH07XG59XG4iLCJleHBvcnQgaW50ZXJmYWNlIEFwcGx5Q2hhbmdlc0VkaXRvclBvc2l0aW9uIHtcbiAgbGluZTogbnVtYmVyO1xuICBjaDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFwcGx5Q2hhbmdlc0VkaXRvclNlbGVjdGlvbiB7XG4gIGFuY2hvcjogQXBwbHlDaGFuZ2VzRWRpdG9yUG9zaXRpb247XG4gIGhlYWQ6IEFwcGx5Q2hhbmdlc0VkaXRvclBvc2l0aW9uO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFwcGx5Q2hhbmdlc0VkaXRvciB7XG4gIGdldFJhbmdlKFxuICAgIGZyb206IEFwcGx5Q2hhbmdlc0VkaXRvclBvc2l0aW9uLFxuICAgIHRvOiBBcHBseUNoYW5nZXNFZGl0b3JQb3NpdGlvblxuICApOiBzdHJpbmc7XG4gIHJlcGxhY2VSYW5nZShcbiAgICByZXBsYWNlbWVudDogc3RyaW5nLFxuICAgIGZyb206IEFwcGx5Q2hhbmdlc0VkaXRvclBvc2l0aW9uLFxuICAgIHRvOiBBcHBseUNoYW5nZXNFZGl0b3JQb3NpdGlvblxuICApOiB2b2lkO1xuICBzZXRTZWxlY3Rpb25zKHNlbGVjdGlvbnM6IEFwcGx5Q2hhbmdlc0VkaXRvclNlbGVjdGlvbltdKTogdm9pZDtcbiAgZm9sZChuOiBudW1iZXIpOiB2b2lkO1xuICB1bmZvbGQobjogbnVtYmVyKTogdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBcHBseUNoYW5nZXNMaXN0IHtcbiAgaXNGb2xkUm9vdCgpOiBib29sZWFuO1xuICBnZXRDaGlsZHJlbigpOiBBcHBseUNoYW5nZXNMaXN0W107XG4gIGdldEZpcnN0TGluZUNvbnRlbnRTdGFydCgpOiB7IGxpbmU6IG51bWJlciB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFwcGx5Q2hhbmdlc1Jvb3Qge1xuICBnZXRSYW5nZSgpOiBbQXBwbHlDaGFuZ2VzRWRpdG9yUG9zaXRpb24sIEFwcGx5Q2hhbmdlc0VkaXRvclBvc2l0aW9uXTtcbiAgZ2V0U2VsZWN0aW9ucygpOiB7XG4gICAgYW5jaG9yOiBBcHBseUNoYW5nZXNFZGl0b3JQb3NpdGlvbjtcbiAgICBoZWFkOiBBcHBseUNoYW5nZXNFZGl0b3JQb3NpdGlvbjtcbiAgfVtdO1xuICBwcmludCgpOiBzdHJpbmc7XG4gIGdldENoaWxkcmVuKCk6IEFwcGx5Q2hhbmdlc0xpc3RbXTtcbn1cblxuZXhwb3J0IGNsYXNzIEFwcGx5Q2hhbmdlc1NlcnZpY2Uge1xuICBhcHBseUNoYW5nZXMoZWRpdG9yOiBBcHBseUNoYW5nZXNFZGl0b3IsIHJvb3Q6IEFwcGx5Q2hhbmdlc1Jvb3QpIHtcbiAgICBjb25zdCByb290UmFuZ2UgPSByb290LmdldFJhbmdlKCk7XG4gICAgY29uc3Qgb2xkU3RyaW5nID0gZWRpdG9yLmdldFJhbmdlKHJvb3RSYW5nZVswXSwgcm9vdFJhbmdlWzFdKTtcbiAgICBjb25zdCBuZXdTdHJpbmcgPSByb290LnByaW50KCk7XG5cbiAgICBjb25zdCBmcm9tTGluZSA9IHJvb3RSYW5nZVswXS5saW5lO1xuICAgIGNvbnN0IHRvTGluZSA9IHJvb3RSYW5nZVsxXS5saW5lO1xuXG4gICAgZm9yIChsZXQgbCA9IGZyb21MaW5lOyBsIDw9IHRvTGluZTsgbCsrKSB7XG4gICAgICBlZGl0b3IudW5mb2xkKGwpO1xuICAgIH1cblxuICAgIGNvbnN0IGNoYW5nZUZyb20gPSB7IC4uLnJvb3RSYW5nZVswXSB9O1xuICAgIGNvbnN0IGNoYW5nZVRvID0geyAuLi5yb290UmFuZ2VbMV0gfTtcbiAgICBsZXQgb2xkVG1wID0gb2xkU3RyaW5nO1xuICAgIGxldCBuZXdUbXAgPSBuZXdTdHJpbmc7XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc3RhbnQtY29uZGl0aW9uXG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIGNvbnN0IG5sSW5kZXggPSBvbGRUbXAubGFzdEluZGV4T2YoXCJcXG5cIik7XG4gICAgICBpZiAobmxJbmRleCA8IDApIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjb25zdCBvbGRMaW5lID0gb2xkVG1wLnNsaWNlKG5sSW5kZXgpO1xuICAgICAgY29uc3QgbmV3TGluZSA9IG5ld1RtcC5zbGljZSgtb2xkTGluZS5sZW5ndGgpO1xuICAgICAgaWYgKG9sZExpbmUgIT09IG5ld0xpbmUpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBvbGRUbXAgPSBvbGRUbXAuc2xpY2UoMCwgLW9sZExpbmUubGVuZ3RoKTtcbiAgICAgIG5ld1RtcCA9IG5ld1RtcC5zbGljZSgwLCAtb2xkTGluZS5sZW5ndGgpO1xuXG4gICAgICBjb25zdCBubEluZGV4MiA9IG9sZFRtcC5sYXN0SW5kZXhPZihcIlxcblwiKTtcbiAgICAgIGNoYW5nZVRvLmNoID1cbiAgICAgICAgbmxJbmRleDIgPj0gMCA/IG9sZFRtcC5sZW5ndGggLSBubEluZGV4MiAtIDEgOiBvbGRUbXAubGVuZ3RoO1xuICAgICAgY2hhbmdlVG8ubGluZS0tO1xuICAgIH1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc3RhbnQtY29uZGl0aW9uXG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIGNvbnN0IG5sSW5kZXggPSBvbGRUbXAuaW5kZXhPZihcIlxcblwiKTtcbiAgICAgIGlmIChubEluZGV4IDwgMCkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNvbnN0IG9sZExpbmUgPSBvbGRUbXAuc2xpY2UoMCwgbmxJbmRleCArIDEpO1xuICAgICAgY29uc3QgbmV3TGluZSA9IG5ld1RtcC5zbGljZSgwLCBvbGRMaW5lLmxlbmd0aCk7XG4gICAgICBpZiAob2xkTGluZSAhPT0gbmV3TGluZSkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNoYW5nZUZyb20ubGluZSsrO1xuICAgICAgb2xkVG1wID0gb2xkVG1wLnNsaWNlKG9sZExpbmUubGVuZ3RoKTtcbiAgICAgIG5ld1RtcCA9IG5ld1RtcC5zbGljZShvbGRMaW5lLmxlbmd0aCk7XG4gICAgfVxuXG4gICAgaWYgKG9sZFRtcCAhPT0gbmV3VG1wKSB7XG4gICAgICBlZGl0b3IucmVwbGFjZVJhbmdlKG5ld1RtcCwgY2hhbmdlRnJvbSwgY2hhbmdlVG8pO1xuICAgIH1cblxuICAgIGVkaXRvci5zZXRTZWxlY3Rpb25zKHJvb3QuZ2V0U2VsZWN0aW9ucygpKTtcblxuICAgIGZ1bmN0aW9uIHJlY3Vyc2l2ZShsaXN0OiBBcHBseUNoYW5nZXNMaXN0KSB7XG4gICAgICBmb3IgKGNvbnN0IGMgb2YgbGlzdC5nZXRDaGlsZHJlbigpKSB7XG4gICAgICAgIHJlY3Vyc2l2ZShjKTtcbiAgICAgIH1cbiAgICAgIGlmIChsaXN0LmlzRm9sZFJvb3QoKSkge1xuICAgICAgICBlZGl0b3IuZm9sZChsaXN0LmdldEZpcnN0TGluZUNvbnRlbnRTdGFydCgpLmxpbmUpO1xuICAgICAgfVxuICAgIH1cbiAgICBmb3IgKGNvbnN0IGMgb2Ygcm9vdC5nZXRDaGlsZHJlbigpKSB7XG4gICAgICByZWN1cnNpdmUoYyk7XG4gICAgfVxuICB9XG59XG4iLCJpbXBvcnQgeyBQbGF0Zm9ybSB9IGZyb20gXCJvYnNpZGlhblwiO1xuXG5leHBvcnQgY2xhc3MgSU1FU2VydmljZSB7XG4gIHByaXZhdGUgY29tcG9zaXRpb24gPSBmYWxzZTtcblxuICBhc3luYyBsb2FkKCkge1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJjb21wb3NpdGlvbnN0YXJ0XCIsIHRoaXMub25Db21wb3NpdGlvblN0YXJ0KTtcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwiY29tcG9zaXRpb25lbmRcIiwgdGhpcy5vbkNvbXBvc2l0aW9uRW5kKTtcbiAgfVxuXG4gIGFzeW5jIHVubG9hZCgpIHtcbiAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwiY29tcG9zaXRpb25lbmRcIiwgdGhpcy5vbkNvbXBvc2l0aW9uRW5kKTtcbiAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwiY29tcG9zaXRpb25zdGFydFwiLCB0aGlzLm9uQ29tcG9zaXRpb25TdGFydCk7XG4gIH1cblxuICBpc0lNRU9wZW5lZCgpIHtcbiAgICByZXR1cm4gdGhpcy5jb21wb3NpdGlvbiAmJiBQbGF0Zm9ybS5pc0Rlc2t0b3A7XG4gIH1cblxuICBwcml2YXRlIG9uQ29tcG9zaXRpb25TdGFydCA9ICgpID0+IHtcbiAgICB0aGlzLmNvbXBvc2l0aW9uID0gdHJ1ZTtcbiAgfTtcblxuICBwcml2YXRlIG9uQ29tcG9zaXRpb25FbmQgPSAoKSA9PiB7XG4gICAgdGhpcy5jb21wb3NpdGlvbiA9IGZhbHNlO1xuICB9O1xufVxuIiwiaW1wb3J0IHsgU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSBcIi4vU2V0dGluZ3NTZXJ2aWNlXCI7XG5cbmV4cG9ydCBjbGFzcyBMb2dnZXJTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzZXR0aW5nczogU2V0dGluZ3NTZXJ2aWNlKSB7fVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIGxvZyhtZXRob2Q6IHN0cmluZywgLi4uYXJnczogYW55W10pIHtcbiAgICBpZiAoIXRoaXMuc2V0dGluZ3MuZGVidWcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zb2xlLmluZm8obWV0aG9kLCAuLi5hcmdzKTtcbiAgfVxuXG4gIGJpbmQobWV0aG9kOiBzdHJpbmcpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHJldHVybiAoLi4uYXJnczogYW55W10pID0+IHRoaXMubG9nKG1ldGhvZCwgLi4uYXJncyk7XG4gIH1cbn1cbiIsImltcG9ydCB7IEFwcCwgRWRpdG9yLCBlZGl0b3JJbmZvRmllbGQgfSBmcm9tIFwib2JzaWRpYW5cIjtcblxuaW1wb3J0IHsgRWRpdG9yU3RhdGUgfSBmcm9tIFwiQGNvZGVtaXJyb3Ivc3RhdGVcIjtcbmltcG9ydCB7IEVkaXRvclZpZXcgfSBmcm9tIFwiQGNvZGVtaXJyb3Ivdmlld1wiO1xuXG5pbXBvcnQgeyBNeUVkaXRvciB9IGZyb20gXCIuLi9NeUVkaXRvclwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIE9ic2lkaWFuVGFic1NldHRpbmdzIHtcbiAgdXNlVGFiOiBib29sZWFuO1xuICB0YWJTaXplOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT2JzaWRpYW5Gb2xkU2V0dGluZ3Mge1xuICBmb2xkSW5kZW50OiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgT2JzaWRpYW5TZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhcHA6IEFwcCkge31cblxuICBpc0xlZ2FjeUVkaXRvckVuYWJsZWQoKSB7XG4gICAgY29uc3QgY29uZmlnOiB7IGxlZ2FjeUVkaXRvcjogYm9vbGVhbiB9ID0ge1xuICAgICAgbGVnYWN5RWRpdG9yOiBmYWxzZSxcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICAuLi4odGhpcy5hcHAudmF1bHQgYXMgYW55KS5jb25maWcsXG4gICAgfTtcblxuICAgIHJldHVybiBjb25maWcubGVnYWN5RWRpdG9yO1xuICB9XG5cbiAgaXNEZWZhdWx0VGhlbWVFbmFibGVkKCkge1xuICAgIGNvbnN0IGNvbmZpZzogeyBjc3NUaGVtZTogc3RyaW5nIH0gPSB7XG4gICAgICBjc3NUaGVtZTogXCJcIixcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICAuLi4odGhpcy5hcHAudmF1bHQgYXMgYW55KS5jb25maWcsXG4gICAgfTtcblxuICAgIHJldHVybiBjb25maWcuY3NzVGhlbWUgPT09IFwiXCI7XG4gIH1cblxuICBnZXRPYnNpZGlhblRhYnNTZXR0aW5ncygpOiBPYnNpZGlhblRhYnNTZXR0aW5ncyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHVzZVRhYjogdHJ1ZSxcbiAgICAgIHRhYlNpemU6IDQsXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgLi4uKHRoaXMuYXBwLnZhdWx0IGFzIGFueSkuY29uZmlnLFxuICAgIH07XG4gIH1cblxuICBnZXRPYnNpZGlhbkZvbGRTZXR0aW5ncygpOiBPYnNpZGlhbkZvbGRTZXR0aW5ncyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGZvbGRJbmRlbnQ6IHRydWUsXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgLi4uKHRoaXMuYXBwLnZhdWx0IGFzIGFueSkuY29uZmlnLFxuICAgIH07XG4gIH1cblxuICBnZXREZWZhdWx0SW5kZW50Q2hhcnMoKSB7XG4gICAgY29uc3QgeyB1c2VUYWIsIHRhYlNpemUgfSA9IHRoaXMuZ2V0T2JzaWRpYW5UYWJzU2V0dGluZ3MoKTtcblxuICAgIHJldHVybiB1c2VUYWIgPyBcIlxcdFwiIDogbmV3IEFycmF5KHRhYlNpemUpLmZpbGwoXCIgXCIpLmpvaW4oXCJcIik7XG4gIH1cblxuICBnZXRFZGl0b3JGcm9tU3RhdGUoc3RhdGU6IEVkaXRvclN0YXRlKSB7XG4gICAgcmV0dXJuIG5ldyBNeUVkaXRvcihzdGF0ZS5maWVsZChlZGl0b3JJbmZvRmllbGQpLmVkaXRvcik7XG4gIH1cblxuICBjcmVhdGVLZXltYXBSdW5DYWxsYmFjayhjb25maWc6IHtcbiAgICBjaGVjaz86IChlZGl0b3I6IE15RWRpdG9yKSA9PiBib29sZWFuO1xuICAgIHJ1bjogKGVkaXRvcjogTXlFZGl0b3IpID0+IHtcbiAgICAgIHNob3VsZFVwZGF0ZTogYm9vbGVhbjtcbiAgICAgIHNob3VsZFN0b3BQcm9wYWdhdGlvbjogYm9vbGVhbjtcbiAgICB9O1xuICB9KSB7XG4gICAgY29uc3QgY2hlY2sgPSBjb25maWcuY2hlY2sgfHwgKCgpID0+IHRydWUpO1xuICAgIGNvbnN0IHsgcnVuIH0gPSBjb25maWc7XG5cbiAgICByZXR1cm4gKHZpZXc6IEVkaXRvclZpZXcpOiBib29sZWFuID0+IHtcbiAgICAgIGNvbnN0IGVkaXRvciA9IHRoaXMuZ2V0RWRpdG9yRnJvbVN0YXRlKHZpZXcuc3RhdGUpO1xuXG4gICAgICBpZiAoIWNoZWNrKGVkaXRvcikpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB7IHNob3VsZFVwZGF0ZSwgc2hvdWxkU3RvcFByb3BhZ2F0aW9uIH0gPSBydW4oZWRpdG9yKTtcblxuICAgICAgcmV0dXJuIHNob3VsZFVwZGF0ZSB8fCBzaG91bGRTdG9wUHJvcGFnYXRpb247XG4gICAgfTtcbiAgfVxuXG4gIGNyZWF0ZUVkaXRvckNhbGxiYWNrKGNiOiAoZWRpdG9yOiBNeUVkaXRvcikgPT4gYm9vbGVhbikge1xuICAgIHJldHVybiAoZWRpdG9yOiBFZGl0b3IpID0+IHtcbiAgICAgIGNvbnN0IG15RWRpdG9yID0gbmV3IE15RWRpdG9yKGVkaXRvcik7XG4gICAgICBjb25zdCBzaG91bGRTdG9wUHJvcGFnYXRpb24gPSBjYihteUVkaXRvcik7XG5cbiAgICAgIGlmIChcbiAgICAgICAgIXNob3VsZFN0b3BQcm9wYWdhdGlvbiAmJlxuICAgICAgICB3aW5kb3cuZXZlbnQgJiZcbiAgICAgICAgd2luZG93LmV2ZW50LnR5cGUgPT09IFwia2V5ZG93blwiXG4gICAgICApIHtcbiAgICAgICAgbXlFZGl0b3IudHJpZ2dlck9uS2V5RG93bih3aW5kb3cuZXZlbnQgYXMgS2V5Ym9hcmRFdmVudCk7XG4gICAgICB9XG4gICAgfTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgTGlzdCwgUm9vdCB9IGZyb20gXCIuLi9yb290XCI7XG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL0xvZ2dlclNlcnZpY2VcIjtcblxuY29uc3QgYnVsbGV0U2lnbiA9IGAoPzpbLSorXXxcXFxcZCtcXFxcLilgO1xuY29uc3Qgb3B0aW9uYWxDaGVja2JveCA9IGAoPzpcXFxcW1sgeFhdXFxcXF0oIHxcXHQpKT9gO1xuXG5jb25zdCBsaXN0SXRlbVdpdGhvdXRTcGFjZXNSZSA9IG5ldyBSZWdFeHAoYF4ke2J1bGxldFNpZ259KCB8XFx0KWApO1xuY29uc3QgbGlzdEl0ZW1SZSA9IG5ldyBSZWdFeHAoYF5bIFxcdF0qJHtidWxsZXRTaWdufSggfFxcdClgKTtcbmNvbnN0IHN0cmluZ1dpdGhTcGFjZXNSZSA9IG5ldyBSZWdFeHAoYF5bIFxcdF0rYCk7XG5jb25zdCBwYXJzZUxpc3RJdGVtUmUgPSBuZXcgUmVnRXhwKFxuICBgXihbIFxcdF0qKSgke2J1bGxldFNpZ259KSggfFxcdCkoKCR7b3B0aW9uYWxDaGVja2JveH0pLiopJGBcbik7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVhZGVyUG9zaXRpb24ge1xuICBsaW5lOiBudW1iZXI7XG4gIGNoOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVhZGVyU2VsZWN0aW9uIHtcbiAgYW5jaG9yOiBSZWFkZXJQb3NpdGlvbjtcbiAgaGVhZDogUmVhZGVyUG9zaXRpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVhZGVyIHtcbiAgZ2V0Q3Vyc29yKCk6IFJlYWRlclBvc2l0aW9uO1xuICBnZXRMaW5lKG46IG51bWJlcik6IHN0cmluZztcbiAgbGFzdExpbmUoKTogbnVtYmVyO1xuICBsaXN0U2VsZWN0aW9ucygpOiBSZWFkZXJTZWxlY3Rpb25bXTtcbiAgZ2V0QWxsRm9sZGVkTGluZXMoKTogbnVtYmVyW107XG59XG5cbmludGVyZmFjZSBQYXJzZUxpc3RMaXN0IHtcbiAgZ2V0Rmlyc3RMaW5lSW5kZW50KCk6IHN0cmluZztcbiAgc2V0Tm90ZXNJbmRlbnQobm90ZXNJbmRlbnQ6IHN0cmluZyk6IHZvaWQ7XG4gIGdldE5vdGVzSW5kZW50KCk6IHN0cmluZyB8IG51bGw7XG4gIGFkZExpbmUodGV4dDogc3RyaW5nKTogdm9pZDtcbiAgZ2V0UGFyZW50KCk6IFBhcnNlTGlzdExpc3QgfCBudWxsO1xuICBhZGRBZnRlckFsbChsaXN0OiBQYXJzZUxpc3RMaXN0KTogdm9pZDtcbn1cblxuZXhwb3J0IGNsYXNzIFBhcnNlclNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxvZ2dlcjogTG9nZ2VyU2VydmljZSkge31cblxuICBwYXJzZVJhbmdlKGVkaXRvcjogUmVhZGVyLCBmcm9tTGluZSA9IDAsIHRvTGluZSA9IGVkaXRvci5sYXN0TGluZSgpKTogUm9vdFtdIHtcbiAgICBjb25zdCBsaXN0czogUm9vdFtdID0gW107XG5cbiAgICBmb3IgKGxldCBpID0gZnJvbUxpbmU7IGkgPD0gdG9MaW5lOyBpKyspIHtcbiAgICAgIGNvbnN0IGxpbmUgPSBlZGl0b3IuZ2V0TGluZShpKTtcblxuICAgICAgaWYgKGkgPT09IGZyb21MaW5lIHx8IHRoaXMuaXNMaXN0SXRlbShsaW5lKSkge1xuICAgICAgICBjb25zdCBsaXN0ID0gdGhpcy5wYXJzZVdpdGhMaW1pdHMoZWRpdG9yLCBpLCBmcm9tTGluZSwgdG9MaW5lKTtcblxuICAgICAgICBpZiAobGlzdCkge1xuICAgICAgICAgIGxpc3RzLnB1c2gobGlzdCk7XG4gICAgICAgICAgaSA9IGxpc3QuZ2V0UmFuZ2UoKVsxXS5saW5lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGxpc3RzO1xuICB9XG5cbiAgcGFyc2UoZWRpdG9yOiBSZWFkZXIsIGN1cnNvciA9IGVkaXRvci5nZXRDdXJzb3IoKSk6IFJvb3QgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZVdpdGhMaW1pdHMoZWRpdG9yLCBjdXJzb3IubGluZSwgMCwgZWRpdG9yLmxhc3RMaW5lKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBwYXJzZVdpdGhMaW1pdHMoXG4gICAgZWRpdG9yOiBSZWFkZXIsXG4gICAgcGFyc2luZ1N0YXJ0TGluZTogbnVtYmVyLFxuICAgIGxpbWl0RnJvbTogbnVtYmVyLFxuICAgIGxpbWl0VG86IG51bWJlclxuICApOiBSb290IHwgbnVsbCB7XG4gICAgY29uc3QgZCA9IHRoaXMubG9nZ2VyLmJpbmQoXCJwYXJzZUxpc3RcIik7XG4gICAgY29uc3QgZXJyb3IgPSAobXNnOiBzdHJpbmcpOiBudWxsID0+IHtcbiAgICAgIGQobXNnKTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH07XG5cbiAgICBjb25zdCBsaW5lID0gZWRpdG9yLmdldExpbmUocGFyc2luZ1N0YXJ0TGluZSk7XG5cbiAgICBsZXQgbGlzdExvb2tpbmdQb3M6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gICAgaWYgKHRoaXMuaXNMaXN0SXRlbShsaW5lKSkge1xuICAgICAgbGlzdExvb2tpbmdQb3MgPSBwYXJzaW5nU3RhcnRMaW5lO1xuICAgIH0gZWxzZSBpZiAodGhpcy5pc0xpbmVXaXRoSW5kZW50KGxpbmUpKSB7XG4gICAgICBsZXQgbGlzdExvb2tpbmdQb3NTZWFyY2ggPSBwYXJzaW5nU3RhcnRMaW5lIC0gMTtcbiAgICAgIHdoaWxlIChsaXN0TG9va2luZ1Bvc1NlYXJjaCA+PSAwKSB7XG4gICAgICAgIGNvbnN0IGxpbmUgPSBlZGl0b3IuZ2V0TGluZShsaXN0TG9va2luZ1Bvc1NlYXJjaCk7XG4gICAgICAgIGlmICh0aGlzLmlzTGlzdEl0ZW0obGluZSkpIHtcbiAgICAgICAgICBsaXN0TG9va2luZ1BvcyA9IGxpc3RMb29raW5nUG9zU2VhcmNoO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNMaW5lV2l0aEluZGVudChsaW5lKSkge1xuICAgICAgICAgIGxpc3RMb29raW5nUG9zU2VhcmNoLS07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAobGlzdExvb2tpbmdQb3MgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgbGV0IGxpc3RTdGFydExpbmU6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICAgIGxldCBsaXN0U3RhcnRMaW5lTG9va3VwID0gbGlzdExvb2tpbmdQb3M7XG4gICAgd2hpbGUgKGxpc3RTdGFydExpbmVMb29rdXAgPj0gMCkge1xuICAgICAgY29uc3QgbGluZSA9IGVkaXRvci5nZXRMaW5lKGxpc3RTdGFydExpbmVMb29rdXApO1xuICAgICAgaWYgKCF0aGlzLmlzTGlzdEl0ZW0obGluZSkgJiYgIXRoaXMuaXNMaW5lV2l0aEluZGVudChsaW5lKSkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmlzTGlzdEl0ZW1XaXRob3V0U3BhY2VzKGxpbmUpKSB7XG4gICAgICAgIGxpc3RTdGFydExpbmUgPSBsaXN0U3RhcnRMaW5lTG9va3VwO1xuICAgICAgICBpZiAobGlzdFN0YXJ0TGluZUxvb2t1cCA8PSBsaW1pdEZyb20pIHtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgbGlzdFN0YXJ0TGluZUxvb2t1cC0tO1xuICAgIH1cblxuICAgIGlmIChsaXN0U3RhcnRMaW5lID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBsZXQgbGlzdEVuZExpbmUgPSBsaXN0TG9va2luZ1BvcztcbiAgICBsZXQgbGlzdEVuZExpbmVMb29rdXAgPSBsaXN0TG9va2luZ1BvcztcbiAgICB3aGlsZSAobGlzdEVuZExpbmVMb29rdXAgPD0gZWRpdG9yLmxhc3RMaW5lKCkpIHtcbiAgICAgIGNvbnN0IGxpbmUgPSBlZGl0b3IuZ2V0TGluZShsaXN0RW5kTGluZUxvb2t1cCk7XG4gICAgICBpZiAoIXRoaXMuaXNMaXN0SXRlbShsaW5lKSAmJiAhdGhpcy5pc0xpbmVXaXRoSW5kZW50KGxpbmUpKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgaWYgKCF0aGlzLmlzRW1wdHlMaW5lKGxpbmUpKSB7XG4gICAgICAgIGxpc3RFbmRMaW5lID0gbGlzdEVuZExpbmVMb29rdXA7XG4gICAgICB9XG4gICAgICBpZiAobGlzdEVuZExpbmVMb29rdXAgPj0gbGltaXRUbykge1xuICAgICAgICBsaXN0RW5kTGluZSA9IGxpbWl0VG87XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgbGlzdEVuZExpbmVMb29rdXArKztcbiAgICB9XG5cbiAgICBpZiAobGlzdFN0YXJ0TGluZSA+IHBhcnNpbmdTdGFydExpbmUgfHwgbGlzdEVuZExpbmUgPCBwYXJzaW5nU3RhcnRMaW5lKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCByb290ID0gbmV3IFJvb3QoXG4gICAgICB7IGxpbmU6IGxpc3RTdGFydExpbmUsIGNoOiAwIH0sXG4gICAgICB7IGxpbmU6IGxpc3RFbmRMaW5lLCBjaDogZWRpdG9yLmdldExpbmUobGlzdEVuZExpbmUpLmxlbmd0aCB9LFxuICAgICAgZWRpdG9yLmxpc3RTZWxlY3Rpb25zKCkubWFwKChyKSA9PiAoe1xuICAgICAgICBhbmNob3I6IHsgbGluZTogci5hbmNob3IubGluZSwgY2g6IHIuYW5jaG9yLmNoIH0sXG4gICAgICAgIGhlYWQ6IHsgbGluZTogci5oZWFkLmxpbmUsIGNoOiByLmhlYWQuY2ggfSxcbiAgICAgIH0pKVxuICAgICk7XG5cbiAgICBsZXQgY3VycmVudFBhcmVudDogUGFyc2VMaXN0TGlzdCA9IHJvb3QuZ2V0Um9vdExpc3QoKTtcbiAgICBsZXQgY3VycmVudExpc3Q6IFBhcnNlTGlzdExpc3QgfCBudWxsID0gbnVsbDtcbiAgICBsZXQgY3VycmVudEluZGVudCA9IFwiXCI7XG5cbiAgICBjb25zdCBmb2xkZWRMaW5lcyA9IGVkaXRvci5nZXRBbGxGb2xkZWRMaW5lcygpO1xuXG4gICAgZm9yIChsZXQgbCA9IGxpc3RTdGFydExpbmU7IGwgPD0gbGlzdEVuZExpbmU7IGwrKykge1xuICAgICAgY29uc3QgbGluZSA9IGVkaXRvci5nZXRMaW5lKGwpO1xuICAgICAgY29uc3QgbWF0Y2hlcyA9IHBhcnNlTGlzdEl0ZW1SZS5leGVjKGxpbmUpO1xuXG4gICAgICBpZiAobWF0Y2hlcykge1xuICAgICAgICBjb25zdCBbLCBpbmRlbnQsIGJ1bGxldCwgc3BhY2VBZnRlckJ1bGxldCwgY29udGVudCwgb3B0aW9uYWxDaGVja2JveF0gPVxuICAgICAgICAgIG1hdGNoZXM7XG5cbiAgICAgICAgY29uc3QgY29tcGFyZUxlbmd0aCA9IE1hdGgubWluKGN1cnJlbnRJbmRlbnQubGVuZ3RoLCBpbmRlbnQubGVuZ3RoKTtcbiAgICAgICAgY29uc3QgaW5kZW50U2xpY2UgPSBpbmRlbnQuc2xpY2UoMCwgY29tcGFyZUxlbmd0aCk7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRJbmRlbnRTbGljZSA9IGN1cnJlbnRJbmRlbnQuc2xpY2UoMCwgY29tcGFyZUxlbmd0aCk7XG5cbiAgICAgICAgaWYgKGluZGVudFNsaWNlICE9PSBjdXJyZW50SW5kZW50U2xpY2UpIHtcbiAgICAgICAgICBjb25zdCBleHBlY3RlZCA9IGN1cnJlbnRJbmRlbnRTbGljZVxuICAgICAgICAgICAgLnJlcGxhY2UoLyAvZywgXCJTXCIpXG4gICAgICAgICAgICAucmVwbGFjZSgvXFx0L2csIFwiVFwiKTtcbiAgICAgICAgICBjb25zdCBnb3QgPSBpbmRlbnRTbGljZS5yZXBsYWNlKC8gL2csIFwiU1wiKS5yZXBsYWNlKC9cXHQvZywgXCJUXCIpO1xuXG4gICAgICAgICAgcmV0dXJuIGVycm9yKFxuICAgICAgICAgICAgYFVuYWJsZSB0byBwYXJzZSBsaXN0OiBleHBlY3RlZCBpbmRlbnQgXCIke2V4cGVjdGVkfVwiLCBnb3QgXCIke2dvdH1cImBcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGluZGVudC5sZW5ndGggPiBjdXJyZW50SW5kZW50Lmxlbmd0aCkge1xuICAgICAgICAgIGN1cnJlbnRQYXJlbnQgPSBjdXJyZW50TGlzdDtcbiAgICAgICAgICBjdXJyZW50SW5kZW50ID0gaW5kZW50O1xuICAgICAgICB9IGVsc2UgaWYgKGluZGVudC5sZW5ndGggPCBjdXJyZW50SW5kZW50Lmxlbmd0aCkge1xuICAgICAgICAgIHdoaWxlIChcbiAgICAgICAgICAgIGN1cnJlbnRQYXJlbnQuZ2V0Rmlyc3RMaW5lSW5kZW50KCkubGVuZ3RoID49IGluZGVudC5sZW5ndGggJiZcbiAgICAgICAgICAgIGN1cnJlbnRQYXJlbnQuZ2V0UGFyZW50KClcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGN1cnJlbnRQYXJlbnQgPSBjdXJyZW50UGFyZW50LmdldFBhcmVudCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjdXJyZW50SW5kZW50ID0gaW5kZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZm9sZFJvb3QgPSBmb2xkZWRMaW5lcy5pbmNsdWRlcyhsKTtcblxuICAgICAgICBjdXJyZW50TGlzdCA9IG5ldyBMaXN0KFxuICAgICAgICAgIHJvb3QsXG4gICAgICAgICAgaW5kZW50LFxuICAgICAgICAgIGJ1bGxldCxcbiAgICAgICAgICBvcHRpb25hbENoZWNrYm94Lmxlbmd0aCxcbiAgICAgICAgICBzcGFjZUFmdGVyQnVsbGV0LFxuICAgICAgICAgIGNvbnRlbnQsXG4gICAgICAgICAgZm9sZFJvb3RcbiAgICAgICAgKTtcbiAgICAgICAgY3VycmVudFBhcmVudC5hZGRBZnRlckFsbChjdXJyZW50TGlzdCk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuaXNMaW5lV2l0aEluZGVudChsaW5lKSkge1xuICAgICAgICBpZiAoIWN1cnJlbnRMaXN0KSB7XG4gICAgICAgICAgcmV0dXJuIGVycm9yKFxuICAgICAgICAgICAgYFVuYWJsZSB0byBwYXJzZSBsaXN0OiBleHBlY3RlZCBsaXN0IGl0ZW0sIGdvdCBlbXB0eSBsaW5lYFxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpbmRlbnRUb0NoZWNrID0gY3VycmVudExpc3QuZ2V0Tm90ZXNJbmRlbnQoKSB8fCBjdXJyZW50SW5kZW50O1xuXG4gICAgICAgIGlmIChsaW5lLmluZGV4T2YoaW5kZW50VG9DaGVjaykgIT09IDApIHtcbiAgICAgICAgICBjb25zdCBleHBlY3RlZCA9IGluZGVudFRvQ2hlY2sucmVwbGFjZSgvIC9nLCBcIlNcIikucmVwbGFjZSgvXFx0L2csIFwiVFwiKTtcbiAgICAgICAgICBjb25zdCBnb3QgPSBsaW5lXG4gICAgICAgICAgICAubWF0Y2goL15bIFxcdF0qLylbMF1cbiAgICAgICAgICAgIC5yZXBsYWNlKC8gL2csIFwiU1wiKVxuICAgICAgICAgICAgLnJlcGxhY2UoL1xcdC9nLCBcIlRcIik7XG5cbiAgICAgICAgICByZXR1cm4gZXJyb3IoXG4gICAgICAgICAgICBgVW5hYmxlIHRvIHBhcnNlIGxpc3Q6IGV4cGVjdGVkIGluZGVudCBcIiR7ZXhwZWN0ZWR9XCIsIGdvdCBcIiR7Z290fVwiYFxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWN1cnJlbnRMaXN0LmdldE5vdGVzSW5kZW50KCkpIHtcbiAgICAgICAgICBjb25zdCBtYXRjaGVzID0gbGluZS5tYXRjaCgvXlsgXFx0XSsvKTtcblxuICAgICAgICAgIGlmICghbWF0Y2hlcyB8fCBtYXRjaGVzWzBdLmxlbmd0aCA8PSBjdXJyZW50SW5kZW50Lmxlbmd0aCkge1xuICAgICAgICAgICAgaWYgKC9eXFxzKyQvLnRlc3QobGluZSkpIHtcbiAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBlcnJvcihcbiAgICAgICAgICAgICAgYFVuYWJsZSB0byBwYXJzZSBsaXN0OiBleHBlY3RlZCBzb21lIGluZGVudCwgZ290IG5vIGluZGVudGBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY3VycmVudExpc3Quc2V0Tm90ZXNJbmRlbnQobWF0Y2hlc1swXSk7XG4gICAgICAgIH1cblxuICAgICAgICBjdXJyZW50TGlzdC5hZGRMaW5lKGxpbmUuc2xpY2UoY3VycmVudExpc3QuZ2V0Tm90ZXNJbmRlbnQoKS5sZW5ndGgpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBlcnJvcihcbiAgICAgICAgICBgVW5hYmxlIHRvIHBhcnNlIGxpc3Q6IGV4cGVjdGVkIGxpc3QgaXRlbSBvciBub3RlLCBnb3QgXCIke2xpbmV9XCJgXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJvb3Q7XG4gIH1cblxuICBwcml2YXRlIGlzRW1wdHlMaW5lKGxpbmU6IHN0cmluZykge1xuICAgIHJldHVybiBsaW5lLmxlbmd0aCA9PT0gMDtcbiAgfVxuXG4gIHByaXZhdGUgaXNMaW5lV2l0aEluZGVudChsaW5lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gc3RyaW5nV2l0aFNwYWNlc1JlLnRlc3QobGluZSk7XG4gIH1cblxuICBwcml2YXRlIGlzTGlzdEl0ZW0obGluZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGxpc3RJdGVtUmUudGVzdChsaW5lKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNMaXN0SXRlbVdpdGhvdXRTcGFjZXMobGluZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGxpc3RJdGVtV2l0aG91dFNwYWNlc1JlLnRlc3QobGluZSk7XG4gIH1cbn1cbiIsImltcG9ydCB7IEFwcGx5Q2hhbmdlc1NlcnZpY2UgfSBmcm9tIFwiLi9BcHBseUNoYW5nZXNTZXJ2aWNlXCI7XG5pbXBvcnQgeyBQYXJzZXJTZXJ2aWNlIH0gZnJvbSBcIi4vUGFyc2VyU2VydmljZVwiO1xuXG5pbXBvcnQgeyBNeUVkaXRvciB9IGZyb20gXCIuLi9NeUVkaXRvclwiO1xuaW1wb3J0IHsgT3BlcmF0aW9uIH0gZnJvbSBcIi4uL29wZXJhdGlvbnMvT3BlcmF0aW9uXCI7XG5pbXBvcnQgeyBSb290IH0gZnJvbSBcIi4uL3Jvb3RcIjtcblxuZXhwb3J0IGNsYXNzIFBlcmZvcm1PcGVyYXRpb25TZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBwYXJzZXI6IFBhcnNlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhcHBseUNoYW5nZXM6IEFwcGx5Q2hhbmdlc1NlcnZpY2VcbiAgKSB7fVxuXG4gIGV2YWxPcGVyYXRpb24ocm9vdDogUm9vdCwgb3A6IE9wZXJhdGlvbiwgZWRpdG9yOiBNeUVkaXRvcikge1xuICAgIG9wLnBlcmZvcm0oKTtcblxuICAgIGlmIChvcC5zaG91bGRVcGRhdGUoKSkge1xuICAgICAgdGhpcy5hcHBseUNoYW5nZXMuYXBwbHlDaGFuZ2VzKGVkaXRvciwgcm9vdCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHNob3VsZFVwZGF0ZTogb3Auc2hvdWxkVXBkYXRlKCksXG4gICAgICBzaG91bGRTdG9wUHJvcGFnYXRpb246IG9wLnNob3VsZFN0b3BQcm9wYWdhdGlvbigpLFxuICAgIH07XG4gIH1cblxuICBwZXJmb3JtT3BlcmF0aW9uKFxuICAgIGNiOiAocm9vdDogUm9vdCkgPT4gT3BlcmF0aW9uLFxuICAgIGVkaXRvcjogTXlFZGl0b3IsXG4gICAgY3Vyc29yID0gZWRpdG9yLmdldEN1cnNvcigpXG4gICkge1xuICAgIGNvbnN0IHJvb3QgPSB0aGlzLnBhcnNlci5wYXJzZShlZGl0b3IsIGN1cnNvcik7XG5cbiAgICBpZiAoIXJvb3QpIHtcbiAgICAgIHJldHVybiB7IHNob3VsZFVwZGF0ZTogZmFsc2UsIHNob3VsZFN0b3BQcm9wYWdhdGlvbjogZmFsc2UgfTtcbiAgICB9XG5cbiAgICBjb25zdCBvcCA9IGNiKHJvb3QpO1xuXG4gICAgcmV0dXJuIHRoaXMuZXZhbE9wZXJhdGlvbihyb290LCBvcCwgZWRpdG9yKTtcbiAgfVxufVxuIiwiZXhwb3J0IHR5cGUgTGlzdExpbmVBY3Rpb24gPSBcIm5vbmVcIiB8IFwiem9vbS1pblwiIHwgXCJ0b2dnbGUtZm9sZGluZ1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIE9ic2lkaWFuT3V0bGluZXJQbHVnaW5TZXR0aW5ncyB7XG4gIHN0eWxlTGlzdHM6IGJvb2xlYW47XG4gIGRlYnVnOiBib29sZWFuO1xuICBzdGlja0N1cnNvcjogYm9vbGVhbjtcbiAgYmV0dGVyRW50ZXI6IGJvb2xlYW47XG4gIGJldHRlclRhYjogYm9vbGVhbjtcbiAgc2VsZWN0QWxsOiBib29sZWFuO1xuICBsaXN0TGluZXM6IGJvb2xlYW47XG4gIGxpc3RMaW5lQWN0aW9uOiBMaXN0TGluZUFjdGlvbjtcbn1cblxuY29uc3QgREVGQVVMVF9TRVRUSU5HUzogT2JzaWRpYW5PdXRsaW5lclBsdWdpblNldHRpbmdzID0ge1xuICBzdHlsZUxpc3RzOiB0cnVlLFxuICBkZWJ1ZzogZmFsc2UsXG4gIHN0aWNrQ3Vyc29yOiB0cnVlLFxuICBiZXR0ZXJFbnRlcjogdHJ1ZSxcbiAgYmV0dGVyVGFiOiB0cnVlLFxuICBzZWxlY3RBbGw6IHRydWUsXG4gIGxpc3RMaW5lczogZmFsc2UsXG4gIGxpc3RMaW5lQWN0aW9uOiBcInRvZ2dsZS1mb2xkaW5nXCIsXG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFN0b3JhZ2Uge1xuICBsb2FkRGF0YSgpOiBQcm9taXNlPE9ic2lkaWFuT3V0bGluZXJQbHVnaW5TZXR0aW5ncz47XG4gIHNhdmVEYXRhKHNldHRpZ25zOiBPYnNpZGlhbk91dGxpbmVyUGx1Z2luU2V0dGluZ3MpOiBQcm9taXNlPHZvaWQ+O1xufVxuXG50eXBlIEsgPSBrZXlvZiBPYnNpZGlhbk91dGxpbmVyUGx1Z2luU2V0dGluZ3M7XG50eXBlIENhbGxiYWNrPFQgZXh0ZW5kcyBLPiA9IChjYjogT2JzaWRpYW5PdXRsaW5lclBsdWdpblNldHRpbmdzW1RdKSA9PiB2b2lkO1xuXG5leHBvcnQgY2xhc3MgU2V0dGluZ3NTZXJ2aWNlIGltcGxlbWVudHMgT2JzaWRpYW5PdXRsaW5lclBsdWdpblNldHRpbmdzIHtcbiAgcHJpdmF0ZSBzdG9yYWdlOiBTdG9yYWdlO1xuICBwcml2YXRlIHZhbHVlczogT2JzaWRpYW5PdXRsaW5lclBsdWdpblNldHRpbmdzO1xuICBwcml2YXRlIGhhbmRsZXJzOiBNYXA8SywgU2V0PENhbGxiYWNrPEs+Pj47XG5cbiAgY29uc3RydWN0b3Ioc3RvcmFnZTogU3RvcmFnZSkge1xuICAgIHRoaXMuc3RvcmFnZSA9IHN0b3JhZ2U7XG4gICAgdGhpcy5oYW5kbGVycyA9IG5ldyBNYXAoKTtcbiAgfVxuXG4gIGdldCBzdHlsZUxpc3RzKCkge1xuICAgIHJldHVybiB0aGlzLnZhbHVlcy5zdHlsZUxpc3RzO1xuICB9XG4gIHNldCBzdHlsZUxpc3RzKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5zZXQoXCJzdHlsZUxpc3RzXCIsIHZhbHVlKTtcbiAgfVxuXG4gIGdldCBkZWJ1ZygpIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZXMuZGVidWc7XG4gIH1cbiAgc2V0IGRlYnVnKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5zZXQoXCJkZWJ1Z1wiLCB2YWx1ZSk7XG4gIH1cblxuICBnZXQgc3RpY2tDdXJzb3IoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVzLnN0aWNrQ3Vyc29yO1xuICB9XG4gIHNldCBzdGlja0N1cnNvcih2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuc2V0KFwic3RpY2tDdXJzb3JcIiwgdmFsdWUpO1xuICB9XG5cbiAgZ2V0IGJldHRlckVudGVyKCkge1xuICAgIHJldHVybiB0aGlzLnZhbHVlcy5iZXR0ZXJFbnRlcjtcbiAgfVxuICBzZXQgYmV0dGVyRW50ZXIodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnNldChcImJldHRlckVudGVyXCIsIHZhbHVlKTtcbiAgfVxuXG4gIGdldCBiZXR0ZXJUYWIoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVzLmJldHRlclRhYjtcbiAgfVxuICBzZXQgYmV0dGVyVGFiKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5zZXQoXCJiZXR0ZXJUYWJcIiwgdmFsdWUpO1xuICB9XG5cbiAgZ2V0IHNlbGVjdEFsbCgpIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZXMuc2VsZWN0QWxsO1xuICB9XG4gIHNldCBzZWxlY3RBbGwodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnNldChcInNlbGVjdEFsbFwiLCB2YWx1ZSk7XG4gIH1cblxuICBnZXQgbGlzdExpbmVzKCkge1xuICAgIHJldHVybiB0aGlzLnZhbHVlcy5saXN0TGluZXM7XG4gIH1cbiAgc2V0IGxpc3RMaW5lcyh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuc2V0KFwibGlzdExpbmVzXCIsIHZhbHVlKTtcbiAgfVxuXG4gIGdldCBsaXN0TGluZUFjdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZXMubGlzdExpbmVBY3Rpb247XG4gIH1cbiAgc2V0IGxpc3RMaW5lQWN0aW9uKHZhbHVlOiBMaXN0TGluZUFjdGlvbikge1xuICAgIHRoaXMuc2V0KFwibGlzdExpbmVBY3Rpb25cIiwgdmFsdWUpO1xuICB9XG5cbiAgb25DaGFuZ2U8VCBleHRlbmRzIEs+KGtleTogVCwgY2I6IENhbGxiYWNrPFQ+KSB7XG4gICAgaWYgKCF0aGlzLmhhbmRsZXJzLmhhcyhrZXkpKSB7XG4gICAgICB0aGlzLmhhbmRsZXJzLnNldChrZXksIG5ldyBTZXQoKSk7XG4gICAgfVxuXG4gICAgdGhpcy5oYW5kbGVycy5nZXQoa2V5KS5hZGQoY2IpO1xuICB9XG5cbiAgcmVtb3ZlQ2FsbGJhY2s8VCBleHRlbmRzIEs+KGtleTogVCwgY2I6IENhbGxiYWNrPFQ+KTogdm9pZCB7XG4gICAgY29uc3QgaGFuZGxlcnMgPSB0aGlzLmhhbmRsZXJzLmdldChrZXkpO1xuXG4gICAgaWYgKGhhbmRsZXJzKSB7XG4gICAgICBoYW5kbGVycy5kZWxldGUoY2IpO1xuICAgIH1cbiAgfVxuXG4gIHJlc2V0KCkge1xuICAgIGZvciAoY29uc3QgW2ssIHZdIG9mIE9iamVjdC5lbnRyaWVzKERFRkFVTFRfU0VUVElOR1MpKSB7XG4gICAgICB0aGlzLnNldChrIGFzIGtleW9mIE9ic2lkaWFuT3V0bGluZXJQbHVnaW5TZXR0aW5ncywgdik7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgbG9hZCgpIHtcbiAgICB0aGlzLnZhbHVlcyA9IE9iamVjdC5hc3NpZ24oXG4gICAgICB7fSxcbiAgICAgIERFRkFVTFRfU0VUVElOR1MsXG4gICAgICBhd2FpdCB0aGlzLnN0b3JhZ2UubG9hZERhdGEoKVxuICAgICk7XG4gIH1cblxuICBhc3luYyBzYXZlKCkge1xuICAgIGF3YWl0IHRoaXMuc3RvcmFnZS5zYXZlRGF0YSh0aGlzLnZhbHVlcyk7XG4gIH1cblxuICBzZXQ8VCBleHRlbmRzIEs+KGtleTogVCwgdmFsdWU6IE9ic2lkaWFuT3V0bGluZXJQbHVnaW5TZXR0aW5nc1tUXSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWVzW2tleV0gPSB2YWx1ZTtcbiAgICBjb25zdCBjYWxsYmFja3MgPSB0aGlzLmhhbmRsZXJzLmdldChrZXkpO1xuXG4gICAgaWYgKCFjYWxsYmFja3MpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGNiIG9mIGNhbGxiYWNrcy52YWx1ZXMoKSkge1xuICAgICAgY2IodmFsdWUpO1xuICAgIH1cbiAgfVxufVxuIiwiaW1wb3J0IHsgUGx1Z2luIH0gZnJvbSBcIm9ic2lkaWFuXCI7XG5cbmltcG9ydCB7IERlbGV0ZVNob3VsZElnbm9yZUJ1bGxldHNGZWF0dXJlIH0gZnJvbSBcIi4vZmVhdHVyZXMvRGVsZXRlU2hvdWxkSWdub3JlQnVsbGV0c0ZlYXR1cmVcIjtcbmltcG9ydCB7IEVuc3VyZUN1cnNvckluTGlzdENvbnRlbnRGZWF0dXJlIH0gZnJvbSBcIi4vZmVhdHVyZXMvRW5zdXJlQ3Vyc29ySW5MaXN0Q29udGVudEZlYXR1cmVcIjtcbmltcG9ydCB7IEVudGVyT3V0ZGVudElmTGluZUlzRW1wdHlGZWF0dXJlIH0gZnJvbSBcIi4vZmVhdHVyZXMvRW50ZXJPdXRkZW50SWZMaW5lSXNFbXB0eUZlYXR1cmVcIjtcbmltcG9ydCB7IEVudGVyU2hvdWxkQ3JlYXRlTmV3SXRlbUZlYXR1cmUgfSBmcm9tIFwiLi9mZWF0dXJlcy9FbnRlclNob3VsZENyZWF0ZU5ld0l0ZW1PbkNoaWxkTGV2ZWxGZWF0dXJlXCI7XG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSBcIi4vZmVhdHVyZXMvRmVhdHVyZVwiO1xuaW1wb3J0IHsgRm9sZEZlYXR1cmUgfSBmcm9tIFwiLi9mZWF0dXJlcy9Gb2xkRmVhdHVyZVwiO1xuaW1wb3J0IHsgTGluZXNGZWF0dXJlIH0gZnJvbSBcIi4vZmVhdHVyZXMvTGluZXNGZWF0dXJlXCI7XG5pbXBvcnQgeyBMaXN0c1N0eWxlc0ZlYXR1cmUgfSBmcm9tIFwiLi9mZWF0dXJlcy9MaXN0c1N0eWxlc0ZlYXR1cmVcIjtcbmltcG9ydCB7IE1vdmVDdXJzb3JUb1ByZXZpb3VzVW5mb2xkZWRMaW5lRmVhdHVyZSB9IGZyb20gXCIuL2ZlYXR1cmVzL01vdmVDdXJzb3JUb1ByZXZpb3VzVW5mb2xkZWRMaW5lRmVhdHVyZVwiO1xuaW1wb3J0IHsgTW92ZUl0ZW1zRmVhdHVyZSB9IGZyb20gXCIuL2ZlYXR1cmVzL01vdmVJdGVtc0ZlYXR1cmVcIjtcbmltcG9ydCB7IFNlbGVjdEFsbEZlYXR1cmUgfSBmcm9tIFwiLi9mZWF0dXJlcy9TZWxlY3RBbGxGZWF0dXJlXCI7XG5pbXBvcnQgeyBTZWxlY3Rpb25TaG91bGRJZ25vcmVCdWxsZXRzRmVhdHVyZSB9IGZyb20gXCIuL2ZlYXR1cmVzL1NlbGVjdGlvblNob3VsZElnbm9yZUJ1bGxldHNGZWF0dXJlXCI7XG5pbXBvcnQgeyBTZXR0aW5nc1RhYkZlYXR1cmUgfSBmcm9tIFwiLi9mZWF0dXJlcy9TZXR0aW5nc1RhYkZlYXR1cmVcIjtcbmltcG9ydCB7IFNoaWZ0RW50ZXJTaG91bGRDcmVhdGVOb3RlRmVhdHVyZSB9IGZyb20gXCIuL2ZlYXR1cmVzL1NoaWZ0RW50ZXJTaG91bGRDcmVhdGVOb3RlRmVhdHVyZVwiO1xuaW1wb3J0IHsgQXBwbHlDaGFuZ2VzU2VydmljZSB9IGZyb20gXCIuL3NlcnZpY2VzL0FwcGx5Q2hhbmdlc1NlcnZpY2VcIjtcbmltcG9ydCB7IElNRVNlcnZpY2UgfSBmcm9tIFwiLi9zZXJ2aWNlcy9JTUVTZXJ2aWNlXCI7XG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSBcIi4vc2VydmljZXMvTG9nZ2VyU2VydmljZVwiO1xuaW1wb3J0IHsgT2JzaWRpYW5TZXJ2aWNlIH0gZnJvbSBcIi4vc2VydmljZXMvT2JzaWRpYW5TZXJ2aWNlXCI7XG5pbXBvcnQgeyBQYXJzZXJTZXJ2aWNlIH0gZnJvbSBcIi4vc2VydmljZXMvUGFyc2VyU2VydmljZVwiO1xuaW1wb3J0IHsgUGVyZm9ybU9wZXJhdGlvblNlcnZpY2UgfSBmcm9tIFwiLi9zZXJ2aWNlcy9QZXJmb3JtT3BlcmF0aW9uU2VydmljZVwiO1xuaW1wb3J0IHsgU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSBcIi4vc2VydmljZXMvU2V0dGluZ3NTZXJ2aWNlXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE9ic2lkaWFuT3V0bGluZXJQbHVnaW4gZXh0ZW5kcyBQbHVnaW4ge1xuICBwcml2YXRlIGZlYXR1cmVzOiBGZWF0dXJlW107XG4gIHByb3RlY3RlZCBzZXR0aW5nczogU2V0dGluZ3NTZXJ2aWNlO1xuICBwcml2YXRlIGxvZ2dlcjogTG9nZ2VyU2VydmljZTtcbiAgcHJpdmF0ZSBvYnNpZGlhbjogT2JzaWRpYW5TZXJ2aWNlO1xuICBwcml2YXRlIHBhcnNlcjogUGFyc2VyU2VydmljZTtcbiAgcHJpdmF0ZSBhcHBseUNoYW5nZXM6IEFwcGx5Q2hhbmdlc1NlcnZpY2U7XG4gIHByaXZhdGUgcGVyZm9ybU9wZXJhdGlvbjogUGVyZm9ybU9wZXJhdGlvblNlcnZpY2U7XG4gIHByaXZhdGUgaW1lOiBJTUVTZXJ2aWNlO1xuXG4gIGFzeW5jIG9ubG9hZCgpIHtcbiAgICBjb25zb2xlLmxvZyhgTG9hZGluZyBvYnNpZGlhbi1vdXRsaW5lcmApO1xuXG4gICAgdGhpcy5vYnNpZGlhbiA9IG5ldyBPYnNpZGlhblNlcnZpY2UodGhpcy5hcHApO1xuXG4gICAgdGhpcy5zZXR0aW5ncyA9IG5ldyBTZXR0aW5nc1NlcnZpY2UodGhpcyk7XG4gICAgYXdhaXQgdGhpcy5zZXR0aW5ncy5sb2FkKCk7XG5cbiAgICB0aGlzLmxvZ2dlciA9IG5ldyBMb2dnZXJTZXJ2aWNlKHRoaXMuc2V0dGluZ3MpO1xuXG4gICAgdGhpcy5wYXJzZXIgPSBuZXcgUGFyc2VyU2VydmljZSh0aGlzLmxvZ2dlcik7XG4gICAgdGhpcy5hcHBseUNoYW5nZXMgPSBuZXcgQXBwbHlDaGFuZ2VzU2VydmljZSgpO1xuICAgIHRoaXMucGVyZm9ybU9wZXJhdGlvbiA9IG5ldyBQZXJmb3JtT3BlcmF0aW9uU2VydmljZShcbiAgICAgIHRoaXMucGFyc2VyLFxuICAgICAgdGhpcy5hcHBseUNoYW5nZXNcbiAgICApO1xuXG4gICAgdGhpcy5pbWUgPSBuZXcgSU1FU2VydmljZSgpO1xuICAgIGF3YWl0IHRoaXMuaW1lLmxvYWQoKTtcblxuICAgIHRoaXMuZmVhdHVyZXMgPSBbXG4gICAgICBuZXcgU2V0dGluZ3NUYWJGZWF0dXJlKHRoaXMsIHRoaXMuc2V0dGluZ3MpLFxuICAgICAgbmV3IExpc3RzU3R5bGVzRmVhdHVyZSh0aGlzLnNldHRpbmdzLCB0aGlzLm9ic2lkaWFuKSxcbiAgICAgIG5ldyBFbnRlck91dGRlbnRJZkxpbmVJc0VtcHR5RmVhdHVyZShcbiAgICAgICAgdGhpcyxcbiAgICAgICAgdGhpcy5zZXR0aW5ncyxcbiAgICAgICAgdGhpcy5pbWUsXG4gICAgICAgIHRoaXMub2JzaWRpYW4sXG4gICAgICAgIHRoaXMucGVyZm9ybU9wZXJhdGlvblxuICAgICAgKSxcbiAgICAgIG5ldyBFbnRlclNob3VsZENyZWF0ZU5ld0l0ZW1GZWF0dXJlKFxuICAgICAgICB0aGlzLFxuICAgICAgICB0aGlzLnNldHRpbmdzLFxuICAgICAgICB0aGlzLmltZSxcbiAgICAgICAgdGhpcy5vYnNpZGlhbixcbiAgICAgICAgdGhpcy5wZXJmb3JtT3BlcmF0aW9uXG4gICAgICApLFxuICAgICAgbmV3IEVuc3VyZUN1cnNvckluTGlzdENvbnRlbnRGZWF0dXJlKFxuICAgICAgICB0aGlzLFxuICAgICAgICB0aGlzLnNldHRpbmdzLFxuICAgICAgICB0aGlzLm9ic2lkaWFuLFxuICAgICAgICB0aGlzLnBlcmZvcm1PcGVyYXRpb25cbiAgICAgICksXG4gICAgICBuZXcgTW92ZUN1cnNvclRvUHJldmlvdXNVbmZvbGRlZExpbmVGZWF0dXJlKFxuICAgICAgICB0aGlzLFxuICAgICAgICB0aGlzLnNldHRpbmdzLFxuICAgICAgICB0aGlzLmltZSxcbiAgICAgICAgdGhpcy5vYnNpZGlhbixcbiAgICAgICAgdGhpcy5wZXJmb3JtT3BlcmF0aW9uXG4gICAgICApLFxuICAgICAgbmV3IERlbGV0ZVNob3VsZElnbm9yZUJ1bGxldHNGZWF0dXJlKFxuICAgICAgICB0aGlzLFxuICAgICAgICB0aGlzLnNldHRpbmdzLFxuICAgICAgICB0aGlzLmltZSxcbiAgICAgICAgdGhpcy5vYnNpZGlhbixcbiAgICAgICAgdGhpcy5wZXJmb3JtT3BlcmF0aW9uXG4gICAgICApLFxuICAgICAgbmV3IFNlbGVjdGlvblNob3VsZElnbm9yZUJ1bGxldHNGZWF0dXJlKFxuICAgICAgICB0aGlzLFxuICAgICAgICB0aGlzLnNldHRpbmdzLFxuICAgICAgICB0aGlzLmltZSxcbiAgICAgICAgdGhpcy5vYnNpZGlhbixcbiAgICAgICAgdGhpcy5wZXJmb3JtT3BlcmF0aW9uXG4gICAgICApLFxuICAgICAgbmV3IEZvbGRGZWF0dXJlKHRoaXMsIHRoaXMub2JzaWRpYW4pLFxuICAgICAgbmV3IFNlbGVjdEFsbEZlYXR1cmUoXG4gICAgICAgIHRoaXMsXG4gICAgICAgIHRoaXMuc2V0dGluZ3MsXG4gICAgICAgIHRoaXMuaW1lLFxuICAgICAgICB0aGlzLm9ic2lkaWFuLFxuICAgICAgICB0aGlzLnBlcmZvcm1PcGVyYXRpb25cbiAgICAgICksXG4gICAgICBuZXcgTW92ZUl0ZW1zRmVhdHVyZShcbiAgICAgICAgdGhpcyxcbiAgICAgICAgdGhpcy5pbWUsXG4gICAgICAgIHRoaXMub2JzaWRpYW4sXG4gICAgICAgIHRoaXMuc2V0dGluZ3MsXG4gICAgICAgIHRoaXMucGVyZm9ybU9wZXJhdGlvblxuICAgICAgKSxcbiAgICAgIG5ldyBTaGlmdEVudGVyU2hvdWxkQ3JlYXRlTm90ZUZlYXR1cmUoXG4gICAgICAgIHRoaXMsXG4gICAgICAgIHRoaXMub2JzaWRpYW4sXG4gICAgICAgIHRoaXMuc2V0dGluZ3MsXG4gICAgICAgIHRoaXMuaW1lLFxuICAgICAgICB0aGlzLnBlcmZvcm1PcGVyYXRpb25cbiAgICAgICksXG4gICAgICBuZXcgTGluZXNGZWF0dXJlKHRoaXMsIHRoaXMuc2V0dGluZ3MsIHRoaXMub2JzaWRpYW4sIHRoaXMucGFyc2VyKSxcbiAgICBdO1xuXG4gICAgZm9yIChjb25zdCBmZWF0dXJlIG9mIHRoaXMuZmVhdHVyZXMpIHtcbiAgICAgIGF3YWl0IGZlYXR1cmUubG9hZCgpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIG9udW5sb2FkKCkge1xuICAgIGNvbnNvbGUubG9nKGBVbmxvYWRpbmcgb2JzaWRpYW4tb3V0bGluZXJgKTtcblxuICAgIGF3YWl0IHRoaXMuaW1lLnVubG9hZCgpO1xuXG4gICAgZm9yIChjb25zdCBmZWF0dXJlIG9mIHRoaXMuZmVhdHVyZXMpIHtcbiAgICAgIGF3YWl0IGZlYXR1cmUudW5sb2FkKCk7XG4gICAgfVxuICB9XG59XG4iXSwibmFtZXMiOlsia2V5bWFwIiwiRWRpdG9yU3RhdGUiLCJQcmVjIiwiTm90aWNlIiwiZm9sZGVkUmFuZ2VzIiwiZm9sZGFibGUiLCJmb2xkRWZmZWN0IiwidW5mb2xkRWZmZWN0IiwicnVuU2NvcGVIYW5kbGVycyIsIm9ic2lkaWFuIiwiZWRpdG9ySW5mb0ZpZWxkIiwiVmlld1Bs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LEVBQUUsS0FBSyxDQUFDLENBQUM7S0FDMUI7QUFFRCxJQUFBLElBQUksV0FBVyxHQUFBO0FBQ2IsUUFBQSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDO0tBQ2hDO0lBQ0QsSUFBSSxXQUFXLENBQUMsS0FBYyxFQUFBO0FBQzVCLFFBQUEsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLENBQUM7S0FDaEM7QUFFRCxJQUFBLElBQUksV0FBVyxHQUFBO0FBQ2IsUUFBQSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDO0tBQ2hDO0lBQ0QsSUFBSSxXQUFXLENBQUMsS0FBYyxFQUFBO0FBQzVCLFFBQUEsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLENBQUM7S0FDaEM7QUFFRCxJQUFBLElBQUksU0FBUyxHQUFBO0FBQ1gsUUFBQSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO0tBQzlCO0lBQ0QsSUFBSSxTQUFTLENBQUMsS0FBYyxFQUFBO0FBQzFCLFFBQUEsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7S0FDOUI7QUFFRCxJQUFBLElBQUksU0FBUyxHQUFBO0FBQ1gsUUFBQSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO0tBQzlCO0lBQ0QsSUFBSSxTQUFTLENBQUMsS0FBYyxFQUFBO0FBQzFCLFFBQUEsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7S0FDOUI7QUFFRCxJQUFBLElBQUksU0FBUyxHQUFBO0FBQ1gsUUFBQSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO0tBQzlCO0lBQ0QsSUFBSSxTQUFTLENBQUMsS0FBYyxFQUFBO0FBQzFCLFFBQUEsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7S0FDOUI7QUFFRCxJQUFBLElBQUksY0FBYyxHQUFBO0FBQ2hCLFFB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 +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZXMiOlsibm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qcyIsInNyYy9yb290L3JlY2FsY3VsYXRlTnVtZXJpY0J1bGxldHMudHMiLCJzcmMvb3BlcmF0aW9ucy9EZWxldGVBbmRNZXJnZVdpdGhQcmV2aW91c0xpbmVPcGVyYXRpb24udHMiLCJzcmMvb3BlcmF0aW9ucy9EZWxldGVBbmRNZXJnZVdpdGhOZXh0TGluZU9wZXJhdGlvbi50cyIsInNyYy9vcGVyYXRpb25zL0RlbGV0ZVRpbGxMaW5lU3RhcnRPcGVyYXRpb24udHMiLCJzcmMvZmVhdHVyZXMvRGVsZXRlU2hvdWxkSWdub3JlQnVsbGV0c0ZlYXR1cmUudHMiLCJzcmMvb3BlcmF0aW9ucy9FbnN1cmVDdXJzb3JJbkxpc3RDb250ZW50T3BlcmF0aW9uLnRzIiwic3JjL29wZXJhdGlvbnMvRW5zdXJlQ3Vyc29ySXNJblVuZm9sZGVkTGluZU9wZXJhdGlvbi50cyIsInNyYy9mZWF0dXJlcy9FbnN1cmVDdXJzb3JJbkxpc3RDb250ZW50RmVhdHVyZS50cyIsInNyYy9vcGVyYXRpb25zL01vdmVMZWZ0T3BlcmF0aW9uLnRzIiwic3JjL3V0aWxzL2lzRW1wdHlMaW5lT3JFbXB0eUNoZWNrYm94LnRzIiwic3JjL29wZXJhdGlvbnMvT3V0ZGVudElmTGluZUlzRW1wdHlPcGVyYXRpb24udHMiLCJzcmMvZmVhdHVyZXMvRW50ZXJPdXRkZW50SWZMaW5lSXNFbXB0eUZlYXR1cmUudHMiLCJzcmMvcm9vdC9pbmRleC50cyIsInNyYy91dGlscy9jaGVja2JveFJlLnRzIiwic3JjL29wZXJhdGlvbnMvQ3JlYXRlTmV3SXRlbU9wZXJhdGlvbi50cyIsInNyYy9mZWF0dXJlcy9FbnRlclNob3VsZENyZWF0ZU5ld0l0ZW1PbkNoaWxkTGV2ZWxGZWF0dXJlLnRzIiwic3JjL2ZlYXR1cmVzL0ZvbGRGZWF0dXJlLnRzIiwic3JjL015RWRpdG9yLnRzIiwic3JjL2ZlYXR1cmVzL0xpbmVzRmVhdHVyZS50cyIsInNyYy9mZWF0dXJlcy9MaXN0c1N0eWxlc0ZlYXR1cmUudHMiLCJzcmMvb3BlcmF0aW9ucy9Nb3ZlQ3Vyc29yVG9QcmV2aW91c1VuZm9sZGVkTGluZU9wZXJhdGlvbi50cyIsInNyYy9mZWF0dXJlcy9Nb3ZlQ3Vyc29yVG9QcmV2aW91c1VuZm9sZGVkTGluZUZlYXR1cmUudHMiLCJzcmMvb3BlcmF0aW9ucy9Nb3ZlRG93bk9wZXJhdGlvbi50cyIsInNyYy9vcGVyYXRpb25zL01vdmVSaWdodE9wZXJhdGlvbi50cyIsInNyYy9vcGVyYXRpb25zL01vdmVVcE9wZXJhdGlvbi50cyIsInNyYy9mZWF0dXJlcy9Nb3ZlSXRlbXNGZWF0dXJlLnRzIiwic3JjL29wZXJhdGlvbnMvU2VsZWN0QWxsT3BlcmF0aW9uLnRzIiwic3JjL2ZlYXR1cmVzL1NlbGVjdEFsbEZlYXR1cmUudHMiLCJzcmMvb3BlcmF0aW9ucy9TZWxlY3RUaWxsTGluZVN0YXJ0T3BlcmF0aW9uLnRzIiwic3JjL2ZlYXR1cmVzL1NlbGVjdGlvblNob3VsZElnbm9yZUJ1bGxldHNGZWF0dXJlLnRzIiwic3JjL2ZlYXR1cmVzL1NldHRpbmdzVGFiRmVhdHVyZS50cyIsInNyYy9vcGVyYXRpb25zL0NyZWF0ZU5vdGVMaW5lT3BlcmF0aW9uLnRzIiwic3JjL2ZlYXR1cmVzL1NoaWZ0RW50ZXJTaG91bGRDcmVhdGVOb3RlRmVhdHVyZS50cyIsInNyYy9zZXJ2aWNlcy9BcHBseUNoYW5nZXNTZXJ2aWNlLnRzIiwic3JjL3NlcnZpY2VzL0lNRVNlcnZpY2UudHMiLCJzcmMvc2VydmljZXMvTG9nZ2VyU2VydmljZS50cyIsInNyYy9zZXJ2aWNlcy9PYnNpZGlhblNlcnZpY2UudHMiLCJzcmMvc2VydmljZXMvUGFyc2VyU2VydmljZS50cyIsInNyYy9zZXJ2aWNlcy9QZXJmb3JtT3BlcmF0aW9uU2VydmljZS50cyIsInNyYy9zZXJ2aWNlcy9TZXR0aW5nc1NlcnZpY2UudHMiLCJzcmMvT2JzaWRpYW5PdXRsaW5lclBsdWdpbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbkNvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLlxyXG5cclxuUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55XHJcbnB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZC5cclxuXHJcblRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEhcclxuUkVHQVJEIFRPIFRISVMgU09GVFdBUkUgSU5DTFVESU5HIEFMTCBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZXHJcbkFORCBGSVRORVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIERJUkVDVCxcclxuSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NXHJcbkxPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SXHJcbk9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1JcclxuUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cclxuLyogZ2xvYmFsIFJlZmxlY3QsIFByb21pc2UgKi9cclxuXHJcbnZhciBleHRlbmRTdGF0aWNzID0gZnVuY3Rpb24oZCwgYikge1xyXG4gICAgZXh0ZW5kU3RhdGljcyA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fFxyXG4gICAgICAgICh7IF9fcHJvdG9fXzogW10gfSBpbnN0YW5jZW9mIEFycmF5ICYmIGZ1bmN0aW9uIChkLCBiKSB7IGQuX19wcm90b19fID0gYjsgfSkgfHxcclxuICAgICAgICBmdW5jdGlvbiAoZCwgYikgeyBmb3IgKHZhciBwIGluIGIpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYiwgcCkpIGRbcF0gPSBiW3BdOyB9O1xyXG4gICAgcmV0dXJuIGV4dGVuZFN0YXRpY3MoZCwgYik7XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19leHRlbmRzKGQsIGIpIHtcclxuICAgIGlmICh0eXBlb2YgYiAhPT0gXCJmdW5jdGlvblwiICYmIGIgIT09IG51bGwpXHJcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNsYXNzIGV4dGVuZHMgdmFsdWUgXCIgKyBTdHJpbmcoYikgKyBcIiBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsXCIpO1xyXG4gICAgZXh0ZW5kU3RhdGljcyhkLCBiKTtcclxuICAgIGZ1bmN0aW9uIF9fKCkgeyB0aGlzLmNvbnN0cnVjdG9yID0gZDsgfVxyXG4gICAgZC5wcm90b3R5cGUgPSBiID09PSBudWxsID8gT2JqZWN0LmNyZWF0ZShiKSA6IChfXy5wcm90b3R5cGUgPSBiLnByb3RvdHlwZSwgbmV3IF9fKCkpO1xyXG59XHJcblxyXG5leHBvcnQgdmFyIF9fYXNzaWduID0gZnVuY3Rpb24oKSB7XHJcbiAgICBfX2Fzc2lnbiA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gX19hc3NpZ24odCkge1xyXG4gICAgICAgIGZvciAodmFyIHMsIGkgPSAxLCBuID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IG47IGkrKykge1xyXG4gICAgICAgICAgICBzID0gYXJndW1lbnRzW2ldO1xyXG4gICAgICAgICAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkpIHRbcF0gPSBzW3BdO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdDtcclxuICAgIH1cclxuICAgIHJldHVybiBfX2Fzc2lnbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19yZXN0KHMsIGUpIHtcclxuICAgIHZhciB0ID0ge307XHJcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcclxuICAgICAgICB0W3BdID0gc1twXTtcclxuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcclxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcclxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xyXG4gICAgICAgIH1cclxuICAgIHJldHVybiB0O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19kZWNvcmF0ZShkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYykge1xyXG4gICAgdmFyIGMgPSBhcmd1bWVudHMubGVuZ3RoLCByID0gYyA8IDMgPyB0YXJnZXQgOiBkZXNjID09PSBudWxsID8gZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBrZXkpIDogZGVzYywgZDtcclxuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSA9PT0gXCJmdW5jdGlvblwiKSByID0gUmVmbGVjdC5kZWNvcmF0ZShkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYyk7XHJcbiAgICBlbHNlIGZvciAodmFyIGkgPSBkZWNvcmF0b3JzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSBpZiAoZCA9IGRlY29yYXRvcnNbaV0pIHIgPSAoYyA8IDMgPyBkKHIpIDogYyA+IDMgPyBkKHRhcmdldCwga2V5LCByKSA6IGQodGFyZ2V0LCBrZXkpKSB8fCByO1xyXG4gICAgcmV0dXJuIGMgPiAzICYmIHIgJiYgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCByKSwgcjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fcGFyYW0ocGFyYW1JbmRleCwgZGVjb3JhdG9yKSB7XHJcbiAgICByZXR1cm4gZnVuY3Rpb24gKHRhcmdldCwga2V5KSB7IGRlY29yYXRvcih0YXJnZXQsIGtleSwgcGFyYW1JbmRleCk7IH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZXNEZWNvcmF0ZShjdG9yLCBkZXNjcmlwdG9ySW4sIGRlY29yYXRvcnMsIGNvbnRleHRJbiwgaW5pdGlhbGl6ZXJzLCBleHRyYUluaXRpYWxpemVycykge1xyXG4gICAgZnVuY3Rpb24gYWNjZXB0KGYpIHsgaWYgKGYgIT09IHZvaWQgMCAmJiB0eXBlb2YgZiAhPT0gXCJmdW5jdGlvblwiKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiRnVuY3Rpb24gZXhwZWN0ZWRcIik7IHJldHVybiBmOyB9XHJcbiAgICB2YXIga2luZCA9IGNvbnRleHRJbi5raW5kLCBrZXkgPSBraW5kID09PSBcImdldHRlclwiID8gXCJnZXRcIiA6IGtpbmQgPT09IFwic2V0dGVyXCIgPyBcInNldFwiIDogXCJ2YWx1ZVwiO1xyXG4gICAgdmFyIHRhcmdldCA9ICFkZXNjcmlwdG9ySW4gJiYgY3RvciA/IGNvbnRleHRJbltcInN0YXRpY1wiXSA/IGN0b3IgOiBjdG9yLnByb3RvdHlwZSA6IG51bGw7XHJcbiAgICB2YXIgZGVzY3JpcHRvciA9IGRlc2NyaXB0b3JJbiB8fCAodGFyZ2V0ID8gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQsIGNvbnRleHRJbi5uYW1lKSA6IHt9KTtcclxuICAgIHZhciBfLCBkb25lID0gZmFsc2U7XHJcbiAgICBmb3IgKHZhciBpID0gZGVjb3JhdG9ycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xyXG4gICAgICAgIHZhciBjb250ZXh0ID0ge307XHJcbiAgICAgICAgZm9yICh2YXIgcCBpbiBjb250ZXh0SW4pIGNvbnRleHRbcF0gPSBwID09PSBcImFjY2Vzc1wiID8ge30gOiBjb250ZXh0SW5bcF07XHJcbiAgICAgICAgZm9yICh2YXIgcCBpbiBjb250ZXh0SW4uYWNjZXNzKSBjb250ZXh0LmFjY2Vzc1twXSA9IGNvbnRleHRJbi5hY2Nlc3NbcF07XHJcbiAgICAgICAgY29udGV4dC5hZGRJbml0aWFsaXplciA9IGZ1bmN0aW9uIChmKSB7IGlmIChkb25lKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkXCIpOyBleHRyYUluaXRpYWxpemVycy5wdXNoKGFjY2VwdChmIHx8IG51bGwpKTsgfTtcclxuICAgICAgICB2YXIgcmVzdWx0ID0gKDAsIGRlY29yYXRvcnNbaV0pKGtpbmQgPT09IFwiYWNjZXNzb3JcIiA/IHsgZ2V0OiBkZXNjcmlwdG9yLmdldCwgc2V0OiBkZXNjcmlwdG9yLnNldCB9IDogZGVzY3JpcHRvcltrZXldLCBjb250ZXh0KTtcclxuICAgICAgICBpZiAoa2luZCA9PT0gXCJhY2Nlc3NvclwiKSB7XHJcbiAgICAgICAgICAgIGlmIChyZXN1bHQgPT09IHZvaWQgMCkgY29udGludWU7XHJcbiAgICAgICAgICAgIGlmIChyZXN1bHQgPT09IG51bGwgfHwgdHlwZW9mIHJlc3VsdCAhPT0gXCJvYmplY3RcIikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIk9iamVjdCBleHBlY3RlZFwiKTtcclxuICAgICAgICAgICAgaWYgKF8gPSBhY2NlcHQocmVzdWx0LmdldCkpIGRlc2NyaXB0b3IuZ2V0ID0gXztcclxuICAgICAgICAgICAgaWYgKF8gPSBhY2NlcHQocmVzdWx0LnNldCkpIGRlc2NyaXB0b3Iuc2V0ID0gXztcclxuICAgICAgICAgICAgaWYgKF8gPSBhY2NlcHQocmVzdWx0LmluaXQpKSBpbml0aWFsaXplcnMucHVzaChfKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoXyA9IGFjY2VwdChyZXN1bHQpKSB7XHJcbiAgICAgICAgICAgIGlmIChraW5kID09PSBcImZpZWxkXCIpIGluaXRpYWxpemVycy5wdXNoKF8pO1xyXG4gICAgICAgICAgICBlbHNlIGRlc2NyaXB0b3Jba2V5XSA9IF87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKHRhcmdldCkgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgY29udGV4dEluLm5hbWUsIGRlc2NyaXB0b3IpO1xyXG4gICAgZG9uZSA9IHRydWU7XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19ydW5Jbml0aWFsaXplcnModGhpc0FyZywgaW5pdGlhbGl6ZXJzLCB2YWx1ZSkge1xyXG4gICAgdmFyIHVzZVZhbHVlID0gYXJndW1lbnRzLmxlbmd0aCA+IDI7XHJcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGluaXRpYWxpemVycy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIHZhbHVlID0gdXNlVmFsdWUgPyBpbml0aWFsaXplcnNbaV0uY2FsbCh0aGlzQXJnLCB2YWx1ZSkgOiBpbml0aWFsaXplcnNbaV0uY2FsbCh0aGlzQXJnKTtcclxuICAgIH1cclxuICAgIHJldHVybiB1c2VWYWx1ZSA/IHZhbHVlIDogdm9pZCAwO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fcHJvcEtleSh4KSB7XHJcbiAgICByZXR1cm4gdHlwZW9mIHggPT09IFwic3ltYm9sXCIgPyB4IDogXCJcIi5jb25jYXQoeCk7XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19zZXRGdW5jdGlvbk5hbWUoZiwgbmFtZSwgcHJlZml4KSB7XHJcbiAgICBpZiAodHlwZW9mIG5hbWUgPT09IFwic3ltYm9sXCIpIG5hbWUgPSBuYW1lLmRlc2NyaXB0aW9uID8gXCJbXCIuY29uY2F0KG5hbWUuZGVzY3JpcHRpb24sIFwiXVwiKSA6IFwiXCI7XHJcbiAgICByZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KGYsIFwibmFtZVwiLCB7IGNvbmZpZ3VyYWJsZTogdHJ1ZSwgdmFsdWU6IHByZWZpeCA/IFwiXCIuY29uY2F0KHByZWZpeCwgXCIgXCIsIG5hbWUpIDogbmFtZSB9KTtcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX21ldGFkYXRhKG1ldGFkYXRhS2V5LCBtZXRhZGF0YVZhbHVlKSB7XHJcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QubWV0YWRhdGEgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIFJlZmxlY3QubWV0YWRhdGEobWV0YWRhdGFLZXksIG1ldGFkYXRhVmFsdWUpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hd2FpdGVyKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikge1xyXG4gICAgZnVuY3Rpb24gYWRvcHQodmFsdWUpIHsgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUCA/IHZhbHVlIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOyB9XHJcbiAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcclxuICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbXCJ0aHJvd1wiXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cclxuICAgICAgICBzdGVwKChnZW5lcmF0b3IgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSkpLm5leHQoKSk7XHJcbiAgICB9KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZ2VuZXJhdG9yKHRoaXNBcmcsIGJvZHkpIHtcclxuICAgIHZhciBfID0geyBsYWJlbDogMCwgc2VudDogZnVuY3Rpb24oKSB7IGlmICh0WzBdICYgMSkgdGhyb3cgdFsxXTsgcmV0dXJuIHRbMV07IH0sIHRyeXM6IFtdLCBvcHM6IFtdIH0sIGYsIHksIHQsIGc7XHJcbiAgICByZXR1cm4gZyA9IHsgbmV4dDogdmVyYigwKSwgXCJ0aHJvd1wiOiB2ZXJiKDEpLCBcInJldHVyblwiOiB2ZXJiKDIpIH0sIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiAoZ1tTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24oKSB7IHJldHVybiB0aGlzOyB9KSwgZztcclxuICAgIGZ1bmN0aW9uIHZlcmIobikgeyByZXR1cm4gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIHN0ZXAoW24sIHZdKTsgfTsgfVxyXG4gICAgZnVuY3Rpb24gc3RlcChvcCkge1xyXG4gICAgICAgIGlmIChmKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLlwiKTtcclxuICAgICAgICB3aGlsZSAoZyAmJiAoZyA9IDAsIG9wWzBdICYmIChfID0gMCkpLCBfKSB0cnkge1xyXG4gICAgICAgICAgICBpZiAoZiA9IDEsIHkgJiYgKHQgPSBvcFswXSAmIDIgPyB5W1wicmV0dXJuXCJdIDogb3BbMF0gPyB5W1widGhyb3dcIl0gfHwgKCh0ID0geVtcInJldHVyblwiXSkgJiYgdC5jYWxsKHkpLCAwKSA6IHkubmV4dCkgJiYgISh0ID0gdC5jYWxsKHksIG9wWzFdKSkuZG9uZSkgcmV0dXJuIHQ7XHJcbiAgICAgICAgICAgIGlmICh5ID0gMCwgdCkgb3AgPSBbb3BbMF0gJiAyLCB0LnZhbHVlXTtcclxuICAgICAgICAgICAgc3dpdGNoIChvcFswXSkge1xyXG4gICAgICAgICAgICAgICAgY2FzZSAwOiBjYXNlIDE6IHQgPSBvcDsgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIDQ6IF8ubGFiZWwrKzsgcmV0dXJuIHsgdmFsdWU6IG9wWzFdLCBkb25lOiBmYWxzZSB9O1xyXG4gICAgICAgICAgICAgICAgY2FzZSA1OiBfLmxhYmVsKys7IHkgPSBvcFsxXTsgb3AgPSBbMF07IGNvbnRpbnVlO1xyXG4gICAgICAgICAgICAgICAgY2FzZSA3OiBvcCA9IF8ub3BzLnBvcCgpOyBfLnRyeXMucG9wKCk7IGNvbnRpbnVlO1xyXG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgICAgICBpZiAoISh0ID0gXy50cnlzLCB0ID0gdC5sZW5ndGggPiAwICYmIHRbdC5sZW5ndGggLSAxXSkgJiYgKG9wWzBdID09PSA2IHx8IG9wWzBdID09PSAyKSkgeyBfID0gMDsgY29udGludWU7IH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAob3BbMF0gPT09IDMgJiYgKCF0IHx8IChvcFsxXSA+IHRbMF0gJiYgb3BbMV0gPCB0WzNdKSkpIHsgXy5sYWJlbCA9IG9wWzFdOyBicmVhazsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChvcFswXSA9PT0gNiAmJiBfLmxhYmVsIDwgdFsxXSkgeyBfLmxhYmVsID0gdFsxXTsgdCA9IG9wOyBicmVhazsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0ICYmIF8ubGFiZWwgPCB0WzJdKSB7IF8ubGFiZWwgPSB0WzJdOyBfLm9wcy5wdXNoKG9wKTsgYnJlYWs7IH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAodFsyXSkgXy5vcHMucG9wKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgXy50cnlzLnBvcCgpOyBjb250aW51ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBvcCA9IGJvZHkuY2FsbCh0aGlzQXJnLCBfKTtcclxuICAgICAgICB9IGNhdGNoIChlKSB7IG9wID0gWzYsIGVdOyB5ID0gMDsgfSBmaW5hbGx5IHsgZiA9IHQgPSAwOyB9XHJcbiAgICAgICAgaWYgKG9wWzBdICYgNSkgdGhyb3cgb3BbMV07IHJldHVybiB7IHZhbHVlOiBvcFswXSA/IG9wWzFdIDogdm9pZCAwLCBkb25lOiB0cnVlIH07XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCB2YXIgX19jcmVhdGVCaW5kaW5nID0gT2JqZWN0LmNyZWF0ZSA/IChmdW5jdGlvbihvLCBtLCBrLCBrMikge1xyXG4gICAgaWYgKGsyID09PSB1bmRlZmluZWQpIGsyID0gaztcclxuICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihtLCBrKTtcclxuICAgIGlmICghZGVzYyB8fCAoXCJnZXRcIiBpbiBkZXNjID8gIW0uX19lc01vZHVsZSA6IGRlc2Mud3JpdGFibGUgfHwgZGVzYy5jb25maWd1cmFibGUpKSB7XHJcbiAgICAgICAgZGVzYyA9IHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbigpIHsgcmV0dXJuIG1ba107IH0gfTtcclxuICAgIH1cclxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCBrMiwgZGVzYyk7XHJcbn0pIDogKGZ1bmN0aW9uKG8sIG0sIGssIGsyKSB7XHJcbiAgICBpZiAoazIgPT09IHVuZGVmaW5lZCkgazIgPSBrO1xyXG4gICAgb1trMl0gPSBtW2tdO1xyXG59KTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2V4cG9ydFN0YXIobSwgbykge1xyXG4gICAgZm9yICh2YXIgcCBpbiBtKSBpZiAocCAhPT0gXCJkZWZhdWx0XCIgJiYgIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvLCBwKSkgX19jcmVhdGVCaW5kaW5nKG8sIG0sIHApO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX192YWx1ZXMobykge1xyXG4gICAgdmFyIHMgPSB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgU3ltYm9sLml0ZXJhdG9yLCBtID0gcyAmJiBvW3NdLCBpID0gMDtcclxuICAgIGlmIChtKSByZXR1cm4gbS5jYWxsKG8pO1xyXG4gICAgaWYgKG8gJiYgdHlwZW9mIG8ubGVuZ3RoID09PSBcIm51bWJlclwiKSByZXR1cm4ge1xyXG4gICAgICAgIG5leHQ6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgaWYgKG8gJiYgaSA+PSBvLmxlbmd0aCkgbyA9IHZvaWQgMDtcclxuICAgICAgICAgICAgcmV0dXJuIHsgdmFsdWU6IG8gJiYgb1tpKytdLCBkb25lOiAhbyB9O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKHMgPyBcIk9iamVjdCBpcyBub3QgaXRlcmFibGUuXCIgOiBcIlN5bWJvbC5pdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3JlYWQobywgbikge1xyXG4gICAgdmFyIG0gPSB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb1tTeW1ib2wuaXRlcmF0b3JdO1xyXG4gICAgaWYgKCFtKSByZXR1cm4gbztcclxuICAgIHZhciBpID0gbS5jYWxsKG8pLCByLCBhciA9IFtdLCBlO1xyXG4gICAgdHJ5IHtcclxuICAgICAgICB3aGlsZSAoKG4gPT09IHZvaWQgMCB8fCBuLS0gPiAwKSAmJiAhKHIgPSBpLm5leHQoKSkuZG9uZSkgYXIucHVzaChyLnZhbHVlKTtcclxuICAgIH1cclxuICAgIGNhdGNoIChlcnJvcikgeyBlID0geyBlcnJvcjogZXJyb3IgfTsgfVxyXG4gICAgZmluYWxseSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgaWYgKHIgJiYgIXIuZG9uZSAmJiAobSA9IGlbXCJyZXR1cm5cIl0pKSBtLmNhbGwoaSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZpbmFsbHkgeyBpZiAoZSkgdGhyb3cgZS5lcnJvcjsgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGFyO1xyXG59XHJcblxyXG4vKiogQGRlcHJlY2F0ZWQgKi9cclxuZXhwb3J0IGZ1bmN0aW9uIF9fc3ByZWFkKCkge1xyXG4gICAgZm9yICh2YXIgYXIgPSBbXSwgaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspXHJcbiAgICAgICAgYXIgPSBhci5jb25jYXQoX19yZWFkKGFyZ3VtZW50c1tpXSkpO1xyXG4gICAgcmV0dXJuIGFyO1xyXG59XHJcblxyXG4vKiogQGRlcHJlY2F0ZWQgKi9cclxuZXhwb3J0IGZ1bmN0aW9uIF9fc3ByZWFkQXJyYXlzKCkge1xyXG4gICAgZm9yICh2YXIgcyA9IDAsIGkgPSAwLCBpbCA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBpbDsgaSsrKSBzICs9IGFyZ3VtZW50c1tpXS5sZW5ndGg7XHJcbiAgICBmb3IgKHZhciByID0gQXJyYXkocyksIGsgPSAwLCBpID0gMDsgaSA8IGlsOyBpKyspXHJcbiAgICAgICAgZm9yICh2YXIgYSA9IGFyZ3VtZW50c1tpXSwgaiA9IDAsIGpsID0gYS5sZW5ndGg7IGogPCBqbDsgaisrLCBrKyspXHJcbiAgICAgICAgICAgIHJba10gPSBhW2pdO1xyXG4gICAgcmV0dXJuIHI7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3NwcmVhZEFycmF5KHRvLCBmcm9tLCBwYWNrKSB7XHJcbiAgICBpZiAocGFjayB8fCBhcmd1bWVudHMubGVuZ3RoID09PSAyKSBmb3IgKHZhciBpID0gMCwgbCA9IGZyb20ubGVuZ3RoLCBhcjsgaSA8IGw7IGkrKykge1xyXG4gICAgICAgIGlmIChhciB8fCAhKGkgaW4gZnJvbSkpIHtcclxuICAgICAgICAgICAgaWYgKCFhcikgYXIgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChmcm9tLCAwLCBpKTtcclxuICAgICAgICAgICAgYXJbaV0gPSBmcm9tW2ldO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB0by5jb25jYXQoYXIgfHwgQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZnJvbSkpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hd2FpdCh2KSB7XHJcbiAgICByZXR1cm4gdGhpcyBpbnN0YW5jZW9mIF9fYXdhaXQgPyAodGhpcy52ID0gdiwgdGhpcykgOiBuZXcgX19hd2FpdCh2KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXN5bmNHZW5lcmF0b3IodGhpc0FyZywgX2FyZ3VtZW50cywgZ2VuZXJhdG9yKSB7XHJcbiAgICBpZiAoIVN5bWJvbC5hc3luY0l0ZXJhdG9yKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuXCIpO1xyXG4gICAgdmFyIGcgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSksIGksIHEgPSBbXTtcclxuICAgIHJldHVybiBpID0ge30sIHZlcmIoXCJuZXh0XCIpLCB2ZXJiKFwidGhyb3dcIiksIHZlcmIoXCJyZXR1cm5cIiksIGlbU3ltYm9sLmFzeW5jSXRlcmF0b3JdID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfSwgaTtcclxuICAgIGZ1bmN0aW9uIHZlcmIobikgeyBpZiAoZ1tuXSkgaVtuXSA9IGZ1bmN0aW9uICh2KSB7IHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAoYSwgYikgeyBxLnB1c2goW24sIHYsIGEsIGJdKSA+IDEgfHwgcmVzdW1lKG4sIHYpOyB9KTsgfTsgfVxyXG4gICAgZnVuY3Rpb24gcmVzdW1lKG4sIHYpIHsgdHJ5IHsgc3RlcChnW25dKHYpKTsgfSBjYXRjaCAoZSkgeyBzZXR0bGUocVswXVszXSwgZSk7IH0gfVxyXG4gICAgZnVuY3Rpb24gc3RlcChyKSB7IHIudmFsdWUgaW5zdGFuY2VvZiBfX2F3YWl0ID8gUHJvbWlzZS5yZXNvbHZlKHIudmFsdWUudikudGhlbihmdWxmaWxsLCByZWplY3QpIDogc2V0dGxlKHFbMF1bMl0sIHIpOyB9XHJcbiAgICBmdW5jdGlvbiBmdWxmaWxsKHZhbHVlKSB7IHJlc3VtZShcIm5leHRcIiwgdmFsdWUpOyB9XHJcbiAgICBmdW5jdGlvbiByZWplY3QodmFsdWUpIHsgcmVzdW1lKFwidGhyb3dcIiwgdmFsdWUpOyB9XHJcbiAgICBmdW5jdGlvbiBzZXR0bGUoZiwgdikgeyBpZiAoZih2KSwgcS5zaGlmdCgpLCBxLmxlbmd0aCkgcmVzdW1lKHFbMF1bMF0sIHFbMF1bMV0pOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2FzeW5jRGVsZWdhdG9yKG8pIHtcclxuICAgIHZhciBpLCBwO1xyXG4gICAgcmV0dXJuIGkgPSB7fSwgdmVyYihcIm5leHRcIiksIHZlcmIoXCJ0aHJvd1wiLCBmdW5jdGlvbiAoZSkgeyB0aHJvdyBlOyB9KSwgdmVyYihcInJldHVyblwiKSwgaVtTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfSwgaTtcclxuICAgIGZ1bmN0aW9uIHZlcmIobiwgZikgeyBpW25dID0gb1tuXSA/IGZ1bmN0aW9uICh2KSB7IHJldHVybiAocCA9ICFwKSA/IHsgdmFsdWU6IF9fYXdhaXQob1tuXSh2KSksIGRvbmU6IGZhbHNlIH0gOiBmID8gZih2KSA6IHY7IH0gOiBmOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2FzeW5jVmFsdWVzKG8pIHtcclxuICAgIGlmICghU3ltYm9sLmFzeW5jSXRlcmF0b3IpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJTeW1ib2wuYXN5bmNJdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XHJcbiAgICB2YXIgbSA9IG9bU3ltYm9sLmFzeW5jSXRlcmF0b3JdLCBpO1xyXG4gICAgcmV0dXJuIG0gPyBtLmNhbGwobykgOiAobyA9IHR5cGVvZiBfX3ZhbHVlcyA9PT0gXCJmdW5jdGlvblwiID8gX192YWx1ZXMobykgOiBvW1N5bWJvbC5pdGVyYXRvcl0oKSwgaSA9IHt9LCB2ZXJiKFwibmV4dFwiKSwgdmVyYihcInRocm93XCIpLCB2ZXJiKFwicmV0dXJuXCIpLCBpW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGkpO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuKSB7IGlbbl0gPSBvW25dICYmIGZ1bmN0aW9uICh2KSB7IHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7IHYgPSBvW25dKHYpLCBzZXR0bGUocmVzb2x2ZSwgcmVqZWN0LCB2LmRvbmUsIHYudmFsdWUpOyB9KTsgfTsgfVxyXG4gICAgZnVuY3Rpb24gc2V0dGxlKHJlc29sdmUsIHJlamVjdCwgZCwgdikgeyBQcm9taXNlLnJlc29sdmUodikudGhlbihmdW5jdGlvbih2KSB7IHJlc29sdmUoeyB2YWx1ZTogdiwgZG9uZTogZCB9KTsgfSwgcmVqZWN0KTsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19tYWtlVGVtcGxhdGVPYmplY3QoY29va2VkLCByYXcpIHtcclxuICAgIGlmIChPYmplY3QuZGVmaW5lUHJvcGVydHkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNvb2tlZCwgXCJyYXdcIiwgeyB2YWx1ZTogcmF3IH0pOyB9IGVsc2UgeyBjb29rZWQucmF3ID0gcmF3OyB9XHJcbiAgICByZXR1cm4gY29va2VkO1xyXG59O1xyXG5cclxudmFyIF9fc2V0TW9kdWxlRGVmYXVsdCA9IE9iamVjdC5jcmVhdGUgPyAoZnVuY3Rpb24obywgdikge1xyXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sIFwiZGVmYXVsdFwiLCB7IGVudW1lcmFibGU6IHRydWUsIHZhbHVlOiB2IH0pO1xyXG59KSA6IGZ1bmN0aW9uKG8sIHYpIHtcclxuICAgIG9bXCJkZWZhdWx0XCJdID0gdjtcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2ltcG9ydFN0YXIobW9kKSB7XHJcbiAgICBpZiAobW9kICYmIG1vZC5fX2VzTW9kdWxlKSByZXR1cm4gbW9kO1xyXG4gICAgdmFyIHJlc3VsdCA9IHt9O1xyXG4gICAgaWYgKG1vZCAhPSBudWxsKSBmb3IgKHZhciBrIGluIG1vZCkgaWYgKGsgIT09IFwiZGVmYXVsdFwiICYmIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChtb2QsIGspKSBfX2NyZWF0ZUJpbmRpbmcocmVzdWx0LCBtb2QsIGspO1xyXG4gICAgX19zZXRNb2R1bGVEZWZhdWx0KHJlc3VsdCwgbW9kKTtcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2ltcG9ydERlZmF1bHQobW9kKSB7XHJcbiAgICByZXR1cm4gKG1vZCAmJiBtb2QuX19lc01vZHVsZSkgPyBtb2QgOiB7IGRlZmF1bHQ6IG1vZCB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19jbGFzc1ByaXZhdGVGaWVsZEdldChyZWNlaXZlciwgc3RhdGUsIGtpbmQsIGYpIHtcclxuICAgIGlmIChraW5kID09PSBcImFcIiAmJiAhZikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlByaXZhdGUgYWNjZXNzb3Igd2FzIGRlZmluZWQgd2l0aG91dCBhIGdldHRlclwiKTtcclxuICAgIGlmICh0eXBlb2Ygc3RhdGUgPT09IFwiZnVuY3Rpb25cIiA/IHJlY2VpdmVyICE9PSBzdGF0ZSB8fCAhZiA6ICFzdGF0ZS5oYXMocmVjZWl2ZXIpKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IHJlYWQgcHJpdmF0ZSBtZW1iZXIgZnJvbSBhbiBvYmplY3Qgd2hvc2UgY2xhc3MgZGlkIG5vdCBkZWNsYXJlIGl0XCIpO1xyXG4gICAgcmV0dXJuIGtpbmQgPT09IFwibVwiID8gZiA6IGtpbmQgPT09IFwiYVwiID8gZi5jYWxsKHJlY2VpdmVyKSA6IGYgPyBmLnZhbHVlIDogc3RhdGUuZ2V0KHJlY2VpdmVyKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fY2xhc3NQcml2YXRlRmllbGRTZXQocmVjZWl2ZXIsIHN0YXRlLCB2YWx1ZSwga2luZCwgZikge1xyXG4gICAgaWYgKGtpbmQgPT09IFwibVwiKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiUHJpdmF0ZSBtZXRob2QgaXMgbm90IHdyaXRhYmxlXCIpO1xyXG4gICAgaWYgKGtpbmQgPT09IFwiYVwiICYmICFmKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiUHJpdmF0ZSBhY2Nlc3NvciB3YXMgZGVmaW5lZCB3aXRob3V0IGEgc2V0dGVyXCIpO1xyXG4gICAgaWYgKHR5cGVvZiBzdGF0ZSA9PT0gXCJmdW5jdGlvblwiID8gcmVjZWl2ZXIgIT09IHN0YXRlIHx8ICFmIDogIXN0YXRlLmhhcyhyZWNlaXZlcikpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3Qgd3JpdGUgcHJpdmF0ZSBtZW1iZXIgdG8gYW4gb2JqZWN0IHdob3NlIGNsYXNzIGRpZCBub3QgZGVjbGFyZSBpdFwiKTtcclxuICAgIHJldHVybiAoa2luZCA9PT0gXCJhXCIgPyBmLmNhbGwocmVjZWl2ZXIsIHZhbHVlKSA6IGYgPyBmLnZhbHVlID0gdmFsdWUgOiBzdGF0ZS5zZXQocmVjZWl2ZXIsIHZhbHVlKSksIHZhbHVlO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19jbGFzc1ByaXZhdGVGaWVsZEluKHN0YXRlLCByZWNlaXZlcikge1xyXG4gICAgaWYgKHJlY2VpdmVyID09PSBudWxsIHx8ICh0eXBlb2YgcmVjZWl2ZXIgIT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIHJlY2VpdmVyICE9PSBcImZ1bmN0aW9uXCIpKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IHVzZSAnaW4nIG9wZXJhdG9yIG9uIG5vbi1vYmplY3RcIik7XHJcbiAgICByZXR1cm4gdHlwZW9mIHN0YXRlID09PSBcImZ1bmN0aW9uXCIgPyByZWNlaXZlciA9PT0gc3RhdGUgOiBzdGF0ZS5oYXMocmVjZWl2ZXIpO1xyXG59XHJcbiIsImltcG9ydCB7IExpc3QsIFJvb3QgfSBmcm9tIFwiLlwiO1xuXG5leHBvcnQgZnVuY3Rpb24gcmVjYWxjdWxhdGVOdW1lcmljQnVsbGV0cyhyb290OiBSb290KSB7XG4gIGZ1bmN0aW9uIHZpc2l0KHBhcmVudDogUm9vdCB8IExpc3QpIHtcbiAgICBsZXQgaW5kZXggPSAxO1xuXG4gICAgZm9yIChjb25zdCBjaGlsZCBvZiBwYXJlbnQuZ2V0Q2hpbGRyZW4oKSkge1xuICAgICAgaWYgKC9cXGQrXFwuLy50ZXN0KGNoaWxkLmdldEJ1bGxldCgpKSkge1xuICAgICAgICBjaGlsZC5yZXBsYXRlQnVsbGV0KGAke2luZGV4Kyt9LmApO1xuICAgICAgfVxuXG4gICAgICB2aXNpdChjaGlsZCk7XG4gICAgfVxuICB9XG5cbiAgdmlzaXQocm9vdCk7XG59XG4iLCJpbXBvcnQgeyBPcGVyYXRpb24gfSBmcm9tIFwiLi9PcGVyYXRpb25cIjtcblxuaW1wb3J0IHsgTGlzdCwgTGlzdExpbmUsIFBvc2l0aW9uLCBSb290IH0gZnJvbSBcIi4uL3Jvb3RcIjtcbmltcG9ydCB7IHJlY2FsY3VsYXRlTnVtZXJpY0J1bGxldHMgfSBmcm9tIFwiLi4vcm9vdC9yZWNhbGN1bGF0ZU51bWVyaWNCdWxsZXRzXCI7XG5cbmV4cG9ydCBjbGFzcyBEZWxldGVBbmRNZXJnZVdpdGhQcmV2aW91c0xpbmVPcGVyYXRpb24gaW1wbGVtZW50cyBPcGVyYXRpb24ge1xuICBwcml2YXRlIHN0b3BQcm9wYWdhdGlvbiA9IGZhbHNlO1xuICBwcml2YXRlIHVwZGF0ZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvb3Q6IFJvb3QpIHt9XG5cbiAgc2hvdWxkU3RvcFByb3BhZ2F0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnN0b3BQcm9wYWdhdGlvbjtcbiAgfVxuXG4gIHNob3VsZFVwZGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy51cGRhdGVkO1xuICB9XG5cbiAgcGVyZm9ybSgpIHtcbiAgICBjb25zdCB7IHJvb3QgfSA9IHRoaXM7XG5cbiAgICBpZiAoIXJvb3QuaGFzU2luZ2xlQ3Vyc29yKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBsaXN0ID0gcm9vdC5nZXRMaXN0VW5kZXJDdXJzb3IoKTtcbiAgICBjb25zdCBjdXJzb3IgPSByb290LmdldEN1cnNvcigpO1xuICAgIGNvbnN0IGxpbmVzID0gbGlzdC5nZXRMaW5lc0luZm8oKTtcblxuICAgIGNvbnN0IGxpbmVObyA9IGxpbmVzLmZpbmRJbmRleChcbiAgICAgIChsKSA9PiBjdXJzb3IuY2ggPT09IGwuZnJvbS5jaCAmJiBjdXJzb3IubGluZSA9PT0gbC5mcm9tLmxpbmVcbiAgICApO1xuXG4gICAgaWYgKGxpbmVObyA9PT0gMCkge1xuICAgICAgdGhpcy5tZXJnZVdpdGhQcmV2aW91c0l0ZW0ocm9vdCwgY3Vyc29yLCBsaXN0KTtcbiAgICB9IGVsc2UgaWYgKGxpbmVObyA+IDApIHtcbiAgICAgIHRoaXMubWVyZ2VOb3Rlcyhyb290LCBjdXJzb3IsIGxpc3QsIGxpbmVzLCBsaW5lTm8pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbWVyZ2VOb3RlcyhcbiAgICByb290OiBSb290LFxuICAgIGN1cnNvcjogUG9zaXRpb24sXG4gICAgbGlzdDogTGlzdCxcbiAgICBsaW5lczogTGlzdExpbmVbXSxcbiAgICBsaW5lTm86IG51bWJlclxuICApIHtcbiAgICB0aGlzLnN0b3BQcm9wYWdhdGlvbiA9IHRydWU7XG4gICAgdGhpcy51cGRhdGVkID0gdHJ1ZTtcblxuICAgIGNvbnN0IHByZXZMaW5lTm8gPSBsaW5lTm8gLSAxO1xuXG4gICAgcm9vdC5yZXBsYWNlQ3Vyc29yKHtcbiAgICAgIGxpbmU6IGN1cnNvci5saW5lIC0gMSxcbiAgICAgIGNoOiBsaW5lc1twcmV2TGluZU5vXS50ZXh0Lmxlbmd0aCArIGxpbmVzW3ByZXZMaW5lTm9dLmZyb20uY2gsXG4gICAgfSk7XG5cbiAgICBsaW5lc1twcmV2TGluZU5vXS50ZXh0ICs9IGxpbmVzW2xpbmVOb10udGV4dDtcbiAgICBsaW5lcy5zcGxpY2UobGluZU5vLCAxKTtcblxuICAgIGxpc3QucmVwbGFjZUxpbmVzKGxpbmVzLm1hcCgobCkgPT4gbC50ZXh0KSk7XG4gIH1cblxuICBwcml2YXRlIG1lcmdlV2l0aFByZXZpb3VzSXRlbShyb290OiBSb290LCBjdXJzb3I6IFBvc2l0aW9uLCBsaXN0OiBMaXN0KSB7XG4gICAgaWYgKHJvb3QuZ2V0Q2hpbGRyZW4oKVswXSA9PT0gbGlzdCAmJiBsaXN0LmdldENoaWxkcmVuKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zdG9wUHJvcGFnYXRpb24gPSB0cnVlO1xuXG4gICAgY29uc3QgcHJldiA9IHJvb3QuZ2V0TGlzdFVuZGVyTGluZShjdXJzb3IubGluZSAtIDEpO1xuXG4gICAgaWYgKCFwcmV2KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgYm90aEFyZUVtcHR5ID0gcHJldi5pc0VtcHR5KCkgJiYgbGlzdC5pc0VtcHR5KCk7XG4gICAgY29uc3QgcHJldklzRW1wdHlBbmRTYW1lTGV2ZWwgPVxuICAgICAgcHJldi5pc0VtcHR5KCkgJiYgIWxpc3QuaXNFbXB0eSgpICYmIHByZXYuZ2V0TGV2ZWwoKSA9PSBsaXN0LmdldExldmVsKCk7XG4gICAgY29uc3QgbGlzdElzRW1wdHlBbmRQcmV2SXNQYXJlbnQgPVxuICAgICAgbGlzdC5pc0VtcHR5KCkgJiYgcHJldi5nZXRMZXZlbCgpID09IGxpc3QuZ2V0TGV2ZWwoKSAtIDE7XG5cbiAgICBpZiAoYm90aEFyZUVtcHR5IHx8IHByZXZJc0VtcHR5QW5kU2FtZUxldmVsIHx8IGxpc3RJc0VtcHR5QW5kUHJldklzUGFyZW50KSB7XG4gICAgICB0aGlzLnVwZGF0ZWQgPSB0cnVlO1xuXG4gICAgICBjb25zdCBwYXJlbnQgPSBsaXN0LmdldFBhcmVudCgpO1xuICAgICAgY29uc3QgcHJldkVuZCA9IHByZXYuZ2V0TGFzdExpbmVDb250ZW50RW5kKCk7XG5cbiAgICAgIGlmICghcHJldi5nZXROb3Rlc0luZGVudCgpICYmIGxpc3QuZ2V0Tm90ZXNJbmRlbnQoKSkge1xuICAgICAgICBwcmV2LnNldE5vdGVzSW5kZW50KFxuICAgICAgICAgIHByZXYuZ2V0Rmlyc3RMaW5lSW5kZW50KCkgK1xuICAgICAgICAgICAgbGlzdC5nZXROb3Rlc0luZGVudCgpLnNsaWNlKGxpc3QuZ2V0Rmlyc3RMaW5lSW5kZW50KCkubGVuZ3RoKVxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBvbGRMaW5lcyA9IHByZXYuZ2V0TGluZXMoKTtcbiAgICAgIGNvbnN0IG5ld0xpbmVzID0gbGlzdC5nZXRMaW5lcygpO1xuICAgICAgb2xkTGluZXNbb2xkTGluZXMubGVuZ3RoIC0gMV0gKz0gbmV3TGluZXNbMF07XG4gICAgICBjb25zdCByZXN1bHRMaW5lcyA9IG9sZExpbmVzLmNvbmNhdChuZXdMaW5lcy5zbGljZSgxKSk7XG5cbiAgICAgIHByZXYucmVwbGFjZUxpbmVzKHJlc3VsdExpbmVzKTtcbiAgICAgIHBhcmVudC5yZW1vdmVDaGlsZChsaXN0KTtcblxuICAgICAgZm9yIChjb25zdCBjIG9mIGxpc3QuZ2V0Q2hpbGRyZW4oKSkge1xuICAgICAgICBsaXN0LnJlbW92ZUNoaWxkKGMpO1xuICAgICAgICBwcmV2LmFkZEFmdGVyQWxsKGMpO1xuICAgICAgfVxuXG4gICAgICByb290LnJlcGxhY2VDdXJzb3IocHJldkVuZCk7XG5cbiAgICAgIHJlY2FsY3VsYXRlTnVtZXJpY0J1bGxldHMocm9vdCk7XG4gICAgfVxuICB9XG59XG4iLCJpbXBvcnQgeyBEZWxldGVBbmRNZXJnZVdpdGhQcmV2aW91c0xpbmVPcGVyYXRpb24gfSBmcm9tIFwiLi9EZWxldGVBbmRNZXJnZVdpdGhQcmV2aW91c0xpbmVPcGVyYXRpb25cIjtcbmltcG9ydCB7IE9wZXJhdGlvbiB9IGZyb20gXCIuL09wZXJhdGlvblwiO1xuXG5pbXBvcnQgeyBSb290IH0gZnJvbSBcIi4uL3Jvb3RcIjtcblxuZXhwb3J0IGNsYXNzIERlbGV0ZUFuZE1lcmdlV2l0aE5leHRMaW5lT3BlcmF0aW9uIGltcGxlbWVudHMgT3BlcmF0aW9uIHtcbiAgcHJpdmF0ZSBkZWxldGVBbmRNZXJnZVdpdGhQcmV2aW91czogRGVsZXRlQW5kTWVyZ2VXaXRoUHJldmlvdXNMaW5lT3BlcmF0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm9vdDogUm9vdCkge1xuICAgIHRoaXMuZGVsZXRlQW5kTWVyZ2VXaXRoUHJldmlvdXMgPVxuICAgICAgbmV3IERlbGV0ZUFuZE1lcmdlV2l0aFByZXZpb3VzTGluZU9wZXJhdGlvbihyb290KTtcbiAgfVxuXG4gIHNob3VsZFN0b3BQcm9wYWdhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5kZWxldGVBbmRNZXJnZVdpdGhQcmV2aW91cy5zaG91bGRTdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIHNob3VsZFVwZGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5kZWxldGVBbmRNZXJnZVdpdGhQcmV2aW91cy5zaG91bGRVcGRhdGUoKTtcbiAgfVxuXG4gIHBlcmZvcm0oKSB7XG4gICAgY29uc3QgeyByb290IH0gPSB0aGlzO1xuXG4gICAgaWYgKCFyb290Lmhhc1NpbmdsZUN1cnNvcigpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbGlzdCA9IHJvb3QuZ2V0TGlzdFVuZGVyQ3Vyc29yKCk7XG4gICAgY29uc3QgY3Vyc29yID0gcm9vdC5nZXRDdXJzb3IoKTtcbiAgICBjb25zdCBsaW5lcyA9IGxpc3QuZ2V0TGluZXNJbmZvKCk7XG5cbiAgICBjb25zdCBsaW5lTm8gPSBsaW5lcy5maW5kSW5kZXgoXG4gICAgICAobCkgPT4gY3Vyc29yLmNoID09PSBsLnRvLmNoICYmIGN1cnNvci5saW5lID09PSBsLnRvLmxpbmVcbiAgICApO1xuXG4gICAgaWYgKGxpbmVObyA9PT0gbGluZXMubGVuZ3RoIC0gMSkge1xuICAgICAgY29uc3QgbmV4dExpbmUgPSBsaW5lc1tsaW5lTm9dLnRvLmxpbmUgKyAxO1xuICAgICAgY29uc3QgbmV4dExpc3QgPSByb290LmdldExpc3RVbmRlckxpbmUobmV4dExpbmUpO1xuICAgICAgaWYgKCFuZXh0TGlzdCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICByb290LnJlcGxhY2VDdXJzb3IobmV4dExpc3QuZ2V0Rmlyc3RMaW5lQ29udGVudFN0YXJ0KCkpO1xuICAgICAgdGhpcy5kZWxldGVBbmRNZXJnZVdpdGhQcmV2aW91cy5wZXJmb3JtKCk7XG4gICAgfSBlbHNlIGlmIChsaW5lTm8gPj0gMCkge1xuICAgICAgcm9vdC5yZXBsYWNlQ3Vyc29yKGxpbmVzW2xpbmVObyArIDFdLmZyb20pO1xuICAgICAgdGhpcy5kZWxldGVBbmRNZXJnZVdpdGhQcmV2aW91cy5wZXJmb3JtKCk7XG4gICAgfVxuICB9XG59XG4iLCJpbXBvcnQgeyBPcGVyYXRpb24gfSBmcm9tIFwiLi9PcGVyYXRpb25cIjtcblxuaW1wb3J0IHsgUm9vdCB9IGZyb20gXCIuLi9yb290XCI7XG5cbmV4cG9ydCBjbGFzcyBEZWxldGVUaWxsTGluZVN0YXJ0T3BlcmF0aW9uIGltcGxlbWVudHMgT3BlcmF0aW9uIHtcbiAgcHJpdmF0ZSBzdG9wUHJvcGFnYXRpb24gPSBmYWxzZTtcbiAgcHJpdmF0ZSB1cGRhdGVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb290OiBSb290KSB7fVxuXG4gIHNob3VsZFN0b3BQcm9wYWdhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9wUHJvcGFnYXRpb247XG4gIH1cblxuICBzaG91bGRVcGRhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudXBkYXRlZDtcbiAgfVxuXG4gIHBlcmZvcm0oKSB7XG4gICAgY29uc3QgeyByb290IH0gPSB0aGlzO1xuXG4gICAgaWYgKCFyb290Lmhhc1NpbmdsZUN1cnNvcigpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zdG9wUHJvcGFnYXRpb24gPSB0cnVlO1xuICAgIHRoaXMudXBkYXRlZCA9IHRydWU7XG5cbiAgICBjb25zdCBjdXJzb3IgPSByb290LmdldEN1cnNvcigpO1xuICAgIGNvbnN0IGxpc3QgPSByb290LmdldExpc3RVbmRlckN1cnNvcigpO1xuICAgIGNvbnN0IGxpbmVzID0gbGlzdC5nZXRMaW5lc0luZm8oKTtcbiAgICBjb25zdCBsaW5lTm8gPSBsaW5lcy5maW5kSW5kZXgoKGwpID0+IGwuZnJvbS5saW5lID09PSBjdXJzb3IubGluZSk7XG5cbiAgICBsaW5lc1tsaW5lTm9dLnRleHQgPSBsaW5lc1tsaW5lTm9dLnRleHQuc2xpY2UoXG4gICAgICBjdXJzb3IuY2ggLSBsaW5lc1tsaW5lTm9dLmZyb20uY2hcbiAgICApO1xuXG4gICAgbGlzdC5yZXBsYWNlTGluZXMobGluZXMubWFwKChsKSA9PiBsLnRleHQpKTtcbiAgICByb290LnJlcGxhY2VDdXJzb3IobGluZXNbbGluZU5vXS5mcm9tKTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgUGx1Z2luXzIgfSBmcm9tIFwib2JzaWRpYW5cIjtcblxuaW1wb3J0IHsga2V5bWFwIH0gZnJvbSBcIkBjb2RlbWlycm9yL3ZpZXdcIjtcblxuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gXCIuL0ZlYXR1cmVcIjtcblxuaW1wb3J0IHsgTXlFZGl0b3IgfSBmcm9tIFwiLi4vTXlFZGl0b3JcIjtcbmltcG9ydCB7IERlbGV0ZUFuZE1lcmdlV2l0aE5leHRMaW5lT3BlcmF0aW9uIH0gZnJvbSBcIi4uL29wZXJhdGlvbnMvRGVsZXRlQW5kTWVyZ2VXaXRoTmV4dExpbmVPcGVyYXRpb25cIjtcbmltcG9ydCB7IERlbGV0ZUFuZE1lcmdlV2l0aFByZXZpb3VzTGluZU9wZXJhdGlvbiB9IGZyb20gXCIuLi9vcGVyYXRpb25zL0RlbGV0ZUFuZE1lcmdlV2l0aFByZXZpb3VzTGluZU9wZXJhdGlvblwiO1xuaW1wb3J0IHsgRGVsZXRlVGlsbExpbmVTdGFydE9wZXJhdGlvbiB9IGZyb20gXCIuLi9vcGVyYXRpb25zL0RlbGV0ZVRpbGxMaW5lU3RhcnRPcGVyYXRpb25cIjtcbmltcG9ydCB7IElNRVNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvSU1FU2VydmljZVwiO1xuaW1wb3J0IHsgT2JzaWRpYW5TZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL09ic2lkaWFuU2VydmljZVwiO1xuaW1wb3J0IHsgUGVyZm9ybU9wZXJhdGlvblNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvUGVyZm9ybU9wZXJhdGlvblNlcnZpY2VcIjtcbmltcG9ydCB7IFNldHRpbmdzU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9TZXR0aW5nc1NlcnZpY2VcIjtcblxuZXhwb3J0IGNsYXNzIERlbGV0ZVNob3VsZElnbm9yZUJ1bGxldHNGZWF0dXJlIGltcGxlbWVudHMgRmVhdHVyZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcGx1Z2luOiBQbHVnaW5fMixcbiAgICBwcml2YXRlIHNldHRpbmdzOiBTZXR0aW5nc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbWU6IElNRVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBvYnNpZGlhbjogT2JzaWRpYW5TZXJ2aWNlLFxuICAgIHByaXZhdGUgcGVyZm9ybU9wZXJhdGlvbjogUGVyZm9ybU9wZXJhdGlvblNlcnZpY2VcbiAgKSB7fVxuXG4gIGFzeW5jIGxvYWQoKSB7XG4gICAgdGhpcy5wbHVnaW4ucmVnaXN0ZXJFZGl0b3JFeHRlbnNpb24oXG4gICAgICBrZXltYXAub2YoW1xuICAgICAgICB7XG4gICAgICAgICAga2V5OiBcIkJhY2tzcGFjZVwiLFxuICAgICAgICAgIHJ1bjogdGhpcy5vYnNpZGlhbi5jcmVhdGVLZXltYXBSdW5DYWxsYmFjayh7XG4gICAgICAgICAgICBjaGVjazogdGhpcy5jaGVjayxcbiAgICAgICAgICAgIHJ1bjogdGhpcy5kZWxldGVBbmRNZXJnZVdpdGhQcmV2aW91c0xpbmUsXG4gICAgICAgICAgfSksXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBrZXk6IFwiRGVsZXRlXCIsXG4gICAgICAgICAgcnVuOiB0aGlzLm9ic2lkaWFuLmNyZWF0ZUtleW1hcFJ1bkNhbGxiYWNrKHtcbiAgICAgICAgICAgIGNoZWNrOiB0aGlzLmNoZWNrLFxuICAgICAgICAgICAgcnVuOiB0aGlzLmRlbGV0ZUFuZE1lcmdlV2l0aE5leHRMaW5lLFxuICAgICAgICAgIH0pLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbWFjOiBcIm0tQmFja3NwYWNlXCIsXG4gICAgICAgICAgcnVuOiB0aGlzLm9ic2lkaWFuLmNyZWF0ZUtleW1hcFJ1bkNhbGxiYWNrKHtcbiAgICAgICAgICAgIGNoZWNrOiB0aGlzLmNoZWNrLFxuICAgICAgICAgICAgcnVuOiB0aGlzLmRlbGV0ZVRpbGxMaW5lU3RhcnQsXG4gICAgICAgICAgfSksXG4gICAgICAgIH0sXG4gICAgICBdKVxuICAgICk7XG4gIH1cblxuICBhc3luYyB1bmxvYWQoKSB7fVxuXG4gIHByaXZhdGUgY2hlY2sgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuc2V0dGluZ3Muc3RpY2tDdXJzb3IgIT0gXCJuZXZlclwiICYmICF0aGlzLmltZS5pc0lNRU9wZW5lZCgpO1xuICB9O1xuXG4gIHByaXZhdGUgZGVsZXRlQW5kTWVyZ2VXaXRoUHJldmlvdXNMaW5lID0gKGVkaXRvcjogTXlFZGl0b3IpID0+IHtcbiAgICByZXR1cm4gdGhpcy5wZXJmb3JtT3BlcmF0aW9uLnBlcmZvcm1PcGVyYXRpb24oXG4gICAgICAocm9vdCkgPT4gbmV3IERlbGV0ZUFuZE1lcmdlV2l0aFByZXZpb3VzTGluZU9wZXJhdGlvbihyb290KSxcbiAgICAgIGVkaXRvclxuICAgICk7XG4gIH07XG5cbiAgcHJpdmF0ZSBkZWxldGVUaWxsTGluZVN0YXJ0ID0gKGVkaXRvcjogTXlFZGl0b3IpID0+IHtcbiAgICByZXR1cm4gdGhpcy5wZXJmb3JtT3BlcmF0aW9uLnBlcmZvcm1PcGVyYXRpb24oXG4gICAgICAocm9vdCkgPT4gbmV3IERlbGV0ZVRpbGxMaW5lU3RhcnRPcGVyYXRpb24ocm9vdCksXG4gICAgICBlZGl0b3JcbiAgICApO1xuICB9O1xuXG4gIHByaXZhdGUgZGVsZXRlQW5kTWVyZ2VXaXRoTmV4dExpbmUgPSAoZWRpdG9yOiBNeUVkaXRvcikgPT4ge1xuICAgIHJldHVybiB0aGlzLnBlcmZvcm1PcGVyYXRpb24ucGVyZm9ybU9wZXJhdGlvbihcbiAgICAgIChyb290KSA9PiBuZXcgRGVsZXRlQW5kTWVyZ2VXaXRoTmV4dExpbmVPcGVyYXRpb24ocm9vdCksXG4gICAgICBlZGl0b3JcbiAgICApO1xuICB9O1xufVxuIiwiaW1wb3J0IHsgT3BlcmF0aW9uIH0gZnJvbSBcIi4vT3BlcmF0aW9uXCI7XG5cbmltcG9ydCB7IFJvb3QgfSBmcm9tIFwiLi4vcm9vdFwiO1xuXG5leHBvcnQgY2xhc3MgRW5zdXJlQ3Vyc29ySW5MaXN0Q29udGVudE9wZXJhdGlvbiBpbXBsZW1lbnRzIE9wZXJhdGlvbiB7XG4gIHByaXZhdGUgc3RvcFByb3BhZ2F0aW9uID0gZmFsc2U7XG4gIHByaXZhdGUgdXBkYXRlZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm9vdDogUm9vdCkge31cblxuICBzaG91bGRTdG9wUHJvcGFnYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcFByb3BhZ2F0aW9uO1xuICB9XG5cbiAgc2hvdWxkVXBkYXRlKCkge1xuICAgIHJldHVybiB0aGlzLnVwZGF0ZWQ7XG4gIH1cblxuICBwZXJmb3JtKCkge1xuICAgIGNvbnN0IHsgcm9vdCB9ID0gdGhpcztcblxuICAgIGlmICghcm9vdC5oYXNTaW5nbGVDdXJzb3IoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc3RvcFByb3BhZ2F0aW9uID0gdHJ1ZTtcblxuICAgIGNvbnN0IGN1cnNvciA9IHJvb3QuZ2V0Q3Vyc29yKCk7XG4gICAgY29uc3QgbGlzdCA9IHJvb3QuZ2V0TGlzdFVuZGVyQ3Vyc29yKCk7XG4gICAgY29uc3QgY29udGVudFN0YXJ0ID0gbGlzdC5nZXRGaXJzdExpbmVDb250ZW50U3RhcnRBZnRlckNoZWNrYm94KCk7XG4gICAgY29uc3QgbGluZVByZWZpeCA9XG4gICAgICBjb250ZW50U3RhcnQubGluZSA9PT0gY3Vyc29yLmxpbmVcbiAgICAgICAgPyBjb250ZW50U3RhcnQuY2hcbiAgICAgICAgOiBsaXN0LmdldE5vdGVzSW5kZW50KCkubGVuZ3RoO1xuXG4gICAgaWYgKGN1cnNvci5jaCA8IGxpbmVQcmVmaXgpIHtcbiAgICAgIHRoaXMudXBkYXRlZCA9IHRydWU7XG4gICAgICByb290LnJlcGxhY2VDdXJzb3Ioe1xuICAgICAgICBsaW5lOiBjdXJzb3IubGluZSxcbiAgICAgICAgY2g6IGxpbmVQcmVmaXgsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiIsImltcG9ydCB7IE9wZXJhdGlvbiB9IGZyb20gXCIuL09wZXJhdGlvblwiO1xuXG5pbXBvcnQgeyBSb290IH0gZnJvbSBcIi4uL3Jvb3RcIjtcblxuZXhwb3J0IGNsYXNzIEVuc3VyZUN1cnNvcklzSW5VbmZvbGRlZExpbmVPcGVyYXRpb24gaW1wbGVtZW50cyBPcGVyYXRpb24ge1xuICBwcml2YXRlIHN0b3BQcm9wYWdhdGlvbiA9IGZhbHNlO1xuICBwcml2YXRlIHVwZGF0ZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvb3Q6IFJvb3QpIHt9XG5cbiAgc2hvdWxkU3RvcFByb3BhZ2F0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnN0b3BQcm9wYWdhdGlvbjtcbiAgfVxuXG4gIHNob3VsZFVwZGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy51cGRhdGVkO1xuICB9XG5cbiAgcGVyZm9ybSgpIHtcbiAgICBjb25zdCB7IHJvb3QgfSA9IHRoaXM7XG5cbiAgICBpZiAoIXJvb3QuaGFzU2luZ2xlQ3Vyc29yKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnN0b3BQcm9wYWdhdGlvbiA9IHRydWU7XG5cbiAgICBjb25zdCBjdXJzb3IgPSByb290LmdldEN1cnNvcigpO1xuXG4gICAgY29uc3QgbGlzdCA9IHJvb3QuZ2V0TGlzdFVuZGVyQ3Vyc29yKCk7XG4gICAgaWYgKCFsaXN0LmlzRm9sZGVkKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBmb2xkUm9vdCA9IGxpc3QuZ2V0VG9wRm9sZFJvb3QoKTtcbiAgICBjb25zdCBmaXJzdExpbmVFbmQgPSBmb2xkUm9vdC5nZXRMaW5lc0luZm8oKVswXS50bztcblxuICAgIGlmIChjdXJzb3IubGluZSA+IGZpcnN0TGluZUVuZC5saW5lKSB7XG4gICAgICB0aGlzLnVwZGF0ZWQgPSB0cnVlO1xuICAgICAgcm9vdC5yZXBsYWNlQ3Vyc29yKGZpcnN0TGluZUVuZCk7XG4gICAgfVxuICB9XG59XG4iLCJpbXBvcnQgeyBQbHVnaW5fMiB9IGZyb20gXCJvYnNpZGlhblwiO1xuXG5pbXBvcnQgeyBFZGl0b3JTdGF0ZSwgVHJhbnNhY3Rpb24gfSBmcm9tIFwiQGNvZGVtaXJyb3Ivc3RhdGVcIjtcblxuaW1wb3J0IHsgTXlFZGl0b3IgfSBmcm9tIFwiLi4vTXlFZGl0b3JcIjtcbmltcG9ydCB7IEZlYXR1cmUgfSBmcm9tIFwiLi4vZmVhdHVyZXMvRmVhdHVyZVwiO1xuaW1wb3J0IHsgRW5zdXJlQ3Vyc29ySW5MaXN0Q29udGVudE9wZXJhdGlvbiB9IGZyb20gXCIuLi9vcGVyYXRpb25zL0Vuc3VyZUN1cnNvckluTGlzdENvbnRlbnRPcGVyYXRpb25cIjtcbmltcG9ydCB7IEVuc3VyZUN1cnNvcklzSW5VbmZvbGRlZExpbmVPcGVyYXRpb24gfSBmcm9tIFwiLi4vb3BlcmF0aW9ucy9FbnN1cmVDdXJzb3JJc0luVW5mb2xkZWRMaW5lT3BlcmF0aW9uXCI7XG5pbXBvcnQgeyBPYnNpZGlhblNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvT2JzaWRpYW5TZXJ2aWNlXCI7XG5pbXBvcnQgeyBQZXJmb3JtT3BlcmF0aW9uU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9QZXJmb3JtT3BlcmF0aW9uU2VydmljZVwiO1xuaW1wb3J0IHsgU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL1NldHRpbmdzU2VydmljZVwiO1xuXG5leHBvcnQgY2xhc3MgRW5zdXJlQ3Vyc29ySW5MaXN0Q29udGVudEZlYXR1cmUgaW1wbGVtZW50cyBGZWF0dXJlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBwbHVnaW46IFBsdWdpbl8yLFxuICAgIHByaXZhdGUgc2V0dGluZ3M6IFNldHRpbmdzU2VydmljZSxcbiAgICBwcml2YXRlIG9ic2lkaWFuOiBPYnNpZGlhblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwZXJmb3JtT3BlcmF0aW9uOiBQZXJmb3JtT3BlcmF0aW9uU2VydmljZVxuICApIHt9XG5cbiAgYXN5bmMgbG9hZCgpIHtcbiAgICB0aGlzLnBsdWdpbi5yZWdpc3RlckVkaXRvckV4dGVuc2lvbihcbiAgICAgIEVkaXRvclN0YXRlLnRyYW5zYWN0aW9uRXh0ZW5kZXIub2YodGhpcy50cmFuc2FjdGlvbkV4dGVuZGVyKVxuICAgICk7XG4gIH1cblxuICBhc3luYyB1bmxvYWQoKSB7fVxuXG4gIHByaXZhdGUgdHJhbnNhY3Rpb25FeHRlbmRlciA9ICh0cjogVHJhbnNhY3Rpb24pOiBudWxsID0+IHtcbiAgICBpZiAodGhpcy5zZXR0aW5ncy5zdGlja0N1cnNvciA9PSBcIm5ldmVyXCIgfHwgIXRyLnNlbGVjdGlvbikge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgZWRpdG9yID0gdGhpcy5vYnNpZGlhbi5nZXRFZGl0b3JGcm9tU3RhdGUodHIuc3RhcnRTdGF0ZSk7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuaGFuZGxlQ3Vyc29yQWN0aXZpdHkoZWRpdG9yKTtcbiAgICB9LCAwKTtcblxuICAgIHJldHVybiBudWxsO1xuICB9O1xuXG4gIHByaXZhdGUgaGFuZGxlQ3Vyc29yQWN0aXZpdHkgPSAoZWRpdG9yOiBNeUVkaXRvcikgPT4ge1xuICAgIHRoaXMucGVyZm9ybU9wZXJhdGlvbi5wZXJmb3JtT3BlcmF0aW9uKFxuICAgICAgKHJvb3QpID0+IG5ldyBFbnN1cmVDdXJzb3JJc0luVW5mb2xkZWRMaW5lT3BlcmF0aW9uKHJvb3QpLFxuICAgICAgZWRpdG9yXG4gICAgKTtcblxuICAgIHRoaXMucGVyZm9ybU9wZXJhdGlvbi5wZXJmb3JtT3BlcmF0aW9uKFxuICAgICAgKHJvb3QpID0+IG5ldyBFbnN1cmVDdXJzb3JJbkxpc3RDb250ZW50T3BlcmF0aW9uKHJvb3QpLFxuICAgICAgZWRpdG9yXG4gICAgKTtcbiAgfTtcbn1cbiIsImltcG9ydCB7IE9wZXJhdGlvbiB9IGZyb20gXCIuL09wZXJhdGlvblwiO1xuXG5pbXBvcnQgeyBSb290IH0gZnJvbSBcIi4uL3Jvb3RcIjtcbmltcG9ydCB7IHJlY2FsY3VsYXRlTnVtZXJpY0J1bGxldHMgfSBmcm9tIFwiLi4vcm9vdC9yZWNhbGN1bGF0ZU51bWVyaWNCdWxsZXRzXCI7XG5cbmV4cG9ydCBjbGFzcyBNb3ZlTGVmdE9wZXJhdGlvbiBpbXBsZW1lbnRzIE9wZXJhdGlvbiB7XG4gIHByaXZhdGUgc3RvcFByb3BhZ2F0aW9uID0gZmFsc2U7XG4gIHByaXZhdGUgdXBkYXRlZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm9vdDogUm9vdCkge31cblxuICBzaG91bGRTdG9wUHJvcGFnYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcFByb3BhZ2F0aW9uO1xuICB9XG5cbiAgc2hvdWxkVXBkYXRlKCkge1xuICAgIHJldHVybiB0aGlzLnVwZGF0ZWQ7XG4gIH1cblxuICBwZXJmb3JtKCkge1xuICAgIGNvbnN0IHsgcm9vdCB9ID0gdGhpcztcblxuICAgIGlmICghcm9vdC5oYXNTaW5nbGVDdXJzb3IoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc3RvcFByb3BhZ2F0aW9uID0gdHJ1ZTtcblxuICAgIGNvbnN0IGxpc3QgPSByb290LmdldExpc3RVbmRlckN1cnNvcigpO1xuICAgIGNvbnN0IHBhcmVudCA9IGxpc3QuZ2V0UGFyZW50KCk7XG4gICAgY29uc3QgZ3JhbmRQYXJlbnQgPSBwYXJlbnQuZ2V0UGFyZW50KCk7XG5cbiAgICBpZiAoIWdyYW5kUGFyZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy51cGRhdGVkID0gdHJ1ZTtcblxuICAgIGNvbnN0IGxpc3RTdGFydExpbmVCZWZvcmUgPSByb290LmdldENvbnRlbnRMaW5lc1JhbmdlT2YobGlzdClbMF07XG4gICAgY29uc3QgaW5kZW50Um1Gcm9tID0gcGFyZW50LmdldEZpcnN0TGluZUluZGVudCgpLmxlbmd0aDtcbiAgICBjb25zdCBpbmRlbnRSbVRpbGwgPSBsaXN0LmdldEZpcnN0TGluZUluZGVudCgpLmxlbmd0aDtcblxuICAgIHBhcmVudC5yZW1vdmVDaGlsZChsaXN0KTtcbiAgICBncmFuZFBhcmVudC5hZGRBZnRlcihwYXJlbnQsIGxpc3QpO1xuICAgIGxpc3QudW5pbmRlbnRDb250ZW50KGluZGVudFJtRnJvbSwgaW5kZW50Um1UaWxsKTtcblxuICAgIGNvbnN0IGxpc3RTdGFydExpbmVBZnRlciA9IHJvb3QuZ2V0Q29udGVudExpbmVzUmFuZ2VPZihsaXN0KVswXTtcbiAgICBjb25zdCBsaW5lRGlmZiA9IGxpc3RTdGFydExpbmVBZnRlciAtIGxpc3RTdGFydExpbmVCZWZvcmU7XG4gICAgY29uc3QgY2hEaWZmID0gaW5kZW50Um1UaWxsIC0gaW5kZW50Um1Gcm9tO1xuXG4gICAgY29uc3QgY3Vyc29yID0gcm9vdC5nZXRDdXJzb3IoKTtcbiAgICByb290LnJlcGxhY2VDdXJzb3Ioe1xuICAgICAgbGluZTogY3Vyc29yLmxpbmUgKyBsaW5lRGlmZixcbiAgICAgIGNoOiBjdXJzb3IuY2ggLSBjaERpZmYsXG4gICAgfSk7XG5cbiAgICByZWNhbGN1bGF0ZU51bWVyaWNCdWxsZXRzKHJvb3QpO1xuICB9XG59XG4iLCJleHBvcnQgZnVuY3Rpb24gaXNFbXB0eUxpbmVPckVtcHR5Q2hlY2tib3gobGluZTogc3RyaW5nKSB7XG4gIHJldHVybiBsaW5lID09PSBcIlwiIHx8IGxpbmUgPT09IFwiWyBdIFwiO1xufVxuIiwiaW1wb3J0IHsgTW92ZUxlZnRPcGVyYXRpb24gfSBmcm9tIFwiLi9Nb3ZlTGVmdE9wZXJhdGlvblwiO1xuaW1wb3J0IHsgT3BlcmF0aW9uIH0gZnJvbSBcIi4vT3BlcmF0aW9uXCI7XG5cbmltcG9ydCB7IFJvb3QgfSBmcm9tIFwiLi4vcm9vdFwiO1xuaW1wb3J0IHsgaXNFbXB0eUxpbmVPckVtcHR5Q2hlY2tib3ggfSBmcm9tIFwiLi4vdXRpbHMvaXNFbXB0eUxpbmVPckVtcHR5Q2hlY2tib3hcIjtcblxuZXhwb3J0IGNsYXNzIE91dGRlbnRJZkxpbmVJc0VtcHR5T3BlcmF0aW9uIGltcGxlbWVudHMgT3BlcmF0aW9uIHtcbiAgcHJpdmF0ZSBtb3ZlTGVmdE9wOiBNb3ZlTGVmdE9wZXJhdGlvbjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvb3Q6IFJvb3QpIHtcbiAgICB0aGlzLm1vdmVMZWZ0T3AgPSBuZXcgTW92ZUxlZnRPcGVyYXRpb24ocm9vdCk7XG4gIH1cblxuICBzaG91bGRTdG9wUHJvcGFnYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMubW92ZUxlZnRPcC5zaG91bGRTdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIHNob3VsZFVwZGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5tb3ZlTGVmdE9wLnNob3VsZFVwZGF0ZSgpO1xuICB9XG5cbiAgcGVyZm9ybSgpIHtcbiAgICBjb25zdCB7IHJvb3QgfSA9IHRoaXM7XG5cbiAgICBpZiAoIXJvb3QuaGFzU2luZ2xlQ3Vyc29yKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBsaXN0ID0gcm9vdC5nZXRMaXN0VW5kZXJDdXJzb3IoKTtcbiAgICBjb25zdCBsaW5lcyA9IGxpc3QuZ2V0TGluZXMoKTtcblxuICAgIGlmIChcbiAgICAgIGxpbmVzLmxlbmd0aCA+IDEgfHxcbiAgICAgICFpc0VtcHR5TGluZU9yRW1wdHlDaGVja2JveChsaW5lc1swXSkgfHxcbiAgICAgIGxpc3QuZ2V0TGV2ZWwoKSA9PT0gMVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMubW92ZUxlZnRPcC5wZXJmb3JtKCk7XG4gIH1cbn1cbiIsImltcG9ydCB7IFBsdWdpbl8yIH0gZnJvbSBcIm9ic2lkaWFuXCI7XG5cbmltcG9ydCB7IFByZWMgfSBmcm9tIFwiQGNvZGVtaXJyb3Ivc3RhdGVcIjtcbmltcG9ydCB7IGtleW1hcCB9IGZyb20gXCJAY29kZW1pcnJvci92aWV3XCI7XG5cbmltcG9ydCB7IE15RWRpdG9yIH0gZnJvbSBcIi4uL015RWRpdG9yXCI7XG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSBcIi4uL2ZlYXR1cmVzL0ZlYXR1cmVcIjtcbmltcG9ydCB7IE91dGRlbnRJZkxpbmVJc0VtcHR5T3BlcmF0aW9uIH0gZnJvbSBcIi4uL29wZXJhdGlvbnMvT3V0ZGVudElmTGluZUlzRW1wdHlPcGVyYXRpb25cIjtcbmltcG9ydCB7IElNRVNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvSU1FU2VydmljZVwiO1xuaW1wb3J0IHsgT2JzaWRpYW5TZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL09ic2lkaWFuU2VydmljZVwiO1xuaW1wb3J0IHsgUGVyZm9ybU9wZXJhdGlvblNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvUGVyZm9ybU9wZXJhdGlvblNlcnZpY2VcIjtcbmltcG9ydCB7IFNldHRpbmdzU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9TZXR0aW5nc1NlcnZpY2VcIjtcblxuZXhwb3J0IGNsYXNzIEVudGVyT3V0ZGVudElmTGluZUlzRW1wdHlGZWF0dXJlIGltcGxlbWVudHMgRmVhdHVyZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcGx1Z2luOiBQbHVnaW5fMixcbiAgICBwcml2YXRlIHNldHRpbmdzOiBTZXR0aW5nc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbWU6IElNRVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBvYnNpZGlhbjogT2JzaWRpYW5TZXJ2aWNlLFxuICAgIHByaXZhdGUgcGVyZm9ybU9wZXJhdGlvbjogUGVyZm9ybU9wZXJhdGlvblNlcnZpY2VcbiAgKSB7fVxuXG4gIGFzeW5jIGxvYWQoKSB7XG4gICAgdGhpcy5wbHVnaW4ucmVnaXN0ZXJFZGl0b3JFeHRlbnNpb24oXG4gICAgICBQcmVjLmhpZ2hlc3QoXG4gICAgICAgIGtleW1hcC5vZihbXG4gICAgICAgICAge1xuICAgICAgICAgICAga2V5OiBcIkVudGVyXCIsXG4gICAgICAgICAgICBydW46IHRoaXMub2JzaWRpYW4uY3JlYXRlS2V5bWFwUnVuQ2FsbGJhY2soe1xuICAgICAgICAgICAgICBjaGVjazogdGhpcy5jaGVjayxcbiAgICAgICAgICAgICAgcnVuOiB0aGlzLnJ1bixcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0pXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIGFzeW5jIHVubG9hZCgpIHt9XG5cbiAgcHJpdmF0ZSBjaGVjayA9ICgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5zZXR0aW5ncy5iZXR0ZXJFbnRlciAmJiAhdGhpcy5pbWUuaXNJTUVPcGVuZWQoKTtcbiAgfTtcblxuICBwcml2YXRlIHJ1biA9IChlZGl0b3I6IE15RWRpdG9yKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMucGVyZm9ybU9wZXJhdGlvbi5wZXJmb3JtT3BlcmF0aW9uKFxuICAgICAgKHJvb3QpID0+IG5ldyBPdXRkZW50SWZMaW5lSXNFbXB0eU9wZXJhdGlvbihyb290KSxcbiAgICAgIGVkaXRvclxuICAgICk7XG4gIH07XG59XG4iLCJleHBvcnQgZnVuY3Rpb24gY21wUG9zKGE6IFBvc2l0aW9uLCBiOiBQb3NpdGlvbikge1xuICByZXR1cm4gYS5saW5lIC0gYi5saW5lIHx8IGEuY2ggLSBiLmNoO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWF4UG9zKGE6IFBvc2l0aW9uLCBiOiBQb3NpdGlvbikge1xuICByZXR1cm4gY21wUG9zKGEsIGIpIDwgMCA/IGIgOiBhO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWluUG9zKGE6IFBvc2l0aW9uLCBiOiBQb3NpdGlvbikge1xuICByZXR1cm4gY21wUG9zKGEsIGIpIDwgMCA/IGEgOiBiO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBvc2l0aW9uIHtcbiAgY2g6IG51bWJlcjtcbiAgbGluZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RMaW5lIHtcbiAgdGV4dDogc3RyaW5nO1xuICBmcm9tOiBQb3NpdGlvbjtcbiAgdG86IFBvc2l0aW9uO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJhbmdlIHtcbiAgYW5jaG9yOiBQb3NpdGlvbjtcbiAgaGVhZDogUG9zaXRpb247XG59XG5cbmV4cG9ydCBjbGFzcyBMaXN0IHtcbiAgcHJpdmF0ZSBwYXJlbnQ6IExpc3QgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBjaGlsZHJlbjogTGlzdFtdID0gW107XG4gIHByaXZhdGUgbm90ZXNJbmRlbnQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGxpbmVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcm9vdDogUm9vdCxcbiAgICBwcml2YXRlIGluZGVudDogc3RyaW5nLFxuICAgIHByaXZhdGUgYnVsbGV0OiBzdHJpbmcsXG4gICAgcHJpdmF0ZSBvcHRpb25hbENoZWNrYm94OiBzdHJpbmcsXG4gICAgcHJpdmF0ZSBzcGFjZUFmdGVyQnVsbGV0OiBzdHJpbmcsXG4gICAgZmlyc3RMaW5lOiBzdHJpbmcsXG4gICAgcHJpdmF0ZSBmb2xkUm9vdDogYm9vbGVhblxuICApIHtcbiAgICB0aGlzLmxpbmVzLnB1c2goZmlyc3RMaW5lKTtcbiAgfVxuXG4gIGdldE5vdGVzSW5kZW50KCk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLm5vdGVzSW5kZW50O1xuICB9XG5cbiAgc2V0Tm90ZXNJbmRlbnQobm90ZXNJbmRlbnQ6IHN0cmluZykge1xuICAgIGlmICh0aGlzLm5vdGVzSW5kZW50ICE9PSBudWxsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vdGVzIGluZGVudCBhbHJlYWR5IHByb3ZpZGVkYCk7XG4gICAgfVxuICAgIHRoaXMubm90ZXNJbmRlbnQgPSBub3Rlc0luZGVudDtcbiAgfVxuXG4gIGFkZExpbmUodGV4dDogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMubm90ZXNJbmRlbnQgPT09IG51bGwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFVuYWJsZSB0byBhZGQgbGluZSwgbm90ZXMgaW5kZW50IHNob3VsZCBiZSBwcm92aWRlZCBmaXJzdGBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5saW5lcy5wdXNoKHRleHQpO1xuICB9XG5cbiAgcmVwbGFjZUxpbmVzKGxpbmVzOiBzdHJpbmdbXSkge1xuICAgIGlmIChsaW5lcy5sZW5ndGggPiAxICYmIHRoaXMubm90ZXNJbmRlbnQgPT09IG51bGwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFVuYWJsZSB0byBhZGQgbGluZSwgbm90ZXMgaW5kZW50IHNob3VsZCBiZSBwcm92aWRlZCBmaXJzdGBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5saW5lcyA9IGxpbmVzO1xuICB9XG5cbiAgZ2V0TGluZUNvdW50KCkge1xuICAgIHJldHVybiB0aGlzLmxpbmVzLmxlbmd0aDtcbiAgfVxuXG4gIGdldFJvb3QoKSB7XG4gICAgcmV0dXJuIHRoaXMucm9vdDtcbiAgfVxuXG4gIGdldENoaWxkcmVuKCkge1xuICAgIHJldHVybiB0aGlzLmNoaWxkcmVuLmNvbmNhdCgpO1xuICB9XG5cbiAgZ2V0TGluZXNJbmZvKCk6IExpc3RMaW5lW10ge1xuICAgIGNvbnN0IHN0YXJ0TGluZSA9IHRoaXMucm9vdC5nZXRDb250ZW50TGluZXNSYW5nZU9mKHRoaXMpWzBdO1xuXG4gICAgcmV0dXJuIHRoaXMubGluZXMubWFwKChyb3csIGkpID0+IHtcbiAgICAgIGNvbnN0IGxpbmUgPSBzdGFydExpbmUgKyBpO1xuICAgICAgY29uc3Qgc3RhcnRDaCA9XG4gICAgICAgIGkgPT09IDAgPyB0aGlzLmdldENvbnRlbnRTdGFydENoKCkgOiB0aGlzLm5vdGVzSW5kZW50Lmxlbmd0aDtcbiAgICAgIGNvbnN0IGVuZENoID0gc3RhcnRDaCArIHJvdy5sZW5ndGg7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIHRleHQ6IHJvdyxcbiAgICAgICAgZnJvbTogeyBsaW5lLCBjaDogc3RhcnRDaCB9LFxuICAgICAgICB0bzogeyBsaW5lLCBjaDogZW5kQ2ggfSxcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICBnZXRMaW5lcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMubGluZXMuY29uY2F0KCk7XG4gIH1cblxuICBnZXRGaXJzdExpbmVDb250ZW50U3RhcnQoKSB7XG4gICAgY29uc3Qgc3RhcnRMaW5lID0gdGhpcy5yb290LmdldENvbnRlbnRMaW5lc1JhbmdlT2YodGhpcylbMF07XG5cbiAgICByZXR1cm4ge1xuICAgICAgbGluZTogc3RhcnRMaW5lLFxuICAgICAgY2g6IHRoaXMuZ2V0Q29udGVudFN0YXJ0Q2goKSxcbiAgICB9O1xuICB9XG5cbiAgZ2V0Rmlyc3RMaW5lQ29udGVudFN0YXJ0QWZ0ZXJDaGVja2JveCgpIHtcbiAgICBjb25zdCBzdGFydExpbmUgPSB0aGlzLnJvb3QuZ2V0Q29udGVudExpbmVzUmFuZ2VPZih0aGlzKVswXTtcblxuICAgIHJldHVybiB7XG4gICAgICBsaW5lOiBzdGFydExpbmUsXG4gICAgICBjaDogdGhpcy5nZXRDb250ZW50U3RhcnRDaCgpICsgdGhpcy5vcHRpb25hbENoZWNrYm94Lmxlbmd0aCxcbiAgICB9O1xuICB9XG5cbiAgZ2V0TGFzdExpbmVDb250ZW50RW5kKCkge1xuICAgIGNvbnN0IGVuZExpbmUgPSB0aGlzLnJvb3QuZ2V0Q29udGVudExpbmVzUmFuZ2VPZih0aGlzKVsxXTtcbiAgICBjb25zdCBlbmRDaCA9XG4gICAgICB0aGlzLmxpbmVzLmxlbmd0aCA9PT0gMVxuICAgICAgICA/IHRoaXMuZ2V0Q29udGVudFN0YXJ0Q2goKSArIHRoaXMubGluZXNbMF0ubGVuZ3RoXG4gICAgICAgIDogdGhpcy5ub3Rlc0luZGVudC5sZW5ndGggKyB0aGlzLmxpbmVzW3RoaXMubGluZXMubGVuZ3RoIC0gMV0ubGVuZ3RoO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGxpbmU6IGVuZExpbmUsXG4gICAgICBjaDogZW5kQ2gsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29udGVudFN0YXJ0Q2goKSB7XG4gICAgcmV0dXJuIHRoaXMuaW5kZW50Lmxlbmd0aCArIHRoaXMuYnVsbGV0Lmxlbmd0aCArIDE7XG4gIH1cblxuICBpc0ZvbGRlZCgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5mb2xkUm9vdCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucGFyZW50KSB7XG4gICAgICByZXR1cm4gdGhpcy5wYXJlbnQuaXNGb2xkZWQoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpc0ZvbGRSb290KCkge1xuICAgIHJldHVybiB0aGlzLmZvbGRSb290O1xuICB9XG5cbiAgZ2V0VG9wRm9sZFJvb3QoKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby10aGlzLWFsaWFzXG4gICAgbGV0IHRtcDogTGlzdCA9IHRoaXM7XG4gICAgbGV0IGZvbGRSb290OiBMaXN0IHwgbnVsbCA9IG51bGw7XG4gICAgd2hpbGUgKHRtcCkge1xuICAgICAgaWYgKHRtcC5pc0ZvbGRSb290KCkpIHtcbiAgICAgICAgZm9sZFJvb3QgPSB0bXA7XG4gICAgICB9XG4gICAgICB0bXAgPSB0bXAucGFyZW50O1xuICAgIH1cbiAgICByZXR1cm4gZm9sZFJvb3Q7XG4gIH1cblxuICBnZXRMZXZlbCgpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy5wYXJlbnQpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnBhcmVudC5nZXRMZXZlbCgpICsgMTtcbiAgfVxuXG4gIHVuaW5kZW50Q29udGVudChmcm9tOiBudW1iZXIsIHRpbGw6IG51bWJlcikge1xuICAgIHRoaXMuaW5kZW50ID0gdGhpcy5pbmRlbnQuc2xpY2UoMCwgZnJvbSkgKyB0aGlzLmluZGVudC5zbGljZSh0aWxsKTtcbiAgICBpZiAodGhpcy5ub3Rlc0luZGVudCAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5ub3Rlc0luZGVudCA9XG4gICAgICAgIHRoaXMubm90ZXNJbmRlbnQuc2xpY2UoMCwgZnJvbSkgKyB0aGlzLm5vdGVzSW5kZW50LnNsaWNlKHRpbGwpO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgY2hpbGQgb2YgdGhpcy5jaGlsZHJlbikge1xuICAgICAgY2hpbGQudW5pbmRlbnRDb250ZW50KGZyb20sIHRpbGwpO1xuICAgIH1cbiAgfVxuXG4gIGluZGVudENvbnRlbnQoaW5kZW50UG9zOiBudW1iZXIsIGluZGVudENoYXJzOiBzdHJpbmcpIHtcbiAgICB0aGlzLmluZGVudCA9XG4gICAgICB0aGlzLmluZGVudC5zbGljZSgwLCBpbmRlbnRQb3MpICtcbiAgICAgIGluZGVudENoYXJzICtcbiAgICAgIHRoaXMuaW5kZW50LnNsaWNlKGluZGVudFBvcyk7XG4gICAgaWYgKHRoaXMubm90ZXNJbmRlbnQgIT09IG51bGwpIHtcbiAgICAgIHRoaXMubm90ZXNJbmRlbnQgPVxuICAgICAgICB0aGlzLm5vdGVzSW5kZW50LnNsaWNlKDAsIGluZGVudFBvcykgK1xuICAgICAgICBpbmRlbnRDaGFycyArXG4gICAgICAgIHRoaXMubm90ZXNJbmRlbnQuc2xpY2UoaW5kZW50UG9zKTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIHRoaXMuY2hpbGRyZW4pIHtcbiAgICAgIGNoaWxkLmluZGVudENvbnRlbnQoaW5kZW50UG9zLCBpbmRlbnRDaGFycyk7XG4gICAgfVxuICB9XG5cbiAgZ2V0Rmlyc3RMaW5lSW5kZW50KCkge1xuICAgIHJldHVybiB0aGlzLmluZGVudDtcbiAgfVxuXG4gIGdldEJ1bGxldCgpIHtcbiAgICByZXR1cm4gdGhpcy5idWxsZXQ7XG4gIH1cblxuICBnZXRTcGFjZUFmdGVyQnVsbGV0KCkge1xuICAgIHJldHVybiB0aGlzLnNwYWNlQWZ0ZXJCdWxsZXQ7XG4gIH1cblxuICBnZXRDaGVja2JveExlbmd0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25hbENoZWNrYm94Lmxlbmd0aDtcbiAgfVxuXG4gIHJlcGxhdGVCdWxsZXQoYnVsbGV0OiBzdHJpbmcpIHtcbiAgICB0aGlzLmJ1bGxldCA9IGJ1bGxldDtcbiAgfVxuXG4gIGdldFBhcmVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5wYXJlbnQ7XG4gIH1cblxuICBhZGRCZWZvcmVBbGwobGlzdDogTGlzdCkge1xuICAgIHRoaXMuY2hpbGRyZW4udW5zaGlmdChsaXN0KTtcbiAgICBsaXN0LnBhcmVudCA9IHRoaXM7XG4gIH1cblxuICBhZGRBZnRlckFsbChsaXN0OiBMaXN0KSB7XG4gICAgdGhpcy5jaGlsZHJlbi5wdXNoKGxpc3QpO1xuICAgIGxpc3QucGFyZW50ID0gdGhpcztcbiAgfVxuXG4gIHJlbW92ZUNoaWxkKGxpc3Q6IExpc3QpIHtcbiAgICBjb25zdCBpID0gdGhpcy5jaGlsZHJlbi5pbmRleE9mKGxpc3QpO1xuICAgIHRoaXMuY2hpbGRyZW4uc3BsaWNlKGksIDEpO1xuICAgIGxpc3QucGFyZW50ID0gbnVsbDtcbiAgfVxuXG4gIGFkZEJlZm9yZShiZWZvcmU6IExpc3QsIGxpc3Q6IExpc3QpIHtcbiAgICBjb25zdCBpID0gdGhpcy5jaGlsZHJlbi5pbmRleE9mKGJlZm9yZSk7XG4gICAgdGhpcy5jaGlsZHJlbi5zcGxpY2UoaSwgMCwgbGlzdCk7XG4gICAgbGlzdC5wYXJlbnQgPSB0aGlzO1xuICB9XG5cbiAgYWRkQWZ0ZXIoYmVmb3JlOiBMaXN0LCBsaXN0OiBMaXN0KSB7XG4gICAgY29uc3QgaSA9IHRoaXMuY2hpbGRyZW4uaW5kZXhPZihiZWZvcmUpO1xuICAgIHRoaXMuY2hpbGRyZW4uc3BsaWNlKGkgKyAxLCAwLCBsaXN0KTtcbiAgICBsaXN0LnBhcmVudCA9IHRoaXM7XG4gIH1cblxuICBnZXRQcmV2U2libGluZ09mKGxpc3Q6IExpc3QpIHtcbiAgICBjb25zdCBpID0gdGhpcy5jaGlsZHJlbi5pbmRleE9mKGxpc3QpO1xuICAgIHJldHVybiBpID4gMCA/IHRoaXMuY2hpbGRyZW5baSAtIDFdIDogbnVsbDtcbiAgfVxuXG4gIGdldE5leHRTaWJsaW5nT2YobGlzdDogTGlzdCkge1xuICAgIGNvbnN0IGkgPSB0aGlzLmNoaWxkcmVuLmluZGV4T2YobGlzdCk7XG4gICAgcmV0dXJuIGkgPj0gMCAmJiBpIDwgdGhpcy5jaGlsZHJlbi5sZW5ndGggPyB0aGlzLmNoaWxkcmVuW2kgKyAxXSA6IG51bGw7XG4gIH1cblxuICBpc0VtcHR5KCkge1xuICAgIHJldHVybiB0aGlzLmNoaWxkcmVuLmxlbmd0aCA9PT0gMDtcbiAgfVxuXG4gIHByaW50KCkge1xuICAgIGxldCByZXMgPSBcIlwiO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmxpbmVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICByZXMgKz1cbiAgICAgICAgaSA9PT0gMFxuICAgICAgICAgID8gdGhpcy5pbmRlbnQgKyB0aGlzLmJ1bGxldCArIHRoaXMuc3BhY2VBZnRlckJ1bGxldFxuICAgICAgICAgIDogdGhpcy5ub3Rlc0luZGVudDtcbiAgICAgIHJlcyArPSB0aGlzLmxpbmVzW2ldO1xuICAgICAgcmVzICs9IFwiXFxuXCI7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBjaGlsZCBvZiB0aGlzLmNoaWxkcmVuKSB7XG4gICAgICByZXMgKz0gY2hpbGQucHJpbnQoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBSb290IHtcbiAgcHJpdmF0ZSByb290TGlzdCA9IG5ldyBMaXN0KHRoaXMsIFwiXCIsIFwiXCIsIFwiXCIsIFwiXCIsIFwiXCIsIGZhbHNlKTtcbiAgcHJpdmF0ZSBzZWxlY3Rpb25zOiBSYW5nZVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzdGFydDogUG9zaXRpb24sXG4gICAgcHJpdmF0ZSBlbmQ6IFBvc2l0aW9uLFxuICAgIHNlbGVjdGlvbnM6IFJhbmdlW11cbiAgKSB7XG4gICAgdGhpcy5yZXBsYWNlU2VsZWN0aW9ucyhzZWxlY3Rpb25zKTtcbiAgfVxuXG4gIGdldFJvb3RMaXN0KCkge1xuICAgIHJldHVybiB0aGlzLnJvb3RMaXN0O1xuICB9XG5cbiAgZ2V0UmFuZ2UoKTogW1Bvc2l0aW9uLCBQb3NpdGlvbl0ge1xuICAgIHJldHVybiBbeyAuLi50aGlzLnN0YXJ0IH0sIHsgLi4udGhpcy5lbmQgfV07XG4gIH1cblxuICBnZXRTZWxlY3Rpb25zKCk6IFJhbmdlW10ge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGlvbnMubWFwKChzKSA9PiAoe1xuICAgICAgYW5jaG9yOiB7IC4uLnMuYW5jaG9yIH0sXG4gICAgICBoZWFkOiB7IC4uLnMuaGVhZCB9LFxuICAgIH0pKTtcbiAgfVxuXG4gIGhhc1NpbmdsZUN1cnNvcigpIHtcbiAgICBpZiAoIXRoaXMuaGFzU2luZ2xlU2VsZWN0aW9uKCkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCBzZWxlY3Rpb24gPSB0aGlzLnNlbGVjdGlvbnNbMF07XG5cbiAgICByZXR1cm4gKFxuICAgICAgc2VsZWN0aW9uLmFuY2hvci5saW5lID09PSBzZWxlY3Rpb24uaGVhZC5saW5lICYmXG4gICAgICBzZWxlY3Rpb24uYW5jaG9yLmNoID09PSBzZWxlY3Rpb24uaGVhZC5jaFxuICAgICk7XG4gIH1cblxuICBoYXNTaW5nbGVTZWxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0aW9ucy5sZW5ndGggPT09IDE7XG4gIH1cblxuICBnZXRTZWxlY3Rpb24oKSB7XG4gICAgY29uc3Qgc2VsZWN0aW9uID0gdGhpcy5zZWxlY3Rpb25zW3RoaXMuc2VsZWN0aW9ucy5sZW5ndGggLSAxXTtcblxuICAgIGNvbnN0IGZyb20gPVxuICAgICAgc2VsZWN0aW9uLmFuY2hvci5jaCA+IHNlbGVjdGlvbi5oZWFkLmNoXG4gICAgICAgID8gc2VsZWN0aW9uLmhlYWQuY2hcbiAgICAgICAgOiBzZWxlY3Rpb24uYW5jaG9yLmNoO1xuICAgIGNvbnN0IHRvID1cbiAgICAgIHNlbGVjdGlvbi5hbmNob3IuY2ggPiBzZWxlY3Rpb24uaGVhZC5jaFxuICAgICAgICA/IHNlbGVjdGlvbi5hbmNob3IuY2hcbiAgICAgICAgOiBzZWxlY3Rpb24uaGVhZC5jaDtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5zZWxlY3Rpb24sXG4gICAgICBmcm9tLFxuICAgICAgdG8sXG4gICAgfTtcbiAgfVxuXG4gIGdldEN1cnNvcigpIHtcbiAgICByZXR1cm4geyAuLi50aGlzLnNlbGVjdGlvbnNbdGhpcy5zZWxlY3Rpb25zLmxlbmd0aCAtIDFdLmhlYWQgfTtcbiAgfVxuXG4gIHJlcGxhY2VDdXJzb3IoY3Vyc29yOiBQb3NpdGlvbikge1xuICAgIHRoaXMuc2VsZWN0aW9ucyA9IFt7IGFuY2hvcjogY3Vyc29yLCBoZWFkOiBjdXJzb3IgfV07XG4gIH1cblxuICByZXBsYWNlU2VsZWN0aW9ucyhzZWxlY3Rpb25zOiBSYW5nZVtdKSB7XG4gICAgaWYgKHNlbGVjdGlvbnMubGVuZ3RoIDwgMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmFibGUgdG8gY3JlYXRlIFJvb3Qgd2l0aG91dCBzZWxlY3Rpb25zYCk7XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0aW9ucyA9IHNlbGVjdGlvbnM7XG4gIH1cblxuICBnZXRMaXN0VW5kZXJDdXJzb3IoKTogTGlzdCB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TGlzdFVuZGVyTGluZSh0aGlzLmdldEN1cnNvcigpLmxpbmUpO1xuICB9XG5cbiAgZ2V0TGlzdFVuZGVyTGluZShsaW5lOiBudW1iZXIpIHtcbiAgICBpZiAobGluZSA8IHRoaXMuc3RhcnQubGluZSB8fCBsaW5lID4gdGhpcy5lbmQubGluZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxldCByZXN1bHQ6IExpc3QgPSBudWxsO1xuICAgIGxldCBpbmRleDogbnVtYmVyID0gdGhpcy5zdGFydC5saW5lO1xuXG4gICAgY29uc3QgdmlzaXRBcnIgPSAobGw6IExpc3RbXSkgPT4ge1xuICAgICAgZm9yIChjb25zdCBsIG9mIGxsKSB7XG4gICAgICAgIGNvbnN0IGxpc3RGcm9tTGluZSA9IGluZGV4O1xuICAgICAgICBjb25zdCBsaXN0VGlsbExpbmUgPSBsaXN0RnJvbUxpbmUgKyBsLmdldExpbmVDb3VudCgpIC0gMTtcblxuICAgICAgICBpZiAobGluZSA+PSBsaXN0RnJvbUxpbmUgJiYgbGluZSA8PSBsaXN0VGlsbExpbmUpIHtcbiAgICAgICAgICByZXN1bHQgPSBsO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGluZGV4ID0gbGlzdFRpbGxMaW5lICsgMTtcbiAgICAgICAgICB2aXNpdEFycihsLmdldENoaWxkcmVuKCkpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChyZXN1bHQgIT09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuXG4gICAgdmlzaXRBcnIodGhpcy5yb290TGlzdC5nZXRDaGlsZHJlbigpKTtcblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBnZXRDb250ZW50TGluZXNSYW5nZU9mKGxpc3Q6IExpc3QpOiBbbnVtYmVyLCBudW1iZXJdIHwgbnVsbCB7XG4gICAgbGV0IHJlc3VsdDogW251bWJlciwgbnVtYmVyXSB8IG51bGwgPSBudWxsO1xuICAgIGxldCBsaW5lOiBudW1iZXIgPSB0aGlzLnN0YXJ0LmxpbmU7XG5cbiAgICBjb25zdCB2aXNpdEFyciA9IChsbDogTGlzdFtdKSA9PiB7XG4gICAgICBmb3IgKGNvbnN0IGwgb2YgbGwpIHtcbiAgICAgICAgY29uc3QgbGlzdEZyb21MaW5lID0gbGluZTtcbiAgICAgICAgY29uc3QgbGlzdFRpbGxMaW5lID0gbGlzdEZyb21MaW5lICsgbC5nZXRMaW5lQ291bnQoKSAtIDE7XG5cbiAgICAgICAgaWYgKGwgPT09IGxpc3QpIHtcbiAgICAgICAgICByZXN1bHQgPSBbbGlzdEZyb21MaW5lLCBsaXN0VGlsbExpbmVdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGxpbmUgPSBsaXN0VGlsbExpbmUgKyAxO1xuICAgICAgICAgIHZpc2l0QXJyKGwuZ2V0Q2hpbGRyZW4oKSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocmVzdWx0ICE9PSBudWxsKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcblxuICAgIHZpc2l0QXJyKHRoaXMucm9vdExpc3QuZ2V0Q2hpbGRyZW4oKSk7XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgZ2V0Q2hpbGRyZW4oKSB7XG4gICAgcmV0dXJuIHRoaXMucm9vdExpc3QuZ2V0Q2hpbGRyZW4oKTtcbiAgfVxuXG4gIHByaW50KCkge1xuICAgIGxldCByZXMgPSBcIlwiO1xuXG4gICAgZm9yIChjb25zdCBjaGlsZCBvZiB0aGlzLnJvb3RMaXN0LmdldENoaWxkcmVuKCkpIHtcbiAgICAgIHJlcyArPSBjaGlsZC5wcmludCgpO1xuICAgIH1cblxuICAgIHJldHVybiByZXMucmVwbGFjZSgvXFxuJC8sIFwiXCIpO1xuICB9XG59XG4iLCJleHBvcnQgY29uc3QgY2hlY2tib3hSZSA9IGBcXFxcW1teXFxcXFtcXFxcXV1cXFxcXVsgXFx0XWA7XG4iLCJpbXBvcnQgeyBPcGVyYXRpb24gfSBmcm9tIFwiLi9PcGVyYXRpb25cIjtcblxuaW1wb3J0IHsgTGlzdCwgUG9zaXRpb24sIFJvb3QgfSBmcm9tIFwiLi4vcm9vdFwiO1xuaW1wb3J0IHsgcmVjYWxjdWxhdGVOdW1lcmljQnVsbGV0cyB9IGZyb20gXCIuLi9yb290L3JlY2FsY3VsYXRlTnVtZXJpY0J1bGxldHNcIjtcbmltcG9ydCB7IGNoZWNrYm94UmUgfSBmcm9tIFwiLi4vdXRpbHMvY2hlY2tib3hSZVwiO1xuaW1wb3J0IHsgaXNFbXB0eUxpbmVPckVtcHR5Q2hlY2tib3ggfSBmcm9tIFwiLi4vdXRpbHMvaXNFbXB0eUxpbmVPckVtcHR5Q2hlY2tib3hcIjtcblxuZXhwb3J0IGludGVyZmFjZSBHZXRab29tUmFuZ2Uge1xuICBnZXRab29tUmFuZ2UoKTogeyBmcm9tOiBQb3NpdGlvbjsgdG86IFBvc2l0aW9uIH0gfCBudWxsO1xufVxuXG5leHBvcnQgY2xhc3MgQ3JlYXRlTmV3SXRlbU9wZXJhdGlvbiBpbXBsZW1lbnRzIE9wZXJhdGlvbiB7XG4gIHByaXZhdGUgc3RvcFByb3BhZ2F0aW9uID0gZmFsc2U7XG4gIHByaXZhdGUgdXBkYXRlZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcm9vdDogUm9vdCxcbiAgICBwcml2YXRlIGRlZmF1bHRJbmRlbnRDaGFyczogc3RyaW5nLFxuICAgIHByaXZhdGUgZ2V0Wm9vbVJhbmdlOiBHZXRab29tUmFuZ2VcbiAgKSB7fVxuXG4gIHNob3VsZFN0b3BQcm9wYWdhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9wUHJvcGFnYXRpb247XG4gIH1cblxuICBzaG91bGRVcGRhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudXBkYXRlZDtcbiAgfVxuXG4gIHBlcmZvcm0oKSB7XG4gICAgY29uc3QgeyByb290IH0gPSB0aGlzO1xuXG4gICAgaWYgKCFyb290Lmhhc1NpbmdsZVNlbGVjdGlvbigpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc2VsZWN0aW9uID0gcm9vdC5nZXRTZWxlY3Rpb24oKTtcbiAgICBpZiAoIXNlbGVjdGlvbiB8fCBzZWxlY3Rpb24uYW5jaG9yLmxpbmUgIT09IHNlbGVjdGlvbi5oZWFkLmxpbmUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBsaXN0ID0gcm9vdC5nZXRMaXN0VW5kZXJDdXJzb3IoKTtcbiAgICBjb25zdCBsaW5lcyA9IGxpc3QuZ2V0TGluZXNJbmZvKCk7XG5cbiAgICBpZiAobGluZXMubGVuZ3RoID09PSAxICYmIGlzRW1wdHlMaW5lT3JFbXB0eUNoZWNrYm94KGxpbmVzWzBdLnRleHQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY3Vyc29yID0gcm9vdC5nZXRDdXJzb3IoKTtcbiAgICBjb25zdCBsaW5lVW5kZXJDdXJzb3IgPSBsaW5lcy5maW5kKChsKSA9PiBsLmZyb20ubGluZSA9PT0gY3Vyc29yLmxpbmUpO1xuXG4gICAgaWYgKGN1cnNvci5jaCA8IGxpbmVVbmRlckN1cnNvci5mcm9tLmNoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgeyBvbGRMaW5lcywgbmV3TGluZXMgfSA9IGxpbmVzLnJlZHVjZShcbiAgICAgIChhY2MsIGxpbmUpID0+IHtcbiAgICAgICAgaWYgKGN1cnNvci5saW5lID4gbGluZS5mcm9tLmxpbmUpIHtcbiAgICAgICAgICBhY2Mub2xkTGluZXMucHVzaChsaW5lLnRleHQpO1xuICAgICAgICB9IGVsc2UgaWYgKGN1cnNvci5saW5lID09PSBsaW5lLmZyb20ubGluZSkge1xuICAgICAgICAgIGNvbnN0IGxlZnQgPSBsaW5lLnRleHQuc2xpY2UoMCwgc2VsZWN0aW9uLmZyb20gLSBsaW5lLmZyb20uY2gpO1xuICAgICAgICAgIGNvbnN0IHJpZ2h0ID0gbGluZS50ZXh0LnNsaWNlKHNlbGVjdGlvbi50byAtIGxpbmUuZnJvbS5jaCk7XG4gICAgICAgICAgYWNjLm9sZExpbmVzLnB1c2gobGVmdCk7XG4gICAgICAgICAgYWNjLm5ld0xpbmVzLnB1c2gocmlnaHQpO1xuICAgICAgICB9IGVsc2UgaWYgKGN1cnNvci5saW5lIDwgbGluZS5mcm9tLmxpbmUpIHtcbiAgICAgICAgICBhY2MubmV3TGluZXMucHVzaChsaW5lLnRleHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG9sZExpbmVzOiBbXSxcbiAgICAgICAgbmV3TGluZXM6IFtdLFxuICAgICAgfVxuICAgICk7XG5cbiAgICBjb25zdCBjb2RlQmxvY2tCYWN0aWNrcyA9IG9sZExpbmVzLmpvaW4oXCJcXG5cIikuc3BsaXQoXCJgYGBcIikubGVuZ3RoIC0gMTtcbiAgICBjb25zdCBpc0luc2lkZUNvZGVibG9jayA9XG4gICAgICBjb2RlQmxvY2tCYWN0aWNrcyA+IDAgJiYgY29kZUJsb2NrQmFjdGlja3MgJSAyICE9PSAwO1xuXG4gICAgaWYgKGlzSW5zaWRlQ29kZWJsb2NrKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zdG9wUHJvcGFnYXRpb24gPSB0cnVlO1xuICAgIHRoaXMudXBkYXRlZCA9IHRydWU7XG5cbiAgICBjb25zdCB6b29tUmFuZ2UgPSB0aGlzLmdldFpvb21SYW5nZS5nZXRab29tUmFuZ2UoKTtcbiAgICBjb25zdCBsaXN0SXNab29taW5nUm9vdCA9IEJvb2xlYW4oXG4gICAgICB6b29tUmFuZ2UgJiZcbiAgICAgICAgbGlzdC5nZXRGaXJzdExpbmVDb250ZW50U3RhcnQoKS5saW5lID49IHpvb21SYW5nZS5mcm9tLmxpbmUgJiZcbiAgICAgICAgbGlzdC5nZXRMYXN0TGluZUNvbnRlbnRFbmQoKS5saW5lIDw9IHpvb21SYW5nZS5mcm9tLmxpbmVcbiAgICApO1xuXG4gICAgY29uc3QgaGFzQ2hpbGRyZW4gPSAhbGlzdC5pc0VtcHR5KCk7XG4gICAgY29uc3QgY2hpbGRJc0ZvbGRlZCA9IGxpc3QuaXNGb2xkUm9vdCgpO1xuICAgIGNvbnN0IGVuZFBvcyA9IGxpc3QuZ2V0TGFzdExpbmVDb250ZW50RW5kKCk7XG4gICAgY29uc3QgZW5kT2ZMaW5lID0gY3Vyc29yLmxpbmUgPT09IGVuZFBvcy5saW5lICYmIGN1cnNvci5jaCA9PT0gZW5kUG9zLmNoO1xuXG4gICAgY29uc3Qgb25DaGlsZExldmVsID1cbiAgICAgIGxpc3RJc1pvb21pbmdSb290IHx8IChoYXNDaGlsZHJlbiAmJiAhY2hpbGRJc0ZvbGRlZCAmJiBlbmRPZkxpbmUpO1xuXG4gICAgY29uc3QgaW5kZW50ID0gb25DaGlsZExldmVsXG4gICAgICA/IGhhc0NoaWxkcmVuXG4gICAgICAgID8gbGlzdC5nZXRDaGlsZHJlbigpWzBdLmdldEZpcnN0TGluZUluZGVudCgpXG4gICAgICAgIDogbGlzdC5nZXRGaXJzdExpbmVJbmRlbnQoKSArIHRoaXMuZGVmYXVsdEluZGVudENoYXJzXG4gICAgICA6IGxpc3QuZ2V0Rmlyc3RMaW5lSW5kZW50KCk7XG5cbiAgICBjb25zdCBidWxsZXQgPVxuICAgICAgb25DaGlsZExldmVsICYmIGhhc0NoaWxkcmVuXG4gICAgICAgID8gbGlzdC5nZXRDaGlsZHJlbigpWzBdLmdldEJ1bGxldCgpXG4gICAgICAgIDogbGlzdC5nZXRCdWxsZXQoKTtcblxuICAgIGNvbnN0IHNwYWNlQWZ0ZXJCdWxsZXQgPVxuICAgICAgb25DaGlsZExldmVsICYmIGhhc0NoaWxkcmVuXG4gICAgICAgID8gbGlzdC5nZXRDaGlsZHJlbigpWzBdLmdldFNwYWNlQWZ0ZXJCdWxsZXQoKVxuICAgICAgICA6IGxpc3QuZ2V0U3BhY2VBZnRlckJ1bGxldCgpO1xuXG4gICAgY29uc3QgcHJlZml4ID0gb2xkTGluZXNbMF0ubWF0Y2goY2hlY2tib3hSZSkgPyBcIlsgXSBcIiA6IFwiXCI7XG5cbiAgICBjb25zdCBuZXdMaXN0ID0gbmV3IExpc3QoXG4gICAgICBsaXN0LmdldFJvb3QoKSxcbiAgICAgIGluZGVudCxcbiAgICAgIGJ1bGxldCxcbiAgICAgIHByZWZpeCxcbiAgICAgIHNwYWNlQWZ0ZXJCdWxsZXQsXG4gICAgICBwcmVmaXggKyBuZXdMaW5lcy5zaGlmdCgpLFxuICAgICAgZmFsc2VcbiAgICApO1xuXG4gICAgaWYgKG5ld0xpbmVzLmxlbmd0aCA+IDApIHtcbiAgICAgIG5ld0xpc3Quc2V0Tm90ZXNJbmRlbnQobGlzdC5nZXROb3Rlc0luZGVudCgpKTtcbiAgICAgIGZvciAoY29uc3QgbGluZSBvZiBuZXdMaW5lcykge1xuICAgICAgICBuZXdMaXN0LmFkZExpbmUobGluZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKG9uQ2hpbGRMZXZlbCkge1xuICAgICAgbGlzdC5hZGRCZWZvcmVBbGwobmV3TGlzdCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICghY2hpbGRJc0ZvbGRlZCB8fCAhZW5kT2ZMaW5lKSB7XG4gICAgICAgIGNvbnN0IGNoaWxkcmVuID0gbGlzdC5nZXRDaGlsZHJlbigpO1xuICAgICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIGNoaWxkcmVuKSB7XG4gICAgICAgICAgbGlzdC5yZW1vdmVDaGlsZChjaGlsZCk7XG4gICAgICAgICAgbmV3TGlzdC5hZGRBZnRlckFsbChjaGlsZCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgbGlzdC5nZXRQYXJlbnQoKS5hZGRBZnRlcihsaXN0LCBuZXdMaXN0KTtcbiAgICB9XG5cbiAgICBsaXN0LnJlcGxhY2VMaW5lcyhvbGRMaW5lcyk7XG5cbiAgICBjb25zdCBuZXdMaXN0U3RhcnQgPSBuZXdMaXN0LmdldEZpcnN0TGluZUNvbnRlbnRTdGFydCgpO1xuICAgIHJvb3QucmVwbGFjZUN1cnNvcih7XG4gICAgICBsaW5lOiBuZXdMaXN0U3RhcnQubGluZSxcbiAgICAgIGNoOiBuZXdMaXN0U3RhcnQuY2ggKyBwcmVmaXgubGVuZ3RoLFxuICAgIH0pO1xuXG4gICAgcmVjYWxjdWxhdGVOdW1lcmljQnVsbGV0cyhyb290KTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgUGx1Z2luXzIgfSBmcm9tIFwib2JzaWRpYW5cIjtcblxuaW1wb3J0IHsgUHJlYyB9IGZyb20gXCJAY29kZW1pcnJvci9zdGF0ZVwiO1xuaW1wb3J0IHsga2V5bWFwIH0gZnJvbSBcIkBjb2RlbWlycm9yL3ZpZXdcIjtcblxuaW1wb3J0IHsgTXlFZGl0b3IgfSBmcm9tIFwiLi4vTXlFZGl0b3JcIjtcbmltcG9ydCB7IEZlYXR1cmUgfSBmcm9tIFwiLi4vZmVhdHVyZXMvRmVhdHVyZVwiO1xuaW1wb3J0IHsgQ3JlYXRlTmV3SXRlbU9wZXJhdGlvbiB9IGZyb20gXCIuLi9vcGVyYXRpb25zL0NyZWF0ZU5ld0l0ZW1PcGVyYXRpb25cIjtcbmltcG9ydCB7IElNRVNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvSU1FU2VydmljZVwiO1xuaW1wb3J0IHsgT2JzaWRpYW5TZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL09ic2lkaWFuU2VydmljZVwiO1xuaW1wb3J0IHsgUGVyZm9ybU9wZXJhdGlvblNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvUGVyZm9ybU9wZXJhdGlvblNlcnZpY2VcIjtcbmltcG9ydCB7IFNldHRpbmdzU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9TZXR0aW5nc1NlcnZpY2VcIjtcblxuZXhwb3J0IGNsYXNzIEVudGVyU2hvdWxkQ3JlYXRlTmV3SXRlbUZlYXR1cmUgaW1wbGVtZW50cyBGZWF0dXJlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBwbHVnaW46IFBsdWdpbl8yLFxuICAgIHByaXZhdGUgc2V0dGluZ3M6IFNldHRpbmdzU2VydmljZSxcbiAgICBwcml2YXRlIGltZTogSU1FU2VydmljZSxcbiAgICBwcml2YXRlIG9ic2lkaWFuOiBPYnNpZGlhblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwZXJmb3JtT3BlcmF0aW9uOiBQZXJmb3JtT3BlcmF0aW9uU2VydmljZVxuICApIHt9XG5cbiAgYXN5bmMgbG9hZCgpIHtcbiAgICB0aGlzLnBsdWdpbi5yZWdpc3RlckVkaXRvckV4dGVuc2lvbihcbiAgICAgIFByZWMuaGlnaGVzdChcbiAgICAgICAga2V5bWFwLm9mKFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IFwiRW50ZXJcIixcbiAgICAgICAgICAgIHJ1bjogdGhpcy5vYnNpZGlhbi5jcmVhdGVLZXltYXBSdW5DYWxsYmFjayh7XG4gICAgICAgICAgICAgIGNoZWNrOiB0aGlzLmNoZWNrLFxuICAgICAgICAgICAgICBydW46IHRoaXMucnVuLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfSxcbiAgICAgICAgXSlcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgYXN5bmMgdW5sb2FkKCkge31cblxuICBwcml2YXRlIGNoZWNrID0gKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLnNldHRpbmdzLmJldHRlckVudGVyICYmICF0aGlzLmltZS5pc0lNRU9wZW5lZCgpO1xuICB9O1xuXG4gIHByaXZhdGUgcnVuID0gKGVkaXRvcjogTXlFZGl0b3IpID0+IHtcbiAgICBjb25zdCB6b29tUmFuZ2UgPSBlZGl0b3IuZ2V0Wm9vbVJhbmdlKCk7XG5cbiAgICBjb25zdCByZXMgPSB0aGlzLnBlcmZvcm1PcGVyYXRpb24ucGVyZm9ybU9wZXJhdGlvbihcbiAgICAgIChyb290KSA9PlxuICAgICAgICBuZXcgQ3JlYXRlTmV3SXRlbU9wZXJhdGlvbihcbiAgICAgICAgICByb290LFxuICAgICAgICAgIHRoaXMub2JzaWRpYW4uZ2V0RGVmYXVsdEluZGVudENoYXJzKCksXG4gICAgICAgICAge1xuICAgICAgICAgICAgZ2V0Wm9vbVJhbmdlOiAoKSA9PiB6b29tUmFuZ2UsXG4gICAgICAgICAgfVxuICAgICAgICApLFxuICAgICAgZWRpdG9yXG4gICAgKTtcblxuICAgIGlmIChyZXMuc2hvdWxkVXBkYXRlICYmIHpvb21SYW5nZSkge1xuICAgICAgZWRpdG9yLnpvb21Jbih6b29tUmFuZ2UuZnJvbS5saW5lKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzO1xuICB9O1xufVxuIiwiaW1wb3J0IHsgTm90aWNlLCBQbHVnaW5fMiB9IGZyb20gXCJvYnNpZGlhblwiO1xuXG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSBcIi4vRmVhdHVyZVwiO1xuXG5pbXBvcnQgeyBNeUVkaXRvciB9IGZyb20gXCIuLi9NeUVkaXRvclwiO1xuaW1wb3J0IHsgT2JzaWRpYW5TZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL09ic2lkaWFuU2VydmljZVwiO1xuXG5leHBvcnQgY2xhc3MgRm9sZEZlYXR1cmUgaW1wbGVtZW50cyBGZWF0dXJlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwbHVnaW46IFBsdWdpbl8yLCBwcml2YXRlIG9ic2lkaWFuOiBPYnNpZGlhblNlcnZpY2UpIHt9XG5cbiAgYXN5bmMgbG9hZCgpIHtcbiAgICB0aGlzLnBsdWdpbi5hZGRDb21tYW5kKHtcbiAgICAgIGlkOiBcImZvbGRcIixcbiAgICAgIGljb246IFwiY2hldnJvbnMtZG93bi11cFwiLFxuICAgICAgbmFtZTogXCJGb2xkIHRoZSBsaXN0XCIsXG4gICAgICBlZGl0b3JDYWxsYmFjazogdGhpcy5vYnNpZGlhbi5jcmVhdGVFZGl0b3JDYWxsYmFjayh0aGlzLmZvbGQpLFxuICAgICAgaG90a2V5czogW1xuICAgICAgICB7XG4gICAgICAgICAgbW9kaWZpZXJzOiBbXCJNb2RcIl0sXG4gICAgICAgICAga2V5OiBcIkFycm93VXBcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICB0aGlzLnBsdWdpbi5hZGRDb21tYW5kKHtcbiAgICAgIGlkOiBcInVuZm9sZFwiLFxuICAgICAgaWNvbjogXCJjaGV2cm9ucy11cC1kb3duXCIsXG4gICAgICBuYW1lOiBcIlVuZm9sZCB0aGUgbGlzdFwiLFxuICAgICAgZWRpdG9yQ2FsbGJhY2s6IHRoaXMub2JzaWRpYW4uY3JlYXRlRWRpdG9yQ2FsbGJhY2sodGhpcy51bmZvbGQpLFxuICAgICAgaG90a2V5czogW1xuICAgICAgICB7XG4gICAgICAgICAgbW9kaWZpZXJzOiBbXCJNb2RcIl0sXG4gICAgICAgICAga2V5OiBcIkFycm93RG93blwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIHVubG9hZCgpIHt9XG5cbiAgcHJpdmF0ZSBzZXRGb2xkKGVkaXRvcjogTXlFZGl0b3IsIHR5cGU6IFwiZm9sZFwiIHwgXCJ1bmZvbGRcIikge1xuICAgIGlmICghdGhpcy5vYnNpZGlhbi5nZXRPYnNpZGlhbkZvbGRTZXR0aW5ncygpLmZvbGRJbmRlbnQpIHtcbiAgICAgIG5ldyBOb3RpY2UoXG4gICAgICAgIGBVbmFibGUgdG8gJHt0eXBlfSBiZWNhdXNlIGZvbGRpbmcgaXMgZGlzYWJsZWQuIFBsZWFzZSBlbmFibGUgXCJGb2xkIGluZGVudFwiIGluIE9ic2lkaWFuIHNldHRpbmdzLmAsXG4gICAgICAgIDUwMDBcbiAgICAgICk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBjb25zdCBjdXJzb3IgPSBlZGl0b3IuZ2V0Q3Vyc29yKCk7XG5cbiAgICBpZiAodHlwZSA9PT0gXCJmb2xkXCIpIHtcbiAgICAgIGVkaXRvci5mb2xkKGN1cnNvci5saW5lKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZWRpdG9yLnVuZm9sZChjdXJzb3IubGluZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwcml2YXRlIGZvbGQgPSAoZWRpdG9yOiBNeUVkaXRvcikgPT4ge1xuICAgIHJldHVybiB0aGlzLnNldEZvbGQoZWRpdG9yLCBcImZvbGRcIik7XG4gIH07XG5cbiAgcHJpdmF0ZSB1bmZvbGQgPSAoZWRpdG9yOiBNeUVkaXRvcikgPT4ge1xuICAgIHJldHVybiB0aGlzLnNldEZvbGQoZWRpdG9yLCBcInVuZm9sZFwiKTtcbiAgfTtcbn1cbiIsIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFycyAqL1xuaW1wb3J0IHsgRWRpdG9yIH0gZnJvbSBcIm9ic2lkaWFuXCI7XG5cbmltcG9ydCB7XG4gIGZvbGRFZmZlY3QsXG4gIGZvbGRhYmxlLFxuICBmb2xkZWRSYW5nZXMsXG4gIHVuZm9sZEVmZmVjdCxcbn0gZnJvbSBcIkBjb2RlbWlycm9yL2xhbmd1YWdlXCI7XG5pbXBvcnQgeyBFZGl0b3JWaWV3LCBydW5TY29wZUhhbmRsZXJzIH0gZnJvbSBcIkBjb2RlbWlycm9yL3ZpZXdcIjtcblxuZXhwb3J0IGNsYXNzIE15RWRpdG9yUG9zaXRpb24ge1xuICBsaW5lOiBudW1iZXI7XG4gIGNoOiBudW1iZXI7XG59XG5cbmV4cG9ydCBjbGFzcyBNeUVkaXRvclJhbmdlIHtcbiAgZnJvbTogTXlFZGl0b3JQb3NpdGlvbjtcbiAgdG86IE15RWRpdG9yUG9zaXRpb247XG59XG5cbmV4cG9ydCBjbGFzcyBNeUVkaXRvclNlbGVjdGlvbiB7XG4gIGFuY2hvcjogTXlFZGl0b3JQb3NpdGlvbjtcbiAgaGVhZDogTXlFZGl0b3JQb3NpdGlvbjtcbn1cblxuZnVuY3Rpb24gZm9sZEluc2lkZSh2aWV3OiBFZGl0b3JWaWV3LCBmcm9tOiBudW1iZXIsIHRvOiBudW1iZXIpIHtcbiAgbGV0IGZvdW5kOiB7IGZyb206IG51bWJlcjsgdG86IG51bWJlciB9IHwgbnVsbCA9IG51bGw7XG4gIGZvbGRlZFJhbmdlcyh2aWV3LnN0YXRlKS5iZXR3ZWVuKGZyb20sIHRvLCAoZnJvbSwgdG8pID0+IHtcbiAgICBpZiAoIWZvdW5kIHx8IGZvdW5kLmZyb20gPiBmcm9tKSBmb3VuZCA9IHsgZnJvbSwgdG8gfTtcbiAgfSk7XG4gIHJldHVybiBmb3VuZDtcbn1cblxuZXhwb3J0IGNsYXNzIE15RWRpdG9yIHtcbiAgcHJpdmF0ZSB2aWV3OiBFZGl0b3JWaWV3O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZTogRWRpdG9yKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICB0aGlzLnZpZXcgPSAodGhpcy5lIGFzIGFueSkuY207XG4gIH1cblxuICBnZXRDdXJzb3IoKTogTXlFZGl0b3JQb3NpdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuZS5nZXRDdXJzb3IoKTtcbiAgfVxuXG4gIGdldExpbmUobjogbnVtYmVyKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5lLmdldExpbmUobik7XG4gIH1cblxuICBsYXN0TGluZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmUubGFzdExpbmUoKTtcbiAgfVxuXG4gIGxpc3RTZWxlY3Rpb25zKCk6IE15RWRpdG9yU2VsZWN0aW9uW10ge1xuICAgIHJldHVybiB0aGlzLmUubGlzdFNlbGVjdGlvbnMoKTtcbiAgfVxuXG4gIGdldFJhbmdlKGZyb206IE15RWRpdG9yUG9zaXRpb24sIHRvOiBNeUVkaXRvclBvc2l0aW9uKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5lLmdldFJhbmdlKGZyb20sIHRvKTtcbiAgfVxuXG4gIHJlcGxhY2VSYW5nZShcbiAgICByZXBsYWNlbWVudDogc3RyaW5nLFxuICAgIGZyb206IE15RWRpdG9yUG9zaXRpb24sXG4gICAgdG86IE15RWRpdG9yUG9zaXRpb25cbiAgKTogdm9pZCB7XG4gICAgcmV0dXJuIHRoaXMuZS5yZXBsYWNlUmFuZ2UocmVwbGFjZW1lbnQsIGZyb20sIHRvKTtcbiAgfVxuXG4gIHNldFNlbGVjdGlvbnMoc2VsZWN0aW9uczogTXlFZGl0b3JTZWxlY3Rpb25bXSk6IHZvaWQge1xuICAgIHRoaXMuZS5zZXRTZWxlY3Rpb25zKHNlbGVjdGlvbnMpO1xuICB9XG5cbiAgc2V0VmFsdWUodGV4dDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5lLnNldFZhbHVlKHRleHQpO1xuICB9XG5cbiAgZ2V0VmFsdWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5lLmdldFZhbHVlKCk7XG4gIH1cblxuICBvZmZzZXRUb1BvcyhvZmZzZXQ6IG51bWJlcik6IE15RWRpdG9yUG9zaXRpb24ge1xuICAgIHJldHVybiB0aGlzLmUub2Zmc2V0VG9Qb3Mob2Zmc2V0KTtcbiAgfVxuXG4gIHBvc1RvT2Zmc2V0KHBvczogTXlFZGl0b3JQb3NpdGlvbik6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZS5wb3NUb09mZnNldChwb3MpO1xuICB9XG5cbiAgZm9sZChuOiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCB7IHZpZXcgfSA9IHRoaXM7XG4gICAgY29uc3QgbCA9IHZpZXcubGluZUJsb2NrQXQodmlldy5zdGF0ZS5kb2MubGluZShuICsgMSkuZnJvbSk7XG4gICAgY29uc3QgcmFuZ2UgPSBmb2xkYWJsZSh2aWV3LnN0YXRlLCBsLmZyb20sIGwudG8pO1xuXG4gICAgaWYgKCFyYW5nZSB8fCByYW5nZS5mcm9tID09PSByYW5nZS50bykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZpZXcuZGlzcGF0Y2goeyBlZmZlY3RzOiBbZm9sZEVmZmVjdC5vZihyYW5nZSldIH0pO1xuICB9XG5cbiAgdW5mb2xkKG46IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IHsgdmlldyB9ID0gdGhpcztcbiAgICBjb25zdCBsID0gdmlldy5saW5lQmxvY2tBdCh2aWV3LnN0YXRlLmRvYy5saW5lKG4gKyAxKS5mcm9tKTtcbiAgICBjb25zdCByYW5nZSA9IGZvbGRJbnNpZGUodmlldywgbC5mcm9tLCBsLnRvKTtcblxuICAgIGlmICghcmFuZ2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2aWV3LmRpc3BhdGNoKHsgZWZmZWN0czogW3VuZm9sZEVmZmVjdC5vZihyYW5nZSldIH0pO1xuICB9XG5cbiAgZ2V0QWxsRm9sZGVkTGluZXMoKTogbnVtYmVyW10ge1xuICAgIGNvbnN0IGMgPSBmb2xkZWRSYW5nZXModGhpcy52aWV3LnN0YXRlKS5pdGVyKCk7XG4gICAgY29uc3QgcmVzOiBudW1iZXJbXSA9IFtdO1xuICAgIHdoaWxlIChjLnZhbHVlKSB7XG4gICAgICByZXMucHVzaCh0aGlzLm9mZnNldFRvUG9zKGMuZnJvbSkubGluZSk7XG4gICAgICBjLm5leHQoKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlcztcbiAgfVxuXG4gIHRyaWdnZXJPbktleURvd24oZTogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIHJ1blNjb3BlSGFuZGxlcnModGhpcy52aWV3LCBlLCBcImVkaXRvclwiKTtcbiAgfVxuXG4gIGdldFpvb21SYW5nZSgpOiBNeUVkaXRvclJhbmdlIHwgbnVsbCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBjb25zdCBhcGkgPSAod2luZG93IGFzIGFueSkuT2JzaWRpYW5ab29tUGx1Z2luO1xuXG4gICAgaWYgKCFhcGkgfHwgIWFwaS5nZXRab29tUmFuZ2UpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiBhcGkuZ2V0Wm9vbVJhbmdlKHRoaXMuZSk7XG4gIH1cblxuICB6b29tT3V0KCkge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgY29uc3QgYXBpID0gKHdpbmRvdyBhcyBhbnkpLk9ic2lkaWFuWm9vbVBsdWdpbjtcblxuICAgIGlmICghYXBpIHx8ICFhcGkuem9vbU91dCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGFwaS56b29tT3V0KHRoaXMuZSk7XG4gIH1cblxuICB6b29tSW4obGluZTogbnVtYmVyKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBjb25zdCBhcGkgPSAod2luZG93IGFzIGFueSkuT2JzaWRpYW5ab29tUGx1Z2luO1xuXG4gICAgaWYgKCFhcGkgfHwgIWFwaS56b29tSW4pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBhcGkuem9vbUluKHRoaXMuZSwgbGluZSk7XG4gIH1cbn1cbiIsImltcG9ydCB7IFBsdWdpbl8yLCBlZGl0b3JJbmZvRmllbGQgfSBmcm9tIFwib2JzaWRpYW5cIjtcblxuaW1wb3J0IHtcbiAgRWRpdG9yVmlldyxcbiAgUGx1Z2luVmFsdWUsXG4gIFZpZXdQbHVnaW4sXG4gIFZpZXdVcGRhdGUsXG59IGZyb20gXCJAY29kZW1pcnJvci92aWV3XCI7XG5cbmltcG9ydCB7IEZlYXR1cmUgfSBmcm9tIFwiLi9GZWF0dXJlXCI7XG5cbmltcG9ydCB7IE15RWRpdG9yIH0gZnJvbSBcIi4uL015RWRpdG9yXCI7XG5pbXBvcnQgeyBMaXN0IH0gZnJvbSBcIi4uL3Jvb3RcIjtcbmltcG9ydCB7IE9ic2lkaWFuU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9PYnNpZGlhblNlcnZpY2VcIjtcbmltcG9ydCB7IFBhcnNlclNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvUGFyc2VyU2VydmljZVwiO1xuaW1wb3J0IHsgU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL1NldHRpbmdzU2VydmljZVwiO1xuXG5pbnRlcmZhY2UgTGluZURhdGEge1xuICB0b3A6IG51bWJlcjtcbiAgbGVmdDogbnVtYmVyO1xuICBoZWlnaHQ6IHN0cmluZztcbiAgbGlzdDogTGlzdDtcbn1cblxuY2xhc3MgTGlzdExpbmVzVmlld1BsdWdpblZhbHVlIGltcGxlbWVudHMgUGx1Z2luVmFsdWUge1xuICBwcml2YXRlIHNjaGVkdWxlZDogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD47XG4gIHByaXZhdGUgc2Nyb2xsZXI6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIGNvbnRlbnRDb250YWluZXI6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIGVkaXRvcjogTXlFZGl0b3I7XG4gIHByaXZhdGUgbGFzdExpbmU6IG51bWJlcjtcbiAgcHJpdmF0ZSBsaW5lczogTGluZURhdGFbXTtcbiAgcHJpdmF0ZSBsaW5lRWxlbWVudHM6IEhUTUxFbGVtZW50W10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHNldHRpbmdzOiBTZXR0aW5nc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBvYnNpZGlhbjogT2JzaWRpYW5TZXJ2aWNlLFxuICAgIHByaXZhdGUgcGFyc2VyOiBQYXJzZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgdmlldzogRWRpdG9yVmlld1xuICApIHtcbiAgICB0aGlzLnZpZXcuc2Nyb2xsRE9NLmFkZEV2ZW50TGlzdGVuZXIoXCJzY3JvbGxcIiwgdGhpcy5vblNjcm9sbCk7XG4gICAgdGhpcy5zZXR0aW5ncy5vbkNoYW5nZShcImxpc3RMaW5lc1wiLCB0aGlzLnNjaGVkdWxlUmVjYWxjdWxhdGUpO1xuXG4gICAgdGhpcy5wcmVwYXJlRG9tKCk7XG4gICAgdGhpcy53YWl0Rm9yRWRpdG9yKCk7XG4gIH1cblxuICBwcml2YXRlIHdhaXRGb3JFZGl0b3IgPSAoKSA9PiB7XG4gICAgY29uc3Qgb2UgPSB0aGlzLnZpZXcuc3RhdGUuZmllbGQoZWRpdG9ySW5mb0ZpZWxkKS5lZGl0b3I7XG4gICAgaWYgKCFvZSkge1xuICAgICAgc2V0VGltZW91dCh0aGlzLndhaXRGb3JFZGl0b3IsIDApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmVkaXRvciA9IG5ldyBNeUVkaXRvcihvZSk7XG4gICAgdGhpcy5zY2hlZHVsZVJlY2FsY3VsYXRlKCk7XG4gIH07XG5cbiAgcHJpdmF0ZSBwcmVwYXJlRG9tKCkge1xuICAgIHRoaXMuY29udGVudENvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7XG4gICAgdGhpcy5jb250ZW50Q29udGFpbmVyLmNsYXNzTGlzdC5hZGQoXG4gICAgICBcIm91dGxpbmVyLXBsdWdpbi1saXN0LWxpbmVzLWNvbnRlbnQtY29udGFpbmVyXCJcbiAgICApO1xuXG4gICAgdGhpcy5zY3JvbGxlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7XG4gICAgdGhpcy5zY3JvbGxlci5jbGFzc0xpc3QuYWRkKFwib3V0bGluZXItcGx1Z2luLWxpc3QtbGluZXMtc2Nyb2xsZXJcIik7XG5cbiAgICB0aGlzLnNjcm9sbGVyLmFwcGVuZENoaWxkKHRoaXMuY29udGVudENvbnRhaW5lcik7XG4gICAgdGhpcy52aWV3LmRvbS5hcHBlbmRDaGlsZCh0aGlzLnNjcm9sbGVyKTtcbiAgfVxuXG4gIHByaXZhdGUgb25TY3JvbGwgPSAoZTogRXZlbnQpID0+IHtcbiAgICBjb25zdCB7IHNjcm9sbExlZnQsIHNjcm9sbFRvcCB9ID0gZS50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgdGhpcy5zY3JvbGxlci5zY3JvbGxUbyhzY3JvbGxMZWZ0LCBzY3JvbGxUb3ApO1xuICB9O1xuXG4gIHByaXZhdGUgc2NoZWR1bGVSZWNhbGN1bGF0ZSA9ICgpID0+IHtcbiAgICBjbGVhclRpbWVvdXQodGhpcy5zY2hlZHVsZWQpO1xuICAgIHRoaXMuc2NoZWR1bGVkID0gc2V0VGltZW91dCh0aGlzLmNhbGN1bGF0ZSwgMCk7XG4gIH07XG5cbiAgdXBkYXRlKHVwZGF0ZTogVmlld1VwZGF0ZSkge1xuICAgIGlmIChcbiAgICAgIHVwZGF0ZS5kb2NDaGFuZ2VkIHx8XG4gICAgICB1cGRhdGUudmlld3BvcnRDaGFuZ2VkIHx8XG4gICAgICB1cGRhdGUuZ2VvbWV0cnlDaGFuZ2VkIHx8XG4gICAgICB1cGRhdGUudHJhbnNhY3Rpb25zLnNvbWUoKHRyKSA9PiB0ci5yZWNvbmZpZ3VyZWQpXG4gICAgKSB7XG4gICAgICB0aGlzLnNjaGVkdWxlUmVjYWxjdWxhdGUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNhbGN1bGF0ZSA9ICgpID0+IHtcbiAgICB0aGlzLmxpbmVzID0gW107XG5cbiAgICBpZiAoXG4gICAgICB0aGlzLnNldHRpbmdzLmxpc3RMaW5lcyAmJlxuICAgICAgdGhpcy5vYnNpZGlhbi5pc0RlZmF1bHRUaGVtZUVuYWJsZWQoKSAmJlxuICAgICAgdGhpcy52aWV3LnZpZXdwb3J0TGluZUJsb2Nrcy5sZW5ndGggPiAwICYmXG4gICAgICB0aGlzLnZpZXcudmlzaWJsZVJhbmdlcy5sZW5ndGggPiAwXG4gICAgKSB7XG4gICAgICBjb25zdCBmcm9tTGluZSA9IHRoaXMuZWRpdG9yLm9mZnNldFRvUG9zKHRoaXMudmlldy52aWV3cG9ydC5mcm9tKS5saW5lO1xuICAgICAgY29uc3QgdG9MaW5lID0gdGhpcy5lZGl0b3Iub2Zmc2V0VG9Qb3ModGhpcy52aWV3LnZpZXdwb3J0LnRvKS5saW5lO1xuICAgICAgY29uc3QgbGlzdHMgPSB0aGlzLnBhcnNlci5wYXJzZVJhbmdlKHRoaXMuZWRpdG9yLCBmcm9tTGluZSwgdG9MaW5lKTtcblxuICAgICAgZm9yIChjb25zdCBsaXN0IG9mIGxpc3RzKSB7XG4gICAgICAgIHRoaXMubGFzdExpbmUgPSBsaXN0LmdldFJhbmdlKClbMV0ubGluZTtcblxuICAgICAgICBmb3IgKGNvbnN0IGMgb2YgbGlzdC5nZXRDaGlsZHJlbigpKSB7XG4gICAgICAgICAgdGhpcy5yZWN1cnNpdmUoYyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdGhpcy5saW5lcy5zb3J0KChhLCBiKSA9PlxuICAgICAgICBhLnRvcCA9PT0gYi50b3AgPyBhLmxlZnQgLSBiLmxlZnQgOiBhLnRvcCAtIGIudG9wXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMudXBkYXRlRG9tKCk7XG4gIH07XG5cbiAgcHJpdmF0ZSBnZXROZXh0U2libGluZyhsaXN0OiBMaXN0KTogTGlzdCB8IG51bGwge1xuICAgIGxldCBsaXN0VG1wID0gbGlzdDtcbiAgICBsZXQgcCA9IGxpc3RUbXAuZ2V0UGFyZW50KCk7XG4gICAgd2hpbGUgKHApIHtcbiAgICAgIGNvbnN0IG5leHRTaWJsaW5nID0gcC5nZXROZXh0U2libGluZ09mKGxpc3RUbXApO1xuICAgICAgaWYgKG5leHRTaWJsaW5nKSB7XG4gICAgICAgIHJldHVybiBuZXh0U2libGluZztcbiAgICAgIH1cbiAgICAgIGxpc3RUbXAgPSBwO1xuICAgICAgcCA9IGxpc3RUbXAuZ2V0UGFyZW50KCk7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSByZWN1cnNpdmUobGlzdDogTGlzdCwgcGFyZW50Q3R4OiB7IHJvb3RMZWZ0PzogbnVtYmVyIH0gPSB7fSkge1xuICAgIGNvbnN0IGNoaWxkcmVuID0gbGlzdC5nZXRDaGlsZHJlbigpO1xuXG4gICAgaWYgKGNoaWxkcmVuLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGZyb21PZmZzZXQgPSB0aGlzLmVkaXRvci5wb3NUb09mZnNldCh7XG4gICAgICBsaW5lOiBsaXN0LmdldEZpcnN0TGluZUNvbnRlbnRTdGFydCgpLmxpbmUsXG4gICAgICBjaDogbGlzdC5nZXRGaXJzdExpbmVJbmRlbnQoKS5sZW5ndGgsXG4gICAgfSk7XG4gICAgY29uc3QgbmV4dFNpYmxpbmcgPSB0aGlzLmdldE5leHRTaWJsaW5nKGxpc3QpO1xuICAgIGNvbnN0IHRpbGxPZmZzZXQgPSB0aGlzLmVkaXRvci5wb3NUb09mZnNldCh7XG4gICAgICBsaW5lOiBuZXh0U2libGluZ1xuICAgICAgICA/IG5leHRTaWJsaW5nLmdldEZpcnN0TGluZUNvbnRlbnRTdGFydCgpLmxpbmUgLSAxXG4gICAgICAgIDogdGhpcy5sYXN0TGluZSxcbiAgICAgIGNoOiAwLFxuICAgIH0pO1xuXG4gICAgbGV0IHZpc2libGVGcm9tID0gdGhpcy52aWV3LnZpc2libGVSYW5nZXNbMF0uZnJvbTtcbiAgICBsZXQgdmlzaWJsZVRvID1cbiAgICAgIHRoaXMudmlldy52aXNpYmxlUmFuZ2VzW3RoaXMudmlldy52aXNpYmxlUmFuZ2VzLmxlbmd0aCAtIDFdLnRvO1xuICAgIGNvbnN0IHpvb21SYW5nZSA9IHRoaXMuZWRpdG9yLmdldFpvb21SYW5nZSgpO1xuICAgIGlmICh6b29tUmFuZ2UpIHtcbiAgICAgIHZpc2libGVGcm9tID0gTWF0aC5tYXgoXG4gICAgICAgIHZpc2libGVGcm9tLFxuICAgICAgICB0aGlzLmVkaXRvci5wb3NUb09mZnNldCh6b29tUmFuZ2UuZnJvbSlcbiAgICAgICk7XG4gICAgICB2aXNpYmxlVG8gPSBNYXRoLm1pbih2aXNpYmxlVG8sIHRoaXMuZWRpdG9yLnBvc1RvT2Zmc2V0KHpvb21SYW5nZS50bykpO1xuICAgIH1cblxuICAgIGlmIChmcm9tT2Zmc2V0ID4gdmlzaWJsZVRvIHx8IHRpbGxPZmZzZXQgPCB2aXNpYmxlRnJvbSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGNvb3JkcyA9IHRoaXMudmlldy5jb29yZHNBdFBvcyhmcm9tT2Zmc2V0LCAxKTtcbiAgICBpZiAocGFyZW50Q3R4LnJvb3RMZWZ0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHBhcmVudEN0eC5yb290TGVmdCA9IGNvb3Jkcy5sZWZ0O1xuICAgIH1cbiAgICBjb25zdCBsZWZ0ID0gTWF0aC5mbG9vcihjb29yZHMucmlnaHQgLSBwYXJlbnRDdHgucm9vdExlZnQpO1xuXG4gICAgY29uc3QgdG9wID1cbiAgICAgIHZpc2libGVGcm9tID4gMCAmJiBmcm9tT2Zmc2V0IDwgdmlzaWJsZUZyb21cbiAgICAgICAgPyAtMjBcbiAgICAgICAgOiB0aGlzLnZpZXcubGluZUJsb2NrQXQoZnJvbU9mZnNldCkudG9wO1xuICAgIGNvbnN0IGJvdHRvbSA9XG4gICAgICB0aWxsT2Zmc2V0ID4gdmlzaWJsZVRvXG4gICAgICAgID8gdGhpcy52aWV3LmxpbmVCbG9ja0F0KHZpc2libGVUbyAtIDEpLmJvdHRvbVxuICAgICAgICA6IHRoaXMudmlldy5saW5lQmxvY2tBdCh0aWxsT2Zmc2V0KS5ib3R0b207XG4gICAgY29uc3QgaGVpZ2h0ID0gYm90dG9tIC0gdG9wO1xuXG4gICAgaWYgKGhlaWdodCA+IDAgJiYgIWxpc3QuaXNGb2xkZWQoKSkge1xuICAgICAgY29uc3QgbmV4dFNpYmxpbmcgPSBsaXN0LmdldFBhcmVudCgpLmdldE5leHRTaWJsaW5nT2YobGlzdCk7XG4gICAgICBjb25zdCBoYXNOZXh0U2libGluZyA9XG4gICAgICAgICEhbmV4dFNpYmxpbmcgJiZcbiAgICAgICAgdGhpcy5lZGl0b3IucG9zVG9PZmZzZXQobmV4dFNpYmxpbmcuZ2V0Rmlyc3RMaW5lQ29udGVudFN0YXJ0KCkpIDw9XG4gICAgICAgICAgdmlzaWJsZVRvO1xuXG4gICAgICB0aGlzLmxpbmVzLnB1c2goe1xuICAgICAgICB0b3AsXG4gICAgICAgIGxlZnQsXG4gICAgICAgIGhlaWdodDogYGNhbGMoJHtoZWlnaHR9cHggJHtoYXNOZXh0U2libGluZyA/IFwiLSAxLjVlbVwiIDogXCItIDJlbVwifSlgLFxuICAgICAgICBsaXN0LFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBjaGlsZCBvZiBjaGlsZHJlbikge1xuICAgICAgaWYgKCFjaGlsZC5pc0VtcHR5KCkpIHtcbiAgICAgICAgdGhpcy5yZWN1cnNpdmUoY2hpbGQsIHBhcmVudEN0eCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvbkNsaWNrID0gKGU6IE1vdXNlRXZlbnQpID0+IHtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICBjb25zdCBsaW5lID0gdGhpcy5saW5lc1tOdW1iZXIoKGUudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5kYXRhc2V0LmluZGV4KV07XG5cbiAgICBzd2l0Y2ggKHRoaXMuc2V0dGluZ3MubGlzdExpbmVBY3Rpb24pIHtcbiAgICAgIGNhc2UgXCJ6b29tLWluXCI6XG4gICAgICAgIHRoaXMuem9vbUluKGxpbmUpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBcInRvZ2dsZS1mb2xkaW5nXCI6XG4gICAgICAgIHRoaXMudG9nZ2xlRm9sZGluZyhsaW5lKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9O1xuXG4gIHByaXZhdGUgem9vbUluKGxpbmU6IExpbmVEYXRhKSB7XG4gICAgY29uc3QgZWRpdG9yID0gbmV3IE15RWRpdG9yKHRoaXMudmlldy5zdGF0ZS5maWVsZChlZGl0b3JJbmZvRmllbGQpLmVkaXRvcik7XG5cbiAgICBlZGl0b3Iuem9vbUluKGxpbmUubGlzdC5nZXRGaXJzdExpbmVDb250ZW50U3RhcnQoKS5saW5lKTtcbiAgfVxuXG4gIHByaXZhdGUgdG9nZ2xlRm9sZGluZyhsaW5lOiBMaW5lRGF0YSkge1xuICAgIGNvbnN0IHsgbGlzdCB9ID0gbGluZTtcblxuICAgIGlmIChsaXN0LmlzRW1wdHkoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxldCBuZWVkVG9VbmZvbGQgPSB0cnVlO1xuICAgIGNvbnN0IGxpbmVzVG9Ub2dnbGU6IG51bWJlcltdID0gW107XG4gICAgZm9yIChjb25zdCBjIG9mIGxpc3QuZ2V0Q2hpbGRyZW4oKSkge1xuICAgICAgaWYgKGMuaXNFbXB0eSgpKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgaWYgKCFjLmlzRm9sZGVkKCkpIHtcbiAgICAgICAgbmVlZFRvVW5mb2xkID0gZmFsc2U7XG4gICAgICB9XG4gICAgICBsaW5lc1RvVG9nZ2xlLnB1c2goYy5nZXRGaXJzdExpbmVDb250ZW50U3RhcnQoKS5saW5lKTtcbiAgICB9XG5cbiAgICBjb25zdCBlZGl0b3IgPSBuZXcgTXlFZGl0b3IodGhpcy52aWV3LnN0YXRlLmZpZWxkKGVkaXRvckluZm9GaWVsZCkuZWRpdG9yKTtcblxuICAgIGZvciAoY29uc3QgbCBvZiBsaW5lc1RvVG9nZ2xlKSB7XG4gICAgICBpZiAobmVlZFRvVW5mb2xkKSB7XG4gICAgICAgIGVkaXRvci51bmZvbGQobCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBlZGl0b3IuZm9sZChsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZURvbSgpIHtcbiAgICBjb25zdCBjbVNjcm9sbCA9IHRoaXMudmlldy5zY3JvbGxET007XG4gICAgY29uc3QgY21Db250ZW50ID0gdGhpcy52aWV3LmNvbnRlbnRET007XG4gICAgY29uc3QgY21Db250ZW50Q29udGFpbmVyID0gY21Db250ZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgY29uc3QgY21TaXplciA9IGNtQ29udGVudENvbnRhaW5lci5wYXJlbnRFbGVtZW50O1xuXG4gICAgLyoqXG4gICAgICogT2JzaWRpYW4gY2FuIGFkZCBhZGRpdGlvbmFsIGVsZW1lbnRzIGludG8gQ29udGVudCBNYW5hZ2VyLlxuICAgICAqIFRoZSBtb3N0IG9idmlvdXMgY2FzZSBpcyB0aGUgJ2VtYmVkZGVkLWJhY2tsaW5rcycgY29yZSBwbHVnaW4gdGhhdCBhZGRzIGEgbWVudSBpbnNpZGUgYSBDb250ZW50IE1hbmFnZXIuXG4gICAgICogV2UgbXVzdCB0YWtlIGhlaWdodHMgb2YgYWxsIG9mIHRoZXNlIGVsZW1lbnRzIGludG8gYWNjb3VudFxuICAgICAqIHRvIGJlIGFibGUgdG8gY2FsY3VsYXRlIHRoZSBjb3JyZWN0IHNpemUgb2YgbGluZXMnIGNvbnRhaW5lci5cbiAgICAgKi9cbiAgICBsZXQgY21TaXplckNoaWxkcmVuU3VtSGVpZ2h0ID0gMDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNtU2l6ZXIuY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNtU2l6ZXJDaGlsZHJlblN1bUhlaWdodCArPSBjbVNpemVyLmNoaWxkcmVuW2ldLmNsaWVudEhlaWdodDtcbiAgICB9XG5cbiAgICB0aGlzLnNjcm9sbGVyLnN0eWxlLnRvcCA9IGNtU2Nyb2xsLm9mZnNldFRvcCArIFwicHhcIjtcbiAgICB0aGlzLmNvbnRlbnRDb250YWluZXIuc3R5bGUuaGVpZ2h0ID0gY21TaXplckNoaWxkcmVuU3VtSGVpZ2h0ICsgXCJweFwiO1xuICAgIHRoaXMuY29udGVudENvbnRhaW5lci5zdHlsZS5tYXJnaW5MZWZ0ID1cbiAgICAgIGNtQ29udGVudENvbnRhaW5lci5vZmZzZXRMZWZ0ICsgXCJweFwiO1xuICAgIHRoaXMuY29udGVudENvbnRhaW5lci5zdHlsZS5tYXJnaW5Ub3AgPVxuICAgICAgKGNtQ29udGVudC5maXJzdEVsZW1lbnRDaGlsZCBhcyBIVE1MRWxlbWVudCkub2Zmc2V0VG9wIC0gMjQgKyBcInB4XCI7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMubGluZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmICh0aGlzLmxpbmVFbGVtZW50cy5sZW5ndGggPT09IGkpIHtcbiAgICAgICAgY29uc3QgZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7XG4gICAgICAgIGUuY2xhc3NMaXN0LmFkZChcIm91dGxpbmVyLXBsdWdpbi1saXN0LWxpbmVcIik7XG4gICAgICAgIGUuZGF0YXNldC5pbmRleCA9IFN0cmluZyhpKTtcbiAgICAgICAgZS5hZGRFdmVudExpc3RlbmVyKFwibW91c2Vkb3duXCIsIHRoaXMub25DbGljayk7XG4gICAgICAgIHRoaXMuY29udGVudENvbnRhaW5lci5hcHBlbmRDaGlsZChlKTtcbiAgICAgICAgdGhpcy5saW5lRWxlbWVudHMucHVzaChlKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgbCA9IHRoaXMubGluZXNbaV07XG4gICAgICBjb25zdCBlID0gdGhpcy5saW5lRWxlbWVudHNbaV07XG4gICAgICBlLnN0eWxlLnRvcCA9IGwudG9wICsgXCJweFwiO1xuICAgICAgZS5zdHlsZS5sZWZ0ID0gbC5sZWZ0ICsgXCJweFwiO1xuICAgICAgZS5zdHlsZS5oZWlnaHQgPSBsLmhlaWdodDtcbiAgICAgIGUuc3R5bGUuZGlzcGxheSA9IFwiYmxvY2tcIjtcbiAgICB9XG5cbiAgICBmb3IgKGxldCBpID0gdGhpcy5saW5lcy5sZW5ndGg7IGkgPCB0aGlzLmxpbmVFbGVtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgZSA9IHRoaXMubGluZUVsZW1lbnRzW2ldO1xuICAgICAgZS5zdHlsZS50b3AgPSBcIjBweFwiO1xuICAgICAgZS5zdHlsZS5sZWZ0ID0gXCIwcHhcIjtcbiAgICAgIGUuc3R5bGUuaGVpZ2h0ID0gXCIwcHhcIjtcbiAgICAgIGUuc3R5bGUuZGlzcGxheSA9IFwibm9uZVwiO1xuICAgIH1cbiAgfVxuXG4gIGRlc3Ryb3koKSB7XG4gICAgdGhpcy5zZXR0aW5ncy5yZW1vdmVDYWxsYmFjayhcImxpc3RMaW5lc1wiLCB0aGlzLnNjaGVkdWxlUmVjYWxjdWxhdGUpO1xuICAgIHRoaXMudmlldy5zY3JvbGxET00ucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLCB0aGlzLm9uU2Nyb2xsKTtcbiAgICB0aGlzLnZpZXcuZG9tLnJlbW92ZUNoaWxkKHRoaXMuc2Nyb2xsZXIpO1xuICAgIGNsZWFyVGltZW91dCh0aGlzLnNjaGVkdWxlZCk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIExpbmVzRmVhdHVyZSBpbXBsZW1lbnRzIEZlYXR1cmUge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHBsdWdpbjogUGx1Z2luXzIsXG4gICAgcHJpdmF0ZSBzZXR0aW5nczogU2V0dGluZ3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgb2JzaWRpYW46IE9ic2lkaWFuU2VydmljZSxcbiAgICBwcml2YXRlIHBhcnNlcjogUGFyc2VyU2VydmljZVxuICApIHt9XG5cbiAgYXN5bmMgbG9hZCgpIHtcbiAgICB0aGlzLnBsdWdpbi5yZWdpc3RlckVkaXRvckV4dGVuc2lvbihcbiAgICAgIFZpZXdQbHVnaW4uZGVmaW5lKFxuICAgICAgICAodmlldykgPT5cbiAgICAgICAgICBuZXcgTGlzdExpbmVzVmlld1BsdWdpblZhbHVlKFxuICAgICAgICAgICAgdGhpcy5zZXR0aW5ncyxcbiAgICAgICAgICAgIHRoaXMub2JzaWRpYW4sXG4gICAgICAgICAgICB0aGlzLnBhcnNlcixcbiAgICAgICAgICAgIHZpZXdcbiAgICAgICAgICApXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIGFzeW5jIHVubG9hZCgpIHt9XG59XG4iLCJpbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSBcIi4vRmVhdHVyZVwiO1xuXG5pbXBvcnQgeyBPYnNpZGlhblNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvT2JzaWRpYW5TZXJ2aWNlXCI7XG5pbXBvcnQgeyBTZXR0aW5nc1NlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvU2V0dGluZ3NTZXJ2aWNlXCI7XG5cbmNvbnN0IEJFVFRFUl9MSVNUU19DTEFTUyA9IFwib3V0bGluZXItcGx1Z2luLWJldHRlci1saXN0c1wiO1xuY29uc3QgQkVUVEVSX0JVTExFVFNfQ0xBU1MgPSBcIm91dGxpbmVyLXBsdWdpbi1iZXR0ZXItYnVsbGV0c1wiO1xuY29uc3QgVkVSVElDQUxfTElORVMgPSBcIm91dGxpbmVyLXBsdWdpbi12ZXJ0aWNhbC1saW5lc1wiO1xuY29uc3QgS05PV05fQ0xBU1NFUyA9IFtcbiAgQkVUVEVSX0xJU1RTX0NMQVNTLFxuICBCRVRURVJfQlVMTEVUU19DTEFTUyxcbiAgVkVSVElDQUxfTElORVMsXG5dO1xuXG5leHBvcnQgY2xhc3MgTGlzdHNTdHlsZXNGZWF0dXJlIGltcGxlbWVudHMgRmVhdHVyZSB7XG4gIHByaXZhdGUgaW50ZXJ2YWw6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHNldHRpbmdzOiBTZXR0aW5nc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBvYnNpZGlhbjogT2JzaWRpYW5TZXJ2aWNlXG4gICkge31cblxuICBhc3luYyBsb2FkKCkge1xuICAgIHRoaXMuc3luY0xpc3RzU3R5bGVzKCk7XG4gICAgdGhpcy5pbnRlcnZhbCA9IHdpbmRvdy5zZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICB0aGlzLnN5bmNMaXN0c1N0eWxlcygpO1xuICAgIH0sIDEwMDApO1xuICB9XG5cbiAgYXN5bmMgdW5sb2FkKCkge1xuICAgIGNsZWFySW50ZXJ2YWwodGhpcy5pbnRlcnZhbCk7XG4gICAgdGhpcy5hcHBseUxpc3RzU3R5bGVzKFtdKTtcbiAgfVxuXG4gIHByaXZhdGUgc3luY0xpc3RzU3R5bGVzID0gKCkgPT4ge1xuICAgIGNvbnN0IGNsYXNzZXMgPSBbXTtcblxuICAgIGlmICh0aGlzLm9ic2lkaWFuLmlzRGVmYXVsdFRoZW1lRW5hYmxlZCgpKSB7XG4gICAgICBpZiAodGhpcy5zZXR0aW5ncy5zdHlsZUxpc3RzKSB7XG4gICAgICAgIGNsYXNzZXMucHVzaChCRVRURVJfTElTVFNfQ0xBU1MpO1xuICAgICAgICBjbGFzc2VzLnB1c2goQkVUVEVSX0JVTExFVFNfQ0xBU1MpO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5zZXR0aW5ncy5saXN0TGluZXMpIHtcbiAgICAgICAgY2xhc3Nlcy5wdXNoKFZFUlRJQ0FMX0xJTkVTKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmFwcGx5TGlzdHNTdHlsZXMoY2xhc3Nlcyk7XG4gIH07XG5cbiAgcHJpdmF0ZSBhcHBseUxpc3RzU3R5bGVzKGNsYXNzZXM6IHN0cmluZ1tdKSB7XG4gICAgY29uc3QgdG9LZWVwID0gY2xhc3Nlcy5maWx0ZXIoKGMpID0+IEtOT1dOX0NMQVNTRVMuY29udGFpbnMoYykpO1xuICAgIGNvbnN0IHRvUmVtb3ZlID0gS05PV05fQ0xBU1NFUy5maWx0ZXIoKGMpID0+ICF0b0tlZXAuY29udGFpbnMoYykpO1xuXG4gICAgZm9yIChjb25zdCBjIG9mIHRvS2VlcCkge1xuICAgICAgaWYgKCFkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5jb250YWlucyhjKSkge1xuICAgICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoYyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBjIG9mIHRvUmVtb3ZlKSB7XG4gICAgICBpZiAoZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuY29udGFpbnMoYykpIHtcbiAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKGMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiaW1wb3J0IHsgT3BlcmF0aW9uIH0gZnJvbSBcIi4vT3BlcmF0aW9uXCI7XG5cbmltcG9ydCB7IExpc3RMaW5lLCBQb3NpdGlvbiwgUm9vdCB9IGZyb20gXCIuLi9yb290XCI7XG5cbmV4cG9ydCBjbGFzcyBNb3ZlQ3Vyc29yVG9QcmV2aW91c1VuZm9sZGVkTGluZU9wZXJhdGlvbiBpbXBsZW1lbnRzIE9wZXJhdGlvbiB7XG4gIHByaXZhdGUgc3RvcFByb3BhZ2F0aW9uID0gZmFsc2U7XG4gIHByaXZhdGUgdXBkYXRlZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm9vdDogUm9vdCkge31cblxuICBzaG91bGRTdG9wUHJvcGFnYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcFByb3BhZ2F0aW9uO1xuICB9XG5cbiAgc2hvdWxkVXBkYXRlKCkge1xuICAgIHJldHVybiB0aGlzLnVwZGF0ZWQ7XG4gIH1cblxuICBwZXJmb3JtKCkge1xuICAgIGNvbnN0IHsgcm9vdCB9ID0gdGhpcztcblxuICAgIGlmICghcm9vdC5oYXNTaW5nbGVDdXJzb3IoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGxpc3QgPSB0aGlzLnJvb3QuZ2V0TGlzdFVuZGVyQ3Vyc29yKCk7XG4gICAgY29uc3QgY3Vyc29yID0gdGhpcy5yb290LmdldEN1cnNvcigpO1xuICAgIGNvbnN0IGxpbmVzID0gbGlzdC5nZXRMaW5lc0luZm8oKTtcbiAgICBjb25zdCBsaW5lTm8gPSBsaW5lcy5maW5kSW5kZXgoKGwpID0+IHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIGN1cnNvci5jaCA9PT0gbC5mcm9tLmNoICsgbGlzdC5nZXRDaGVja2JveExlbmd0aCgpICYmXG4gICAgICAgIGN1cnNvci5saW5lID09PSBsLmZyb20ubGluZVxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIGlmIChsaW5lTm8gPT09IDApIHtcbiAgICAgIHRoaXMubW92ZUN1cnNvclRvUHJldmlvdXNVbmZvbGRlZEl0ZW0ocm9vdCwgY3Vyc29yKTtcbiAgICB9IGVsc2UgaWYgKGxpbmVObyA+IDApIHtcbiAgICAgIHRoaXMubW92ZUN1cnNvclRvUHJldmlvdXNOb3RlTGluZShyb290LCBsaW5lcywgbGluZU5vKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG1vdmVDdXJzb3JUb1ByZXZpb3VzTm90ZUxpbmUoXG4gICAgcm9vdDogUm9vdCxcbiAgICBsaW5lczogTGlzdExpbmVbXSxcbiAgICBsaW5lTm86IG51bWJlclxuICApIHtcbiAgICB0aGlzLnN0b3BQcm9wYWdhdGlvbiA9IHRydWU7XG4gICAgdGhpcy51cGRhdGVkID0gdHJ1ZTtcblxuICAgIHJvb3QucmVwbGFjZUN1cnNvcihsaW5lc1tsaW5lTm8gLSAxXS50byk7XG4gIH1cblxuICBwcml2YXRlIG1vdmVDdXJzb3JUb1ByZXZpb3VzVW5mb2xkZWRJdGVtKHJvb3Q6IFJvb3QsIGN1cnNvcjogUG9zaXRpb24pIHtcbiAgICBjb25zdCBwcmV2ID0gcm9vdC5nZXRMaXN0VW5kZXJMaW5lKGN1cnNvci5saW5lIC0gMSk7XG5cbiAgICBpZiAoIXByZXYpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnN0b3BQcm9wYWdhdGlvbiA9IHRydWU7XG4gICAgdGhpcy51cGRhdGVkID0gdHJ1ZTtcblxuICAgIGlmIChwcmV2LmlzRm9sZGVkKCkpIHtcbiAgICAgIGNvbnN0IGZvbGRSb290ID0gcHJldi5nZXRUb3BGb2xkUm9vdCgpO1xuICAgICAgY29uc3QgZmlyc3RMaW5lRW5kID0gZm9sZFJvb3QuZ2V0TGluZXNJbmZvKClbMF0udG87XG4gICAgICByb290LnJlcGxhY2VDdXJzb3IoZmlyc3RMaW5lRW5kKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcm9vdC5yZXBsYWNlQ3Vyc29yKHByZXYuZ2V0TGFzdExpbmVDb250ZW50RW5kKCkpO1xuICAgIH1cbiAgfVxufVxuIiwiaW1wb3J0IHsgUGx1Z2luXzIgfSBmcm9tIFwib2JzaWRpYW5cIjtcblxuaW1wb3J0IHsga2V5bWFwIH0gZnJvbSBcIkBjb2RlbWlycm9yL3ZpZXdcIjtcblxuaW1wb3J0IHsgTXlFZGl0b3IgfSBmcm9tIFwiLi4vTXlFZGl0b3JcIjtcbmltcG9ydCB7IEZlYXR1cmUgfSBmcm9tIFwiLi4vZmVhdHVyZXMvRmVhdHVyZVwiO1xuaW1wb3J0IHsgTW92ZUN1cnNvclRvUHJldmlvdXNVbmZvbGRlZExpbmVPcGVyYXRpb24gfSBmcm9tIFwiLi4vb3BlcmF0aW9ucy9Nb3ZlQ3Vyc29yVG9QcmV2aW91c1VuZm9sZGVkTGluZU9wZXJhdGlvblwiO1xuaW1wb3J0IHsgSU1FU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9JTUVTZXJ2aWNlXCI7XG5pbXBvcnQgeyBPYnNpZGlhblNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvT2JzaWRpYW5TZXJ2aWNlXCI7XG5pbXBvcnQgeyBQZXJmb3JtT3BlcmF0aW9uU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9QZXJmb3JtT3BlcmF0aW9uU2VydmljZVwiO1xuaW1wb3J0IHsgU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL1NldHRpbmdzU2VydmljZVwiO1xuXG5leHBvcnQgY2xhc3MgTW92ZUN1cnNvclRvUHJldmlvdXNVbmZvbGRlZExpbmVGZWF0dXJlIGltcGxlbWVudHMgRmVhdHVyZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcGx1Z2luOiBQbHVnaW5fMixcbiAgICBwcml2YXRlIHNldHRpbmdzOiBTZXR0aW5nc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbWU6IElNRVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBvYnNpZGlhbjogT2JzaWRpYW5TZXJ2aWNlLFxuICAgIHByaXZhdGUgcGVyZm9ybU9wZXJhdGlvbjogUGVyZm9ybU9wZXJhdGlvblNlcnZpY2VcbiAgKSB7fVxuXG4gIGFzeW5jIGxvYWQoKSB7XG4gICAgdGhpcy5wbHVnaW4ucmVnaXN0ZXJFZGl0b3JFeHRlbnNpb24oXG4gICAgICBrZXltYXAub2YoW1xuICAgICAgICB7XG4gICAgICAgICAga2V5OiBcIkFycm93TGVmdFwiLFxuICAgICAgICAgIHJ1bjogdGhpcy5vYnNpZGlhbi5jcmVhdGVLZXltYXBSdW5DYWxsYmFjayh7XG4gICAgICAgICAgICBjaGVjazogdGhpcy5jaGVjayxcbiAgICAgICAgICAgIHJ1bjogdGhpcy5ydW4sXG4gICAgICAgICAgfSksXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB3aW46IFwiYy1BcnJvd0xlZnRcIixcbiAgICAgICAgICBsaW51eDogXCJjLUFycm93TGVmdFwiLFxuICAgICAgICAgIHJ1bjogdGhpcy5vYnNpZGlhbi5jcmVhdGVLZXltYXBSdW5DYWxsYmFjayh7XG4gICAgICAgICAgICBjaGVjazogdGhpcy5jaGVjayxcbiAgICAgICAgICAgIHJ1bjogdGhpcy5ydW4sXG4gICAgICAgICAgfSksXG4gICAgICAgIH0sXG4gICAgICBdKVxuICAgICk7XG4gIH1cblxuICBhc3luYyB1bmxvYWQoKSB7fVxuXG4gIHByaXZhdGUgY2hlY2sgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuc2V0dGluZ3Muc3RpY2tDdXJzb3IgIT0gXCJuZXZlclwiICYmICF0aGlzLmltZS5pc0lNRU9wZW5lZCgpO1xuICB9O1xuXG4gIHByaXZhdGUgcnVuID0gKGVkaXRvcjogTXlFZGl0b3IpID0+IHtcbiAgICByZXR1cm4gdGhpcy5wZXJmb3JtT3BlcmF0aW9uLnBlcmZvcm1PcGVyYXRpb24oXG4gICAgICAocm9vdCkgPT4gbmV3IE1vdmVDdXJzb3JUb1ByZXZpb3VzVW5mb2xkZWRMaW5lT3BlcmF0aW9uKHJvb3QpLFxuICAgICAgZWRpdG9yXG4gICAgKTtcbiAgfTtcbn1cbiIsImltcG9ydCB7IE9wZXJhdGlvbiB9IGZyb20gXCIuL09wZXJhdGlvblwiO1xuXG5pbXBvcnQgeyBSb290IH0gZnJvbSBcIi4uL3Jvb3RcIjtcbmltcG9ydCB7IHJlY2FsY3VsYXRlTnVtZXJpY0J1bGxldHMgfSBmcm9tIFwiLi4vcm9vdC9yZWNhbGN1bGF0ZU51bWVyaWNCdWxsZXRzXCI7XG5cbmV4cG9ydCBjbGFzcyBNb3ZlRG93bk9wZXJhdGlvbiBpbXBsZW1lbnRzIE9wZXJhdGlvbiB7XG4gIHByaXZhdGUgc3RvcFByb3BhZ2F0aW9uID0gZmFsc2U7XG4gIHByaXZhdGUgdXBkYXRlZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm9vdDogUm9vdCkge31cblxuICBzaG91bGRTdG9wUHJvcGFnYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcFByb3BhZ2F0aW9uO1xuICB9XG5cbiAgc2hvdWxkVXBkYXRlKCkge1xuICAgIHJldHVybiB0aGlzLnVwZGF0ZWQ7XG4gIH1cblxuICBwZXJmb3JtKCkge1xuICAgIGNvbnN0IHsgcm9vdCB9ID0gdGhpcztcblxuICAgIGlmICghcm9vdC5oYXNTaW5nbGVDdXJzb3IoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc3RvcFByb3BhZ2F0aW9uID0gdHJ1ZTtcblxuICAgIGNvbnN0IGxpc3QgPSByb290LmdldExpc3RVbmRlckN1cnNvcigpO1xuICAgIGNvbnN0IHBhcmVudCA9IGxpc3QuZ2V0UGFyZW50KCk7XG4gICAgY29uc3QgZ3JhbmRQYXJlbnQgPSBwYXJlbnQuZ2V0UGFyZW50KCk7XG4gICAgY29uc3QgbmV4dCA9IHBhcmVudC5nZXROZXh0U2libGluZ09mKGxpc3QpO1xuXG4gICAgY29uc3QgbGlzdFN0YXJ0TGluZUJlZm9yZSA9IHJvb3QuZ2V0Q29udGVudExpbmVzUmFuZ2VPZihsaXN0KVswXTtcblxuICAgIGlmICghbmV4dCAmJiBncmFuZFBhcmVudCkge1xuICAgICAgY29uc3QgbmV3UGFyZW50ID0gZ3JhbmRQYXJlbnQuZ2V0TmV4dFNpYmxpbmdPZihwYXJlbnQpO1xuXG4gICAgICBpZiAobmV3UGFyZW50KSB7XG4gICAgICAgIHRoaXMudXBkYXRlZCA9IHRydWU7XG4gICAgICAgIHBhcmVudC5yZW1vdmVDaGlsZChsaXN0KTtcbiAgICAgICAgbmV3UGFyZW50LmFkZEJlZm9yZUFsbChsaXN0KTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKG5leHQpIHtcbiAgICAgIHRoaXMudXBkYXRlZCA9IHRydWU7XG4gICAgICBwYXJlbnQucmVtb3ZlQ2hpbGQobGlzdCk7XG4gICAgICBwYXJlbnQuYWRkQWZ0ZXIobmV4dCwgbGlzdCk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnVwZGF0ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBsaXN0U3RhcnRMaW5lQWZ0ZXIgPSByb290LmdldENvbnRlbnRMaW5lc1JhbmdlT2YobGlzdClbMF07XG4gICAgY29uc3QgbGluZURpZmYgPSBsaXN0U3RhcnRMaW5lQWZ0ZXIgLSBsaXN0U3RhcnRMaW5lQmVmb3JlO1xuXG4gICAgY29uc3QgY3Vyc29yID0gcm9vdC5nZXRDdXJzb3IoKTtcbiAgICByb290LnJlcGxhY2VDdXJzb3Ioe1xuICAgICAgbGluZTogY3Vyc29yLmxpbmUgKyBsaW5lRGlmZixcbiAgICAgIGNoOiBjdXJzb3IuY2gsXG4gICAgfSk7XG5cbiAgICByZWNhbGN1bGF0ZU51bWVyaWNCdWxsZXRzKHJvb3QpO1xuICB9XG59XG4iLCJpbXBvcnQgeyBPcGVyYXRpb24gfSBmcm9tIFwiLi9PcGVyYXRpb25cIjtcblxuaW1wb3J0IHsgUm9vdCB9IGZyb20gXCIuLi9yb290XCI7XG5pbXBvcnQgeyByZWNhbGN1bGF0ZU51bWVyaWNCdWxsZXRzIH0gZnJvbSBcIi4uL3Jvb3QvcmVjYWxjdWxhdGVOdW1lcmljQnVsbGV0c1wiO1xuXG5leHBvcnQgY2xhc3MgTW92ZVJpZ2h0T3BlcmF0aW9uIGltcGxlbWVudHMgT3BlcmF0aW9uIHtcbiAgcHJpdmF0ZSBzdG9wUHJvcGFnYXRpb24gPSBmYWxzZTtcbiAgcHJpdmF0ZSB1cGRhdGVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb290OiBSb290LCBwcml2YXRlIGRlZmF1bHRJbmRlbnRDaGFyczogc3RyaW5nKSB7fVxuXG4gIHNob3VsZFN0b3BQcm9wYWdhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9wUHJvcGFnYXRpb247XG4gIH1cblxuICBzaG91bGRVcGRhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudXBkYXRlZDtcbiAgfVxuXG4gIHBlcmZvcm0oKSB7XG4gICAgY29uc3QgeyByb290IH0gPSB0aGlzO1xuXG4gICAgaWYgKCFyb290Lmhhc1NpbmdsZUN1cnNvcigpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zdG9wUHJvcGFnYXRpb24gPSB0cnVlO1xuXG4gICAgY29uc3QgbGlzdCA9IHJvb3QuZ2V0TGlzdFVuZGVyQ3Vyc29yKCk7XG4gICAgY29uc3QgcGFyZW50ID0gbGlzdC5nZXRQYXJlbnQoKTtcbiAgICBjb25zdCBwcmV2ID0gcGFyZW50LmdldFByZXZTaWJsaW5nT2YobGlzdCk7XG5cbiAgICBpZiAoIXByZXYpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnVwZGF0ZWQgPSB0cnVlO1xuXG4gICAgY29uc3QgbGlzdFN0YXJ0TGluZUJlZm9yZSA9IHJvb3QuZ2V0Q29udGVudExpbmVzUmFuZ2VPZihsaXN0KVswXTtcblxuICAgIGNvbnN0IGluZGVudFBvcyA9IGxpc3QuZ2V0Rmlyc3RMaW5lSW5kZW50KCkubGVuZ3RoO1xuICAgIGxldCBpbmRlbnRDaGFycyA9IFwiXCI7XG5cbiAgICBpZiAoaW5kZW50Q2hhcnMgPT09IFwiXCIgJiYgIXByZXYuaXNFbXB0eSgpKSB7XG4gICAgICBpbmRlbnRDaGFycyA9IHByZXZcbiAgICAgICAgLmdldENoaWxkcmVuKClbMF1cbiAgICAgICAgLmdldEZpcnN0TGluZUluZGVudCgpXG4gICAgICAgIC5zbGljZShwcmV2LmdldEZpcnN0TGluZUluZGVudCgpLmxlbmd0aCk7XG4gICAgfVxuXG4gICAgaWYgKGluZGVudENoYXJzID09PSBcIlwiKSB7XG4gICAgICBpbmRlbnRDaGFycyA9IGxpc3RcbiAgICAgICAgLmdldEZpcnN0TGluZUluZGVudCgpXG4gICAgICAgIC5zbGljZShwYXJlbnQuZ2V0Rmlyc3RMaW5lSW5kZW50KCkubGVuZ3RoKTtcbiAgICB9XG5cbiAgICBpZiAoaW5kZW50Q2hhcnMgPT09IFwiXCIgJiYgIWxpc3QuaXNFbXB0eSgpKSB7XG4gICAgICBpbmRlbnRDaGFycyA9IGxpc3QuZ2V0Q2hpbGRyZW4oKVswXS5nZXRGaXJzdExpbmVJbmRlbnQoKTtcbiAgICB9XG5cbiAgICBpZiAoaW5kZW50Q2hhcnMgPT09IFwiXCIpIHtcbiAgICAgIGluZGVudENoYXJzID0gdGhpcy5kZWZhdWx0SW5kZW50Q2hhcnM7XG4gICAgfVxuXG4gICAgcGFyZW50LnJlbW92ZUNoaWxkKGxpc3QpO1xuICAgIHByZXYuYWRkQWZ0ZXJBbGwobGlzdCk7XG4gICAgbGlzdC5pbmRlbnRDb250ZW50KGluZGVudFBvcywgaW5kZW50Q2hhcnMpO1xuXG4gICAgY29uc3QgbGlzdFN0YXJ0TGluZUFmdGVyID0gcm9vdC5nZXRDb250ZW50TGluZXNSYW5nZU9mKGxpc3QpWzBdO1xuICAgIGNvbnN0IGxpbmVEaWZmID0gbGlzdFN0YXJ0TGluZUFmdGVyIC0gbGlzdFN0YXJ0TGluZUJlZm9yZTtcblxuICAgIGNvbnN0IGN1cnNvciA9IHJvb3QuZ2V0Q3Vyc29yKCk7XG4gICAgcm9vdC5yZXBsYWNlQ3Vyc29yKHtcbiAgICAgIGxpbmU6IGN1cnNvci5saW5lICsgbGluZURpZmYsXG4gICAgICBjaDogY3Vyc29yLmNoICsgaW5kZW50Q2hhcnMubGVuZ3RoLFxuICAgIH0pO1xuXG4gICAgcmVjYWxjdWxhdGVOdW1lcmljQnVsbGV0cyhyb290KTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgT3BlcmF0aW9uIH0gZnJvbSBcIi4vT3BlcmF0aW9uXCI7XG5cbmltcG9ydCB7IFJvb3QgfSBmcm9tIFwiLi4vcm9vdFwiO1xuaW1wb3J0IHsgcmVjYWxjdWxhdGVOdW1lcmljQnVsbGV0cyB9IGZyb20gXCIuLi9yb290L3JlY2FsY3VsYXRlTnVtZXJpY0J1bGxldHNcIjtcblxuZXhwb3J0IGNsYXNzIE1vdmVVcE9wZXJhdGlvbiBpbXBsZW1lbnRzIE9wZXJhdGlvbiB7XG4gIHByaXZhdGUgc3RvcFByb3BhZ2F0aW9uID0gZmFsc2U7XG4gIHByaXZhdGUgdXBkYXRlZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm9vdDogUm9vdCkge31cblxuICBzaG91bGRTdG9wUHJvcGFnYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcFByb3BhZ2F0aW9uO1xuICB9XG5cbiAgc2hvdWxkVXBkYXRlKCkge1xuICAgIHJldHVybiB0aGlzLnVwZGF0ZWQ7XG4gIH1cblxuICBwZXJmb3JtKCkge1xuICAgIGNvbnN0IHsgcm9vdCB9ID0gdGhpcztcblxuICAgIGlmICghcm9vdC5oYXNTaW5nbGVDdXJzb3IoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc3RvcFByb3BhZ2F0aW9uID0gdHJ1ZTtcblxuICAgIGNvbnN0IGxpc3QgPSByb290LmdldExpc3RVbmRlckN1cnNvcigpO1xuICAgIGNvbnN0IHBhcmVudCA9IGxpc3QuZ2V0UGFyZW50KCk7XG4gICAgY29uc3QgZ3JhbmRQYXJlbnQgPSBwYXJlbnQuZ2V0UGFyZW50KCk7XG4gICAgY29uc3QgcHJldiA9IHBhcmVudC5nZXRQcmV2U2libGluZ09mKGxpc3QpO1xuXG4gICAgY29uc3QgbGlzdFN0YXJ0TGluZUJlZm9yZSA9IHJvb3QuZ2V0Q29udGVudExpbmVzUmFuZ2VPZihsaXN0KVswXTtcblxuICAgIGlmICghcHJldiAmJiBncmFuZFBhcmVudCkge1xuICAgICAgY29uc3QgbmV3UGFyZW50ID0gZ3JhbmRQYXJlbnQuZ2V0UHJldlNpYmxpbmdPZihwYXJlbnQpO1xuXG4gICAgICBpZiAobmV3UGFyZW50KSB7XG4gICAgICAgIHRoaXMudXBkYXRlZCA9IHRydWU7XG4gICAgICAgIHBhcmVudC5yZW1vdmVDaGlsZChsaXN0KTtcbiAgICAgICAgbmV3UGFyZW50LmFkZEFmdGVyQWxsKGxpc3QpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocHJldikge1xuICAgICAgdGhpcy51cGRhdGVkID0gdHJ1ZTtcbiAgICAgIHBhcmVudC5yZW1vdmVDaGlsZChsaXN0KTtcbiAgICAgIHBhcmVudC5hZGRCZWZvcmUocHJldiwgbGlzdCk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnVwZGF0ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBsaXN0U3RhcnRMaW5lQWZ0ZXIgPSByb290LmdldENvbnRlbnRMaW5lc1JhbmdlT2YobGlzdClbMF07XG4gICAgY29uc3QgbGluZURpZmYgPSBsaXN0U3RhcnRMaW5lQWZ0ZXIgLSBsaXN0U3RhcnRMaW5lQmVmb3JlO1xuXG4gICAgY29uc3QgY3Vyc29yID0gcm9vdC5nZXRDdXJzb3IoKTtcbiAgICByb290LnJlcGxhY2VDdXJzb3Ioe1xuICAgICAgbGluZTogY3Vyc29yLmxpbmUgKyBsaW5lRGlmZixcbiAgICAgIGNoOiBjdXJzb3IuY2gsXG4gICAgfSk7XG5cbiAgICByZWNhbGN1bGF0ZU51bWVyaWNCdWxsZXRzKHJvb3QpO1xuICB9XG59XG4iLCJpbXBvcnQgeyBQbHVnaW5fMiB9IGZyb20gXCJvYnNpZGlhblwiO1xuXG5pbXBvcnQgeyBQcmVjIH0gZnJvbSBcIkBjb2RlbWlycm9yL3N0YXRlXCI7XG5pbXBvcnQgeyBrZXltYXAgfSBmcm9tIFwiQGNvZGVtaXJyb3Ivdmlld1wiO1xuXG5pbXBvcnQgeyBNeUVkaXRvciB9IGZyb20gXCIuLi9NeUVkaXRvclwiO1xuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gXCIuLi9mZWF0dXJlcy9GZWF0dXJlXCI7XG5pbXBvcnQgeyBNb3ZlRG93bk9wZXJhdGlvbiB9IGZyb20gXCIuLi9vcGVyYXRpb25zL01vdmVEb3duT3BlcmF0aW9uXCI7XG5pbXBvcnQgeyBNb3ZlTGVmdE9wZXJhdGlvbiB9IGZyb20gXCIuLi9vcGVyYXRpb25zL01vdmVMZWZ0T3BlcmF0aW9uXCI7XG5pbXBvcnQgeyBNb3ZlUmlnaHRPcGVyYXRpb24gfSBmcm9tIFwiLi4vb3BlcmF0aW9ucy9Nb3ZlUmlnaHRPcGVyYXRpb25cIjtcbmltcG9ydCB7IE1vdmVVcE9wZXJhdGlvbiB9IGZyb20gXCIuLi9vcGVyYXRpb25zL01vdmVVcE9wZXJhdGlvblwiO1xuaW1wb3J0IHsgSU1FU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9JTUVTZXJ2aWNlXCI7XG5pbXBvcnQgeyBPYnNpZGlhblNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvT2JzaWRpYW5TZXJ2aWNlXCI7XG5pbXBvcnQgeyBQZXJmb3JtT3BlcmF0aW9uU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9QZXJmb3JtT3BlcmF0aW9uU2VydmljZVwiO1xuaW1wb3J0IHsgU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL1NldHRpbmdzU2VydmljZVwiO1xuXG5leHBvcnQgY2xhc3MgTW92ZUl0ZW1zRmVhdHVyZSBpbXBsZW1lbnRzIEZlYXR1cmUge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHBsdWdpbjogUGx1Z2luXzIsXG4gICAgcHJpdmF0ZSBpbWU6IElNRVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBvYnNpZGlhbjogT2JzaWRpYW5TZXJ2aWNlLFxuICAgIHByaXZhdGUgc2V0dGluZ3M6IFNldHRpbmdzU2VydmljZSxcbiAgICBwcml2YXRlIHBlcmZvcm1PcGVyYXRpb246IFBlcmZvcm1PcGVyYXRpb25TZXJ2aWNlXG4gICkge31cblxuICBhc3luYyBsb2FkKCkge1xuICAgIHRoaXMucGx1Z2luLmFkZENvbW1hbmQoe1xuICAgICAgaWQ6IFwibW92ZS1saXN0LWl0ZW0tdXBcIixcbiAgICAgIGljb246IFwiYXJyb3ctdXBcIixcbiAgICAgIG5hbWU6IFwiTW92ZSBsaXN0IGFuZCBzdWJsaXN0cyB1cFwiLFxuICAgICAgZWRpdG9yQ2FsbGJhY2s6IHRoaXMub2JzaWRpYW4uY3JlYXRlRWRpdG9yQ2FsbGJhY2soXG4gICAgICAgIHRoaXMubW92ZUxpc3RFbGVtZW50VXBDb21tYW5kXG4gICAgICApLFxuICAgICAgaG90a2V5czogW1xuICAgICAgICB7XG4gICAgICAgICAgbW9kaWZpZXJzOiBbXCJNb2RcIiwgXCJTaGlmdFwiXSxcbiAgICAgICAgICBrZXk6IFwiQXJyb3dVcFwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KTtcblxuICAgIHRoaXMucGx1Z2luLmFkZENvbW1hbmQoe1xuICAgICAgaWQ6IFwibW92ZS1saXN0LWl0ZW0tZG93blwiLFxuICAgICAgaWNvbjogXCJhcnJvdy1kb3duXCIsXG4gICAgICBuYW1lOiBcIk1vdmUgbGlzdCBhbmQgc3VibGlzdHMgZG93blwiLFxuICAgICAgZWRpdG9yQ2FsbGJhY2s6IHRoaXMub2JzaWRpYW4uY3JlYXRlRWRpdG9yQ2FsbGJhY2soXG4gICAgICAgIHRoaXMubW92ZUxpc3RFbGVtZW50RG93bkNvbW1hbmRcbiAgICAgICksXG4gICAgICBob3RrZXlzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBtb2RpZmllcnM6IFtcIk1vZFwiLCBcIlNoaWZ0XCJdLFxuICAgICAgICAgIGtleTogXCJBcnJvd0Rvd25cIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICB0aGlzLnBsdWdpbi5hZGRDb21tYW5kKHtcbiAgICAgIGlkOiBcImluZGVudC1saXN0XCIsXG4gICAgICBpY29uOiBcImluZGVudFwiLFxuICAgICAgbmFtZTogXCJJbmRlbnQgdGhlIGxpc3QgYW5kIHN1Ymxpc3RzXCIsXG4gICAgICBlZGl0b3JDYWxsYmFjazogdGhpcy5vYnNpZGlhbi5jcmVhdGVFZGl0b3JDYWxsYmFjayhcbiAgICAgICAgdGhpcy5tb3ZlTGlzdEVsZW1lbnRSaWdodENvbW1hbmRcbiAgICAgICksXG4gICAgICBob3RrZXlzOiBbXSxcbiAgICB9KTtcblxuICAgIHRoaXMucGx1Z2luLmFkZENvbW1hbmQoe1xuICAgICAgaWQ6IFwib3V0ZGVudC1saXN0XCIsXG4gICAgICBpY29uOiBcIm91dGRlbnRcIixcbiAgICAgIG5hbWU6IFwiT3V0ZGVudCB0aGUgbGlzdCBhbmQgc3VibGlzdHNcIixcbiAgICAgIGVkaXRvckNhbGxiYWNrOiB0aGlzLm9ic2lkaWFuLmNyZWF0ZUVkaXRvckNhbGxiYWNrKFxuICAgICAgICB0aGlzLm1vdmVMaXN0RWxlbWVudExlZnRDb21tYW5kXG4gICAgICApLFxuICAgICAgaG90a2V5czogW10sXG4gICAgfSk7XG5cbiAgICB0aGlzLnBsdWdpbi5yZWdpc3RlckVkaXRvckV4dGVuc2lvbihcbiAgICAgIFByZWMuaGlnaGVzdChcbiAgICAgICAga2V5bWFwLm9mKFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IFwiVGFiXCIsXG4gICAgICAgICAgICBydW46IHRoaXMub2JzaWRpYW4uY3JlYXRlS2V5bWFwUnVuQ2FsbGJhY2soe1xuICAgICAgICAgICAgICBjaGVjazogdGhpcy5jaGVjayxcbiAgICAgICAgICAgICAgcnVuOiB0aGlzLm1vdmVMaXN0RWxlbWVudFJpZ2h0LFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IFwicy1UYWJcIixcbiAgICAgICAgICAgIHJ1bjogdGhpcy5vYnNpZGlhbi5jcmVhdGVLZXltYXBSdW5DYWxsYmFjayh7XG4gICAgICAgICAgICAgIGNoZWNrOiB0aGlzLmNoZWNrLFxuICAgICAgICAgICAgICBydW46IHRoaXMubW92ZUxpc3RFbGVtZW50TGVmdCxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0pXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIGFzeW5jIHVubG9hZCgpIHt9XG5cbiAgcHJpdmF0ZSBjaGVjayA9ICgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5zZXR0aW5ncy5iZXR0ZXJUYWIgJiYgIXRoaXMuaW1lLmlzSU1FT3BlbmVkKCk7XG4gIH07XG5cbiAgcHJpdmF0ZSBtb3ZlTGlzdEVsZW1lbnREb3duQ29tbWFuZCA9IChlZGl0b3I6IE15RWRpdG9yKSA9PiB7XG4gICAgY29uc3QgeyBzaG91bGRTdG9wUHJvcGFnYXRpb24gfSA9IHRoaXMucGVyZm9ybU9wZXJhdGlvbi5wZXJmb3JtT3BlcmF0aW9uKFxuICAgICAgKHJvb3QpID0+IG5ldyBNb3ZlRG93bk9wZXJhdGlvbihyb290KSxcbiAgICAgIGVkaXRvclxuICAgICk7XG5cbiAgICByZXR1cm4gc2hvdWxkU3RvcFByb3BhZ2F0aW9uO1xuICB9O1xuXG4gIHByaXZhdGUgbW92ZUxpc3RFbGVtZW50VXBDb21tYW5kID0gKGVkaXRvcjogTXlFZGl0b3IpID0+IHtcbiAgICBjb25zdCB7IHNob3VsZFN0b3BQcm9wYWdhdGlvbiB9ID0gdGhpcy5wZXJmb3JtT3BlcmF0aW9uLnBlcmZvcm1PcGVyYXRpb24oXG4gICAgICAocm9vdCkgPT4gbmV3IE1vdmVVcE9wZXJhdGlvbihyb290KSxcbiAgICAgIGVkaXRvclxuICAgICk7XG5cbiAgICByZXR1cm4gc2hvdWxkU3RvcFByb3BhZ2F0aW9uO1xuICB9O1xuXG4gIHByaXZhdGUgbW92ZUxpc3RFbGVtZW50UmlnaHRDb21tYW5kID0gKGVkaXRvcjogTXlFZGl0b3IpID0+IHtcbiAgICBpZiAodGhpcy5pbWUuaXNJTUVPcGVuZWQoKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMubW92ZUxpc3RFbGVtZW50UmlnaHQoZWRpdG9yKS5zaG91bGRTdG9wUHJvcGFnYXRpb247XG4gIH07XG5cbiAgcHJpdmF0ZSBtb3ZlTGlzdEVsZW1lbnRSaWdodCA9IChlZGl0b3I6IE15RWRpdG9yKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMucGVyZm9ybU9wZXJhdGlvbi5wZXJmb3JtT3BlcmF0aW9uKFxuICAgICAgKHJvb3QpID0+XG4gICAgICAgIG5ldyBNb3ZlUmlnaHRPcGVyYXRpb24ocm9vdCwgdGhpcy5vYnNpZGlhbi5nZXREZWZhdWx0SW5kZW50Q2hhcnMoKSksXG4gICAgICBlZGl0b3JcbiAgICApO1xuICB9O1xuXG4gIHByaXZhdGUgbW92ZUxpc3RFbGVtZW50TGVmdENvbW1hbmQgPSAoZWRpdG9yOiBNeUVkaXRvcikgPT4ge1xuICAgIGlmICh0aGlzLmltZS5pc0lNRU9wZW5lZCgpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5tb3ZlTGlzdEVsZW1lbnRMZWZ0KGVkaXRvcikuc2hvdWxkU3RvcFByb3BhZ2F0aW9uO1xuICB9O1xuXG4gIHByaXZhdGUgbW92ZUxpc3RFbGVtZW50TGVmdCA9IChlZGl0b3I6IE15RWRpdG9yKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMucGVyZm9ybU9wZXJhdGlvbi5wZXJmb3JtT3BlcmF0aW9uKFxuICAgICAgKHJvb3QpID0+IG5ldyBNb3ZlTGVmdE9wZXJhdGlvbihyb290KSxcbiAgICAgIGVkaXRvclxuICAgICk7XG4gIH07XG59XG4iLCJpbXBvcnQgeyBPcGVyYXRpb24gfSBmcm9tIFwiLi9PcGVyYXRpb25cIjtcblxuaW1wb3J0IHsgUm9vdCwgbWF4UG9zLCBtaW5Qb3MgfSBmcm9tIFwiLi4vcm9vdFwiO1xuXG5leHBvcnQgY2xhc3MgU2VsZWN0QWxsT3BlcmF0aW9uIGltcGxlbWVudHMgT3BlcmF0aW9uIHtcbiAgcHJpdmF0ZSBzdG9wUHJvcGFnYXRpb24gPSBmYWxzZTtcbiAgcHJpdmF0ZSB1cGRhdGVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb290OiBSb290KSB7fVxuXG4gIHNob3VsZFN0b3BQcm9wYWdhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9wUHJvcGFnYXRpb247XG4gIH1cblxuICBzaG91bGRVcGRhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudXBkYXRlZDtcbiAgfVxuXG4gIHBlcmZvcm0oKSB7XG4gICAgY29uc3QgeyByb290IH0gPSB0aGlzO1xuXG4gICAgaWYgKCFyb290Lmhhc1NpbmdsZVNlbGVjdGlvbigpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc2VsZWN0aW9uID0gcm9vdC5nZXRTZWxlY3Rpb25zKClbMF07XG4gICAgY29uc3QgW3Jvb3RTdGFydCwgcm9vdEVuZF0gPSByb290LmdldFJhbmdlKCk7XG5cbiAgICBjb25zdCBzZWxlY3Rpb25Gcm9tID0gbWluUG9zKHNlbGVjdGlvbi5hbmNob3IsIHNlbGVjdGlvbi5oZWFkKTtcbiAgICBjb25zdCBzZWxlY3Rpb25UbyA9IG1heFBvcyhzZWxlY3Rpb24uYW5jaG9yLCBzZWxlY3Rpb24uaGVhZCk7XG5cbiAgICBpZiAoXG4gICAgICBzZWxlY3Rpb25Gcm9tLmxpbmUgPCByb290U3RhcnQubGluZSB8fFxuICAgICAgc2VsZWN0aW9uVG8ubGluZSA+IHJvb3RFbmQubGluZVxuICAgICkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHNlbGVjdGlvbkZyb20ubGluZSA9PT0gcm9vdFN0YXJ0LmxpbmUgJiZcbiAgICAgIHNlbGVjdGlvbkZyb20uY2ggPT09IHJvb3RTdGFydC5jaCAmJlxuICAgICAgc2VsZWN0aW9uVG8ubGluZSA9PT0gcm9vdEVuZC5saW5lICYmXG4gICAgICBzZWxlY3Rpb25Uby5jaCA9PT0gcm9vdEVuZC5jaFxuICAgICkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IGxpc3QgPSByb290LmdldExpc3RVbmRlckN1cnNvcigpO1xuICAgIGNvbnN0IGNvbnRlbnRTdGFydCA9IGxpc3QuZ2V0Rmlyc3RMaW5lQ29udGVudFN0YXJ0QWZ0ZXJDaGVja2JveCgpO1xuICAgIGNvbnN0IGNvbnRlbnRFbmQgPSBsaXN0LmdldExhc3RMaW5lQ29udGVudEVuZCgpO1xuXG4gICAgaWYgKFxuICAgICAgc2VsZWN0aW9uRnJvbS5saW5lIDwgY29udGVudFN0YXJ0LmxpbmUgfHxcbiAgICAgIHNlbGVjdGlvblRvLmxpbmUgPiBjb250ZW50RW5kLmxpbmVcbiAgICApIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICB0aGlzLnN0b3BQcm9wYWdhdGlvbiA9IHRydWU7XG4gICAgdGhpcy51cGRhdGVkID0gdHJ1ZTtcblxuICAgIGlmIChcbiAgICAgIHNlbGVjdGlvbkZyb20ubGluZSA9PT0gY29udGVudFN0YXJ0LmxpbmUgJiZcbiAgICAgIHNlbGVjdGlvbkZyb20uY2ggPT09IGNvbnRlbnRTdGFydC5jaCAmJlxuICAgICAgc2VsZWN0aW9uVG8ubGluZSA9PT0gY29udGVudEVuZC5saW5lICYmXG4gICAgICBzZWxlY3Rpb25Uby5jaCA9PT0gY29udGVudEVuZC5jaFxuICAgICkge1xuICAgICAgLy8gc2VsZWN0IHdob2xlIGxpc3RcbiAgICAgIHJvb3QucmVwbGFjZVNlbGVjdGlvbnMoW3sgYW5jaG9yOiByb290U3RhcnQsIGhlYWQ6IHJvb3RFbmQgfV0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBzZWxlY3Qgd2hvbGUgbGluZVxuICAgICAgcm9vdC5yZXBsYWNlU2VsZWN0aW9ucyhbeyBhbmNob3I6IGNvbnRlbnRTdGFydCwgaGVhZDogY29udGVudEVuZCB9XSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cbiIsImltcG9ydCB7IFBsdWdpbl8yIH0gZnJvbSBcIm9ic2lkaWFuXCI7XG5cbmltcG9ydCB7IGtleW1hcCB9IGZyb20gXCJAY29kZW1pcnJvci92aWV3XCI7XG5cbmltcG9ydCB7IE15RWRpdG9yIH0gZnJvbSBcIi4uL015RWRpdG9yXCI7XG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSBcIi4uL2ZlYXR1cmVzL0ZlYXR1cmVcIjtcbmltcG9ydCB7IFNlbGVjdEFsbE9wZXJhdGlvbiB9IGZyb20gXCIuLi9vcGVyYXRpb25zL1NlbGVjdEFsbE9wZXJhdGlvblwiO1xuaW1wb3J0IHsgSU1FU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9JTUVTZXJ2aWNlXCI7XG5pbXBvcnQgeyBPYnNpZGlhblNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvT2JzaWRpYW5TZXJ2aWNlXCI7XG5pbXBvcnQgeyBQZXJmb3JtT3BlcmF0aW9uU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9QZXJmb3JtT3BlcmF0aW9uU2VydmljZVwiO1xuaW1wb3J0IHsgU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL1NldHRpbmdzU2VydmljZVwiO1xuXG5leHBvcnQgY2xhc3MgU2VsZWN0QWxsRmVhdHVyZSBpbXBsZW1lbnRzIEZlYXR1cmUge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHBsdWdpbjogUGx1Z2luXzIsXG4gICAgcHJpdmF0ZSBzZXR0aW5nczogU2V0dGluZ3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgaW1lOiBJTUVTZXJ2aWNlLFxuICAgIHByaXZhdGUgb2JzaWRpYW46IE9ic2lkaWFuU2VydmljZSxcbiAgICBwcml2YXRlIHBlcmZvcm1PcGVyYXRpb246IFBlcmZvcm1PcGVyYXRpb25TZXJ2aWNlXG4gICkge31cblxuICBhc3luYyBsb2FkKCkge1xuICAgIHRoaXMucGx1Z2luLnJlZ2lzdGVyRWRpdG9yRXh0ZW5zaW9uKFxuICAgICAga2V5bWFwLm9mKFtcbiAgICAgICAge1xuICAgICAgICAgIGtleTogXCJjLWFcIixcbiAgICAgICAgICBtYWM6IFwibS1hXCIsXG4gICAgICAgICAgcnVuOiB0aGlzLm9ic2lkaWFuLmNyZWF0ZUtleW1hcFJ1bkNhbGxiYWNrKHtcbiAgICAgICAgICAgIGNoZWNrOiB0aGlzLmNoZWNrLFxuICAgICAgICAgICAgcnVuOiB0aGlzLnJ1bixcbiAgICAgICAgICB9KSxcbiAgICAgICAgfSxcbiAgICAgIF0pXG4gICAgKTtcbiAgfVxuXG4gIGFzeW5jIHVubG9hZCgpIHt9XG5cbiAgcHJpdmF0ZSBjaGVjayA9ICgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5zZXR0aW5ncy5zZWxlY3RBbGwgJiYgIXRoaXMuaW1lLmlzSU1FT3BlbmVkKCk7XG4gIH07XG5cbiAgcHJpdmF0ZSBydW4gPSAoZWRpdG9yOiBNeUVkaXRvcikgPT4ge1xuICAgIHJldHVybiB0aGlzLnBlcmZvcm1PcGVyYXRpb24ucGVyZm9ybU9wZXJhdGlvbihcbiAgICAgIChyb290KSA9PiBuZXcgU2VsZWN0QWxsT3BlcmF0aW9uKHJvb3QpLFxuICAgICAgZWRpdG9yXG4gICAgKTtcbiAgfTtcbn1cbiIsImltcG9ydCB7IE9wZXJhdGlvbiB9IGZyb20gXCIuL09wZXJhdGlvblwiO1xuXG5pbXBvcnQgeyBQb3NpdGlvbiwgUm9vdCB9IGZyb20gXCIuLi9yb290XCI7XG5cbmV4cG9ydCBjbGFzcyBTZWxlY3RUaWxsTGluZVN0YXJ0T3BlcmF0aW9uIGltcGxlbWVudHMgT3BlcmF0aW9uIHtcbiAgcHJpdmF0ZSBzdG9wUHJvcGFnYXRpb24gPSBmYWxzZTtcbiAgcHJpdmF0ZSB1cGRhdGVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb290OiBSb290KSB7fVxuXG4gIHNob3VsZFN0b3BQcm9wYWdhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9wUHJvcGFnYXRpb247XG4gIH1cblxuICBzaG91bGRVcGRhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudXBkYXRlZDtcbiAgfVxuXG4gIHBlcmZvcm0oKSB7XG4gICAgY29uc3QgeyByb290IH0gPSB0aGlzO1xuXG4gICAgaWYgKCFyb290Lmhhc1NpbmdsZUN1cnNvcigpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zdG9wUHJvcGFnYXRpb24gPSB0cnVlO1xuICAgIHRoaXMudXBkYXRlZCA9IHRydWU7XG5cbiAgICBjb25zdCBjdXJzb3IgPSByb290LmdldEN1cnNvcigpO1xuICAgIGNvbnN0IGxpc3QgPSByb290LmdldExpc3RVbmRlckN1cnNvcigpO1xuICAgIGNvbnN0IGxpbmVzID0gbGlzdC5nZXRMaW5lc0luZm8oKTtcbiAgICBjb25zdCBsaW5lTm8gPSBsaW5lcy5maW5kSW5kZXgoKGwpID0+IGwuZnJvbS5saW5lID09PSBjdXJzb3IubGluZSk7XG4gICAgY29uc3Qgb2Zmc2V0ID0gbGluZU5vID09PSAwID8gbGlzdC5nZXRDaGVja2JveExlbmd0aCgpIDogMDtcblxuICAgIGNvbnN0IG5ld0hlYWQ6IFBvc2l0aW9uID0ge1xuICAgICAgY2g6IGxpbmVzW2xpbmVOb10uZnJvbS5jaCArIG9mZnNldCxcbiAgICAgIGxpbmU6IGxpbmVzW2xpbmVOb10uZnJvbS5saW5lLFxuICAgIH07XG5cbiAgICByb290LnJlcGxhY2VTZWxlY3Rpb25zKFt7IGhlYWQ6IG5ld0hlYWQsIGFuY2hvcjogY3Vyc29yIH1dKTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgUGx1Z2luXzIgfSBmcm9tIFwib2JzaWRpYW5cIjtcblxuaW1wb3J0IHsga2V5bWFwIH0gZnJvbSBcIkBjb2RlbWlycm9yL3ZpZXdcIjtcblxuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gXCIuL0ZlYXR1cmVcIjtcblxuaW1wb3J0IHsgTXlFZGl0b3IgfSBmcm9tIFwiLi4vTXlFZGl0b3JcIjtcbmltcG9ydCB7IFNlbGVjdFRpbGxMaW5lU3RhcnRPcGVyYXRpb24gfSBmcm9tIFwiLi4vb3BlcmF0aW9ucy9TZWxlY3RUaWxsTGluZVN0YXJ0T3BlcmF0aW9uXCI7XG5pbXBvcnQgeyBJTUVTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL0lNRVNlcnZpY2VcIjtcbmltcG9ydCB7IE9ic2lkaWFuU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9PYnNpZGlhblNlcnZpY2VcIjtcbmltcG9ydCB7IFBlcmZvcm1PcGVyYXRpb25TZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL1BlcmZvcm1PcGVyYXRpb25TZXJ2aWNlXCI7XG5pbXBvcnQgeyBTZXR0aW5nc1NlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvU2V0dGluZ3NTZXJ2aWNlXCI7XG5cbmV4cG9ydCBjbGFzcyBTZWxlY3Rpb25TaG91bGRJZ25vcmVCdWxsZXRzRmVhdHVyZSBpbXBsZW1lbnRzIEZlYXR1cmUge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHBsdWdpbjogUGx1Z2luXzIsXG4gICAgcHJpdmF0ZSBzZXR0aW5nczogU2V0dGluZ3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgaW1lOiBJTUVTZXJ2aWNlLFxuICAgIHByaXZhdGUgb2JzaWRpYW46IE9ic2lkaWFuU2VydmljZSxcbiAgICBwcml2YXRlIHBlcmZvcm1PcGVyYXRpb246IFBlcmZvcm1PcGVyYXRpb25TZXJ2aWNlXG4gICkge31cblxuICBhc3luYyBsb2FkKCkge1xuICAgIHRoaXMucGx1Z2luLnJlZ2lzdGVyRWRpdG9yRXh0ZW5zaW9uKFxuICAgICAga2V5bWFwLm9mKFtcbiAgICAgICAge1xuICAgICAgICAgIGtleTogXCJtLXMtQXJyb3dMZWZ0XCIsXG4gICAgICAgICAgcnVuOiB0aGlzLm9ic2lkaWFuLmNyZWF0ZUtleW1hcFJ1bkNhbGxiYWNrKHtcbiAgICAgICAgICAgIGNoZWNrOiB0aGlzLmNoZWNrLFxuICAgICAgICAgICAgcnVuOiB0aGlzLnJ1bixcbiAgICAgICAgICB9KSxcbiAgICAgICAgfSxcbiAgICAgIF0pXG4gICAgKTtcbiAgfVxuXG4gIGFzeW5jIHVubG9hZCgpIHt9XG5cbiAgcHJpdmF0ZSBjaGVjayA9ICgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5zZXR0aW5ncy5zdGlja0N1cnNvciAhPSBcIm5ldmVyXCIgJiYgIXRoaXMuaW1lLmlzSU1FT3BlbmVkKCk7XG4gIH07XG5cbiAgcHJpdmF0ZSBydW4gPSAoZWRpdG9yOiBNeUVkaXRvcikgPT4ge1xuICAgIHJldHVybiB0aGlzLnBlcmZvcm1PcGVyYXRpb24ucGVyZm9ybU9wZXJhdGlvbihcbiAgICAgIChyb290KSA9PiBuZXcgU2VsZWN0VGlsbExpbmVTdGFydE9wZXJhdGlvbihyb290KSxcbiAgICAgIGVkaXRvclxuICAgICk7XG4gIH07XG59XG4iLCJpbXBvcnQgeyBBcHAsIFBsdWdpblNldHRpbmdUYWIsIFBsdWdpbl8yLCBTZXR0aW5nIH0gZnJvbSBcIm9ic2lkaWFuXCI7XG5cbmltcG9ydCB7IEZlYXR1cmUgfSBmcm9tIFwiLi9GZWF0dXJlXCI7XG5cbmltcG9ydCB7XG4gIExpc3RMaW5lQWN0aW9uLFxuICBTZXR0aW5nc1NlcnZpY2UsXG4gIFN0aWNrQ3Vyc29yLFxufSBmcm9tIFwiLi4vc2VydmljZXMvU2V0dGluZ3NTZXJ2aWNlXCI7XG5cbmNsYXNzIE9ic2lkaWFuT3V0bGluZXJQbHVnaW5TZXR0aW5nVGFiIGV4dGVuZHMgUGx1Z2luU2V0dGluZ1RhYiB7XG4gIGNvbnN0cnVjdG9yKGFwcDogQXBwLCBwbHVnaW46IFBsdWdpbl8yLCBwcml2YXRlIHNldHRpbmdzOiBTZXR0aW5nc1NlcnZpY2UpIHtcbiAgICBzdXBlcihhcHAsIHBsdWdpbik7XG4gIH1cblxuICBkaXNwbGF5KCk6IHZvaWQge1xuICAgIGNvbnN0IHsgY29udGFpbmVyRWwgfSA9IHRoaXM7XG5cbiAgICBjb250YWluZXJFbC5lbXB0eSgpO1xuXG4gICAgbmV3IFNldHRpbmcoY29udGFpbmVyRWwpXG4gICAgICAuc2V0TmFtZShcIkltcHJvdmUgdGhlIHN0eWxlIG9mIHlvdXIgbGlzdHNcIilcbiAgICAgIC5zZXREZXNjKFxuICAgICAgICBcIlN0eWxlcyBhcmUgb25seSBjb21wYXRpYmxlIHdpdGggYnVpbHQtaW4gT2JzaWRpYW4gdGhlbWVzIGFuZCBtYXkgbm90IGJlIGNvbXBhdGlibGUgd2l0aCBvdGhlciB0aGVtZXMuXCJcbiAgICAgIClcbiAgICAgIC5hZGRUb2dnbGUoKHRvZ2dsZSkgPT4ge1xuICAgICAgICB0b2dnbGUuc2V0VmFsdWUodGhpcy5zZXR0aW5ncy5zdHlsZUxpc3RzKS5vbkNoYW5nZShhc3luYyAodmFsdWUpID0+IHtcbiAgICAgICAgICB0aGlzLnNldHRpbmdzLnN0eWxlTGlzdHMgPSB2YWx1ZTtcbiAgICAgICAgICBhd2FpdCB0aGlzLnNldHRpbmdzLnNhdmUoKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgIG5ldyBTZXR0aW5nKGNvbnRhaW5lckVsKVxuICAgICAgLnNldE5hbWUoXCJEcmF3IHZlcnRpY2FsIGluZGVudGF0aW9uIGxpbmVzXCIpXG4gICAgICAuYWRkVG9nZ2xlKCh0b2dnbGUpID0+IHtcbiAgICAgICAgdG9nZ2xlLnNldFZhbHVlKHRoaXMuc2V0dGluZ3MubGlzdExpbmVzKS5vbkNoYW5nZShhc3luYyAodmFsdWUpID0+IHtcbiAgICAgICAgICB0aGlzLnNldHRpbmdzLmxpc3RMaW5lcyA9IHZhbHVlO1xuICAgICAgICAgIGF3YWl0IHRoaXMuc2V0dGluZ3Muc2F2ZSgpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgbmV3IFNldHRpbmcoY29udGFpbmVyRWwpXG4gICAgICAuc2V0TmFtZShcIlZlcnRpY2FsIGluZGVudGF0aW9uIGxpbmUgY2xpY2sgYWN0aW9uXCIpXG4gICAgICAuYWRkRHJvcGRvd24oKGRyb3Bkb3duKSA9PiB7XG4gICAgICAgIGRyb3Bkb3duXG4gICAgICAgICAgLmFkZE9wdGlvbnMoe1xuICAgICAgICAgICAgbm9uZTogXCJOb25lXCIsXG4gICAgICAgICAgICBcInpvb20taW5cIjogXCJab29tIEluXCIsXG4gICAgICAgICAgICBcInRvZ2dsZS1mb2xkaW5nXCI6IFwiVG9nZ2xlIEZvbGRpbmdcIixcbiAgICAgICAgICB9IGFzIHsgW2tleSBpbiBMaXN0TGluZUFjdGlvbl06IHN0cmluZyB9KVxuICAgICAgICAgIC5zZXRWYWx1ZSh0aGlzLnNldHRpbmdzLmxpc3RMaW5lQWN0aW9uKVxuICAgICAgICAgIC5vbkNoYW5nZShhc3luYyAodmFsdWUpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2V0dGluZ3MubGlzdExpbmVBY3Rpb24gPSB2YWx1ZSBhcyBMaXN0TGluZUFjdGlvbjtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuc2V0dGluZ3Muc2F2ZSgpO1xuICAgICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICBuZXcgU2V0dGluZyhjb250YWluZXJFbClcbiAgICAgIC5zZXROYW1lKFwiU3RpY2sgdGhlIGN1cnNvciB0byB0aGUgY29udGVudFwiKVxuICAgICAgLnNldERlc2MoXCJEb24ndCBsZXQgdGhlIGN1cnNvciBtb3ZlIHRvIHRoZSBidWxsZXQgcG9zaXRpb24uXCIpXG4gICAgICAuYWRkRHJvcGRvd24oKGRyb3Bkb3duKSA9PiB7XG4gICAgICAgIGRyb3Bkb3duXG4gICAgICAgICAgLmFkZE9wdGlvbnMoe1xuICAgICAgICAgICAgbmV2ZXI6IFwiTmV2ZXJcIixcbiAgICAgICAgICAgIFwiYnVsbGV0LW9ubHlcIjogXCJTdGljayBjdXJzb3Igb3V0IG9mIGJ1bGxldHNcIixcbiAgICAgICAgICAgIFwiYnVsbGV0LWFuZC1jaGVja2JveFwiOiBcIlN0aWNrIGN1cnNvciBvdXQgb2YgYnVsbGV0cyBhbmQgY2hlY2tib3hlc1wiLFxuICAgICAgICAgIH0gYXMgeyBba2V5IGluIFN0aWNrQ3Vyc29yXTogc3RyaW5nIH0pXG4gICAgICAgICAgLnNldFZhbHVlKHRoaXMuc2V0dGluZ3Muc3RpY2tDdXJzb3IpXG4gICAgICAgICAgLm9uQ2hhbmdlKGFzeW5jICh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZXR0aW5ncy5zdGlja0N1cnNvciA9IHZhbHVlIGFzIFN0aWNrQ3Vyc29yO1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5zZXR0aW5ncy5zYXZlKCk7XG4gICAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgIG5ldyBTZXR0aW5nKGNvbnRhaW5lckVsKVxuICAgICAgLnNldE5hbWUoXCJFbmhhbmNlIHRoZSBFbnRlciBrZXlcIilcbiAgICAgIC5zZXREZXNjKFwiTWFrZSB0aGUgRW50ZXIga2V5IGJlaGF2ZSB0aGUgc2FtZSBhcyBvdGhlciBvdXRsaW5lcnMuXCIpXG4gICAgICAuYWRkVG9nZ2xlKCh0b2dnbGUpID0+IHtcbiAgICAgICAgdG9nZ2xlLnNldFZhbHVlKHRoaXMuc2V0dGluZ3MuYmV0dGVyRW50ZXIpLm9uQ2hhbmdlKGFzeW5jICh2YWx1ZSkgPT4ge1xuICAgICAgICAgIHRoaXMuc2V0dGluZ3MuYmV0dGVyRW50ZXIgPSB2YWx1ZTtcbiAgICAgICAgICBhd2FpdCB0aGlzLnNldHRpbmdzLnNhdmUoKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgIG5ldyBTZXR0aW5nKGNvbnRhaW5lckVsKVxuICAgICAgLnNldE5hbWUoXCJFbmhhbmNlIHRoZSBUYWIga2V5XCIpXG4gICAgICAuc2V0RGVzYyhcIk1ha2UgVGFiIGFuZCBTaGlmdC1UYWIgYmVoYXZlIHRoZSBzYW1lIGFzIG90aGVyIG91dGxpbmVycy5cIilcbiAgICAgIC5hZGRUb2dnbGUoKHRvZ2dsZSkgPT4ge1xuICAgICAgICB0b2dnbGUuc2V0VmFsdWUodGhpcy5zZXR0aW5ncy5iZXR0ZXJUYWIpLm9uQ2hhbmdlKGFzeW5jICh2YWx1ZSkgPT4ge1xuICAgICAgICAgIHRoaXMuc2V0dGluZ3MuYmV0dGVyVGFiID0gdmFsdWU7XG4gICAgICAgICAgYXdhaXQgdGhpcy5zZXR0aW5ncy5zYXZlKCk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICBuZXcgU2V0dGluZyhjb250YWluZXJFbClcbiAgICAgIC5zZXROYW1lKFwiRW5oYW5jZSB0aGUgQ3RybCtBIG9yIENtZCtBIGJlaGF2aW9yXCIpXG4gICAgICAuc2V0RGVzYyhcbiAgICAgICAgXCJQcmVzcyB0aGUgaG90a2V5IG9uY2UgdG8gc2VsZWN0IHRoZSBjdXJyZW50IGxpc3QgaXRlbS4gUHJlc3MgdGhlIGhvdGtleSB0d2ljZSB0byBzZWxlY3QgdGhlIGVudGlyZSBsaXN0LlwiXG4gICAgICApXG4gICAgICAuYWRkVG9nZ2xlKCh0b2dnbGUpID0+IHtcbiAgICAgICAgdG9nZ2xlLnNldFZhbHVlKHRoaXMuc2V0dGluZ3Muc2VsZWN0QWxsKS5vbkNoYW5nZShhc3luYyAodmFsdWUpID0+IHtcbiAgICAgICAgICB0aGlzLnNldHRpbmdzLnNlbGVjdEFsbCA9IHZhbHVlO1xuICAgICAgICAgIGF3YWl0IHRoaXMuc2V0dGluZ3Muc2F2ZSgpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgbmV3IFNldHRpbmcoY29udGFpbmVyRWwpXG4gICAgICAuc2V0TmFtZShcIkRlYnVnIG1vZGVcIilcbiAgICAgIC5zZXREZXNjKFxuICAgICAgICBcIk9wZW4gRGV2VG9vbHMgKENvbW1hbmQrT3B0aW9uK0kgb3IgQ29udHJvbCtTaGlmdCtJKSB0byBjb3B5IHRoZSBkZWJ1ZyBsb2dzLlwiXG4gICAgICApXG4gICAgICAuYWRkVG9nZ2xlKCh0b2dnbGUpID0+IHtcbiAgICAgICAgdG9nZ2xlLnNldFZhbHVlKHRoaXMuc2V0dGluZ3MuZGVidWcpLm9uQ2hhbmdlKGFzeW5jICh2YWx1ZSkgPT4ge1xuICAgICAgICAgIHRoaXMuc2V0dGluZ3MuZGVidWcgPSB2YWx1ZTtcbiAgICAgICAgICBhd2FpdCB0aGlzLnNldHRpbmdzLnNhdmUoKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgU2V0dGluZ3NUYWJGZWF0dXJlIGltcGxlbWVudHMgRmVhdHVyZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGx1Z2luOiBQbHVnaW5fMiwgcHJpdmF0ZSBzZXR0aW5nczogU2V0dGluZ3NTZXJ2aWNlKSB7fVxuXG4gIGFzeW5jIGxvYWQoKSB7XG4gICAgdGhpcy5wbHVnaW4uYWRkU2V0dGluZ1RhYihcbiAgICAgIG5ldyBPYnNpZGlhbk91dGxpbmVyUGx1Z2luU2V0dGluZ1RhYihcbiAgICAgICAgdGhpcy5wbHVnaW4uYXBwLFxuICAgICAgICB0aGlzLnBsdWdpbixcbiAgICAgICAgdGhpcy5zZXR0aW5nc1xuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBhc3luYyB1bmxvYWQoKSB7fVxufVxuIiwiaW1wb3J0IHsgT3BlcmF0aW9uIH0gZnJvbSBcIi4vT3BlcmF0aW9uXCI7XG5cbmltcG9ydCB7IFJvb3QgfSBmcm9tIFwiLi4vcm9vdFwiO1xuXG5leHBvcnQgY2xhc3MgQ3JlYXRlTm90ZUxpbmVPcGVyYXRpb24gaW1wbGVtZW50cyBPcGVyYXRpb24ge1xuICBwcml2YXRlIHN0b3BQcm9wYWdhdGlvbiA9IGZhbHNlO1xuICBwcml2YXRlIHVwZGF0ZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvb3Q6IFJvb3QpIHt9XG5cbiAgc2hvdWxkU3RvcFByb3BhZ2F0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnN0b3BQcm9wYWdhdGlvbjtcbiAgfVxuXG4gIHNob3VsZFVwZGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy51cGRhdGVkO1xuICB9XG5cbiAgcGVyZm9ybSgpIHtcbiAgICBjb25zdCB7IHJvb3QgfSA9IHRoaXM7XG5cbiAgICBpZiAoIXJvb3QuaGFzU2luZ2xlQ3Vyc29yKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjdXJzb3IgPSByb290LmdldEN1cnNvcigpO1xuICAgIGNvbnN0IGxpc3QgPSByb290LmdldExpc3RVbmRlckN1cnNvcigpO1xuICAgIGNvbnN0IGxpbmVVbmRlckN1cnNvciA9IGxpc3RcbiAgICAgIC5nZXRMaW5lc0luZm8oKVxuICAgICAgLmZpbmQoKGwpID0+IGwuZnJvbS5saW5lID09PSBjdXJzb3IubGluZSk7XG5cbiAgICBpZiAoY3Vyc29yLmNoIDwgbGluZVVuZGVyQ3Vyc29yLmZyb20uY2gpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnN0b3BQcm9wYWdhdGlvbiA9IHRydWU7XG4gICAgdGhpcy51cGRhdGVkID0gdHJ1ZTtcblxuICAgIGlmICghbGlzdC5nZXROb3Rlc0luZGVudCgpKSB7XG4gICAgICBsaXN0LnNldE5vdGVzSW5kZW50KGxpc3QuZ2V0Rmlyc3RMaW5lSW5kZW50KCkgKyBcIiAgXCIpO1xuICAgIH1cblxuICAgIGNvbnN0IGxpbmVzID0gbGlzdC5nZXRMaW5lc0luZm8oKS5yZWR1Y2UoKGFjYywgbGluZSkgPT4ge1xuICAgICAgaWYgKGN1cnNvci5saW5lID09PSBsaW5lLmZyb20ubGluZSkge1xuICAgICAgICBhY2MucHVzaChsaW5lLnRleHQuc2xpY2UoMCwgY3Vyc29yLmNoIC0gbGluZS5mcm9tLmNoKSk7XG4gICAgICAgIGFjYy5wdXNoKGxpbmUudGV4dC5zbGljZShjdXJzb3IuY2ggLSBsaW5lLmZyb20uY2gpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFjYy5wdXNoKGxpbmUudGV4dCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwgW10gYXMgc3RyaW5nW10pO1xuXG4gICAgbGlzdC5yZXBsYWNlTGluZXMobGluZXMpO1xuXG4gICAgcm9vdC5yZXBsYWNlQ3Vyc29yKHtcbiAgICAgIGxpbmU6IGN1cnNvci5saW5lICsgMSxcbiAgICAgIGNoOiBsaXN0LmdldE5vdGVzSW5kZW50KCkubGVuZ3RoLFxuICAgIH0pO1xuICB9XG59XG4iLCJpbXBvcnQgeyBQbHVnaW5fMiB9IGZyb20gXCJvYnNpZGlhblwiO1xuXG5pbXBvcnQgeyBrZXltYXAgfSBmcm9tIFwiQGNvZGVtaXJyb3Ivdmlld1wiO1xuXG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSBcIi4vRmVhdHVyZVwiO1xuXG5pbXBvcnQgeyBNeUVkaXRvciB9IGZyb20gXCIuLi9NeUVkaXRvclwiO1xuaW1wb3J0IHsgQ3JlYXRlTm90ZUxpbmVPcGVyYXRpb24gfSBmcm9tIFwiLi4vb3BlcmF0aW9ucy9DcmVhdGVOb3RlTGluZU9wZXJhdGlvblwiO1xuaW1wb3J0IHsgSU1FU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9JTUVTZXJ2aWNlXCI7XG5pbXBvcnQgeyBPYnNpZGlhblNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvT2JzaWRpYW5TZXJ2aWNlXCI7XG5pbXBvcnQgeyBQZXJmb3JtT3BlcmF0aW9uU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9QZXJmb3JtT3BlcmF0aW9uU2VydmljZVwiO1xuaW1wb3J0IHsgU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL1NldHRpbmdzU2VydmljZVwiO1xuXG5leHBvcnQgY2xhc3MgU2hpZnRFbnRlclNob3VsZENyZWF0ZU5vdGVGZWF0dXJlIGltcGxlbWVudHMgRmVhdHVyZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcGx1Z2luOiBQbHVnaW5fMixcbiAgICBwcml2YXRlIG9ic2lkaWFuOiBPYnNpZGlhblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzZXR0aW5nczogU2V0dGluZ3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgaW1lOiBJTUVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcGVyZm9ybU9wZXJhdGlvbjogUGVyZm9ybU9wZXJhdGlvblNlcnZpY2VcbiAgKSB7fVxuXG4gIGFzeW5jIGxvYWQoKSB7XG4gICAgdGhpcy5wbHVnaW4ucmVnaXN0ZXJFZGl0b3JFeHRlbnNpb24oXG4gICAgICBrZXltYXAub2YoW1xuICAgICAgICB7XG4gICAgICAgICAga2V5OiBcInMtRW50ZXJcIixcbiAgICAgICAgICBydW46IHRoaXMub2JzaWRpYW4uY3JlYXRlS2V5bWFwUnVuQ2FsbGJhY2soe1xuICAgICAgICAgICAgY2hlY2s6IHRoaXMuY2hlY2ssXG4gICAgICAgICAgICBydW46IHRoaXMucnVuLFxuICAgICAgICAgIH0pLFxuICAgICAgICB9LFxuICAgICAgXSlcbiAgICApO1xuICB9XG5cbiAgYXN5bmMgdW5sb2FkKCkge31cblxuICBwcml2YXRlIGNoZWNrID0gKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLnNldHRpbmdzLmJldHRlckVudGVyICYmICF0aGlzLmltZS5pc0lNRU9wZW5lZCgpO1xuICB9O1xuXG4gIHByaXZhdGUgcnVuID0gKGVkaXRvcjogTXlFZGl0b3IpID0+IHtcbiAgICByZXR1cm4gdGhpcy5wZXJmb3JtT3BlcmF0aW9uLnBlcmZvcm1PcGVyYXRpb24oXG4gICAgICAocm9vdCkgPT4gbmV3IENyZWF0ZU5vdGVMaW5lT3BlcmF0aW9uKHJvb3QpLFxuICAgICAgZWRpdG9yXG4gICAgKTtcbiAgfTtcbn1cbiIsImV4cG9ydCBpbnRlcmZhY2UgQXBwbHlDaGFuZ2VzRWRpdG9yUG9zaXRpb24ge1xuICBsaW5lOiBudW1iZXI7XG4gIGNoOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXBwbHlDaGFuZ2VzRWRpdG9yU2VsZWN0aW9uIHtcbiAgYW5jaG9yOiBBcHBseUNoYW5nZXNFZGl0b3JQb3NpdGlvbjtcbiAgaGVhZDogQXBwbHlDaGFuZ2VzRWRpdG9yUG9zaXRpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXBwbHlDaGFuZ2VzRWRpdG9yIHtcbiAgZ2V0UmFuZ2UoXG4gICAgZnJvbTogQXBwbHlDaGFuZ2VzRWRpdG9yUG9zaXRpb24sXG4gICAgdG86IEFwcGx5Q2hhbmdlc0VkaXRvclBvc2l0aW9uXG4gICk6IHN0cmluZztcbiAgcmVwbGFjZVJhbmdlKFxuICAgIHJlcGxhY2VtZW50OiBzdHJpbmcsXG4gICAgZnJvbTogQXBwbHlDaGFuZ2VzRWRpdG9yUG9zaXRpb24sXG4gICAgdG86IEFwcGx5Q2hhbmdlc0VkaXRvclBvc2l0aW9uXG4gICk6IHZvaWQ7XG4gIHNldFNlbGVjdGlvbnMoc2VsZWN0aW9uczogQXBwbHlDaGFuZ2VzRWRpdG9yU2VsZWN0aW9uW10pOiB2b2lkO1xuICBmb2xkKG46IG51bWJlcik6IHZvaWQ7XG4gIHVuZm9sZChuOiBudW1iZXIpOiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFwcGx5Q2hhbmdlc0xpc3Qge1xuICBpc0ZvbGRSb290KCk6IGJvb2xlYW47XG4gIGdldENoaWxkcmVuKCk6IEFwcGx5Q2hhbmdlc0xpc3RbXTtcbiAgZ2V0Rmlyc3RMaW5lQ29udGVudFN0YXJ0KCk6IHsgbGluZTogbnVtYmVyIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXBwbHlDaGFuZ2VzUm9vdCB7XG4gIGdldFJhbmdlKCk6IFtBcHBseUNoYW5nZXNFZGl0b3JQb3NpdGlvbiwgQXBwbHlDaGFuZ2VzRWRpdG9yUG9zaXRpb25dO1xuICBnZXRTZWxlY3Rpb25zKCk6IHtcbiAgICBhbmNob3I6IEFwcGx5Q2hhbmdlc0VkaXRvclBvc2l0aW9uO1xuICAgIGhlYWQ6IEFwcGx5Q2hhbmdlc0VkaXRvclBvc2l0aW9uO1xuICB9W107XG4gIHByaW50KCk6IHN0cmluZztcbiAgZ2V0Q2hpbGRyZW4oKTogQXBwbHlDaGFuZ2VzTGlzdFtdO1xufVxuXG5leHBvcnQgY2xhc3MgQXBwbHlDaGFuZ2VzU2VydmljZSB7XG4gIGFwcGx5Q2hhbmdlcyhlZGl0b3I6IEFwcGx5Q2hhbmdlc0VkaXRvciwgcm9vdDogQXBwbHlDaGFuZ2VzUm9vdCkge1xuICAgIGNvbnN0IHJvb3RSYW5nZSA9IHJvb3QuZ2V0UmFuZ2UoKTtcbiAgICBjb25zdCBvbGRTdHJpbmcgPSBlZGl0b3IuZ2V0UmFuZ2Uocm9vdFJhbmdlWzBdLCByb290UmFuZ2VbMV0pO1xuICAgIGNvbnN0IG5ld1N0cmluZyA9IHJvb3QucHJpbnQoKTtcblxuICAgIGNvbnN0IGZyb21MaW5lID0gcm9vdFJhbmdlWzBdLmxpbmU7XG4gICAgY29uc3QgdG9MaW5lID0gcm9vdFJhbmdlWzFdLmxpbmU7XG5cbiAgICBmb3IgKGxldCBsID0gZnJvbUxpbmU7IGwgPD0gdG9MaW5lOyBsKyspIHtcbiAgICAgIGVkaXRvci51bmZvbGQobCk7XG4gICAgfVxuXG4gICAgY29uc3QgY2hhbmdlRnJvbSA9IHsgLi4ucm9vdFJhbmdlWzBdIH07XG4gICAgY29uc3QgY2hhbmdlVG8gPSB7IC4uLnJvb3RSYW5nZVsxXSB9O1xuICAgIGxldCBvbGRUbXAgPSBvbGRTdHJpbmc7XG4gICAgbGV0IG5ld1RtcCA9IG5ld1N0cmluZztcblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zdGFudC1jb25kaXRpb25cbiAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgY29uc3QgbmxJbmRleCA9IG9sZFRtcC5sYXN0SW5kZXhPZihcIlxcblwiKTtcbiAgICAgIGlmIChubEluZGV4IDwgMCkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNvbnN0IG9sZExpbmUgPSBvbGRUbXAuc2xpY2UobmxJbmRleCk7XG4gICAgICBjb25zdCBuZXdMaW5lID0gbmV3VG1wLnNsaWNlKC1vbGRMaW5lLmxlbmd0aCk7XG4gICAgICBpZiAob2xkTGluZSAhPT0gbmV3TGluZSkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIG9sZFRtcCA9IG9sZFRtcC5zbGljZSgwLCAtb2xkTGluZS5sZW5ndGgpO1xuICAgICAgbmV3VG1wID0gbmV3VG1wLnNsaWNlKDAsIC1vbGRMaW5lLmxlbmd0aCk7XG5cbiAgICAgIGNvbnN0IG5sSW5kZXgyID0gb2xkVG1wLmxhc3RJbmRleE9mKFwiXFxuXCIpO1xuICAgICAgY2hhbmdlVG8uY2ggPVxuICAgICAgICBubEluZGV4MiA+PSAwID8gb2xkVG1wLmxlbmd0aCAtIG5sSW5kZXgyIC0gMSA6IG9sZFRtcC5sZW5ndGg7XG4gICAgICBjaGFuZ2VUby5saW5lLS07XG4gICAgfVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zdGFudC1jb25kaXRpb25cbiAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgY29uc3QgbmxJbmRleCA9IG9sZFRtcC5pbmRleE9mKFwiXFxuXCIpO1xuICAgICAgaWYgKG5sSW5kZXggPCAwKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY29uc3Qgb2xkTGluZSA9IG9sZFRtcC5zbGljZSgwLCBubEluZGV4ICsgMSk7XG4gICAgICBjb25zdCBuZXdMaW5lID0gbmV3VG1wLnNsaWNlKDAsIG9sZExpbmUubGVuZ3RoKTtcbiAgICAgIGlmIChvbGRMaW5lICE9PSBuZXdMaW5lKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2hhbmdlRnJvbS5saW5lKys7XG4gICAgICBvbGRUbXAgPSBvbGRUbXAuc2xpY2Uob2xkTGluZS5sZW5ndGgpO1xuICAgICAgbmV3VG1wID0gbmV3VG1wLnNsaWNlKG9sZExpbmUubGVuZ3RoKTtcbiAgICB9XG5cbiAgICBpZiAob2xkVG1wICE9PSBuZXdUbXApIHtcbiAgICAgIGVkaXRvci5yZXBsYWNlUmFuZ2UobmV3VG1wLCBjaGFuZ2VGcm9tLCBjaGFuZ2VUbyk7XG4gICAgfVxuXG4gICAgZWRpdG9yLnNldFNlbGVjdGlvbnMocm9vdC5nZXRTZWxlY3Rpb25zKCkpO1xuXG4gICAgZnVuY3Rpb24gcmVjdXJzaXZlKGxpc3Q6IEFwcGx5Q2hhbmdlc0xpc3QpIHtcbiAgICAgIGZvciAoY29uc3QgYyBvZiBsaXN0LmdldENoaWxkcmVuKCkpIHtcbiAgICAgICAgcmVjdXJzaXZlKGMpO1xuICAgICAgfVxuICAgICAgaWYgKGxpc3QuaXNGb2xkUm9vdCgpKSB7XG4gICAgICAgIGVkaXRvci5mb2xkKGxpc3QuZ2V0Rmlyc3RMaW5lQ29udGVudFN0YXJ0KCkubGluZSk7XG4gICAgICB9XG4gICAgfVxuICAgIGZvciAoY29uc3QgYyBvZiByb290LmdldENoaWxkcmVuKCkpIHtcbiAgICAgIHJlY3Vyc2l2ZShjKTtcbiAgICB9XG4gIH1cbn1cbiIsImltcG9ydCB7IFBsYXRmb3JtIH0gZnJvbSBcIm9ic2lkaWFuXCI7XG5cbmV4cG9ydCBjbGFzcyBJTUVTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBjb21wb3NpdGlvbiA9IGZhbHNlO1xuXG4gIGFzeW5jIGxvYWQoKSB7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImNvbXBvc2l0aW9uc3RhcnRcIiwgdGhpcy5vbkNvbXBvc2l0aW9uU3RhcnQpO1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJjb21wb3NpdGlvbmVuZFwiLCB0aGlzLm9uQ29tcG9zaXRpb25FbmQpO1xuICB9XG5cbiAgYXN5bmMgdW5sb2FkKCkge1xuICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJjb21wb3NpdGlvbmVuZFwiLCB0aGlzLm9uQ29tcG9zaXRpb25FbmQpO1xuICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJjb21wb3NpdGlvbnN0YXJ0XCIsIHRoaXMub25Db21wb3NpdGlvblN0YXJ0KTtcbiAgfVxuXG4gIGlzSU1FT3BlbmVkKCkge1xuICAgIHJldHVybiB0aGlzLmNvbXBvc2l0aW9uICYmIFBsYXRmb3JtLmlzRGVza3RvcDtcbiAgfVxuXG4gIHByaXZhdGUgb25Db21wb3NpdGlvblN0YXJ0ID0gKCkgPT4ge1xuICAgIHRoaXMuY29tcG9zaXRpb24gPSB0cnVlO1xuICB9O1xuXG4gIHByaXZhdGUgb25Db21wb3NpdGlvbkVuZCA9ICgpID0+IHtcbiAgICB0aGlzLmNvbXBvc2l0aW9uID0gZmFsc2U7XG4gIH07XG59XG4iLCJpbXBvcnQgeyBTZXR0aW5nc1NlcnZpY2UgfSBmcm9tIFwiLi9TZXR0aW5nc1NlcnZpY2VcIjtcblxuZXhwb3J0IGNsYXNzIExvZ2dlclNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNldHRpbmdzOiBTZXR0aW5nc1NlcnZpY2UpIHt9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgbG9nKG1ldGhvZDogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSkge1xuICAgIGlmICghdGhpcy5zZXR0aW5ncy5kZWJ1Zykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnNvbGUuaW5mbyhtZXRob2QsIC4uLmFyZ3MpO1xuICB9XG5cbiAgYmluZChtZXRob2Q6IHN0cmluZykge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcmV0dXJuICguLi5hcmdzOiBhbnlbXSkgPT4gdGhpcy5sb2cobWV0aG9kLCAuLi5hcmdzKTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgQXBwLCBFZGl0b3IsIGVkaXRvckluZm9GaWVsZCB9IGZyb20gXCJvYnNpZGlhblwiO1xuXG5pbXBvcnQgeyBFZGl0b3JTdGF0ZSB9IGZyb20gXCJAY29kZW1pcnJvci9zdGF0ZVwiO1xuaW1wb3J0IHsgRWRpdG9yVmlldyB9IGZyb20gXCJAY29kZW1pcnJvci92aWV3XCI7XG5cbmltcG9ydCB7IE15RWRpdG9yIH0gZnJvbSBcIi4uL015RWRpdG9yXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgT2JzaWRpYW5UYWJzU2V0dGluZ3Mge1xuICB1c2VUYWI6IGJvb2xlYW47XG4gIHRhYlNpemU6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPYnNpZGlhbkZvbGRTZXR0aW5ncyB7XG4gIGZvbGRJbmRlbnQ6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBPYnNpZGlhblNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFwcDogQXBwKSB7fVxuXG4gIGlzTGVnYWN5RWRpdG9yRW5hYmxlZCgpIHtcbiAgICBjb25zdCBjb25maWc6IHsgbGVnYWN5RWRpdG9yOiBib29sZWFuIH0gPSB7XG4gICAgICBsZWdhY3lFZGl0b3I6IGZhbHNlLFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgIC4uLih0aGlzLmFwcC52YXVsdCBhcyBhbnkpLmNvbmZpZyxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGNvbmZpZy5sZWdhY3lFZGl0b3I7XG4gIH1cblxuICBpc0RlZmF1bHRUaGVtZUVuYWJsZWQoKSB7XG4gICAgY29uc3QgY29uZmlnOiB7IGNzc1RoZW1lOiBzdHJpbmcgfSA9IHtcbiAgICAgIGNzc1RoZW1lOiBcIlwiLFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgIC4uLih0aGlzLmFwcC52YXVsdCBhcyBhbnkpLmNvbmZpZyxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGNvbmZpZy5jc3NUaGVtZSA9PT0gXCJcIjtcbiAgfVxuXG4gIGdldE9ic2lkaWFuVGFic1NldHRpbmdzKCk6IE9ic2lkaWFuVGFic1NldHRpbmdzIHtcbiAgICByZXR1cm4ge1xuICAgICAgdXNlVGFiOiB0cnVlLFxuICAgICAgdGFiU2l6ZTogNCxcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICAuLi4odGhpcy5hcHAudmF1bHQgYXMgYW55KS5jb25maWcsXG4gICAgfTtcbiAgfVxuXG4gIGdldE9ic2lkaWFuRm9sZFNldHRpbmdzKCk6IE9ic2lkaWFuRm9sZFNldHRpbmdzIHtcbiAgICByZXR1cm4ge1xuICAgICAgZm9sZEluZGVudDogdHJ1ZSxcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICAuLi4odGhpcy5hcHAudmF1bHQgYXMgYW55KS5jb25maWcsXG4gICAgfTtcbiAgfVxuXG4gIGdldERlZmF1bHRJbmRlbnRDaGFycygpIHtcbiAgICBjb25zdCB7IHVzZVRhYiwgdGFiU2l6ZSB9ID0gdGhpcy5nZXRPYnNpZGlhblRhYnNTZXR0aW5ncygpO1xuXG4gICAgcmV0dXJuIHVzZVRhYiA/IFwiXFx0XCIgOiBuZXcgQXJyYXkodGFiU2l6ZSkuZmlsbChcIiBcIikuam9pbihcIlwiKTtcbiAgfVxuXG4gIGdldEVkaXRvckZyb21TdGF0ZShzdGF0ZTogRWRpdG9yU3RhdGUpIHtcbiAgICByZXR1cm4gbmV3IE15RWRpdG9yKHN0YXRlLmZpZWxkKGVkaXRvckluZm9GaWVsZCkuZWRpdG9yKTtcbiAgfVxuXG4gIGNyZWF0ZUtleW1hcFJ1bkNhbGxiYWNrKGNvbmZpZzoge1xuICAgIGNoZWNrPzogKGVkaXRvcjogTXlFZGl0b3IpID0+IGJvb2xlYW47XG4gICAgcnVuOiAoZWRpdG9yOiBNeUVkaXRvcikgPT4ge1xuICAgICAgc2hvdWxkVXBkYXRlOiBib29sZWFuO1xuICAgICAgc2hvdWxkU3RvcFByb3BhZ2F0aW9uOiBib29sZWFuO1xuICAgIH07XG4gIH0pIHtcbiAgICBjb25zdCBjaGVjayA9IGNvbmZpZy5jaGVjayB8fCAoKCkgPT4gdHJ1ZSk7XG4gICAgY29uc3QgeyBydW4gfSA9IGNvbmZpZztcblxuICAgIHJldHVybiAodmlldzogRWRpdG9yVmlldyk6IGJvb2xlYW4gPT4ge1xuICAgICAgY29uc3QgZWRpdG9yID0gdGhpcy5nZXRFZGl0b3JGcm9tU3RhdGUodmlldy5zdGF0ZSk7XG5cbiAgICAgIGlmICghY2hlY2soZWRpdG9yKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHsgc2hvdWxkVXBkYXRlLCBzaG91bGRTdG9wUHJvcGFnYXRpb24gfSA9IHJ1bihlZGl0b3IpO1xuXG4gICAgICByZXR1cm4gc2hvdWxkVXBkYXRlIHx8IHNob3VsZFN0b3BQcm9wYWdhdGlvbjtcbiAgICB9O1xuICB9XG5cbiAgY3JlYXRlRWRpdG9yQ2FsbGJhY2soY2I6IChlZGl0b3I6IE15RWRpdG9yKSA9PiBib29sZWFuKSB7XG4gICAgcmV0dXJuIChlZGl0b3I6IEVkaXRvcikgPT4ge1xuICAgICAgY29uc3QgbXlFZGl0b3IgPSBuZXcgTXlFZGl0b3IoZWRpdG9yKTtcbiAgICAgIGNvbnN0IHNob3VsZFN0b3BQcm9wYWdhdGlvbiA9IGNiKG15RWRpdG9yKTtcblxuICAgICAgaWYgKFxuICAgICAgICAhc2hvdWxkU3RvcFByb3BhZ2F0aW9uICYmXG4gICAgICAgIHdpbmRvdy5ldmVudCAmJlxuICAgICAgICB3aW5kb3cuZXZlbnQudHlwZSA9PT0gXCJrZXlkb3duXCJcbiAgICAgICkge1xuICAgICAgICBteUVkaXRvci50cmlnZ2VyT25LZXlEb3duKHdpbmRvdy5ldmVudCBhcyBLZXlib2FyZEV2ZW50KTtcbiAgICAgIH1cbiAgICB9O1xuICB9XG59XG4iLCJpbXBvcnQgeyBTZXR0aW5nc1NlcnZpY2UgfSBmcm9tIFwiLi9TZXR0aW5nc1NlcnZpY2VcIjtcblxuaW1wb3J0IHsgTGlzdCwgUm9vdCB9IGZyb20gXCIuLi9yb290XCI7XG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL0xvZ2dlclNlcnZpY2VcIjtcbmltcG9ydCB7IGNoZWNrYm94UmUgfSBmcm9tIFwiLi4vdXRpbHMvY2hlY2tib3hSZVwiO1xuXG5jb25zdCBidWxsZXRTaWduUmUgPSBgKD86Wy0qK118XFxcXGQrXFxcXC4pYDtcbmNvbnN0IG9wdGlvbmFsQ2hlY2tib3hSZSA9IGAoPzoke2NoZWNrYm94UmV9KT9gO1xuXG5jb25zdCBsaXN0SXRlbVdpdGhvdXRTcGFjZXNSZSA9IG5ldyBSZWdFeHAoYF4ke2J1bGxldFNpZ25SZX0oIHxcXHQpYCk7XG5jb25zdCBsaXN0SXRlbVJlID0gbmV3IFJlZ0V4cChgXlsgXFx0XSoke2J1bGxldFNpZ25SZX0oIHxcXHQpYCk7XG5jb25zdCBzdHJpbmdXaXRoU3BhY2VzUmUgPSBuZXcgUmVnRXhwKGBeWyBcXHRdK2ApO1xuY29uc3QgcGFyc2VMaXN0SXRlbVJlID0gbmV3IFJlZ0V4cChcbiAgYF4oWyBcXHRdKikoJHtidWxsZXRTaWduUmV9KSggfFxcdCkoJHtvcHRpb25hbENoZWNrYm94UmV9KSguKikkYFxuKTtcblxuZXhwb3J0IGludGVyZmFjZSBSZWFkZXJQb3NpdGlvbiB7XG4gIGxpbmU6IG51bWJlcjtcbiAgY2g6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWFkZXJTZWxlY3Rpb24ge1xuICBhbmNob3I6IFJlYWRlclBvc2l0aW9uO1xuICBoZWFkOiBSZWFkZXJQb3NpdGlvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWFkZXIge1xuICBnZXRDdXJzb3IoKTogUmVhZGVyUG9zaXRpb247XG4gIGdldExpbmUobjogbnVtYmVyKTogc3RyaW5nO1xuICBsYXN0TGluZSgpOiBudW1iZXI7XG4gIGxpc3RTZWxlY3Rpb25zKCk6IFJlYWRlclNlbGVjdGlvbltdO1xuICBnZXRBbGxGb2xkZWRMaW5lcygpOiBudW1iZXJbXTtcbn1cblxuaW50ZXJmYWNlIFBhcnNlTGlzdExpc3Qge1xuICBnZXRGaXJzdExpbmVJbmRlbnQoKTogc3RyaW5nO1xuICBzZXROb3Rlc0luZGVudChub3Rlc0luZGVudDogc3RyaW5nKTogdm9pZDtcbiAgZ2V0Tm90ZXNJbmRlbnQoKTogc3RyaW5nIHwgbnVsbDtcbiAgYWRkTGluZSh0ZXh0OiBzdHJpbmcpOiB2b2lkO1xuICBnZXRQYXJlbnQoKTogUGFyc2VMaXN0TGlzdCB8IG51bGw7XG4gIGFkZEFmdGVyQWxsKGxpc3Q6IFBhcnNlTGlzdExpc3QpOiB2b2lkO1xufVxuXG5leHBvcnQgY2xhc3MgUGFyc2VyU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgc2V0dGluZ3M6IFNldHRpbmdzU2VydmljZVxuICApIHt9XG5cbiAgcGFyc2VSYW5nZShlZGl0b3I6IFJlYWRlciwgZnJvbUxpbmUgPSAwLCB0b0xpbmUgPSBlZGl0b3IubGFzdExpbmUoKSk6IFJvb3RbXSB7XG4gICAgY29uc3QgbGlzdHM6IFJvb3RbXSA9IFtdO1xuXG4gICAgZm9yIChsZXQgaSA9IGZyb21MaW5lOyBpIDw9IHRvTGluZTsgaSsrKSB7XG4gICAgICBjb25zdCBsaW5lID0gZWRpdG9yLmdldExpbmUoaSk7XG5cbiAgICAgIGlmIChpID09PSBmcm9tTGluZSB8fCB0aGlzLmlzTGlzdEl0ZW0obGluZSkpIHtcbiAgICAgICAgY29uc3QgbGlzdCA9IHRoaXMucGFyc2VXaXRoTGltaXRzKGVkaXRvciwgaSwgZnJvbUxpbmUsIHRvTGluZSk7XG5cbiAgICAgICAgaWYgKGxpc3QpIHtcbiAgICAgICAgICBsaXN0cy5wdXNoKGxpc3QpO1xuICAgICAgICAgIGkgPSBsaXN0LmdldFJhbmdlKClbMV0ubGluZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBsaXN0cztcbiAgfVxuXG4gIHBhcnNlKGVkaXRvcjogUmVhZGVyLCBjdXJzb3IgPSBlZGl0b3IuZ2V0Q3Vyc29yKCkpOiBSb290IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VXaXRoTGltaXRzKGVkaXRvciwgY3Vyc29yLmxpbmUsIDAsIGVkaXRvci5sYXN0TGluZSgpKTtcbiAgfVxuXG4gIHByaXZhdGUgcGFyc2VXaXRoTGltaXRzKFxuICAgIGVkaXRvcjogUmVhZGVyLFxuICAgIHBhcnNpbmdTdGFydExpbmU6IG51bWJlcixcbiAgICBsaW1pdEZyb206IG51bWJlcixcbiAgICBsaW1pdFRvOiBudW1iZXJcbiAgKTogUm9vdCB8IG51bGwge1xuICAgIGNvbnN0IGQgPSB0aGlzLmxvZ2dlci5iaW5kKFwicGFyc2VMaXN0XCIpO1xuICAgIGNvbnN0IGVycm9yID0gKG1zZzogc3RyaW5nKTogbnVsbCA9PiB7XG4gICAgICBkKG1zZyk7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9O1xuXG4gICAgY29uc3QgbGluZSA9IGVkaXRvci5nZXRMaW5lKHBhcnNpbmdTdGFydExpbmUpO1xuXG4gICAgbGV0IGxpc3RMb29raW5nUG9zOiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAgIGlmICh0aGlzLmlzTGlzdEl0ZW0obGluZSkpIHtcbiAgICAgIGxpc3RMb29raW5nUG9zID0gcGFyc2luZ1N0YXJ0TGluZTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNMaW5lV2l0aEluZGVudChsaW5lKSkge1xuICAgICAgbGV0IGxpc3RMb29raW5nUG9zU2VhcmNoID0gcGFyc2luZ1N0YXJ0TGluZSAtIDE7XG4gICAgICB3aGlsZSAobGlzdExvb2tpbmdQb3NTZWFyY2ggPj0gMCkge1xuICAgICAgICBjb25zdCBsaW5lID0gZWRpdG9yLmdldExpbmUobGlzdExvb2tpbmdQb3NTZWFyY2gpO1xuICAgICAgICBpZiAodGhpcy5pc0xpc3RJdGVtKGxpbmUpKSB7XG4gICAgICAgICAgbGlzdExvb2tpbmdQb3MgPSBsaXN0TG9va2luZ1Bvc1NlYXJjaDtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmlzTGluZVdpdGhJbmRlbnQobGluZSkpIHtcbiAgICAgICAgICBsaXN0TG9va2luZ1Bvc1NlYXJjaC0tO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGxpc3RMb29raW5nUG9zID09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGxldCBsaXN0U3RhcnRMaW5lOiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgICBsZXQgbGlzdFN0YXJ0TGluZUxvb2t1cCA9IGxpc3RMb29raW5nUG9zO1xuICAgIHdoaWxlIChsaXN0U3RhcnRMaW5lTG9va3VwID49IDApIHtcbiAgICAgIGNvbnN0IGxpbmUgPSBlZGl0b3IuZ2V0TGluZShsaXN0U3RhcnRMaW5lTG9va3VwKTtcbiAgICAgIGlmICghdGhpcy5pc0xpc3RJdGVtKGxpbmUpICYmICF0aGlzLmlzTGluZVdpdGhJbmRlbnQobGluZSkpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5pc0xpc3RJdGVtV2l0aG91dFNwYWNlcyhsaW5lKSkge1xuICAgICAgICBsaXN0U3RhcnRMaW5lID0gbGlzdFN0YXJ0TGluZUxvb2t1cDtcbiAgICAgICAgaWYgKGxpc3RTdGFydExpbmVMb29rdXAgPD0gbGltaXRGcm9tKSB7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGxpc3RTdGFydExpbmVMb29rdXAtLTtcbiAgICB9XG5cbiAgICBpZiAobGlzdFN0YXJ0TGluZSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgbGV0IGxpc3RFbmRMaW5lID0gbGlzdExvb2tpbmdQb3M7XG4gICAgbGV0IGxpc3RFbmRMaW5lTG9va3VwID0gbGlzdExvb2tpbmdQb3M7XG4gICAgd2hpbGUgKGxpc3RFbmRMaW5lTG9va3VwIDw9IGVkaXRvci5sYXN0TGluZSgpKSB7XG4gICAgICBjb25zdCBsaW5lID0gZWRpdG9yLmdldExpbmUobGlzdEVuZExpbmVMb29rdXApO1xuICAgICAgaWYgKCF0aGlzLmlzTGlzdEl0ZW0obGluZSkgJiYgIXRoaXMuaXNMaW5lV2l0aEluZGVudChsaW5lKSkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGlmICghdGhpcy5pc0VtcHR5TGluZShsaW5lKSkge1xuICAgICAgICBsaXN0RW5kTGluZSA9IGxpc3RFbmRMaW5lTG9va3VwO1xuICAgICAgfVxuICAgICAgaWYgKGxpc3RFbmRMaW5lTG9va3VwID49IGxpbWl0VG8pIHtcbiAgICAgICAgbGlzdEVuZExpbmUgPSBsaW1pdFRvO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGxpc3RFbmRMaW5lTG9va3VwKys7XG4gICAgfVxuXG4gICAgaWYgKGxpc3RTdGFydExpbmUgPiBwYXJzaW5nU3RhcnRMaW5lIHx8IGxpc3RFbmRMaW5lIDwgcGFyc2luZ1N0YXJ0TGluZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3Qgcm9vdCA9IG5ldyBSb290KFxuICAgICAgeyBsaW5lOiBsaXN0U3RhcnRMaW5lLCBjaDogMCB9LFxuICAgICAgeyBsaW5lOiBsaXN0RW5kTGluZSwgY2g6IGVkaXRvci5nZXRMaW5lKGxpc3RFbmRMaW5lKS5sZW5ndGggfSxcbiAgICAgIGVkaXRvci5saXN0U2VsZWN0aW9ucygpLm1hcCgocikgPT4gKHtcbiAgICAgICAgYW5jaG9yOiB7IGxpbmU6IHIuYW5jaG9yLmxpbmUsIGNoOiByLmFuY2hvci5jaCB9LFxuICAgICAgICBoZWFkOiB7IGxpbmU6IHIuaGVhZC5saW5lLCBjaDogci5oZWFkLmNoIH0sXG4gICAgICB9KSlcbiAgICApO1xuXG4gICAgbGV0IGN1cnJlbnRQYXJlbnQ6IFBhcnNlTGlzdExpc3QgPSByb290LmdldFJvb3RMaXN0KCk7XG4gICAgbGV0IGN1cnJlbnRMaXN0OiBQYXJzZUxpc3RMaXN0IHwgbnVsbCA9IG51bGw7XG4gICAgbGV0IGN1cnJlbnRJbmRlbnQgPSBcIlwiO1xuXG4gICAgY29uc3QgZm9sZGVkTGluZXMgPSBlZGl0b3IuZ2V0QWxsRm9sZGVkTGluZXMoKTtcblxuICAgIGZvciAobGV0IGwgPSBsaXN0U3RhcnRMaW5lOyBsIDw9IGxpc3RFbmRMaW5lOyBsKyspIHtcbiAgICAgIGNvbnN0IGxpbmUgPSBlZGl0b3IuZ2V0TGluZShsKTtcbiAgICAgIGNvbnN0IG1hdGNoZXMgPSBwYXJzZUxpc3RJdGVtUmUuZXhlYyhsaW5lKTtcblxuICAgICAgaWYgKG1hdGNoZXMpIHtcbiAgICAgICAgY29uc3QgWywgaW5kZW50LCBidWxsZXQsIHNwYWNlQWZ0ZXJCdWxsZXRdID0gbWF0Y2hlcztcbiAgICAgICAgbGV0IFssICwgLCAsIG9wdGlvbmFsQ2hlY2tib3gsIGNvbnRlbnRdID0gbWF0Y2hlcztcblxuICAgICAgICBjb250ZW50ID0gb3B0aW9uYWxDaGVja2JveCArIGNvbnRlbnQ7XG4gICAgICAgIGlmICh0aGlzLnNldHRpbmdzLnN0aWNrQ3Vyc29yICE9IFwiYnVsbGV0LWFuZC1jaGVja2JveFwiKSB7XG4gICAgICAgICAgb3B0aW9uYWxDaGVja2JveCA9IFwiXCI7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjb21wYXJlTGVuZ3RoID0gTWF0aC5taW4oY3VycmVudEluZGVudC5sZW5ndGgsIGluZGVudC5sZW5ndGgpO1xuICAgICAgICBjb25zdCBpbmRlbnRTbGljZSA9IGluZGVudC5zbGljZSgwLCBjb21wYXJlTGVuZ3RoKTtcbiAgICAgICAgY29uc3QgY3VycmVudEluZGVudFNsaWNlID0gY3VycmVudEluZGVudC5zbGljZSgwLCBjb21wYXJlTGVuZ3RoKTtcblxuICAgICAgICBpZiAoaW5kZW50U2xpY2UgIT09IGN1cnJlbnRJbmRlbnRTbGljZSkge1xuICAgICAgICAgIGNvbnN0IGV4cGVjdGVkID0gY3VycmVudEluZGVudFNsaWNlXG4gICAgICAgICAgICAucmVwbGFjZSgvIC9nLCBcIlNcIilcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXHQvZywgXCJUXCIpO1xuICAgICAgICAgIGNvbnN0IGdvdCA9IGluZGVudFNsaWNlLnJlcGxhY2UoLyAvZywgXCJTXCIpLnJlcGxhY2UoL1xcdC9nLCBcIlRcIik7XG5cbiAgICAgICAgICByZXR1cm4gZXJyb3IoXG4gICAgICAgICAgICBgVW5hYmxlIHRvIHBhcnNlIGxpc3Q6IGV4cGVjdGVkIGluZGVudCBcIiR7ZXhwZWN0ZWR9XCIsIGdvdCBcIiR7Z290fVwiYFxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaW5kZW50Lmxlbmd0aCA+IGN1cnJlbnRJbmRlbnQubGVuZ3RoKSB7XG4gICAgICAgICAgY3VycmVudFBhcmVudCA9IGN1cnJlbnRMaXN0O1xuICAgICAgICAgIGN1cnJlbnRJbmRlbnQgPSBpbmRlbnQ7XG4gICAgICAgIH0gZWxzZSBpZiAoaW5kZW50Lmxlbmd0aCA8IGN1cnJlbnRJbmRlbnQubGVuZ3RoKSB7XG4gICAgICAgICAgd2hpbGUgKFxuICAgICAgICAgICAgY3VycmVudFBhcmVudC5nZXRGaXJzdExpbmVJbmRlbnQoKS5sZW5ndGggPj0gaW5kZW50Lmxlbmd0aCAmJlxuICAgICAgICAgICAgY3VycmVudFBhcmVudC5nZXRQYXJlbnQoKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgY3VycmVudFBhcmVudCA9IGN1cnJlbnRQYXJlbnQuZ2V0UGFyZW50KCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGN1cnJlbnRJbmRlbnQgPSBpbmRlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBmb2xkUm9vdCA9IGZvbGRlZExpbmVzLmluY2x1ZGVzKGwpO1xuXG4gICAgICAgIGN1cnJlbnRMaXN0ID0gbmV3IExpc3QoXG4gICAgICAgICAgcm9vdCxcbiAgICAgICAgICBpbmRlbnQsXG4gICAgICAgICAgYnVsbGV0LFxuICAgICAgICAgIG9wdGlvbmFsQ2hlY2tib3gsXG4gICAgICAgICAgc3BhY2VBZnRlckJ1bGxldCxcbiAgICAgICAgICBjb250ZW50LFxuICAgICAgICAgIGZvbGRSb290XG4gICAgICAgICk7XG4gICAgICAgIGN1cnJlbnRQYXJlbnQuYWRkQWZ0ZXJBbGwoY3VycmVudExpc3QpO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmlzTGluZVdpdGhJbmRlbnQobGluZSkpIHtcbiAgICAgICAgaWYgKCFjdXJyZW50TGlzdCkge1xuICAgICAgICAgIHJldHVybiBlcnJvcihcbiAgICAgICAgICAgIGBVbmFibGUgdG8gcGFyc2UgbGlzdDogZXhwZWN0ZWQgbGlzdCBpdGVtLCBnb3QgZW1wdHkgbGluZWBcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaW5kZW50VG9DaGVjayA9IGN1cnJlbnRMaXN0LmdldE5vdGVzSW5kZW50KCkgfHwgY3VycmVudEluZGVudDtcblxuICAgICAgICBpZiAobGluZS5pbmRleE9mKGluZGVudFRvQ2hlY2spICE9PSAwKSB7XG4gICAgICAgICAgY29uc3QgZXhwZWN0ZWQgPSBpbmRlbnRUb0NoZWNrLnJlcGxhY2UoLyAvZywgXCJTXCIpLnJlcGxhY2UoL1xcdC9nLCBcIlRcIik7XG4gICAgICAgICAgY29uc3QgZ290ID0gbGluZVxuICAgICAgICAgICAgLm1hdGNoKC9eWyBcXHRdKi8pWzBdXG4gICAgICAgICAgICAucmVwbGFjZSgvIC9nLCBcIlNcIilcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXHQvZywgXCJUXCIpO1xuXG4gICAgICAgICAgcmV0dXJuIGVycm9yKFxuICAgICAgICAgICAgYFVuYWJsZSB0byBwYXJzZSBsaXN0OiBleHBlY3RlZCBpbmRlbnQgXCIke2V4cGVjdGVkfVwiLCBnb3QgXCIke2dvdH1cImBcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFjdXJyZW50TGlzdC5nZXROb3Rlc0luZGVudCgpKSB7XG4gICAgICAgICAgY29uc3QgbWF0Y2hlcyA9IGxpbmUubWF0Y2goL15bIFxcdF0rLyk7XG5cbiAgICAgICAgICBpZiAoIW1hdGNoZXMgfHwgbWF0Y2hlc1swXS5sZW5ndGggPD0gY3VycmVudEluZGVudC5sZW5ndGgpIHtcbiAgICAgICAgICAgIGlmICgvXlxccyskLy50ZXN0KGxpbmUpKSB7XG4gICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gZXJyb3IoXG4gICAgICAgICAgICAgIGBVbmFibGUgdG8gcGFyc2UgbGlzdDogZXhwZWN0ZWQgc29tZSBpbmRlbnQsIGdvdCBubyBpbmRlbnRgXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGN1cnJlbnRMaXN0LnNldE5vdGVzSW5kZW50KG1hdGNoZXNbMF0pO1xuICAgICAgICB9XG5cbiAgICAgICAgY3VycmVudExpc3QuYWRkTGluZShsaW5lLnNsaWNlKGN1cnJlbnRMaXN0LmdldE5vdGVzSW5kZW50KCkubGVuZ3RoKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gZXJyb3IoXG4gICAgICAgICAgYFVuYWJsZSB0byBwYXJzZSBsaXN0OiBleHBlY3RlZCBsaXN0IGl0ZW0gb3Igbm90ZSwgZ290IFwiJHtsaW5lfVwiYFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiByb290O1xuICB9XG5cbiAgcHJpdmF0ZSBpc0VtcHR5TGluZShsaW5lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gbGluZS5sZW5ndGggPT09IDA7XG4gIH1cblxuICBwcml2YXRlIGlzTGluZVdpdGhJbmRlbnQobGluZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHN0cmluZ1dpdGhTcGFjZXNSZS50ZXN0KGxpbmUpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0xpc3RJdGVtKGxpbmU6IHN0cmluZykge1xuICAgIHJldHVybiBsaXN0SXRlbVJlLnRlc3QobGluZSk7XG4gIH1cblxuICBwcml2YXRlIGlzTGlzdEl0ZW1XaXRob3V0U3BhY2VzKGxpbmU6IHN0cmluZykge1xuICAgIHJldHVybiBsaXN0SXRlbVdpdGhvdXRTcGFjZXNSZS50ZXN0KGxpbmUpO1xuICB9XG59XG4iLCJpbXBvcnQgeyBBcHBseUNoYW5nZXNTZXJ2aWNlIH0gZnJvbSBcIi4vQXBwbHlDaGFuZ2VzU2VydmljZVwiO1xuaW1wb3J0IHsgUGFyc2VyU2VydmljZSB9IGZyb20gXCIuL1BhcnNlclNlcnZpY2VcIjtcblxuaW1wb3J0IHsgTXlFZGl0b3IgfSBmcm9tIFwiLi4vTXlFZGl0b3JcIjtcbmltcG9ydCB7IE9wZXJhdGlvbiB9IGZyb20gXCIuLi9vcGVyYXRpb25zL09wZXJhdGlvblwiO1xuaW1wb3J0IHsgUm9vdCB9IGZyb20gXCIuLi9yb290XCI7XG5cbmV4cG9ydCBjbGFzcyBQZXJmb3JtT3BlcmF0aW9uU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcGFyc2VyOiBQYXJzZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXBwbHlDaGFuZ2VzOiBBcHBseUNoYW5nZXNTZXJ2aWNlXG4gICkge31cblxuICBldmFsT3BlcmF0aW9uKHJvb3Q6IFJvb3QsIG9wOiBPcGVyYXRpb24sIGVkaXRvcjogTXlFZGl0b3IpIHtcbiAgICBvcC5wZXJmb3JtKCk7XG5cbiAgICBpZiAob3Auc2hvdWxkVXBkYXRlKCkpIHtcbiAgICAgIHRoaXMuYXBwbHlDaGFuZ2VzLmFwcGx5Q2hhbmdlcyhlZGl0b3IsIHJvb3QpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBzaG91bGRVcGRhdGU6IG9wLnNob3VsZFVwZGF0ZSgpLFxuICAgICAgc2hvdWxkU3RvcFByb3BhZ2F0aW9uOiBvcC5zaG91bGRTdG9wUHJvcGFnYXRpb24oKSxcbiAgICB9O1xuICB9XG5cbiAgcGVyZm9ybU9wZXJhdGlvbihcbiAgICBjYjogKHJvb3Q6IFJvb3QpID0+IE9wZXJhdGlvbixcbiAgICBlZGl0b3I6IE15RWRpdG9yLFxuICAgIGN1cnNvciA9IGVkaXRvci5nZXRDdXJzb3IoKVxuICApIHtcbiAgICBjb25zdCByb290ID0gdGhpcy5wYXJzZXIucGFyc2UoZWRpdG9yLCBjdXJzb3IpO1xuXG4gICAgaWYgKCFyb290KSB7XG4gICAgICByZXR1cm4geyBzaG91bGRVcGRhdGU6IGZhbHNlLCBzaG91bGRTdG9wUHJvcGFnYXRpb246IGZhbHNlIH07XG4gICAgfVxuXG4gICAgY29uc3Qgb3AgPSBjYihyb290KTtcblxuICAgIHJldHVybiB0aGlzLmV2YWxPcGVyYXRpb24ocm9vdCwgb3AsIGVkaXRvcik7XG4gIH1cbn1cbiIsImV4cG9ydCB0eXBlIExpc3RMaW5lQWN0aW9uID0gXCJub25lXCIgfCBcInpvb20taW5cIiB8IFwidG9nZ2xlLWZvbGRpbmdcIjtcbmV4cG9ydCB0eXBlIFN0aWNrQ3Vyc29yID0gXCJuZXZlclwiIHwgXCJidWxsZXQtb25seVwiIHwgXCJidWxsZXQtYW5kLWNoZWNrYm94XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgT2JzaWRpYW5PdXRsaW5lclBsdWdpblNldHRpbmdzIHtcbiAgc3R5bGVMaXN0czogYm9vbGVhbjtcbiAgZGVidWc6IGJvb2xlYW47XG4gIHN0aWNrQ3Vyc29yOiBTdGlja0N1cnNvciB8IGJvb2xlYW47XG4gIGJldHRlckVudGVyOiBib29sZWFuO1xuICBiZXR0ZXJUYWI6IGJvb2xlYW47XG4gIHNlbGVjdEFsbDogYm9vbGVhbjtcbiAgbGlzdExpbmVzOiBib29sZWFuO1xuICBsaXN0TGluZUFjdGlvbjogTGlzdExpbmVBY3Rpb247XG59XG5cbmNvbnN0IERFRkFVTFRfU0VUVElOR1M6IE9ic2lkaWFuT3V0bGluZXJQbHVnaW5TZXR0aW5ncyA9IHtcbiAgc3R5bGVMaXN0czogdHJ1ZSxcbiAgZGVidWc6IGZhbHNlLFxuICBzdGlja0N1cnNvcjogXCJidWxsZXQtYW5kLWNoZWNrYm94XCIsXG4gIGJldHRlckVudGVyOiB0cnVlLFxuICBiZXR0ZXJUYWI6IHRydWUsXG4gIHNlbGVjdEFsbDogdHJ1ZSxcbiAgbGlzdExpbmVzOiBmYWxzZSxcbiAgbGlzdExpbmVBY3Rpb246IFwidG9nZ2xlLWZvbGRpbmdcIixcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RvcmFnZSB7XG4gIGxvYWREYXRhKCk6IFByb21pc2U8T2JzaWRpYW5PdXRsaW5lclBsdWdpblNldHRpbmdzPjtcbiAgc2F2ZURhdGEoc2V0dGlnbnM6IE9ic2lkaWFuT3V0bGluZXJQbHVnaW5TZXR0aW5ncyk6IFByb21pc2U8dm9pZD47XG59XG5cbnR5cGUgSyA9IGtleW9mIE9ic2lkaWFuT3V0bGluZXJQbHVnaW5TZXR0aW5ncztcbnR5cGUgQ2FsbGJhY2s8VCBleHRlbmRzIEs+ID0gKGNiOiBPYnNpZGlhbk91dGxpbmVyUGx1Z2luU2V0dGluZ3NbVF0pID0+IHZvaWQ7XG5cbmV4cG9ydCBjbGFzcyBTZXR0aW5nc1NlcnZpY2UgaW1wbGVtZW50cyBPYnNpZGlhbk91dGxpbmVyUGx1Z2luU2V0dGluZ3Mge1xuICBwcml2YXRlIHN0b3JhZ2U6IFN0b3JhZ2U7XG4gIHByaXZhdGUgdmFsdWVzOiBPYnNpZGlhbk91dGxpbmVyUGx1Z2luU2V0dGluZ3M7XG4gIHByaXZhdGUgaGFuZGxlcnM6IE1hcDxLLCBTZXQ8Q2FsbGJhY2s8Sz4+PjtcblxuICBjb25zdHJ1Y3RvcihzdG9yYWdlOiBTdG9yYWdlKSB7XG4gICAgdGhpcy5zdG9yYWdlID0gc3RvcmFnZTtcbiAgICB0aGlzLmhhbmRsZXJzID0gbmV3IE1hcCgpO1xuICB9XG5cbiAgZ2V0IHN0eWxlTGlzdHMoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVzLnN0eWxlTGlzdHM7XG4gIH1cbiAgc2V0IHN0eWxlTGlzdHModmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnNldChcInN0eWxlTGlzdHNcIiwgdmFsdWUpO1xuICB9XG5cbiAgZ2V0IGRlYnVnKCkge1xuICAgIHJldHVybiB0aGlzLnZhbHVlcy5kZWJ1ZztcbiAgfVxuICBzZXQgZGVidWcodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnNldChcImRlYnVnXCIsIHZhbHVlKTtcbiAgfVxuXG4gIGdldCBzdGlja0N1cnNvcigpIHtcbiAgICAvLyBBZGFwdG9yIGZvciB1c2VycyBtaWdyYXRpbmcgZnJvbSBvbGRlciB2ZXJzaW9uIG9mIHRoZSBwbHVnaW4uXG4gICAgaWYgKHRoaXMudmFsdWVzLnN0aWNrQ3Vyc29yID09PSB0cnVlKSB7XG4gICAgICByZXR1cm4gXCJidWxsZXQtYW5kLWNoZWNrYm94XCI7XG4gICAgfSBlbHNlIGlmICh0aGlzLnZhbHVlcy5zdGlja0N1cnNvciA9PT0gZmFsc2UpIHtcbiAgICAgIHJldHVybiBcIm5ldmVyXCI7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnZhbHVlcy5zdGlja0N1cnNvcjtcbiAgfVxuICBzZXQgc3RpY2tDdXJzb3IodmFsdWU6IFN0aWNrQ3Vyc29yKSB7XG4gICAgdGhpcy5zZXQoXCJzdGlja0N1cnNvclwiLCB2YWx1ZSk7XG4gIH1cblxuICBnZXQgYmV0dGVyRW50ZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVzLmJldHRlckVudGVyO1xuICB9XG4gIHNldCBiZXR0ZXJFbnRlcih2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuc2V0KFwiYmV0dGVyRW50ZXJcIiwgdmFsdWUpO1xuICB9XG5cbiAgZ2V0IGJldHRlclRhYigpIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZXMuYmV0dGVyVGFiO1xuICB9XG4gIHNldCBiZXR0ZXJUYWIodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnNldChcImJldHRlclRhYlwiLCB2YWx1ZSk7XG4gIH1cblxuICBnZXQgc2VsZWN0QWxsKCkge1xuICAgIHJldHVybiB0aGlzLnZhbHVlcy5zZWxlY3RBbGw7XG4gIH1cbiAgc2V0IHNlbGVjdEFsbCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuc2V0KFwic2VsZWN0QWxsXCIsIHZhbHVlKTtcbiAgfVxuXG4gIGdldCBsaXN0TGluZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVzLmxpc3RMaW5lcztcbiAgfVxuICBzZXQgbGlzdExpbmVzKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5zZXQoXCJsaXN0TGluZXNcIiwgdmFsdWUpO1xuICB9XG5cbiAgZ2V0IGxpc3RMaW5lQWN0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnZhbHVlcy5saXN0TGluZUFjdGlvbjtcbiAgfVxuICBzZXQgbGlzdExpbmVBY3Rpb24odmFsdWU6IExpc3RMaW5lQWN0aW9uKSB7XG4gICAgdGhpcy5zZXQoXCJsaXN0TGluZUFjdGlvblwiLCB2YWx1ZSk7XG4gIH1cblxuICBvbkNoYW5nZTxUIGV4dGVuZHMgSz4oa2V5OiBULCBjYjogQ2FsbGJhY2s8VD4pIHtcbiAgICBpZiAoIXRoaXMuaGFuZGxlcnMuaGFzKGtleSkpIHtcbiAgICAgIHRoaXMuaGFuZGxlcnMuc2V0KGtleSwgbmV3IFNldCgpKTtcbiAgICB9XG5cbiAgICB0aGlzLmhhbmRsZXJzLmdldChrZXkpLmFkZChjYik7XG4gIH1cblxuICByZW1vdmVDYWxsYmFjazxUIGV4dGVuZHMgSz4oa2V5OiBULCBjYjogQ2FsbGJhY2s8VD4pOiB2b2lkIHtcbiAgICBjb25zdCBoYW5kbGVycyA9IHRoaXMuaGFuZGxlcnMuZ2V0KGtleSk7XG5cbiAgICBpZiAoaGFuZGxlcnMpIHtcbiAgICAgIGhhbmRsZXJzLmRlbGV0ZShjYik7XG4gICAgfVxuICB9XG5cbiAgcmVzZXQoKSB7XG4gICAgZm9yIChjb25zdCBbaywgdl0gb2YgT2JqZWN0LmVudHJpZXMoREVGQVVMVF9TRVRUSU5HUykpIHtcbiAgICAgIHRoaXMuc2V0KGsgYXMga2V5b2YgT2JzaWRpYW5PdXRsaW5lclBsdWdpblNldHRpbmdzLCB2KTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBsb2FkKCkge1xuICAgIHRoaXMudmFsdWVzID0gT2JqZWN0LmFzc2lnbihcbiAgICAgIHt9LFxuICAgICAgREVGQVVMVF9TRVRUSU5HUyxcbiAgICAgIGF3YWl0IHRoaXMuc3RvcmFnZS5sb2FkRGF0YSgpXG4gICAgKTtcbiAgfVxuXG4gIGFzeW5jIHNhdmUoKSB7XG4gICAgYXdhaXQgdGhpcy5zdG9yYWdlLnNhdmVEYXRhKHRoaXMudmFsdWVzKTtcbiAgfVxuXG4gIHNldDxUIGV4dGVuZHMgSz4oa2V5OiBULCB2YWx1ZTogT2JzaWRpYW5PdXRsaW5lclBsdWdpblNldHRpbmdzW1RdKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZXNba2V5XSA9IHZhbHVlO1xuICAgIGNvbnN0IGNhbGxiYWNrcyA9IHRoaXMuaGFuZGxlcnMuZ2V0KGtleSk7XG5cbiAgICBpZiAoIWNhbGxiYWNrcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgY2Igb2YgY2FsbGJhY2tzLnZhbHVlcygpKSB7XG4gICAgICBjYih2YWx1ZSk7XG4gICAgfVxuICB9XG59XG4iLCJpbXBvcnQgeyBQbHVnaW4gfSBmcm9tIFwib2JzaWRpYW5cIjtcblxuaW1wb3J0IHsgRGVsZXRlU2hvdWxkSWdub3JlQnVsbGV0c0ZlYXR1cmUgfSBmcm9tIFwiLi9mZWF0dXJlcy9EZWxldGVTaG91bGRJZ25vcmVCdWxsZXRzRmVhdHVyZVwiO1xuaW1wb3J0IHsgRW5zdXJlQ3Vyc29ySW5MaXN0Q29udGVudEZlYXR1cmUgfSBmcm9tIFwiLi9mZWF0dXJlcy9FbnN1cmVDdXJzb3JJbkxpc3RDb250ZW50RmVhdHVyZVwiO1xuaW1wb3J0IHsgRW50ZXJPdXRkZW50SWZMaW5lSXNFbXB0eUZlYXR1cmUgfSBmcm9tIFwiLi9mZWF0dXJlcy9FbnRlck91dGRlbnRJZkxpbmVJc0VtcHR5RmVhdHVyZVwiO1xuaW1wb3J0IHsgRW50ZXJTaG91bGRDcmVhdGVOZXdJdGVtRmVhdHVyZSB9IGZyb20gXCIuL2ZlYXR1cmVzL0VudGVyU2hvdWxkQ3JlYXRlTmV3SXRlbU9uQ2hpbGRMZXZlbEZlYXR1cmVcIjtcbmltcG9ydCB7IEZlYXR1cmUgfSBmcm9tIFwiLi9mZWF0dXJlcy9GZWF0dXJlXCI7XG5pbXBvcnQgeyBGb2xkRmVhdHVyZSB9IGZyb20gXCIuL2ZlYXR1cmVzL0ZvbGRGZWF0dXJlXCI7XG5pbXBvcnQgeyBMaW5lc0ZlYXR1cmUgfSBmcm9tIFwiLi9mZWF0dXJlcy9MaW5lc0ZlYXR1cmVcIjtcbmltcG9ydCB7IExpc3RzU3R5bGVzRmVhdHVyZSB9IGZyb20gXCIuL2ZlYXR1cmVzL0xpc3RzU3R5bGVzRmVhdHVyZVwiO1xuaW1wb3J0IHsgTW92ZUN1cnNvclRvUHJldmlvdXNVbmZvbGRlZExpbmVGZWF0dXJlIH0gZnJvbSBcIi4vZmVhdHVyZXMvTW92ZUN1cnNvclRvUHJldmlvdXNVbmZvbGRlZExpbmVGZWF0dXJlXCI7XG5pbXBvcnQgeyBNb3ZlSXRlbXNGZWF0dXJlIH0gZnJvbSBcIi4vZmVhdHVyZXMvTW92ZUl0ZW1zRmVhdHVyZVwiO1xuaW1wb3J0IHsgU2VsZWN0QWxsRmVhdHVyZSB9IGZyb20gXCIuL2ZlYXR1cmVzL1NlbGVjdEFsbEZlYXR1cmVcIjtcbmltcG9ydCB7IFNlbGVjdGlvblNob3VsZElnbm9yZUJ1bGxldHNGZWF0dXJlIH0gZnJvbSBcIi4vZmVhdHVyZXMvU2VsZWN0aW9uU2hvdWxkSWdub3JlQnVsbGV0c0ZlYXR1cmVcIjtcbmltcG9ydCB7IFNldHRpbmdzVGFiRmVhdHVyZSB9IGZyb20gXCIuL2ZlYXR1cmVzL1NldHRpbmdzVGFiRmVhdHVyZVwiO1xuaW1wb3J0IHsgU2hpZnRFbnRlclNob3VsZENyZWF0ZU5vdGVGZWF0dXJlIH0gZnJvbSBcIi4vZmVhdHVyZXMvU2hpZnRFbnRlclNob3VsZENyZWF0ZU5vdGVGZWF0dXJlXCI7XG5pbXBvcnQgeyBBcHBseUNoYW5nZXNTZXJ2aWNlIH0gZnJvbSBcIi4vc2VydmljZXMvQXBwbHlDaGFuZ2VzU2VydmljZVwiO1xuaW1wb3J0IHsgSU1FU2VydmljZSB9IGZyb20gXCIuL3NlcnZpY2VzL0lNRVNlcnZpY2VcIjtcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tIFwiLi9zZXJ2aWNlcy9Mb2dnZXJTZXJ2aWNlXCI7XG5pbXBvcnQgeyBPYnNpZGlhblNlcnZpY2UgfSBmcm9tIFwiLi9zZXJ2aWNlcy9PYnNpZGlhblNlcnZpY2VcIjtcbmltcG9ydCB7IFBhcnNlclNlcnZpY2UgfSBmcm9tIFwiLi9zZXJ2aWNlcy9QYXJzZXJTZXJ2aWNlXCI7XG5pbXBvcnQgeyBQZXJmb3JtT3BlcmF0aW9uU2VydmljZSB9IGZyb20gXCIuL3NlcnZpY2VzL1BlcmZvcm1PcGVyYXRpb25TZXJ2aWNlXCI7XG5pbXBvcnQgeyBTZXR0aW5nc1NlcnZpY2UgfSBmcm9tIFwiLi9zZXJ2aWNlcy9TZXR0aW5nc1NlcnZpY2VcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgT2JzaWRpYW5PdXRsaW5lclBsdWdpbiBleHRlbmRzIFBsdWdpbiB7XG4gIHByaXZhdGUgZmVhdHVyZXM6IEZlYXR1cmVbXTtcbiAgcHJvdGVjdGVkIHNldHRpbmdzOiBTZXR0aW5nc1NlcnZpY2U7XG4gIHByaXZhdGUgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlO1xuICBwcml2YXRlIG9ic2lkaWFuOiBPYnNpZGlhblNlcnZpY2U7XG4gIHByaXZhdGUgcGFyc2VyOiBQYXJzZXJTZXJ2aWNlO1xuICBwcml2YXRlIGFwcGx5Q2hhbmdlczogQXBwbHlDaGFuZ2VzU2VydmljZTtcbiAgcHJpdmF0ZSBwZXJmb3JtT3BlcmF0aW9uOiBQZXJmb3JtT3BlcmF0aW9uU2VydmljZTtcbiAgcHJpdmF0ZSBpbWU6IElNRVNlcnZpY2U7XG5cbiAgYXN5bmMgb25sb2FkKCkge1xuICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nIG9ic2lkaWFuLW91dGxpbmVyYCk7XG5cbiAgICB0aGlzLm9ic2lkaWFuID0gbmV3IE9ic2lkaWFuU2VydmljZSh0aGlzLmFwcCk7XG5cbiAgICB0aGlzLnNldHRpbmdzID0gbmV3IFNldHRpbmdzU2VydmljZSh0aGlzKTtcbiAgICBhd2FpdCB0aGlzLnNldHRpbmdzLmxvYWQoKTtcblxuICAgIHRoaXMubG9nZ2VyID0gbmV3IExvZ2dlclNlcnZpY2UodGhpcy5zZXR0aW5ncyk7XG5cbiAgICB0aGlzLnBhcnNlciA9IG5ldyBQYXJzZXJTZXJ2aWNlKHRoaXMubG9nZ2VyLCB0aGlzLnNldHRpbmdzKTtcbiAgICB0aGlzLmFwcGx5Q2hhbmdlcyA9IG5ldyBBcHBseUNoYW5nZXNTZXJ2aWNlKCk7XG4gICAgdGhpcy5wZXJmb3JtT3BlcmF0aW9uID0gbmV3IFBlcmZvcm1PcGVyYXRpb25TZXJ2aWNlKFxuICAgICAgdGhpcy5wYXJzZXIsXG4gICAgICB0aGlzLmFwcGx5Q2hhbmdlc1xuICAgICk7XG5cbiAgICB0aGlzLmltZSA9IG5ldyBJTUVTZXJ2aWNlKCk7XG4gICAgYXdhaXQgdGhpcy5pbWUubG9hZCgpO1xuXG4gICAgdGhpcy5mZWF0dXJlcyA9IFtcbiAgICAgIG5ldyBTZXR0aW5nc1RhYkZlYXR1cmUodGhpcywgdGhpcy5zZXR0aW5ncyksXG4gICAgICBuZXcgTGlzdHNTdHlsZXNGZWF0dXJlKHRoaXMuc2V0dGluZ3MsIHRoaXMub2JzaWRpYW4pLFxuICAgICAgbmV3IEVudGVyT3V0ZGVudElmTGluZUlzRW1wdHlGZWF0dXJlKFxuICAgICAgICB0aGlzLFxuICAgICAgICB0aGlzLnNldHRpbmdzLFxuICAgICAgICB0aGlzLmltZSxcbiAgICAgICAgdGhpcy5vYnNpZGlhbixcbiAgICAgICAgdGhpcy5wZXJmb3JtT3BlcmF0aW9uXG4gICAgICApLFxuICAgICAgbmV3IEVudGVyU2hvdWxkQ3JlYXRlTmV3SXRlbUZlYXR1cmUoXG4gICAgICAgIHRoaXMsXG4gICAgICAgIHRoaXMuc2V0dGluZ3MsXG4gICAgICAgIHRoaXMuaW1lLFxuICAgICAgICB0aGlzLm9ic2lkaWFuLFxuICAgICAgICB0aGlzLnBlcmZvcm1PcGVyYXRpb25cbiAgICAgICksXG4gICAgICBuZXcgRW5zdXJlQ3Vyc29ySW5MaXN0Q29udGVudEZlYXR1cmUoXG4gICAgICAgIHRoaXMsXG4gICAgICAgIHRoaXMuc2V0dGluZ3MsXG4gICAgICAgIHRoaXMub2JzaWRpYW4sXG4gICAgICAgIHRoaXMucGVyZm9ybU9wZXJhdGlvblxuICAgICAgKSxcbiAgICAgIG5ldyBNb3ZlQ3Vyc29yVG9QcmV2aW91c1VuZm9sZGVkTGluZUZlYXR1cmUoXG4gICAgICAgIHRoaXMsXG4gICAgICAgIHRoaXMuc2V0dGluZ3MsXG4gICAgICAgIHRoaXMuaW1lLFxuICAgICAgICB0aGlzLm9ic2lkaWFuLFxuICAgICAgICB0aGlzLnBlcmZvcm1PcGVyYXRpb25cbiAgICAgICksXG4gICAgICBuZXcgRGVsZXRlU2hvdWxkSWdub3JlQnVsbGV0c0ZlYXR1cmUoXG4gICAgICAgIHRoaXMsXG4gICAgICAgIHRoaXMuc2V0dGluZ3MsXG4gICAgICAgIHRoaXMuaW1lLFxuICAgICAgICB0aGlzLm9ic2lkaWFuLFxuICAgICAgICB0aGlzLnBlcmZvcm1PcGVyYXRpb25cbiAgICAgICksXG4gICAgICBuZXcgU2VsZWN0aW9uU2hvdWxkSWdub3JlQnVsbGV0c0ZlYXR1cmUoXG4gICAgICAgIHRoaXMsXG4gICAgICAgIHRoaXMuc2V0dGluZ3MsXG4gICAgICAgIHRoaXMuaW1lLFxuICAgICAgICB0aGlzLm9ic2lkaWFuLFxuICAgICAgICB0aGlzLnBlcmZvcm1PcGVyYXRpb25cbiAgICAgICksXG4gICAgICBuZXcgRm9sZEZlYXR1cmUodGhpcywgdGhpcy5vYnNpZGlhbiksXG4gICAgICBuZXcgU2VsZWN0QWxsRmVhdHVyZShcbiAgICAgICAgdGhpcyxcbiAgICAgICAgdGhpcy5zZXR0aW5ncyxcbiAgICAgICAgdGhpcy5pbWUsXG4gICAgICAgIHRoaXMub2JzaWRpYW4sXG4gICAgICAgIHRoaXMucGVyZm9ybU9wZXJhdGlvblxuICAgICAgKSxcbiAgICAgIG5ldyBNb3ZlSXRlbXNGZWF0dXJlKFxuICAgICAgICB0aGlzLFxuICAgICAgICB0aGlzLmltZSxcbiAgICAgICAgdGhpcy5vYnNpZGlhbixcbiAgICAgICAgdGhpcy5zZXR0aW5ncyxcbiAgICAgICAgdGhpcy5wZXJmb3JtT3BlcmF0aW9uXG4gICAgICApLFxuICAgICAgbmV3IFNoaWZ0RW50ZXJTaG91bGRDcmVhdGVOb3RlRmVhdHVyZShcbiAgICAgICAgdGhpcyxcbiAgICAgICAgdGhpcy5vYnNpZGlhbixcbiAgICAgICAgdGhpcy5zZXR0aW5ncyxcbiAgICAgICAgdGhpcy5pbWUsXG4gICAgICAgIHRoaXMucGVyZm9ybU9wZXJhdGlvblxuICAgICAgKSxcbiAgICAgIG5ldyBMaW5lc0ZlYXR1cmUodGhpcywgdGhpcy5zZXR0aW5ncywgdGhpcy5vYnNpZGlhbiwgdGhpcy5wYXJzZXIpLFxuICAgIF07XG5cbiAgICBmb3IgKGNvbnN0IGZlYXR1cmUgb2YgdGhpcy5mZWF0dXJlcykge1xuICAgICAgYXdhaXQgZmVhdHVyZS5sb2FkKCk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgb251bmxvYWQoKSB7XG4gICAgY29uc29sZS5sb2coYFVubG9hZGluZyBvYnNpZGlhbi1vdXRsaW5lcmApO1xuXG4gICAgYXdhaXQgdGhpcy5pbWUudW5sb2FkKCk7XG5cbiAgICBmb3IgKGNvbnN0IGZlYXR1cmUgb2YgdGhpcy5mZWF0dXJlcykge1xuICAgICAgYXdhaXQgZmVhdHVyZS51bmxvYWQoKTtcbiAgICB9XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJrZXltYXAiLCJFZGl0b3JTdGF0ZSIsIlByZWMiLCJOb3RpY2UiLCJmb2xkZWRSYW5nZXMiLCJmb2xkYWJsZSIsImZvbGRFZmZlY3QiLCJ1bmZvbGRFZmZlY3QiLCJydW5TY29wZUhhbmRsZXJzIiwib2JzaWRpYW4iLCJlZGl0b3JJbmZvRmllbGQiLCJWaWV3UGx1Z2luIiwiUGx1Z2luU2V0dGluZ1RhYiIsIlNldHRpbmciLCJQbGF0Zm9ybSIsIlBsdWdpbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFvR0E7QUFDTyxTQUFTLFNBQVMsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUU7QUFDN0QsSUFBSSxTQUFTLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxPQUFPLEtBQUssWUFBWSxDQUFDLEdBQUcsS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDLFVBQVUsT0FBTyxFQUFFLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUU7QUFDaEgsSUFBSSxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxPQUFPLENBQUMsRUFBRSxVQUFVLE9BQU8sRUFBRSxNQUFNLEVBQUU7QUFDL0QsUUFBUSxTQUFTLFNBQVMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO0FBQ25HLFFBQVEsU0FBUyxRQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO0FBQ3RHLFFBQVEsU0FBUyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQyxFQUFFO0FBQ3RILFFBQVEsSUFBSSxDQUFDLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLFVBQVUsSUFBSSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBQzlFLEtBQUssQ0FBQyxDQUFD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R0FBRyxFQUNSLElBQUksQ0FBQyxRQUFRLEVBQ2IsSUFBSSxDQUFDLGdCQUFnQixDQUN0QjtBQUNELGdCQUFBLElBQUksbUNBQW1DLENBQ3JDLElBQUksRUFDSixJQUFJLENBQUMsUUFBUSxFQUNiLElBQUksQ0FBQyxHQUFHLEVBQ1IsSUFBSSxDQUFDLFFBQVEsRUFDYixJQUFJLENBQUMsZ0JBQWdCLENBQ3RCO0FBQ0QsZ0JBQUEsSUFBSSxXQUFXLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUM7QUFDcEMsZ0JBQUEsSUFBSSxnQkFBZ0IsQ0FDbEIsSUFBSSxFQUNKLElBQUksQ0FBQyxRQUFRLEVBQ2IsSUFBSSxDQUFDLEdBQUcsRUFDUixJQUFJLENBQUMsUUFBUSxFQUNiLElBQUksQ0FBQyxnQkFBZ0IsQ0FDdEI7QUFDRCxnQkFBQSxJQUFJLGdCQUFnQixDQUNsQixJQUFJLEVBQ0osSUFBSSxDQUFDLEdBQUcsRUFDUixJQUFJLENBQUMsUUFBUSxFQUNiLElBQUksQ0FBQyxRQUFRLEVBQ2IsSUFBSSxDQUFDLGdCQUFnQixDQUN0QjtBQUNELGdCQUFBLElBQUksaUNBQWlDLENBQ25DLElBQUksRUFDSixJQUFJLENBQUMsUUFBUSxFQUNiLElBQUksQ0FBQyxRQUFRLEVBQ2IsSUFBSSxDQUFDLEdBQUcsRUFDUixJQUFJLENBQUMsZ0JBQWdCLENBQ3RCO0FBQ0QsZ0JBQUEsSUFBSSxZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDO2FBQ2xFLENBQUM7QUFFRixZQUFBLEtBQUssTUFBTSxPQUFPLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtBQUNuQyxnQkFBQSxNQUFNLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUN0QixhQUFBO1NBQ0YsQ0FBQSxDQUFBO0FBQUEsS0FBQTtJQUVLLFFBQVEsR0FBQTs7QUFDWixZQUFBLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQSwyQkFBQSxDQUE2QixDQUFDLENBQUM7QUFFM0MsWUFBQSxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUM7QUFFeEIsWUFBQSxLQUFLLE1BQU0sT0FBTyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7QUFDbkMsZ0JBQUEsTUFBTSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7QUFDeEIsYUFBQTtTQUNGLENBQUEsQ0FBQTtBQUFBLEtBQUE7QUFDRjs7OzsiLCJ4X2dvb2dsZV9pZ25vcmVMaXN0IjpbMF19 diff --git a/.obsidian/plugins/obsidian-outliner/manifest.json b/.obsidian/plugins/obsidian-outliner/manifest.json index 7934f61..9909c4b 100644 --- a/.obsidian/plugins/obsidian-outliner/manifest.json +++ b/.obsidian/plugins/obsidian-outliner/manifest.json @@ -1,7 +1,7 @@ { "id": "obsidian-outliner", "name": "Outliner", - "version": "4.2.1", + "version": "4.3.0", "minAppVersion": "1.0.0", "description": "Work with your lists like in Workflowy or RoamResearch.", "author": "Viacheslav Slinko", diff --git a/.obsidian/plugins/obsidian-tikzjax/main.js b/.obsidian/plugins/obsidian-tikzjax/main.js new file mode 100644 index 0000000..c59af76 --- /dev/null +++ b/.obsidian/plugins/obsidian-tikzjax/main.js @@ -0,0 +1,18558 @@ +/* +THIS IS A GENERATED/BUNDLED FILE BY ESBUILD +if you want to view the source, please visit the github repository of this plugin +*/ + +var __create = Object.create; +var __defProp = Object.defineProperty; +var __defProps = Object.defineProperties; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropDescs = Object.getOwnPropertyDescriptors; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getOwnPropSymbols = Object.getOwnPropertySymbols; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __propIsEnum = Object.prototype.propertyIsEnumerable; +var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __spreadValues = (a, b) => { + for (var prop2 in b || (b = {})) + if (__hasOwnProp.call(b, prop2)) + __defNormalProp(a, prop2, b[prop2]); + if (__getOwnPropSymbols) + for (var prop2 of __getOwnPropSymbols(b)) { + if (__propIsEnum.call(b, prop2)) + __defNormalProp(a, prop2, b[prop2]); + } + return a; +}; +var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b)); +var __markAsModule = (target2) => __defProp(target2, "__esModule", { value: true }); +var __objRest = (source, exclude) => { + var target2 = {}; + for (var prop2 in source) + if (__hasOwnProp.call(source, prop2) && exclude.indexOf(prop2) < 0) + target2[prop2] = source[prop2]; + if (source != null && __getOwnPropSymbols) + for (var prop2 of __getOwnPropSymbols(source)) { + if (exclude.indexOf(prop2) < 0 && __propIsEnum.call(source, prop2)) + target2[prop2] = source[prop2]; + } + return target2; +}; +var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[Object.keys(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __export = (target2, all) => { + __markAsModule(target2); + for (var name2 in all) + __defProp(target2, name2, { get: all[name2], enumerable: true }); +}; +var __reExport = (target2, module2, desc) => { + if (module2 && typeof module2 === "object" || typeof module2 === "function") { + for (let key of __getOwnPropNames(module2)) + if (!__hasOwnProp.call(target2, key) && key !== "default") + __defProp(target2, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable }); + } + return target2; +}; +var __toModule = (module2) => { + return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2); +}; +var __async = (__this, __arguments, generator) => { + return new Promise((resolve, reject) => { + var fulfilled = (value) => { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + }; + var rejected = (value) => { + try { + step(generator.throw(value)); + } catch (e) { + reject(e); + } + }; + var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected); + step((generator = generator.apply(__this, __arguments)).next()); + }); +}; + +// node_modules/localforage/dist/localforage.js +var require_localforage = __commonJS({ + "node_modules/localforage/dist/localforage.js"(exports, module2) { + (function(f) { + if (typeof exports === "object" && typeof module2 !== "undefined") { + module2.exports = f(); + } else if (typeof define === "function" && define.amd) { + define([], f); + } else { + var g2; + if (typeof window !== "undefined") { + g2 = window; + } else if (typeof global !== "undefined") { + g2 = global; + } else if (typeof self !== "undefined") { + g2 = self; + } else { + g2 = this; + } + g2.localforage = f(); + } + })(function() { + var define2, module3, exports2; + return function e(t, n, r) { + function s(o2, u) { + if (!n[o2]) { + if (!t[o2]) { + var a = typeof require == "function" && require; + if (!u && a) + return a(o2, true); + if (i) + return i(o2, true); + var f = new Error("Cannot find module '" + o2 + "'"); + throw f.code = "MODULE_NOT_FOUND", f; + } + var l = n[o2] = { exports: {} }; + t[o2][0].call(l.exports, function(e2) { + var n2 = t[o2][1][e2]; + return s(n2 ? n2 : e2); + }, l, l.exports, e, t, n, r); + } + return n[o2].exports; + } + var i = typeof require == "function" && require; + for (var o = 0; o < r.length; o++) + s(r[o]); + return s; + }({ 1: [function(_dereq_, module4, exports3) { + (function(global2) { + "use strict"; + var Mutation = global2.MutationObserver || global2.WebKitMutationObserver; + var scheduleDrain; + { + if (Mutation) { + var called = 0; + var observer = new Mutation(nextTick); + var element = global2.document.createTextNode(""); + observer.observe(element, { + characterData: true + }); + scheduleDrain = function() { + element.data = called = ++called % 2; + }; + } else if (!global2.setImmediate && typeof global2.MessageChannel !== "undefined") { + var channel = new global2.MessageChannel(); + channel.port1.onmessage = nextTick; + scheduleDrain = function() { + channel.port2.postMessage(0); + }; + } else if ("document" in global2 && "onreadystatechange" in global2.document.createElement("script")) { + scheduleDrain = function() { + var scriptEl = global2.document.createElement("script"); + scriptEl.onreadystatechange = function() { + nextTick(); + scriptEl.onreadystatechange = null; + scriptEl.parentNode.removeChild(scriptEl); + scriptEl = null; + }; + global2.document.documentElement.appendChild(scriptEl); + }; + } else { + scheduleDrain = function() { + setTimeout(nextTick, 0); + }; + } + } + var draining; + var queue = []; + function nextTick() { + draining = true; + var i, oldQueue; + var len = queue.length; + while (len) { + oldQueue = queue; + queue = []; + i = -1; + while (++i < len) { + oldQueue[i](); + } + len = queue.length; + } + draining = false; + } + module4.exports = immediate; + function immediate(task) { + if (queue.push(task) === 1 && !draining) { + scheduleDrain(); + } + } + }).call(this, typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}); + }, {}], 2: [function(_dereq_, module4, exports3) { + "use strict"; + var immediate = _dereq_(1); + function INTERNAL() { + } + var handlers2 = {}; + var REJECTED = ["REJECTED"]; + var FULFILLED = ["FULFILLED"]; + var PENDING = ["PENDING"]; + module4.exports = Promise2; + function Promise2(resolver) { + if (typeof resolver !== "function") { + throw new TypeError("resolver must be a function"); + } + this.state = PENDING; + this.queue = []; + this.outcome = void 0; + if (resolver !== INTERNAL) { + safelyResolveThenable(this, resolver); + } + } + Promise2.prototype["catch"] = function(onRejected) { + return this.then(null, onRejected); + }; + Promise2.prototype.then = function(onFulfilled, onRejected) { + if (typeof onFulfilled !== "function" && this.state === FULFILLED || typeof onRejected !== "function" && this.state === REJECTED) { + return this; + } + var promise = new this.constructor(INTERNAL); + if (this.state !== PENDING) { + var resolver = this.state === FULFILLED ? onFulfilled : onRejected; + unwrap(promise, resolver, this.outcome); + } else { + this.queue.push(new QueueItem(promise, onFulfilled, onRejected)); + } + return promise; + }; + function QueueItem(promise, onFulfilled, onRejected) { + this.promise = promise; + if (typeof onFulfilled === "function") { + this.onFulfilled = onFulfilled; + this.callFulfilled = this.otherCallFulfilled; + } + if (typeof onRejected === "function") { + this.onRejected = onRejected; + this.callRejected = this.otherCallRejected; + } + } + QueueItem.prototype.callFulfilled = function(value) { + handlers2.resolve(this.promise, value); + }; + QueueItem.prototype.otherCallFulfilled = function(value) { + unwrap(this.promise, this.onFulfilled, value); + }; + QueueItem.prototype.callRejected = function(value) { + handlers2.reject(this.promise, value); + }; + QueueItem.prototype.otherCallRejected = function(value) { + unwrap(this.promise, this.onRejected, value); + }; + function unwrap(promise, func, value) { + immediate(function() { + var returnValue; + try { + returnValue = func(value); + } catch (e) { + return handlers2.reject(promise, e); + } + if (returnValue === promise) { + handlers2.reject(promise, new TypeError("Cannot resolve promise with itself")); + } else { + handlers2.resolve(promise, returnValue); + } + }); + } + handlers2.resolve = function(self2, value) { + var result = tryCatch(getThen, value); + if (result.status === "error") { + return handlers2.reject(self2, result.value); + } + var thenable = result.value; + if (thenable) { + safelyResolveThenable(self2, thenable); + } else { + self2.state = FULFILLED; + self2.outcome = value; + var i = -1; + var len = self2.queue.length; + while (++i < len) { + self2.queue[i].callFulfilled(value); + } + } + return self2; + }; + handlers2.reject = function(self2, error2) { + self2.state = REJECTED; + self2.outcome = error2; + var i = -1; + var len = self2.queue.length; + while (++i < len) { + self2.queue[i].callRejected(error2); + } + return self2; + }; + function getThen(obj) { + var then = obj && obj.then; + if (obj && (typeof obj === "object" || typeof obj === "function") && typeof then === "function") { + return function appyThen() { + then.apply(obj, arguments); + }; + } + } + function safelyResolveThenable(self2, thenable) { + var called = false; + function onError(value) { + if (called) { + return; + } + called = true; + handlers2.reject(self2, value); + } + function onSuccess(value) { + if (called) { + return; + } + called = true; + handlers2.resolve(self2, value); + } + function tryToUnwrap() { + thenable(onSuccess, onError); + } + var result = tryCatch(tryToUnwrap); + if (result.status === "error") { + onError(result.value); + } + } + function tryCatch(func, value) { + var out = {}; + try { + out.value = func(value); + out.status = "success"; + } catch (e) { + out.status = "error"; + out.value = e; + } + return out; + } + Promise2.resolve = resolve; + function resolve(value) { + if (value instanceof this) { + return value; + } + return handlers2.resolve(new this(INTERNAL), value); + } + Promise2.reject = reject; + function reject(reason) { + var promise = new this(INTERNAL); + return handlers2.reject(promise, reason); + } + Promise2.all = all; + function all(iterable) { + var self2 = this; + if (Object.prototype.toString.call(iterable) !== "[object Array]") { + return this.reject(new TypeError("must be an array")); + } + var len = iterable.length; + var called = false; + if (!len) { + return this.resolve([]); + } + var values = new Array(len); + var resolved = 0; + var i = -1; + var promise = new this(INTERNAL); + while (++i < len) { + allResolver(iterable[i], i); + } + return promise; + function allResolver(value, i2) { + self2.resolve(value).then(resolveFromAll, function(error2) { + if (!called) { + called = true; + handlers2.reject(promise, error2); + } + }); + function resolveFromAll(outValue) { + values[i2] = outValue; + if (++resolved === len && !called) { + called = true; + handlers2.resolve(promise, values); + } + } + } + } + Promise2.race = race2; + function race2(iterable) { + var self2 = this; + if (Object.prototype.toString.call(iterable) !== "[object Array]") { + return this.reject(new TypeError("must be an array")); + } + var len = iterable.length; + var called = false; + if (!len) { + return this.resolve([]); + } + var i = -1; + var promise = new this(INTERNAL); + while (++i < len) { + resolver(iterable[i]); + } + return promise; + function resolver(value) { + self2.resolve(value).then(function(response) { + if (!called) { + called = true; + handlers2.resolve(promise, response); + } + }, function(error2) { + if (!called) { + called = true; + handlers2.reject(promise, error2); + } + }); + } + } + }, { "1": 1 }], 3: [function(_dereq_, module4, exports3) { + (function(global2) { + "use strict"; + if (typeof global2.Promise !== "function") { + global2.Promise = _dereq_(2); + } + }).call(this, typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}); + }, { "2": 2 }], 4: [function(_dereq_, module4, exports3) { + "use strict"; + var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function(obj) { + return typeof obj; + } : function(obj) { + return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; + }; + function _classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } + } + function getIDB() { + try { + if (typeof indexedDB !== "undefined") { + return indexedDB; + } + if (typeof webkitIndexedDB !== "undefined") { + return webkitIndexedDB; + } + if (typeof mozIndexedDB !== "undefined") { + return mozIndexedDB; + } + if (typeof OIndexedDB !== "undefined") { + return OIndexedDB; + } + if (typeof msIndexedDB !== "undefined") { + return msIndexedDB; + } + } catch (e) { + return; + } + } + var idb = getIDB(); + function isIndexedDBValid() { + try { + if (!idb || !idb.open) { + return false; + } + var isSafari = typeof openDatabase !== "undefined" && /(Safari|iPhone|iPad|iPod)/.test(navigator.userAgent) && !/Chrome/.test(navigator.userAgent) && !/BlackBerry/.test(navigator.platform); + var hasFetch = typeof fetch === "function" && fetch.toString().indexOf("[native code") !== -1; + return (!isSafari || hasFetch) && typeof indexedDB !== "undefined" && typeof IDBKeyRange !== "undefined"; + } catch (e) { + return false; + } + } + function createBlob(parts, properties) { + parts = parts || []; + properties = properties || {}; + try { + return new Blob(parts, properties); + } catch (e) { + if (e.name !== "TypeError") { + throw e; + } + var Builder = typeof BlobBuilder !== "undefined" ? BlobBuilder : typeof MSBlobBuilder !== "undefined" ? MSBlobBuilder : typeof MozBlobBuilder !== "undefined" ? MozBlobBuilder : WebKitBlobBuilder; + var builder = new Builder(); + for (var i = 0; i < parts.length; i += 1) { + builder.append(parts[i]); + } + return builder.getBlob(properties.type); + } + } + if (typeof Promise === "undefined") { + _dereq_(3); + } + var Promise$1 = Promise; + function executeCallback(promise, callback) { + if (callback) { + promise.then(function(result) { + callback(null, result); + }, function(error2) { + callback(error2); + }); + } + } + function executeTwoCallbacks(promise, callback, errorCallback) { + if (typeof callback === "function") { + promise.then(callback); + } + if (typeof errorCallback === "function") { + promise["catch"](errorCallback); + } + } + function normalizeKey(key2) { + if (typeof key2 !== "string") { + console.warn(key2 + " used as a key, but it is not a string."); + key2 = String(key2); + } + return key2; + } + function getCallback() { + if (arguments.length && typeof arguments[arguments.length - 1] === "function") { + return arguments[arguments.length - 1]; + } + } + var DETECT_BLOB_SUPPORT_STORE = "local-forage-detect-blob-support"; + var supportsBlobs = void 0; + var dbContexts = {}; + var toString = Object.prototype.toString; + var READ_ONLY = "readonly"; + var READ_WRITE = "readwrite"; + function _binStringToArrayBuffer(bin) { + var length2 = bin.length; + var buf = new ArrayBuffer(length2); + var arr = new Uint8Array(buf); + for (var i = 0; i < length2; i++) { + arr[i] = bin.charCodeAt(i); + } + return buf; + } + function _checkBlobSupportWithoutCaching(idb2) { + return new Promise$1(function(resolve) { + var txn = idb2.transaction(DETECT_BLOB_SUPPORT_STORE, READ_WRITE); + var blob = createBlob([""]); + txn.objectStore(DETECT_BLOB_SUPPORT_STORE).put(blob, "key"); + txn.onabort = function(e) { + e.preventDefault(); + e.stopPropagation(); + resolve(false); + }; + txn.oncomplete = function() { + var matchedChrome = navigator.userAgent.match(/Chrome\/(\d+)/); + var matchedEdge = navigator.userAgent.match(/Edge\//); + resolve(matchedEdge || !matchedChrome || parseInt(matchedChrome[1], 10) >= 43); + }; + })["catch"](function() { + return false; + }); + } + function _checkBlobSupport(idb2) { + if (typeof supportsBlobs === "boolean") { + return Promise$1.resolve(supportsBlobs); + } + return _checkBlobSupportWithoutCaching(idb2).then(function(value) { + supportsBlobs = value; + return supportsBlobs; + }); + } + function _deferReadiness(dbInfo) { + var dbContext = dbContexts[dbInfo.name]; + var deferredOperation = {}; + deferredOperation.promise = new Promise$1(function(resolve, reject) { + deferredOperation.resolve = resolve; + deferredOperation.reject = reject; + }); + dbContext.deferredOperations.push(deferredOperation); + if (!dbContext.dbReady) { + dbContext.dbReady = deferredOperation.promise; + } else { + dbContext.dbReady = dbContext.dbReady.then(function() { + return deferredOperation.promise; + }); + } + } + function _advanceReadiness(dbInfo) { + var dbContext = dbContexts[dbInfo.name]; + var deferredOperation = dbContext.deferredOperations.pop(); + if (deferredOperation) { + deferredOperation.resolve(); + return deferredOperation.promise; + } + } + function _rejectReadiness(dbInfo, err) { + var dbContext = dbContexts[dbInfo.name]; + var deferredOperation = dbContext.deferredOperations.pop(); + if (deferredOperation) { + deferredOperation.reject(err); + return deferredOperation.promise; + } + } + function _getConnection(dbInfo, upgradeNeeded) { + return new Promise$1(function(resolve, reject) { + dbContexts[dbInfo.name] = dbContexts[dbInfo.name] || createDbContext(); + if (dbInfo.db) { + if (upgradeNeeded) { + _deferReadiness(dbInfo); + dbInfo.db.close(); + } else { + return resolve(dbInfo.db); + } + } + var dbArgs = [dbInfo.name]; + if (upgradeNeeded) { + dbArgs.push(dbInfo.version); + } + var openreq = idb.open.apply(idb, dbArgs); + if (upgradeNeeded) { + openreq.onupgradeneeded = function(e) { + var db = openreq.result; + try { + db.createObjectStore(dbInfo.storeName); + if (e.oldVersion <= 1) { + db.createObjectStore(DETECT_BLOB_SUPPORT_STORE); + } + } catch (ex) { + if (ex.name === "ConstraintError") { + console.warn('The database "' + dbInfo.name + '" has been upgraded from version ' + e.oldVersion + " to version " + e.newVersion + ', but the storage "' + dbInfo.storeName + '" already exists.'); + } else { + throw ex; + } + } + }; + } + openreq.onerror = function(e) { + e.preventDefault(); + reject(openreq.error); + }; + openreq.onsuccess = function() { + var db = openreq.result; + db.onversionchange = function(e) { + e.target.close(); + }; + resolve(db); + _advanceReadiness(dbInfo); + }; + }); + } + function _getOriginalConnection(dbInfo) { + return _getConnection(dbInfo, false); + } + function _getUpgradedConnection(dbInfo) { + return _getConnection(dbInfo, true); + } + function _isUpgradeNeeded(dbInfo, defaultVersion) { + if (!dbInfo.db) { + return true; + } + var isNewStore = !dbInfo.db.objectStoreNames.contains(dbInfo.storeName); + var isDowngrade = dbInfo.version < dbInfo.db.version; + var isUpgrade = dbInfo.version > dbInfo.db.version; + if (isDowngrade) { + if (dbInfo.version !== defaultVersion) { + console.warn('The database "' + dbInfo.name + `" can't be downgraded from version ` + dbInfo.db.version + " to version " + dbInfo.version + "."); + } + dbInfo.version = dbInfo.db.version; + } + if (isUpgrade || isNewStore) { + if (isNewStore) { + var incVersion = dbInfo.db.version + 1; + if (incVersion > dbInfo.version) { + dbInfo.version = incVersion; + } + } + return true; + } + return false; + } + function _encodeBlob(blob) { + return new Promise$1(function(resolve, reject) { + var reader = new FileReader(); + reader.onerror = reject; + reader.onloadend = function(e) { + var base64 = btoa(e.target.result || ""); + resolve({ + __local_forage_encoded_blob: true, + data: base64, + type: blob.type + }); + }; + reader.readAsBinaryString(blob); + }); + } + function _decodeBlob(encodedBlob) { + var arrayBuff = _binStringToArrayBuffer(atob(encodedBlob.data)); + return createBlob([arrayBuff], { type: encodedBlob.type }); + } + function _isEncodedBlob(value) { + return value && value.__local_forage_encoded_blob; + } + function _fullyReady(callback) { + var self2 = this; + var promise = self2._initReady().then(function() { + var dbContext = dbContexts[self2._dbInfo.name]; + if (dbContext && dbContext.dbReady) { + return dbContext.dbReady; + } + }); + executeTwoCallbacks(promise, callback, callback); + return promise; + } + function _tryReconnect(dbInfo) { + _deferReadiness(dbInfo); + var dbContext = dbContexts[dbInfo.name]; + var forages = dbContext.forages; + for (var i = 0; i < forages.length; i++) { + var forage = forages[i]; + if (forage._dbInfo.db) { + forage._dbInfo.db.close(); + forage._dbInfo.db = null; + } + } + dbInfo.db = null; + return _getOriginalConnection(dbInfo).then(function(db) { + dbInfo.db = db; + if (_isUpgradeNeeded(dbInfo)) { + return _getUpgradedConnection(dbInfo); + } + return db; + }).then(function(db) { + dbInfo.db = dbContext.db = db; + for (var i2 = 0; i2 < forages.length; i2++) { + forages[i2]._dbInfo.db = db; + } + })["catch"](function(err) { + _rejectReadiness(dbInfo, err); + throw err; + }); + } + function createTransaction(dbInfo, mode, callback, retries) { + if (retries === void 0) { + retries = 1; + } + try { + var tx = dbInfo.db.transaction(dbInfo.storeName, mode); + callback(null, tx); + } catch (err) { + if (retries > 0 && (!dbInfo.db || err.name === "InvalidStateError" || err.name === "NotFoundError")) { + return Promise$1.resolve().then(function() { + if (!dbInfo.db || err.name === "NotFoundError" && !dbInfo.db.objectStoreNames.contains(dbInfo.storeName) && dbInfo.version <= dbInfo.db.version) { + if (dbInfo.db) { + dbInfo.version = dbInfo.db.version + 1; + } + return _getUpgradedConnection(dbInfo); + } + }).then(function() { + return _tryReconnect(dbInfo).then(function() { + createTransaction(dbInfo, mode, callback, retries - 1); + }); + })["catch"](callback); + } + callback(err); + } + } + function createDbContext() { + return { + forages: [], + db: null, + dbReady: null, + deferredOperations: [] + }; + } + function _initStorage(options) { + var self2 = this; + var dbInfo = { + db: null + }; + if (options) { + for (var i in options) { + dbInfo[i] = options[i]; + } + } + var dbContext = dbContexts[dbInfo.name]; + if (!dbContext) { + dbContext = createDbContext(); + dbContexts[dbInfo.name] = dbContext; + } + dbContext.forages.push(self2); + if (!self2._initReady) { + self2._initReady = self2.ready; + self2.ready = _fullyReady; + } + var initPromises = []; + function ignoreErrors() { + return Promise$1.resolve(); + } + for (var j = 0; j < dbContext.forages.length; j++) { + var forage = dbContext.forages[j]; + if (forage !== self2) { + initPromises.push(forage._initReady()["catch"](ignoreErrors)); + } + } + var forages = dbContext.forages.slice(0); + return Promise$1.all(initPromises).then(function() { + dbInfo.db = dbContext.db; + return _getOriginalConnection(dbInfo); + }).then(function(db) { + dbInfo.db = db; + if (_isUpgradeNeeded(dbInfo, self2._defaultConfig.version)) { + return _getUpgradedConnection(dbInfo); + } + return db; + }).then(function(db) { + dbInfo.db = dbContext.db = db; + self2._dbInfo = dbInfo; + for (var k = 0; k < forages.length; k++) { + var forage2 = forages[k]; + if (forage2 !== self2) { + forage2._dbInfo.db = dbInfo.db; + forage2._dbInfo.version = dbInfo.version; + } + } + }); + } + function getItem(key2, callback) { + var self2 = this; + key2 = normalizeKey(key2); + var promise = new Promise$1(function(resolve, reject) { + self2.ready().then(function() { + createTransaction(self2._dbInfo, READ_ONLY, function(err, transaction) { + if (err) { + return reject(err); + } + try { + var store = transaction.objectStore(self2._dbInfo.storeName); + var req = store.get(key2); + req.onsuccess = function() { + var value = req.result; + if (value === void 0) { + value = null; + } + if (_isEncodedBlob(value)) { + value = _decodeBlob(value); + } + resolve(value); + }; + req.onerror = function() { + reject(req.error); + }; + } catch (e) { + reject(e); + } + }); + })["catch"](reject); + }); + executeCallback(promise, callback); + return promise; + } + function iterate(iterator, callback) { + var self2 = this; + var promise = new Promise$1(function(resolve, reject) { + self2.ready().then(function() { + createTransaction(self2._dbInfo, READ_ONLY, function(err, transaction) { + if (err) { + return reject(err); + } + try { + var store = transaction.objectStore(self2._dbInfo.storeName); + var req = store.openCursor(); + var iterationNumber = 1; + req.onsuccess = function() { + var cursor = req.result; + if (cursor) { + var value = cursor.value; + if (_isEncodedBlob(value)) { + value = _decodeBlob(value); + } + var result = iterator(value, cursor.key, iterationNumber++); + if (result !== void 0) { + resolve(result); + } else { + cursor["continue"](); + } + } else { + resolve(); + } + }; + req.onerror = function() { + reject(req.error); + }; + } catch (e) { + reject(e); + } + }); + })["catch"](reject); + }); + executeCallback(promise, callback); + return promise; + } + function setItem(key2, value, callback) { + var self2 = this; + key2 = normalizeKey(key2); + var promise = new Promise$1(function(resolve, reject) { + var dbInfo; + self2.ready().then(function() { + dbInfo = self2._dbInfo; + if (toString.call(value) === "[object Blob]") { + return _checkBlobSupport(dbInfo.db).then(function(blobSupport) { + if (blobSupport) { + return value; + } + return _encodeBlob(value); + }); + } + return value; + }).then(function(value2) { + createTransaction(self2._dbInfo, READ_WRITE, function(err, transaction) { + if (err) { + return reject(err); + } + try { + var store = transaction.objectStore(self2._dbInfo.storeName); + if (value2 === null) { + value2 = void 0; + } + var req = store.put(value2, key2); + transaction.oncomplete = function() { + if (value2 === void 0) { + value2 = null; + } + resolve(value2); + }; + transaction.onabort = transaction.onerror = function() { + var err2 = req.error ? req.error : req.transaction.error; + reject(err2); + }; + } catch (e) { + reject(e); + } + }); + })["catch"](reject); + }); + executeCallback(promise, callback); + return promise; + } + function removeItem(key2, callback) { + var self2 = this; + key2 = normalizeKey(key2); + var promise = new Promise$1(function(resolve, reject) { + self2.ready().then(function() { + createTransaction(self2._dbInfo, READ_WRITE, function(err, transaction) { + if (err) { + return reject(err); + } + try { + var store = transaction.objectStore(self2._dbInfo.storeName); + var req = store["delete"](key2); + transaction.oncomplete = function() { + resolve(); + }; + transaction.onerror = function() { + reject(req.error); + }; + transaction.onabort = function() { + var err2 = req.error ? req.error : req.transaction.error; + reject(err2); + }; + } catch (e) { + reject(e); + } + }); + })["catch"](reject); + }); + executeCallback(promise, callback); + return promise; + } + function clear2(callback) { + var self2 = this; + var promise = new Promise$1(function(resolve, reject) { + self2.ready().then(function() { + createTransaction(self2._dbInfo, READ_WRITE, function(err, transaction) { + if (err) { + return reject(err); + } + try { + var store = transaction.objectStore(self2._dbInfo.storeName); + var req = store.clear(); + transaction.oncomplete = function() { + resolve(); + }; + transaction.onabort = transaction.onerror = function() { + var err2 = req.error ? req.error : req.transaction.error; + reject(err2); + }; + } catch (e) { + reject(e); + } + }); + })["catch"](reject); + }); + executeCallback(promise, callback); + return promise; + } + function length(callback) { + var self2 = this; + var promise = new Promise$1(function(resolve, reject) { + self2.ready().then(function() { + createTransaction(self2._dbInfo, READ_ONLY, function(err, transaction) { + if (err) { + return reject(err); + } + try { + var store = transaction.objectStore(self2._dbInfo.storeName); + var req = store.count(); + req.onsuccess = function() { + resolve(req.result); + }; + req.onerror = function() { + reject(req.error); + }; + } catch (e) { + reject(e); + } + }); + })["catch"](reject); + }); + executeCallback(promise, callback); + return promise; + } + function key(n, callback) { + var self2 = this; + var promise = new Promise$1(function(resolve, reject) { + if (n < 0) { + resolve(null); + return; + } + self2.ready().then(function() { + createTransaction(self2._dbInfo, READ_ONLY, function(err, transaction) { + if (err) { + return reject(err); + } + try { + var store = transaction.objectStore(self2._dbInfo.storeName); + var advanced = false; + var req = store.openKeyCursor(); + req.onsuccess = function() { + var cursor = req.result; + if (!cursor) { + resolve(null); + return; + } + if (n === 0) { + resolve(cursor.key); + } else { + if (!advanced) { + advanced = true; + cursor.advance(n); + } else { + resolve(cursor.key); + } + } + }; + req.onerror = function() { + reject(req.error); + }; + } catch (e) { + reject(e); + } + }); + })["catch"](reject); + }); + executeCallback(promise, callback); + return promise; + } + function keys(callback) { + var self2 = this; + var promise = new Promise$1(function(resolve, reject) { + self2.ready().then(function() { + createTransaction(self2._dbInfo, READ_ONLY, function(err, transaction) { + if (err) { + return reject(err); + } + try { + var store = transaction.objectStore(self2._dbInfo.storeName); + var req = store.openKeyCursor(); + var keys2 = []; + req.onsuccess = function() { + var cursor = req.result; + if (!cursor) { + resolve(keys2); + return; + } + keys2.push(cursor.key); + cursor["continue"](); + }; + req.onerror = function() { + reject(req.error); + }; + } catch (e) { + reject(e); + } + }); + })["catch"](reject); + }); + executeCallback(promise, callback); + return promise; + } + function dropInstance(options, callback) { + callback = getCallback.apply(this, arguments); + var currentConfig = this.config(); + options = typeof options !== "function" && options || {}; + if (!options.name) { + options.name = options.name || currentConfig.name; + options.storeName = options.storeName || currentConfig.storeName; + } + var self2 = this; + var promise; + if (!options.name) { + promise = Promise$1.reject("Invalid arguments"); + } else { + var isCurrentDb = options.name === currentConfig.name && self2._dbInfo.db; + var dbPromise = isCurrentDb ? Promise$1.resolve(self2._dbInfo.db) : _getOriginalConnection(options).then(function(db) { + var dbContext = dbContexts[options.name]; + var forages = dbContext.forages; + dbContext.db = db; + for (var i = 0; i < forages.length; i++) { + forages[i]._dbInfo.db = db; + } + return db; + }); + if (!options.storeName) { + promise = dbPromise.then(function(db) { + _deferReadiness(options); + var dbContext = dbContexts[options.name]; + var forages = dbContext.forages; + db.close(); + for (var i = 0; i < forages.length; i++) { + var forage = forages[i]; + forage._dbInfo.db = null; + } + var dropDBPromise = new Promise$1(function(resolve, reject) { + var req = idb.deleteDatabase(options.name); + req.onerror = function() { + var db2 = req.result; + if (db2) { + db2.close(); + } + reject(req.error); + }; + req.onblocked = function() { + console.warn('dropInstance blocked for database "' + options.name + '" until all open connections are closed'); + }; + req.onsuccess = function() { + var db2 = req.result; + if (db2) { + db2.close(); + } + resolve(db2); + }; + }); + return dropDBPromise.then(function(db2) { + dbContext.db = db2; + for (var i2 = 0; i2 < forages.length; i2++) { + var _forage = forages[i2]; + _advanceReadiness(_forage._dbInfo); + } + })["catch"](function(err) { + (_rejectReadiness(options, err) || Promise$1.resolve())["catch"](function() { + }); + throw err; + }); + }); + } else { + promise = dbPromise.then(function(db) { + if (!db.objectStoreNames.contains(options.storeName)) { + return; + } + var newVersion = db.version + 1; + _deferReadiness(options); + var dbContext = dbContexts[options.name]; + var forages = dbContext.forages; + db.close(); + for (var i = 0; i < forages.length; i++) { + var forage = forages[i]; + forage._dbInfo.db = null; + forage._dbInfo.version = newVersion; + } + var dropObjectPromise = new Promise$1(function(resolve, reject) { + var req = idb.open(options.name, newVersion); + req.onerror = function(err) { + var db2 = req.result; + db2.close(); + reject(err); + }; + req.onupgradeneeded = function() { + var db2 = req.result; + db2.deleteObjectStore(options.storeName); + }; + req.onsuccess = function() { + var db2 = req.result; + db2.close(); + resolve(db2); + }; + }); + return dropObjectPromise.then(function(db2) { + dbContext.db = db2; + for (var j = 0; j < forages.length; j++) { + var _forage2 = forages[j]; + _forage2._dbInfo.db = db2; + _advanceReadiness(_forage2._dbInfo); + } + })["catch"](function(err) { + (_rejectReadiness(options, err) || Promise$1.resolve())["catch"](function() { + }); + throw err; + }); + }); + } + } + executeCallback(promise, callback); + return promise; + } + var asyncStorage = { + _driver: "asyncStorage", + _initStorage, + _support: isIndexedDBValid(), + iterate, + getItem, + setItem, + removeItem, + clear: clear2, + length, + key, + keys, + dropInstance + }; + function isWebSQLValid() { + return typeof openDatabase === "function"; + } + var BASE_CHARS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + var BLOB_TYPE_PREFIX = "~~local_forage_type~"; + var BLOB_TYPE_PREFIX_REGEX = /^~~local_forage_type~([^~]+)~/; + var SERIALIZED_MARKER = "__lfsc__:"; + var SERIALIZED_MARKER_LENGTH = SERIALIZED_MARKER.length; + var TYPE_ARRAYBUFFER = "arbf"; + var TYPE_BLOB = "blob"; + var TYPE_INT8ARRAY = "si08"; + var TYPE_UINT8ARRAY = "ui08"; + var TYPE_UINT8CLAMPEDARRAY = "uic8"; + var TYPE_INT16ARRAY = "si16"; + var TYPE_INT32ARRAY = "si32"; + var TYPE_UINT16ARRAY = "ur16"; + var TYPE_UINT32ARRAY = "ui32"; + var TYPE_FLOAT32ARRAY = "fl32"; + var TYPE_FLOAT64ARRAY = "fl64"; + var TYPE_SERIALIZED_MARKER_LENGTH = SERIALIZED_MARKER_LENGTH + TYPE_ARRAYBUFFER.length; + var toString$1 = Object.prototype.toString; + function stringToBuffer(serializedString) { + var bufferLength = serializedString.length * 0.75; + var len = serializedString.length; + var i; + var p = 0; + var encoded1, encoded2, encoded3, encoded4; + if (serializedString[serializedString.length - 1] === "=") { + bufferLength--; + if (serializedString[serializedString.length - 2] === "=") { + bufferLength--; + } + } + var buffer = new ArrayBuffer(bufferLength); + var bytes = new Uint8Array(buffer); + for (i = 0; i < len; i += 4) { + encoded1 = BASE_CHARS.indexOf(serializedString[i]); + encoded2 = BASE_CHARS.indexOf(serializedString[i + 1]); + encoded3 = BASE_CHARS.indexOf(serializedString[i + 2]); + encoded4 = BASE_CHARS.indexOf(serializedString[i + 3]); + bytes[p++] = encoded1 << 2 | encoded2 >> 4; + bytes[p++] = (encoded2 & 15) << 4 | encoded3 >> 2; + bytes[p++] = (encoded3 & 3) << 6 | encoded4 & 63; + } + return buffer; + } + function bufferToString(buffer) { + var bytes = new Uint8Array(buffer); + var base64String = ""; + var i; + for (i = 0; i < bytes.length; i += 3) { + base64String += BASE_CHARS[bytes[i] >> 2]; + base64String += BASE_CHARS[(bytes[i] & 3) << 4 | bytes[i + 1] >> 4]; + base64String += BASE_CHARS[(bytes[i + 1] & 15) << 2 | bytes[i + 2] >> 6]; + base64String += BASE_CHARS[bytes[i + 2] & 63]; + } + if (bytes.length % 3 === 2) { + base64String = base64String.substring(0, base64String.length - 1) + "="; + } else if (bytes.length % 3 === 1) { + base64String = base64String.substring(0, base64String.length - 2) + "=="; + } + return base64String; + } + function serialize(value, callback) { + var valueType = ""; + if (value) { + valueType = toString$1.call(value); + } + if (value && (valueType === "[object ArrayBuffer]" || value.buffer && toString$1.call(value.buffer) === "[object ArrayBuffer]")) { + var buffer; + var marker2 = SERIALIZED_MARKER; + if (value instanceof ArrayBuffer) { + buffer = value; + marker2 += TYPE_ARRAYBUFFER; + } else { + buffer = value.buffer; + if (valueType === "[object Int8Array]") { + marker2 += TYPE_INT8ARRAY; + } else if (valueType === "[object Uint8Array]") { + marker2 += TYPE_UINT8ARRAY; + } else if (valueType === "[object Uint8ClampedArray]") { + marker2 += TYPE_UINT8CLAMPEDARRAY; + } else if (valueType === "[object Int16Array]") { + marker2 += TYPE_INT16ARRAY; + } else if (valueType === "[object Uint16Array]") { + marker2 += TYPE_UINT16ARRAY; + } else if (valueType === "[object Int32Array]") { + marker2 += TYPE_INT32ARRAY; + } else if (valueType === "[object Uint32Array]") { + marker2 += TYPE_UINT32ARRAY; + } else if (valueType === "[object Float32Array]") { + marker2 += TYPE_FLOAT32ARRAY; + } else if (valueType === "[object Float64Array]") { + marker2 += TYPE_FLOAT64ARRAY; + } else { + callback(new Error("Failed to get type for BinaryArray")); + } + } + callback(marker2 + bufferToString(buffer)); + } else if (valueType === "[object Blob]") { + var fileReader = new FileReader(); + fileReader.onload = function() { + var str = BLOB_TYPE_PREFIX + value.type + "~" + bufferToString(this.result); + callback(SERIALIZED_MARKER + TYPE_BLOB + str); + }; + fileReader.readAsArrayBuffer(value); + } else { + try { + callback(JSON.stringify(value)); + } catch (e) { + console.error("Couldn't convert value into a JSON string: ", value); + callback(null, e); + } + } + } + function deserialize(value) { + if (value.substring(0, SERIALIZED_MARKER_LENGTH) !== SERIALIZED_MARKER) { + return JSON.parse(value); + } + var serializedString = value.substring(TYPE_SERIALIZED_MARKER_LENGTH); + var type = value.substring(SERIALIZED_MARKER_LENGTH, TYPE_SERIALIZED_MARKER_LENGTH); + var blobType; + if (type === TYPE_BLOB && BLOB_TYPE_PREFIX_REGEX.test(serializedString)) { + var matcher = serializedString.match(BLOB_TYPE_PREFIX_REGEX); + blobType = matcher[1]; + serializedString = serializedString.substring(matcher[0].length); + } + var buffer = stringToBuffer(serializedString); + switch (type) { + case TYPE_ARRAYBUFFER: + return buffer; + case TYPE_BLOB: + return createBlob([buffer], { type: blobType }); + case TYPE_INT8ARRAY: + return new Int8Array(buffer); + case TYPE_UINT8ARRAY: + return new Uint8Array(buffer); + case TYPE_UINT8CLAMPEDARRAY: + return new Uint8ClampedArray(buffer); + case TYPE_INT16ARRAY: + return new Int16Array(buffer); + case TYPE_UINT16ARRAY: + return new Uint16Array(buffer); + case TYPE_INT32ARRAY: + return new Int32Array(buffer); + case TYPE_UINT32ARRAY: + return new Uint32Array(buffer); + case TYPE_FLOAT32ARRAY: + return new Float32Array(buffer); + case TYPE_FLOAT64ARRAY: + return new Float64Array(buffer); + default: + throw new Error("Unkown type: " + type); + } + } + var localforageSerializer = { + serialize, + deserialize, + stringToBuffer, + bufferToString + }; + function createDbTable(t, dbInfo, callback, errorCallback) { + t.executeSql("CREATE TABLE IF NOT EXISTS " + dbInfo.storeName + " (id INTEGER PRIMARY KEY, key unique, value)", [], callback, errorCallback); + } + function _initStorage$1(options) { + var self2 = this; + var dbInfo = { + db: null + }; + if (options) { + for (var i in options) { + dbInfo[i] = typeof options[i] !== "string" ? options[i].toString() : options[i]; + } + } + var dbInfoPromise = new Promise$1(function(resolve, reject) { + try { + dbInfo.db = openDatabase(dbInfo.name, String(dbInfo.version), dbInfo.description, dbInfo.size); + } catch (e) { + return reject(e); + } + dbInfo.db.transaction(function(t) { + createDbTable(t, dbInfo, function() { + self2._dbInfo = dbInfo; + resolve(); + }, function(t2, error2) { + reject(error2); + }); + }, reject); + }); + dbInfo.serializer = localforageSerializer; + return dbInfoPromise; + } + function tryExecuteSql(t, dbInfo, sqlStatement, args, callback, errorCallback) { + t.executeSql(sqlStatement, args, callback, function(t2, error2) { + if (error2.code === error2.SYNTAX_ERR) { + t2.executeSql("SELECT name FROM sqlite_master WHERE type='table' AND name = ?", [dbInfo.storeName], function(t3, results) { + if (!results.rows.length) { + createDbTable(t3, dbInfo, function() { + t3.executeSql(sqlStatement, args, callback, errorCallback); + }, errorCallback); + } else { + errorCallback(t3, error2); + } + }, errorCallback); + } else { + errorCallback(t2, error2); + } + }, errorCallback); + } + function getItem$1(key2, callback) { + var self2 = this; + key2 = normalizeKey(key2); + var promise = new Promise$1(function(resolve, reject) { + self2.ready().then(function() { + var dbInfo = self2._dbInfo; + dbInfo.db.transaction(function(t) { + tryExecuteSql(t, dbInfo, "SELECT * FROM " + dbInfo.storeName + " WHERE key = ? LIMIT 1", [key2], function(t2, results) { + var result = results.rows.length ? results.rows.item(0).value : null; + if (result) { + result = dbInfo.serializer.deserialize(result); + } + resolve(result); + }, function(t2, error2) { + reject(error2); + }); + }); + })["catch"](reject); + }); + executeCallback(promise, callback); + return promise; + } + function iterate$1(iterator, callback) { + var self2 = this; + var promise = new Promise$1(function(resolve, reject) { + self2.ready().then(function() { + var dbInfo = self2._dbInfo; + dbInfo.db.transaction(function(t) { + tryExecuteSql(t, dbInfo, "SELECT * FROM " + dbInfo.storeName, [], function(t2, results) { + var rows = results.rows; + var length2 = rows.length; + for (var i = 0; i < length2; i++) { + var item = rows.item(i); + var result = item.value; + if (result) { + result = dbInfo.serializer.deserialize(result); + } + result = iterator(result, item.key, i + 1); + if (result !== void 0) { + resolve(result); + return; + } + } + resolve(); + }, function(t2, error2) { + reject(error2); + }); + }); + })["catch"](reject); + }); + executeCallback(promise, callback); + return promise; + } + function _setItem(key2, value, callback, retriesLeft) { + var self2 = this; + key2 = normalizeKey(key2); + var promise = new Promise$1(function(resolve, reject) { + self2.ready().then(function() { + if (value === void 0) { + value = null; + } + var originalValue = value; + var dbInfo = self2._dbInfo; + dbInfo.serializer.serialize(value, function(value2, error2) { + if (error2) { + reject(error2); + } else { + dbInfo.db.transaction(function(t) { + tryExecuteSql(t, dbInfo, "INSERT OR REPLACE INTO " + dbInfo.storeName + " (key, value) VALUES (?, ?)", [key2, value2], function() { + resolve(originalValue); + }, function(t2, error3) { + reject(error3); + }); + }, function(sqlError) { + if (sqlError.code === sqlError.QUOTA_ERR) { + if (retriesLeft > 0) { + resolve(_setItem.apply(self2, [key2, originalValue, callback, retriesLeft - 1])); + return; + } + reject(sqlError); + } + }); + } + }); + })["catch"](reject); + }); + executeCallback(promise, callback); + return promise; + } + function setItem$1(key2, value, callback) { + return _setItem.apply(this, [key2, value, callback, 1]); + } + function removeItem$1(key2, callback) { + var self2 = this; + key2 = normalizeKey(key2); + var promise = new Promise$1(function(resolve, reject) { + self2.ready().then(function() { + var dbInfo = self2._dbInfo; + dbInfo.db.transaction(function(t) { + tryExecuteSql(t, dbInfo, "DELETE FROM " + dbInfo.storeName + " WHERE key = ?", [key2], function() { + resolve(); + }, function(t2, error2) { + reject(error2); + }); + }); + })["catch"](reject); + }); + executeCallback(promise, callback); + return promise; + } + function clear$1(callback) { + var self2 = this; + var promise = new Promise$1(function(resolve, reject) { + self2.ready().then(function() { + var dbInfo = self2._dbInfo; + dbInfo.db.transaction(function(t) { + tryExecuteSql(t, dbInfo, "DELETE FROM " + dbInfo.storeName, [], function() { + resolve(); + }, function(t2, error2) { + reject(error2); + }); + }); + })["catch"](reject); + }); + executeCallback(promise, callback); + return promise; + } + function length$1(callback) { + var self2 = this; + var promise = new Promise$1(function(resolve, reject) { + self2.ready().then(function() { + var dbInfo = self2._dbInfo; + dbInfo.db.transaction(function(t) { + tryExecuteSql(t, dbInfo, "SELECT COUNT(key) as c FROM " + dbInfo.storeName, [], function(t2, results) { + var result = results.rows.item(0).c; + resolve(result); + }, function(t2, error2) { + reject(error2); + }); + }); + })["catch"](reject); + }); + executeCallback(promise, callback); + return promise; + } + function key$1(n, callback) { + var self2 = this; + var promise = new Promise$1(function(resolve, reject) { + self2.ready().then(function() { + var dbInfo = self2._dbInfo; + dbInfo.db.transaction(function(t) { + tryExecuteSql(t, dbInfo, "SELECT key FROM " + dbInfo.storeName + " WHERE id = ? LIMIT 1", [n + 1], function(t2, results) { + var result = results.rows.length ? results.rows.item(0).key : null; + resolve(result); + }, function(t2, error2) { + reject(error2); + }); + }); + })["catch"](reject); + }); + executeCallback(promise, callback); + return promise; + } + function keys$1(callback) { + var self2 = this; + var promise = new Promise$1(function(resolve, reject) { + self2.ready().then(function() { + var dbInfo = self2._dbInfo; + dbInfo.db.transaction(function(t) { + tryExecuteSql(t, dbInfo, "SELECT key FROM " + dbInfo.storeName, [], function(t2, results) { + var keys2 = []; + for (var i = 0; i < results.rows.length; i++) { + keys2.push(results.rows.item(i).key); + } + resolve(keys2); + }, function(t2, error2) { + reject(error2); + }); + }); + })["catch"](reject); + }); + executeCallback(promise, callback); + return promise; + } + function getAllStoreNames(db) { + return new Promise$1(function(resolve, reject) { + db.transaction(function(t) { + t.executeSql("SELECT name FROM sqlite_master WHERE type='table' AND name <> '__WebKitDatabaseInfoTable__'", [], function(t2, results) { + var storeNames = []; + for (var i = 0; i < results.rows.length; i++) { + storeNames.push(results.rows.item(i).name); + } + resolve({ + db, + storeNames + }); + }, function(t2, error2) { + reject(error2); + }); + }, function(sqlError) { + reject(sqlError); + }); + }); + } + function dropInstance$1(options, callback) { + callback = getCallback.apply(this, arguments); + var currentConfig = this.config(); + options = typeof options !== "function" && options || {}; + if (!options.name) { + options.name = options.name || currentConfig.name; + options.storeName = options.storeName || currentConfig.storeName; + } + var self2 = this; + var promise; + if (!options.name) { + promise = Promise$1.reject("Invalid arguments"); + } else { + promise = new Promise$1(function(resolve) { + var db; + if (options.name === currentConfig.name) { + db = self2._dbInfo.db; + } else { + db = openDatabase(options.name, "", "", 0); + } + if (!options.storeName) { + resolve(getAllStoreNames(db)); + } else { + resolve({ + db, + storeNames: [options.storeName] + }); + } + }).then(function(operationInfo) { + return new Promise$1(function(resolve, reject) { + operationInfo.db.transaction(function(t) { + function dropTable(storeName) { + return new Promise$1(function(resolve2, reject2) { + t.executeSql("DROP TABLE IF EXISTS " + storeName, [], function() { + resolve2(); + }, function(t2, error2) { + reject2(error2); + }); + }); + } + var operations = []; + for (var i = 0, len = operationInfo.storeNames.length; i < len; i++) { + operations.push(dropTable(operationInfo.storeNames[i])); + } + Promise$1.all(operations).then(function() { + resolve(); + })["catch"](function(e) { + reject(e); + }); + }, function(sqlError) { + reject(sqlError); + }); + }); + }); + } + executeCallback(promise, callback); + return promise; + } + var webSQLStorage = { + _driver: "webSQLStorage", + _initStorage: _initStorage$1, + _support: isWebSQLValid(), + iterate: iterate$1, + getItem: getItem$1, + setItem: setItem$1, + removeItem: removeItem$1, + clear: clear$1, + length: length$1, + key: key$1, + keys: keys$1, + dropInstance: dropInstance$1 + }; + function isLocalStorageValid() { + try { + return typeof localStorage !== "undefined" && "setItem" in localStorage && !!localStorage.setItem; + } catch (e) { + return false; + } + } + function _getKeyPrefix(options, defaultConfig) { + var keyPrefix = options.name + "/"; + if (options.storeName !== defaultConfig.storeName) { + keyPrefix += options.storeName + "/"; + } + return keyPrefix; + } + function checkIfLocalStorageThrows() { + var localStorageTestKey = "_localforage_support_test"; + try { + localStorage.setItem(localStorageTestKey, true); + localStorage.removeItem(localStorageTestKey); + return false; + } catch (e) { + return true; + } + } + function _isLocalStorageUsable() { + return !checkIfLocalStorageThrows() || localStorage.length > 0; + } + function _initStorage$2(options) { + var self2 = this; + var dbInfo = {}; + if (options) { + for (var i in options) { + dbInfo[i] = options[i]; + } + } + dbInfo.keyPrefix = _getKeyPrefix(options, self2._defaultConfig); + if (!_isLocalStorageUsable()) { + return Promise$1.reject(); + } + self2._dbInfo = dbInfo; + dbInfo.serializer = localforageSerializer; + return Promise$1.resolve(); + } + function clear$2(callback) { + var self2 = this; + var promise = self2.ready().then(function() { + var keyPrefix = self2._dbInfo.keyPrefix; + for (var i = localStorage.length - 1; i >= 0; i--) { + var key2 = localStorage.key(i); + if (key2.indexOf(keyPrefix) === 0) { + localStorage.removeItem(key2); + } + } + }); + executeCallback(promise, callback); + return promise; + } + function getItem$2(key2, callback) { + var self2 = this; + key2 = normalizeKey(key2); + var promise = self2.ready().then(function() { + var dbInfo = self2._dbInfo; + var result = localStorage.getItem(dbInfo.keyPrefix + key2); + if (result) { + result = dbInfo.serializer.deserialize(result); + } + return result; + }); + executeCallback(promise, callback); + return promise; + } + function iterate$2(iterator, callback) { + var self2 = this; + var promise = self2.ready().then(function() { + var dbInfo = self2._dbInfo; + var keyPrefix = dbInfo.keyPrefix; + var keyPrefixLength = keyPrefix.length; + var length2 = localStorage.length; + var iterationNumber = 1; + for (var i = 0; i < length2; i++) { + var key2 = localStorage.key(i); + if (key2.indexOf(keyPrefix) !== 0) { + continue; + } + var value = localStorage.getItem(key2); + if (value) { + value = dbInfo.serializer.deserialize(value); + } + value = iterator(value, key2.substring(keyPrefixLength), iterationNumber++); + if (value !== void 0) { + return value; + } + } + }); + executeCallback(promise, callback); + return promise; + } + function key$2(n, callback) { + var self2 = this; + var promise = self2.ready().then(function() { + var dbInfo = self2._dbInfo; + var result; + try { + result = localStorage.key(n); + } catch (error2) { + result = null; + } + if (result) { + result = result.substring(dbInfo.keyPrefix.length); + } + return result; + }); + executeCallback(promise, callback); + return promise; + } + function keys$2(callback) { + var self2 = this; + var promise = self2.ready().then(function() { + var dbInfo = self2._dbInfo; + var length2 = localStorage.length; + var keys2 = []; + for (var i = 0; i < length2; i++) { + var itemKey = localStorage.key(i); + if (itemKey.indexOf(dbInfo.keyPrefix) === 0) { + keys2.push(itemKey.substring(dbInfo.keyPrefix.length)); + } + } + return keys2; + }); + executeCallback(promise, callback); + return promise; + } + function length$2(callback) { + var self2 = this; + var promise = self2.keys().then(function(keys2) { + return keys2.length; + }); + executeCallback(promise, callback); + return promise; + } + function removeItem$2(key2, callback) { + var self2 = this; + key2 = normalizeKey(key2); + var promise = self2.ready().then(function() { + var dbInfo = self2._dbInfo; + localStorage.removeItem(dbInfo.keyPrefix + key2); + }); + executeCallback(promise, callback); + return promise; + } + function setItem$2(key2, value, callback) { + var self2 = this; + key2 = normalizeKey(key2); + var promise = self2.ready().then(function() { + if (value === void 0) { + value = null; + } + var originalValue = value; + return new Promise$1(function(resolve, reject) { + var dbInfo = self2._dbInfo; + dbInfo.serializer.serialize(value, function(value2, error2) { + if (error2) { + reject(error2); + } else { + try { + localStorage.setItem(dbInfo.keyPrefix + key2, value2); + resolve(originalValue); + } catch (e) { + if (e.name === "QuotaExceededError" || e.name === "NS_ERROR_DOM_QUOTA_REACHED") { + reject(e); + } + reject(e); + } + } + }); + }); + }); + executeCallback(promise, callback); + return promise; + } + function dropInstance$2(options, callback) { + callback = getCallback.apply(this, arguments); + options = typeof options !== "function" && options || {}; + if (!options.name) { + var currentConfig = this.config(); + options.name = options.name || currentConfig.name; + options.storeName = options.storeName || currentConfig.storeName; + } + var self2 = this; + var promise; + if (!options.name) { + promise = Promise$1.reject("Invalid arguments"); + } else { + promise = new Promise$1(function(resolve) { + if (!options.storeName) { + resolve(options.name + "/"); + } else { + resolve(_getKeyPrefix(options, self2._defaultConfig)); + } + }).then(function(keyPrefix) { + for (var i = localStorage.length - 1; i >= 0; i--) { + var key2 = localStorage.key(i); + if (key2.indexOf(keyPrefix) === 0) { + localStorage.removeItem(key2); + } + } + }); + } + executeCallback(promise, callback); + return promise; + } + var localStorageWrapper = { + _driver: "localStorageWrapper", + _initStorage: _initStorage$2, + _support: isLocalStorageValid(), + iterate: iterate$2, + getItem: getItem$2, + setItem: setItem$2, + removeItem: removeItem$2, + clear: clear$2, + length: length$2, + key: key$2, + keys: keys$2, + dropInstance: dropInstance$2 + }; + var sameValue = function sameValue2(x, y) { + return x === y || typeof x === "number" && typeof y === "number" && isNaN(x) && isNaN(y); + }; + var includes = function includes2(array, searchElement) { + var len = array.length; + var i = 0; + while (i < len) { + if (sameValue(array[i], searchElement)) { + return true; + } + i++; + } + return false; + }; + var isArray = Array.isArray || function(arg) { + return Object.prototype.toString.call(arg) === "[object Array]"; + }; + var DefinedDrivers = {}; + var DriverSupport = {}; + var DefaultDrivers = { + INDEXEDDB: asyncStorage, + WEBSQL: webSQLStorage, + LOCALSTORAGE: localStorageWrapper + }; + var DefaultDriverOrder = [DefaultDrivers.INDEXEDDB._driver, DefaultDrivers.WEBSQL._driver, DefaultDrivers.LOCALSTORAGE._driver]; + var OptionalDriverMethods = ["dropInstance"]; + var LibraryMethods = ["clear", "getItem", "iterate", "key", "keys", "length", "removeItem", "setItem"].concat(OptionalDriverMethods); + var DefaultConfig = { + description: "", + driver: DefaultDriverOrder.slice(), + name: "localforage", + size: 4980736, + storeName: "keyvaluepairs", + version: 1 + }; + function callWhenReady(localForageInstance, libraryMethod) { + localForageInstance[libraryMethod] = function() { + var _args = arguments; + return localForageInstance.ready().then(function() { + return localForageInstance[libraryMethod].apply(localForageInstance, _args); + }); + }; + } + function extend() { + for (var i = 1; i < arguments.length; i++) { + var arg = arguments[i]; + if (arg) { + for (var _key in arg) { + if (arg.hasOwnProperty(_key)) { + if (isArray(arg[_key])) { + arguments[0][_key] = arg[_key].slice(); + } else { + arguments[0][_key] = arg[_key]; + } + } + } + } + } + return arguments[0]; + } + var LocalForage = function() { + function LocalForage2(options) { + _classCallCheck(this, LocalForage2); + for (var driverTypeKey in DefaultDrivers) { + if (DefaultDrivers.hasOwnProperty(driverTypeKey)) { + var driver = DefaultDrivers[driverTypeKey]; + var driverName = driver._driver; + this[driverTypeKey] = driverName; + if (!DefinedDrivers[driverName]) { + this.defineDriver(driver); + } + } + } + this._defaultConfig = extend({}, DefaultConfig); + this._config = extend({}, this._defaultConfig, options); + this._driverSet = null; + this._initDriver = null; + this._ready = false; + this._dbInfo = null; + this._wrapLibraryMethodsWithReady(); + this.setDriver(this._config.driver)["catch"](function() { + }); + } + LocalForage2.prototype.config = function config3(options) { + if ((typeof options === "undefined" ? "undefined" : _typeof(options)) === "object") { + if (this._ready) { + return new Error("Can't call config() after localforage has been used."); + } + for (var i in options) { + if (i === "storeName") { + options[i] = options[i].replace(/\W/g, "_"); + } + if (i === "version" && typeof options[i] !== "number") { + return new Error("Database version must be a number."); + } + this._config[i] = options[i]; + } + if ("driver" in options && options.driver) { + return this.setDriver(this._config.driver); + } + return true; + } else if (typeof options === "string") { + return this._config[options]; + } else { + return this._config; + } + }; + LocalForage2.prototype.defineDriver = function defineDriver(driverObject, callback, errorCallback) { + var promise = new Promise$1(function(resolve, reject) { + try { + var driverName = driverObject._driver; + var complianceError = new Error("Custom driver not compliant; see https://mozilla.github.io/localForage/#definedriver"); + if (!driverObject._driver) { + reject(complianceError); + return; + } + var driverMethods = LibraryMethods.concat("_initStorage"); + for (var i = 0, len = driverMethods.length; i < len; i++) { + var driverMethodName = driverMethods[i]; + var isRequired = !includes(OptionalDriverMethods, driverMethodName); + if ((isRequired || driverObject[driverMethodName]) && typeof driverObject[driverMethodName] !== "function") { + reject(complianceError); + return; + } + } + var configureMissingMethods = function configureMissingMethods2() { + var methodNotImplementedFactory = function methodNotImplementedFactory2(methodName) { + return function() { + var error2 = new Error("Method " + methodName + " is not implemented by the current driver"); + var promise2 = Promise$1.reject(error2); + executeCallback(promise2, arguments[arguments.length - 1]); + return promise2; + }; + }; + for (var _i = 0, _len = OptionalDriverMethods.length; _i < _len; _i++) { + var optionalDriverMethod = OptionalDriverMethods[_i]; + if (!driverObject[optionalDriverMethod]) { + driverObject[optionalDriverMethod] = methodNotImplementedFactory(optionalDriverMethod); + } + } + }; + configureMissingMethods(); + var setDriverSupport = function setDriverSupport2(support) { + if (DefinedDrivers[driverName]) { + console.info("Redefining LocalForage driver: " + driverName); + } + DefinedDrivers[driverName] = driverObject; + DriverSupport[driverName] = support; + resolve(); + }; + if ("_support" in driverObject) { + if (driverObject._support && typeof driverObject._support === "function") { + driverObject._support().then(setDriverSupport, reject); + } else { + setDriverSupport(!!driverObject._support); + } + } else { + setDriverSupport(true); + } + } catch (e) { + reject(e); + } + }); + executeTwoCallbacks(promise, callback, errorCallback); + return promise; + }; + LocalForage2.prototype.driver = function driver() { + return this._driver || null; + }; + LocalForage2.prototype.getDriver = function getDriver(driverName, callback, errorCallback) { + var getDriverPromise = DefinedDrivers[driverName] ? Promise$1.resolve(DefinedDrivers[driverName]) : Promise$1.reject(new Error("Driver not found.")); + executeTwoCallbacks(getDriverPromise, callback, errorCallback); + return getDriverPromise; + }; + LocalForage2.prototype.getSerializer = function getSerializer(callback) { + var serializerPromise = Promise$1.resolve(localforageSerializer); + executeTwoCallbacks(serializerPromise, callback); + return serializerPromise; + }; + LocalForage2.prototype.ready = function ready(callback) { + var self2 = this; + var promise = self2._driverSet.then(function() { + if (self2._ready === null) { + self2._ready = self2._initDriver(); + } + return self2._ready; + }); + executeTwoCallbacks(promise, callback, callback); + return promise; + }; + LocalForage2.prototype.setDriver = function setDriver(drivers, callback, errorCallback) { + var self2 = this; + if (!isArray(drivers)) { + drivers = [drivers]; + } + var supportedDrivers = this._getSupportedDrivers(drivers); + function setDriverToConfig() { + self2._config.driver = self2.driver(); + } + function extendSelfWithDriver(driver) { + self2._extend(driver); + setDriverToConfig(); + self2._ready = self2._initStorage(self2._config); + return self2._ready; + } + function initDriver(supportedDrivers2) { + return function() { + var currentDriverIndex = 0; + function driverPromiseLoop() { + while (currentDriverIndex < supportedDrivers2.length) { + var driverName = supportedDrivers2[currentDriverIndex]; + currentDriverIndex++; + self2._dbInfo = null; + self2._ready = null; + return self2.getDriver(driverName).then(extendSelfWithDriver)["catch"](driverPromiseLoop); + } + setDriverToConfig(); + var error2 = new Error("No available storage method found."); + self2._driverSet = Promise$1.reject(error2); + return self2._driverSet; + } + return driverPromiseLoop(); + }; + } + var oldDriverSetDone = this._driverSet !== null ? this._driverSet["catch"](function() { + return Promise$1.resolve(); + }) : Promise$1.resolve(); + this._driverSet = oldDriverSetDone.then(function() { + var driverName = supportedDrivers[0]; + self2._dbInfo = null; + self2._ready = null; + return self2.getDriver(driverName).then(function(driver) { + self2._driver = driver._driver; + setDriverToConfig(); + self2._wrapLibraryMethodsWithReady(); + self2._initDriver = initDriver(supportedDrivers); + }); + })["catch"](function() { + setDriverToConfig(); + var error2 = new Error("No available storage method found."); + self2._driverSet = Promise$1.reject(error2); + return self2._driverSet; + }); + executeTwoCallbacks(this._driverSet, callback, errorCallback); + return this._driverSet; + }; + LocalForage2.prototype.supports = function supports(driverName) { + return !!DriverSupport[driverName]; + }; + LocalForage2.prototype._extend = function _extend(libraryMethodsAndProperties) { + extend(this, libraryMethodsAndProperties); + }; + LocalForage2.prototype._getSupportedDrivers = function _getSupportedDrivers(drivers) { + var supportedDrivers = []; + for (var i = 0, len = drivers.length; i < len; i++) { + var driverName = drivers[i]; + if (this.supports(driverName)) { + supportedDrivers.push(driverName); + } + } + return supportedDrivers; + }; + LocalForage2.prototype._wrapLibraryMethodsWithReady = function _wrapLibraryMethodsWithReady() { + for (var i = 0, len = LibraryMethods.length; i < len; i++) { + callWhenReady(this, LibraryMethods[i]); + } + }; + LocalForage2.prototype.createInstance = function createInstance(options) { + return new LocalForage2(options); + }; + return LocalForage2; + }(); + var localforage_js = new LocalForage(); + module4.exports = localforage_js; + }, { "3": 3 }] }, {}, [4])(4); + }); + } +}); + +// main.ts +__export(exports, { + default: () => TikzjaxPlugin +}); +var import_obsidian2 = __toModule(require("obsidian")); + +// settings.ts +var import_obsidian = __toModule(require("obsidian")); +var localForage = __toModule(require_localforage()); +var DEFAULT_SETTINGS = { + invertColorsInDarkMode: true +}; +var TikzjaxSettingTab = class extends import_obsidian.PluginSettingTab { + constructor(app, plugin) { + super(app, plugin); + this.plugin = plugin; + try { + localForage.config({ name: "TikzJax", storeName: "svgImages" }); + } catch (error2) { + console.log(error2); + } + } + display() { + const { containerEl } = this; + containerEl.empty(); + containerEl.createEl("h4", { text: "TikZJax settings" }); + new import_obsidian.Setting(containerEl).setName("Invert dark colors in dark mode").setDesc("Invert dark colors in diagrams (e.g. axes, arrows) when in dark mode, so that they are visible.").addToggle((toggle) => toggle.setValue(this.plugin.settings.invertColorsInDarkMode).onChange((value) => __async(this, null, function* () { + this.plugin.settings.invertColorsInDarkMode = value; + yield this.plugin.saveSettings(); + }))); + new import_obsidian.Setting(containerEl).setName("Clear cached SVGs").setDesc("SVGs rendered with TikZJax are stored in a database, so diagrams don't have to be re-rendered from scratch every time you open a page. Use this to clear the cache and force all diagrams to be re-rendered.").addButton((button) => button.setIcon("trash").setTooltip("Clear cached SVGs").onClick(() => __async(this, null, function* () { + localForage.clear((err) => { + if (err) { + console.log(err); + new import_obsidian.Notice(err, 3e3); + } else { + new import_obsidian.Notice("TikZJax: Successfully cleared cached SVGs.", 3e3); + } + }); + }))); + } +}; + +// svgo.browser.js +var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {}; +var svgo = {}; +var config$1 = {}; +var plugins$1 = {}; +var plugins = {}; +var xast = {}; +var lib$8 = {}; +var lib$7 = {}; +var stringify$2 = {}; +var lib$6 = {}; +var lib$5 = {}; +(function(exports) { + Object.defineProperty(exports, "__esModule", { value: true }); + exports.Doctype = exports.CDATA = exports.Tag = exports.Style = exports.Script = exports.Comment = exports.Directive = exports.Text = exports.Root = exports.isTag = exports.ElementType = void 0; + var ElementType2; + (function(ElementType3) { + ElementType3["Root"] = "root"; + ElementType3["Text"] = "text"; + ElementType3["Directive"] = "directive"; + ElementType3["Comment"] = "comment"; + ElementType3["Script"] = "script"; + ElementType3["Style"] = "style"; + ElementType3["Tag"] = "tag"; + ElementType3["CDATA"] = "cdata"; + ElementType3["Doctype"] = "doctype"; + })(ElementType2 = exports.ElementType || (exports.ElementType = {})); + function isTag2(elem) { + return elem.type === ElementType2.Tag || elem.type === ElementType2.Script || elem.type === ElementType2.Style; + } + exports.isTag = isTag2; + exports.Root = ElementType2.Root; + exports.Text = ElementType2.Text; + exports.Directive = ElementType2.Directive; + exports.Comment = ElementType2.Comment; + exports.Script = ElementType2.Script; + exports.Style = ElementType2.Style; + exports.Tag = ElementType2.Tag; + exports.CDATA = ElementType2.CDATA; + exports.Doctype = ElementType2.Doctype; +})(lib$5); +var node = {}; +var __extends = commonjsGlobal && commonjsGlobal.__extends || function() { + var extendStatics = function(d, b) { + extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) { + d2.__proto__ = b2; + } || function(d2, b2) { + for (var p in b2) + if (Object.prototype.hasOwnProperty.call(b2, p)) + d2[p] = b2[p]; + }; + return extendStatics(d, b); + }; + return function(d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { + this.constructor = d; + } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +}(); +var __assign$1 = commonjsGlobal && commonjsGlobal.__assign || function() { + __assign$1 = Object.assign || function(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) + if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }; + return __assign$1.apply(this, arguments); +}; +Object.defineProperty(node, "__esModule", { value: true }); +node.cloneNode = node.hasChildren = node.isDocument = node.isDirective = node.isComment = node.isText = node.isCDATA = node.isTag = node.Element = node.Document = node.NodeWithChildren = node.ProcessingInstruction = node.Comment = node.Text = node.DataNode = node.Node = void 0; +var domelementtype_1$1 = lib$5; +var nodeTypes = new Map([[domelementtype_1$1.ElementType.Tag, 1], [domelementtype_1$1.ElementType.Script, 1], [domelementtype_1$1.ElementType.Style, 1], [domelementtype_1$1.ElementType.Directive, 1], [domelementtype_1$1.ElementType.Text, 3], [domelementtype_1$1.ElementType.CDATA, 4], [domelementtype_1$1.ElementType.Comment, 8], [domelementtype_1$1.ElementType.Root, 9]]); +var Node = function() { + function Node2(type) { + this.type = type; + this.parent = null; + this.prev = null; + this.next = null; + this.startIndex = null; + this.endIndex = null; + } + Object.defineProperty(Node2.prototype, "nodeType", { get: function() { + var _a; + return (_a = nodeTypes.get(this.type)) !== null && _a !== void 0 ? _a : 1; + }, enumerable: false, configurable: true }); + Object.defineProperty(Node2.prototype, "parentNode", { get: function() { + return this.parent; + }, set: function(parent) { + this.parent = parent; + }, enumerable: false, configurable: true }); + Object.defineProperty(Node2.prototype, "previousSibling", { get: function() { + return this.prev; + }, set: function(prev) { + this.prev = prev; + }, enumerable: false, configurable: true }); + Object.defineProperty(Node2.prototype, "nextSibling", { get: function() { + return this.next; + }, set: function(next) { + this.next = next; + }, enumerable: false, configurable: true }); + Node2.prototype.cloneNode = function(recursive) { + if (recursive === void 0) { + recursive = false; + } + return cloneNode(this, recursive); + }; + return Node2; +}(); +node.Node = Node; +var DataNode = function(_super) { + __extends(DataNode2, _super); + function DataNode2(type, data) { + var _this = _super.call(this, type) || this; + _this.data = data; + return _this; + } + Object.defineProperty(DataNode2.prototype, "nodeValue", { get: function() { + return this.data; + }, set: function(data) { + this.data = data; + }, enumerable: false, configurable: true }); + return DataNode2; +}(Node); +node.DataNode = DataNode; +var Text = function(_super) { + __extends(Text2, _super); + function Text2(data) { + return _super.call(this, domelementtype_1$1.ElementType.Text, data) || this; + } + return Text2; +}(DataNode); +node.Text = Text; +var Comment$1 = function(_super) { + __extends(Comment2, _super); + function Comment2(data) { + return _super.call(this, domelementtype_1$1.ElementType.Comment, data) || this; + } + return Comment2; +}(DataNode); +node.Comment = Comment$1; +var ProcessingInstruction = function(_super) { + __extends(ProcessingInstruction2, _super); + function ProcessingInstruction2(name2, data) { + var _this = _super.call(this, domelementtype_1$1.ElementType.Directive, data) || this; + _this.name = name2; + return _this; + } + return ProcessingInstruction2; +}(DataNode); +node.ProcessingInstruction = ProcessingInstruction; +var NodeWithChildren = function(_super) { + __extends(NodeWithChildren2, _super); + function NodeWithChildren2(type, children) { + var _this = _super.call(this, type) || this; + _this.children = children; + return _this; + } + Object.defineProperty(NodeWithChildren2.prototype, "firstChild", { get: function() { + var _a; + return (_a = this.children[0]) !== null && _a !== void 0 ? _a : null; + }, enumerable: false, configurable: true }); + Object.defineProperty(NodeWithChildren2.prototype, "lastChild", { get: function() { + return this.children.length > 0 ? this.children[this.children.length - 1] : null; + }, enumerable: false, configurable: true }); + Object.defineProperty(NodeWithChildren2.prototype, "childNodes", { get: function() { + return this.children; + }, set: function(children) { + this.children = children; + }, enumerable: false, configurable: true }); + return NodeWithChildren2; +}(Node); +node.NodeWithChildren = NodeWithChildren; +var Document = function(_super) { + __extends(Document2, _super); + function Document2(children) { + return _super.call(this, domelementtype_1$1.ElementType.Root, children) || this; + } + return Document2; +}(NodeWithChildren); +node.Document = Document; +var Element$1 = function(_super) { + __extends(Element2, _super); + function Element2(name2, attribs, children, type) { + if (children === void 0) { + children = []; + } + if (type === void 0) { + type = name2 === "script" ? domelementtype_1$1.ElementType.Script : name2 === "style" ? domelementtype_1$1.ElementType.Style : domelementtype_1$1.ElementType.Tag; + } + var _this = _super.call(this, type, children) || this; + _this.name = name2; + _this.attribs = attribs; + return _this; + } + Object.defineProperty(Element2.prototype, "tagName", { get: function() { + return this.name; + }, set: function(name2) { + this.name = name2; + }, enumerable: false, configurable: true }); + Object.defineProperty(Element2.prototype, "attributes", { get: function() { + var _this = this; + return Object.keys(this.attribs).map(function(name2) { + var _a, _b; + return { name: name2, value: _this.attribs[name2], namespace: (_a = _this["x-attribsNamespace"]) === null || _a === void 0 ? void 0 : _a[name2], prefix: (_b = _this["x-attribsPrefix"]) === null || _b === void 0 ? void 0 : _b[name2] }; + }); + }, enumerable: false, configurable: true }); + return Element2; +}(NodeWithChildren); +node.Element = Element$1; +function isTag$1(node2) { + return (0, domelementtype_1$1.isTag)(node2); +} +node.isTag = isTag$1; +function isCDATA(node2) { + return node2.type === domelementtype_1$1.ElementType.CDATA; +} +node.isCDATA = isCDATA; +function isText(node2) { + return node2.type === domelementtype_1$1.ElementType.Text; +} +node.isText = isText; +function isComment(node2) { + return node2.type === domelementtype_1$1.ElementType.Comment; +} +node.isComment = isComment; +function isDirective(node2) { + return node2.type === domelementtype_1$1.ElementType.Directive; +} +node.isDirective = isDirective; +function isDocument(node2) { + return node2.type === domelementtype_1$1.ElementType.Root; +} +node.isDocument = isDocument; +function hasChildren(node2) { + return Object.prototype.hasOwnProperty.call(node2, "children"); +} +node.hasChildren = hasChildren; +function cloneNode(node2, recursive) { + if (recursive === void 0) { + recursive = false; + } + var result; + if (isText(node2)) { + result = new Text(node2.data); + } else if (isComment(node2)) { + result = new Comment$1(node2.data); + } else if (isTag$1(node2)) { + var children = recursive ? cloneChildren(node2.children) : []; + var clone_1 = new Element$1(node2.name, __assign$1({}, node2.attribs), children); + children.forEach(function(child) { + return child.parent = clone_1; + }); + if (node2["x-attribsNamespace"]) { + clone_1["x-attribsNamespace"] = __assign$1({}, node2["x-attribsNamespace"]); + } + if (node2["x-attribsPrefix"]) { + clone_1["x-attribsPrefix"] = __assign$1({}, node2["x-attribsPrefix"]); + } + result = clone_1; + } else if (isCDATA(node2)) { + var children = recursive ? cloneChildren(node2.children) : []; + var clone_2 = new NodeWithChildren(domelementtype_1$1.ElementType.CDATA, children); + children.forEach(function(child) { + return child.parent = clone_2; + }); + result = clone_2; + } else if (isDocument(node2)) { + var children = recursive ? cloneChildren(node2.children) : []; + var clone_3 = new Document(children); + children.forEach(function(child) { + return child.parent = clone_3; + }); + if (node2["x-mode"]) { + clone_3["x-mode"] = node2["x-mode"]; + } + result = clone_3; + } else if (isDirective(node2)) { + var instruction = new ProcessingInstruction(node2.name, node2.data); + if (node2["x-name"] != null) { + instruction["x-name"] = node2["x-name"]; + instruction["x-publicId"] = node2["x-publicId"]; + instruction["x-systemId"] = node2["x-systemId"]; + } + result = instruction; + } else { + throw new Error("Not implemented yet: " + node2.type); + } + result.startIndex = node2.startIndex; + result.endIndex = node2.endIndex; + return result; +} +node.cloneNode = cloneNode; +function cloneChildren(childs) { + var children = childs.map(function(child) { + return cloneNode(child, true); + }); + for (var i = 1; i < children.length; i++) { + children[i].prev = children[i - 1]; + children[i - 1].next = children[i]; + } + return children; +} +(function(exports) { + var __createBinding2 = commonjsGlobal && commonjsGlobal.__createBinding || (Object.create ? function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { + return m[k]; + } }); + } : function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + o[k2] = m[k]; + }); + var __exportStar = commonjsGlobal && commonjsGlobal.__exportStar || function(m, exports2) { + for (var p in m) + if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p)) + __createBinding2(exports2, m, p); + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.DomHandler = void 0; + var domelementtype_12 = lib$5; + var node_1 = node; + __exportStar(node, exports); + var reWhitespace = /\s+/g; + var defaultOpts = { normalizeWhitespace: false, withStartIndices: false, withEndIndices: false, xmlMode: false }; + var DomHandler = function() { + function DomHandler2(callback, options, elementCB) { + this.dom = []; + this.root = new node_1.Document(this.dom); + this.done = false; + this.tagStack = [this.root]; + this.lastNode = null; + this.parser = null; + if (typeof options === "function") { + elementCB = options; + options = defaultOpts; + } + if (typeof callback === "object") { + options = callback; + callback = void 0; + } + this.callback = callback !== null && callback !== void 0 ? callback : null; + this.options = options !== null && options !== void 0 ? options : defaultOpts; + this.elementCB = elementCB !== null && elementCB !== void 0 ? elementCB : null; + } + DomHandler2.prototype.onparserinit = function(parser2) { + this.parser = parser2; + }; + DomHandler2.prototype.onreset = function() { + this.dom = []; + this.root = new node_1.Document(this.dom); + this.done = false; + this.tagStack = [this.root]; + this.lastNode = null; + this.parser = null; + }; + DomHandler2.prototype.onend = function() { + if (this.done) + return; + this.done = true; + this.parser = null; + this.handleCallback(null); + }; + DomHandler2.prototype.onerror = function(error2) { + this.handleCallback(error2); + }; + DomHandler2.prototype.onclosetag = function() { + this.lastNode = null; + var elem = this.tagStack.pop(); + if (this.options.withEndIndices) { + elem.endIndex = this.parser.endIndex; + } + if (this.elementCB) + this.elementCB(elem); + }; + DomHandler2.prototype.onopentag = function(name2, attribs) { + var type = this.options.xmlMode ? domelementtype_12.ElementType.Tag : void 0; + var element = new node_1.Element(name2, attribs, void 0, type); + this.addNode(element); + this.tagStack.push(element); + }; + DomHandler2.prototype.ontext = function(data) { + var normalizeWhitespace = this.options.normalizeWhitespace; + var lastNode = this.lastNode; + if (lastNode && lastNode.type === domelementtype_12.ElementType.Text) { + if (normalizeWhitespace) { + lastNode.data = (lastNode.data + data).replace(reWhitespace, " "); + } else { + lastNode.data += data; + } + if (this.options.withEndIndices) { + lastNode.endIndex = this.parser.endIndex; + } + } else { + if (normalizeWhitespace) { + data = data.replace(reWhitespace, " "); + } + var node2 = new node_1.Text(data); + this.addNode(node2); + this.lastNode = node2; + } + }; + DomHandler2.prototype.oncomment = function(data) { + if (this.lastNode && this.lastNode.type === domelementtype_12.ElementType.Comment) { + this.lastNode.data += data; + return; + } + var node2 = new node_1.Comment(data); + this.addNode(node2); + this.lastNode = node2; + }; + DomHandler2.prototype.oncommentend = function() { + this.lastNode = null; + }; + DomHandler2.prototype.oncdatastart = function() { + var text = new node_1.Text(""); + var node2 = new node_1.NodeWithChildren(domelementtype_12.ElementType.CDATA, [text]); + this.addNode(node2); + text.parent = node2; + this.lastNode = text; + }; + DomHandler2.prototype.oncdataend = function() { + this.lastNode = null; + }; + DomHandler2.prototype.onprocessinginstruction = function(name2, data) { + var node2 = new node_1.ProcessingInstruction(name2, data); + this.addNode(node2); + }; + DomHandler2.prototype.handleCallback = function(error2) { + if (typeof this.callback === "function") { + this.callback(error2, this.dom); + } else if (error2) { + throw error2; + } + }; + DomHandler2.prototype.addNode = function(node2) { + var parent = this.tagStack[this.tagStack.length - 1]; + var previousSibling = parent.children[parent.children.length - 1]; + if (this.options.withStartIndices) { + node2.startIndex = this.parser.startIndex; + } + if (this.options.withEndIndices) { + node2.endIndex = this.parser.endIndex; + } + parent.children.push(node2); + if (previousSibling) { + node2.prev = previousSibling; + previousSibling.next = node2; + } + node2.parent = parent; + this.lastNode = null; + }; + return DomHandler2; + }(); + exports.DomHandler = DomHandler; + exports.default = DomHandler; +})(lib$6); +var lib$4 = {}; +var lib$3 = {}; +var decode = {}; +var Aacute$1 = "\xC1"; +var aacute$1 = "\xE1"; +var Abreve = "\u0102"; +var abreve = "\u0103"; +var ac = "\u223E"; +var acd = "\u223F"; +var acE = "\u223E\u0333"; +var Acirc$1 = "\xC2"; +var acirc$1 = "\xE2"; +var acute$1 = "\xB4"; +var Acy = "\u0410"; +var acy = "\u0430"; +var AElig$1 = "\xC6"; +var aelig$1 = "\xE6"; +var af = "\u2061"; +var Afr = "\u{1D504}"; +var afr = "\u{1D51E}"; +var Agrave$1 = "\xC0"; +var agrave$1 = "\xE0"; +var alefsym = "\u2135"; +var aleph = "\u2135"; +var Alpha = "\u0391"; +var alpha = "\u03B1"; +var Amacr = "\u0100"; +var amacr = "\u0101"; +var amalg = "\u2A3F"; +var amp$2 = "&"; +var AMP$1 = "&"; +var andand = "\u2A55"; +var And = "\u2A53"; +var and = "\u2227"; +var andd = "\u2A5C"; +var andslope = "\u2A58"; +var andv = "\u2A5A"; +var ang = "\u2220"; +var ange = "\u29A4"; +var angle = "\u2220"; +var angmsdaa = "\u29A8"; +var angmsdab = "\u29A9"; +var angmsdac = "\u29AA"; +var angmsdad = "\u29AB"; +var angmsdae = "\u29AC"; +var angmsdaf = "\u29AD"; +var angmsdag = "\u29AE"; +var angmsdah = "\u29AF"; +var angmsd = "\u2221"; +var angrt = "\u221F"; +var angrtvb = "\u22BE"; +var angrtvbd = "\u299D"; +var angsph = "\u2222"; +var angst = "\xC5"; +var angzarr = "\u237C"; +var Aogon = "\u0104"; +var aogon = "\u0105"; +var Aopf = "\u{1D538}"; +var aopf = "\u{1D552}"; +var apacir = "\u2A6F"; +var ap = "\u2248"; +var apE = "\u2A70"; +var ape = "\u224A"; +var apid = "\u224B"; +var apos$1 = "'"; +var ApplyFunction = "\u2061"; +var approx = "\u2248"; +var approxeq = "\u224A"; +var Aring$1 = "\xC5"; +var aring$1 = "\xE5"; +var Ascr = "\u{1D49C}"; +var ascr = "\u{1D4B6}"; +var Assign = "\u2254"; +var ast = "*"; +var asymp = "\u2248"; +var asympeq = "\u224D"; +var Atilde$1 = "\xC3"; +var atilde$1 = "\xE3"; +var Auml$1 = "\xC4"; +var auml$1 = "\xE4"; +var awconint = "\u2233"; +var awint = "\u2A11"; +var backcong = "\u224C"; +var backepsilon = "\u03F6"; +var backprime = "\u2035"; +var backsim = "\u223D"; +var backsimeq = "\u22CD"; +var Backslash = "\u2216"; +var Barv = "\u2AE7"; +var barvee = "\u22BD"; +var barwed = "\u2305"; +var Barwed = "\u2306"; +var barwedge = "\u2305"; +var bbrk = "\u23B5"; +var bbrktbrk = "\u23B6"; +var bcong = "\u224C"; +var Bcy = "\u0411"; +var bcy = "\u0431"; +var bdquo = "\u201E"; +var becaus = "\u2235"; +var because = "\u2235"; +var Because = "\u2235"; +var bemptyv = "\u29B0"; +var bepsi = "\u03F6"; +var bernou = "\u212C"; +var Bernoullis = "\u212C"; +var Beta = "\u0392"; +var beta = "\u03B2"; +var beth = "\u2136"; +var between = "\u226C"; +var Bfr = "\u{1D505}"; +var bfr = "\u{1D51F}"; +var bigcap = "\u22C2"; +var bigcirc = "\u25EF"; +var bigcup = "\u22C3"; +var bigodot = "\u2A00"; +var bigoplus = "\u2A01"; +var bigotimes = "\u2A02"; +var bigsqcup = "\u2A06"; +var bigstar = "\u2605"; +var bigtriangledown = "\u25BD"; +var bigtriangleup = "\u25B3"; +var biguplus = "\u2A04"; +var bigvee = "\u22C1"; +var bigwedge = "\u22C0"; +var bkarow = "\u290D"; +var blacklozenge = "\u29EB"; +var blacksquare = "\u25AA"; +var blacktriangle = "\u25B4"; +var blacktriangledown = "\u25BE"; +var blacktriangleleft = "\u25C2"; +var blacktriangleright = "\u25B8"; +var blank = "\u2423"; +var blk12 = "\u2592"; +var blk14 = "\u2591"; +var blk34 = "\u2593"; +var block = "\u2588"; +var bne = "=\u20E5"; +var bnequiv = "\u2261\u20E5"; +var bNot = "\u2AED"; +var bnot = "\u2310"; +var Bopf = "\u{1D539}"; +var bopf = "\u{1D553}"; +var bot = "\u22A5"; +var bottom = "\u22A5"; +var bowtie = "\u22C8"; +var boxbox = "\u29C9"; +var boxdl = "\u2510"; +var boxdL = "\u2555"; +var boxDl = "\u2556"; +var boxDL = "\u2557"; +var boxdr = "\u250C"; +var boxdR = "\u2552"; +var boxDr = "\u2553"; +var boxDR = "\u2554"; +var boxh = "\u2500"; +var boxH = "\u2550"; +var boxhd = "\u252C"; +var boxHd = "\u2564"; +var boxhD = "\u2565"; +var boxHD = "\u2566"; +var boxhu = "\u2534"; +var boxHu = "\u2567"; +var boxhU = "\u2568"; +var boxHU = "\u2569"; +var boxminus = "\u229F"; +var boxplus = "\u229E"; +var boxtimes = "\u22A0"; +var boxul = "\u2518"; +var boxuL = "\u255B"; +var boxUl = "\u255C"; +var boxUL = "\u255D"; +var boxur = "\u2514"; +var boxuR = "\u2558"; +var boxUr = "\u2559"; +var boxUR = "\u255A"; +var boxv = "\u2502"; +var boxV = "\u2551"; +var boxvh = "\u253C"; +var boxvH = "\u256A"; +var boxVh = "\u256B"; +var boxVH = "\u256C"; +var boxvl = "\u2524"; +var boxvL = "\u2561"; +var boxVl = "\u2562"; +var boxVL = "\u2563"; +var boxvr = "\u251C"; +var boxvR = "\u255E"; +var boxVr = "\u255F"; +var boxVR = "\u2560"; +var bprime = "\u2035"; +var breve = "\u02D8"; +var Breve = "\u02D8"; +var brvbar$1 = "\xA6"; +var bscr = "\u{1D4B7}"; +var Bscr = "\u212C"; +var bsemi = "\u204F"; +var bsim = "\u223D"; +var bsime = "\u22CD"; +var bsolb = "\u29C5"; +var bsol = "\\"; +var bsolhsub = "\u27C8"; +var bull = "\u2022"; +var bullet = "\u2022"; +var bump = "\u224E"; +var bumpE = "\u2AAE"; +var bumpe = "\u224F"; +var Bumpeq = "\u224E"; +var bumpeq = "\u224F"; +var Cacute = "\u0106"; +var cacute = "\u0107"; +var capand = "\u2A44"; +var capbrcup = "\u2A49"; +var capcap = "\u2A4B"; +var cap = "\u2229"; +var Cap = "\u22D2"; +var capcup = "\u2A47"; +var capdot = "\u2A40"; +var CapitalDifferentialD = "\u2145"; +var caps = "\u2229\uFE00"; +var caret = "\u2041"; +var caron = "\u02C7"; +var Cayleys = "\u212D"; +var ccaps = "\u2A4D"; +var Ccaron = "\u010C"; +var ccaron = "\u010D"; +var Ccedil$1 = "\xC7"; +var ccedil$1 = "\xE7"; +var Ccirc = "\u0108"; +var ccirc = "\u0109"; +var Cconint = "\u2230"; +var ccups = "\u2A4C"; +var ccupssm = "\u2A50"; +var Cdot = "\u010A"; +var cdot = "\u010B"; +var cedil$1 = "\xB8"; +var Cedilla = "\xB8"; +var cemptyv = "\u29B2"; +var cent$1 = "\xA2"; +var centerdot = "\xB7"; +var CenterDot = "\xB7"; +var cfr = "\u{1D520}"; +var Cfr = "\u212D"; +var CHcy = "\u0427"; +var chcy = "\u0447"; +var check = "\u2713"; +var checkmark = "\u2713"; +var Chi = "\u03A7"; +var chi = "\u03C7"; +var circ = "\u02C6"; +var circeq = "\u2257"; +var circlearrowleft = "\u21BA"; +var circlearrowright = "\u21BB"; +var circledast = "\u229B"; +var circledcirc = "\u229A"; +var circleddash = "\u229D"; +var CircleDot = "\u2299"; +var circledR = "\xAE"; +var circledS = "\u24C8"; +var CircleMinus = "\u2296"; +var CirclePlus = "\u2295"; +var CircleTimes = "\u2297"; +var cir = "\u25CB"; +var cirE = "\u29C3"; +var cire = "\u2257"; +var cirfnint = "\u2A10"; +var cirmid = "\u2AEF"; +var cirscir = "\u29C2"; +var ClockwiseContourIntegral = "\u2232"; +var CloseCurlyDoubleQuote = "\u201D"; +var CloseCurlyQuote = "\u2019"; +var clubs = "\u2663"; +var clubsuit = "\u2663"; +var colon = ":"; +var Colon = "\u2237"; +var Colone = "\u2A74"; +var colone = "\u2254"; +var coloneq = "\u2254"; +var comma = ","; +var commat = "@"; +var comp = "\u2201"; +var compfn = "\u2218"; +var complement = "\u2201"; +var complexes = "\u2102"; +var cong = "\u2245"; +var congdot = "\u2A6D"; +var Congruent = "\u2261"; +var conint = "\u222E"; +var Conint = "\u222F"; +var ContourIntegral = "\u222E"; +var copf = "\u{1D554}"; +var Copf = "\u2102"; +var coprod = "\u2210"; +var Coproduct = "\u2210"; +var copy$2 = "\xA9"; +var COPY$1 = "\xA9"; +var copysr = "\u2117"; +var CounterClockwiseContourIntegral = "\u2233"; +var crarr = "\u21B5"; +var cross$1 = "\u2717"; +var Cross = "\u2A2F"; +var Cscr = "\u{1D49E}"; +var cscr = "\u{1D4B8}"; +var csub = "\u2ACF"; +var csube = "\u2AD1"; +var csup = "\u2AD0"; +var csupe = "\u2AD2"; +var ctdot = "\u22EF"; +var cudarrl = "\u2938"; +var cudarrr = "\u2935"; +var cuepr = "\u22DE"; +var cuesc = "\u22DF"; +var cularr = "\u21B6"; +var cularrp = "\u293D"; +var cupbrcap = "\u2A48"; +var cupcap = "\u2A46"; +var CupCap = "\u224D"; +var cup = "\u222A"; +var Cup = "\u22D3"; +var cupcup = "\u2A4A"; +var cupdot = "\u228D"; +var cupor = "\u2A45"; +var cups = "\u222A\uFE00"; +var curarr = "\u21B7"; +var curarrm = "\u293C"; +var curlyeqprec = "\u22DE"; +var curlyeqsucc = "\u22DF"; +var curlyvee = "\u22CE"; +var curlywedge = "\u22CF"; +var curren$1 = "\xA4"; +var curvearrowleft = "\u21B6"; +var curvearrowright = "\u21B7"; +var cuvee = "\u22CE"; +var cuwed = "\u22CF"; +var cwconint = "\u2232"; +var cwint = "\u2231"; +var cylcty = "\u232D"; +var dagger = "\u2020"; +var Dagger = "\u2021"; +var daleth = "\u2138"; +var darr = "\u2193"; +var Darr = "\u21A1"; +var dArr = "\u21D3"; +var dash = "\u2010"; +var Dashv = "\u2AE4"; +var dashv = "\u22A3"; +var dbkarow = "\u290F"; +var dblac = "\u02DD"; +var Dcaron = "\u010E"; +var dcaron = "\u010F"; +var Dcy = "\u0414"; +var dcy = "\u0434"; +var ddagger = "\u2021"; +var ddarr = "\u21CA"; +var DD = "\u2145"; +var dd = "\u2146"; +var DDotrahd = "\u2911"; +var ddotseq = "\u2A77"; +var deg$1 = "\xB0"; +var Del = "\u2207"; +var Delta = "\u0394"; +var delta = "\u03B4"; +var demptyv = "\u29B1"; +var dfisht = "\u297F"; +var Dfr = "\u{1D507}"; +var dfr = "\u{1D521}"; +var dHar = "\u2965"; +var dharl = "\u21C3"; +var dharr = "\u21C2"; +var DiacriticalAcute = "\xB4"; +var DiacriticalDot = "\u02D9"; +var DiacriticalDoubleAcute = "\u02DD"; +var DiacriticalGrave = "`"; +var DiacriticalTilde = "\u02DC"; +var diam = "\u22C4"; +var diamond = "\u22C4"; +var Diamond = "\u22C4"; +var diamondsuit = "\u2666"; +var diams = "\u2666"; +var die = "\xA8"; +var DifferentialD = "\u2146"; +var digamma = "\u03DD"; +var disin = "\u22F2"; +var div = "\xF7"; +var divide$1 = "\xF7"; +var divideontimes = "\u22C7"; +var divonx = "\u22C7"; +var DJcy = "\u0402"; +var djcy = "\u0452"; +var dlcorn = "\u231E"; +var dlcrop = "\u230D"; +var dollar = "$"; +var Dopf = "\u{1D53B}"; +var dopf = "\u{1D555}"; +var Dot = "\xA8"; +var dot$1 = "\u02D9"; +var DotDot = "\u20DC"; +var doteq = "\u2250"; +var doteqdot = "\u2251"; +var DotEqual = "\u2250"; +var dotminus = "\u2238"; +var dotplus = "\u2214"; +var dotsquare = "\u22A1"; +var doublebarwedge = "\u2306"; +var DoubleContourIntegral = "\u222F"; +var DoubleDot = "\xA8"; +var DoubleDownArrow = "\u21D3"; +var DoubleLeftArrow = "\u21D0"; +var DoubleLeftRightArrow = "\u21D4"; +var DoubleLeftTee = "\u2AE4"; +var DoubleLongLeftArrow = "\u27F8"; +var DoubleLongLeftRightArrow = "\u27FA"; +var DoubleLongRightArrow = "\u27F9"; +var DoubleRightArrow = "\u21D2"; +var DoubleRightTee = "\u22A8"; +var DoubleUpArrow = "\u21D1"; +var DoubleUpDownArrow = "\u21D5"; +var DoubleVerticalBar = "\u2225"; +var DownArrowBar = "\u2913"; +var downarrow = "\u2193"; +var DownArrow = "\u2193"; +var Downarrow = "\u21D3"; +var DownArrowUpArrow = "\u21F5"; +var DownBreve = "\u0311"; +var downdownarrows = "\u21CA"; +var downharpoonleft = "\u21C3"; +var downharpoonright = "\u21C2"; +var DownLeftRightVector = "\u2950"; +var DownLeftTeeVector = "\u295E"; +var DownLeftVectorBar = "\u2956"; +var DownLeftVector = "\u21BD"; +var DownRightTeeVector = "\u295F"; +var DownRightVectorBar = "\u2957"; +var DownRightVector = "\u21C1"; +var DownTeeArrow = "\u21A7"; +var DownTee = "\u22A4"; +var drbkarow = "\u2910"; +var drcorn = "\u231F"; +var drcrop = "\u230C"; +var Dscr = "\u{1D49F}"; +var dscr = "\u{1D4B9}"; +var DScy = "\u0405"; +var dscy = "\u0455"; +var dsol = "\u29F6"; +var Dstrok = "\u0110"; +var dstrok = "\u0111"; +var dtdot = "\u22F1"; +var dtri = "\u25BF"; +var dtrif = "\u25BE"; +var duarr = "\u21F5"; +var duhar = "\u296F"; +var dwangle = "\u29A6"; +var DZcy = "\u040F"; +var dzcy = "\u045F"; +var dzigrarr = "\u27FF"; +var Eacute$1 = "\xC9"; +var eacute$1 = "\xE9"; +var easter = "\u2A6E"; +var Ecaron = "\u011A"; +var ecaron = "\u011B"; +var Ecirc$1 = "\xCA"; +var ecirc$1 = "\xEA"; +var ecir = "\u2256"; +var ecolon = "\u2255"; +var Ecy = "\u042D"; +var ecy = "\u044D"; +var eDDot = "\u2A77"; +var Edot = "\u0116"; +var edot = "\u0117"; +var eDot = "\u2251"; +var ee = "\u2147"; +var efDot = "\u2252"; +var Efr = "\u{1D508}"; +var efr = "\u{1D522}"; +var eg = "\u2A9A"; +var Egrave$1 = "\xC8"; +var egrave$1 = "\xE8"; +var egs = "\u2A96"; +var egsdot = "\u2A98"; +var el = "\u2A99"; +var Element = "\u2208"; +var elinters = "\u23E7"; +var ell = "\u2113"; +var els = "\u2A95"; +var elsdot = "\u2A97"; +var Emacr = "\u0112"; +var emacr = "\u0113"; +var empty = "\u2205"; +var emptyset = "\u2205"; +var EmptySmallSquare = "\u25FB"; +var emptyv = "\u2205"; +var EmptyVerySmallSquare = "\u25AB"; +var emsp13 = "\u2004"; +var emsp14 = "\u2005"; +var emsp = "\u2003"; +var ENG = "\u014A"; +var eng = "\u014B"; +var ensp = "\u2002"; +var Eogon = "\u0118"; +var eogon = "\u0119"; +var Eopf = "\u{1D53C}"; +var eopf = "\u{1D556}"; +var epar = "\u22D5"; +var eparsl = "\u29E3"; +var eplus = "\u2A71"; +var epsi = "\u03B5"; +var Epsilon = "\u0395"; +var epsilon = "\u03B5"; +var epsiv = "\u03F5"; +var eqcirc = "\u2256"; +var eqcolon = "\u2255"; +var eqsim = "\u2242"; +var eqslantgtr = "\u2A96"; +var eqslantless = "\u2A95"; +var Equal = "\u2A75"; +var equals = "="; +var EqualTilde = "\u2242"; +var equest = "\u225F"; +var Equilibrium = "\u21CC"; +var equiv = "\u2261"; +var equivDD = "\u2A78"; +var eqvparsl = "\u29E5"; +var erarr = "\u2971"; +var erDot = "\u2253"; +var escr = "\u212F"; +var Escr = "\u2130"; +var esdot = "\u2250"; +var Esim = "\u2A73"; +var esim = "\u2242"; +var Eta = "\u0397"; +var eta = "\u03B7"; +var ETH$1 = "\xD0"; +var eth$1 = "\xF0"; +var Euml$1 = "\xCB"; +var euml$1 = "\xEB"; +var euro = "\u20AC"; +var excl = "!"; +var exist = "\u2203"; +var Exists = "\u2203"; +var expectation = "\u2130"; +var exponentiale = "\u2147"; +var ExponentialE = "\u2147"; +var fallingdotseq = "\u2252"; +var Fcy = "\u0424"; +var fcy = "\u0444"; +var female = "\u2640"; +var ffilig = "\uFB03"; +var fflig = "\uFB00"; +var ffllig = "\uFB04"; +var Ffr = "\u{1D509}"; +var ffr = "\u{1D523}"; +var filig = "\uFB01"; +var FilledSmallSquare = "\u25FC"; +var FilledVerySmallSquare = "\u25AA"; +var fjlig = "fj"; +var flat = "\u266D"; +var fllig = "\uFB02"; +var fltns = "\u25B1"; +var fnof = "\u0192"; +var Fopf = "\u{1D53D}"; +var fopf = "\u{1D557}"; +var forall = "\u2200"; +var ForAll = "\u2200"; +var fork = "\u22D4"; +var forkv = "\u2AD9"; +var Fouriertrf = "\u2131"; +var fpartint = "\u2A0D"; +var frac12$1 = "\xBD"; +var frac13 = "\u2153"; +var frac14$1 = "\xBC"; +var frac15 = "\u2155"; +var frac16 = "\u2159"; +var frac18 = "\u215B"; +var frac23 = "\u2154"; +var frac25 = "\u2156"; +var frac34$1 = "\xBE"; +var frac35 = "\u2157"; +var frac38 = "\u215C"; +var frac45 = "\u2158"; +var frac56 = "\u215A"; +var frac58 = "\u215D"; +var frac78 = "\u215E"; +var frasl = "\u2044"; +var frown = "\u2322"; +var fscr = "\u{1D4BB}"; +var Fscr = "\u2131"; +var gacute = "\u01F5"; +var Gamma = "\u0393"; +var gamma = "\u03B3"; +var Gammad = "\u03DC"; +var gammad = "\u03DD"; +var gap = "\u2A86"; +var Gbreve = "\u011E"; +var gbreve = "\u011F"; +var Gcedil = "\u0122"; +var Gcirc = "\u011C"; +var gcirc = "\u011D"; +var Gcy = "\u0413"; +var gcy = "\u0433"; +var Gdot = "\u0120"; +var gdot = "\u0121"; +var ge = "\u2265"; +var gE = "\u2267"; +var gEl = "\u2A8C"; +var gel = "\u22DB"; +var geq = "\u2265"; +var geqq = "\u2267"; +var geqslant = "\u2A7E"; +var gescc = "\u2AA9"; +var ges = "\u2A7E"; +var gesdot = "\u2A80"; +var gesdoto = "\u2A82"; +var gesdotol = "\u2A84"; +var gesl = "\u22DB\uFE00"; +var gesles = "\u2A94"; +var Gfr = "\u{1D50A}"; +var gfr = "\u{1D524}"; +var gg = "\u226B"; +var Gg = "\u22D9"; +var ggg = "\u22D9"; +var gimel = "\u2137"; +var GJcy = "\u0403"; +var gjcy = "\u0453"; +var gla = "\u2AA5"; +var gl = "\u2277"; +var glE = "\u2A92"; +var glj = "\u2AA4"; +var gnap = "\u2A8A"; +var gnapprox = "\u2A8A"; +var gne = "\u2A88"; +var gnE = "\u2269"; +var gneq = "\u2A88"; +var gneqq = "\u2269"; +var gnsim = "\u22E7"; +var Gopf = "\u{1D53E}"; +var gopf = "\u{1D558}"; +var grave = "`"; +var GreaterEqual = "\u2265"; +var GreaterEqualLess = "\u22DB"; +var GreaterFullEqual = "\u2267"; +var GreaterGreater = "\u2AA2"; +var GreaterLess = "\u2277"; +var GreaterSlantEqual = "\u2A7E"; +var GreaterTilde = "\u2273"; +var Gscr = "\u{1D4A2}"; +var gscr = "\u210A"; +var gsim = "\u2273"; +var gsime = "\u2A8E"; +var gsiml = "\u2A90"; +var gtcc = "\u2AA7"; +var gtcir = "\u2A7A"; +var gt$2 = ">"; +var GT$1 = ">"; +var Gt = "\u226B"; +var gtdot = "\u22D7"; +var gtlPar = "\u2995"; +var gtquest = "\u2A7C"; +var gtrapprox = "\u2A86"; +var gtrarr = "\u2978"; +var gtrdot = "\u22D7"; +var gtreqless = "\u22DB"; +var gtreqqless = "\u2A8C"; +var gtrless = "\u2277"; +var gtrsim = "\u2273"; +var gvertneqq = "\u2269\uFE00"; +var gvnE = "\u2269\uFE00"; +var Hacek = "\u02C7"; +var hairsp = "\u200A"; +var half = "\xBD"; +var hamilt = "\u210B"; +var HARDcy = "\u042A"; +var hardcy = "\u044A"; +var harrcir = "\u2948"; +var harr = "\u2194"; +var hArr = "\u21D4"; +var harrw = "\u21AD"; +var Hat = "^"; +var hbar = "\u210F"; +var Hcirc = "\u0124"; +var hcirc = "\u0125"; +var hearts = "\u2665"; +var heartsuit = "\u2665"; +var hellip = "\u2026"; +var hercon = "\u22B9"; +var hfr = "\u{1D525}"; +var Hfr = "\u210C"; +var HilbertSpace = "\u210B"; +var hksearow = "\u2925"; +var hkswarow = "\u2926"; +var hoarr = "\u21FF"; +var homtht = "\u223B"; +var hookleftarrow = "\u21A9"; +var hookrightarrow = "\u21AA"; +var hopf = "\u{1D559}"; +var Hopf = "\u210D"; +var horbar = "\u2015"; +var HorizontalLine = "\u2500"; +var hscr = "\u{1D4BD}"; +var Hscr = "\u210B"; +var hslash = "\u210F"; +var Hstrok = "\u0126"; +var hstrok = "\u0127"; +var HumpDownHump = "\u224E"; +var HumpEqual = "\u224F"; +var hybull = "\u2043"; +var hyphen = "\u2010"; +var Iacute$1 = "\xCD"; +var iacute$1 = "\xED"; +var ic = "\u2063"; +var Icirc$1 = "\xCE"; +var icirc$1 = "\xEE"; +var Icy = "\u0418"; +var icy = "\u0438"; +var Idot = "\u0130"; +var IEcy = "\u0415"; +var iecy = "\u0435"; +var iexcl$1 = "\xA1"; +var iff = "\u21D4"; +var ifr = "\u{1D526}"; +var Ifr = "\u2111"; +var Igrave$1 = "\xCC"; +var igrave$1 = "\xEC"; +var ii = "\u2148"; +var iiiint = "\u2A0C"; +var iiint = "\u222D"; +var iinfin = "\u29DC"; +var iiota = "\u2129"; +var IJlig = "\u0132"; +var ijlig = "\u0133"; +var Imacr = "\u012A"; +var imacr = "\u012B"; +var image = "\u2111"; +var ImaginaryI = "\u2148"; +var imagline = "\u2110"; +var imagpart = "\u2111"; +var imath = "\u0131"; +var Im = "\u2111"; +var imof = "\u22B7"; +var imped = "\u01B5"; +var Implies = "\u21D2"; +var incare = "\u2105"; +var infin = "\u221E"; +var infintie = "\u29DD"; +var inodot = "\u0131"; +var intcal = "\u22BA"; +var int = "\u222B"; +var Int = "\u222C"; +var integers = "\u2124"; +var Integral = "\u222B"; +var intercal = "\u22BA"; +var Intersection = "\u22C2"; +var intlarhk = "\u2A17"; +var intprod = "\u2A3C"; +var InvisibleComma = "\u2063"; +var InvisibleTimes = "\u2062"; +var IOcy = "\u0401"; +var iocy = "\u0451"; +var Iogon = "\u012E"; +var iogon = "\u012F"; +var Iopf = "\u{1D540}"; +var iopf = "\u{1D55A}"; +var Iota = "\u0399"; +var iota = "\u03B9"; +var iprod = "\u2A3C"; +var iquest$1 = "\xBF"; +var iscr = "\u{1D4BE}"; +var Iscr = "\u2110"; +var isin = "\u2208"; +var isindot = "\u22F5"; +var isinE = "\u22F9"; +var isins = "\u22F4"; +var isinsv = "\u22F3"; +var isinv = "\u2208"; +var it = "\u2062"; +var Itilde = "\u0128"; +var itilde = "\u0129"; +var Iukcy = "\u0406"; +var iukcy = "\u0456"; +var Iuml$1 = "\xCF"; +var iuml$1 = "\xEF"; +var Jcirc = "\u0134"; +var jcirc = "\u0135"; +var Jcy = "\u0419"; +var jcy = "\u0439"; +var Jfr = "\u{1D50D}"; +var jfr = "\u{1D527}"; +var jmath = "\u0237"; +var Jopf = "\u{1D541}"; +var jopf = "\u{1D55B}"; +var Jscr = "\u{1D4A5}"; +var jscr = "\u{1D4BF}"; +var Jsercy = "\u0408"; +var jsercy = "\u0458"; +var Jukcy = "\u0404"; +var jukcy = "\u0454"; +var Kappa = "\u039A"; +var kappa = "\u03BA"; +var kappav = "\u03F0"; +var Kcedil = "\u0136"; +var kcedil = "\u0137"; +var Kcy = "\u041A"; +var kcy = "\u043A"; +var Kfr = "\u{1D50E}"; +var kfr = "\u{1D528}"; +var kgreen = "\u0138"; +var KHcy = "\u0425"; +var khcy = "\u0445"; +var KJcy = "\u040C"; +var kjcy = "\u045C"; +var Kopf = "\u{1D542}"; +var kopf = "\u{1D55C}"; +var Kscr = "\u{1D4A6}"; +var kscr = "\u{1D4C0}"; +var lAarr = "\u21DA"; +var Lacute = "\u0139"; +var lacute = "\u013A"; +var laemptyv = "\u29B4"; +var lagran = "\u2112"; +var Lambda = "\u039B"; +var lambda = "\u03BB"; +var lang = "\u27E8"; +var Lang = "\u27EA"; +var langd = "\u2991"; +var langle = "\u27E8"; +var lap = "\u2A85"; +var Laplacetrf = "\u2112"; +var laquo$1 = "\xAB"; +var larrb = "\u21E4"; +var larrbfs = "\u291F"; +var larr = "\u2190"; +var Larr = "\u219E"; +var lArr = "\u21D0"; +var larrfs = "\u291D"; +var larrhk = "\u21A9"; +var larrlp = "\u21AB"; +var larrpl = "\u2939"; +var larrsim = "\u2973"; +var larrtl = "\u21A2"; +var latail = "\u2919"; +var lAtail = "\u291B"; +var lat = "\u2AAB"; +var late = "\u2AAD"; +var lates = "\u2AAD\uFE00"; +var lbarr = "\u290C"; +var lBarr = "\u290E"; +var lbbrk = "\u2772"; +var lbrace = "{"; +var lbrack = "["; +var lbrke = "\u298B"; +var lbrksld = "\u298F"; +var lbrkslu = "\u298D"; +var Lcaron = "\u013D"; +var lcaron = "\u013E"; +var Lcedil = "\u013B"; +var lcedil = "\u013C"; +var lceil = "\u2308"; +var lcub = "{"; +var Lcy = "\u041B"; +var lcy = "\u043B"; +var ldca = "\u2936"; +var ldquo = "\u201C"; +var ldquor = "\u201E"; +var ldrdhar = "\u2967"; +var ldrushar = "\u294B"; +var ldsh = "\u21B2"; +var le = "\u2264"; +var lE = "\u2266"; +var LeftAngleBracket = "\u27E8"; +var LeftArrowBar = "\u21E4"; +var leftarrow = "\u2190"; +var LeftArrow = "\u2190"; +var Leftarrow = "\u21D0"; +var LeftArrowRightArrow = "\u21C6"; +var leftarrowtail = "\u21A2"; +var LeftCeiling = "\u2308"; +var LeftDoubleBracket = "\u27E6"; +var LeftDownTeeVector = "\u2961"; +var LeftDownVectorBar = "\u2959"; +var LeftDownVector = "\u21C3"; +var LeftFloor = "\u230A"; +var leftharpoondown = "\u21BD"; +var leftharpoonup = "\u21BC"; +var leftleftarrows = "\u21C7"; +var leftrightarrow = "\u2194"; +var LeftRightArrow = "\u2194"; +var Leftrightarrow = "\u21D4"; +var leftrightarrows = "\u21C6"; +var leftrightharpoons = "\u21CB"; +var leftrightsquigarrow = "\u21AD"; +var LeftRightVector = "\u294E"; +var LeftTeeArrow = "\u21A4"; +var LeftTee = "\u22A3"; +var LeftTeeVector = "\u295A"; +var leftthreetimes = "\u22CB"; +var LeftTriangleBar = "\u29CF"; +var LeftTriangle = "\u22B2"; +var LeftTriangleEqual = "\u22B4"; +var LeftUpDownVector = "\u2951"; +var LeftUpTeeVector = "\u2960"; +var LeftUpVectorBar = "\u2958"; +var LeftUpVector = "\u21BF"; +var LeftVectorBar = "\u2952"; +var LeftVector = "\u21BC"; +var lEg = "\u2A8B"; +var leg = "\u22DA"; +var leq = "\u2264"; +var leqq = "\u2266"; +var leqslant = "\u2A7D"; +var lescc = "\u2AA8"; +var les = "\u2A7D"; +var lesdot = "\u2A7F"; +var lesdoto = "\u2A81"; +var lesdotor = "\u2A83"; +var lesg = "\u22DA\uFE00"; +var lesges = "\u2A93"; +var lessapprox = "\u2A85"; +var lessdot = "\u22D6"; +var lesseqgtr = "\u22DA"; +var lesseqqgtr = "\u2A8B"; +var LessEqualGreater = "\u22DA"; +var LessFullEqual = "\u2266"; +var LessGreater = "\u2276"; +var lessgtr = "\u2276"; +var LessLess = "\u2AA1"; +var lesssim = "\u2272"; +var LessSlantEqual = "\u2A7D"; +var LessTilde = "\u2272"; +var lfisht = "\u297C"; +var lfloor = "\u230A"; +var Lfr = "\u{1D50F}"; +var lfr = "\u{1D529}"; +var lg = "\u2276"; +var lgE = "\u2A91"; +var lHar = "\u2962"; +var lhard = "\u21BD"; +var lharu = "\u21BC"; +var lharul = "\u296A"; +var lhblk = "\u2584"; +var LJcy = "\u0409"; +var ljcy = "\u0459"; +var llarr = "\u21C7"; +var ll = "\u226A"; +var Ll = "\u22D8"; +var llcorner = "\u231E"; +var Lleftarrow = "\u21DA"; +var llhard = "\u296B"; +var lltri = "\u25FA"; +var Lmidot = "\u013F"; +var lmidot = "\u0140"; +var lmoustache = "\u23B0"; +var lmoust = "\u23B0"; +var lnap = "\u2A89"; +var lnapprox = "\u2A89"; +var lne = "\u2A87"; +var lnE = "\u2268"; +var lneq = "\u2A87"; +var lneqq = "\u2268"; +var lnsim = "\u22E6"; +var loang = "\u27EC"; +var loarr = "\u21FD"; +var lobrk = "\u27E6"; +var longleftarrow = "\u27F5"; +var LongLeftArrow = "\u27F5"; +var Longleftarrow = "\u27F8"; +var longleftrightarrow = "\u27F7"; +var LongLeftRightArrow = "\u27F7"; +var Longleftrightarrow = "\u27FA"; +var longmapsto = "\u27FC"; +var longrightarrow = "\u27F6"; +var LongRightArrow = "\u27F6"; +var Longrightarrow = "\u27F9"; +var looparrowleft = "\u21AB"; +var looparrowright = "\u21AC"; +var lopar = "\u2985"; +var Lopf = "\u{1D543}"; +var lopf = "\u{1D55D}"; +var loplus = "\u2A2D"; +var lotimes = "\u2A34"; +var lowast = "\u2217"; +var lowbar = "_"; +var LowerLeftArrow = "\u2199"; +var LowerRightArrow = "\u2198"; +var loz = "\u25CA"; +var lozenge = "\u25CA"; +var lozf = "\u29EB"; +var lpar = "("; +var lparlt = "\u2993"; +var lrarr = "\u21C6"; +var lrcorner = "\u231F"; +var lrhar = "\u21CB"; +var lrhard = "\u296D"; +var lrm = "\u200E"; +var lrtri = "\u22BF"; +var lsaquo = "\u2039"; +var lscr = "\u{1D4C1}"; +var Lscr = "\u2112"; +var lsh = "\u21B0"; +var Lsh = "\u21B0"; +var lsim = "\u2272"; +var lsime = "\u2A8D"; +var lsimg = "\u2A8F"; +var lsqb = "["; +var lsquo = "\u2018"; +var lsquor = "\u201A"; +var Lstrok = "\u0141"; +var lstrok = "\u0142"; +var ltcc = "\u2AA6"; +var ltcir = "\u2A79"; +var lt$2 = "<"; +var LT$1 = "<"; +var Lt = "\u226A"; +var ltdot = "\u22D6"; +var lthree = "\u22CB"; +var ltimes = "\u22C9"; +var ltlarr = "\u2976"; +var ltquest = "\u2A7B"; +var ltri = "\u25C3"; +var ltrie = "\u22B4"; +var ltrif = "\u25C2"; +var ltrPar = "\u2996"; +var lurdshar = "\u294A"; +var luruhar = "\u2966"; +var lvertneqq = "\u2268\uFE00"; +var lvnE = "\u2268\uFE00"; +var macr$1 = "\xAF"; +var male = "\u2642"; +var malt = "\u2720"; +var maltese = "\u2720"; +var map = "\u21A6"; +var mapsto = "\u21A6"; +var mapstodown = "\u21A7"; +var mapstoleft = "\u21A4"; +var mapstoup = "\u21A5"; +var marker = "\u25AE"; +var mcomma = "\u2A29"; +var Mcy = "\u041C"; +var mcy = "\u043C"; +var mdash = "\u2014"; +var mDDot = "\u223A"; +var measuredangle = "\u2221"; +var MediumSpace = "\u205F"; +var Mellintrf = "\u2133"; +var Mfr = "\u{1D510}"; +var mfr = "\u{1D52A}"; +var mho = "\u2127"; +var micro$1 = "\xB5"; +var midast = "*"; +var midcir = "\u2AF0"; +var mid = "\u2223"; +var middot$1 = "\xB7"; +var minusb = "\u229F"; +var minus$1 = "\u2212"; +var minusd = "\u2238"; +var minusdu = "\u2A2A"; +var MinusPlus = "\u2213"; +var mlcp = "\u2ADB"; +var mldr = "\u2026"; +var mnplus = "\u2213"; +var models = "\u22A7"; +var Mopf = "\u{1D544}"; +var mopf = "\u{1D55E}"; +var mp = "\u2213"; +var mscr = "\u{1D4C2}"; +var Mscr = "\u2133"; +var mstpos = "\u223E"; +var Mu = "\u039C"; +var mu = "\u03BC"; +var multimap = "\u22B8"; +var mumap = "\u22B8"; +var nabla = "\u2207"; +var Nacute = "\u0143"; +var nacute = "\u0144"; +var nang = "\u2220\u20D2"; +var nap = "\u2249"; +var napE = "\u2A70\u0338"; +var napid = "\u224B\u0338"; +var napos = "\u0149"; +var napprox = "\u2249"; +var natural = "\u266E"; +var naturals = "\u2115"; +var natur = "\u266E"; +var nbsp$1 = "\xA0"; +var nbump = "\u224E\u0338"; +var nbumpe = "\u224F\u0338"; +var ncap = "\u2A43"; +var Ncaron = "\u0147"; +var ncaron = "\u0148"; +var Ncedil = "\u0145"; +var ncedil = "\u0146"; +var ncong = "\u2247"; +var ncongdot = "\u2A6D\u0338"; +var ncup = "\u2A42"; +var Ncy = "\u041D"; +var ncy = "\u043D"; +var ndash = "\u2013"; +var nearhk = "\u2924"; +var nearr = "\u2197"; +var neArr = "\u21D7"; +var nearrow = "\u2197"; +var ne = "\u2260"; +var nedot = "\u2250\u0338"; +var NegativeMediumSpace = "\u200B"; +var NegativeThickSpace = "\u200B"; +var NegativeThinSpace = "\u200B"; +var NegativeVeryThinSpace = "\u200B"; +var nequiv = "\u2262"; +var nesear = "\u2928"; +var nesim = "\u2242\u0338"; +var NestedGreaterGreater = "\u226B"; +var NestedLessLess = "\u226A"; +var NewLine = "\n"; +var nexist = "\u2204"; +var nexists = "\u2204"; +var Nfr = "\u{1D511}"; +var nfr = "\u{1D52B}"; +var ngE = "\u2267\u0338"; +var nge = "\u2271"; +var ngeq = "\u2271"; +var ngeqq = "\u2267\u0338"; +var ngeqslant = "\u2A7E\u0338"; +var nges = "\u2A7E\u0338"; +var nGg = "\u22D9\u0338"; +var ngsim = "\u2275"; +var nGt = "\u226B\u20D2"; +var ngt = "\u226F"; +var ngtr = "\u226F"; +var nGtv = "\u226B\u0338"; +var nharr = "\u21AE"; +var nhArr = "\u21CE"; +var nhpar = "\u2AF2"; +var ni = "\u220B"; +var nis = "\u22FC"; +var nisd = "\u22FA"; +var niv = "\u220B"; +var NJcy = "\u040A"; +var njcy = "\u045A"; +var nlarr = "\u219A"; +var nlArr = "\u21CD"; +var nldr = "\u2025"; +var nlE = "\u2266\u0338"; +var nle = "\u2270"; +var nleftarrow = "\u219A"; +var nLeftarrow = "\u21CD"; +var nleftrightarrow = "\u21AE"; +var nLeftrightarrow = "\u21CE"; +var nleq = "\u2270"; +var nleqq = "\u2266\u0338"; +var nleqslant = "\u2A7D\u0338"; +var nles = "\u2A7D\u0338"; +var nless = "\u226E"; +var nLl = "\u22D8\u0338"; +var nlsim = "\u2274"; +var nLt = "\u226A\u20D2"; +var nlt = "\u226E"; +var nltri = "\u22EA"; +var nltrie = "\u22EC"; +var nLtv = "\u226A\u0338"; +var nmid = "\u2224"; +var NoBreak = "\u2060"; +var NonBreakingSpace = "\xA0"; +var nopf = "\u{1D55F}"; +var Nopf = "\u2115"; +var Not = "\u2AEC"; +var not$1 = "\xAC"; +var NotCongruent = "\u2262"; +var NotCupCap = "\u226D"; +var NotDoubleVerticalBar = "\u2226"; +var NotElement = "\u2209"; +var NotEqual = "\u2260"; +var NotEqualTilde = "\u2242\u0338"; +var NotExists = "\u2204"; +var NotGreater = "\u226F"; +var NotGreaterEqual = "\u2271"; +var NotGreaterFullEqual = "\u2267\u0338"; +var NotGreaterGreater = "\u226B\u0338"; +var NotGreaterLess = "\u2279"; +var NotGreaterSlantEqual = "\u2A7E\u0338"; +var NotGreaterTilde = "\u2275"; +var NotHumpDownHump = "\u224E\u0338"; +var NotHumpEqual = "\u224F\u0338"; +var notin = "\u2209"; +var notindot = "\u22F5\u0338"; +var notinE = "\u22F9\u0338"; +var notinva = "\u2209"; +var notinvb = "\u22F7"; +var notinvc = "\u22F6"; +var NotLeftTriangleBar = "\u29CF\u0338"; +var NotLeftTriangle = "\u22EA"; +var NotLeftTriangleEqual = "\u22EC"; +var NotLess = "\u226E"; +var NotLessEqual = "\u2270"; +var NotLessGreater = "\u2278"; +var NotLessLess = "\u226A\u0338"; +var NotLessSlantEqual = "\u2A7D\u0338"; +var NotLessTilde = "\u2274"; +var NotNestedGreaterGreater = "\u2AA2\u0338"; +var NotNestedLessLess = "\u2AA1\u0338"; +var notni = "\u220C"; +var notniva = "\u220C"; +var notnivb = "\u22FE"; +var notnivc = "\u22FD"; +var NotPrecedes = "\u2280"; +var NotPrecedesEqual = "\u2AAF\u0338"; +var NotPrecedesSlantEqual = "\u22E0"; +var NotReverseElement = "\u220C"; +var NotRightTriangleBar = "\u29D0\u0338"; +var NotRightTriangle = "\u22EB"; +var NotRightTriangleEqual = "\u22ED"; +var NotSquareSubset = "\u228F\u0338"; +var NotSquareSubsetEqual = "\u22E2"; +var NotSquareSuperset = "\u2290\u0338"; +var NotSquareSupersetEqual = "\u22E3"; +var NotSubset = "\u2282\u20D2"; +var NotSubsetEqual = "\u2288"; +var NotSucceeds = "\u2281"; +var NotSucceedsEqual = "\u2AB0\u0338"; +var NotSucceedsSlantEqual = "\u22E1"; +var NotSucceedsTilde = "\u227F\u0338"; +var NotSuperset = "\u2283\u20D2"; +var NotSupersetEqual = "\u2289"; +var NotTilde = "\u2241"; +var NotTildeEqual = "\u2244"; +var NotTildeFullEqual = "\u2247"; +var NotTildeTilde = "\u2249"; +var NotVerticalBar = "\u2224"; +var nparallel = "\u2226"; +var npar = "\u2226"; +var nparsl = "\u2AFD\u20E5"; +var npart = "\u2202\u0338"; +var npolint = "\u2A14"; +var npr = "\u2280"; +var nprcue = "\u22E0"; +var nprec = "\u2280"; +var npreceq = "\u2AAF\u0338"; +var npre = "\u2AAF\u0338"; +var nrarrc = "\u2933\u0338"; +var nrarr = "\u219B"; +var nrArr = "\u21CF"; +var nrarrw = "\u219D\u0338"; +var nrightarrow = "\u219B"; +var nRightarrow = "\u21CF"; +var nrtri = "\u22EB"; +var nrtrie = "\u22ED"; +var nsc = "\u2281"; +var nsccue = "\u22E1"; +var nsce = "\u2AB0\u0338"; +var Nscr = "\u{1D4A9}"; +var nscr = "\u{1D4C3}"; +var nshortmid = "\u2224"; +var nshortparallel = "\u2226"; +var nsim = "\u2241"; +var nsime = "\u2244"; +var nsimeq = "\u2244"; +var nsmid = "\u2224"; +var nspar = "\u2226"; +var nsqsube = "\u22E2"; +var nsqsupe = "\u22E3"; +var nsub = "\u2284"; +var nsubE = "\u2AC5\u0338"; +var nsube = "\u2288"; +var nsubset = "\u2282\u20D2"; +var nsubseteq = "\u2288"; +var nsubseteqq = "\u2AC5\u0338"; +var nsucc = "\u2281"; +var nsucceq = "\u2AB0\u0338"; +var nsup = "\u2285"; +var nsupE = "\u2AC6\u0338"; +var nsupe = "\u2289"; +var nsupset = "\u2283\u20D2"; +var nsupseteq = "\u2289"; +var nsupseteqq = "\u2AC6\u0338"; +var ntgl = "\u2279"; +var Ntilde$1 = "\xD1"; +var ntilde$1 = "\xF1"; +var ntlg = "\u2278"; +var ntriangleleft = "\u22EA"; +var ntrianglelefteq = "\u22EC"; +var ntriangleright = "\u22EB"; +var ntrianglerighteq = "\u22ED"; +var Nu = "\u039D"; +var nu = "\u03BD"; +var num = "#"; +var numero = "\u2116"; +var numsp = "\u2007"; +var nvap = "\u224D\u20D2"; +var nvdash = "\u22AC"; +var nvDash = "\u22AD"; +var nVdash = "\u22AE"; +var nVDash = "\u22AF"; +var nvge = "\u2265\u20D2"; +var nvgt = ">\u20D2"; +var nvHarr = "\u2904"; +var nvinfin = "\u29DE"; +var nvlArr = "\u2902"; +var nvle = "\u2264\u20D2"; +var nvlt = "<\u20D2"; +var nvltrie = "\u22B4\u20D2"; +var nvrArr = "\u2903"; +var nvrtrie = "\u22B5\u20D2"; +var nvsim = "\u223C\u20D2"; +var nwarhk = "\u2923"; +var nwarr = "\u2196"; +var nwArr = "\u21D6"; +var nwarrow = "\u2196"; +var nwnear = "\u2927"; +var Oacute$1 = "\xD3"; +var oacute$1 = "\xF3"; +var oast = "\u229B"; +var Ocirc$1 = "\xD4"; +var ocirc$1 = "\xF4"; +var ocir = "\u229A"; +var Ocy = "\u041E"; +var ocy = "\u043E"; +var odash = "\u229D"; +var Odblac = "\u0150"; +var odblac = "\u0151"; +var odiv = "\u2A38"; +var odot = "\u2299"; +var odsold = "\u29BC"; +var OElig = "\u0152"; +var oelig = "\u0153"; +var ofcir = "\u29BF"; +var Ofr = "\u{1D512}"; +var ofr = "\u{1D52C}"; +var ogon = "\u02DB"; +var Ograve$1 = "\xD2"; +var ograve$1 = "\xF2"; +var ogt = "\u29C1"; +var ohbar = "\u29B5"; +var ohm = "\u03A9"; +var oint = "\u222E"; +var olarr = "\u21BA"; +var olcir = "\u29BE"; +var olcross = "\u29BB"; +var oline = "\u203E"; +var olt = "\u29C0"; +var Omacr = "\u014C"; +var omacr = "\u014D"; +var Omega = "\u03A9"; +var omega = "\u03C9"; +var Omicron = "\u039F"; +var omicron = "\u03BF"; +var omid = "\u29B6"; +var ominus = "\u2296"; +var Oopf = "\u{1D546}"; +var oopf = "\u{1D560}"; +var opar = "\u29B7"; +var OpenCurlyDoubleQuote = "\u201C"; +var OpenCurlyQuote = "\u2018"; +var operp = "\u29B9"; +var oplus = "\u2295"; +var orarr = "\u21BB"; +var Or = "\u2A54"; +var or = "\u2228"; +var ord = "\u2A5D"; +var order = "\u2134"; +var orderof = "\u2134"; +var ordf$1 = "\xAA"; +var ordm$1 = "\xBA"; +var origof = "\u22B6"; +var oror = "\u2A56"; +var orslope = "\u2A57"; +var orv = "\u2A5B"; +var oS = "\u24C8"; +var Oscr = "\u{1D4AA}"; +var oscr = "\u2134"; +var Oslash$1 = "\xD8"; +var oslash$1 = "\xF8"; +var osol = "\u2298"; +var Otilde$1 = "\xD5"; +var otilde$1 = "\xF5"; +var otimesas = "\u2A36"; +var Otimes = "\u2A37"; +var otimes = "\u2297"; +var Ouml$1 = "\xD6"; +var ouml$1 = "\xF6"; +var ovbar = "\u233D"; +var OverBar = "\u203E"; +var OverBrace = "\u23DE"; +var OverBracket = "\u23B4"; +var OverParenthesis = "\u23DC"; +var para$1 = "\xB6"; +var parallel = "\u2225"; +var par = "\u2225"; +var parsim = "\u2AF3"; +var parsl = "\u2AFD"; +var part = "\u2202"; +var PartialD = "\u2202"; +var Pcy = "\u041F"; +var pcy = "\u043F"; +var percnt = "%"; +var period = "."; +var permil = "\u2030"; +var perp = "\u22A5"; +var pertenk = "\u2031"; +var Pfr = "\u{1D513}"; +var pfr = "\u{1D52D}"; +var Phi = "\u03A6"; +var phi = "\u03C6"; +var phiv = "\u03D5"; +var phmmat = "\u2133"; +var phone = "\u260E"; +var Pi = "\u03A0"; +var pi = "\u03C0"; +var pitchfork = "\u22D4"; +var piv = "\u03D6"; +var planck = "\u210F"; +var planckh = "\u210E"; +var plankv = "\u210F"; +var plusacir = "\u2A23"; +var plusb = "\u229E"; +var pluscir = "\u2A22"; +var plus = "+"; +var plusdo = "\u2214"; +var plusdu = "\u2A25"; +var pluse = "\u2A72"; +var PlusMinus = "\xB1"; +var plusmn$1 = "\xB1"; +var plussim = "\u2A26"; +var plustwo = "\u2A27"; +var pm = "\xB1"; +var Poincareplane = "\u210C"; +var pointint = "\u2A15"; +var popf = "\u{1D561}"; +var Popf = "\u2119"; +var pound$1 = "\xA3"; +var prap = "\u2AB7"; +var Pr = "\u2ABB"; +var pr = "\u227A"; +var prcue = "\u227C"; +var precapprox = "\u2AB7"; +var prec = "\u227A"; +var preccurlyeq = "\u227C"; +var Precedes = "\u227A"; +var PrecedesEqual = "\u2AAF"; +var PrecedesSlantEqual = "\u227C"; +var PrecedesTilde = "\u227E"; +var preceq = "\u2AAF"; +var precnapprox = "\u2AB9"; +var precneqq = "\u2AB5"; +var precnsim = "\u22E8"; +var pre = "\u2AAF"; +var prE = "\u2AB3"; +var precsim = "\u227E"; +var prime = "\u2032"; +var Prime = "\u2033"; +var primes = "\u2119"; +var prnap = "\u2AB9"; +var prnE = "\u2AB5"; +var prnsim = "\u22E8"; +var prod = "\u220F"; +var Product = "\u220F"; +var profalar = "\u232E"; +var profline = "\u2312"; +var profsurf = "\u2313"; +var prop = "\u221D"; +var Proportional = "\u221D"; +var Proportion = "\u2237"; +var propto = "\u221D"; +var prsim = "\u227E"; +var prurel = "\u22B0"; +var Pscr = "\u{1D4AB}"; +var pscr = "\u{1D4C5}"; +var Psi = "\u03A8"; +var psi = "\u03C8"; +var puncsp = "\u2008"; +var Qfr = "\u{1D514}"; +var qfr = "\u{1D52E}"; +var qint = "\u2A0C"; +var qopf = "\u{1D562}"; +var Qopf = "\u211A"; +var qprime = "\u2057"; +var Qscr = "\u{1D4AC}"; +var qscr = "\u{1D4C6}"; +var quaternions = "\u210D"; +var quatint = "\u2A16"; +var quest = "?"; +var questeq = "\u225F"; +var quot$2 = '"'; +var QUOT$1 = '"'; +var rAarr = "\u21DB"; +var race = "\u223D\u0331"; +var Racute = "\u0154"; +var racute = "\u0155"; +var radic = "\u221A"; +var raemptyv = "\u29B3"; +var rang = "\u27E9"; +var Rang = "\u27EB"; +var rangd = "\u2992"; +var range = "\u29A5"; +var rangle = "\u27E9"; +var raquo$1 = "\xBB"; +var rarrap = "\u2975"; +var rarrb = "\u21E5"; +var rarrbfs = "\u2920"; +var rarrc = "\u2933"; +var rarr = "\u2192"; +var Rarr = "\u21A0"; +var rArr = "\u21D2"; +var rarrfs = "\u291E"; +var rarrhk = "\u21AA"; +var rarrlp = "\u21AC"; +var rarrpl = "\u2945"; +var rarrsim = "\u2974"; +var Rarrtl = "\u2916"; +var rarrtl = "\u21A3"; +var rarrw = "\u219D"; +var ratail = "\u291A"; +var rAtail = "\u291C"; +var ratio = "\u2236"; +var rationals = "\u211A"; +var rbarr = "\u290D"; +var rBarr = "\u290F"; +var RBarr = "\u2910"; +var rbbrk = "\u2773"; +var rbrace = "}"; +var rbrack = "]"; +var rbrke = "\u298C"; +var rbrksld = "\u298E"; +var rbrkslu = "\u2990"; +var Rcaron = "\u0158"; +var rcaron = "\u0159"; +var Rcedil = "\u0156"; +var rcedil = "\u0157"; +var rceil = "\u2309"; +var rcub = "}"; +var Rcy = "\u0420"; +var rcy = "\u0440"; +var rdca = "\u2937"; +var rdldhar = "\u2969"; +var rdquo = "\u201D"; +var rdquor = "\u201D"; +var rdsh = "\u21B3"; +var real = "\u211C"; +var realine = "\u211B"; +var realpart = "\u211C"; +var reals = "\u211D"; +var Re = "\u211C"; +var rect = "\u25AD"; +var reg$1 = "\xAE"; +var REG$1 = "\xAE"; +var ReverseElement = "\u220B"; +var ReverseEquilibrium = "\u21CB"; +var ReverseUpEquilibrium = "\u296F"; +var rfisht = "\u297D"; +var rfloor = "\u230B"; +var rfr = "\u{1D52F}"; +var Rfr = "\u211C"; +var rHar = "\u2964"; +var rhard = "\u21C1"; +var rharu = "\u21C0"; +var rharul = "\u296C"; +var Rho = "\u03A1"; +var rho = "\u03C1"; +var rhov = "\u03F1"; +var RightAngleBracket = "\u27E9"; +var RightArrowBar = "\u21E5"; +var rightarrow = "\u2192"; +var RightArrow = "\u2192"; +var Rightarrow = "\u21D2"; +var RightArrowLeftArrow = "\u21C4"; +var rightarrowtail = "\u21A3"; +var RightCeiling = "\u2309"; +var RightDoubleBracket = "\u27E7"; +var RightDownTeeVector = "\u295D"; +var RightDownVectorBar = "\u2955"; +var RightDownVector = "\u21C2"; +var RightFloor = "\u230B"; +var rightharpoondown = "\u21C1"; +var rightharpoonup = "\u21C0"; +var rightleftarrows = "\u21C4"; +var rightleftharpoons = "\u21CC"; +var rightrightarrows = "\u21C9"; +var rightsquigarrow = "\u219D"; +var RightTeeArrow = "\u21A6"; +var RightTee = "\u22A2"; +var RightTeeVector = "\u295B"; +var rightthreetimes = "\u22CC"; +var RightTriangleBar = "\u29D0"; +var RightTriangle = "\u22B3"; +var RightTriangleEqual = "\u22B5"; +var RightUpDownVector = "\u294F"; +var RightUpTeeVector = "\u295C"; +var RightUpVectorBar = "\u2954"; +var RightUpVector = "\u21BE"; +var RightVectorBar = "\u2953"; +var RightVector = "\u21C0"; +var ring = "\u02DA"; +var risingdotseq = "\u2253"; +var rlarr = "\u21C4"; +var rlhar = "\u21CC"; +var rlm = "\u200F"; +var rmoustache = "\u23B1"; +var rmoust = "\u23B1"; +var rnmid = "\u2AEE"; +var roang = "\u27ED"; +var roarr = "\u21FE"; +var robrk = "\u27E7"; +var ropar = "\u2986"; +var ropf = "\u{1D563}"; +var Ropf = "\u211D"; +var roplus = "\u2A2E"; +var rotimes = "\u2A35"; +var RoundImplies = "\u2970"; +var rpar = ")"; +var rpargt = "\u2994"; +var rppolint = "\u2A12"; +var rrarr = "\u21C9"; +var Rrightarrow = "\u21DB"; +var rsaquo = "\u203A"; +var rscr = "\u{1D4C7}"; +var Rscr = "\u211B"; +var rsh = "\u21B1"; +var Rsh = "\u21B1"; +var rsqb = "]"; +var rsquo = "\u2019"; +var rsquor = "\u2019"; +var rthree = "\u22CC"; +var rtimes = "\u22CA"; +var rtri = "\u25B9"; +var rtrie = "\u22B5"; +var rtrif = "\u25B8"; +var rtriltri = "\u29CE"; +var RuleDelayed = "\u29F4"; +var ruluhar = "\u2968"; +var rx = "\u211E"; +var Sacute = "\u015A"; +var sacute = "\u015B"; +var sbquo = "\u201A"; +var scap = "\u2AB8"; +var Scaron = "\u0160"; +var scaron = "\u0161"; +var Sc = "\u2ABC"; +var sc = "\u227B"; +var sccue = "\u227D"; +var sce = "\u2AB0"; +var scE = "\u2AB4"; +var Scedil = "\u015E"; +var scedil = "\u015F"; +var Scirc = "\u015C"; +var scirc = "\u015D"; +var scnap = "\u2ABA"; +var scnE = "\u2AB6"; +var scnsim = "\u22E9"; +var scpolint = "\u2A13"; +var scsim = "\u227F"; +var Scy = "\u0421"; +var scy = "\u0441"; +var sdotb = "\u22A1"; +var sdot = "\u22C5"; +var sdote = "\u2A66"; +var searhk = "\u2925"; +var searr = "\u2198"; +var seArr = "\u21D8"; +var searrow = "\u2198"; +var sect$1 = "\xA7"; +var semi = ";"; +var seswar = "\u2929"; +var setminus = "\u2216"; +var setmn = "\u2216"; +var sext = "\u2736"; +var Sfr = "\u{1D516}"; +var sfr = "\u{1D530}"; +var sfrown = "\u2322"; +var sharp = "\u266F"; +var SHCHcy = "\u0429"; +var shchcy = "\u0449"; +var SHcy = "\u0428"; +var shcy = "\u0448"; +var ShortDownArrow = "\u2193"; +var ShortLeftArrow = "\u2190"; +var shortmid = "\u2223"; +var shortparallel = "\u2225"; +var ShortRightArrow = "\u2192"; +var ShortUpArrow = "\u2191"; +var shy$1 = "\xAD"; +var Sigma = "\u03A3"; +var sigma = "\u03C3"; +var sigmaf = "\u03C2"; +var sigmav = "\u03C2"; +var sim = "\u223C"; +var simdot = "\u2A6A"; +var sime = "\u2243"; +var simeq = "\u2243"; +var simg = "\u2A9E"; +var simgE = "\u2AA0"; +var siml = "\u2A9D"; +var simlE = "\u2A9F"; +var simne = "\u2246"; +var simplus = "\u2A24"; +var simrarr = "\u2972"; +var slarr = "\u2190"; +var SmallCircle = "\u2218"; +var smallsetminus = "\u2216"; +var smashp = "\u2A33"; +var smeparsl = "\u29E4"; +var smid = "\u2223"; +var smile = "\u2323"; +var smt = "\u2AAA"; +var smte = "\u2AAC"; +var smtes = "\u2AAC\uFE00"; +var SOFTcy = "\u042C"; +var softcy = "\u044C"; +var solbar = "\u233F"; +var solb = "\u29C4"; +var sol = "/"; +var Sopf = "\u{1D54A}"; +var sopf = "\u{1D564}"; +var spades = "\u2660"; +var spadesuit = "\u2660"; +var spar = "\u2225"; +var sqcap = "\u2293"; +var sqcaps = "\u2293\uFE00"; +var sqcup = "\u2294"; +var sqcups = "\u2294\uFE00"; +var Sqrt = "\u221A"; +var sqsub = "\u228F"; +var sqsube = "\u2291"; +var sqsubset = "\u228F"; +var sqsubseteq = "\u2291"; +var sqsup = "\u2290"; +var sqsupe = "\u2292"; +var sqsupset = "\u2290"; +var sqsupseteq = "\u2292"; +var square = "\u25A1"; +var Square = "\u25A1"; +var SquareIntersection = "\u2293"; +var SquareSubset = "\u228F"; +var SquareSubsetEqual = "\u2291"; +var SquareSuperset = "\u2290"; +var SquareSupersetEqual = "\u2292"; +var SquareUnion = "\u2294"; +var squarf = "\u25AA"; +var squ = "\u25A1"; +var squf = "\u25AA"; +var srarr = "\u2192"; +var Sscr = "\u{1D4AE}"; +var sscr = "\u{1D4C8}"; +var ssetmn = "\u2216"; +var ssmile = "\u2323"; +var sstarf = "\u22C6"; +var Star = "\u22C6"; +var star = "\u2606"; +var starf = "\u2605"; +var straightepsilon = "\u03F5"; +var straightphi = "\u03D5"; +var strns = "\xAF"; +var sub$1 = "\u2282"; +var Sub = "\u22D0"; +var subdot = "\u2ABD"; +var subE = "\u2AC5"; +var sube = "\u2286"; +var subedot = "\u2AC3"; +var submult = "\u2AC1"; +var subnE = "\u2ACB"; +var subne = "\u228A"; +var subplus = "\u2ABF"; +var subrarr = "\u2979"; +var subset = "\u2282"; +var Subset = "\u22D0"; +var subseteq = "\u2286"; +var subseteqq = "\u2AC5"; +var SubsetEqual = "\u2286"; +var subsetneq = "\u228A"; +var subsetneqq = "\u2ACB"; +var subsim = "\u2AC7"; +var subsub = "\u2AD5"; +var subsup = "\u2AD3"; +var succapprox = "\u2AB8"; +var succ = "\u227B"; +var succcurlyeq = "\u227D"; +var Succeeds = "\u227B"; +var SucceedsEqual = "\u2AB0"; +var SucceedsSlantEqual = "\u227D"; +var SucceedsTilde = "\u227F"; +var succeq = "\u2AB0"; +var succnapprox = "\u2ABA"; +var succneqq = "\u2AB6"; +var succnsim = "\u22E9"; +var succsim = "\u227F"; +var SuchThat = "\u220B"; +var sum = "\u2211"; +var Sum = "\u2211"; +var sung = "\u266A"; +var sup1$1 = "\xB9"; +var sup2$1 = "\xB2"; +var sup3$1 = "\xB3"; +var sup = "\u2283"; +var Sup = "\u22D1"; +var supdot = "\u2ABE"; +var supdsub = "\u2AD8"; +var supE = "\u2AC6"; +var supe = "\u2287"; +var supedot = "\u2AC4"; +var Superset = "\u2283"; +var SupersetEqual = "\u2287"; +var suphsol = "\u27C9"; +var suphsub = "\u2AD7"; +var suplarr = "\u297B"; +var supmult = "\u2AC2"; +var supnE = "\u2ACC"; +var supne = "\u228B"; +var supplus = "\u2AC0"; +var supset = "\u2283"; +var Supset = "\u22D1"; +var supseteq = "\u2287"; +var supseteqq = "\u2AC6"; +var supsetneq = "\u228B"; +var supsetneqq = "\u2ACC"; +var supsim = "\u2AC8"; +var supsub = "\u2AD4"; +var supsup = "\u2AD6"; +var swarhk = "\u2926"; +var swarr = "\u2199"; +var swArr = "\u21D9"; +var swarrow = "\u2199"; +var swnwar = "\u292A"; +var szlig$1 = "\xDF"; +var Tab = " "; +var target = "\u2316"; +var Tau = "\u03A4"; +var tau = "\u03C4"; +var tbrk = "\u23B4"; +var Tcaron = "\u0164"; +var tcaron = "\u0165"; +var Tcedil = "\u0162"; +var tcedil = "\u0163"; +var Tcy = "\u0422"; +var tcy = "\u0442"; +var tdot = "\u20DB"; +var telrec = "\u2315"; +var Tfr = "\u{1D517}"; +var tfr = "\u{1D531}"; +var there4 = "\u2234"; +var therefore = "\u2234"; +var Therefore = "\u2234"; +var Theta = "\u0398"; +var theta = "\u03B8"; +var thetasym = "\u03D1"; +var thetav = "\u03D1"; +var thickapprox = "\u2248"; +var thicksim = "\u223C"; +var ThickSpace = "\u205F\u200A"; +var ThinSpace = "\u2009"; +var thinsp = "\u2009"; +var thkap = "\u2248"; +var thksim = "\u223C"; +var THORN$1 = "\xDE"; +var thorn$1 = "\xFE"; +var tilde = "\u02DC"; +var Tilde = "\u223C"; +var TildeEqual = "\u2243"; +var TildeFullEqual = "\u2245"; +var TildeTilde = "\u2248"; +var timesbar = "\u2A31"; +var timesb = "\u22A0"; +var times$1 = "\xD7"; +var timesd = "\u2A30"; +var tint = "\u222D"; +var toea = "\u2928"; +var topbot = "\u2336"; +var topcir = "\u2AF1"; +var top = "\u22A4"; +var Topf = "\u{1D54B}"; +var topf = "\u{1D565}"; +var topfork = "\u2ADA"; +var tosa = "\u2929"; +var tprime = "\u2034"; +var trade = "\u2122"; +var TRADE = "\u2122"; +var triangle = "\u25B5"; +var triangledown = "\u25BF"; +var triangleleft = "\u25C3"; +var trianglelefteq = "\u22B4"; +var triangleq = "\u225C"; +var triangleright = "\u25B9"; +var trianglerighteq = "\u22B5"; +var tridot = "\u25EC"; +var trie = "\u225C"; +var triminus = "\u2A3A"; +var TripleDot = "\u20DB"; +var triplus = "\u2A39"; +var trisb = "\u29CD"; +var tritime = "\u2A3B"; +var trpezium = "\u23E2"; +var Tscr = "\u{1D4AF}"; +var tscr = "\u{1D4C9}"; +var TScy = "\u0426"; +var tscy = "\u0446"; +var TSHcy = "\u040B"; +var tshcy = "\u045B"; +var Tstrok = "\u0166"; +var tstrok = "\u0167"; +var twixt = "\u226C"; +var twoheadleftarrow = "\u219E"; +var twoheadrightarrow = "\u21A0"; +var Uacute$1 = "\xDA"; +var uacute$1 = "\xFA"; +var uarr = "\u2191"; +var Uarr = "\u219F"; +var uArr = "\u21D1"; +var Uarrocir = "\u2949"; +var Ubrcy = "\u040E"; +var ubrcy = "\u045E"; +var Ubreve = "\u016C"; +var ubreve = "\u016D"; +var Ucirc$1 = "\xDB"; +var ucirc$1 = "\xFB"; +var Ucy = "\u0423"; +var ucy = "\u0443"; +var udarr = "\u21C5"; +var Udblac = "\u0170"; +var udblac = "\u0171"; +var udhar = "\u296E"; +var ufisht = "\u297E"; +var Ufr = "\u{1D518}"; +var ufr = "\u{1D532}"; +var Ugrave$1 = "\xD9"; +var ugrave$1 = "\xF9"; +var uHar = "\u2963"; +var uharl = "\u21BF"; +var uharr = "\u21BE"; +var uhblk = "\u2580"; +var ulcorn = "\u231C"; +var ulcorner = "\u231C"; +var ulcrop = "\u230F"; +var ultri = "\u25F8"; +var Umacr = "\u016A"; +var umacr = "\u016B"; +var uml$1 = "\xA8"; +var UnderBar = "_"; +var UnderBrace = "\u23DF"; +var UnderBracket = "\u23B5"; +var UnderParenthesis = "\u23DD"; +var Union = "\u22C3"; +var UnionPlus = "\u228E"; +var Uogon = "\u0172"; +var uogon = "\u0173"; +var Uopf = "\u{1D54C}"; +var uopf = "\u{1D566}"; +var UpArrowBar = "\u2912"; +var uparrow = "\u2191"; +var UpArrow = "\u2191"; +var Uparrow = "\u21D1"; +var UpArrowDownArrow = "\u21C5"; +var updownarrow = "\u2195"; +var UpDownArrow = "\u2195"; +var Updownarrow = "\u21D5"; +var UpEquilibrium = "\u296E"; +var upharpoonleft = "\u21BF"; +var upharpoonright = "\u21BE"; +var uplus = "\u228E"; +var UpperLeftArrow = "\u2196"; +var UpperRightArrow = "\u2197"; +var upsi = "\u03C5"; +var Upsi = "\u03D2"; +var upsih = "\u03D2"; +var Upsilon = "\u03A5"; +var upsilon = "\u03C5"; +var UpTeeArrow = "\u21A5"; +var UpTee = "\u22A5"; +var upuparrows = "\u21C8"; +var urcorn = "\u231D"; +var urcorner = "\u231D"; +var urcrop = "\u230E"; +var Uring = "\u016E"; +var uring = "\u016F"; +var urtri = "\u25F9"; +var Uscr = "\u{1D4B0}"; +var uscr = "\u{1D4CA}"; +var utdot = "\u22F0"; +var Utilde = "\u0168"; +var utilde = "\u0169"; +var utri = "\u25B5"; +var utrif = "\u25B4"; +var uuarr = "\u21C8"; +var Uuml$1 = "\xDC"; +var uuml$1 = "\xFC"; +var uwangle = "\u29A7"; +var vangrt = "\u299C"; +var varepsilon = "\u03F5"; +var varkappa = "\u03F0"; +var varnothing = "\u2205"; +var varphi = "\u03D5"; +var varpi = "\u03D6"; +var varpropto = "\u221D"; +var varr = "\u2195"; +var vArr = "\u21D5"; +var varrho = "\u03F1"; +var varsigma = "\u03C2"; +var varsubsetneq = "\u228A\uFE00"; +var varsubsetneqq = "\u2ACB\uFE00"; +var varsupsetneq = "\u228B\uFE00"; +var varsupsetneqq = "\u2ACC\uFE00"; +var vartheta = "\u03D1"; +var vartriangleleft = "\u22B2"; +var vartriangleright = "\u22B3"; +var vBar = "\u2AE8"; +var Vbar = "\u2AEB"; +var vBarv = "\u2AE9"; +var Vcy = "\u0412"; +var vcy = "\u0432"; +var vdash = "\u22A2"; +var vDash = "\u22A8"; +var Vdash = "\u22A9"; +var VDash = "\u22AB"; +var Vdashl = "\u2AE6"; +var veebar = "\u22BB"; +var vee = "\u2228"; +var Vee = "\u22C1"; +var veeeq = "\u225A"; +var vellip = "\u22EE"; +var verbar = "|"; +var Verbar = "\u2016"; +var vert = "|"; +var Vert = "\u2016"; +var VerticalBar = "\u2223"; +var VerticalLine = "|"; +var VerticalSeparator = "\u2758"; +var VerticalTilde = "\u2240"; +var VeryThinSpace = "\u200A"; +var Vfr = "\u{1D519}"; +var vfr = "\u{1D533}"; +var vltri = "\u22B2"; +var vnsub = "\u2282\u20D2"; +var vnsup = "\u2283\u20D2"; +var Vopf = "\u{1D54D}"; +var vopf = "\u{1D567}"; +var vprop = "\u221D"; +var vrtri = "\u22B3"; +var Vscr = "\u{1D4B1}"; +var vscr = "\u{1D4CB}"; +var vsubnE = "\u2ACB\uFE00"; +var vsubne = "\u228A\uFE00"; +var vsupnE = "\u2ACC\uFE00"; +var vsupne = "\u228B\uFE00"; +var Vvdash = "\u22AA"; +var vzigzag = "\u299A"; +var Wcirc = "\u0174"; +var wcirc = "\u0175"; +var wedbar = "\u2A5F"; +var wedge = "\u2227"; +var Wedge = "\u22C0"; +var wedgeq = "\u2259"; +var weierp = "\u2118"; +var Wfr = "\u{1D51A}"; +var wfr = "\u{1D534}"; +var Wopf = "\u{1D54E}"; +var wopf = "\u{1D568}"; +var wp = "\u2118"; +var wr = "\u2240"; +var wreath = "\u2240"; +var Wscr = "\u{1D4B2}"; +var wscr = "\u{1D4CC}"; +var xcap = "\u22C2"; +var xcirc = "\u25EF"; +var xcup = "\u22C3"; +var xdtri = "\u25BD"; +var Xfr = "\u{1D51B}"; +var xfr = "\u{1D535}"; +var xharr = "\u27F7"; +var xhArr = "\u27FA"; +var Xi = "\u039E"; +var xi = "\u03BE"; +var xlarr = "\u27F5"; +var xlArr = "\u27F8"; +var xmap = "\u27FC"; +var xnis = "\u22FB"; +var xodot = "\u2A00"; +var Xopf = "\u{1D54F}"; +var xopf = "\u{1D569}"; +var xoplus = "\u2A01"; +var xotime = "\u2A02"; +var xrarr = "\u27F6"; +var xrArr = "\u27F9"; +var Xscr = "\u{1D4B3}"; +var xscr = "\u{1D4CD}"; +var xsqcup = "\u2A06"; +var xuplus = "\u2A04"; +var xutri = "\u25B3"; +var xvee = "\u22C1"; +var xwedge = "\u22C0"; +var Yacute$1 = "\xDD"; +var yacute$1 = "\xFD"; +var YAcy = "\u042F"; +var yacy = "\u044F"; +var Ycirc = "\u0176"; +var ycirc = "\u0177"; +var Ycy = "\u042B"; +var ycy = "\u044B"; +var yen$1 = "\xA5"; +var Yfr = "\u{1D51C}"; +var yfr = "\u{1D536}"; +var YIcy = "\u0407"; +var yicy = "\u0457"; +var Yopf = "\u{1D550}"; +var yopf = "\u{1D56A}"; +var Yscr = "\u{1D4B4}"; +var yscr = "\u{1D4CE}"; +var YUcy = "\u042E"; +var yucy = "\u044E"; +var yuml$1 = "\xFF"; +var Yuml = "\u0178"; +var Zacute = "\u0179"; +var zacute = "\u017A"; +var Zcaron = "\u017D"; +var zcaron = "\u017E"; +var Zcy = "\u0417"; +var zcy = "\u0437"; +var Zdot = "\u017B"; +var zdot = "\u017C"; +var zeetrf = "\u2128"; +var ZeroWidthSpace = "\u200B"; +var Zeta = "\u0396"; +var zeta = "\u03B6"; +var zfr = "\u{1D537}"; +var Zfr = "\u2128"; +var ZHcy = "\u0416"; +var zhcy = "\u0436"; +var zigrarr = "\u21DD"; +var zopf = "\u{1D56B}"; +var Zopf = "\u2124"; +var Zscr = "\u{1D4B5}"; +var zscr = "\u{1D4CF}"; +var zwj = "\u200D"; +var zwnj = "\u200C"; +var require$$1$1 = { Aacute: Aacute$1, aacute: aacute$1, Abreve, abreve, ac, acd, acE, Acirc: Acirc$1, acirc: acirc$1, acute: acute$1, Acy, acy, AElig: AElig$1, aelig: aelig$1, af, Afr, afr, Agrave: Agrave$1, agrave: agrave$1, alefsym, aleph, Alpha, alpha, Amacr, amacr, amalg, amp: amp$2, AMP: AMP$1, andand, And, and, andd, andslope, andv, ang, ange, angle, angmsdaa, angmsdab, angmsdac, angmsdad, angmsdae, angmsdaf, angmsdag, angmsdah, angmsd, angrt, angrtvb, angrtvbd, angsph, angst, angzarr, Aogon, aogon, Aopf, aopf, apacir, ap, apE, ape, apid, apos: apos$1, ApplyFunction, approx, approxeq, Aring: Aring$1, aring: aring$1, Ascr, ascr, Assign, ast, asymp, asympeq, Atilde: Atilde$1, atilde: atilde$1, Auml: Auml$1, auml: auml$1, awconint, awint, backcong, backepsilon, backprime, backsim, backsimeq, Backslash, Barv, barvee, barwed, Barwed, barwedge, bbrk, bbrktbrk, bcong, Bcy, bcy, bdquo, becaus, because, Because, bemptyv, bepsi, bernou, Bernoullis, Beta, beta, beth, between, Bfr, bfr, bigcap, bigcirc, bigcup, bigodot, bigoplus, bigotimes, bigsqcup, bigstar, bigtriangledown, bigtriangleup, biguplus, bigvee, bigwedge, bkarow, blacklozenge, blacksquare, blacktriangle, blacktriangledown, blacktriangleleft, blacktriangleright, blank, blk12, blk14, blk34, block, bne, bnequiv, bNot, bnot, Bopf, bopf, bot, bottom, bowtie, boxbox, boxdl, boxdL, boxDl, boxDL, boxdr, boxdR, boxDr, boxDR, boxh, boxH, boxhd, boxHd, boxhD, boxHD, boxhu, boxHu, boxhU, boxHU, boxminus, boxplus, boxtimes, boxul, boxuL, boxUl, boxUL, boxur, boxuR, boxUr, boxUR, boxv, boxV, boxvh, boxvH, boxVh, boxVH, boxvl, boxvL, boxVl, boxVL, boxvr, boxvR, boxVr, boxVR, bprime, breve, Breve, brvbar: brvbar$1, bscr, Bscr, bsemi, bsim, bsime, bsolb, bsol, bsolhsub, bull, bullet, bump, bumpE, bumpe, Bumpeq, bumpeq, Cacute, cacute, capand, capbrcup, capcap, cap, Cap, capcup, capdot, CapitalDifferentialD, caps, caret, caron, Cayleys, ccaps, Ccaron, ccaron, Ccedil: Ccedil$1, ccedil: ccedil$1, Ccirc, ccirc, Cconint, ccups, ccupssm, Cdot, cdot, cedil: cedil$1, Cedilla, cemptyv, cent: cent$1, centerdot, CenterDot, cfr, Cfr, CHcy, chcy, check, checkmark, Chi, chi, circ, circeq, circlearrowleft, circlearrowright, circledast, circledcirc, circleddash, CircleDot, circledR, circledS, CircleMinus, CirclePlus, CircleTimes, cir, cirE, cire, cirfnint, cirmid, cirscir, ClockwiseContourIntegral, CloseCurlyDoubleQuote, CloseCurlyQuote, clubs, clubsuit, colon, Colon, Colone, colone, coloneq, comma, commat, comp, compfn, complement, complexes, cong, congdot, Congruent, conint, Conint, ContourIntegral, copf, Copf, coprod, Coproduct, copy: copy$2, COPY: COPY$1, copysr, CounterClockwiseContourIntegral, crarr, cross: cross$1, Cross, Cscr, cscr, csub, csube, csup, csupe, ctdot, cudarrl, cudarrr, cuepr, cuesc, cularr, cularrp, cupbrcap, cupcap, CupCap, cup, Cup, cupcup, cupdot, cupor, cups, curarr, curarrm, curlyeqprec, curlyeqsucc, curlyvee, curlywedge, curren: curren$1, curvearrowleft, curvearrowright, cuvee, cuwed, cwconint, cwint, cylcty, dagger, Dagger, daleth, darr, Darr, dArr, dash, Dashv, dashv, dbkarow, dblac, Dcaron, dcaron, Dcy, dcy, ddagger, ddarr, DD, dd, DDotrahd, ddotseq, deg: deg$1, Del, Delta, delta, demptyv, dfisht, Dfr, dfr, dHar, dharl, dharr, DiacriticalAcute, DiacriticalDot, DiacriticalDoubleAcute, DiacriticalGrave, DiacriticalTilde, diam, diamond, Diamond, diamondsuit, diams, die, DifferentialD, digamma, disin, div, divide: divide$1, divideontimes, divonx, DJcy, djcy, dlcorn, dlcrop, dollar, Dopf, dopf, Dot, dot: dot$1, DotDot, doteq, doteqdot, DotEqual, dotminus, dotplus, dotsquare, doublebarwedge, DoubleContourIntegral, DoubleDot, DoubleDownArrow, DoubleLeftArrow, DoubleLeftRightArrow, DoubleLeftTee, DoubleLongLeftArrow, DoubleLongLeftRightArrow, DoubleLongRightArrow, DoubleRightArrow, DoubleRightTee, DoubleUpArrow, DoubleUpDownArrow, DoubleVerticalBar, DownArrowBar, downarrow, DownArrow, Downarrow, DownArrowUpArrow, DownBreve, downdownarrows, downharpoonleft, downharpoonright, DownLeftRightVector, DownLeftTeeVector, DownLeftVectorBar, DownLeftVector, DownRightTeeVector, DownRightVectorBar, DownRightVector, DownTeeArrow, DownTee, drbkarow, drcorn, drcrop, Dscr, dscr, DScy, dscy, dsol, Dstrok, dstrok, dtdot, dtri, dtrif, duarr, duhar, dwangle, DZcy, dzcy, dzigrarr, Eacute: Eacute$1, eacute: eacute$1, easter, Ecaron, ecaron, Ecirc: Ecirc$1, ecirc: ecirc$1, ecir, ecolon, Ecy, ecy, eDDot, Edot, edot, eDot, ee, efDot, Efr, efr, eg, Egrave: Egrave$1, egrave: egrave$1, egs, egsdot, el, Element, elinters, ell, els, elsdot, Emacr, emacr, empty, emptyset, EmptySmallSquare, emptyv, EmptyVerySmallSquare, emsp13, emsp14, emsp, ENG, eng, ensp, Eogon, eogon, Eopf, eopf, epar, eparsl, eplus, epsi, Epsilon, epsilon, epsiv, eqcirc, eqcolon, eqsim, eqslantgtr, eqslantless, Equal, equals, EqualTilde, equest, Equilibrium, equiv, equivDD, eqvparsl, erarr, erDot, escr, Escr, esdot, Esim, esim, Eta, eta, ETH: ETH$1, eth: eth$1, Euml: Euml$1, euml: euml$1, euro, excl, exist, Exists, expectation, exponentiale, ExponentialE, fallingdotseq, Fcy, fcy, female, ffilig, fflig, ffllig, Ffr, ffr, filig, FilledSmallSquare, FilledVerySmallSquare, fjlig, flat, fllig, fltns, fnof, Fopf, fopf, forall, ForAll, fork, forkv, Fouriertrf, fpartint, frac12: frac12$1, frac13, frac14: frac14$1, frac15, frac16, frac18, frac23, frac25, frac34: frac34$1, frac35, frac38, frac45, frac56, frac58, frac78, frasl, frown, fscr, Fscr, gacute, Gamma, gamma, Gammad, gammad, gap, Gbreve, gbreve, Gcedil, Gcirc, gcirc, Gcy, gcy, Gdot, gdot, ge, gE, gEl, gel, geq, geqq, geqslant, gescc, ges, gesdot, gesdoto, gesdotol, gesl, gesles, Gfr, gfr, gg, Gg, ggg, gimel, GJcy, gjcy, gla, gl, glE, glj, gnap, gnapprox, gne, gnE, gneq, gneqq, gnsim, Gopf, gopf, grave, GreaterEqual, GreaterEqualLess, GreaterFullEqual, GreaterGreater, GreaterLess, GreaterSlantEqual, GreaterTilde, Gscr, gscr, gsim, gsime, gsiml, gtcc, gtcir, gt: gt$2, GT: GT$1, Gt, gtdot, gtlPar, gtquest, gtrapprox, gtrarr, gtrdot, gtreqless, gtreqqless, gtrless, gtrsim, gvertneqq, gvnE, Hacek, hairsp, half, hamilt, HARDcy, hardcy, harrcir, harr, hArr, harrw, Hat, hbar, Hcirc, hcirc, hearts, heartsuit, hellip, hercon, hfr, Hfr, HilbertSpace, hksearow, hkswarow, hoarr, homtht, hookleftarrow, hookrightarrow, hopf, Hopf, horbar, HorizontalLine, hscr, Hscr, hslash, Hstrok, hstrok, HumpDownHump, HumpEqual, hybull, hyphen, Iacute: Iacute$1, iacute: iacute$1, ic, Icirc: Icirc$1, icirc: icirc$1, Icy, icy, Idot, IEcy, iecy, iexcl: iexcl$1, iff, ifr, Ifr, Igrave: Igrave$1, igrave: igrave$1, ii, iiiint, iiint, iinfin, iiota, IJlig, ijlig, Imacr, imacr, image, ImaginaryI, imagline, imagpart, imath, Im, imof, imped, Implies, incare, in: "\u2208", infin, infintie, inodot, intcal, int, Int, integers, Integral, intercal, Intersection, intlarhk, intprod, InvisibleComma, InvisibleTimes, IOcy, iocy, Iogon, iogon, Iopf, iopf, Iota, iota, iprod, iquest: iquest$1, iscr, Iscr, isin, isindot, isinE, isins, isinsv, isinv, it, Itilde, itilde, Iukcy, iukcy, Iuml: Iuml$1, iuml: iuml$1, Jcirc, jcirc, Jcy, jcy, Jfr, jfr, jmath, Jopf, jopf, Jscr, jscr, Jsercy, jsercy, Jukcy, jukcy, Kappa, kappa, kappav, Kcedil, kcedil, Kcy, kcy, Kfr, kfr, kgreen, KHcy, khcy, KJcy, kjcy, Kopf, kopf, Kscr, kscr, lAarr, Lacute, lacute, laemptyv, lagran, Lambda, lambda, lang, Lang, langd, langle, lap, Laplacetrf, laquo: laquo$1, larrb, larrbfs, larr, Larr, lArr, larrfs, larrhk, larrlp, larrpl, larrsim, larrtl, latail, lAtail, lat, late, lates, lbarr, lBarr, lbbrk, lbrace, lbrack, lbrke, lbrksld, lbrkslu, Lcaron, lcaron, Lcedil, lcedil, lceil, lcub, Lcy, lcy, ldca, ldquo, ldquor, ldrdhar, ldrushar, ldsh, le, lE, LeftAngleBracket, LeftArrowBar, leftarrow, LeftArrow, Leftarrow, LeftArrowRightArrow, leftarrowtail, LeftCeiling, LeftDoubleBracket, LeftDownTeeVector, LeftDownVectorBar, LeftDownVector, LeftFloor, leftharpoondown, leftharpoonup, leftleftarrows, leftrightarrow, LeftRightArrow, Leftrightarrow, leftrightarrows, leftrightharpoons, leftrightsquigarrow, LeftRightVector, LeftTeeArrow, LeftTee, LeftTeeVector, leftthreetimes, LeftTriangleBar, LeftTriangle, LeftTriangleEqual, LeftUpDownVector, LeftUpTeeVector, LeftUpVectorBar, LeftUpVector, LeftVectorBar, LeftVector, lEg, leg, leq, leqq, leqslant, lescc, les, lesdot, lesdoto, lesdotor, lesg, lesges, lessapprox, lessdot, lesseqgtr, lesseqqgtr, LessEqualGreater, LessFullEqual, LessGreater, lessgtr, LessLess, lesssim, LessSlantEqual, LessTilde, lfisht, lfloor, Lfr, lfr, lg, lgE, lHar, lhard, lharu, lharul, lhblk, LJcy, ljcy, llarr, ll, Ll, llcorner, Lleftarrow, llhard, lltri, Lmidot, lmidot, lmoustache, lmoust, lnap, lnapprox, lne, lnE, lneq, lneqq, lnsim, loang, loarr, lobrk, longleftarrow, LongLeftArrow, Longleftarrow, longleftrightarrow, LongLeftRightArrow, Longleftrightarrow, longmapsto, longrightarrow, LongRightArrow, Longrightarrow, looparrowleft, looparrowright, lopar, Lopf, lopf, loplus, lotimes, lowast, lowbar, LowerLeftArrow, LowerRightArrow, loz, lozenge, lozf, lpar, lparlt, lrarr, lrcorner, lrhar, lrhard, lrm, lrtri, lsaquo, lscr, Lscr, lsh, Lsh, lsim, lsime, lsimg, lsqb, lsquo, lsquor, Lstrok, lstrok, ltcc, ltcir, lt: lt$2, LT: LT$1, Lt, ltdot, lthree, ltimes, ltlarr, ltquest, ltri, ltrie, ltrif, ltrPar, lurdshar, luruhar, lvertneqq, lvnE, macr: macr$1, male, malt, maltese, Map: "\u2905", map, mapsto, mapstodown, mapstoleft, mapstoup, marker, mcomma, Mcy, mcy, mdash, mDDot, measuredangle, MediumSpace, Mellintrf, Mfr, mfr, mho, micro: micro$1, midast, midcir, mid, middot: middot$1, minusb, minus: minus$1, minusd, minusdu, MinusPlus, mlcp, mldr, mnplus, models, Mopf, mopf, mp, mscr, Mscr, mstpos, Mu, mu, multimap, mumap, nabla, Nacute, nacute, nang, nap, napE, napid, napos, napprox, natural, naturals, natur, nbsp: nbsp$1, nbump, nbumpe, ncap, Ncaron, ncaron, Ncedil, ncedil, ncong, ncongdot, ncup, Ncy, ncy, ndash, nearhk, nearr, neArr, nearrow, ne, nedot, NegativeMediumSpace, NegativeThickSpace, NegativeThinSpace, NegativeVeryThinSpace, nequiv, nesear, nesim, NestedGreaterGreater, NestedLessLess, NewLine, nexist, nexists, Nfr, nfr, ngE, nge, ngeq, ngeqq, ngeqslant, nges, nGg, ngsim, nGt, ngt, ngtr, nGtv, nharr, nhArr, nhpar, ni, nis, nisd, niv, NJcy, njcy, nlarr, nlArr, nldr, nlE, nle, nleftarrow, nLeftarrow, nleftrightarrow, nLeftrightarrow, nleq, nleqq, nleqslant, nles, nless, nLl, nlsim, nLt, nlt, nltri, nltrie, nLtv, nmid, NoBreak, NonBreakingSpace, nopf, Nopf, Not, not: not$1, NotCongruent, NotCupCap, NotDoubleVerticalBar, NotElement, NotEqual, NotEqualTilde, NotExists, NotGreater, NotGreaterEqual, NotGreaterFullEqual, NotGreaterGreater, NotGreaterLess, NotGreaterSlantEqual, NotGreaterTilde, NotHumpDownHump, NotHumpEqual, notin, notindot, notinE, notinva, notinvb, notinvc, NotLeftTriangleBar, NotLeftTriangle, NotLeftTriangleEqual, NotLess, NotLessEqual, NotLessGreater, NotLessLess, NotLessSlantEqual, NotLessTilde, NotNestedGreaterGreater, NotNestedLessLess, notni, notniva, notnivb, notnivc, NotPrecedes, NotPrecedesEqual, NotPrecedesSlantEqual, NotReverseElement, NotRightTriangleBar, NotRightTriangle, NotRightTriangleEqual, NotSquareSubset, NotSquareSubsetEqual, NotSquareSuperset, NotSquareSupersetEqual, NotSubset, NotSubsetEqual, NotSucceeds, NotSucceedsEqual, NotSucceedsSlantEqual, NotSucceedsTilde, NotSuperset, NotSupersetEqual, NotTilde, NotTildeEqual, NotTildeFullEqual, NotTildeTilde, NotVerticalBar, nparallel, npar, nparsl, npart, npolint, npr, nprcue, nprec, npreceq, npre, nrarrc, nrarr, nrArr, nrarrw, nrightarrow, nRightarrow, nrtri, nrtrie, nsc, nsccue, nsce, Nscr, nscr, nshortmid, nshortparallel, nsim, nsime, nsimeq, nsmid, nspar, nsqsube, nsqsupe, nsub, nsubE, nsube, nsubset, nsubseteq, nsubseteqq, nsucc, nsucceq, nsup, nsupE, nsupe, nsupset, nsupseteq, nsupseteqq, ntgl, Ntilde: Ntilde$1, ntilde: ntilde$1, ntlg, ntriangleleft, ntrianglelefteq, ntriangleright, ntrianglerighteq, Nu, nu, num, numero, numsp, nvap, nvdash, nvDash, nVdash, nVDash, nvge, nvgt, nvHarr, nvinfin, nvlArr, nvle, nvlt, nvltrie, nvrArr, nvrtrie, nvsim, nwarhk, nwarr, nwArr, nwarrow, nwnear, Oacute: Oacute$1, oacute: oacute$1, oast, Ocirc: Ocirc$1, ocirc: ocirc$1, ocir, Ocy, ocy, odash, Odblac, odblac, odiv, odot, odsold, OElig, oelig, ofcir, Ofr, ofr, ogon, Ograve: Ograve$1, ograve: ograve$1, ogt, ohbar, ohm, oint, olarr, olcir, olcross, oline, olt, Omacr, omacr, Omega, omega, Omicron, omicron, omid, ominus, Oopf, oopf, opar, OpenCurlyDoubleQuote, OpenCurlyQuote, operp, oplus, orarr, Or, or, ord, order, orderof, ordf: ordf$1, ordm: ordm$1, origof, oror, orslope, orv, oS, Oscr, oscr, Oslash: Oslash$1, oslash: oslash$1, osol, Otilde: Otilde$1, otilde: otilde$1, otimesas, Otimes, otimes, Ouml: Ouml$1, ouml: ouml$1, ovbar, OverBar, OverBrace, OverBracket, OverParenthesis, para: para$1, parallel, par, parsim, parsl, part, PartialD, Pcy, pcy, percnt, period, permil, perp, pertenk, Pfr, pfr, Phi, phi, phiv, phmmat, phone, Pi, pi, pitchfork, piv, planck, planckh, plankv, plusacir, plusb, pluscir, plus, plusdo, plusdu, pluse, PlusMinus, plusmn: plusmn$1, plussim, plustwo, pm, Poincareplane, pointint, popf, Popf, pound: pound$1, prap, Pr, pr, prcue, precapprox, prec, preccurlyeq, Precedes, PrecedesEqual, PrecedesSlantEqual, PrecedesTilde, preceq, precnapprox, precneqq, precnsim, pre, prE, precsim, prime, Prime, primes, prnap, prnE, prnsim, prod, Product, profalar, profline, profsurf, prop, Proportional, Proportion, propto, prsim, prurel, Pscr, pscr, Psi, psi, puncsp, Qfr, qfr, qint, qopf, Qopf, qprime, Qscr, qscr, quaternions, quatint, quest, questeq, quot: quot$2, QUOT: QUOT$1, rAarr, race, Racute, racute, radic, raemptyv, rang, Rang, rangd, range, rangle, raquo: raquo$1, rarrap, rarrb, rarrbfs, rarrc, rarr, Rarr, rArr, rarrfs, rarrhk, rarrlp, rarrpl, rarrsim, Rarrtl, rarrtl, rarrw, ratail, rAtail, ratio, rationals, rbarr, rBarr, RBarr, rbbrk, rbrace, rbrack, rbrke, rbrksld, rbrkslu, Rcaron, rcaron, Rcedil, rcedil, rceil, rcub, Rcy, rcy, rdca, rdldhar, rdquo, rdquor, rdsh, real, realine, realpart, reals, Re, rect, reg: reg$1, REG: REG$1, ReverseElement, ReverseEquilibrium, ReverseUpEquilibrium, rfisht, rfloor, rfr, Rfr, rHar, rhard, rharu, rharul, Rho, rho, rhov, RightAngleBracket, RightArrowBar, rightarrow, RightArrow, Rightarrow, RightArrowLeftArrow, rightarrowtail, RightCeiling, RightDoubleBracket, RightDownTeeVector, RightDownVectorBar, RightDownVector, RightFloor, rightharpoondown, rightharpoonup, rightleftarrows, rightleftharpoons, rightrightarrows, rightsquigarrow, RightTeeArrow, RightTee, RightTeeVector, rightthreetimes, RightTriangleBar, RightTriangle, RightTriangleEqual, RightUpDownVector, RightUpTeeVector, RightUpVectorBar, RightUpVector, RightVectorBar, RightVector, ring, risingdotseq, rlarr, rlhar, rlm, rmoustache, rmoust, rnmid, roang, roarr, robrk, ropar, ropf, Ropf, roplus, rotimes, RoundImplies, rpar, rpargt, rppolint, rrarr, Rrightarrow, rsaquo, rscr, Rscr, rsh, Rsh, rsqb, rsquo, rsquor, rthree, rtimes, rtri, rtrie, rtrif, rtriltri, RuleDelayed, ruluhar, rx, Sacute, sacute, sbquo, scap, Scaron, scaron, Sc, sc, sccue, sce, scE, Scedil, scedil, Scirc, scirc, scnap, scnE, scnsim, scpolint, scsim, Scy, scy, sdotb, sdot, sdote, searhk, searr, seArr, searrow, sect: sect$1, semi, seswar, setminus, setmn, sext, Sfr, sfr, sfrown, sharp, SHCHcy, shchcy, SHcy, shcy, ShortDownArrow, ShortLeftArrow, shortmid, shortparallel, ShortRightArrow, ShortUpArrow, shy: shy$1, Sigma, sigma, sigmaf, sigmav, sim, simdot, sime, simeq, simg, simgE, siml, simlE, simne, simplus, simrarr, slarr, SmallCircle, smallsetminus, smashp, smeparsl, smid, smile, smt, smte, smtes, SOFTcy, softcy, solbar, solb, sol, Sopf, sopf, spades, spadesuit, spar, sqcap, sqcaps, sqcup, sqcups, Sqrt, sqsub, sqsube, sqsubset, sqsubseteq, sqsup, sqsupe, sqsupset, sqsupseteq, square, Square, SquareIntersection, SquareSubset, SquareSubsetEqual, SquareSuperset, SquareSupersetEqual, SquareUnion, squarf, squ, squf, srarr, Sscr, sscr, ssetmn, ssmile, sstarf, Star, star, starf, straightepsilon, straightphi, strns, sub: sub$1, Sub, subdot, subE, sube, subedot, submult, subnE, subne, subplus, subrarr, subset, Subset, subseteq, subseteqq, SubsetEqual, subsetneq, subsetneqq, subsim, subsub, subsup, succapprox, succ, succcurlyeq, Succeeds, SucceedsEqual, SucceedsSlantEqual, SucceedsTilde, succeq, succnapprox, succneqq, succnsim, succsim, SuchThat, sum, Sum, sung, sup1: sup1$1, sup2: sup2$1, sup3: sup3$1, sup, Sup, supdot, supdsub, supE, supe, supedot, Superset, SupersetEqual, suphsol, suphsub, suplarr, supmult, supnE, supne, supplus, supset, Supset, supseteq, supseteqq, supsetneq, supsetneqq, supsim, supsub, supsup, swarhk, swarr, swArr, swarrow, swnwar, szlig: szlig$1, Tab, target, Tau, tau, tbrk, Tcaron, tcaron, Tcedil, tcedil, Tcy, tcy, tdot, telrec, Tfr, tfr, there4, therefore, Therefore, Theta, theta, thetasym, thetav, thickapprox, thicksim, ThickSpace, ThinSpace, thinsp, thkap, thksim, THORN: THORN$1, thorn: thorn$1, tilde, Tilde, TildeEqual, TildeFullEqual, TildeTilde, timesbar, timesb, times: times$1, timesd, tint, toea, topbot, topcir, top, Topf, topf, topfork, tosa, tprime, trade, TRADE, triangle, triangledown, triangleleft, trianglelefteq, triangleq, triangleright, trianglerighteq, tridot, trie, triminus, TripleDot, triplus, trisb, tritime, trpezium, Tscr, tscr, TScy, tscy, TSHcy, tshcy, Tstrok, tstrok, twixt, twoheadleftarrow, twoheadrightarrow, Uacute: Uacute$1, uacute: uacute$1, uarr, Uarr, uArr, Uarrocir, Ubrcy, ubrcy, Ubreve, ubreve, Ucirc: Ucirc$1, ucirc: ucirc$1, Ucy, ucy, udarr, Udblac, udblac, udhar, ufisht, Ufr, ufr, Ugrave: Ugrave$1, ugrave: ugrave$1, uHar, uharl, uharr, uhblk, ulcorn, ulcorner, ulcrop, ultri, Umacr, umacr, uml: uml$1, UnderBar, UnderBrace, UnderBracket, UnderParenthesis, Union, UnionPlus, Uogon, uogon, Uopf, uopf, UpArrowBar, uparrow, UpArrow, Uparrow, UpArrowDownArrow, updownarrow, UpDownArrow, Updownarrow, UpEquilibrium, upharpoonleft, upharpoonright, uplus, UpperLeftArrow, UpperRightArrow, upsi, Upsi, upsih, Upsilon, upsilon, UpTeeArrow, UpTee, upuparrows, urcorn, urcorner, urcrop, Uring, uring, urtri, Uscr, uscr, utdot, Utilde, utilde, utri, utrif, uuarr, Uuml: Uuml$1, uuml: uuml$1, uwangle, vangrt, varepsilon, varkappa, varnothing, varphi, varpi, varpropto, varr, vArr, varrho, varsigma, varsubsetneq, varsubsetneqq, varsupsetneq, varsupsetneqq, vartheta, vartriangleleft, vartriangleright, vBar, Vbar, vBarv, Vcy, vcy, vdash, vDash, Vdash, VDash, Vdashl, veebar, vee, Vee, veeeq, vellip, verbar, Verbar, vert, Vert, VerticalBar, VerticalLine, VerticalSeparator, VerticalTilde, VeryThinSpace, Vfr, vfr, vltri, vnsub, vnsup, Vopf, vopf, vprop, vrtri, Vscr, vscr, vsubnE, vsubne, vsupnE, vsupne, Vvdash, vzigzag, Wcirc, wcirc, wedbar, wedge, Wedge, wedgeq, weierp, Wfr, wfr, Wopf, wopf, wp, wr, wreath, Wscr, wscr, xcap, xcirc, xcup, xdtri, Xfr, xfr, xharr, xhArr, Xi, xi, xlarr, xlArr, xmap, xnis, xodot, Xopf, xopf, xoplus, xotime, xrarr, xrArr, Xscr, xscr, xsqcup, xuplus, xutri, xvee, xwedge, Yacute: Yacute$1, yacute: yacute$1, YAcy, yacy, Ycirc, ycirc, Ycy, ycy, yen: yen$1, Yfr, yfr, YIcy, yicy, Yopf, yopf, Yscr, yscr, YUcy, yucy, yuml: yuml$1, Yuml, Zacute, zacute, Zcaron, zcaron, Zcy, zcy, Zdot, zdot, zeetrf, ZeroWidthSpace, Zeta, zeta, zfr, Zfr, ZHcy, zhcy, zigrarr, zopf, Zopf, Zscr, zscr, zwj, zwnj }; +var Aacute = "\xC1"; +var aacute = "\xE1"; +var Acirc = "\xC2"; +var acirc = "\xE2"; +var acute = "\xB4"; +var AElig = "\xC6"; +var aelig = "\xE6"; +var Agrave = "\xC0"; +var agrave = "\xE0"; +var amp$1 = "&"; +var AMP = "&"; +var Aring = "\xC5"; +var aring = "\xE5"; +var Atilde = "\xC3"; +var atilde = "\xE3"; +var Auml = "\xC4"; +var auml = "\xE4"; +var brvbar = "\xA6"; +var Ccedil = "\xC7"; +var ccedil = "\xE7"; +var cedil = "\xB8"; +var cent = "\xA2"; +var copy$1 = "\xA9"; +var COPY = "\xA9"; +var curren = "\xA4"; +var deg = "\xB0"; +var divide = "\xF7"; +var Eacute = "\xC9"; +var eacute = "\xE9"; +var Ecirc = "\xCA"; +var ecirc = "\xEA"; +var Egrave = "\xC8"; +var egrave = "\xE8"; +var ETH = "\xD0"; +var eth = "\xF0"; +var Euml = "\xCB"; +var euml = "\xEB"; +var frac12 = "\xBD"; +var frac14 = "\xBC"; +var frac34 = "\xBE"; +var gt$1 = ">"; +var GT = ">"; +var Iacute = "\xCD"; +var iacute = "\xED"; +var Icirc = "\xCE"; +var icirc = "\xEE"; +var iexcl = "\xA1"; +var Igrave = "\xCC"; +var igrave = "\xEC"; +var iquest = "\xBF"; +var Iuml = "\xCF"; +var iuml = "\xEF"; +var laquo = "\xAB"; +var lt$1 = "<"; +var LT = "<"; +var macr = "\xAF"; +var micro = "\xB5"; +var middot = "\xB7"; +var nbsp = "\xA0"; +var not = "\xAC"; +var Ntilde = "\xD1"; +var ntilde = "\xF1"; +var Oacute = "\xD3"; +var oacute = "\xF3"; +var Ocirc = "\xD4"; +var ocirc = "\xF4"; +var Ograve = "\xD2"; +var ograve = "\xF2"; +var ordf = "\xAA"; +var ordm = "\xBA"; +var Oslash = "\xD8"; +var oslash = "\xF8"; +var Otilde = "\xD5"; +var otilde = "\xF5"; +var Ouml = "\xD6"; +var ouml = "\xF6"; +var para = "\xB6"; +var plusmn = "\xB1"; +var pound = "\xA3"; +var quot$1 = '"'; +var QUOT = '"'; +var raquo = "\xBB"; +var reg = "\xAE"; +var REG = "\xAE"; +var sect = "\xA7"; +var shy = "\xAD"; +var sup1 = "\xB9"; +var sup2 = "\xB2"; +var sup3 = "\xB3"; +var szlig = "\xDF"; +var THORN = "\xDE"; +var thorn = "\xFE"; +var times = "\xD7"; +var Uacute = "\xDA"; +var uacute = "\xFA"; +var Ucirc = "\xDB"; +var ucirc = "\xFB"; +var Ugrave = "\xD9"; +var ugrave = "\xF9"; +var uml = "\xA8"; +var Uuml = "\xDC"; +var uuml = "\xFC"; +var Yacute = "\xDD"; +var yacute = "\xFD"; +var yen = "\xA5"; +var yuml = "\xFF"; +var require$$1 = { Aacute, aacute, Acirc, acirc, acute, AElig, aelig, Agrave, agrave, amp: amp$1, AMP, Aring, aring, Atilde, atilde, Auml, auml, brvbar, Ccedil, ccedil, cedil, cent, copy: copy$1, COPY, curren, deg, divide, Eacute, eacute, Ecirc, ecirc, Egrave, egrave, ETH, eth, Euml, euml, frac12, frac14, frac34, gt: gt$1, GT, Iacute, iacute, Icirc, icirc, iexcl, Igrave, igrave, iquest, Iuml, iuml, laquo, lt: lt$1, LT, macr, micro, middot, nbsp, not, Ntilde, ntilde, Oacute, oacute, Ocirc, ocirc, Ograve, ograve, ordf, ordm, Oslash, oslash, Otilde, otilde, Ouml, ouml, para, plusmn, pound, quot: quot$1, QUOT, raquo, reg, REG, sect, shy, sup1, sup2, sup3, szlig, THORN, thorn, times, Uacute, uacute, Ucirc, ucirc, Ugrave, ugrave, uml, Uuml, uuml, Yacute, yacute, yen, yuml }; +var amp = "&"; +var apos = "'"; +var gt = ">"; +var lt = "<"; +var quot = '"'; +var require$$0$1 = { amp, apos, gt, lt, quot }; +var decode_codepoint = {}; +var require$$0 = { 0: 65533, 128: 8364, 130: 8218, 131: 402, 132: 8222, 133: 8230, 134: 8224, 135: 8225, 136: 710, 137: 8240, 138: 352, 139: 8249, 140: 338, 142: 381, 145: 8216, 146: 8217, 147: 8220, 148: 8221, 149: 8226, 150: 8211, 151: 8212, 152: 732, 153: 8482, 154: 353, 155: 8250, 156: 339, 158: 382, 159: 376 }; +var __importDefault$4 = commonjsGlobal && commonjsGlobal.__importDefault || function(mod) { + return mod && mod.__esModule ? mod : { default: mod }; +}; +Object.defineProperty(decode_codepoint, "__esModule", { value: true }); +var decode_json_1 = __importDefault$4(require$$0); +var fromCodePoint = String.fromCodePoint || function(codePoint) { + var output = ""; + if (codePoint > 65535) { + codePoint -= 65536; + output += String.fromCharCode(codePoint >>> 10 & 1023 | 55296); + codePoint = 56320 | codePoint & 1023; + } + output += String.fromCharCode(codePoint); + return output; +}; +function decodeCodePoint(codePoint) { + if (codePoint >= 55296 && codePoint <= 57343 || codePoint > 1114111) { + return "\uFFFD"; + } + if (codePoint in decode_json_1.default) { + codePoint = decode_json_1.default[codePoint]; + } + return fromCodePoint(codePoint); +} +decode_codepoint.default = decodeCodePoint; +var __importDefault$3 = commonjsGlobal && commonjsGlobal.__importDefault || function(mod) { + return mod && mod.__esModule ? mod : { default: mod }; +}; +Object.defineProperty(decode, "__esModule", { value: true }); +decode.decodeHTML = decode.decodeHTMLStrict = decode.decodeXML = void 0; +var entities_json_1$1 = __importDefault$3(require$$1$1); +var legacy_json_1 = __importDefault$3(require$$1); +var xml_json_1$1 = __importDefault$3(require$$0$1); +var decode_codepoint_1 = __importDefault$3(decode_codepoint); +var strictEntityRe = /&(?:[a-zA-Z0-9]+|#[xX][\da-fA-F]+|#\d+);/g; +decode.decodeXML = getStrictDecoder(xml_json_1$1.default); +decode.decodeHTMLStrict = getStrictDecoder(entities_json_1$1.default); +function getStrictDecoder(map2) { + var replace2 = getReplacer(map2); + return function(str) { + return String(str).replace(strictEntityRe, replace2); + }; +} +var sorter = function(a, b) { + return a < b ? 1 : -1; +}; +decode.decodeHTML = function() { + var legacy2 = Object.keys(legacy_json_1.default).sort(sorter); + var keys = Object.keys(entities_json_1$1.default).sort(sorter); + for (var i = 0, j = 0; i < keys.length; i++) { + if (legacy2[j] === keys[i]) { + keys[i] += ";?"; + j++; + } else { + keys[i] += ";"; + } + } + var re = new RegExp("&(?:" + keys.join("|") + "|#[xX][\\da-fA-F]+;?|#\\d+;?)", "g"); + var replace2 = getReplacer(entities_json_1$1.default); + function replacer(str) { + if (str.substr(-1) !== ";") + str += ";"; + return replace2(str); + } + return function(str) { + return String(str).replace(re, replacer); + }; +}(); +function getReplacer(map2) { + return function replace2(str) { + if (str.charAt(1) === "#") { + var secondChar = str.charAt(2); + if (secondChar === "X" || secondChar === "x") { + return decode_codepoint_1.default(parseInt(str.substr(3), 16)); + } + return decode_codepoint_1.default(parseInt(str.substr(2), 10)); + } + return map2[str.slice(1, -1)] || str; + }; +} +var encode = {}; +var __importDefault$2 = commonjsGlobal && commonjsGlobal.__importDefault || function(mod) { + return mod && mod.__esModule ? mod : { default: mod }; +}; +Object.defineProperty(encode, "__esModule", { value: true }); +encode.escapeUTF8 = encode.escape = encode.encodeNonAsciiHTML = encode.encodeHTML = encode.encodeXML = void 0; +var xml_json_1 = __importDefault$2(require$$0$1); +var inverseXML = getInverseObj(xml_json_1.default); +var xmlReplacer = getInverseReplacer(inverseXML); +encode.encodeXML = getASCIIEncoder(inverseXML); +var entities_json_1 = __importDefault$2(require$$1$1); +var inverseHTML = getInverseObj(entities_json_1.default); +var htmlReplacer = getInverseReplacer(inverseHTML); +encode.encodeHTML = getInverse(inverseHTML, htmlReplacer); +encode.encodeNonAsciiHTML = getASCIIEncoder(inverseHTML); +function getInverseObj(obj) { + return Object.keys(obj).sort().reduce(function(inverse, name2) { + inverse[obj[name2]] = "&" + name2 + ";"; + return inverse; + }, {}); +} +function getInverseReplacer(inverse) { + var single = []; + var multiple = []; + for (var _i = 0, _a = Object.keys(inverse); _i < _a.length; _i++) { + var k = _a[_i]; + if (k.length === 1) { + single.push("\\" + k); + } else { + multiple.push(k); + } + } + single.sort(); + for (var start = 0; start < single.length - 1; start++) { + var end = start; + while (end < single.length - 1 && single[end].charCodeAt(1) + 1 === single[end + 1].charCodeAt(1)) { + end += 1; + } + var count = 1 + end - start; + if (count < 3) + continue; + single.splice(start, count, single[start] + "-" + single[end]); + } + multiple.unshift("[" + single.join("") + "]"); + return new RegExp(multiple.join("|"), "g"); +} +var reNonASCII = /(?:[\x80-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/g; +var getCodePoint = String.prototype.codePointAt != null ? function(str) { + return str.codePointAt(0); +} : function(c) { + return (c.charCodeAt(0) - 55296) * 1024 + c.charCodeAt(1) - 56320 + 65536; +}; +function singleCharReplacer(c) { + return "&#x" + (c.length > 1 ? getCodePoint(c) : c.charCodeAt(0)).toString(16).toUpperCase() + ";"; +} +function getInverse(inverse, re) { + return function(data) { + return data.replace(re, function(name2) { + return inverse[name2]; + }).replace(reNonASCII, singleCharReplacer); + }; +} +var reEscapeChars = new RegExp(xmlReplacer.source + "|" + reNonASCII.source, "g"); +function escape(data) { + return data.replace(reEscapeChars, singleCharReplacer); +} +encode.escape = escape; +function escapeUTF8(data) { + return data.replace(xmlReplacer, singleCharReplacer); +} +encode.escapeUTF8 = escapeUTF8; +function getASCIIEncoder(obj) { + return function(data) { + return data.replace(reEscapeChars, function(c) { + return obj[c] || singleCharReplacer(c); + }); + }; +} +(function(exports) { + Object.defineProperty(exports, "__esModule", { value: true }); + exports.decodeXMLStrict = exports.decodeHTML5Strict = exports.decodeHTML4Strict = exports.decodeHTML5 = exports.decodeHTML4 = exports.decodeHTMLStrict = exports.decodeHTML = exports.decodeXML = exports.encodeHTML5 = exports.encodeHTML4 = exports.escapeUTF8 = exports.escape = exports.encodeNonAsciiHTML = exports.encodeHTML = exports.encodeXML = exports.encode = exports.decodeStrict = exports.decode = void 0; + var decode_1 = decode; + var encode_1 = encode; + function decode$1(data, level) { + return (!level || level <= 0 ? decode_1.decodeXML : decode_1.decodeHTML)(data); + } + exports.decode = decode$1; + function decodeStrict(data, level) { + return (!level || level <= 0 ? decode_1.decodeXML : decode_1.decodeHTMLStrict)(data); + } + exports.decodeStrict = decodeStrict; + function encode$1(data, level) { + return (!level || level <= 0 ? encode_1.encodeXML : encode_1.encodeHTML)(data); + } + exports.encode = encode$1; + var encode_2 = encode; + Object.defineProperty(exports, "encodeXML", { enumerable: true, get: function() { + return encode_2.encodeXML; + } }); + Object.defineProperty(exports, "encodeHTML", { enumerable: true, get: function() { + return encode_2.encodeHTML; + } }); + Object.defineProperty(exports, "encodeNonAsciiHTML", { enumerable: true, get: function() { + return encode_2.encodeNonAsciiHTML; + } }); + Object.defineProperty(exports, "escape", { enumerable: true, get: function() { + return encode_2.escape; + } }); + Object.defineProperty(exports, "escapeUTF8", { enumerable: true, get: function() { + return encode_2.escapeUTF8; + } }); + Object.defineProperty(exports, "encodeHTML4", { enumerable: true, get: function() { + return encode_2.encodeHTML; + } }); + Object.defineProperty(exports, "encodeHTML5", { enumerable: true, get: function() { + return encode_2.encodeHTML; + } }); + var decode_2 = decode; + Object.defineProperty(exports, "decodeXML", { enumerable: true, get: function() { + return decode_2.decodeXML; + } }); + Object.defineProperty(exports, "decodeHTML", { enumerable: true, get: function() { + return decode_2.decodeHTML; + } }); + Object.defineProperty(exports, "decodeHTMLStrict", { enumerable: true, get: function() { + return decode_2.decodeHTMLStrict; + } }); + Object.defineProperty(exports, "decodeHTML4", { enumerable: true, get: function() { + return decode_2.decodeHTML; + } }); + Object.defineProperty(exports, "decodeHTML5", { enumerable: true, get: function() { + return decode_2.decodeHTML; + } }); + Object.defineProperty(exports, "decodeHTML4Strict", { enumerable: true, get: function() { + return decode_2.decodeHTMLStrict; + } }); + Object.defineProperty(exports, "decodeHTML5Strict", { enumerable: true, get: function() { + return decode_2.decodeHTMLStrict; + } }); + Object.defineProperty(exports, "decodeXMLStrict", { enumerable: true, get: function() { + return decode_2.decodeXML; + } }); +})(lib$3); +var foreignNames = {}; +Object.defineProperty(foreignNames, "__esModule", { value: true }); +foreignNames.attributeNames = foreignNames.elementNames = void 0; +foreignNames.elementNames = new Map([["altglyph", "altGlyph"], ["altglyphdef", "altGlyphDef"], ["altglyphitem", "altGlyphItem"], ["animatecolor", "animateColor"], ["animatemotion", "animateMotion"], ["animatetransform", "animateTransform"], ["clippath", "clipPath"], ["feblend", "feBlend"], ["fecolormatrix", "feColorMatrix"], ["fecomponenttransfer", "feComponentTransfer"], ["fecomposite", "feComposite"], ["feconvolvematrix", "feConvolveMatrix"], ["fediffuselighting", "feDiffuseLighting"], ["fedisplacementmap", "feDisplacementMap"], ["fedistantlight", "feDistantLight"], ["fedropshadow", "feDropShadow"], ["feflood", "feFlood"], ["fefunca", "feFuncA"], ["fefuncb", "feFuncB"], ["fefuncg", "feFuncG"], ["fefuncr", "feFuncR"], ["fegaussianblur", "feGaussianBlur"], ["feimage", "feImage"], ["femerge", "feMerge"], ["femergenode", "feMergeNode"], ["femorphology", "feMorphology"], ["feoffset", "feOffset"], ["fepointlight", "fePointLight"], ["fespecularlighting", "feSpecularLighting"], ["fespotlight", "feSpotLight"], ["fetile", "feTile"], ["feturbulence", "feTurbulence"], ["foreignobject", "foreignObject"], ["glyphref", "glyphRef"], ["lineargradient", "linearGradient"], ["radialgradient", "radialGradient"], ["textpath", "textPath"]]); +foreignNames.attributeNames = new Map([["definitionurl", "definitionURL"], ["attributename", "attributeName"], ["attributetype", "attributeType"], ["basefrequency", "baseFrequency"], ["baseprofile", "baseProfile"], ["calcmode", "calcMode"], ["clippathunits", "clipPathUnits"], ["diffuseconstant", "diffuseConstant"], ["edgemode", "edgeMode"], ["filterunits", "filterUnits"], ["glyphref", "glyphRef"], ["gradienttransform", "gradientTransform"], ["gradientunits", "gradientUnits"], ["kernelmatrix", "kernelMatrix"], ["kernelunitlength", "kernelUnitLength"], ["keypoints", "keyPoints"], ["keysplines", "keySplines"], ["keytimes", "keyTimes"], ["lengthadjust", "lengthAdjust"], ["limitingconeangle", "limitingConeAngle"], ["markerheight", "markerHeight"], ["markerunits", "markerUnits"], ["markerwidth", "markerWidth"], ["maskcontentunits", "maskContentUnits"], ["maskunits", "maskUnits"], ["numoctaves", "numOctaves"], ["pathlength", "pathLength"], ["patterncontentunits", "patternContentUnits"], ["patterntransform", "patternTransform"], ["patternunits", "patternUnits"], ["pointsatx", "pointsAtX"], ["pointsaty", "pointsAtY"], ["pointsatz", "pointsAtZ"], ["preservealpha", "preserveAlpha"], ["preserveaspectratio", "preserveAspectRatio"], ["primitiveunits", "primitiveUnits"], ["refx", "refX"], ["refy", "refY"], ["repeatcount", "repeatCount"], ["repeatdur", "repeatDur"], ["requiredextensions", "requiredExtensions"], ["requiredfeatures", "requiredFeatures"], ["specularconstant", "specularConstant"], ["specularexponent", "specularExponent"], ["spreadmethod", "spreadMethod"], ["startoffset", "startOffset"], ["stddeviation", "stdDeviation"], ["stitchtiles", "stitchTiles"], ["surfacescale", "surfaceScale"], ["systemlanguage", "systemLanguage"], ["tablevalues", "tableValues"], ["targetx", "targetX"], ["targety", "targetY"], ["textlength", "textLength"], ["viewbox", "viewBox"], ["viewtarget", "viewTarget"], ["xchannelselector", "xChannelSelector"], ["ychannelselector", "yChannelSelector"], ["zoomandpan", "zoomAndPan"]]); +var __assign = commonjsGlobal && commonjsGlobal.__assign || function() { + __assign = Object.assign || function(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) + if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); +}; +var __createBinding = commonjsGlobal && commonjsGlobal.__createBinding || (Object.create ? function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { + return m[k]; + } }); +} : function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + o[k2] = m[k]; +}); +var __setModuleDefault = commonjsGlobal && commonjsGlobal.__setModuleDefault || (Object.create ? function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +} : function(o, v) { + o["default"] = v; +}); +var __importStar = commonjsGlobal && commonjsGlobal.__importStar || function(mod) { + if (mod && mod.__esModule) + return mod; + var result = {}; + if (mod != null) { + for (var k in mod) + if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) + __createBinding(result, mod, k); + } + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(lib$4, "__esModule", { value: true }); +var ElementType = __importStar(lib$5); +var entities_1 = lib$3; +var foreignNames_1 = foreignNames; +var unencodedElements = new Set(["style", "script", "xmp", "iframe", "noembed", "noframes", "plaintext", "noscript"]); +function formatAttributes(attributes2, opts) { + if (!attributes2) + return; + return Object.keys(attributes2).map(function(key) { + var _a, _b; + var value = (_a = attributes2[key]) !== null && _a !== void 0 ? _a : ""; + if (opts.xmlMode === "foreign") { + key = (_b = foreignNames_1.attributeNames.get(key)) !== null && _b !== void 0 ? _b : key; + } + if (!opts.emptyAttrs && !opts.xmlMode && value === "") { + return key; + } + return key + '="' + (opts.decodeEntities !== false ? entities_1.encodeXML(value) : value.replace(/"/g, """)) + '"'; + }).join(" "); +} +var singleTag = new Set(["area", "base", "basefont", "br", "col", "command", "embed", "frame", "hr", "img", "input", "isindex", "keygen", "link", "meta", "param", "source", "track", "wbr"]); +function render(node2, options) { + if (options === void 0) { + options = {}; + } + var nodes = "length" in node2 ? node2 : [node2]; + var output = ""; + for (var i = 0; i < nodes.length; i++) { + output += renderNode(nodes[i], options); + } + return output; +} +lib$4.default = render; +function renderNode(node2, options) { + switch (node2.type) { + case ElementType.Root: + return render(node2.children, options); + case ElementType.Directive: + case ElementType.Doctype: + return renderDirective(node2); + case ElementType.Comment: + return renderComment(node2); + case ElementType.CDATA: + return renderCdata(node2); + case ElementType.Script: + case ElementType.Style: + case ElementType.Tag: + return renderTag(node2, options); + case ElementType.Text: + return renderText(node2, options); + } +} +var foreignModeIntegrationPoints = new Set(["mi", "mo", "mn", "ms", "mtext", "annotation-xml", "foreignObject", "desc", "title"]); +var foreignElements = new Set(["svg", "math"]); +function renderTag(elem, opts) { + var _a; + if (opts.xmlMode === "foreign") { + elem.name = (_a = foreignNames_1.elementNames.get(elem.name)) !== null && _a !== void 0 ? _a : elem.name; + if (elem.parent && foreignModeIntegrationPoints.has(elem.parent.name)) { + opts = __assign(__assign({}, opts), { xmlMode: false }); + } + } + if (!opts.xmlMode && foreignElements.has(elem.name)) { + opts = __assign(__assign({}, opts), { xmlMode: "foreign" }); + } + var tag = "<" + elem.name; + var attribs = formatAttributes(elem.attribs, opts); + if (attribs) { + tag += " " + attribs; + } + if (elem.children.length === 0 && (opts.xmlMode ? opts.selfClosingTags !== false : opts.selfClosingTags && singleTag.has(elem.name))) { + if (!opts.xmlMode) + tag += " "; + tag += "/>"; + } else { + tag += ">"; + if (elem.children.length > 0) { + tag += render(elem.children, opts); + } + if (opts.xmlMode || !singleTag.has(elem.name)) { + tag += ""; + } + } + return tag; +} +function renderDirective(elem) { + return "<" + elem.data + ">"; +} +function renderText(elem, opts) { + var data = elem.data || ""; + if (opts.decodeEntities !== false && !(!opts.xmlMode && elem.parent && unencodedElements.has(elem.parent.name))) { + data = entities_1.encodeXML(data); + } + return data; +} +function renderCdata(elem) { + return ""; +} +function renderComment(elem) { + return ""; +} +var __importDefault$1 = commonjsGlobal && commonjsGlobal.__importDefault || function(mod) { + return mod && mod.__esModule ? mod : { default: mod }; +}; +Object.defineProperty(stringify$2, "__esModule", { value: true }); +stringify$2.innerText = stringify$2.textContent = stringify$2.getText = stringify$2.getInnerHTML = stringify$2.getOuterHTML = void 0; +var domhandler_1$4 = lib$6; +var dom_serializer_1 = __importDefault$1(lib$4); +var domelementtype_1 = lib$5; +function getOuterHTML(node2, options) { + return (0, dom_serializer_1.default)(node2, options); +} +stringify$2.getOuterHTML = getOuterHTML; +function getInnerHTML(node2, options) { + return (0, domhandler_1$4.hasChildren)(node2) ? node2.children.map(function(node3) { + return getOuterHTML(node3, options); + }).join("") : ""; +} +stringify$2.getInnerHTML = getInnerHTML; +function getText$1(node2) { + if (Array.isArray(node2)) + return node2.map(getText$1).join(""); + if ((0, domhandler_1$4.isTag)(node2)) + return node2.name === "br" ? "\n" : getText$1(node2.children); + if ((0, domhandler_1$4.isCDATA)(node2)) + return getText$1(node2.children); + if ((0, domhandler_1$4.isText)(node2)) + return node2.data; + return ""; +} +stringify$2.getText = getText$1; +function textContent(node2) { + if (Array.isArray(node2)) + return node2.map(textContent).join(""); + if ((0, domhandler_1$4.hasChildren)(node2) && !(0, domhandler_1$4.isComment)(node2)) { + return textContent(node2.children); + } + if ((0, domhandler_1$4.isText)(node2)) + return node2.data; + return ""; +} +stringify$2.textContent = textContent; +function innerText(node2) { + if (Array.isArray(node2)) + return node2.map(innerText).join(""); + if ((0, domhandler_1$4.hasChildren)(node2) && (node2.type === domelementtype_1.ElementType.Tag || (0, domhandler_1$4.isCDATA)(node2))) { + return innerText(node2.children); + } + if ((0, domhandler_1$4.isText)(node2)) + return node2.data; + return ""; +} +stringify$2.innerText = innerText; +var traversal = {}; +Object.defineProperty(traversal, "__esModule", { value: true }); +traversal.prevElementSibling = traversal.nextElementSibling = traversal.getName = traversal.hasAttrib = traversal.getAttributeValue = traversal.getSiblings = traversal.getParent = traversal.getChildren = void 0; +var domhandler_1$3 = lib$6; +var emptyArray = []; +function getChildren$1(elem) { + var _a; + return (_a = elem.children) !== null && _a !== void 0 ? _a : emptyArray; +} +traversal.getChildren = getChildren$1; +function getParent$1(elem) { + return elem.parent || null; +} +traversal.getParent = getParent$1; +function getSiblings$1(elem) { + var _a, _b; + var parent = getParent$1(elem); + if (parent != null) + return getChildren$1(parent); + var siblings = [elem]; + var prev = elem.prev, next = elem.next; + while (prev != null) { + siblings.unshift(prev); + _a = prev, prev = _a.prev; + } + while (next != null) { + siblings.push(next); + _b = next, next = _b.next; + } + return siblings; +} +traversal.getSiblings = getSiblings$1; +function getAttributeValue$1(elem, name2) { + var _a; + return (_a = elem.attribs) === null || _a === void 0 ? void 0 : _a[name2]; +} +traversal.getAttributeValue = getAttributeValue$1; +function hasAttrib$1(elem, name2) { + return elem.attribs != null && Object.prototype.hasOwnProperty.call(elem.attribs, name2) && elem.attribs[name2] != null; +} +traversal.hasAttrib = hasAttrib$1; +function getName$1(elem) { + return elem.name; +} +traversal.getName = getName$1; +function nextElementSibling(elem) { + var _a; + var next = elem.next; + while (next !== null && !(0, domhandler_1$3.isTag)(next)) + _a = next, next = _a.next; + return next; +} +traversal.nextElementSibling = nextElementSibling; +function prevElementSibling(elem) { + var _a; + var prev = elem.prev; + while (prev !== null && !(0, domhandler_1$3.isTag)(prev)) + _a = prev, prev = _a.prev; + return prev; +} +traversal.prevElementSibling = prevElementSibling; +var manipulation = {}; +Object.defineProperty(manipulation, "__esModule", { value: true }); +manipulation.prepend = manipulation.prependChild = manipulation.append = manipulation.appendChild = manipulation.replaceElement = manipulation.removeElement = void 0; +function removeElement(elem) { + if (elem.prev) + elem.prev.next = elem.next; + if (elem.next) + elem.next.prev = elem.prev; + if (elem.parent) { + var childs = elem.parent.children; + childs.splice(childs.lastIndexOf(elem), 1); + } +} +manipulation.removeElement = removeElement; +function replaceElement(elem, replacement) { + var prev = replacement.prev = elem.prev; + if (prev) { + prev.next = replacement; + } + var next = replacement.next = elem.next; + if (next) { + next.prev = replacement; + } + var parent = replacement.parent = elem.parent; + if (parent) { + var childs = parent.children; + childs[childs.lastIndexOf(elem)] = replacement; + } +} +manipulation.replaceElement = replaceElement; +function appendChild(elem, child) { + removeElement(child); + child.next = null; + child.parent = elem; + if (elem.children.push(child) > 1) { + var sibling = elem.children[elem.children.length - 2]; + sibling.next = child; + child.prev = sibling; + } else { + child.prev = null; + } +} +manipulation.appendChild = appendChild; +function append(elem, next) { + removeElement(next); + var parent = elem.parent; + var currNext = elem.next; + next.next = currNext; + next.prev = elem; + elem.next = next; + next.parent = parent; + if (currNext) { + currNext.prev = next; + if (parent) { + var childs = parent.children; + childs.splice(childs.lastIndexOf(currNext), 0, next); + } + } else if (parent) { + parent.children.push(next); + } +} +manipulation.append = append; +function prependChild(elem, child) { + removeElement(child); + child.parent = elem; + child.prev = null; + if (elem.children.unshift(child) !== 1) { + var sibling = elem.children[1]; + sibling.prev = child; + child.next = sibling; + } else { + child.next = null; + } +} +manipulation.prependChild = prependChild; +function prepend(elem, prev) { + removeElement(prev); + var parent = elem.parent; + if (parent) { + var childs = parent.children; + childs.splice(childs.indexOf(elem), 0, prev); + } + if (elem.prev) { + elem.prev.next = prev; + } + prev.parent = parent; + prev.prev = elem.prev; + prev.next = elem; + elem.prev = prev; +} +manipulation.prepend = prepend; +var querying = {}; +Object.defineProperty(querying, "__esModule", { value: true }); +querying.findAll = querying.existsOne = querying.findOne = querying.findOneChild = querying.find = querying.filter = void 0; +var domhandler_1$2 = lib$6; +function filter(test, node2, recurse, limit) { + if (recurse === void 0) { + recurse = true; + } + if (limit === void 0) { + limit = Infinity; + } + if (!Array.isArray(node2)) + node2 = [node2]; + return find(test, node2, recurse, limit); +} +querying.filter = filter; +function find(test, nodes, recurse, limit) { + var result = []; + for (var _i = 0, nodes_1 = nodes; _i < nodes_1.length; _i++) { + var elem = nodes_1[_i]; + if (test(elem)) { + result.push(elem); + if (--limit <= 0) + break; + } + if (recurse && (0, domhandler_1$2.hasChildren)(elem) && elem.children.length > 0) { + var children = find(test, elem.children, recurse, limit); + result.push.apply(result, children); + limit -= children.length; + if (limit <= 0) + break; + } + } + return result; +} +querying.find = find; +function findOneChild(test, nodes) { + return nodes.find(test); +} +querying.findOneChild = findOneChild; +function findOne$1(test, nodes, recurse) { + if (recurse === void 0) { + recurse = true; + } + var elem = null; + for (var i = 0; i < nodes.length && !elem; i++) { + var checked = nodes[i]; + if (!(0, domhandler_1$2.isTag)(checked)) { + continue; + } else if (test(checked)) { + elem = checked; + } else if (recurse && checked.children.length > 0) { + elem = findOne$1(test, checked.children); + } + } + return elem; +} +querying.findOne = findOne$1; +function existsOne$1(test, nodes) { + return nodes.some(function(checked) { + return (0, domhandler_1$2.isTag)(checked) && (test(checked) || checked.children.length > 0 && existsOne$1(test, checked.children)); + }); +} +querying.existsOne = existsOne$1; +function findAll$1(test, nodes) { + var _a; + var result = []; + var stack = nodes.filter(domhandler_1$2.isTag); + var elem; + while (elem = stack.shift()) { + var children = (_a = elem.children) === null || _a === void 0 ? void 0 : _a.filter(domhandler_1$2.isTag); + if (children && children.length > 0) { + stack.unshift.apply(stack, children); + } + if (test(elem)) + result.push(elem); + } + return result; +} +querying.findAll = findAll$1; +var legacy = {}; +Object.defineProperty(legacy, "__esModule", { value: true }); +legacy.getElementsByTagType = legacy.getElementsByTagName = legacy.getElementById = legacy.getElements = legacy.testElement = void 0; +var domhandler_1$1 = lib$6; +var querying_1 = querying; +var Checks = { tag_name: function(name2) { + if (typeof name2 === "function") { + return function(elem) { + return (0, domhandler_1$1.isTag)(elem) && name2(elem.name); + }; + } else if (name2 === "*") { + return domhandler_1$1.isTag; + } + return function(elem) { + return (0, domhandler_1$1.isTag)(elem) && elem.name === name2; + }; +}, tag_type: function(type) { + if (typeof type === "function") { + return function(elem) { + return type(elem.type); + }; + } + return function(elem) { + return elem.type === type; + }; +}, tag_contains: function(data) { + if (typeof data === "function") { + return function(elem) { + return (0, domhandler_1$1.isText)(elem) && data(elem.data); + }; + } + return function(elem) { + return (0, domhandler_1$1.isText)(elem) && elem.data === data; + }; +} }; +function getAttribCheck(attrib, value) { + if (typeof value === "function") { + return function(elem) { + return (0, domhandler_1$1.isTag)(elem) && value(elem.attribs[attrib]); + }; + } + return function(elem) { + return (0, domhandler_1$1.isTag)(elem) && elem.attribs[attrib] === value; + }; +} +function combineFuncs(a, b) { + return function(elem) { + return a(elem) || b(elem); + }; +} +function compileTest(options) { + var funcs = Object.keys(options).map(function(key) { + var value = options[key]; + return Object.prototype.hasOwnProperty.call(Checks, key) ? Checks[key](value) : getAttribCheck(key, value); + }); + return funcs.length === 0 ? null : funcs.reduce(combineFuncs); +} +function testElement(options, node2) { + var test = compileTest(options); + return test ? test(node2) : true; +} +legacy.testElement = testElement; +function getElements(options, nodes, recurse, limit) { + if (limit === void 0) { + limit = Infinity; + } + var test = compileTest(options); + return test ? (0, querying_1.filter)(test, nodes, recurse, limit) : []; +} +legacy.getElements = getElements; +function getElementById(id, nodes, recurse) { + if (recurse === void 0) { + recurse = true; + } + if (!Array.isArray(nodes)) + nodes = [nodes]; + return (0, querying_1.findOne)(getAttribCheck("id", id), nodes, recurse); +} +legacy.getElementById = getElementById; +function getElementsByTagName(tagName, nodes, recurse, limit) { + if (recurse === void 0) { + recurse = true; + } + if (limit === void 0) { + limit = Infinity; + } + return (0, querying_1.filter)(Checks.tag_name(tagName), nodes, recurse, limit); +} +legacy.getElementsByTagName = getElementsByTagName; +function getElementsByTagType(type, nodes, recurse, limit) { + if (recurse === void 0) { + recurse = true; + } + if (limit === void 0) { + limit = Infinity; + } + return (0, querying_1.filter)(Checks.tag_type(type), nodes, recurse, limit); +} +legacy.getElementsByTagType = getElementsByTagType; +var helpers = {}; +Object.defineProperty(helpers, "__esModule", { value: true }); +helpers.uniqueSort = helpers.compareDocumentPosition = helpers.removeSubsets = void 0; +var domhandler_1 = lib$6; +function removeSubsets$1(nodes) { + var idx = nodes.length; + while (--idx >= 0) { + var node2 = nodes[idx]; + if (idx > 0 && nodes.lastIndexOf(node2, idx - 1) >= 0) { + nodes.splice(idx, 1); + continue; + } + for (var ancestor = node2.parent; ancestor; ancestor = ancestor.parent) { + if (nodes.includes(ancestor)) { + nodes.splice(idx, 1); + break; + } + } + } + return nodes; +} +helpers.removeSubsets = removeSubsets$1; +function compareDocumentPosition(nodeA, nodeB) { + var aParents = []; + var bParents = []; + if (nodeA === nodeB) { + return 0; + } + var current = (0, domhandler_1.hasChildren)(nodeA) ? nodeA : nodeA.parent; + while (current) { + aParents.unshift(current); + current = current.parent; + } + current = (0, domhandler_1.hasChildren)(nodeB) ? nodeB : nodeB.parent; + while (current) { + bParents.unshift(current); + current = current.parent; + } + var maxIdx = Math.min(aParents.length, bParents.length); + var idx = 0; + while (idx < maxIdx && aParents[idx] === bParents[idx]) { + idx++; + } + if (idx === 0) { + return 1; + } + var sharedParent = aParents[idx - 1]; + var siblings = sharedParent.children; + var aSibling = aParents[idx]; + var bSibling = bParents[idx]; + if (siblings.indexOf(aSibling) > siblings.indexOf(bSibling)) { + if (sharedParent === nodeB) { + return 4 | 16; + } + return 4; + } + if (sharedParent === nodeA) { + return 2 | 8; + } + return 2; +} +helpers.compareDocumentPosition = compareDocumentPosition; +function uniqueSort(nodes) { + nodes = nodes.filter(function(node2, i, arr) { + return !arr.includes(node2, i + 1); + }); + nodes.sort(function(a, b) { + var relative = compareDocumentPosition(a, b); + if (relative & 2) { + return -1; + } else if (relative & 4) { + return 1; + } + return 0; + }); + return nodes; +} +helpers.uniqueSort = uniqueSort; +var feeds = {}; +Object.defineProperty(feeds, "__esModule", { value: true }); +feeds.getFeed = void 0; +var stringify_1 = stringify$2; +var legacy_1 = legacy; +function getFeed(doc) { + var feedRoot = getOneElement(isValidFeed, doc); + return !feedRoot ? null : feedRoot.name === "feed" ? getAtomFeed(feedRoot) : getRssFeed(feedRoot); +} +feeds.getFeed = getFeed; +function getAtomFeed(feedRoot) { + var _a; + var childs = feedRoot.children; + var feed = { type: "atom", items: (0, legacy_1.getElementsByTagName)("entry", childs).map(function(item) { + var _a2; + var children = item.children; + var entry = { media: getMediaElements(children) }; + addConditionally(entry, "id", "id", children); + addConditionally(entry, "title", "title", children); + var href2 = (_a2 = getOneElement("link", children)) === null || _a2 === void 0 ? void 0 : _a2.attribs.href; + if (href2) { + entry.link = href2; + } + var description2 = fetch2("summary", children) || fetch2("content", children); + if (description2) { + entry.description = description2; + } + var pubDate = fetch2("updated", children); + if (pubDate) { + entry.pubDate = new Date(pubDate); + } + return entry; + }) }; + addConditionally(feed, "id", "id", childs); + addConditionally(feed, "title", "title", childs); + var href = (_a = getOneElement("link", childs)) === null || _a === void 0 ? void 0 : _a.attribs.href; + if (href) { + feed.link = href; + } + addConditionally(feed, "description", "subtitle", childs); + var updated = fetch2("updated", childs); + if (updated) { + feed.updated = new Date(updated); + } + addConditionally(feed, "author", "email", childs, true); + return feed; +} +function getRssFeed(feedRoot) { + var _a, _b; + var childs = (_b = (_a = getOneElement("channel", feedRoot.children)) === null || _a === void 0 ? void 0 : _a.children) !== null && _b !== void 0 ? _b : []; + var feed = { type: feedRoot.name.substr(0, 3), id: "", items: (0, legacy_1.getElementsByTagName)("item", feedRoot.children).map(function(item) { + var children = item.children; + var entry = { media: getMediaElements(children) }; + addConditionally(entry, "id", "guid", children); + addConditionally(entry, "title", "title", children); + addConditionally(entry, "link", "link", children); + addConditionally(entry, "description", "description", children); + var pubDate = fetch2("pubDate", children); + if (pubDate) + entry.pubDate = new Date(pubDate); + return entry; + }) }; + addConditionally(feed, "title", "title", childs); + addConditionally(feed, "link", "link", childs); + addConditionally(feed, "description", "description", childs); + var updated = fetch2("lastBuildDate", childs); + if (updated) { + feed.updated = new Date(updated); + } + addConditionally(feed, "author", "managingEditor", childs, true); + return feed; +} +var MEDIA_KEYS_STRING = ["url", "type", "lang"]; +var MEDIA_KEYS_INT = ["fileSize", "bitrate", "framerate", "samplingrate", "channels", "duration", "height", "width"]; +function getMediaElements(where) { + return (0, legacy_1.getElementsByTagName)("media:content", where).map(function(elem) { + var attribs = elem.attribs; + var media = { medium: attribs.medium, isDefault: !!attribs.isDefault }; + for (var _i = 0, MEDIA_KEYS_STRING_1 = MEDIA_KEYS_STRING; _i < MEDIA_KEYS_STRING_1.length; _i++) { + var attrib = MEDIA_KEYS_STRING_1[_i]; + if (attribs[attrib]) { + media[attrib] = attribs[attrib]; + } + } + for (var _a = 0, MEDIA_KEYS_INT_1 = MEDIA_KEYS_INT; _a < MEDIA_KEYS_INT_1.length; _a++) { + var attrib = MEDIA_KEYS_INT_1[_a]; + if (attribs[attrib]) { + media[attrib] = parseInt(attribs[attrib], 10); + } + } + if (attribs.expression) { + media.expression = attribs.expression; + } + return media; + }); +} +function getOneElement(tagName, node2) { + return (0, legacy_1.getElementsByTagName)(tagName, node2, true, 1)[0]; +} +function fetch2(tagName, where, recurse) { + if (recurse === void 0) { + recurse = false; + } + return (0, stringify_1.textContent)((0, legacy_1.getElementsByTagName)(tagName, where, recurse, 1)).trim(); +} +function addConditionally(obj, prop2, tagName, where, recurse) { + if (recurse === void 0) { + recurse = false; + } + var val = fetch2(tagName, where, recurse); + if (val) + obj[prop2] = val; +} +function isValidFeed(value) { + return value === "rss" || value === "feed" || value === "rdf:RDF"; +} +(function(exports) { + var __createBinding2 = commonjsGlobal && commonjsGlobal.__createBinding || (Object.create ? function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { + return m[k]; + } }); + } : function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + o[k2] = m[k]; + }); + var __exportStar = commonjsGlobal && commonjsGlobal.__exportStar || function(m, exports2) { + for (var p in m) + if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p)) + __createBinding2(exports2, m, p); + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.hasChildren = exports.isDocument = exports.isComment = exports.isText = exports.isCDATA = exports.isTag = void 0; + __exportStar(stringify$2, exports); + __exportStar(traversal, exports); + __exportStar(manipulation, exports); + __exportStar(querying, exports); + __exportStar(legacy, exports); + __exportStar(helpers, exports); + __exportStar(feeds, exports); + var domhandler_12 = lib$6; + Object.defineProperty(exports, "isTag", { enumerable: true, get: function() { + return domhandler_12.isTag; + } }); + Object.defineProperty(exports, "isCDATA", { enumerable: true, get: function() { + return domhandler_12.isCDATA; + } }); + Object.defineProperty(exports, "isText", { enumerable: true, get: function() { + return domhandler_12.isText; + } }); + Object.defineProperty(exports, "isComment", { enumerable: true, get: function() { + return domhandler_12.isComment; + } }); + Object.defineProperty(exports, "isDocument", { enumerable: true, get: function() { + return domhandler_12.isDocument; + } }); + Object.defineProperty(exports, "hasChildren", { enumerable: true, get: function() { + return domhandler_12.hasChildren; + } }); +})(lib$7); +var boolbase = { trueFunc: function trueFunc() { + return true; +}, falseFunc: function falseFunc() { + return false; +} }; +var compile$3 = {}; +var lib$2 = {}; +var parse$4 = {}; +var __spreadArray$1 = commonjsGlobal && commonjsGlobal.__spreadArray || function(to, from) { + for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) + to[j] = from[i]; + return to; +}; +Object.defineProperty(parse$4, "__esModule", { value: true }); +parse$4.isTraversal = void 0; +var reName = /^[^\\#]?(?:\\(?:[\da-f]{1,6}\s?|.)|[\w\-\u00b0-\uFFFF])+/; +var reEscape = /\\([\da-f]{1,6}\s?|(\s)|.)/gi; +var actionTypes$1 = new Map([["~", "element"], ["^", "start"], ["$", "end"], ["*", "any"], ["!", "not"], ["|", "hyphen"]]); +var Traversals = { ">": "child", "<": "parent", "~": "sibling", "+": "adjacent" }; +var attribSelectors = { "#": ["id", "equals"], ".": ["class", "element"] }; +var unpackPseudos = new Set(["has", "not", "matches", "is", "host", "host-context"]); +var traversalNames = new Set(__spreadArray$1(["descendant"], Object.keys(Traversals).map(function(k) { + return Traversals[k]; +}))); +var caseInsensitiveAttributes = new Set(["accept", "accept-charset", "align", "alink", "axis", "bgcolor", "charset", "checked", "clear", "codetype", "color", "compact", "declare", "defer", "dir", "direction", "disabled", "enctype", "face", "frame", "hreflang", "http-equiv", "lang", "language", "link", "media", "method", "multiple", "nohref", "noresize", "noshade", "nowrap", "readonly", "rel", "rev", "rules", "scope", "scrolling", "selected", "shape", "target", "text", "type", "valign", "valuetype", "vlink"]); +function isTraversal(selector) { + return traversalNames.has(selector.type); +} +parse$4.isTraversal = isTraversal; +var stripQuotesFromPseudos = new Set(["contains", "icontains"]); +var quotes = new Set(['"', "'"]); +function funescape(_, escaped, escapedWhitespace) { + var high = parseInt(escaped, 16) - 65536; + return high !== high || escapedWhitespace ? escaped : high < 0 ? String.fromCharCode(high + 65536) : String.fromCharCode(high >> 10 | 55296, high & 1023 | 56320); +} +function unescapeCSS(str) { + return str.replace(reEscape, funescape); +} +function isWhitespace(c) { + return c === " " || c === "\n" || c === " " || c === "\f" || c === "\r"; +} +function parse$3(selector, options) { + var subselects2 = []; + var endIndex = parseSelector(subselects2, "" + selector, options, 0); + if (endIndex < selector.length) { + throw new Error("Unmatched selector: " + selector.slice(endIndex)); + } + return subselects2; +} +parse$4.default = parse$3; +function parseSelector(subselects2, selector, options, selectorIndex) { + var _a, _b; + if (options === void 0) { + options = {}; + } + var tokens = []; + var sawWS = false; + function getName2(offset) { + var match = selector.slice(selectorIndex + offset).match(reName); + if (!match) { + throw new Error("Expected name, found " + selector.slice(selectorIndex)); + } + var name2 = match[0]; + selectorIndex += offset + name2.length; + return unescapeCSS(name2); + } + function stripWhitespace(offset) { + while (isWhitespace(selector.charAt(selectorIndex + offset))) + offset++; + selectorIndex += offset; + } + function isEscaped(pos) { + var slashCount = 0; + while (selector.charAt(--pos) === "\\") + slashCount++; + return (slashCount & 1) === 1; + } + function ensureNotTraversal() { + if (tokens.length > 0 && isTraversal(tokens[tokens.length - 1])) { + throw new Error("Did not expect successive traversals."); + } + } + stripWhitespace(0); + while (selector !== "") { + var firstChar = selector.charAt(selectorIndex); + if (isWhitespace(firstChar)) { + sawWS = true; + stripWhitespace(1); + } else if (firstChar in Traversals) { + ensureNotTraversal(); + tokens.push({ type: Traversals[firstChar] }); + sawWS = false; + stripWhitespace(1); + } else if (firstChar === ",") { + if (tokens.length === 0) { + throw new Error("Empty sub-selector"); + } + subselects2.push(tokens); + tokens = []; + sawWS = false; + stripWhitespace(1); + } else if (selector.startsWith("/*", selectorIndex)) { + var endIndex = selector.indexOf("*/", selectorIndex + 2); + if (endIndex < 0) { + throw new Error("Comment was not terminated"); + } + selectorIndex = endIndex + 2; + } else { + if (sawWS) { + ensureNotTraversal(); + tokens.push({ type: "descendant" }); + sawWS = false; + } + if (firstChar in attribSelectors) { + var _c = attribSelectors[firstChar], name_1 = _c[0], action = _c[1]; + tokens.push({ type: "attribute", name: name_1, action, value: getName2(1), namespace: null, ignoreCase: options.xmlMode ? null : false }); + } else if (firstChar === "[") { + stripWhitespace(1); + var name_2 = void 0; + var namespace = null; + if (selector.charAt(selectorIndex) === "|") { + namespace = ""; + selectorIndex += 1; + } + if (selector.startsWith("*|", selectorIndex)) { + namespace = "*"; + selectorIndex += 2; + } + name_2 = getName2(0); + if (namespace === null && selector.charAt(selectorIndex) === "|" && selector.charAt(selectorIndex + 1) !== "=") { + namespace = name_2; + name_2 = getName2(1); + } + if ((_a = options.lowerCaseAttributeNames) !== null && _a !== void 0 ? _a : !options.xmlMode) { + name_2 = name_2.toLowerCase(); + } + stripWhitespace(0); + var action = "exists"; + var possibleAction = actionTypes$1.get(selector.charAt(selectorIndex)); + if (possibleAction) { + action = possibleAction; + if (selector.charAt(selectorIndex + 1) !== "=") { + throw new Error("Expected `=`"); + } + stripWhitespace(2); + } else if (selector.charAt(selectorIndex) === "=") { + action = "equals"; + stripWhitespace(1); + } + var value = ""; + var ignoreCase = null; + if (action !== "exists") { + if (quotes.has(selector.charAt(selectorIndex))) { + var quote = selector.charAt(selectorIndex); + var sectionEnd = selectorIndex + 1; + while (sectionEnd < selector.length && (selector.charAt(sectionEnd) !== quote || isEscaped(sectionEnd))) { + sectionEnd += 1; + } + if (selector.charAt(sectionEnd) !== quote) { + throw new Error("Attribute value didn't end"); + } + value = unescapeCSS(selector.slice(selectorIndex + 1, sectionEnd)); + selectorIndex = sectionEnd + 1; + } else { + var valueStart = selectorIndex; + while (selectorIndex < selector.length && (!isWhitespace(selector.charAt(selectorIndex)) && selector.charAt(selectorIndex) !== "]" || isEscaped(selectorIndex))) { + selectorIndex += 1; + } + value = unescapeCSS(selector.slice(valueStart, selectorIndex)); + } + stripWhitespace(0); + var forceIgnore = selector.charAt(selectorIndex); + if (forceIgnore === "s" || forceIgnore === "S") { + ignoreCase = false; + stripWhitespace(1); + } else if (forceIgnore === "i" || forceIgnore === "I") { + ignoreCase = true; + stripWhitespace(1); + } + } + if (!options.xmlMode) { + ignoreCase !== null && ignoreCase !== void 0 ? ignoreCase : ignoreCase = caseInsensitiveAttributes.has(name_2); + } + if (selector.charAt(selectorIndex) !== "]") { + throw new Error("Attribute selector didn't terminate"); + } + selectorIndex += 1; + var attributeSelector = { type: "attribute", name: name_2, action, value, namespace, ignoreCase }; + tokens.push(attributeSelector); + } else if (firstChar === ":") { + if (selector.charAt(selectorIndex + 1) === ":") { + tokens.push({ type: "pseudo-element", name: getName2(2).toLowerCase() }); + continue; + } + var name_3 = getName2(1).toLowerCase(); + var data = null; + if (selector.charAt(selectorIndex) === "(") { + if (unpackPseudos.has(name_3)) { + if (quotes.has(selector.charAt(selectorIndex + 1))) { + throw new Error("Pseudo-selector " + name_3 + " cannot be quoted"); + } + data = []; + selectorIndex = parseSelector(data, selector, options, selectorIndex + 1); + if (selector.charAt(selectorIndex) !== ")") { + throw new Error("Missing closing parenthesis in :" + name_3 + " (" + selector + ")"); + } + selectorIndex += 1; + } else { + selectorIndex += 1; + var start = selectorIndex; + var counter = 1; + for (; counter > 0 && selectorIndex < selector.length; selectorIndex++) { + if (selector.charAt(selectorIndex) === "(" && !isEscaped(selectorIndex)) { + counter++; + } else if (selector.charAt(selectorIndex) === ")" && !isEscaped(selectorIndex)) { + counter--; + } + } + if (counter) { + throw new Error("Parenthesis not matched"); + } + data = selector.slice(start, selectorIndex - 1); + if (stripQuotesFromPseudos.has(name_3)) { + var quot2 = data.charAt(0); + if (quot2 === data.slice(-1) && quotes.has(quot2)) { + data = data.slice(1, -1); + } + data = unescapeCSS(data); + } + } + } + tokens.push({ type: "pseudo", name: name_3, data }); + } else { + var namespace = null; + var name_4 = void 0; + if (firstChar === "*") { + selectorIndex += 1; + name_4 = "*"; + } else if (reName.test(selector.slice(selectorIndex))) { + if (selector.charAt(selectorIndex) === "|") { + namespace = ""; + selectorIndex += 1; + } + name_4 = getName2(0); + } else { + if (tokens.length && tokens[tokens.length - 1].type === "descendant") { + tokens.pop(); + } + addToken(subselects2, tokens); + return selectorIndex; + } + if (selector.charAt(selectorIndex) === "|") { + namespace = name_4; + if (selector.charAt(selectorIndex + 1) === "*") { + name_4 = "*"; + selectorIndex += 2; + } else { + name_4 = getName2(1); + } + } + if (name_4 === "*") { + tokens.push({ type: "universal", namespace }); + } else { + if ((_b = options.lowerCaseTags) !== null && _b !== void 0 ? _b : !options.xmlMode) { + name_4 = name_4.toLowerCase(); + } + tokens.push({ type: "tag", name: name_4, namespace }); + } + } + } + } + addToken(subselects2, tokens); + return selectorIndex; +} +function addToken(subselects2, tokens) { + if (subselects2.length > 0 && tokens.length === 0) { + throw new Error("Empty sub-selector"); + } + subselects2.push(tokens); +} +var stringify$1 = {}; +var __spreadArray = commonjsGlobal && commonjsGlobal.__spreadArray || function(to, from) { + for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) + to[j] = from[i]; + return to; +}; +Object.defineProperty(stringify$1, "__esModule", { value: true }); +var actionTypes = { equals: "", element: "~", start: "^", end: "$", any: "*", not: "!", hyphen: "|" }; +var charsToEscape = new Set(__spreadArray(__spreadArray([], Object.keys(actionTypes).map(function(typeKey) { + return actionTypes[typeKey]; +}).filter(Boolean)), [":", "[", "]", " ", "\\", "(", ")", "'"])); +function stringify(selector) { + return selector.map(stringifySubselector).join(", "); +} +stringify$1.default = stringify; +function stringifySubselector(token) { + return token.map(stringifyToken).join(""); +} +function stringifyToken(token) { + switch (token.type) { + case "child": + return " > "; + case "parent": + return " < "; + case "sibling": + return " ~ "; + case "adjacent": + return " + "; + case "descendant": + return " "; + case "universal": + return getNamespace(token.namespace) + "*"; + case "tag": + return getNamespacedName(token); + case "pseudo-element": + return "::" + escapeName(token.name); + case "pseudo": + if (token.data === null) + return ":" + escapeName(token.name); + if (typeof token.data === "string") { + return ":" + escapeName(token.name) + "(" + escapeName(token.data) + ")"; + } + return ":" + escapeName(token.name) + "(" + stringify(token.data) + ")"; + case "attribute": { + if (token.name === "id" && token.action === "equals" && !token.ignoreCase && !token.namespace) { + return "#" + escapeName(token.value); + } + if (token.name === "class" && token.action === "element" && !token.ignoreCase && !token.namespace) { + return "." + escapeName(token.value); + } + var name_1 = getNamespacedName(token); + if (token.action === "exists") { + return "[" + name_1 + "]"; + } + return "[" + name_1 + actionTypes[token.action] + "='" + escapeName(token.value) + "'" + (token.ignoreCase ? "i" : token.ignoreCase === false ? "s" : "") + "]"; + } + } +} +function getNamespacedName(token) { + return "" + getNamespace(token.namespace) + escapeName(token.name); +} +function getNamespace(namespace) { + return namespace !== null ? (namespace === "*" ? "*" : escapeName(namespace)) + "|" : ""; +} +function escapeName(str) { + return str.split("").map(function(c) { + return charsToEscape.has(c) ? "\\" + c : c; + }).join(""); +} +(function(exports) { + var __createBinding2 = commonjsGlobal && commonjsGlobal.__createBinding || (Object.create ? function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { + return m[k]; + } }); + } : function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + o[k2] = m[k]; + }); + var __exportStar = commonjsGlobal && commonjsGlobal.__exportStar || function(m, exports2) { + for (var p in m) + if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p)) + __createBinding2(exports2, m, p); + }; + var __importDefault2 = commonjsGlobal && commonjsGlobal.__importDefault || function(mod) { + return mod && mod.__esModule ? mod : { default: mod }; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.stringify = exports.parse = void 0; + __exportStar(parse$4, exports); + var parse_1 = parse$4; + Object.defineProperty(exports, "parse", { enumerable: true, get: function() { + return __importDefault2(parse_1).default; + } }); + var stringify_12 = stringify$1; + Object.defineProperty(exports, "stringify", { enumerable: true, get: function() { + return __importDefault2(stringify_12).default; + } }); +})(lib$2); +var sort = {}; +var procedure = {}; +(function(exports) { + Object.defineProperty(exports, "__esModule", { value: true }); + exports.isTraversal = exports.procedure = void 0; + exports.procedure = { universal: 50, tag: 30, attribute: 1, pseudo: 0, "pseudo-element": 0, descendant: -1, child: -1, parent: -1, sibling: -1, adjacent: -1, _flexibleDescendant: -1 }; + function isTraversal2(t) { + return exports.procedure[t.type] < 0; + } + exports.isTraversal = isTraversal2; +})(procedure); +Object.defineProperty(sort, "__esModule", { value: true }); +var procedure_1$1 = procedure; +var attributes$1 = { exists: 10, equals: 8, not: 7, start: 6, end: 6, any: 5, hyphen: 4, element: 4 }; +function sortByProcedure(arr) { + var procs = arr.map(getProcedure); + for (var i = 1; i < arr.length; i++) { + var procNew = procs[i]; + if (procNew < 0) + continue; + for (var j = i - 1; j >= 0 && procNew < procs[j]; j--) { + var token = arr[j + 1]; + arr[j + 1] = arr[j]; + arr[j] = token; + procs[j + 1] = procs[j]; + procs[j] = procNew; + } + } +} +sort.default = sortByProcedure; +function getProcedure(token) { + var proc = procedure_1$1.procedure[token.type]; + if (token.type === "attribute") { + proc = attributes$1[token.action]; + if (proc === attributes$1.equals && token.name === "id") { + proc = 9; + } + if (token.ignoreCase) { + proc >>= 1; + } + } else if (token.type === "pseudo") { + if (!token.data) { + proc = 3; + } else if (token.name === "has" || token.name === "contains") { + proc = 0; + } else if (Array.isArray(token.data)) { + proc = 0; + for (var i = 0; i < token.data.length; i++) { + if (token.data[i].length !== 1) + continue; + var cur = getProcedure(token.data[i][0]); + if (cur === 0) { + proc = 0; + break; + } + if (cur > proc) + proc = cur; + } + if (token.data.length > 1 && proc > 0) + proc -= 1; + } else { + proc = 1; + } + } + return proc; +} +var general = {}; +var attributes = {}; +Object.defineProperty(attributes, "__esModule", { value: true }); +attributes.attributeRules = void 0; +var boolbase_1$2 = boolbase; +var reChars = /[-[\]{}()*+?.,\\^$|#\s]/g; +function escapeRegex(value) { + return value.replace(reChars, "\\$&"); +} +attributes.attributeRules = { equals: function(next, data, _a) { + var adapter = _a.adapter; + var name2 = data.name; + var value = data.value; + if (data.ignoreCase) { + value = value.toLowerCase(); + return function(elem) { + var attr = adapter.getAttributeValue(elem, name2); + return attr != null && attr.length === value.length && attr.toLowerCase() === value && next(elem); + }; + } + return function(elem) { + return adapter.getAttributeValue(elem, name2) === value && next(elem); + }; +}, hyphen: function(next, data, _a) { + var adapter = _a.adapter; + var name2 = data.name; + var value = data.value; + var len = value.length; + if (data.ignoreCase) { + value = value.toLowerCase(); + return function hyphenIC(elem) { + var attr = adapter.getAttributeValue(elem, name2); + return attr != null && (attr.length === len || attr.charAt(len) === "-") && attr.substr(0, len).toLowerCase() === value && next(elem); + }; + } + return function hyphen2(elem) { + var attr = adapter.getAttributeValue(elem, name2); + return attr != null && (attr.length === len || attr.charAt(len) === "-") && attr.substr(0, len) === value && next(elem); + }; +}, element: function(next, _a, _b) { + var name2 = _a.name, value = _a.value, ignoreCase = _a.ignoreCase; + var adapter = _b.adapter; + if (/\s/.test(value)) { + return boolbase_1$2.falseFunc; + } + var regex = new RegExp("(?:^|\\s)" + escapeRegex(value) + "(?:$|\\s)", ignoreCase ? "i" : ""); + return function element(elem) { + var attr = adapter.getAttributeValue(elem, name2); + return attr != null && attr.length >= value.length && regex.test(attr) && next(elem); + }; +}, exists: function(next, _a, _b) { + var name2 = _a.name; + var adapter = _b.adapter; + return function(elem) { + return adapter.hasAttrib(elem, name2) && next(elem); + }; +}, start: function(next, data, _a) { + var adapter = _a.adapter; + var name2 = data.name; + var value = data.value; + var len = value.length; + if (len === 0) { + return boolbase_1$2.falseFunc; + } + if (data.ignoreCase) { + value = value.toLowerCase(); + return function(elem) { + var attr = adapter.getAttributeValue(elem, name2); + return attr != null && attr.length >= len && attr.substr(0, len).toLowerCase() === value && next(elem); + }; + } + return function(elem) { + var _a2; + return !!((_a2 = adapter.getAttributeValue(elem, name2)) === null || _a2 === void 0 ? void 0 : _a2.startsWith(value)) && next(elem); + }; +}, end: function(next, data, _a) { + var adapter = _a.adapter; + var name2 = data.name; + var value = data.value; + var len = -value.length; + if (len === 0) { + return boolbase_1$2.falseFunc; + } + if (data.ignoreCase) { + value = value.toLowerCase(); + return function(elem) { + var _a2; + return ((_a2 = adapter.getAttributeValue(elem, name2)) === null || _a2 === void 0 ? void 0 : _a2.substr(len).toLowerCase()) === value && next(elem); + }; + } + return function(elem) { + var _a2; + return !!((_a2 = adapter.getAttributeValue(elem, name2)) === null || _a2 === void 0 ? void 0 : _a2.endsWith(value)) && next(elem); + }; +}, any: function(next, data, _a) { + var adapter = _a.adapter; + var name2 = data.name, value = data.value; + if (value === "") { + return boolbase_1$2.falseFunc; + } + if (data.ignoreCase) { + var regex_1 = new RegExp(escapeRegex(value), "i"); + return function anyIC(elem) { + var attr = adapter.getAttributeValue(elem, name2); + return attr != null && attr.length >= value.length && regex_1.test(attr) && next(elem); + }; + } + return function(elem) { + var _a2; + return !!((_a2 = adapter.getAttributeValue(elem, name2)) === null || _a2 === void 0 ? void 0 : _a2.includes(value)) && next(elem); + }; +}, not: function(next, data, _a) { + var adapter = _a.adapter; + var name2 = data.name; + var value = data.value; + if (value === "") { + return function(elem) { + return !!adapter.getAttributeValue(elem, name2) && next(elem); + }; + } else if (data.ignoreCase) { + value = value.toLowerCase(); + return function(elem) { + var attr = adapter.getAttributeValue(elem, name2); + return (attr == null || attr.length !== value.length || attr.toLowerCase() !== value) && next(elem); + }; + } + return function(elem) { + return adapter.getAttributeValue(elem, name2) !== value && next(elem); + }; +} }; +var pseudoSelectors = {}; +var filters$1 = {}; +var lib$1 = {}; +var parse$2 = {}; +Object.defineProperty(parse$2, "__esModule", { value: true }); +parse$2.parse = void 0; +var RE_NTH_ELEMENT = /^([+-]?\d*n)?\s*(?:([+-]?)\s*(\d+))?$/; +function parse$1(formula) { + formula = formula.trim().toLowerCase(); + if (formula === "even") { + return [2, 0]; + } else if (formula === "odd") { + return [2, 1]; + } + var parsed = formula.match(RE_NTH_ELEMENT); + if (!parsed) { + throw new Error("n-th rule couldn't be parsed ('" + formula + "')"); + } + var a; + if (parsed[1]) { + a = parseInt(parsed[1], 10); + if (isNaN(a)) { + a = parsed[1].startsWith("-") ? -1 : 1; + } + } else + a = 0; + var b = (parsed[2] === "-" ? -1 : 1) * (parsed[3] ? parseInt(parsed[3], 10) : 0); + return [a, b]; +} +parse$2.parse = parse$1; +var compile$2 = {}; +Object.defineProperty(compile$2, "__esModule", { value: true }); +compile$2.compile = void 0; +var boolbase_1$1 = boolbase; +function compile$1(parsed) { + var a = parsed[0]; + var b = parsed[1] - 1; + if (b < 0 && a <= 0) + return boolbase_1$1.falseFunc; + if (a === -1) + return function(index) { + return index <= b; + }; + if (a === 0) + return function(index) { + return index === b; + }; + if (a === 1) + return b < 0 ? boolbase_1$1.trueFunc : function(index) { + return index >= b; + }; + var absA = Math.abs(a); + var bMod = (b % absA + absA) % absA; + return a > 1 ? function(index) { + return index >= b && index % absA === bMod; + } : function(index) { + return index <= b && index % absA === bMod; + }; +} +compile$2.compile = compile$1; +(function(exports) { + Object.defineProperty(exports, "__esModule", { value: true }); + exports.compile = exports.parse = void 0; + var parse_1 = parse$2; + Object.defineProperty(exports, "parse", { enumerable: true, get: function() { + return parse_1.parse; + } }); + var compile_1 = compile$2; + Object.defineProperty(exports, "compile", { enumerable: true, get: function() { + return compile_1.compile; + } }); + function nthCheck(formula) { + return compile_1.compile(parse_1.parse(formula)); + } + exports.default = nthCheck; +})(lib$1); +(function(exports) { + var __importDefault2 = commonjsGlobal && commonjsGlobal.__importDefault || function(mod) { + return mod && mod.__esModule ? mod : { default: mod }; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.filters = void 0; + var nth_check_1 = __importDefault2(lib$1); + var boolbase_12 = boolbase; + function getChildFunc(next, adapter) { + return function(elem) { + var parent = adapter.getParent(elem); + return parent != null && adapter.isTag(parent) && next(elem); + }; + } + exports.filters = { contains: function(next, text, _a) { + var adapter = _a.adapter; + return function contains(elem) { + return next(elem) && adapter.getText(elem).includes(text); + }; + }, icontains: function(next, text, _a) { + var adapter = _a.adapter; + var itext = text.toLowerCase(); + return function icontains(elem) { + return next(elem) && adapter.getText(elem).toLowerCase().includes(itext); + }; + }, "nth-child": function(next, rule, _a) { + var adapter = _a.adapter, equals2 = _a.equals; + var func = nth_check_1.default(rule); + if (func === boolbase_12.falseFunc) + return boolbase_12.falseFunc; + if (func === boolbase_12.trueFunc) + return getChildFunc(next, adapter); + return function nthChild(elem) { + var siblings = adapter.getSiblings(elem); + var pos = 0; + for (var i = 0; i < siblings.length; i++) { + if (equals2(elem, siblings[i])) + break; + if (adapter.isTag(siblings[i])) { + pos++; + } + } + return func(pos) && next(elem); + }; + }, "nth-last-child": function(next, rule, _a) { + var adapter = _a.adapter, equals2 = _a.equals; + var func = nth_check_1.default(rule); + if (func === boolbase_12.falseFunc) + return boolbase_12.falseFunc; + if (func === boolbase_12.trueFunc) + return getChildFunc(next, adapter); + return function nthLastChild(elem) { + var siblings = adapter.getSiblings(elem); + var pos = 0; + for (var i = siblings.length - 1; i >= 0; i--) { + if (equals2(elem, siblings[i])) + break; + if (adapter.isTag(siblings[i])) { + pos++; + } + } + return func(pos) && next(elem); + }; + }, "nth-of-type": function(next, rule, _a) { + var adapter = _a.adapter, equals2 = _a.equals; + var func = nth_check_1.default(rule); + if (func === boolbase_12.falseFunc) + return boolbase_12.falseFunc; + if (func === boolbase_12.trueFunc) + return getChildFunc(next, adapter); + return function nthOfType(elem) { + var siblings = adapter.getSiblings(elem); + var pos = 0; + for (var i = 0; i < siblings.length; i++) { + var currentSibling = siblings[i]; + if (equals2(elem, currentSibling)) + break; + if (adapter.isTag(currentSibling) && adapter.getName(currentSibling) === adapter.getName(elem)) { + pos++; + } + } + return func(pos) && next(elem); + }; + }, "nth-last-of-type": function(next, rule, _a) { + var adapter = _a.adapter, equals2 = _a.equals; + var func = nth_check_1.default(rule); + if (func === boolbase_12.falseFunc) + return boolbase_12.falseFunc; + if (func === boolbase_12.trueFunc) + return getChildFunc(next, adapter); + return function nthLastOfType(elem) { + var siblings = adapter.getSiblings(elem); + var pos = 0; + for (var i = siblings.length - 1; i >= 0; i--) { + var currentSibling = siblings[i]; + if (equals2(elem, currentSibling)) + break; + if (adapter.isTag(currentSibling) && adapter.getName(currentSibling) === adapter.getName(elem)) { + pos++; + } + } + return func(pos) && next(elem); + }; + }, root: function(next, _rule, _a) { + var adapter = _a.adapter; + return function(elem) { + var parent = adapter.getParent(elem); + return (parent == null || !adapter.isTag(parent)) && next(elem); + }; + }, scope: function(next, rule, options, context) { + var equals2 = options.equals; + if (!context || context.length === 0) { + return exports.filters.root(next, rule, options); + } + if (context.length === 1) { + return function(elem) { + return equals2(context[0], elem) && next(elem); + }; + } + return function(elem) { + return context.includes(elem) && next(elem); + }; + }, hover: dynamicStatePseudo("isHovered"), visited: dynamicStatePseudo("isVisited"), active: dynamicStatePseudo("isActive") }; + function dynamicStatePseudo(name2) { + return function dynamicPseudo(next, _rule, _a) { + var adapter = _a.adapter; + var func = adapter[name2]; + if (typeof func !== "function") { + return boolbase_12.falseFunc; + } + return function active(elem) { + return func(elem) && next(elem); + }; + }; + } +})(filters$1); +var pseudos = {}; +Object.defineProperty(pseudos, "__esModule", { value: true }); +pseudos.verifyPseudoArgs = pseudos.pseudos = void 0; +pseudos.pseudos = { empty: function(elem, _a) { + var adapter = _a.adapter; + return !adapter.getChildren(elem).some(function(elem2) { + return adapter.isTag(elem2) || adapter.getText(elem2) !== ""; + }); +}, "first-child": function(elem, _a) { + var adapter = _a.adapter, equals2 = _a.equals; + var firstChild = adapter.getSiblings(elem).find(function(elem2) { + return adapter.isTag(elem2); + }); + return firstChild != null && equals2(elem, firstChild); +}, "last-child": function(elem, _a) { + var adapter = _a.adapter, equals2 = _a.equals; + var siblings = adapter.getSiblings(elem); + for (var i = siblings.length - 1; i >= 0; i--) { + if (equals2(elem, siblings[i])) + return true; + if (adapter.isTag(siblings[i])) + break; + } + return false; +}, "first-of-type": function(elem, _a) { + var adapter = _a.adapter, equals2 = _a.equals; + var siblings = adapter.getSiblings(elem); + var elemName = adapter.getName(elem); + for (var i = 0; i < siblings.length; i++) { + var currentSibling = siblings[i]; + if (equals2(elem, currentSibling)) + return true; + if (adapter.isTag(currentSibling) && adapter.getName(currentSibling) === elemName) { + break; + } + } + return false; +}, "last-of-type": function(elem, _a) { + var adapter = _a.adapter, equals2 = _a.equals; + var siblings = adapter.getSiblings(elem); + var elemName = adapter.getName(elem); + for (var i = siblings.length - 1; i >= 0; i--) { + var currentSibling = siblings[i]; + if (equals2(elem, currentSibling)) + return true; + if (adapter.isTag(currentSibling) && adapter.getName(currentSibling) === elemName) { + break; + } + } + return false; +}, "only-of-type": function(elem, _a) { + var adapter = _a.adapter, equals2 = _a.equals; + var elemName = adapter.getName(elem); + return adapter.getSiblings(elem).every(function(sibling) { + return equals2(elem, sibling) || !adapter.isTag(sibling) || adapter.getName(sibling) !== elemName; + }); +}, "only-child": function(elem, _a) { + var adapter = _a.adapter, equals2 = _a.equals; + return adapter.getSiblings(elem).every(function(sibling) { + return equals2(elem, sibling) || !adapter.isTag(sibling); + }); +} }; +function verifyPseudoArgs(func, name2, subselect) { + if (subselect === null) { + if (func.length > 2) { + throw new Error("pseudo-selector :" + name2 + " requires an argument"); + } + } else if (func.length === 2) { + throw new Error("pseudo-selector :" + name2 + " doesn't have any arguments"); + } +} +pseudos.verifyPseudoArgs = verifyPseudoArgs; +var aliases = {}; +Object.defineProperty(aliases, "__esModule", { value: true }); +aliases.aliases = void 0; +aliases.aliases = { "any-link": ":is(a, area, link)[href]", link: ":any-link:not(:visited)", disabled: ":is(\n :is(button, input, select, textarea, optgroup, option)[disabled],\n optgroup[disabled] > option,\n fieldset[disabled]:not(fieldset[disabled] legend:first-of-type *)\n )", enabled: ":not(:disabled)", checked: ":is(:is(input[type=radio], input[type=checkbox])[checked], option:selected)", required: ":is(input, select, textarea)[required]", optional: ":is(input, select, textarea):not([required])", selected: "option:is([selected], select:not([multiple]):not(:has(> option[selected])) > :first-of-type)", checkbox: "[type=checkbox]", file: "[type=file]", password: "[type=password]", radio: "[type=radio]", reset: "[type=reset]", image: "[type=image]", submit: "[type=submit]", parent: ":not(:empty)", header: ":is(h1, h2, h3, h4, h5, h6)", button: ":is(button, input[type=button])", input: ":is(input, textarea, select, button)", text: "input:is(:not([type!='']), [type=text])" }; +var subselects = {}; +(function(exports) { + var __spreadArray2 = commonjsGlobal && commonjsGlobal.__spreadArray || function(to, from) { + for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) + to[j] = from[i]; + return to; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.subselects = exports.getNextSiblings = exports.ensureIsTag = exports.PLACEHOLDER_ELEMENT = void 0; + var boolbase_12 = boolbase; + var procedure_12 = procedure; + exports.PLACEHOLDER_ELEMENT = {}; + function ensureIsTag(next, adapter) { + if (next === boolbase_12.falseFunc) + return boolbase_12.falseFunc; + return function(elem) { + return adapter.isTag(elem) && next(elem); + }; + } + exports.ensureIsTag = ensureIsTag; + function getNextSiblings(elem, adapter) { + var siblings = adapter.getSiblings(elem); + if (siblings.length <= 1) + return []; + var elemIndex = siblings.indexOf(elem); + if (elemIndex < 0 || elemIndex === siblings.length - 1) + return []; + return siblings.slice(elemIndex + 1).filter(adapter.isTag); + } + exports.getNextSiblings = getNextSiblings; + var is2 = function(next, token, options, context, compileToken2) { + var opts = { xmlMode: !!options.xmlMode, adapter: options.adapter, equals: options.equals }; + var func = compileToken2(token, opts, context); + return function(elem) { + return func(elem) && next(elem); + }; + }; + exports.subselects = { is: is2, matches: is2, not: function(next, token, options, context, compileToken2) { + var opts = { xmlMode: !!options.xmlMode, adapter: options.adapter, equals: options.equals }; + var func = compileToken2(token, opts, context); + if (func === boolbase_12.falseFunc) + return next; + if (func === boolbase_12.trueFunc) + return boolbase_12.falseFunc; + return function not2(elem) { + return !func(elem) && next(elem); + }; + }, has: function(next, subselect, options, _context, compileToken2) { + var adapter = options.adapter; + var opts = { xmlMode: !!options.xmlMode, adapter, equals: options.equals }; + var context = subselect.some(function(s) { + return s.some(procedure_12.isTraversal); + }) ? [exports.PLACEHOLDER_ELEMENT] : void 0; + var compiled = compileToken2(subselect, opts, context); + if (compiled === boolbase_12.falseFunc) + return boolbase_12.falseFunc; + if (compiled === boolbase_12.trueFunc) { + return function(elem) { + return adapter.getChildren(elem).some(adapter.isTag) && next(elem); + }; + } + var hasElement = ensureIsTag(compiled, adapter); + var _a = compiled.shouldTestNextSiblings, shouldTestNextSiblings = _a === void 0 ? false : _a; + if (context) { + return function(elem) { + context[0] = elem; + var childs = adapter.getChildren(elem); + var nextElements = shouldTestNextSiblings ? __spreadArray2(__spreadArray2([], childs), getNextSiblings(elem, adapter)) : childs; + return next(elem) && adapter.existsOne(hasElement, nextElements); + }; + } + return function(elem) { + return next(elem) && adapter.existsOne(hasElement, adapter.getChildren(elem)); + }; + } }; +})(subselects); +(function(exports) { + Object.defineProperty(exports, "__esModule", { value: true }); + exports.compilePseudoSelector = exports.aliases = exports.pseudos = exports.filters = void 0; + var boolbase_12 = boolbase; + var css_what_12 = lib$2; + var filters_1 = filters$1; + Object.defineProperty(exports, "filters", { enumerable: true, get: function() { + return filters_1.filters; + } }); + var pseudos_1 = pseudos; + Object.defineProperty(exports, "pseudos", { enumerable: true, get: function() { + return pseudos_1.pseudos; + } }); + var aliases_1 = aliases; + Object.defineProperty(exports, "aliases", { enumerable: true, get: function() { + return aliases_1.aliases; + } }); + var subselects_12 = subselects; + function compilePseudoSelector(next, selector, options, context, compileToken2) { + var name2 = selector.name, data = selector.data; + if (Array.isArray(data)) { + return subselects_12.subselects[name2](next, data, options, context, compileToken2); + } + if (name2 in aliases_1.aliases) { + if (data != null) { + throw new Error("Pseudo " + name2 + " doesn't have any arguments"); + } + var alias = css_what_12.parse(aliases_1.aliases[name2], options); + return subselects_12.subselects.is(next, alias, options, context, compileToken2); + } + if (name2 in filters_1.filters) { + return filters_1.filters[name2](next, data, options, context); + } + if (name2 in pseudos_1.pseudos) { + var pseudo_1 = pseudos_1.pseudos[name2]; + pseudos_1.verifyPseudoArgs(pseudo_1, name2, data); + return pseudo_1 === boolbase_12.falseFunc ? boolbase_12.falseFunc : next === boolbase_12.trueFunc ? function(elem) { + return pseudo_1(elem, options, data); + } : function(elem) { + return pseudo_1(elem, options, data) && next(elem); + }; + } + throw new Error("unmatched pseudo-class :" + name2); + } + exports.compilePseudoSelector = compilePseudoSelector; +})(pseudoSelectors); +Object.defineProperty(general, "__esModule", { value: true }); +general.compileGeneralSelector = void 0; +var attributes_1 = attributes; +var pseudo_selectors_1 = pseudoSelectors; +function compileGeneralSelector(next, selector, options, context, compileToken2) { + var adapter = options.adapter, equals2 = options.equals; + switch (selector.type) { + case "pseudo-element": + throw new Error("Pseudo-elements are not supported by css-select"); + case "attribute": + return attributes_1.attributeRules[selector.action](next, selector, options); + case "pseudo": + return pseudo_selectors_1.compilePseudoSelector(next, selector, options, context, compileToken2); + case "tag": + return function tag(elem) { + return adapter.getName(elem) === selector.name && next(elem); + }; + case "descendant": + if (options.cacheResults === false || typeof WeakSet === "undefined") { + return function descendant(elem) { + var current = elem; + while (current = adapter.getParent(current)) { + if (adapter.isTag(current) && next(current)) { + return true; + } + } + return false; + }; + } + var isFalseCache_1 = new WeakSet(); + return function cachedDescendant(elem) { + var current = elem; + while (current = adapter.getParent(current)) { + if (!isFalseCache_1.has(current)) { + if (adapter.isTag(current) && next(current)) { + return true; + } + isFalseCache_1.add(current); + } + } + return false; + }; + case "_flexibleDescendant": + return function flexibleDescendant(elem) { + var current = elem; + do { + if (adapter.isTag(current) && next(current)) + return true; + } while (current = adapter.getParent(current)); + return false; + }; + case "parent": + return function parent(elem) { + return adapter.getChildren(elem).some(function(elem2) { + return adapter.isTag(elem2) && next(elem2); + }); + }; + case "child": + return function child(elem) { + var parent = adapter.getParent(elem); + return parent != null && adapter.isTag(parent) && next(parent); + }; + case "sibling": + return function sibling(elem) { + var siblings = adapter.getSiblings(elem); + for (var i = 0; i < siblings.length; i++) { + var currentSibling = siblings[i]; + if (equals2(elem, currentSibling)) + break; + if (adapter.isTag(currentSibling) && next(currentSibling)) { + return true; + } + } + return false; + }; + case "adjacent": + return function adjacent(elem) { + var siblings = adapter.getSiblings(elem); + var lastElement; + for (var i = 0; i < siblings.length; i++) { + var currentSibling = siblings[i]; + if (equals2(elem, currentSibling)) + break; + if (adapter.isTag(currentSibling)) { + lastElement = currentSibling; + } + } + return !!lastElement && next(lastElement); + }; + case "universal": + return next; + } +} +general.compileGeneralSelector = compileGeneralSelector; +var __importDefault = commonjsGlobal && commonjsGlobal.__importDefault || function(mod) { + return mod && mod.__esModule ? mod : { default: mod }; +}; +Object.defineProperty(compile$3, "__esModule", { value: true }); +compile$3.compileToken = compile$3.compileUnsafe = compile$3.compile = void 0; +var css_what_1 = lib$2; +var boolbase_1 = boolbase; +var sort_1 = __importDefault(sort); +var procedure_1 = procedure; +var general_1 = general; +var subselects_1 = subselects; +function compile(selector, options, context) { + var next = compileUnsafe(selector, options, context); + return subselects_1.ensureIsTag(next, options.adapter); +} +compile$3.compile = compile; +function compileUnsafe(selector, options, context) { + var token = typeof selector === "string" ? css_what_1.parse(selector, options) : selector; + return compileToken(token, options, context); +} +compile$3.compileUnsafe = compileUnsafe; +function includesScopePseudo(t) { + return t.type === "pseudo" && (t.name === "scope" || Array.isArray(t.data) && t.data.some(function(data) { + return data.some(includesScopePseudo); + })); +} +var DESCENDANT_TOKEN = { type: "descendant" }; +var FLEXIBLE_DESCENDANT_TOKEN = { type: "_flexibleDescendant" }; +var SCOPE_TOKEN = { type: "pseudo", name: "scope", data: null }; +function absolutize(token, _a, context) { + var adapter = _a.adapter; + var hasContext = !!(context === null || context === void 0 ? void 0 : context.every(function(e) { + var parent = adapter.isTag(e) && adapter.getParent(e); + return e === subselects_1.PLACEHOLDER_ELEMENT || parent && adapter.isTag(parent); + })); + for (var _i = 0, token_1 = token; _i < token_1.length; _i++) { + var t = token_1[_i]; + if (t.length > 0 && procedure_1.isTraversal(t[0]) && t[0].type !== "descendant") + ; + else if (hasContext && !t.some(includesScopePseudo)) { + t.unshift(DESCENDANT_TOKEN); + } else { + continue; + } + t.unshift(SCOPE_TOKEN); + } +} +function compileToken(token, options, context) { + var _a; + token = token.filter(function(t) { + return t.length > 0; + }); + token.forEach(sort_1.default); + context = (_a = options.context) !== null && _a !== void 0 ? _a : context; + var isArrayContext = Array.isArray(context); + var finalContext = context && (Array.isArray(context) ? context : [context]); + absolutize(token, options, finalContext); + var shouldTestNextSiblings = false; + var query = token.map(function(rules) { + if (rules.length >= 2) { + var first = rules[0], second = rules[1]; + if (first.type !== "pseudo" || first.name !== "scope") + ; + else if (isArrayContext && second.type === "descendant") { + rules[1] = FLEXIBLE_DESCENDANT_TOKEN; + } else if (second.type === "adjacent" || second.type === "sibling") { + shouldTestNextSiblings = true; + } + } + return compileRules(rules, options, finalContext); + }).reduce(reduceRules, boolbase_1.falseFunc); + query.shouldTestNextSiblings = shouldTestNextSiblings; + return query; +} +compile$3.compileToken = compileToken; +function compileRules(rules, options, context) { + var _a; + return rules.reduce(function(previous, rule) { + return previous === boolbase_1.falseFunc ? boolbase_1.falseFunc : general_1.compileGeneralSelector(previous, rule, options, context, compileToken); + }, (_a = options.rootFunc) !== null && _a !== void 0 ? _a : boolbase_1.trueFunc); +} +function reduceRules(a, b) { + if (b === boolbase_1.falseFunc || a === boolbase_1.trueFunc) { + return a; + } + if (a === boolbase_1.falseFunc || b === boolbase_1.trueFunc) { + return b; + } + return function combine(elem) { + return a(elem) || b(elem); + }; +} +(function(exports) { + var __createBinding2 = commonjsGlobal && commonjsGlobal.__createBinding || (Object.create ? function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { + return m[k]; + } }); + } : function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + o[k2] = m[k]; + }); + var __setModuleDefault2 = commonjsGlobal && commonjsGlobal.__setModuleDefault || (Object.create ? function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + } : function(o, v) { + o["default"] = v; + }); + var __importStar2 = commonjsGlobal && commonjsGlobal.__importStar || function(mod) { + if (mod && mod.__esModule) + return mod; + var result = {}; + if (mod != null) { + for (var k in mod) + if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) + __createBinding2(result, mod, k); + } + __setModuleDefault2(result, mod); + return result; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.aliases = exports.pseudos = exports.filters = exports.is = exports.selectOne = exports.selectAll = exports.prepareContext = exports._compileToken = exports._compileUnsafe = exports.compile = void 0; + var DomUtils = __importStar2(lib$7); + var boolbase_12 = boolbase; + var compile_1 = compile$3; + var subselects_12 = subselects; + var defaultEquals = function(a, b) { + return a === b; + }; + var defaultOptions = { adapter: DomUtils, equals: defaultEquals }; + function convertOptionFormats(options) { + var _a, _b, _c, _d; + var opts = options !== null && options !== void 0 ? options : defaultOptions; + (_a = opts.adapter) !== null && _a !== void 0 ? _a : opts.adapter = DomUtils; + (_b = opts.equals) !== null && _b !== void 0 ? _b : opts.equals = (_d = (_c = opts.adapter) === null || _c === void 0 ? void 0 : _c.equals) !== null && _d !== void 0 ? _d : defaultEquals; + return opts; + } + function wrapCompile(func) { + return function addAdapter(selector, options, context) { + var opts = convertOptionFormats(options); + return func(selector, opts, context); + }; + } + exports.compile = wrapCompile(compile_1.compile); + exports._compileUnsafe = wrapCompile(compile_1.compileUnsafe); + exports._compileToken = wrapCompile(compile_1.compileToken); + function getSelectorFunc(searchFunc) { + return function select(query, elements, options) { + var opts = convertOptionFormats(options); + if (typeof query !== "function") { + query = compile_1.compileUnsafe(query, opts, elements); + } + var filteredElements = prepareContext(elements, opts.adapter, query.shouldTestNextSiblings); + return searchFunc(query, filteredElements, opts); + }; + } + function prepareContext(elems2, adapter, shouldTestNextSiblings) { + if (shouldTestNextSiblings === void 0) { + shouldTestNextSiblings = false; + } + if (shouldTestNextSiblings) { + elems2 = appendNextSiblings(elems2, adapter); + } + return Array.isArray(elems2) ? adapter.removeSubsets(elems2) : adapter.getChildren(elems2); + } + exports.prepareContext = prepareContext; + function appendNextSiblings(elem, adapter) { + var elems2 = Array.isArray(elem) ? elem.slice(0) : [elem]; + for (var i = 0; i < elems2.length; i++) { + var nextSiblings = subselects_12.getNextSiblings(elems2[i], adapter); + elems2.push.apply(elems2, nextSiblings); + } + return elems2; + } + exports.selectAll = getSelectorFunc(function(query, elems2, options) { + return query === boolbase_12.falseFunc || !elems2 || elems2.length === 0 ? [] : options.adapter.findAll(query, elems2); + }); + exports.selectOne = getSelectorFunc(function(query, elems2, options) { + return query === boolbase_12.falseFunc || !elems2 || elems2.length === 0 ? null : options.adapter.findOne(query, elems2); + }); + function is2(elem, query, options) { + var opts = convertOptionFormats(options); + return (typeof query === "function" ? query : compile_1.compile(query, opts))(elem); + } + exports.is = is2; + exports.default = exports.selectAll; + var pseudo_selectors_12 = pseudoSelectors; + Object.defineProperty(exports, "filters", { enumerable: true, get: function() { + return pseudo_selectors_12.filters; + } }); + Object.defineProperty(exports, "pseudos", { enumerable: true, get: function() { + return pseudo_selectors_12.pseudos; + } }); + Object.defineProperty(exports, "aliases", { enumerable: true, get: function() { + return pseudo_selectors_12.aliases; + } }); +})(lib$8); +var isTag = (node2) => node2.type === "element"; +var existsOne = (test, elems2) => elems2.some((elem) => { + if (isTag(elem)) { + return test(elem) || existsOne(test, getChildren(elem)); + } else { + return false; + } +}); +var getAttributeValue = (elem, name2) => elem.attributes[name2]; +var getChildren = (node2) => node2.children || []; +var getName = (elemAst) => elemAst.name; +var getParent = (node2) => node2.parentNode || null; +var getSiblings = (elem) => { + var parent = getParent(elem); + return parent ? getChildren(parent) : []; +}; +var getText = (node2) => { + if (node2.children[0].type === "text" && node2.children[0].type === "cdata") { + return node2.children[0].value; + } + return ""; +}; +var hasAttrib = (elem, name2) => elem.attributes[name2] !== void 0; +var removeSubsets = (nodes) => { + let idx = nodes.length; + let node2; + let ancestor; + let replace2; + while (--idx > -1) { + node2 = ancestor = nodes[idx]; + nodes[idx] = null; + replace2 = true; + while (ancestor) { + if (nodes.includes(ancestor)) { + replace2 = false; + nodes.splice(idx, 1); + break; + } + ancestor = getParent(ancestor); + } + if (replace2) { + nodes[idx] = node2; + } + } + return nodes; +}; +var findAll = (test, elems2) => { + const result = []; + for (const elem of elems2) { + if (isTag(elem)) { + if (test(elem)) { + result.push(elem); + } + result.push(...findAll(test, getChildren(elem))); + } + } + return result; +}; +var findOne = (test, elems2) => { + for (const elem of elems2) { + if (isTag(elem)) { + if (test(elem)) { + return elem; + } + const result = findOne(test, getChildren(elem)); + if (result) { + return result; + } + } + } + return null; +}; +var svgoCssSelectAdapter$1 = { isTag, existsOne, getAttributeValue, getChildren, getName, getParent, getSiblings, getText, hasAttrib, removeSubsets, findAll, findOne }; +var cssSelectAdapter = svgoCssSelectAdapter$1; +var { selectAll: selectAll$1, selectOne: selectOne$1, is: is$1 } = lib$8; +var xastAdaptor = cssSelectAdapter; +var cssSelectOptions = { xmlMode: true, adapter: xastAdaptor }; +var querySelectorAll$2 = (node2, selector) => selectAll$1(selector, node2, cssSelectOptions); +xast.querySelectorAll = querySelectorAll$2; +var querySelector$1 = (node2, selector) => selectOne$1(selector, node2, cssSelectOptions); +xast.querySelector = querySelector$1; +var matches$1 = (node2, selector) => is$1(node2, selector, cssSelectOptions); +xast.matches = matches$1; +var closestByName$1 = (node2, name2) => { + let currentNode = node2; + while (currentNode) { + if (currentNode.type === "element" && currentNode.name === name2) { + return currentNode; + } + currentNode = currentNode.parentNode; + } + return null; +}; +xast.closestByName = closestByName$1; +var visitSkip$6 = Symbol(); +xast.visitSkip = visitSkip$6; +var visit$5 = (node2, visitor, parentNode) => { + const callbacks = visitor[node2.type]; + if (callbacks && callbacks.enter) { + const symbol = callbacks.enter(node2, parentNode); + if (symbol === visitSkip$6) { + return; + } + } + if (node2.type === "root") { + for (const child of node2.children) { + visit$5(child, visitor, node2); + } + } + if (node2.type === "element") { + if (parentNode.children.includes(node2)) { + for (const child of node2.children) { + visit$5(child, visitor, node2); + } + } + } + if (callbacks && callbacks.exit) { + callbacks.exit(node2, parentNode); + } +}; +xast.visit = visit$5; +var detachNodeFromParent$m = (node2, parentNode) => { + parentNode.children = parentNode.children.filter((child) => child !== node2); +}; +xast.detachNodeFromParent = detachNodeFromParent$m; +var { visit: visit$4 } = xast; +var invokePlugins$1 = (ast2, info, plugins2, overrides, globalOverrides) => { + for (const plugin of plugins2) { + const override = overrides == null ? null : overrides[plugin.name]; + if (override === false) { + continue; + } + const params = __spreadValues(__spreadValues(__spreadValues({}, plugin.params), globalOverrides), override); + if (plugin.type === "perItem") { + ast2 = perItem(ast2, info, plugin, params); + } + if (plugin.type === "perItemReverse") { + ast2 = perItem(ast2, info, plugin, params, true); + } + if (plugin.type === "full") { + if (plugin.active) { + ast2 = plugin.fn(ast2, params, info); + } + } + if (plugin.type === "visitor") { + if (plugin.active) { + const visitor = plugin.fn(ast2, params, info); + if (visitor != null) { + visit$4(ast2, visitor); + } + } + } + } + return ast2; +}; +plugins.invokePlugins = invokePlugins$1; +function perItem(data, info, plugin, params, reverse) { + function monkeys(items) { + items.children = items.children.filter(function(item) { + if (reverse && item.children) { + monkeys(item); + } + let kept = true; + if (plugin.active) { + kept = plugin.fn(item, params, info) !== false; + } + if (!reverse && item.children) { + monkeys(item); + } + return kept; + }); + return items; + } + return monkeys(data); +} +var createPreset$1 = ({ name: name2, plugins: plugins2 }) => ({ name: name2, type: "full", fn: (ast2, params, info) => { + const { floatPrecision, overrides } = params; + const globalOverrides = {}; + if (floatPrecision != null) { + globalOverrides.floatPrecision = floatPrecision; + } + if (overrides) { + for (const [pluginName, override] of Object.entries(overrides)) { + if (override === true) { + console.warn(`You are trying to enable ${pluginName} which is not part of preset. +Try to put it before or after preset, for example + +plugins: [ + { + name: 'preset-default', + }, + 'cleanupListOfValues' +] +`); + } + } + } + return invokePlugins$1(ast2, info, plugins2, overrides, globalOverrides); +} }); +plugins.createPreset = createPreset$1; +var removeDoctype$1 = {}; +var { detachNodeFromParent: detachNodeFromParent$l } = xast; +removeDoctype$1.name = "removeDoctype"; +removeDoctype$1.type = "visitor"; +removeDoctype$1.active = true; +removeDoctype$1.description = "removes doctype declaration"; +removeDoctype$1.fn = () => ({ doctype: { enter: (node2, parentNode) => { + detachNodeFromParent$l(node2, parentNode); +} } }); +var removeXMLProcInst$1 = {}; +var { detachNodeFromParent: detachNodeFromParent$k } = xast; +removeXMLProcInst$1.name = "removeXMLProcInst"; +removeXMLProcInst$1.type = "visitor"; +removeXMLProcInst$1.active = true; +removeXMLProcInst$1.description = "removes XML processing instructions"; +removeXMLProcInst$1.fn = () => ({ instruction: { enter: (node2, parentNode) => { + if (node2.name === "xml") { + detachNodeFromParent$k(node2, parentNode); + } +} } }); +var removeComments$1 = {}; +var { detachNodeFromParent: detachNodeFromParent$j } = xast; +removeComments$1.name = "removeComments"; +removeComments$1.type = "visitor"; +removeComments$1.active = true; +removeComments$1.description = "removes comments"; +removeComments$1.fn = () => ({ comment: { enter: (node2, parentNode) => { + if (node2.value.charAt(0) !== "!") { + detachNodeFromParent$j(node2, parentNode); + } +} } }); +var removeMetadata$1 = {}; +var { detachNodeFromParent: detachNodeFromParent$i } = xast; +removeMetadata$1.name = "removeMetadata"; +removeMetadata$1.type = "visitor"; +removeMetadata$1.active = true; +removeMetadata$1.description = "removes "; +removeMetadata$1.fn = () => ({ element: { enter: (node2, parentNode) => { + if (node2.name === "metadata") { + detachNodeFromParent$i(node2, parentNode); + } +} } }); +var removeEditorsNSData$1 = {}; +var _collections = {}; +(function(exports) { + exports.elemsGroups = { animation: ["animate", "animateColor", "animateMotion", "animateTransform", "set"], descriptive: ["desc", "metadata", "title"], shape: ["circle", "ellipse", "line", "path", "polygon", "polyline", "rect"], structural: ["defs", "g", "svg", "symbol", "use"], paintServer: ["solidColor", "linearGradient", "radialGradient", "meshGradient", "pattern", "hatch"], nonRendering: ["linearGradient", "radialGradient", "pattern", "clipPath", "mask", "marker", "symbol", "filter", "solidColor"], container: ["a", "defs", "g", "marker", "mask", "missing-glyph", "pattern", "svg", "switch", "symbol", "foreignObject"], textContent: ["altGlyph", "altGlyphDef", "altGlyphItem", "glyph", "glyphRef", "textPath", "text", "tref", "tspan"], textContentChild: ["altGlyph", "textPath", "tref", "tspan"], lightSource: ["feDiffuseLighting", "feSpecularLighting", "feDistantLight", "fePointLight", "feSpotLight"], filterPrimitive: ["feBlend", "feColorMatrix", "feComponentTransfer", "feComposite", "feConvolveMatrix", "feDiffuseLighting", "feDisplacementMap", "feDropShadow", "feFlood", "feFuncA", "feFuncB", "feFuncG", "feFuncR", "feGaussianBlur", "feImage", "feMerge", "feMergeNode", "feMorphology", "feOffset", "feSpecularLighting", "feTile", "feTurbulence"] }; + exports.textElems = exports.elemsGroups.textContent.concat("title"); + exports.pathElems = ["path", "glyph", "missing-glyph"]; + exports.attrsGroups = { animationAddition: ["additive", "accumulate"], animationAttributeTarget: ["attributeType", "attributeName"], animationEvent: ["onbegin", "onend", "onrepeat", "onload"], animationTiming: ["begin", "dur", "end", "min", "max", "restart", "repeatCount", "repeatDur", "fill"], animationValue: ["calcMode", "values", "keyTimes", "keySplines", "from", "to", "by"], conditionalProcessing: ["requiredFeatures", "requiredExtensions", "systemLanguage"], core: ["id", "tabindex", "xml:base", "xml:lang", "xml:space"], graphicalEvent: ["onfocusin", "onfocusout", "onactivate", "onclick", "onmousedown", "onmouseup", "onmouseover", "onmousemove", "onmouseout", "onload"], presentation: ["alignment-baseline", "baseline-shift", "clip", "clip-path", "clip-rule", "color", "color-interpolation", "color-interpolation-filters", "color-profile", "color-rendering", "cursor", "direction", "display", "dominant-baseline", "enable-background", "fill", "fill-opacity", "fill-rule", "filter", "flood-color", "flood-opacity", "font-family", "font-size", "font-size-adjust", "font-stretch", "font-style", "font-variant", "font-weight", "glyph-orientation-horizontal", "glyph-orientation-vertical", "image-rendering", "letter-spacing", "lighting-color", "marker-end", "marker-mid", "marker-start", "mask", "opacity", "overflow", "paint-order", "pointer-events", "shape-rendering", "stop-color", "stop-opacity", "stroke", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke-width", "text-anchor", "text-decoration", "text-overflow", "text-rendering", "transform", "transform-origin", "unicode-bidi", "vector-effect", "visibility", "word-spacing", "writing-mode"], xlink: ["xlink:href", "xlink:show", "xlink:actuate", "xlink:type", "xlink:role", "xlink:arcrole", "xlink:title"], documentEvent: ["onunload", "onabort", "onerror", "onresize", "onscroll", "onzoom"], filterPrimitive: ["x", "y", "width", "height", "result"], transferFunction: ["type", "tableValues", "slope", "intercept", "amplitude", "exponent", "offset"] }; + exports.attrsGroupsDefaults = { core: { "xml:space": "default" }, presentation: { clip: "auto", "clip-path": "none", "clip-rule": "nonzero", mask: "none", opacity: "1", "stop-color": "#000", "stop-opacity": "1", "fill-opacity": "1", "fill-rule": "nonzero", fill: "#000", stroke: "none", "stroke-width": "1", "stroke-linecap": "butt", "stroke-linejoin": "miter", "stroke-miterlimit": "4", "stroke-dasharray": "none", "stroke-dashoffset": "0", "stroke-opacity": "1", "paint-order": "normal", "vector-effect": "none", display: "inline", visibility: "visible", "marker-start": "none", "marker-mid": "none", "marker-end": "none", "color-interpolation": "sRGB", "color-interpolation-filters": "linearRGB", "color-rendering": "auto", "shape-rendering": "auto", "text-rendering": "auto", "image-rendering": "auto", "font-style": "normal", "font-variant": "normal", "font-weight": "normal", "font-stretch": "normal", "font-size": "medium", "font-size-adjust": "none", kerning: "auto", "letter-spacing": "normal", "word-spacing": "normal", "text-decoration": "none", "text-anchor": "start", "text-overflow": "clip", "writing-mode": "lr-tb", "glyph-orientation-vertical": "auto", "glyph-orientation-horizontal": "0deg", direction: "ltr", "unicode-bidi": "normal", "dominant-baseline": "auto", "alignment-baseline": "baseline", "baseline-shift": "baseline" }, transferFunction: { slope: "1", intercept: "0", amplitude: "1", exponent: "1", offset: "0" } }; + exports.elems = { a: { attrsGroups: ["conditionalProcessing", "core", "graphicalEvent", "presentation", "xlink"], attrs: ["class", "style", "externalResourcesRequired", "transform", "target"], defaults: { target: "_self" }, contentGroups: ["animation", "descriptive", "shape", "structural", "paintServer"], content: ["a", "altGlyphDef", "clipPath", "color-profile", "cursor", "filter", "font", "font-face", "foreignObject", "image", "marker", "mask", "pattern", "script", "style", "switch", "text", "view", "tspan"] }, altGlyph: { attrsGroups: ["conditionalProcessing", "core", "graphicalEvent", "presentation", "xlink"], attrs: ["class", "style", "externalResourcesRequired", "x", "y", "dx", "dy", "glyphRef", "format", "rotate"] }, altGlyphDef: { attrsGroups: ["core"], content: ["glyphRef"] }, altGlyphItem: { attrsGroups: ["core"], content: ["glyphRef", "altGlyphItem"] }, animate: { attrsGroups: ["conditionalProcessing", "core", "animationAddition", "animationAttributeTarget", "animationEvent", "animationTiming", "animationValue", "presentation", "xlink"], attrs: ["externalResourcesRequired"], contentGroups: ["descriptive"] }, animateColor: { attrsGroups: ["conditionalProcessing", "core", "animationEvent", "xlink", "animationAttributeTarget", "animationTiming", "animationValue", "animationAddition", "presentation"], attrs: ["externalResourcesRequired"], contentGroups: ["descriptive"] }, animateMotion: { attrsGroups: ["conditionalProcessing", "core", "animationEvent", "xlink", "animationTiming", "animationValue", "animationAddition"], attrs: ["externalResourcesRequired", "path", "keyPoints", "rotate", "origin"], defaults: { rotate: "0" }, contentGroups: ["descriptive"], content: ["mpath"] }, animateTransform: { attrsGroups: ["conditionalProcessing", "core", "animationEvent", "xlink", "animationAttributeTarget", "animationTiming", "animationValue", "animationAddition"], attrs: ["externalResourcesRequired", "type"], contentGroups: ["descriptive"] }, circle: { attrsGroups: ["conditionalProcessing", "core", "graphicalEvent", "presentation"], attrs: ["class", "style", "externalResourcesRequired", "transform", "cx", "cy", "r"], defaults: { cx: "0", cy: "0" }, contentGroups: ["animation", "descriptive"] }, clipPath: { attrsGroups: ["conditionalProcessing", "core", "presentation"], attrs: ["class", "style", "externalResourcesRequired", "transform", "clipPathUnits"], defaults: { clipPathUnits: "userSpaceOnUse" }, contentGroups: ["animation", "descriptive", "shape"], content: ["text", "use"] }, "color-profile": { attrsGroups: ["core", "xlink"], attrs: ["local", "name", "rendering-intent"], defaults: { name: "sRGB", "rendering-intent": "auto" }, contentGroups: ["descriptive"] }, cursor: { attrsGroups: ["core", "conditionalProcessing", "xlink"], attrs: ["externalResourcesRequired", "x", "y"], defaults: { x: "0", y: "0" }, contentGroups: ["descriptive"] }, defs: { attrsGroups: ["conditionalProcessing", "core", "graphicalEvent", "presentation"], attrs: ["class", "style", "externalResourcesRequired", "transform"], contentGroups: ["animation", "descriptive", "shape", "structural", "paintServer"], content: ["a", "altGlyphDef", "clipPath", "color-profile", "cursor", "filter", "font", "font-face", "foreignObject", "image", "marker", "mask", "pattern", "script", "style", "switch", "text", "view"] }, desc: { attrsGroups: ["core"], attrs: ["class", "style"] }, ellipse: { attrsGroups: ["conditionalProcessing", "core", "graphicalEvent", "presentation"], attrs: ["class", "style", "externalResourcesRequired", "transform", "cx", "cy", "rx", "ry"], defaults: { cx: "0", cy: "0" }, contentGroups: ["animation", "descriptive"] }, feBlend: { attrsGroups: ["core", "presentation", "filterPrimitive"], attrs: ["class", "style", "in", "in2", "mode"], defaults: { mode: "normal" }, content: ["animate", "set"] }, feColorMatrix: { attrsGroups: ["core", "presentation", "filterPrimitive"], attrs: ["class", "style", "in", "type", "values"], defaults: { type: "matrix" }, content: ["animate", "set"] }, feComponentTransfer: { attrsGroups: ["core", "presentation", "filterPrimitive"], attrs: ["class", "style", "in"], content: ["feFuncA", "feFuncB", "feFuncG", "feFuncR"] }, feComposite: { attrsGroups: ["core", "presentation", "filterPrimitive"], attrs: ["class", "style", "in", "in2", "operator", "k1", "k2", "k3", "k4"], defaults: { operator: "over", k1: "0", k2: "0", k3: "0", k4: "0" }, content: ["animate", "set"] }, feConvolveMatrix: { attrsGroups: ["core", "presentation", "filterPrimitive"], attrs: ["class", "style", "in", "order", "kernelMatrix", "divisor", "bias", "targetX", "targetY", "edgeMode", "kernelUnitLength", "preserveAlpha"], defaults: { order: "3", bias: "0", edgeMode: "duplicate", preserveAlpha: "false" }, content: ["animate", "set"] }, feDiffuseLighting: { attrsGroups: ["core", "presentation", "filterPrimitive"], attrs: ["class", "style", "in", "surfaceScale", "diffuseConstant", "kernelUnitLength"], defaults: { surfaceScale: "1", diffuseConstant: "1" }, contentGroups: ["descriptive"], content: ["feDistantLight", "fePointLight", "feSpotLight"] }, feDisplacementMap: { attrsGroups: ["core", "presentation", "filterPrimitive"], attrs: ["class", "style", "in", "in2", "scale", "xChannelSelector", "yChannelSelector"], defaults: { scale: "0", xChannelSelector: "A", yChannelSelector: "A" }, content: ["animate", "set"] }, feDistantLight: { attrsGroups: ["core"], attrs: ["azimuth", "elevation"], defaults: { azimuth: "0", elevation: "0" }, content: ["animate", "set"] }, feFlood: { attrsGroups: ["core", "presentation", "filterPrimitive"], attrs: ["class", "style"], content: ["animate", "animateColor", "set"] }, feFuncA: { attrsGroups: ["core", "transferFunction"], content: ["set", "animate"] }, feFuncB: { attrsGroups: ["core", "transferFunction"], content: ["set", "animate"] }, feFuncG: { attrsGroups: ["core", "transferFunction"], content: ["set", "animate"] }, feFuncR: { attrsGroups: ["core", "transferFunction"], content: ["set", "animate"] }, feGaussianBlur: { attrsGroups: ["core", "presentation", "filterPrimitive"], attrs: ["class", "style", "in", "stdDeviation"], defaults: { stdDeviation: "0" }, content: ["set", "animate"] }, feImage: { attrsGroups: ["core", "presentation", "filterPrimitive", "xlink"], attrs: ["class", "style", "externalResourcesRequired", "preserveAspectRatio", "href", "xlink:href"], defaults: { preserveAspectRatio: "xMidYMid meet" }, content: ["animate", "animateTransform", "set"] }, feMerge: { attrsGroups: ["core", "presentation", "filterPrimitive"], attrs: ["class", "style"], content: ["feMergeNode"] }, feMergeNode: { attrsGroups: ["core"], attrs: ["in"], content: ["animate", "set"] }, feMorphology: { attrsGroups: ["core", "presentation", "filterPrimitive"], attrs: ["class", "style", "in", "operator", "radius"], defaults: { operator: "erode", radius: "0" }, content: ["animate", "set"] }, feOffset: { attrsGroups: ["core", "presentation", "filterPrimitive"], attrs: ["class", "style", "in", "dx", "dy"], defaults: { dx: "0", dy: "0" }, content: ["animate", "set"] }, fePointLight: { attrsGroups: ["core"], attrs: ["x", "y", "z"], defaults: { x: "0", y: "0", z: "0" }, content: ["animate", "set"] }, feSpecularLighting: { attrsGroups: ["core", "presentation", "filterPrimitive"], attrs: ["class", "style", "in", "surfaceScale", "specularConstant", "specularExponent", "kernelUnitLength"], defaults: { surfaceScale: "1", specularConstant: "1", specularExponent: "1" }, contentGroups: ["descriptive", "lightSource"] }, feSpotLight: { attrsGroups: ["core"], attrs: ["x", "y", "z", "pointsAtX", "pointsAtY", "pointsAtZ", "specularExponent", "limitingConeAngle"], defaults: { x: "0", y: "0", z: "0", pointsAtX: "0", pointsAtY: "0", pointsAtZ: "0", specularExponent: "1" }, content: ["animate", "set"] }, feTile: { attrsGroups: ["core", "presentation", "filterPrimitive"], attrs: ["class", "style", "in"], content: ["animate", "set"] }, feTurbulence: { attrsGroups: ["core", "presentation", "filterPrimitive"], attrs: ["class", "style", "baseFrequency", "numOctaves", "seed", "stitchTiles", "type"], defaults: { baseFrequency: "0", numOctaves: "1", seed: "0", stitchTiles: "noStitch", type: "turbulence" }, content: ["animate", "set"] }, filter: { attrsGroups: ["core", "presentation", "xlink"], attrs: ["class", "style", "externalResourcesRequired", "x", "y", "width", "height", "filterRes", "filterUnits", "primitiveUnits", "href", "xlink:href"], defaults: { primitiveUnits: "userSpaceOnUse", x: "-10%", y: "-10%", width: "120%", height: "120%" }, contentGroups: ["descriptive", "filterPrimitive"], content: ["animate", "set"] }, font: { attrsGroups: ["core", "presentation"], attrs: ["class", "style", "externalResourcesRequired", "horiz-origin-x", "horiz-origin-y", "horiz-adv-x", "vert-origin-x", "vert-origin-y", "vert-adv-y"], defaults: { "horiz-origin-x": "0", "horiz-origin-y": "0" }, contentGroups: ["descriptive"], content: ["font-face", "glyph", "hkern", "missing-glyph", "vkern"] }, "font-face": { attrsGroups: ["core"], attrs: ["font-family", "font-style", "font-variant", "font-weight", "font-stretch", "font-size", "unicode-range", "units-per-em", "panose-1", "stemv", "stemh", "slope", "cap-height", "x-height", "accent-height", "ascent", "descent", "widths", "bbox", "ideographic", "alphabetic", "mathematical", "hanging", "v-ideographic", "v-alphabetic", "v-mathematical", "v-hanging", "underline-position", "underline-thickness", "strikethrough-position", "strikethrough-thickness", "overline-position", "overline-thickness"], defaults: { "font-style": "all", "font-variant": "normal", "font-weight": "all", "font-stretch": "normal", "unicode-range": "U+0-10FFFF", "units-per-em": "1000", "panose-1": "0 0 0 0 0 0 0 0 0 0", slope: "0" }, contentGroups: ["descriptive"], content: ["font-face-src"] }, "font-face-format": { attrsGroups: ["core"], attrs: ["string"] }, "font-face-name": { attrsGroups: ["core"], attrs: ["name"] }, "font-face-src": { attrsGroups: ["core"], content: ["font-face-name", "font-face-uri"] }, "font-face-uri": { attrsGroups: ["core", "xlink"], attrs: ["href", "xlink:href"], content: ["font-face-format"] }, foreignObject: { attrsGroups: ["core", "conditionalProcessing", "graphicalEvent", "presentation"], attrs: ["class", "style", "externalResourcesRequired", "transform", "x", "y", "width", "height"], defaults: { x: "0", y: "0" } }, g: { attrsGroups: ["conditionalProcessing", "core", "graphicalEvent", "presentation"], attrs: ["class", "style", "externalResourcesRequired", "transform"], contentGroups: ["animation", "descriptive", "shape", "structural", "paintServer"], content: ["a", "altGlyphDef", "clipPath", "color-profile", "cursor", "filter", "font", "font-face", "foreignObject", "image", "marker", "mask", "pattern", "script", "style", "switch", "text", "view"] }, glyph: { attrsGroups: ["core", "presentation"], attrs: ["class", "style", "d", "horiz-adv-x", "vert-origin-x", "vert-origin-y", "vert-adv-y", "unicode", "glyph-name", "orientation", "arabic-form", "lang"], defaults: { "arabic-form": "initial" }, contentGroups: ["animation", "descriptive", "shape", "structural", "paintServer"], content: ["a", "altGlyphDef", "clipPath", "color-profile", "cursor", "filter", "font", "font-face", "foreignObject", "image", "marker", "mask", "pattern", "script", "style", "switch", "text", "view"] }, glyphRef: { attrsGroups: ["core", "presentation"], attrs: ["class", "style", "d", "horiz-adv-x", "vert-origin-x", "vert-origin-y", "vert-adv-y"], contentGroups: ["animation", "descriptive", "shape", "structural", "paintServer"], content: ["a", "altGlyphDef", "clipPath", "color-profile", "cursor", "filter", "font", "font-face", "foreignObject", "image", "marker", "mask", "pattern", "script", "style", "switch", "text", "view"] }, hatch: { attrsGroups: ["core", "presentation", "xlink"], attrs: ["class", "style", "x", "y", "pitch", "rotate", "hatchUnits", "hatchContentUnits", "transform"], defaults: { hatchUnits: "objectBoundingBox", hatchContentUnits: "userSpaceOnUse", x: "0", y: "0", pitch: "0", rotate: "0" }, contentGroups: ["animation", "descriptive"], content: ["hatchPath"] }, hatchPath: { attrsGroups: ["core", "presentation", "xlink"], attrs: ["class", "style", "d", "offset"], defaults: { offset: "0" }, contentGroups: ["animation", "descriptive"] }, hkern: { attrsGroups: ["core"], attrs: ["u1", "g1", "u2", "g2", "k"] }, image: { attrsGroups: ["core", "conditionalProcessing", "graphicalEvent", "xlink", "presentation"], attrs: ["class", "style", "externalResourcesRequired", "preserveAspectRatio", "transform", "x", "y", "width", "height", "href", "xlink:href"], defaults: { x: "0", y: "0", preserveAspectRatio: "xMidYMid meet" }, contentGroups: ["animation", "descriptive"] }, line: { attrsGroups: ["conditionalProcessing", "core", "graphicalEvent", "presentation"], attrs: ["class", "style", "externalResourcesRequired", "transform", "x1", "y1", "x2", "y2"], defaults: { x1: "0", y1: "0", x2: "0", y2: "0" }, contentGroups: ["animation", "descriptive"] }, linearGradient: { attrsGroups: ["core", "presentation", "xlink"], attrs: ["class", "style", "externalResourcesRequired", "x1", "y1", "x2", "y2", "gradientUnits", "gradientTransform", "spreadMethod", "href", "xlink:href"], defaults: { x1: "0", y1: "0", x2: "100%", y2: "0", spreadMethod: "pad" }, contentGroups: ["descriptive"], content: ["animate", "animateTransform", "set", "stop"] }, marker: { attrsGroups: ["core", "presentation"], attrs: ["class", "style", "externalResourcesRequired", "viewBox", "preserveAspectRatio", "refX", "refY", "markerUnits", "markerWidth", "markerHeight", "orient"], defaults: { markerUnits: "strokeWidth", refX: "0", refY: "0", markerWidth: "3", markerHeight: "3" }, contentGroups: ["animation", "descriptive", "shape", "structural", "paintServer"], content: ["a", "altGlyphDef", "clipPath", "color-profile", "cursor", "filter", "font", "font-face", "foreignObject", "image", "marker", "mask", "pattern", "script", "style", "switch", "text", "view"] }, mask: { attrsGroups: ["conditionalProcessing", "core", "presentation"], attrs: ["class", "style", "externalResourcesRequired", "x", "y", "width", "height", "mask-type", "maskUnits", "maskContentUnits"], defaults: { maskUnits: "objectBoundingBox", maskContentUnits: "userSpaceOnUse", x: "-10%", y: "-10%", width: "120%", height: "120%" }, contentGroups: ["animation", "descriptive", "shape", "structural", "paintServer"], content: ["a", "altGlyphDef", "clipPath", "color-profile", "cursor", "filter", "font", "font-face", "foreignObject", "image", "marker", "mask", "pattern", "script", "style", "switch", "text", "view"] }, metadata: { attrsGroups: ["core"] }, "missing-glyph": { attrsGroups: ["core", "presentation"], attrs: ["class", "style", "d", "horiz-adv-x", "vert-origin-x", "vert-origin-y", "vert-adv-y"], contentGroups: ["animation", "descriptive", "shape", "structural", "paintServer"], content: ["a", "altGlyphDef", "clipPath", "color-profile", "cursor", "filter", "font", "font-face", "foreignObject", "image", "marker", "mask", "pattern", "script", "style", "switch", "text", "view"] }, mpath: { attrsGroups: ["core", "xlink"], attrs: ["externalResourcesRequired", "href", "xlink:href"], contentGroups: ["descriptive"] }, path: { attrsGroups: ["conditionalProcessing", "core", "graphicalEvent", "presentation"], attrs: ["class", "style", "externalResourcesRequired", "transform", "d", "pathLength"], contentGroups: ["animation", "descriptive"] }, pattern: { attrsGroups: ["conditionalProcessing", "core", "presentation", "xlink"], attrs: ["class", "style", "externalResourcesRequired", "viewBox", "preserveAspectRatio", "x", "y", "width", "height", "patternUnits", "patternContentUnits", "patternTransform", "href", "xlink:href"], defaults: { patternUnits: "objectBoundingBox", patternContentUnits: "userSpaceOnUse", x: "0", y: "0", width: "0", height: "0", preserveAspectRatio: "xMidYMid meet" }, contentGroups: ["animation", "descriptive", "paintServer", "shape", "structural"], content: ["a", "altGlyphDef", "clipPath", "color-profile", "cursor", "filter", "font", "font-face", "foreignObject", "image", "marker", "mask", "pattern", "script", "style", "switch", "text", "view"] }, polygon: { attrsGroups: ["conditionalProcessing", "core", "graphicalEvent", "presentation"], attrs: ["class", "style", "externalResourcesRequired", "transform", "points"], contentGroups: ["animation", "descriptive"] }, polyline: { attrsGroups: ["conditionalProcessing", "core", "graphicalEvent", "presentation"], attrs: ["class", "style", "externalResourcesRequired", "transform", "points"], contentGroups: ["animation", "descriptive"] }, radialGradient: { attrsGroups: ["core", "presentation", "xlink"], attrs: ["class", "style", "externalResourcesRequired", "cx", "cy", "r", "fx", "fy", "fr", "gradientUnits", "gradientTransform", "spreadMethod", "href", "xlink:href"], defaults: { gradientUnits: "objectBoundingBox", cx: "50%", cy: "50%", r: "50%" }, contentGroups: ["descriptive"], content: ["animate", "animateTransform", "set", "stop"] }, meshGradient: { attrsGroups: ["core", "presentation", "xlink"], attrs: ["class", "style", "x", "y", "gradientUnits", "transform"], contentGroups: ["descriptive", "paintServer", "animation"], content: ["meshRow"] }, meshRow: { attrsGroups: ["core", "presentation"], attrs: ["class", "style"], contentGroups: ["descriptive"], content: ["meshPatch"] }, meshPatch: { attrsGroups: ["core", "presentation"], attrs: ["class", "style"], contentGroups: ["descriptive"], content: ["stop"] }, rect: { attrsGroups: ["conditionalProcessing", "core", "graphicalEvent", "presentation"], attrs: ["class", "style", "externalResourcesRequired", "transform", "x", "y", "width", "height", "rx", "ry"], defaults: { x: "0", y: "0" }, contentGroups: ["animation", "descriptive"] }, script: { attrsGroups: ["core", "xlink"], attrs: ["externalResourcesRequired", "type", "href", "xlink:href"] }, set: { attrsGroups: ["conditionalProcessing", "core", "animation", "xlink", "animationAttributeTarget", "animationTiming"], attrs: ["externalResourcesRequired", "to"], contentGroups: ["descriptive"] }, solidColor: { attrsGroups: ["core", "presentation"], attrs: ["class", "style"], contentGroups: ["paintServer"] }, stop: { attrsGroups: ["core", "presentation"], attrs: ["class", "style", "offset", "path"], content: ["animate", "animateColor", "set"] }, style: { attrsGroups: ["core"], attrs: ["type", "media", "title"], defaults: { type: "text/css" } }, svg: { attrsGroups: ["conditionalProcessing", "core", "documentEvent", "graphicalEvent", "presentation"], attrs: ["class", "style", "x", "y", "width", "height", "viewBox", "preserveAspectRatio", "zoomAndPan", "version", "baseProfile", "contentScriptType", "contentStyleType"], defaults: { x: "0", y: "0", width: "100%", height: "100%", preserveAspectRatio: "xMidYMid meet", zoomAndPan: "magnify", version: "1.1", baseProfile: "none", contentScriptType: "application/ecmascript", contentStyleType: "text/css" }, contentGroups: ["animation", "descriptive", "shape", "structural", "paintServer"], content: ["a", "altGlyphDef", "clipPath", "color-profile", "cursor", "filter", "font", "font-face", "foreignObject", "image", "marker", "mask", "pattern", "script", "style", "switch", "text", "view"] }, switch: { attrsGroups: ["conditionalProcessing", "core", "graphicalEvent", "presentation"], attrs: ["class", "style", "externalResourcesRequired", "transform"], contentGroups: ["animation", "descriptive", "shape"], content: ["a", "foreignObject", "g", "image", "svg", "switch", "text", "use"] }, symbol: { attrsGroups: ["core", "graphicalEvent", "presentation"], attrs: ["class", "style", "externalResourcesRequired", "preserveAspectRatio", "viewBox", "refX", "refY"], defaults: { refX: "0", refY: "0" }, contentGroups: ["animation", "descriptive", "shape", "structural", "paintServer"], content: ["a", "altGlyphDef", "clipPath", "color-profile", "cursor", "filter", "font", "font-face", "foreignObject", "image", "marker", "mask", "pattern", "script", "style", "switch", "text", "view"] }, text: { attrsGroups: ["conditionalProcessing", "core", "graphicalEvent", "presentation"], attrs: ["class", "style", "externalResourcesRequired", "transform", "lengthAdjust", "x", "y", "dx", "dy", "rotate", "textLength"], defaults: { x: "0", y: "0", lengthAdjust: "spacing" }, contentGroups: ["animation", "descriptive", "textContentChild"], content: ["a"] }, textPath: { attrsGroups: ["conditionalProcessing", "core", "graphicalEvent", "presentation", "xlink"], attrs: ["class", "style", "externalResourcesRequired", "href", "xlink:href", "startOffset", "method", "spacing", "d"], defaults: { startOffset: "0", method: "align", spacing: "exact" }, contentGroups: ["descriptive"], content: ["a", "altGlyph", "animate", "animateColor", "set", "tref", "tspan"] }, title: { attrsGroups: ["core"], attrs: ["class", "style"] }, tref: { attrsGroups: ["conditionalProcessing", "core", "graphicalEvent", "presentation", "xlink"], attrs: ["class", "style", "externalResourcesRequired", "href", "xlink:href"], contentGroups: ["descriptive"], content: ["animate", "animateColor", "set"] }, tspan: { attrsGroups: ["conditionalProcessing", "core", "graphicalEvent", "presentation"], attrs: ["class", "style", "externalResourcesRequired", "x", "y", "dx", "dy", "rotate", "textLength", "lengthAdjust"], contentGroups: ["descriptive"], content: ["a", "altGlyph", "animate", "animateColor", "set", "tref", "tspan"] }, use: { attrsGroups: ["core", "conditionalProcessing", "graphicalEvent", "presentation", "xlink"], attrs: ["class", "style", "externalResourcesRequired", "transform", "x", "y", "width", "height", "href", "xlink:href"], defaults: { x: "0", y: "0" }, contentGroups: ["animation", "descriptive"] }, view: { attrsGroups: ["core"], attrs: ["externalResourcesRequired", "viewBox", "preserveAspectRatio", "zoomAndPan", "viewTarget"], contentGroups: ["descriptive"] }, vkern: { attrsGroups: ["core"], attrs: ["u1", "g1", "u2", "g2", "k"] } }; + exports.editorNamespaces = ["http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd", "http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd", "http://www.inkscape.org/namespaces/inkscape", "http://www.bohemiancoding.com/sketch/ns", "http://ns.adobe.com/AdobeIllustrator/10.0/", "http://ns.adobe.com/Graphs/1.0/", "http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/", "http://ns.adobe.com/Variables/1.0/", "http://ns.adobe.com/SaveForWeb/1.0/", "http://ns.adobe.com/Extensibility/1.0/", "http://ns.adobe.com/Flows/1.0/", "http://ns.adobe.com/ImageReplacement/1.0/", "http://ns.adobe.com/GenericCustomNamespace/1.0/", "http://ns.adobe.com/XPath/1.0/", "http://schemas.microsoft.com/visio/2003/SVGExtensions/", "http://taptrix.com/vectorillustrator/svg_extensions", "http://www.figma.com/figma/ns", "http://purl.org/dc/elements/1.1/", "http://creativecommons.org/ns#", "http://www.w3.org/1999/02/22-rdf-syntax-ns#", "http://www.serif.com/", "http://www.vector.evaxdesign.sk"]; + exports.referencesProps = ["clip-path", "color-profile", "fill", "filter", "marker-start", "marker-mid", "marker-end", "mask", "stroke", "style"]; + exports.inheritableAttrs = ["clip-rule", "color", "color-interpolation", "color-interpolation-filters", "color-profile", "color-rendering", "cursor", "direction", "dominant-baseline", "fill", "fill-opacity", "fill-rule", "font", "font-family", "font-size", "font-size-adjust", "font-stretch", "font-style", "font-variant", "font-weight", "glyph-orientation-horizontal", "glyph-orientation-vertical", "image-rendering", "letter-spacing", "marker", "marker-end", "marker-mid", "marker-start", "paint-order", "pointer-events", "shape-rendering", "stroke", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke-width", "text-anchor", "text-rendering", "transform", "visibility", "word-spacing", "writing-mode"]; + exports.presentationNonInheritableGroupAttrs = ["display", "clip-path", "filter", "mask", "opacity", "text-decoration", "transform", "unicode-bidi"]; + exports.colorsNames = { aliceblue: "#f0f8ff", antiquewhite: "#faebd7", aqua: "#0ff", aquamarine: "#7fffd4", azure: "#f0ffff", beige: "#f5f5dc", bisque: "#ffe4c4", black: "#000", blanchedalmond: "#ffebcd", blue: "#00f", blueviolet: "#8a2be2", brown: "#a52a2a", burlywood: "#deb887", cadetblue: "#5f9ea0", chartreuse: "#7fff00", chocolate: "#d2691e", coral: "#ff7f50", cornflowerblue: "#6495ed", cornsilk: "#fff8dc", crimson: "#dc143c", cyan: "#0ff", darkblue: "#00008b", darkcyan: "#008b8b", darkgoldenrod: "#b8860b", darkgray: "#a9a9a9", darkgreen: "#006400", darkgrey: "#a9a9a9", darkkhaki: "#bdb76b", darkmagenta: "#8b008b", darkolivegreen: "#556b2f", darkorange: "#ff8c00", darkorchid: "#9932cc", darkred: "#8b0000", darksalmon: "#e9967a", darkseagreen: "#8fbc8f", darkslateblue: "#483d8b", darkslategray: "#2f4f4f", darkslategrey: "#2f4f4f", darkturquoise: "#00ced1", darkviolet: "#9400d3", deeppink: "#ff1493", deepskyblue: "#00bfff", dimgray: "#696969", dimgrey: "#696969", dodgerblue: "#1e90ff", firebrick: "#b22222", floralwhite: "#fffaf0", forestgreen: "#228b22", fuchsia: "#f0f", gainsboro: "#dcdcdc", ghostwhite: "#f8f8ff", gold: "#ffd700", goldenrod: "#daa520", gray: "#808080", green: "#008000", greenyellow: "#adff2f", grey: "#808080", honeydew: "#f0fff0", hotpink: "#ff69b4", indianred: "#cd5c5c", indigo: "#4b0082", ivory: "#fffff0", khaki: "#f0e68c", lavender: "#e6e6fa", lavenderblush: "#fff0f5", lawngreen: "#7cfc00", lemonchiffon: "#fffacd", lightblue: "#add8e6", lightcoral: "#f08080", lightcyan: "#e0ffff", lightgoldenrodyellow: "#fafad2", lightgray: "#d3d3d3", lightgreen: "#90ee90", lightgrey: "#d3d3d3", lightpink: "#ffb6c1", lightsalmon: "#ffa07a", lightseagreen: "#20b2aa", lightskyblue: "#87cefa", lightslategray: "#789", lightslategrey: "#789", lightsteelblue: "#b0c4de", lightyellow: "#ffffe0", lime: "#0f0", limegreen: "#32cd32", linen: "#faf0e6", magenta: "#f0f", maroon: "#800000", mediumaquamarine: "#66cdaa", mediumblue: "#0000cd", mediumorchid: "#ba55d3", mediumpurple: "#9370db", mediumseagreen: "#3cb371", mediumslateblue: "#7b68ee", mediumspringgreen: "#00fa9a", mediumturquoise: "#48d1cc", mediumvioletred: "#c71585", midnightblue: "#191970", mintcream: "#f5fffa", mistyrose: "#ffe4e1", moccasin: "#ffe4b5", navajowhite: "#ffdead", navy: "#000080", oldlace: "#fdf5e6", olive: "#808000", olivedrab: "#6b8e23", orange: "#ffa500", orangered: "#ff4500", orchid: "#da70d6", palegoldenrod: "#eee8aa", palegreen: "#98fb98", paleturquoise: "#afeeee", palevioletred: "#db7093", papayawhip: "#ffefd5", peachpuff: "#ffdab9", peru: "#cd853f", pink: "#ffc0cb", plum: "#dda0dd", powderblue: "#b0e0e6", purple: "#800080", rebeccapurple: "#639", red: "#f00", rosybrown: "#bc8f8f", royalblue: "#4169e1", saddlebrown: "#8b4513", salmon: "#fa8072", sandybrown: "#f4a460", seagreen: "#2e8b57", seashell: "#fff5ee", sienna: "#a0522d", silver: "#c0c0c0", skyblue: "#87ceeb", slateblue: "#6a5acd", slategray: "#708090", slategrey: "#708090", snow: "#fffafa", springgreen: "#00ff7f", steelblue: "#4682b4", tan: "#d2b48c", teal: "#008080", thistle: "#d8bfd8", tomato: "#ff6347", turquoise: "#40e0d0", violet: "#ee82ee", wheat: "#f5deb3", white: "#fff", whitesmoke: "#f5f5f5", yellow: "#ff0", yellowgreen: "#9acd32" }; + exports.colorsShortNames = { "#f0ffff": "azure", "#f5f5dc": "beige", "#ffe4c4": "bisque", "#a52a2a": "brown", "#ff7f50": "coral", "#ffd700": "gold", "#808080": "gray", "#008000": "green", "#4b0082": "indigo", "#fffff0": "ivory", "#f0e68c": "khaki", "#faf0e6": "linen", "#800000": "maroon", "#000080": "navy", "#808000": "olive", "#ffa500": "orange", "#da70d6": "orchid", "#cd853f": "peru", "#ffc0cb": "pink", "#dda0dd": "plum", "#800080": "purple", "#f00": "red", "#ff0000": "red", "#fa8072": "salmon", "#a0522d": "sienna", "#c0c0c0": "silver", "#fffafa": "snow", "#d2b48c": "tan", "#008080": "teal", "#ff6347": "tomato", "#ee82ee": "violet", "#f5deb3": "wheat" }; + exports.colorsProps = ["color", "fill", "stroke", "stop-color", "flood-color", "lighting-color"]; +})(_collections); +var { detachNodeFromParent: detachNodeFromParent$h } = xast; +var { editorNamespaces } = _collections; +removeEditorsNSData$1.type = "visitor"; +removeEditorsNSData$1.name = "removeEditorsNSData"; +removeEditorsNSData$1.active = true; +removeEditorsNSData$1.description = "removes editors namespaces, elements and attributes"; +removeEditorsNSData$1.fn = (_root, params) => { + let namespaces = editorNamespaces; + if (Array.isArray(params.additionalNamespaces)) { + namespaces = [...editorNamespaces, ...params.additionalNamespaces]; + } + const prefixes = []; + return { element: { enter: (node2, parentNode) => { + if (node2.name === "svg") { + for (const [name2, value] of Object.entries(node2.attributes)) { + if (name2.startsWith("xmlns:") && namespaces.includes(value)) { + prefixes.push(name2.slice("xmlns:".length)); + delete node2.attributes[name2]; + } + } + } + for (const name2 of Object.keys(node2.attributes)) { + if (name2.includes(":")) { + const [prefix] = name2.split(":"); + if (prefixes.includes(prefix)) { + delete node2.attributes[name2]; + } + } + } + if (node2.name.includes(":")) { + const [prefix] = node2.name.split(":"); + if (prefixes.includes(prefix)) { + detachNodeFromParent$h(node2, parentNode); + } + } + } } }; +}; +var cleanupAttrs$1 = {}; +cleanupAttrs$1.name = "cleanupAttrs"; +cleanupAttrs$1.type = "visitor"; +cleanupAttrs$1.active = true; +cleanupAttrs$1.description = "cleanups attributes from newlines, trailing and repeating spaces"; +var regNewlinesNeedSpace = /(\S)\r?\n(\S)/g; +var regNewlines = /\r?\n/g; +var regSpaces = /\s{2,}/g; +cleanupAttrs$1.fn = (root, params) => { + const { newlines = true, trim = true, spaces = true } = params; + return { element: { enter: (node2) => { + for (const name2 of Object.keys(node2.attributes)) { + if (newlines) { + node2.attributes[name2] = node2.attributes[name2].replace(regNewlinesNeedSpace, (match, p1, p2) => p1 + " " + p2); + node2.attributes[name2] = node2.attributes[name2].replace(regNewlines, ""); + } + if (trim) { + node2.attributes[name2] = node2.attributes[name2].trim(); + } + if (spaces) { + node2.attributes[name2] = node2.attributes[name2].replace(regSpaces, " "); + } + } + } } }; +}; +var mergeStyles$1 = {}; +var CSSClassList$1 = function(node2) { + this.parentNode = node2; + this.classNames = new Set(); + const value = node2.attributes.class; + if (value != null) { + this.addClassValueHandler(); + this.setClassValue(value); + } +}; +CSSClassList$1.prototype.addClassValueHandler = function() { + Object.defineProperty(this.parentNode.attributes, "class", { get: this.getClassValue.bind(this), set: this.setClassValue.bind(this), enumerable: true, configurable: true }); +}; +CSSClassList$1.prototype.getClassValue = function() { + var arrClassNames = Array.from(this.classNames); + return arrClassNames.join(" "); +}; +CSSClassList$1.prototype.setClassValue = function(newValue) { + if (typeof newValue === "undefined") { + this.classNames.clear(); + return; + } + var arrClassNames = newValue.split(" "); + this.classNames = new Set(arrClassNames); +}; +CSSClassList$1.prototype.add = function() { + this.addClassValueHandler(); + Object.values(arguments).forEach(this._addSingle.bind(this)); +}; +CSSClassList$1.prototype._addSingle = function(className) { + this.classNames.add(className); +}; +CSSClassList$1.prototype.remove = function() { + this.addClassValueHandler(); + Object.values(arguments).forEach(this._removeSingle.bind(this)); +}; +CSSClassList$1.prototype._removeSingle = function(className) { + this.classNames.delete(className); +}; +CSSClassList$1.prototype.item = function(index) { + var arrClassNames = Array.from(this.classNames); + return arrClassNames[index]; +}; +CSSClassList$1.prototype.toggle = function(className, force) { + if (this.contains(className) || force === false) { + this.classNames.delete(className); + } + this.classNames.add(className); +}; +CSSClassList$1.prototype.contains = function(className) { + return this.classNames.has(className); +}; +var cssClassList = CSSClassList$1; +var csstree_min = { exports: {} }; +(function(module2, exports) { + !function(e, t) { + module2.exports = t(); + }(commonjsGlobal, function() { + function e(e2) { + return { prev: null, next: null, data: e2 }; + } + function t(e2, t2, n2) { + var i2; + return r !== null ? (i2 = r, r = r.cursor, i2.prev = t2, i2.next = n2, i2.cursor = e2.cursor) : i2 = { prev: t2, next: n2, cursor: e2.cursor }, e2.cursor = i2, i2; + } + function n(e2) { + var t2 = e2.cursor; + e2.cursor = t2.cursor, t2.prev = null, t2.next = null, t2.cursor = r, r = t2; + } + var r = null, i = function() { + this.cursor = null, this.head = null, this.tail = null; + }; + i.createItem = e, i.prototype.createItem = e, i.prototype.updateCursors = function(e2, t2, n2, r2) { + for (var i2 = this.cursor; i2 !== null; ) + i2.prev === e2 && (i2.prev = t2), i2.next === n2 && (i2.next = r2), i2 = i2.cursor; + }, i.prototype.getSize = function() { + for (var e2 = 0, t2 = this.head; t2; ) + e2++, t2 = t2.next; + return e2; + }, i.prototype.fromArray = function(t2) { + var n2 = null; + this.head = null; + for (var r2 = 0; r2 < t2.length; r2++) { + var i2 = e(t2[r2]); + n2 !== null ? n2.next = i2 : this.head = i2, i2.prev = n2, n2 = i2; + } + return this.tail = n2, this; + }, i.prototype.toArray = function() { + for (var e2 = this.head, t2 = []; e2; ) + t2.push(e2.data), e2 = e2.next; + return t2; + }, i.prototype.toJSON = i.prototype.toArray, i.prototype.isEmpty = function() { + return this.head === null; + }, i.prototype.first = function() { + return this.head && this.head.data; + }, i.prototype.last = function() { + return this.tail && this.tail.data; + }, i.prototype.each = function(e2, r2) { + var i2; + r2 === void 0 && (r2 = this); + for (var a2 = t(this, null, this.head); a2.next !== null; ) + i2 = a2.next, a2.next = i2.next, e2.call(r2, i2.data, i2, this); + n(this); + }, i.prototype.forEach = i.prototype.each, i.prototype.eachRight = function(e2, r2) { + var i2; + r2 === void 0 && (r2 = this); + for (var a2 = t(this, this.tail, null); a2.prev !== null; ) + i2 = a2.prev, a2.prev = i2.prev, e2.call(r2, i2.data, i2, this); + n(this); + }, i.prototype.forEachRight = i.prototype.eachRight, i.prototype.reduce = function(e2, r2, i2) { + var a2; + i2 === void 0 && (i2 = this); + for (var o2 = t(this, null, this.head), s2 = r2; o2.next !== null; ) + a2 = o2.next, o2.next = a2.next, s2 = e2.call(i2, s2, a2.data, a2, this); + return n(this), s2; + }, i.prototype.reduceRight = function(e2, r2, i2) { + var a2; + i2 === void 0 && (i2 = this); + for (var o2 = t(this, this.tail, null), s2 = r2; o2.prev !== null; ) + a2 = o2.prev, o2.prev = a2.prev, s2 = e2.call(i2, s2, a2.data, a2, this); + return n(this), s2; + }, i.prototype.nextUntil = function(e2, r2, i2) { + if (e2 !== null) { + var a2; + i2 === void 0 && (i2 = this); + for (var o2 = t(this, null, e2); o2.next !== null && (a2 = o2.next, o2.next = a2.next, !r2.call(i2, a2.data, a2, this)); ) + ; + n(this); + } + }, i.prototype.prevUntil = function(e2, r2, i2) { + if (e2 !== null) { + var a2; + i2 === void 0 && (i2 = this); + for (var o2 = t(this, e2, null); o2.prev !== null && (a2 = o2.prev, o2.prev = a2.prev, !r2.call(i2, a2.data, a2, this)); ) + ; + n(this); + } + }, i.prototype.some = function(e2, t2) { + var n2 = this.head; + for (t2 === void 0 && (t2 = this); n2 !== null; ) { + if (e2.call(t2, n2.data, n2, this)) + return true; + n2 = n2.next; + } + return false; + }, i.prototype.map = function(e2, t2) { + var n2 = new i(), r2 = this.head; + for (t2 === void 0 && (t2 = this); r2 !== null; ) + n2.appendData(e2.call(t2, r2.data, r2, this)), r2 = r2.next; + return n2; + }, i.prototype.filter = function(e2, t2) { + var n2 = new i(), r2 = this.head; + for (t2 === void 0 && (t2 = this); r2 !== null; ) + e2.call(t2, r2.data, r2, this) && n2.appendData(r2.data), r2 = r2.next; + return n2; + }, i.prototype.clear = function() { + this.head = null, this.tail = null; + }, i.prototype.copy = function() { + for (var t2 = new i(), n2 = this.head; n2 !== null; ) + t2.insert(e(n2.data)), n2 = n2.next; + return t2; + }, i.prototype.prepend = function(e2) { + return this.updateCursors(null, e2, this.head, e2), this.head !== null ? (this.head.prev = e2, e2.next = this.head) : this.tail = e2, this.head = e2, this; + }, i.prototype.prependData = function(t2) { + return this.prepend(e(t2)); + }, i.prototype.append = function(e2) { + return this.insert(e2); + }, i.prototype.appendData = function(t2) { + return this.insert(e(t2)); + }, i.prototype.insert = function(e2, t2) { + if (t2 != null) + if (this.updateCursors(t2.prev, e2, t2, e2), t2.prev === null) { + if (this.head !== t2) + throw new Error("before doesn't belong to list"); + this.head = e2, t2.prev = e2, e2.next = t2, this.updateCursors(null, e2); + } else + t2.prev.next = e2, e2.prev = t2.prev, t2.prev = e2, e2.next = t2; + else + this.updateCursors(this.tail, e2, null, e2), this.tail !== null ? (this.tail.next = e2, e2.prev = this.tail) : this.head = e2, this.tail = e2; + return this; + }, i.prototype.insertData = function(t2, n2) { + return this.insert(e(t2), n2); + }, i.prototype.remove = function(e2) { + if (this.updateCursors(e2, e2.prev, e2, e2.next), e2.prev !== null) + e2.prev.next = e2.next; + else { + if (this.head !== e2) + throw new Error("item doesn't belong to list"); + this.head = e2.next; + } + if (e2.next !== null) + e2.next.prev = e2.prev; + else { + if (this.tail !== e2) + throw new Error("item doesn't belong to list"); + this.tail = e2.prev; + } + return e2.prev = null, e2.next = null, e2; + }, i.prototype.push = function(t2) { + this.insert(e(t2)); + }, i.prototype.pop = function() { + if (this.tail !== null) + return this.remove(this.tail); + }, i.prototype.unshift = function(t2) { + this.prepend(e(t2)); + }, i.prototype.shift = function() { + if (this.head !== null) + return this.remove(this.head); + }, i.prototype.prependList = function(e2) { + return this.insertList(e2, this.head); + }, i.prototype.appendList = function(e2) { + return this.insertList(e2); + }, i.prototype.insertList = function(e2, t2) { + return e2.head === null || (t2 != null ? (this.updateCursors(t2.prev, e2.tail, t2, e2.head), t2.prev !== null ? (t2.prev.next = e2.head, e2.head.prev = t2.prev) : this.head = e2.head, t2.prev = e2.tail, e2.tail.next = t2) : (this.updateCursors(this.tail, e2.tail, null, e2.head), this.tail !== null ? (this.tail.next = e2.head, e2.head.prev = this.tail) : this.head = e2.head, this.tail = e2.tail), e2.head = null, e2.tail = null), this; + }, i.prototype.replace = function(e2, t2) { + "head" in t2 ? this.insertList(t2, e2) : this.insert(t2, e2), this.remove(e2); + }; + var a = i, o = function(e2, t2) { + var n2 = Object.create(SyntaxError.prototype), r2 = new Error(); + return n2.name = e2, n2.message = t2, Object.defineProperty(n2, "stack", { get: function() { + return (r2.stack || "").replace(/^(.+\n){1,3}/, e2 + ": " + t2 + "\n"); + } }), n2; + }; + function s(e2, t2) { + function n2(e3, t3) { + return r2.slice(e3, t3).map(function(t4, n3) { + for (var r3 = String(e3 + n3 + 1); r3.length < l2; ) + r3 = " " + r3; + return r3 + " |" + t4; + }).join("\n"); + } + var r2 = e2.source.split(/\r\n?|\n|\f/), i2 = e2.line, a2 = e2.column, o2 = Math.max(1, i2 - t2) - 1, s2 = Math.min(i2 + t2, r2.length + 1), l2 = Math.max(4, String(s2).length) + 1, c2 = 0; + (a2 += (" ".length - 1) * (r2[i2 - 1].substr(0, a2 - 1).match(/\t/g) || []).length) > 100 && (c2 = a2 - 60 + 3, a2 = 58); + for (var u2 = o2; u2 <= s2; u2++) + u2 >= 0 && u2 < r2.length && (r2[u2] = r2[u2].replace(/\t/g, " "), r2[u2] = (c2 > 0 && r2[u2].length > c2 ? "\u2026" : "") + r2[u2].substr(c2, 98) + (r2[u2].length > c2 + 100 - 1 ? "\u2026" : "")); + return [n2(o2, i2), new Array(a2 + l2 + 2).join("-") + "^", n2(i2, s2)].filter(Boolean).join("\n"); + } + var l = function(e2, t2, n2, r2, i2) { + var a2 = o("SyntaxError", e2); + return a2.source = t2, a2.offset = n2, a2.line = r2, a2.column = i2, a2.sourceFragment = function(e3) { + return s(a2, isNaN(e3) ? 0 : e3); + }, Object.defineProperty(a2, "formattedMessage", { get: function() { + return "Parse error: " + a2.message + "\n" + s(a2, 2); + } }), a2.parseError = { offset: n2, line: r2, column: i2 }, a2; + }, c = { EOF: 0, Ident: 1, Function: 2, AtKeyword: 3, Hash: 4, String: 5, BadString: 6, Url: 7, BadUrl: 8, Delim: 9, Number: 10, Percentage: 11, Dimension: 12, WhiteSpace: 13, CDO: 14, CDC: 15, Colon: 16, Semicolon: 17, Comma: 18, LeftSquareBracket: 19, RightSquareBracket: 20, LeftParenthesis: 21, RightParenthesis: 22, LeftCurlyBracket: 23, RightCurlyBracket: 24, Comment: 25 }, u = Object.keys(c).reduce(function(e2, t2) { + return e2[c[t2]] = t2, e2; + }, {}), h = { TYPE: c, NAME: u }; + function p(e2) { + return e2 >= 48 && e2 <= 57; + } + function d(e2) { + return e2 >= 65 && e2 <= 90; + } + function m(e2) { + return e2 >= 97 && e2 <= 122; + } + function g2(e2) { + return d(e2) || m(e2); + } + function f(e2) { + return e2 >= 128; + } + function b(e2) { + return g2(e2) || f(e2) || e2 === 95; + } + function y(e2) { + return e2 >= 0 && e2 <= 8 || e2 === 11 || e2 >= 14 && e2 <= 31 || e2 === 127; + } + function k(e2) { + return e2 === 10 || e2 === 13 || e2 === 12; + } + function v(e2) { + return k(e2) || e2 === 32 || e2 === 9; + } + function x(e2, t2) { + return e2 === 92 && (!k(t2) && t2 !== 0); + } + var w = new Array(128); + C.Eof = 128, C.WhiteSpace = 130, C.Digit = 131, C.NameStart = 132, C.NonPrintable = 133; + for (var S = 0; S < w.length; S++) + switch (true) { + case v(S): + w[S] = C.WhiteSpace; + break; + case p(S): + w[S] = C.Digit; + break; + case b(S): + w[S] = C.NameStart; + break; + case y(S): + w[S] = C.NonPrintable; + break; + default: + w[S] = S || C.Eof; + } + function C(e2) { + return e2 < 128 ? w[e2] : C.NameStart; + } + var z = { isDigit: p, isHexDigit: function(e2) { + return p(e2) || e2 >= 65 && e2 <= 70 || e2 >= 97 && e2 <= 102; + }, isUppercaseLetter: d, isLowercaseLetter: m, isLetter: g2, isNonAscii: f, isNameStart: b, isName: function(e2) { + return b(e2) || p(e2) || e2 === 45; + }, isNonPrintable: y, isNewline: k, isWhiteSpace: v, isValidEscape: x, isIdentifierStart: function(e2, t2, n2) { + return e2 === 45 ? b(t2) || t2 === 45 || x(t2, n2) : !!b(e2) || e2 === 92 && x(e2, t2); + }, isNumberStart: function(e2, t2, n2) { + return e2 === 43 || e2 === 45 ? p(t2) ? 2 : t2 === 46 && p(n2) ? 3 : 0 : e2 === 46 ? p(t2) ? 2 : 0 : p(e2) ? 1 : 0; + }, isBOM: function(e2) { + return e2 === 65279 || e2 === 65534 ? 1 : 0; + }, charCodeCategory: C }, A = z.isDigit, P = z.isHexDigit, T = z.isUppercaseLetter, L = z.isName, E = z.isWhiteSpace, D = z.isValidEscape; + function O(e2, t2) { + return t2 < e2.length ? e2.charCodeAt(t2) : 0; + } + function B(e2, t2, n2) { + return n2 === 13 && O(e2, t2 + 1) === 10 ? 2 : 1; + } + function I(e2, t2, n2) { + var r2 = e2.charCodeAt(t2); + return T(r2) && (r2 |= 32), r2 === n2; + } + function N(e2, t2) { + for (; t2 < e2.length && A(e2.charCodeAt(t2)); t2++) + ; + return t2; + } + function R(e2, t2) { + if (P(O(e2, (t2 += 2) - 1))) { + for (var n2 = Math.min(e2.length, t2 + 5); t2 < n2 && P(O(e2, t2)); t2++) + ; + var r2 = O(e2, t2); + E(r2) && (t2 += B(e2, t2, r2)); + } + return t2; + } + var M = { consumeEscaped: R, consumeName: function(e2, t2) { + for (; t2 < e2.length; t2++) { + var n2 = e2.charCodeAt(t2); + if (!L(n2)) { + if (!D(n2, O(e2, t2 + 1))) + break; + t2 = R(e2, t2) - 1; + } + } + return t2; + }, consumeNumber: function(e2, t2) { + var n2 = e2.charCodeAt(t2); + if (n2 !== 43 && n2 !== 45 || (n2 = e2.charCodeAt(t2 += 1)), A(n2) && (t2 = N(e2, t2 + 1), n2 = e2.charCodeAt(t2)), n2 === 46 && A(e2.charCodeAt(t2 + 1)) && (n2 = e2.charCodeAt(t2 += 2), t2 = N(e2, t2)), I(e2, t2, 101)) { + var r2 = 0; + (n2 = e2.charCodeAt(t2 + 1)) !== 45 && n2 !== 43 || (r2 = 1, n2 = e2.charCodeAt(t2 + 2)), A(n2) && (t2 = N(e2, t2 + 1 + r2 + 1)); + } + return t2; + }, consumeBadUrlRemnants: function(e2, t2) { + for (; t2 < e2.length; t2++) { + var n2 = e2.charCodeAt(t2); + if (n2 === 41) { + t2++; + break; + } + D(n2, O(e2, t2 + 1)) && (t2 = R(e2, t2)); + } + return t2; + }, cmpChar: I, cmpStr: function(e2, t2, n2, r2) { + if (n2 - t2 !== r2.length) + return false; + if (t2 < 0 || n2 > e2.length) + return false; + for (var i2 = t2; i2 < n2; i2++) { + var a2 = e2.charCodeAt(i2), o2 = r2.charCodeAt(i2 - t2); + if (T(a2) && (a2 |= 32), a2 !== o2) + return false; + } + return true; + }, getNewlineLength: B, findWhiteSpaceStart: function(e2, t2) { + for (; t2 >= 0 && E(e2.charCodeAt(t2)); t2--) + ; + return t2 + 1; + }, findWhiteSpaceEnd: function(e2, t2) { + for (; t2 < e2.length && E(e2.charCodeAt(t2)); t2++) + ; + return t2; + } }, j = h.TYPE, _ = h.NAME, F = M.cmpStr, W = j.EOF, q = j.WhiteSpace, Y = j.Comment, U = function() { + this.offsetAndType = null, this.balance = null, this.reset(); + }; + U.prototype = { reset: function() { + this.eof = false, this.tokenIndex = -1, this.tokenType = 0, this.tokenStart = this.firstCharOffset, this.tokenEnd = this.firstCharOffset; + }, lookupType: function(e2) { + return (e2 += this.tokenIndex) < this.tokenCount ? this.offsetAndType[e2] >> 24 : W; + }, lookupOffset: function(e2) { + return (e2 += this.tokenIndex) < this.tokenCount ? 16777215 & this.offsetAndType[e2 - 1] : this.source.length; + }, lookupValue: function(e2, t2) { + return (e2 += this.tokenIndex) < this.tokenCount && F(this.source, 16777215 & this.offsetAndType[e2 - 1], 16777215 & this.offsetAndType[e2], t2); + }, getTokenStart: function(e2) { + return e2 === this.tokenIndex ? this.tokenStart : e2 > 0 ? e2 < this.tokenCount ? 16777215 & this.offsetAndType[e2 - 1] : 16777215 & this.offsetAndType[this.tokenCount] : this.firstCharOffset; + }, getRawLength: function(e2, t2) { + var n2, r2 = e2, i2 = 16777215 & this.offsetAndType[Math.max(r2 - 1, 0)]; + e: + for (; r2 < this.tokenCount && !((n2 = this.balance[r2]) < e2); r2++) + switch (t2(this.offsetAndType[r2] >> 24, this.source, i2)) { + case 1: + break e; + case 2: + r2++; + break e; + default: + this.balance[n2] === r2 && (r2 = n2), i2 = 16777215 & this.offsetAndType[r2]; + } + return r2 - this.tokenIndex; + }, isBalanceEdge: function(e2) { + return this.balance[this.tokenIndex] < e2; + }, isDelim: function(e2, t2) { + return t2 ? this.lookupType(t2) === j.Delim && this.source.charCodeAt(this.lookupOffset(t2)) === e2 : this.tokenType === j.Delim && this.source.charCodeAt(this.tokenStart) === e2; + }, getTokenValue: function() { + return this.source.substring(this.tokenStart, this.tokenEnd); + }, getTokenLength: function() { + return this.tokenEnd - this.tokenStart; + }, substrToCursor: function(e2) { + return this.source.substring(e2, this.tokenStart); + }, skipWS: function() { + for (var e2 = this.tokenIndex, t2 = 0; e2 < this.tokenCount && this.offsetAndType[e2] >> 24 === q; e2++, t2++) + ; + t2 > 0 && this.skip(t2); + }, skipSC: function() { + for (; this.tokenType === q || this.tokenType === Y; ) + this.next(); + }, skip: function(e2) { + var t2 = this.tokenIndex + e2; + t2 < this.tokenCount ? (this.tokenIndex = t2, this.tokenStart = 16777215 & this.offsetAndType[t2 - 1], t2 = this.offsetAndType[t2], this.tokenType = t2 >> 24, this.tokenEnd = 16777215 & t2) : (this.tokenIndex = this.tokenCount, this.next()); + }, next: function() { + var e2 = this.tokenIndex + 1; + e2 < this.tokenCount ? (this.tokenIndex = e2, this.tokenStart = this.tokenEnd, e2 = this.offsetAndType[e2], this.tokenType = e2 >> 24, this.tokenEnd = 16777215 & e2) : (this.tokenIndex = this.tokenCount, this.eof = true, this.tokenType = W, this.tokenStart = this.tokenEnd = this.source.length); + }, forEachToken(e2) { + for (var t2 = 0, n2 = this.firstCharOffset; t2 < this.tokenCount; t2++) { + var r2 = n2, i2 = this.offsetAndType[t2], a2 = 16777215 & i2; + n2 = a2, e2(i2 >> 24, r2, a2, t2); + } + }, dump() { + var e2 = new Array(this.tokenCount); + return this.forEachToken((t2, n2, r2, i2) => { + e2[i2] = { idx: i2, type: _[t2], chunk: this.source.substring(n2, r2), balance: this.balance[i2] }; + }), e2; + } }; + var H = U; + function V(e2) { + return e2; + } + function K(e2, t2, n2, r2) { + var i2, a2; + switch (e2.type) { + case "Group": + i2 = function(e3, t3, n3, r3) { + var i3 = e3.combinator === " " || r3 ? e3.combinator : " " + e3.combinator + " ", a3 = e3.terms.map(function(e4) { + return K(e4, t3, n3, r3); + }).join(i3); + return (e3.explicit || n3) && (a3 = (r3 || a3[0] === "," ? "[" : "[ ") + a3 + (r3 ? "]" : " ]")), a3; + }(e2, t2, n2, r2) + (e2.disallowEmpty ? "!" : ""); + break; + case "Multiplier": + return K(e2.term, t2, n2, r2) + t2((a2 = e2).min === 0 && a2.max === 0 ? "*" : a2.min === 0 && a2.max === 1 ? "?" : a2.min === 1 && a2.max === 0 ? a2.comma ? "#" : "+" : a2.min === 1 && a2.max === 1 ? "" : (a2.comma ? "#" : "") + (a2.min === a2.max ? "{" + a2.min + "}" : "{" + a2.min + "," + (a2.max !== 0 ? a2.max : "") + "}"), e2); + case "Type": + i2 = "<" + e2.name + (e2.opts ? t2(function(e3) { + switch (e3.type) { + case "Range": + return " [" + (e3.min === null ? "-\u221E" : e3.min) + "," + (e3.max === null ? "\u221E" : e3.max) + "]"; + default: + throw new Error("Unknown node type `" + e3.type + "`"); + } + }(e2.opts), e2.opts) : "") + ">"; + break; + case "Property": + i2 = "<'" + e2.name + "'>"; + break; + case "Keyword": + i2 = e2.name; + break; + case "AtKeyword": + i2 = "@" + e2.name; + break; + case "Function": + i2 = e2.name + "("; + break; + case "String": + case "Token": + i2 = e2.value; + break; + case "Comma": + i2 = ","; + break; + default: + throw new Error("Unknown node type `" + e2.type + "`"); + } + return t2(i2, e2); + } + var G = function(e2, t2) { + var n2 = V, r2 = false, i2 = false; + return typeof t2 == "function" ? n2 = t2 : t2 && (r2 = Boolean(t2.forceBraces), i2 = Boolean(t2.compact), typeof t2.decorate == "function" && (n2 = t2.decorate)), K(e2, n2, r2, i2); + }; + const Q = { offset: 0, line: 1, column: 1 }; + function X(e2, t2) { + const n2 = e2 && e2.loc && e2.loc[t2]; + return n2 ? "line" in n2 ? Z(n2) : n2 : null; + } + function Z({ offset: e2, line: t2, column: n2 }, r2) { + const i2 = { offset: e2, line: t2, column: n2 }; + if (r2) { + const e3 = r2.split(/\n|\r\n?|\f/); + i2.offset += r2.length, i2.line += e3.length - 1, i2.column = e3.length === 1 ? i2.column + r2.length : e3.pop().length + 1; + } + return i2; + } + var $ = function(e2, t2) { + const n2 = o("SyntaxReferenceError", e2 + (t2 ? " `" + t2 + "`" : "")); + return n2.reference = t2, n2; + }, J = function(e2, t2, n2, r2) { + const i2 = o("SyntaxMatchError", e2), { css: a2, mismatchOffset: s2, mismatchLength: l2, start: c2, end: u2 } = function(e3, t3) { + const n3 = e3.tokens, r3 = e3.longestMatch, i3 = r3 < n3.length && n3[r3].node || null, a3 = i3 !== t3 ? i3 : null; + let o2, s3, l3 = 0, c3 = 0, u3 = 0, h2 = ""; + for (let e4 = 0; e4 < n3.length; e4++) { + const t4 = n3[e4].value; + e4 === r3 && (c3 = t4.length, l3 = h2.length), a3 !== null && n3[e4].node === a3 && (e4 <= r3 ? u3++ : u3 = 0), h2 += t4; + } + return r3 === n3.length || u3 > 1 ? (o2 = X(a3 || t3, "end") || Z(Q, h2), s3 = Z(o2)) : (o2 = X(a3, "start") || Z(X(t3, "start") || Q, h2.slice(0, l3)), s3 = X(a3, "end") || Z(o2, h2.substr(l3, c3))), { css: h2, mismatchOffset: l3, mismatchLength: c3, start: o2, end: s3 }; + }(r2, n2); + return i2.rawMessage = e2, i2.syntax = t2 ? G(t2) : "", i2.css = a2, i2.mismatchOffset = s2, i2.mismatchLength = l2, i2.message = e2 + "\n syntax: " + i2.syntax + "\n value: " + (a2 || "") + "\n --------" + new Array(i2.mismatchOffset + 1).join("-") + "^", Object.assign(i2, c2), i2.loc = { source: n2 && n2.loc && n2.loc.source || "", start: c2, end: u2 }, i2; + }, ee2 = Object.prototype.hasOwnProperty, te = Object.create(null), ne2 = Object.create(null); + function re(e2, t2) { + return t2 = t2 || 0, e2.length - t2 >= 2 && e2.charCodeAt(t2) === 45 && e2.charCodeAt(t2 + 1) === 45; + } + function ie(e2, t2) { + if (t2 = t2 || 0, e2.length - t2 >= 3 && e2.charCodeAt(t2) === 45 && e2.charCodeAt(t2 + 1) !== 45) { + var n2 = e2.indexOf("-", t2 + 2); + if (n2 !== -1) + return e2.substring(t2, n2 + 1); + } + return ""; + } + var ae = { keyword: function(e2) { + if (ee2.call(te, e2)) + return te[e2]; + var t2 = e2.toLowerCase(); + if (ee2.call(te, t2)) + return te[e2] = te[t2]; + var n2 = re(t2, 0), r2 = n2 ? "" : ie(t2, 0); + return te[e2] = Object.freeze({ basename: t2.substr(r2.length), name: t2, vendor: r2, prefix: r2, custom: n2 }); + }, property: function(e2) { + if (ee2.call(ne2, e2)) + return ne2[e2]; + var t2 = e2, n2 = e2[0]; + n2 === "/" ? n2 = e2[1] === "/" ? "//" : "/" : n2 !== "_" && n2 !== "*" && n2 !== "$" && n2 !== "#" && n2 !== "+" && n2 !== "&" && (n2 = ""); + var r2 = re(t2, n2.length); + if (!r2 && (t2 = t2.toLowerCase(), ee2.call(ne2, t2))) + return ne2[e2] = ne2[t2]; + var i2 = r2 ? "" : ie(t2, n2.length), a2 = t2.substr(0, n2.length + i2.length); + return ne2[e2] = Object.freeze({ basename: t2.substr(a2.length), name: t2.substr(n2.length), hack: n2, vendor: i2, prefix: a2, custom: r2 }); + }, isCustomProperty: re, vendorPrefix: ie }, oe = typeof Uint32Array != "undefined" ? Uint32Array : Array, se = function(e2, t2) { + return e2 === null || e2.length < t2 ? new oe(Math.max(t2 + 1024, 16384)) : e2; + }, le2 = h.TYPE, ce = z.isNewline, ue = z.isName, he = z.isValidEscape, pe = z.isNumberStart, de = z.isIdentifierStart, me = z.charCodeCategory, ge2 = z.isBOM, fe = M.cmpStr, be = M.getNewlineLength, ye = M.findWhiteSpaceEnd, ke = M.consumeEscaped, ve = M.consumeName, xe = M.consumeNumber, we = M.consumeBadUrlRemnants; + function Se(e2, t2) { + function n2(t3) { + return t3 < o2 ? e2.charCodeAt(t3) : 0; + } + function r2() { + return h2 = xe(e2, h2), de(n2(h2), n2(h2 + 1), n2(h2 + 2)) ? (f2 = le2.Dimension, void (h2 = ve(e2, h2))) : n2(h2) === 37 ? (f2 = le2.Percentage, void h2++) : void (f2 = le2.Number); + } + function i2() { + const t3 = h2; + return h2 = ve(e2, h2), fe(e2, t3, h2, "url") && n2(h2) === 40 ? n2(h2 = ye(e2, h2 + 1)) === 34 || n2(h2) === 39 ? (f2 = le2.Function, void (h2 = t3 + 4)) : void function() { + for (f2 = le2.Url, h2 = ye(e2, h2); h2 < e2.length; h2++) { + var t4 = e2.charCodeAt(h2); + switch (me(t4)) { + case 41: + return void h2++; + case me.Eof: + return; + case me.WhiteSpace: + return n2(h2 = ye(e2, h2)) === 41 || h2 >= e2.length ? void (h2 < e2.length && h2++) : (h2 = we(e2, h2), void (f2 = le2.BadUrl)); + case 34: + case 39: + case 40: + case me.NonPrintable: + return h2 = we(e2, h2), void (f2 = le2.BadUrl); + case 92: + if (he(t4, n2(h2 + 1))) { + h2 = ke(e2, h2) - 1; + break; + } + return h2 = we(e2, h2), void (f2 = le2.BadUrl); + } + } + }() : n2(h2) === 40 ? (f2 = le2.Function, void h2++) : void (f2 = le2.Ident); + } + function a2(t3) { + for (t3 || (t3 = n2(h2++)), f2 = le2.String; h2 < e2.length; h2++) { + var r3 = e2.charCodeAt(h2); + switch (me(r3)) { + case t3: + return void h2++; + case me.Eof: + return; + case me.WhiteSpace: + if (ce(r3)) + return h2 += be(e2, h2, r3), void (f2 = le2.BadString); + break; + case 92: + if (h2 === e2.length - 1) + break; + var i3 = n2(h2 + 1); + ce(i3) ? h2 += be(e2, h2 + 1, i3) : he(r3, i3) && (h2 = ke(e2, h2) - 1); + } + } + } + t2 || (t2 = new H()); + for (var o2 = (e2 = String(e2 || "")).length, s2 = se(t2.offsetAndType, o2 + 1), l2 = se(t2.balance, o2 + 1), c2 = 0, u2 = ge2(n2(0)), h2 = u2, p2 = 0, d2 = 0, m2 = 0; h2 < o2; ) { + var g3 = e2.charCodeAt(h2), f2 = 0; + switch (l2[c2] = o2, me(g3)) { + case me.WhiteSpace: + f2 = le2.WhiteSpace, h2 = ye(e2, h2 + 1); + break; + case 34: + a2(); + break; + case 35: + ue(n2(h2 + 1)) || he(n2(h2 + 1), n2(h2 + 2)) ? (f2 = le2.Hash, h2 = ve(e2, h2 + 1)) : (f2 = le2.Delim, h2++); + break; + case 39: + a2(); + break; + case 40: + f2 = le2.LeftParenthesis, h2++; + break; + case 41: + f2 = le2.RightParenthesis, h2++; + break; + case 43: + pe(g3, n2(h2 + 1), n2(h2 + 2)) ? r2() : (f2 = le2.Delim, h2++); + break; + case 44: + f2 = le2.Comma, h2++; + break; + case 45: + pe(g3, n2(h2 + 1), n2(h2 + 2)) ? r2() : n2(h2 + 1) === 45 && n2(h2 + 2) === 62 ? (f2 = le2.CDC, h2 += 3) : de(g3, n2(h2 + 1), n2(h2 + 2)) ? i2() : (f2 = le2.Delim, h2++); + break; + case 46: + pe(g3, n2(h2 + 1), n2(h2 + 2)) ? r2() : (f2 = le2.Delim, h2++); + break; + case 47: + n2(h2 + 1) === 42 ? (f2 = le2.Comment, (h2 = e2.indexOf("*/", h2 + 2) + 2) === 1 && (h2 = e2.length)) : (f2 = le2.Delim, h2++); + break; + case 58: + f2 = le2.Colon, h2++; + break; + case 59: + f2 = le2.Semicolon, h2++; + break; + case 60: + n2(h2 + 1) === 33 && n2(h2 + 2) === 45 && n2(h2 + 3) === 45 ? (f2 = le2.CDO, h2 += 4) : (f2 = le2.Delim, h2++); + break; + case 64: + de(n2(h2 + 1), n2(h2 + 2), n2(h2 + 3)) ? (f2 = le2.AtKeyword, h2 = ve(e2, h2 + 1)) : (f2 = le2.Delim, h2++); + break; + case 91: + f2 = le2.LeftSquareBracket, h2++; + break; + case 92: + he(g3, n2(h2 + 1)) ? i2() : (f2 = le2.Delim, h2++); + break; + case 93: + f2 = le2.RightSquareBracket, h2++; + break; + case 123: + f2 = le2.LeftCurlyBracket, h2++; + break; + case 125: + f2 = le2.RightCurlyBracket, h2++; + break; + case me.Digit: + r2(); + break; + case me.NameStart: + i2(); + break; + case me.Eof: + break; + default: + f2 = le2.Delim, h2++; + } + switch (f2) { + case p2: + for (p2 = (d2 = l2[m2 = 16777215 & d2]) >> 24, l2[c2] = m2, l2[m2++] = c2; m2 < c2; m2++) + l2[m2] === o2 && (l2[m2] = c2); + break; + case le2.LeftParenthesis: + case le2.Function: + l2[c2] = d2, d2 = (p2 = le2.RightParenthesis) << 24 | c2; + break; + case le2.LeftSquareBracket: + l2[c2] = d2, d2 = (p2 = le2.RightSquareBracket) << 24 | c2; + break; + case le2.LeftCurlyBracket: + l2[c2] = d2, d2 = (p2 = le2.RightCurlyBracket) << 24 | c2; + } + s2[c2++] = f2 << 24 | h2; + } + for (s2[c2] = le2.EOF << 24 | h2, l2[c2] = o2, l2[o2] = o2; d2 !== 0; ) + d2 = l2[m2 = 16777215 & d2], l2[m2] = o2; + return t2.source = e2, t2.firstCharOffset = u2, t2.offsetAndType = s2, t2.tokenCount = c2, t2.balance = l2, t2.reset(), t2.next(), t2; + } + Object.keys(h).forEach(function(e2) { + Se[e2] = h[e2]; + }), Object.keys(z).forEach(function(e2) { + Se[e2] = z[e2]; + }), Object.keys(M).forEach(function(e2) { + Se[e2] = M[e2]; + }); + var Ce = Se, ze = Ce.isDigit, Ae = Ce.cmpChar, Pe = Ce.TYPE, Te = Pe.Delim, Le = Pe.WhiteSpace, Ee = Pe.Comment, De = Pe.Ident, Oe = Pe.Number, Be = Pe.Dimension; + function Ie(e2, t2) { + return e2 !== null && e2.type === Te && e2.value.charCodeAt(0) === t2; + } + function Ne(e2, t2, n2) { + for (; e2 !== null && (e2.type === Le || e2.type === Ee); ) + e2 = n2(++t2); + return t2; + } + function Re2(e2, t2, n2, r2) { + if (!e2) + return 0; + var i2 = e2.value.charCodeAt(t2); + if (i2 === 43 || i2 === 45) { + if (n2) + return 0; + t2++; + } + for (; t2 < e2.value.length; t2++) + if (!ze(e2.value.charCodeAt(t2))) + return 0; + return r2 + 1; + } + function Me(e2, t2, n2) { + var r2 = false, i2 = Ne(e2, t2, n2); + if ((e2 = n2(i2)) === null) + return t2; + if (e2.type !== Oe) { + if (!Ie(e2, 43) && !Ie(e2, 45)) + return t2; + if (r2 = true, i2 = Ne(n2(++i2), i2, n2), (e2 = n2(i2)) === null && e2.type !== Oe) + return 0; + } + if (!r2) { + var a2 = e2.value.charCodeAt(0); + if (a2 !== 43 && a2 !== 45) + return 0; + } + return Re2(e2, r2 ? 0 : 1, r2, i2); + } + var je = Ce.isHexDigit, _e = Ce.cmpChar, Fe = Ce.TYPE, We = Fe.Ident, qe = Fe.Delim, Ye = Fe.Number, Ue = Fe.Dimension; + function He(e2, t2) { + return e2 !== null && e2.type === qe && e2.value.charCodeAt(0) === t2; + } + function Ve(e2, t2) { + return e2.value.charCodeAt(0) === t2; + } + function Ke(e2, t2, n2) { + for (var r2 = t2, i2 = 0; r2 < e2.value.length; r2++) { + var a2 = e2.value.charCodeAt(r2); + if (a2 === 45 && n2 && i2 !== 0) + return Ke(e2, t2 + i2 + 1, false) > 0 ? 6 : 0; + if (!je(a2)) + return 0; + if (++i2 > 6) + return 0; + } + return i2; + } + function Ge(e2, t2, n2) { + if (!e2) + return 0; + for (; He(n2(t2), 63); ) { + if (++e2 > 6) + return 0; + t2++; + } + return t2; + } + var Qe = Ce.isIdentifierStart, Xe = Ce.isHexDigit, Ze = Ce.isDigit, $e = Ce.cmpStr, Je = Ce.consumeNumber, et = Ce.TYPE, tt = ["unset", "initial", "inherit"], nt = ["calc(", "-moz-calc(", "-webkit-calc("]; + function rt(e2, t2) { + return t2 < e2.length ? e2.charCodeAt(t2) : 0; + } + function it2(e2, t2) { + return $e(e2, 0, e2.length, t2); + } + function at(e2, t2) { + for (var n2 = 0; n2 < t2.length; n2++) + if (it2(e2, t2[n2])) + return true; + return false; + } + function ot(e2, t2) { + return t2 === e2.length - 2 && (e2.charCodeAt(t2) === 92 && Ze(e2.charCodeAt(t2 + 1))); + } + function st(e2, t2, n2) { + if (e2 && e2.type === "Range") { + var r2 = Number(n2 !== void 0 && n2 !== t2.length ? t2.substr(0, n2) : t2); + if (isNaN(r2)) + return true; + if (e2.min !== null && r2 < e2.min) + return true; + if (e2.max !== null && r2 > e2.max) + return true; + } + return false; + } + function lt2(e2, t2) { + var n2 = e2.index, r2 = 0; + do { + if (r2++, e2.balance <= n2) + break; + } while (e2 = t2(r2)); + return r2; + } + function ct(e2) { + return function(t2, n2, r2) { + return t2 === null ? 0 : t2.type === et.Function && at(t2.value, nt) ? lt2(t2, n2) : e2(t2, n2, r2); + }; + } + function ut(e2) { + return function(t2) { + return t2 === null || t2.type !== e2 ? 0 : 1; + }; + } + function ht(e2) { + return function(t2, n2, r2) { + if (t2 === null || t2.type !== et.Dimension) + return 0; + var i2 = Je(t2.value, 0); + if (e2 !== null) { + var a2 = t2.value.indexOf("\\", i2), o2 = a2 !== -1 && ot(t2.value, a2) ? t2.value.substring(i2, a2) : t2.value.substr(i2); + if (e2.hasOwnProperty(o2.toLowerCase()) === false) + return 0; + } + return st(r2, t2.value, i2) ? 0 : 1; + }; + } + function pt(e2) { + return typeof e2 != "function" && (e2 = function() { + return 0; + }), function(t2, n2, r2) { + return t2 !== null && t2.type === et.Number && Number(t2.value) === 0 ? 1 : e2(t2, n2, r2); + }; + } + var dt, mt = { "ident-token": ut(et.Ident), "function-token": ut(et.Function), "at-keyword-token": ut(et.AtKeyword), "hash-token": ut(et.Hash), "string-token": ut(et.String), "bad-string-token": ut(et.BadString), "url-token": ut(et.Url), "bad-url-token": ut(et.BadUrl), "delim-token": ut(et.Delim), "number-token": ut(et.Number), "percentage-token": ut(et.Percentage), "dimension-token": ut(et.Dimension), "whitespace-token": ut(et.WhiteSpace), "CDO-token": ut(et.CDO), "CDC-token": ut(et.CDC), "colon-token": ut(et.Colon), "semicolon-token": ut(et.Semicolon), "comma-token": ut(et.Comma), "[-token": ut(et.LeftSquareBracket), "]-token": ut(et.RightSquareBracket), "(-token": ut(et.LeftParenthesis), ")-token": ut(et.RightParenthesis), "{-token": ut(et.LeftCurlyBracket), "}-token": ut(et.RightCurlyBracket), string: ut(et.String), ident: ut(et.Ident), "custom-ident": function(e2) { + if (e2 === null || e2.type !== et.Ident) + return 0; + var t2 = e2.value.toLowerCase(); + return at(t2, tt) || it2(t2, "default") ? 0 : 1; + }, "custom-property-name": function(e2) { + return e2 === null || e2.type !== et.Ident || rt(e2.value, 0) !== 45 || rt(e2.value, 1) !== 45 ? 0 : 1; + }, "hex-color": function(e2) { + if (e2 === null || e2.type !== et.Hash) + return 0; + var t2 = e2.value.length; + if (t2 !== 4 && t2 !== 5 && t2 !== 7 && t2 !== 9) + return 0; + for (var n2 = 1; n2 < t2; n2++) + if (!Xe(e2.value.charCodeAt(n2))) + return 0; + return 1; + }, "id-selector": function(e2) { + return e2 === null || e2.type !== et.Hash ? 0 : Qe(rt(e2.value, 1), rt(e2.value, 2), rt(e2.value, 3)) ? 1 : 0; + }, "an-plus-b": function(e2, t2) { + var n2 = 0; + if (!e2) + return 0; + if (e2.type === Oe) + return Re2(e2, 0, false, n2); + if (e2.type === De && e2.value.charCodeAt(0) === 45) { + if (!Ae(e2.value, 1, 110)) + return 0; + switch (e2.value.length) { + case 2: + return Me(t2(++n2), n2, t2); + case 3: + return e2.value.charCodeAt(2) !== 45 ? 0 : (n2 = Ne(t2(++n2), n2, t2), Re2(e2 = t2(n2), 0, true, n2)); + default: + return e2.value.charCodeAt(2) !== 45 ? 0 : Re2(e2, 3, true, n2); + } + } else if (e2.type === De || Ie(e2, 43) && t2(n2 + 1).type === De) { + if (e2.type !== De && (e2 = t2(++n2)), e2 === null || !Ae(e2.value, 0, 110)) + return 0; + switch (e2.value.length) { + case 1: + return Me(t2(++n2), n2, t2); + case 2: + return e2.value.charCodeAt(1) !== 45 ? 0 : (n2 = Ne(t2(++n2), n2, t2), Re2(e2 = t2(n2), 0, true, n2)); + default: + return e2.value.charCodeAt(1) !== 45 ? 0 : Re2(e2, 2, true, n2); + } + } else if (e2.type === Be) { + for (var r2 = e2.value.charCodeAt(0), i2 = r2 === 43 || r2 === 45 ? 1 : 0, a2 = i2; a2 < e2.value.length && ze(e2.value.charCodeAt(a2)); a2++) + ; + return a2 === i2 ? 0 : Ae(e2.value, a2, 110) ? a2 + 1 === e2.value.length ? Me(t2(++n2), n2, t2) : e2.value.charCodeAt(a2 + 1) !== 45 ? 0 : a2 + 2 === e2.value.length ? (n2 = Ne(t2(++n2), n2, t2), Re2(e2 = t2(n2), 0, true, n2)) : Re2(e2, a2 + 2, true, n2) : 0; + } + return 0; + }, urange: function(e2, t2) { + var n2 = 0; + if (e2 === null || e2.type !== We || !_e(e2.value, 0, 117)) + return 0; + if ((e2 = t2(++n2)) === null) + return 0; + if (He(e2, 43)) + return (e2 = t2(++n2)) === null ? 0 : e2.type === We ? Ge(Ke(e2, 0, true), ++n2, t2) : He(e2, 63) ? Ge(1, ++n2, t2) : 0; + if (e2.type === Ye) { + if (!Ve(e2, 43)) + return 0; + var r2 = Ke(e2, 1, true); + return r2 === 0 ? 0 : (e2 = t2(++n2)) === null ? n2 : e2.type === Ue || e2.type === Ye ? Ve(e2, 45) && Ke(e2, 1, false) ? n2 + 1 : 0 : Ge(r2, n2, t2); + } + return e2.type === Ue && Ve(e2, 43) ? Ge(Ke(e2, 1, true), ++n2, t2) : 0; + }, "declaration-value": function(e2, t2) { + if (!e2) + return 0; + var n2 = 0, r2 = 0, i2 = e2.index; + e: + do { + switch (e2.type) { + case et.BadString: + case et.BadUrl: + break e; + case et.RightCurlyBracket: + case et.RightParenthesis: + case et.RightSquareBracket: + if (e2.balance > e2.index || e2.balance < i2) + break e; + r2--; + break; + case et.Semicolon: + if (r2 === 0) + break e; + break; + case et.Delim: + if (e2.value === "!" && r2 === 0) + break e; + break; + case et.Function: + case et.LeftParenthesis: + case et.LeftSquareBracket: + case et.LeftCurlyBracket: + r2++; + } + if (n2++, e2.balance <= i2) + break; + } while (e2 = t2(n2)); + return n2; + }, "any-value": function(e2, t2) { + if (!e2) + return 0; + var n2 = e2.index, r2 = 0; + e: + do { + switch (e2.type) { + case et.BadString: + case et.BadUrl: + break e; + case et.RightCurlyBracket: + case et.RightParenthesis: + case et.RightSquareBracket: + if (e2.balance > e2.index || e2.balance < n2) + break e; + } + if (r2++, e2.balance <= n2) + break; + } while (e2 = t2(r2)); + return r2; + }, dimension: ct(ht(null)), angle: ct(ht({ deg: true, grad: true, rad: true, turn: true })), decibel: ct(ht({ db: true })), frequency: ct(ht({ hz: true, khz: true })), flex: ct(ht({ fr: true })), length: ct(pt(ht({ px: true, mm: true, cm: true, in: true, pt: true, pc: true, q: true, em: true, ex: true, ch: true, rem: true, vh: true, vw: true, vmin: true, vmax: true, vm: true }))), resolution: ct(ht({ dpi: true, dpcm: true, dppx: true, x: true })), semitones: ct(ht({ st: true })), time: ct(ht({ s: true, ms: true })), percentage: ct(function(e2, t2, n2) { + return e2 === null || e2.type !== et.Percentage || st(n2, e2.value, e2.value.length - 1) ? 0 : 1; + }), zero: pt(), number: ct(function(e2, t2, n2) { + if (e2 === null) + return 0; + var r2 = Je(e2.value, 0); + return r2 === e2.value.length || ot(e2.value, r2) ? st(n2, e2.value, r2) ? 0 : 1 : 0; + }), integer: ct(function(e2, t2, n2) { + if (e2 === null || e2.type !== et.Number) + return 0; + for (var r2 = e2.value.charCodeAt(0) === 43 || e2.value.charCodeAt(0) === 45 ? 1 : 0; r2 < e2.value.length; r2++) + if (!Ze(e2.value.charCodeAt(r2))) + return 0; + return st(n2, e2.value, r2) ? 0 : 1; + }), "-ms-legacy-expression": (dt = "expression", dt += "(", function(e2, t2) { + return e2 !== null && it2(e2.value, dt) ? lt2(e2, t2) : 0; + }) }, gt2 = function(e2, t2, n2) { + var r2 = o("SyntaxError", e2); + return r2.input = t2, r2.offset = n2, r2.rawMessage = e2, r2.message = r2.rawMessage + "\n " + r2.input + "\n--" + new Array((r2.offset || r2.input.length) + 1).join("-") + "^", r2; + }, ft = function(e2) { + this.str = e2, this.pos = 0; + }; + ft.prototype = { charCodeAt: function(e2) { + return e2 < this.str.length ? this.str.charCodeAt(e2) : 0; + }, charCode: function() { + return this.charCodeAt(this.pos); + }, nextCharCode: function() { + return this.charCodeAt(this.pos + 1); + }, nextNonWsCode: function(e2) { + return this.charCodeAt(this.findWsEnd(e2)); + }, findWsEnd: function(e2) { + for (; e2 < this.str.length; e2++) { + var t2 = this.str.charCodeAt(e2); + if (t2 !== 13 && t2 !== 10 && t2 !== 12 && t2 !== 32 && t2 !== 9) + break; + } + return e2; + }, substringToPos: function(e2) { + return this.str.substring(this.pos, this.pos = e2); + }, eat: function(e2) { + this.charCode() !== e2 && this.error("Expect `" + String.fromCharCode(e2) + "`"), this.pos++; + }, peek: function() { + return this.pos < this.str.length ? this.str.charAt(this.pos++) : ""; + }, error: function(e2) { + throw new gt2(e2, this.str, this.pos); + } }; + var bt = ft, yt = function(e2) { + for (var t2 = typeof Uint32Array == "function" ? new Uint32Array(128) : new Array(128), n2 = 0; n2 < 128; n2++) + t2[n2] = e2(String.fromCharCode(n2)) ? 1 : 0; + return t2; + }(function(e2) { + return /[a-zA-Z0-9\-]/.test(e2); + }), kt = { " ": 1, "&&": 2, "||": 3, "|": 4 }; + function vt(e2) { + return e2.substringToPos(e2.findWsEnd(e2.pos)); + } + function xt(e2) { + for (var t2 = e2.pos; t2 < e2.str.length; t2++) { + var n2 = e2.str.charCodeAt(t2); + if (n2 >= 128 || yt[n2] === 0) + break; + } + return e2.pos === t2 && e2.error("Expect a keyword"), e2.substringToPos(t2); + } + function wt(e2) { + for (var t2 = e2.pos; t2 < e2.str.length; t2++) { + var n2 = e2.str.charCodeAt(t2); + if (n2 < 48 || n2 > 57) + break; + } + return e2.pos === t2 && e2.error("Expect a number"), e2.substringToPos(t2); + } + function St(e2) { + var t2 = e2.str.indexOf("'", e2.pos + 1); + return t2 === -1 && (e2.pos = e2.str.length, e2.error("Expect an apostrophe")), e2.substringToPos(t2 + 1); + } + function Ct(e2) { + var t2, n2 = null; + return e2.eat(123), t2 = wt(e2), e2.charCode() === 44 ? (e2.pos++, e2.charCode() !== 125 && (n2 = wt(e2))) : n2 = t2, e2.eat(125), { min: Number(t2), max: n2 ? Number(n2) : 0 }; + } + function zt(e2, t2) { + var n2 = function(e3) { + var t3 = null, n3 = false; + switch (e3.charCode()) { + case 42: + e3.pos++, t3 = { min: 0, max: 0 }; + break; + case 43: + e3.pos++, t3 = { min: 1, max: 0 }; + break; + case 63: + e3.pos++, t3 = { min: 0, max: 1 }; + break; + case 35: + e3.pos++, n3 = true, t3 = e3.charCode() === 123 ? Ct(e3) : { min: 1, max: 0 }; + break; + case 123: + t3 = Ct(e3); + break; + default: + return null; + } + return { type: "Multiplier", comma: n3, min: t3.min, max: t3.max, term: null }; + }(e2); + return n2 !== null ? (n2.term = t2, n2) : t2; + } + function At(e2) { + var t2 = e2.peek(); + return t2 === "" ? null : { type: "Token", value: t2 }; + } + function Pt(e2) { + var t2, n2 = null; + return e2.eat(60), t2 = xt(e2), e2.charCode() === 40 && e2.nextCharCode() === 41 && (e2.pos += 2, t2 += "()"), e2.charCodeAt(e2.findWsEnd(e2.pos)) === 91 && (vt(e2), n2 = function(e3) { + var t3 = null, n3 = null, r2 = 1; + return e3.eat(91), e3.charCode() === 45 && (e3.peek(), r2 = -1), r2 == -1 && e3.charCode() === 8734 ? e3.peek() : t3 = r2 * Number(wt(e3)), vt(e3), e3.eat(44), vt(e3), e3.charCode() === 8734 ? e3.peek() : (r2 = 1, e3.charCode() === 45 && (e3.peek(), r2 = -1), n3 = r2 * Number(wt(e3))), e3.eat(93), t3 === null && n3 === null ? null : { type: "Range", min: t3, max: n3 }; + }(e2)), e2.eat(62), zt(e2, { type: "Type", name: t2, opts: n2 }); + } + function Tt(e2, t2) { + function n2(e3, t3) { + return { type: "Group", terms: e3, combinator: t3, disallowEmpty: false, explicit: false }; + } + for (t2 = Object.keys(t2).sort(function(e3, t3) { + return kt[e3] - kt[t3]; + }); t2.length > 0; ) { + for (var r2 = t2.shift(), i2 = 0, a2 = 0; i2 < e2.length; i2++) { + var o2 = e2[i2]; + o2.type === "Combinator" && (o2.value === r2 ? (a2 === -1 && (a2 = i2 - 1), e2.splice(i2, 1), i2--) : (a2 !== -1 && i2 - a2 > 1 && (e2.splice(a2, i2 - a2, n2(e2.slice(a2, i2), r2)), i2 = a2 + 1), a2 = -1)); + } + a2 !== -1 && t2.length && e2.splice(a2, i2 - a2, n2(e2.slice(a2, i2), r2)); + } + return r2; + } + function Lt2(e2) { + for (var t2, n2 = [], r2 = {}, i2 = null, a2 = e2.pos; t2 = Et(e2); ) + t2.type !== "Spaces" && (t2.type === "Combinator" ? (i2 !== null && i2.type !== "Combinator" || (e2.pos = a2, e2.error("Unexpected combinator")), r2[t2.value] = true) : i2 !== null && i2.type !== "Combinator" && (r2[" "] = true, n2.push({ type: "Combinator", value: " " })), n2.push(t2), i2 = t2, a2 = e2.pos); + return i2 !== null && i2.type === "Combinator" && (e2.pos -= a2, e2.error("Unexpected combinator")), { type: "Group", terms: n2, combinator: Tt(n2, r2) || " ", disallowEmpty: false, explicit: false }; + } + function Et(e2) { + var t2 = e2.charCode(); + if (t2 < 128 && yt[t2] === 1) + return function(e3) { + var t3; + return t3 = xt(e3), e3.charCode() === 40 ? (e3.pos++, { type: "Function", name: t3 }) : zt(e3, { type: "Keyword", name: t3 }); + }(e2); + switch (t2) { + case 93: + break; + case 91: + return zt(e2, function(e3) { + var t3; + return e3.eat(91), t3 = Lt2(e3), e3.eat(93), t3.explicit = true, e3.charCode() === 33 && (e3.pos++, t3.disallowEmpty = true), t3; + }(e2)); + case 60: + return e2.nextCharCode() === 39 ? function(e3) { + var t3; + return e3.eat(60), e3.eat(39), t3 = xt(e3), e3.eat(39), e3.eat(62), zt(e3, { type: "Property", name: t3 }); + }(e2) : Pt(e2); + case 124: + return { type: "Combinator", value: e2.substringToPos(e2.nextCharCode() === 124 ? e2.pos + 2 : e2.pos + 1) }; + case 38: + return e2.pos++, e2.eat(38), { type: "Combinator", value: "&&" }; + case 44: + return e2.pos++, { type: "Comma" }; + case 39: + return zt(e2, { type: "String", value: St(e2) }); + case 32: + case 9: + case 10: + case 13: + case 12: + return { type: "Spaces", value: vt(e2) }; + case 64: + return (t2 = e2.nextCharCode()) < 128 && yt[t2] === 1 ? (e2.pos++, { type: "AtKeyword", name: xt(e2) }) : At(e2); + case 42: + case 43: + case 63: + case 35: + case 33: + break; + case 123: + if ((t2 = e2.nextCharCode()) < 48 || t2 > 57) + return At(e2); + break; + default: + return At(e2); + } + } + function Dt(e2) { + var t2 = new bt(e2), n2 = Lt2(t2); + return t2.pos !== e2.length && t2.error("Unexpected input"), n2.terms.length === 1 && n2.terms[0].type === "Group" && (n2 = n2.terms[0]), n2; + } + Dt("[a&&#|<'c'>*||e() f{2} /,(% g#{1,2} h{2,})]!"); + var Ot = Dt, Bt = function() { + }; + function It(e2) { + return typeof e2 == "function" ? e2 : Bt; + } + var Nt = function(e2, t2, n2) { + var r2 = Bt, i2 = Bt; + if (typeof t2 == "function" ? r2 = t2 : t2 && (r2 = It(t2.enter), i2 = It(t2.leave)), r2 === Bt && i2 === Bt) + throw new Error("Neither `enter` nor `leave` walker handler is set or both aren't a function"); + !function e3(t3) { + switch (r2.call(n2, t3), t3.type) { + case "Group": + t3.terms.forEach(e3); + break; + case "Multiplier": + e3(t3.term); + break; + case "Type": + case "Property": + case "Keyword": + case "AtKeyword": + case "Function": + case "String": + case "Token": + case "Comma": + break; + default: + throw new Error("Unknown type: " + t3.type); + } + i2.call(n2, t3); + }(e2); + }, Rt = new H(), Mt = { decorator: function(e2) { + var t2 = null, n2 = { len: 0, node: null }, r2 = [n2], i2 = ""; + return { children: e2.children, node: function(n3) { + var r3 = t2; + t2 = n3, e2.node.call(this, n3), t2 = r3; + }, chunk: function(e3) { + i2 += e3, n2.node !== t2 ? r2.push({ len: e3.length, node: t2 }) : n2.len += e3.length; + }, result: function() { + return jt(i2, r2); + } }; + } }; + function jt(e2, t2) { + var n2 = [], r2 = 0, i2 = 0, a2 = t2 ? t2[i2].node : null; + for (Ce(e2, Rt); !Rt.eof; ) { + if (t2) + for (; i2 < t2.length && r2 + t2[i2].len <= Rt.tokenStart; ) + r2 += t2[i2++].len, a2 = t2[i2].node; + n2.push({ type: Rt.tokenType, value: Rt.getTokenValue(), index: Rt.tokenIndex, balance: Rt.balance[Rt.tokenIndex], node: a2 }), Rt.next(); + } + return n2; + } + var _t = { type: "Match" }, Ft = { type: "Mismatch" }, Wt = { type: "DisallowEmpty" }; + function qt(e2, t2, n2) { + return t2 === _t && n2 === Ft || e2 === _t && t2 === _t && n2 === _t ? e2 : (e2.type === "If" && e2.else === Ft && t2 === _t && (t2 = e2.then, e2 = e2.match), { type: "If", match: e2, then: t2, else: n2 }); + } + function Yt(e2) { + return e2.length > 2 && e2.charCodeAt(e2.length - 2) === 40 && e2.charCodeAt(e2.length - 1) === 41; + } + function Ut(e2) { + return e2.type === "Keyword" || e2.type === "AtKeyword" || e2.type === "Function" || e2.type === "Type" && Yt(e2.name); + } + function Ht(e2) { + if (typeof e2 == "function") + return { type: "Generic", fn: e2 }; + switch (e2.type) { + case "Group": + var t2 = function e3(t3, n2, r2) { + switch (t3) { + case " ": + for (var i2 = _t, a2 = n2.length - 1; a2 >= 0; a2--) { + i2 = qt(l2 = n2[a2], i2, Ft); + } + return i2; + case "|": + i2 = Ft; + var o2 = null; + for (a2 = n2.length - 1; a2 >= 0; a2--) { + if (Ut(l2 = n2[a2]) && (o2 === null && a2 > 0 && Ut(n2[a2 - 1]) && (i2 = qt({ type: "Enum", map: o2 = Object.create(null) }, _t, i2)), o2 !== null)) { + var s2 = (Yt(l2.name) ? l2.name.slice(0, -1) : l2.name).toLowerCase(); + if (s2 in o2 == false) { + o2[s2] = l2; + continue; + } + } + o2 = null, i2 = qt(l2, _t, i2); + } + return i2; + case "&&": + if (n2.length > 5) + return { type: "MatchOnce", terms: n2, all: true }; + for (i2 = Ft, a2 = n2.length - 1; a2 >= 0; a2--) { + var l2 = n2[a2]; + c2 = n2.length > 1 ? e3(t3, n2.filter(function(e4) { + return e4 !== l2; + }), false) : _t, i2 = qt(l2, c2, i2); + } + return i2; + case "||": + if (n2.length > 5) + return { type: "MatchOnce", terms: n2, all: false }; + for (i2 = r2 ? _t : Ft, a2 = n2.length - 1; a2 >= 0; a2--) { + var c2; + l2 = n2[a2]; + c2 = n2.length > 1 ? e3(t3, n2.filter(function(e4) { + return e4 !== l2; + }), true) : _t, i2 = qt(l2, c2, i2); + } + return i2; + } + }(e2.combinator, e2.terms.map(Ht), false); + return e2.disallowEmpty && (t2 = qt(t2, Wt, Ft)), t2; + case "Multiplier": + return function(e3) { + var t3 = _t, n2 = Ht(e3.term); + if (e3.max === 0) + n2 = qt(n2, Wt, Ft), (t3 = qt(n2, null, Ft)).then = qt(_t, _t, t3), e3.comma && (t3.then.else = qt({ type: "Comma", syntax: e3 }, t3, Ft)); + else + for (var r2 = e3.min || 1; r2 <= e3.max; r2++) + e3.comma && t3 !== _t && (t3 = qt({ type: "Comma", syntax: e3 }, t3, Ft)), t3 = qt(n2, qt(_t, _t, t3), Ft); + if (e3.min === 0) + t3 = qt(_t, _t, t3); + else + for (r2 = 0; r2 < e3.min - 1; r2++) + e3.comma && t3 !== _t && (t3 = qt({ type: "Comma", syntax: e3 }, t3, Ft)), t3 = qt(n2, t3, Ft); + return t3; + }(e2); + case "Type": + case "Property": + return { type: e2.type, name: e2.name, syntax: e2 }; + case "Keyword": + return { type: e2.type, name: e2.name.toLowerCase(), syntax: e2 }; + case "AtKeyword": + return { type: e2.type, name: "@" + e2.name.toLowerCase(), syntax: e2 }; + case "Function": + return { type: e2.type, name: e2.name.toLowerCase() + "(", syntax: e2 }; + case "String": + return e2.value.length === 3 ? { type: "Token", value: e2.value.charAt(1), syntax: e2 } : { type: e2.type, value: e2.value.substr(1, e2.value.length - 2).replace(/\\'/g, "'"), syntax: e2 }; + case "Token": + return { type: e2.type, value: e2.value, syntax: e2 }; + case "Comma": + return { type: e2.type, syntax: e2 }; + default: + throw new Error("Unknown node type:", e2.type); + } + } + var Vt = _t, Kt = Ft, Gt2 = Wt, Qt = function(e2, t2) { + return typeof e2 == "string" && (e2 = Ot(e2)), { type: "MatchGraph", match: Ht(e2), syntax: t2 || null, source: e2 }; + }, Xt = Object.prototype.hasOwnProperty, Zt = Vt, $t = Kt, Jt = Gt2, en = h.TYPE; + function tn(e2) { + for (var t2 = null, n2 = null, r2 = e2; r2 !== null; ) + n2 = r2.prev, r2.prev = t2, t2 = r2, r2 = n2; + return t2; + } + function nn(e2, t2) { + if (e2.length !== t2.length) + return false; + for (var n2 = 0; n2 < e2.length; n2++) { + var r2 = e2.charCodeAt(n2); + if (r2 >= 65 && r2 <= 90 && (r2 |= 32), r2 !== t2.charCodeAt(n2)) + return false; + } + return true; + } + function rn(e2) { + return e2 === null || (e2.type === en.Comma || e2.type === en.Function || e2.type === en.LeftParenthesis || e2.type === en.LeftSquareBracket || e2.type === en.LeftCurlyBracket || function(e3) { + return e3.type === en.Delim && e3.value !== "?"; + }(e2)); + } + function an(e2) { + return e2 === null || (e2.type === en.RightParenthesis || e2.type === en.RightSquareBracket || e2.type === en.RightCurlyBracket || e2.type === en.Delim); + } + function on(e2, t2, n2) { + function r2() { + do { + b2++, f2 = b2 < e2.length ? e2[b2] : null; + } while (f2 !== null && (f2.type === en.WhiteSpace || f2.type === en.Comment)); + } + function i2(t3) { + var n3 = b2 + t3; + return n3 < e2.length ? e2[n3] : null; + } + function a2(e3, t3) { + return { nextState: e3, matchStack: k2, syntaxStack: u2, thenStack: h2, tokenIndex: b2, prev: t3 }; + } + function o2(e3) { + h2 = { nextState: e3, matchStack: k2, syntaxStack: u2, prev: h2 }; + } + function s2(e3) { + p2 = a2(e3, p2); + } + function l2() { + k2 = { type: 1, syntax: t2.syntax, token: f2, prev: k2 }, r2(), d2 = null, b2 > y2 && (y2 = b2); + } + function c2() { + k2 = k2.type === 2 ? k2.prev : { type: 3, syntax: u2.syntax, token: k2.token, prev: k2 }, u2 = u2.prev; + } + var u2 = null, h2 = null, p2 = null, d2 = null, m2 = 0, g3 = null, f2 = null, b2 = -1, y2 = 0, k2 = { type: 0, syntax: null, token: null, prev: null }; + for (r2(); g3 === null && ++m2 < 15e3; ) + switch (t2.type) { + case "Match": + if (h2 === null) { + if (f2 !== null && (b2 !== e2.length - 1 || f2.value !== "\\0" && f2.value !== "\\9")) { + t2 = $t; + break; + } + g3 = "Match"; + break; + } + if ((t2 = h2.nextState) === Jt) { + if (h2.matchStack === k2) { + t2 = $t; + break; + } + t2 = Zt; + } + for (; h2.syntaxStack !== u2; ) + c2(); + h2 = h2.prev; + break; + case "Mismatch": + if (d2 !== null && d2 !== false) + (p2 === null || b2 > p2.tokenIndex) && (p2 = d2, d2 = false); + else if (p2 === null) { + g3 = "Mismatch"; + break; + } + t2 = p2.nextState, h2 = p2.thenStack, u2 = p2.syntaxStack, k2 = p2.matchStack, b2 = p2.tokenIndex, f2 = b2 < e2.length ? e2[b2] : null, p2 = p2.prev; + break; + case "MatchGraph": + t2 = t2.match; + break; + case "If": + t2.else !== $t && s2(t2.else), t2.then !== Zt && o2(t2.then), t2 = t2.match; + break; + case "MatchOnce": + t2 = { type: "MatchOnceBuffer", syntax: t2, index: 0, mask: 0 }; + break; + case "MatchOnceBuffer": + var v2 = t2.syntax.terms; + if (t2.index === v2.length) { + if (t2.mask === 0 || t2.syntax.all) { + t2 = $t; + break; + } + t2 = Zt; + break; + } + if (t2.mask === (1 << v2.length) - 1) { + t2 = Zt; + break; + } + for (; t2.index < v2.length; t2.index++) { + var x2 = 1 << t2.index; + if ((t2.mask & x2) == 0) { + s2(t2), o2({ type: "AddMatchOnce", syntax: t2.syntax, mask: t2.mask | x2 }), t2 = v2[t2.index++]; + break; + } + } + break; + case "AddMatchOnce": + t2 = { type: "MatchOnceBuffer", syntax: t2.syntax, index: 0, mask: t2.mask }; + break; + case "Enum": + if (f2 !== null) { + if ((A2 = f2.value.toLowerCase()).indexOf("\\") !== -1 && (A2 = A2.replace(/\\[09].*$/, "")), Xt.call(t2.map, A2)) { + t2 = t2.map[A2]; + break; + } + } + t2 = $t; + break; + case "Generic": + var w2 = u2 !== null ? u2.opts : null, S2 = b2 + Math.floor(t2.fn(f2, i2, w2)); + if (!isNaN(S2) && S2 > b2) { + for (; b2 < S2; ) + l2(); + t2 = Zt; + } else + t2 = $t; + break; + case "Type": + case "Property": + var C2 = t2.type === "Type" ? "types" : "properties", z2 = Xt.call(n2, C2) ? n2[C2][t2.name] : null; + if (!z2 || !z2.match) + throw new Error("Bad syntax reference: " + (t2.type === "Type" ? "<" + t2.name + ">" : "<'" + t2.name + "'>")); + if (d2 !== false && f2 !== null && t2.type === "Type") { + if (t2.name === "custom-ident" && f2.type === en.Ident || t2.name === "length" && f2.value === "0") { + d2 === null && (d2 = a2(t2, p2)), t2 = $t; + break; + } + } + u2 = { syntax: t2.syntax, opts: t2.syntax.opts || u2 !== null && u2.opts || null, prev: u2 }, k2 = { type: 2, syntax: t2.syntax, token: k2.token, prev: k2 }, t2 = z2.match; + break; + case "Keyword": + var A2 = t2.name; + if (f2 !== null) { + var P2 = f2.value; + if (P2.indexOf("\\") !== -1 && (P2 = P2.replace(/\\[09].*$/, "")), nn(P2, A2)) { + l2(), t2 = Zt; + break; + } + } + t2 = $t; + break; + case "AtKeyword": + case "Function": + if (f2 !== null && nn(f2.value, t2.name)) { + l2(), t2 = Zt; + break; + } + t2 = $t; + break; + case "Token": + if (f2 !== null && f2.value === t2.value) { + l2(), t2 = Zt; + break; + } + t2 = $t; + break; + case "Comma": + f2 !== null && f2.type === en.Comma ? rn(k2.token) ? t2 = $t : (l2(), t2 = an(f2) ? $t : Zt) : t2 = rn(k2.token) || an(f2) ? Zt : $t; + break; + case "String": + var T2 = ""; + for (S2 = b2; S2 < e2.length && T2.length < t2.value.length; S2++) + T2 += e2[S2].value; + if (nn(T2, t2.value)) { + for (; b2 < S2; ) + l2(); + t2 = Zt; + } else + t2 = $t; + break; + default: + throw new Error("Unknown node type: " + t2.type); + } + switch (g3) { + case null: + console.warn("[csstree-match] BREAK after 15000 iterations"), g3 = "Maximum iteration number exceeded (please fill an issue on https://github.com/csstree/csstree/issues)", k2 = null; + break; + case "Match": + for (; u2 !== null; ) + c2(); + break; + default: + k2 = null; + } + return { tokens: e2, reason: g3, iterations: m2, match: k2, longestMatch: y2 }; + } + var sn = function(e2, t2, n2) { + var r2 = on(e2, t2, n2 || {}); + if (r2.match === null) + return r2; + var i2 = r2.match, a2 = r2.match = { syntax: t2.syntax || null, match: [] }, o2 = [a2]; + for (i2 = tn(i2).prev; i2 !== null; ) { + switch (i2.type) { + case 2: + a2.match.push(a2 = { syntax: i2.syntax, match: [] }), o2.push(a2); + break; + case 3: + o2.pop(), a2 = o2[o2.length - 1]; + break; + default: + a2.match.push({ syntax: i2.syntax || null, token: i2.token.value, node: i2.token.node }); + } + i2 = i2.prev; + } + return r2; + }; + function ln(e2) { + function t2(e3) { + return e3 !== null && (e3.type === "Type" || e3.type === "Property" || e3.type === "Keyword"); + } + var n2 = null; + return this.matched !== null && function r2(i2) { + if (Array.isArray(i2.match)) { + for (var a2 = 0; a2 < i2.match.length; a2++) + if (r2(i2.match[a2])) + return t2(i2.syntax) && n2.unshift(i2.syntax), true; + } else if (i2.node === e2) + return n2 = t2(i2.syntax) ? [i2.syntax] : [], true; + return false; + }(this.matched), n2; + } + function cn(e2, t2, n2) { + var r2 = ln.call(e2, t2); + return r2 !== null && r2.some(n2); + } + var un = { getTrace: ln, isType: function(e2, t2) { + return cn(this, e2, function(e3) { + return e3.type === "Type" && e3.name === t2; + }); + }, isProperty: function(e2, t2) { + return cn(this, e2, function(e3) { + return e3.type === "Property" && e3.name === t2; + }); + }, isKeyword: function(e2) { + return cn(this, e2, function(e3) { + return e3.type === "Keyword"; + }); + } }; + var hn = { matchFragments: function(e2, t2, n2, r2, i2) { + var o2 = []; + return n2.matched !== null && function n3(s2) { + if (s2.syntax !== null && s2.syntax.type === r2 && s2.syntax.name === i2) { + var l2 = function e3(t3) { + return "node" in t3 ? t3.node : e3(t3.match[0]); + }(s2), c2 = function e3(t3) { + return "node" in t3 ? t3.node : e3(t3.match[t3.match.length - 1]); + }(s2); + e2.syntax.walk(t2, function(e3, t3, n4) { + if (e3 === l2) { + var r3 = new a(); + do { + if (r3.appendData(t3.data), t3.data === c2) + break; + t3 = t3.next; + } while (t3 !== null); + o2.push({ parent: n4, nodes: r3 }); + } + }); + } + Array.isArray(s2.match) && s2.match.forEach(n3); + }(n2.matched), o2; + } }, pn = Object.prototype.hasOwnProperty; + function dn(e2) { + return typeof e2 == "number" && isFinite(e2) && Math.floor(e2) === e2 && e2 >= 0; + } + function mn(e2) { + return Boolean(e2) && dn(e2.offset) && dn(e2.line) && dn(e2.column); + } + function gn(e2, t2) { + return function(n2, r2) { + if (!n2 || n2.constructor !== Object) + return r2(n2, "Type of node should be an Object"); + for (var i2 in n2) { + var o2 = true; + if (pn.call(n2, i2) !== false) { + if (i2 === "type") + n2.type !== e2 && r2(n2, "Wrong node type `" + n2.type + "`, expected `" + e2 + "`"); + else if (i2 === "loc") { + if (n2.loc === null) + continue; + if (n2.loc && n2.loc.constructor === Object) + if (typeof n2.loc.source != "string") + i2 += ".source"; + else if (mn(n2.loc.start)) { + if (mn(n2.loc.end)) + continue; + i2 += ".end"; + } else + i2 += ".start"; + o2 = false; + } else if (t2.hasOwnProperty(i2)) { + var s2 = 0; + for (o2 = false; !o2 && s2 < t2[i2].length; s2++) { + var l2 = t2[i2][s2]; + switch (l2) { + case String: + o2 = typeof n2[i2] == "string"; + break; + case Boolean: + o2 = typeof n2[i2] == "boolean"; + break; + case null: + o2 = n2[i2] === null; + break; + default: + typeof l2 == "string" ? o2 = n2[i2] && n2[i2].type === l2 : Array.isArray(l2) && (o2 = n2[i2] instanceof a); + } + } + } else + r2(n2, "Unknown field `" + i2 + "` for " + e2 + " node type"); + o2 || r2(n2, "Bad value for `" + e2 + "." + i2 + "`"); + } + } + for (var i2 in t2) + pn.call(t2, i2) && pn.call(n2, i2) === false && r2(n2, "Field `" + e2 + "." + i2 + "` is missed"); + }; + } + function fn(e2, t2) { + var n2 = t2.structure, r2 = { type: String, loc: true }, i2 = { type: '"' + e2 + '"' }; + for (var a2 in n2) + if (pn.call(n2, a2) !== false) { + for (var o2 = [], s2 = r2[a2] = Array.isArray(n2[a2]) ? n2[a2].slice() : [n2[a2]], l2 = 0; l2 < s2.length; l2++) { + var c2 = s2[l2]; + if (c2 === String || c2 === Boolean) + o2.push(c2.name); + else if (c2 === null) + o2.push("null"); + else if (typeof c2 == "string") + o2.push("<" + c2 + ">"); + else { + if (!Array.isArray(c2)) + throw new Error("Wrong value `" + c2 + "` in `" + e2 + "." + a2 + "` structure definition"); + o2.push("List"); + } + } + i2[a2] = o2.join(" | "); + } + return { docs: i2, check: gn(e2, r2) }; + } + var bn = $, yn = J, kn = Qt, vn = sn, xn = function(e2) { + var t2 = {}; + if (e2.node) { + for (var n2 in e2.node) + if (pn.call(e2.node, n2)) { + var r2 = e2.node[n2]; + if (!r2.structure) + throw new Error("Missed `structure` field in `" + n2 + "` node type definition"); + t2[n2] = fn(n2, r2); + } + } + return t2; + }, wn = kn("inherit | initial | unset"), Sn = kn("inherit | initial | unset | <-ms-legacy-expression>"); + function Cn(e2, t2, n2) { + var r2 = {}; + for (var i2 in e2) + e2[i2].syntax && (r2[i2] = n2 ? e2[i2].syntax : G(e2[i2].syntax, { compact: t2 })); + return r2; + } + function zn(e2, t2, n2) { + const r2 = {}; + for (const [i2, a2] of Object.entries(e2)) + r2[i2] = { prelude: a2.prelude && (n2 ? a2.prelude.syntax : G(a2.prelude.syntax, { compact: t2 })), descriptors: a2.descriptors && Cn(a2.descriptors, t2, n2) }; + return r2; + } + function An(e2, t2, n2) { + return { matched: e2, iterations: n2, error: t2, getTrace: un.getTrace, isType: un.isType, isProperty: un.isProperty, isKeyword: un.isKeyword }; + } + function Pn(e2, t2, n2, r2) { + var i2, a2 = function(e3, t3) { + return typeof e3 == "string" ? jt(e3, null) : t3.generate(e3, Mt); + }(n2, e2.syntax); + return function(e3) { + for (var t3 = 0; t3 < e3.length; t3++) + if (e3[t3].value.toLowerCase() === "var(") + return true; + return false; + }(a2) ? An(null, new Error("Matching for a tree with var() is not supported")) : (r2 && (i2 = vn(a2, e2.valueCommonSyntax, e2)), r2 && i2.match || (i2 = vn(a2, t2.match, e2)).match ? An(i2.match, null, i2.iterations) : An(null, new yn(i2.reason, t2.syntax, n2, i2), i2.iterations)); + } + var Tn = function(e2, t2, n2) { + if (this.valueCommonSyntax = wn, this.syntax = t2, this.generic = false, this.atrules = {}, this.properties = {}, this.types = {}, this.structure = n2 || xn(e2), e2) { + if (e2.types) + for (var r2 in e2.types) + this.addType_(r2, e2.types[r2]); + if (e2.generic) + for (var r2 in this.generic = true, mt) + this.addType_(r2, mt[r2]); + if (e2.atrules) + for (var r2 in e2.atrules) + this.addAtrule_(r2, e2.atrules[r2]); + if (e2.properties) + for (var r2 in e2.properties) + this.addProperty_(r2, e2.properties[r2]); + } + }; + Tn.prototype = { structure: {}, checkStructure: function(e2) { + function t2(e3, t3) { + r2.push({ node: e3, message: t3 }); + } + var n2 = this.structure, r2 = []; + return this.syntax.walk(e2, function(e3) { + n2.hasOwnProperty(e3.type) ? n2[e3.type].check(e3, t2) : t2(e3, "Unknown node type `" + e3.type + "`"); + }), !!r2.length && r2; + }, createDescriptor: function(e2, t2, n2, r2 = null) { + var i2 = { type: t2, name: n2 }, a2 = { type: t2, name: n2, parent: r2, syntax: null, match: null }; + return typeof e2 == "function" ? a2.match = kn(e2, i2) : (typeof e2 == "string" ? Object.defineProperty(a2, "syntax", { get: function() { + return Object.defineProperty(a2, "syntax", { value: Ot(e2) }), a2.syntax; + } }) : a2.syntax = e2, Object.defineProperty(a2, "match", { get: function() { + return Object.defineProperty(a2, "match", { value: kn(a2.syntax, i2) }), a2.match; + } })), a2; + }, addAtrule_: function(e2, t2) { + t2 && (this.atrules[e2] = { type: "Atrule", name: e2, prelude: t2.prelude ? this.createDescriptor(t2.prelude, "AtrulePrelude", e2) : null, descriptors: t2.descriptors ? Object.keys(t2.descriptors).reduce((n2, r2) => (n2[r2] = this.createDescriptor(t2.descriptors[r2], "AtruleDescriptor", r2, e2), n2), {}) : null }); + }, addProperty_: function(e2, t2) { + t2 && (this.properties[e2] = this.createDescriptor(t2, "Property", e2)); + }, addType_: function(e2, t2) { + t2 && (this.types[e2] = this.createDescriptor(t2, "Type", e2), t2 === mt["-ms-legacy-expression"] && (this.valueCommonSyntax = Sn)); + }, checkAtruleName: function(e2) { + if (!this.getAtrule(e2)) + return new bn("Unknown at-rule", "@" + e2); + }, checkAtrulePrelude: function(e2, t2) { + let n2 = this.checkAtruleName(e2); + if (n2) + return n2; + var r2 = this.getAtrule(e2); + return !r2.prelude && t2 ? new SyntaxError("At-rule `@" + e2 + "` should not contain a prelude") : r2.prelude && !t2 ? new SyntaxError("At-rule `@" + e2 + "` should contain a prelude") : void 0; + }, checkAtruleDescriptorName: function(e2, t2) { + let n2 = this.checkAtruleName(e2); + if (n2) + return n2; + var r2 = this.getAtrule(e2), i2 = ae.keyword(t2); + return r2.descriptors ? r2.descriptors[i2.name] || r2.descriptors[i2.basename] ? void 0 : new bn("Unknown at-rule descriptor", t2) : new SyntaxError("At-rule `@" + e2 + "` has no known descriptors"); + }, checkPropertyName: function(e2) { + return ae.property(e2).custom ? new Error("Lexer matching doesn't applicable for custom properties") : this.getProperty(e2) ? void 0 : new bn("Unknown property", e2); + }, matchAtrulePrelude: function(e2, t2) { + var n2 = this.checkAtrulePrelude(e2, t2); + return n2 ? An(null, n2) : t2 ? Pn(this, this.getAtrule(e2).prelude, t2, false) : An(null, null); + }, matchAtruleDescriptor: function(e2, t2, n2) { + var r2 = this.checkAtruleDescriptorName(e2, t2); + if (r2) + return An(null, r2); + var i2 = this.getAtrule(e2), a2 = ae.keyword(t2); + return Pn(this, i2.descriptors[a2.name] || i2.descriptors[a2.basename], n2, false); + }, matchDeclaration: function(e2) { + return e2.type !== "Declaration" ? An(null, new Error("Not a Declaration node")) : this.matchProperty(e2.property, e2.value); + }, matchProperty: function(e2, t2) { + var n2 = this.checkPropertyName(e2); + return n2 ? An(null, n2) : Pn(this, this.getProperty(e2), t2, true); + }, matchType: function(e2, t2) { + var n2 = this.getType(e2); + return n2 ? Pn(this, n2, t2, false) : An(null, new bn("Unknown type", e2)); + }, match: function(e2, t2) { + return typeof e2 == "string" || e2 && e2.type ? (typeof e2 != "string" && e2.match || (e2 = this.createDescriptor(e2, "Type", "anonymous")), Pn(this, e2, t2, false)) : An(null, new bn("Bad syntax")); + }, findValueFragments: function(e2, t2, n2, r2) { + return hn.matchFragments(this, t2, this.matchProperty(e2, t2), n2, r2); + }, findDeclarationValueFragments: function(e2, t2, n2) { + return hn.matchFragments(this, e2.value, this.matchDeclaration(e2), t2, n2); + }, findAllFragments: function(e2, t2, n2) { + var r2 = []; + return this.syntax.walk(e2, { visit: "Declaration", enter: function(e3) { + r2.push.apply(r2, this.findDeclarationValueFragments(e3, t2, n2)); + }.bind(this) }), r2; + }, getAtrule: function(e2, t2 = true) { + var n2 = ae.keyword(e2); + return (n2.vendor && t2 ? this.atrules[n2.name] || this.atrules[n2.basename] : this.atrules[n2.name]) || null; + }, getAtrulePrelude: function(e2, t2 = true) { + const n2 = this.getAtrule(e2, t2); + return n2 && n2.prelude || null; + }, getAtruleDescriptor: function(e2, t2) { + return this.atrules.hasOwnProperty(e2) && this.atrules.declarators && this.atrules[e2].declarators[t2] || null; + }, getProperty: function(e2, t2 = true) { + var n2 = ae.property(e2); + return (n2.vendor && t2 ? this.properties[n2.name] || this.properties[n2.basename] : this.properties[n2.name]) || null; + }, getType: function(e2) { + return this.types.hasOwnProperty(e2) ? this.types[e2] : null; + }, validate: function() { + function e2(r3, i2, a2, o2) { + if (a2.hasOwnProperty(i2)) + return a2[i2]; + a2[i2] = false, o2.syntax !== null && Nt(o2.syntax, function(o3) { + if (o3.type === "Type" || o3.type === "Property") { + var s2 = o3.type === "Type" ? r3.types : r3.properties, l2 = o3.type === "Type" ? t2 : n2; + s2.hasOwnProperty(o3.name) && !e2(r3, o3.name, l2, s2[o3.name]) || (a2[i2] = true); + } + }, this); + } + var t2 = {}, n2 = {}; + for (var r2 in this.types) + e2(this, r2, t2, this.types[r2]); + for (var r2 in this.properties) + e2(this, r2, n2, this.properties[r2]); + return t2 = Object.keys(t2).filter(function(e3) { + return t2[e3]; + }), n2 = Object.keys(n2).filter(function(e3) { + return n2[e3]; + }), t2.length || n2.length ? { types: t2, properties: n2 } : null; + }, dump: function(e2, t2) { + return { generic: this.generic, types: Cn(this.types, !t2, e2), properties: Cn(this.properties, !t2, e2), atrules: zn(this.atrules, !t2, e2) }; + }, toString: function() { + return JSON.stringify(this.dump()); + } }; + var Ln = Tn, En = { SyntaxError: gt2, parse: Ot, generate: G, walk: Nt }, Dn = Ce.isBOM; + var On = function() { + this.lines = null, this.columns = null, this.linesAndColumnsComputed = false; + }; + On.prototype = { setSource: function(e2, t2, n2, r2) { + this.source = e2, this.startOffset = t2 === void 0 ? 0 : t2, this.startLine = n2 === void 0 ? 1 : n2, this.startColumn = r2 === void 0 ? 1 : r2, this.linesAndColumnsComputed = false; + }, ensureLinesAndColumnsComputed: function() { + this.linesAndColumnsComputed || (!function(e2, t2) { + for (var n2 = t2.length, r2 = se(e2.lines, n2), i2 = e2.startLine, a2 = se(e2.columns, n2), o2 = e2.startColumn, s2 = t2.length > 0 ? Dn(t2.charCodeAt(0)) : 0; s2 < n2; s2++) { + var l2 = t2.charCodeAt(s2); + r2[s2] = i2, a2[s2] = o2++, l2 !== 10 && l2 !== 13 && l2 !== 12 || (l2 === 13 && s2 + 1 < n2 && t2.charCodeAt(s2 + 1) === 10 && (r2[++s2] = i2, a2[s2] = o2), i2++, o2 = 1); + } + r2[s2] = i2, a2[s2] = o2, e2.lines = r2, e2.columns = a2; + }(this, this.source), this.linesAndColumnsComputed = true); + }, getLocation: function(e2, t2) { + return this.ensureLinesAndColumnsComputed(), { source: t2, offset: this.startOffset + e2, line: this.lines[e2], column: this.columns[e2] }; + }, getLocationRange: function(e2, t2, n2) { + return this.ensureLinesAndColumnsComputed(), { source: n2, start: { offset: this.startOffset + e2, line: this.lines[e2], column: this.columns[e2] }, end: { offset: this.startOffset + t2, line: this.lines[t2], column: this.columns[t2] } }; + } }; + var Bn = On, In = Ce.TYPE, Nn = In.WhiteSpace, Rn = In.Comment, Mn = function(e2) { + var t2 = this.createList(), n2 = null, r2 = { recognizer: e2, space: null, ignoreWS: false, ignoreWSAfter: false }; + for (this.scanner.skipSC(); !this.scanner.eof; ) { + switch (this.scanner.tokenType) { + case Rn: + this.scanner.next(); + continue; + case Nn: + r2.ignoreWS ? this.scanner.next() : r2.space = this.WhiteSpace(); + continue; + } + if ((n2 = e2.getNode.call(this, r2)) === void 0) + break; + r2.space !== null && (t2.push(r2.space), r2.space = null), t2.push(n2), r2.ignoreWSAfter ? (r2.ignoreWSAfter = false, r2.ignoreWS = true) : r2.ignoreWS = false; + } + return t2; + }, { findWhiteSpaceStart: jn, cmpStr: _n } = M, Fn = function() { + }, Wn = h.TYPE, qn = h.NAME, Yn = Wn.WhiteSpace, Un = Wn.Comment, Hn = Wn.Ident, Vn = Wn.Function, Kn = Wn.Url, Gn = Wn.Hash, Qn = Wn.Percentage, Xn = Wn.Number; + function Zn(e2) { + return function() { + return this[e2](); + }; + } + var $n = function(e2) { + var t2 = { scanner: new H(), locationMap: new Bn(), filename: "", needPositions: false, onParseError: Fn, onParseErrorThrow: false, parseAtrulePrelude: true, parseRulePrelude: true, parseValue: true, parseCustomProperty: false, readSequence: Mn, createList: function() { + return new a(); + }, createSingleNodeList: function(e3) { + return new a().appendData(e3); + }, getFirstListNode: function(e3) { + return e3 && e3.first(); + }, getLastListNode: function(e3) { + return e3.last(); + }, parseWithFallback: function(e3, t3) { + var n3 = this.scanner.tokenIndex; + try { + return e3.call(this); + } catch (e4) { + if (this.onParseErrorThrow) + throw e4; + var r2 = t3.call(this, n3); + return this.onParseErrorThrow = true, this.onParseError(e4, r2), this.onParseErrorThrow = false, r2; + } + }, lookupNonWSType: function(e3) { + do { + var t3 = this.scanner.lookupType(e3++); + if (t3 !== Yn) + return t3; + } while (t3 !== 0); + return 0; + }, eat: function(e3) { + if (this.scanner.tokenType !== e3) { + var t3 = this.scanner.tokenStart, n3 = qn[e3] + " is expected"; + switch (e3) { + case Hn: + this.scanner.tokenType === Vn || this.scanner.tokenType === Kn ? (t3 = this.scanner.tokenEnd - 1, n3 = "Identifier is expected but function found") : n3 = "Identifier is expected"; + break; + case Gn: + this.scanner.isDelim(35) && (this.scanner.next(), t3++, n3 = "Name is expected"); + break; + case Qn: + this.scanner.tokenType === Xn && (t3 = this.scanner.tokenEnd, n3 = "Percent sign is expected"); + break; + default: + this.scanner.source.charCodeAt(this.scanner.tokenStart) === e3 && (t3 += 1); + } + this.error(n3, t3); + } + this.scanner.next(); + }, consume: function(e3) { + var t3 = this.scanner.getTokenValue(); + return this.eat(e3), t3; + }, consumeFunctionName: function() { + var e3 = this.scanner.source.substring(this.scanner.tokenStart, this.scanner.tokenEnd - 1); + return this.eat(Vn), e3; + }, getLocation: function(e3, t3) { + return this.needPositions ? this.locationMap.getLocationRange(e3, t3, this.filename) : null; + }, getLocationFromList: function(e3) { + if (this.needPositions) { + var t3 = this.getFirstListNode(e3), n3 = this.getLastListNode(e3); + return this.locationMap.getLocationRange(t3 !== null ? t3.loc.start.offset - this.locationMap.startOffset : this.scanner.tokenStart, n3 !== null ? n3.loc.end.offset - this.locationMap.startOffset : this.scanner.tokenStart, this.filename); + } + return null; + }, error: function(e3, t3) { + var n3 = t3 !== void 0 && t3 < this.scanner.source.length ? this.locationMap.getLocation(t3) : this.scanner.eof ? this.locationMap.getLocation(jn(this.scanner.source, this.scanner.source.length - 1)) : this.locationMap.getLocation(this.scanner.tokenStart); + throw new l(e3 || "Unexpected input", this.scanner.source, n3.offset, n3.line, n3.column); + } }; + for (var n2 in e2 = function(e3) { + var t3 = { context: {}, scope: {}, atrule: {}, pseudo: {} }; + if (e3.parseContext) + for (var n3 in e3.parseContext) + switch (typeof e3.parseContext[n3]) { + case "function": + t3.context[n3] = e3.parseContext[n3]; + break; + case "string": + t3.context[n3] = Zn(e3.parseContext[n3]); + } + if (e3.scope) + for (var n3 in e3.scope) + t3.scope[n3] = e3.scope[n3]; + if (e3.atrule) + for (var n3 in e3.atrule) { + var r2 = e3.atrule[n3]; + r2.parse && (t3.atrule[n3] = r2.parse); + } + if (e3.pseudo) + for (var n3 in e3.pseudo) { + var i2 = e3.pseudo[n3]; + i2.parse && (t3.pseudo[n3] = i2.parse); + } + if (e3.node) + for (var n3 in e3.node) + t3[n3] = e3.node[n3].parse; + return t3; + }(e2 || {})) + t2[n2] = e2[n2]; + return function(e3, n3) { + var r2, i2 = (n3 = n3 || {}).context || "default", a2 = n3.onComment; + if (Ce(e3, t2.scanner), t2.locationMap.setSource(e3, n3.offset, n3.line, n3.column), t2.filename = n3.filename || "", t2.needPositions = Boolean(n3.positions), t2.onParseError = typeof n3.onParseError == "function" ? n3.onParseError : Fn, t2.onParseErrorThrow = false, t2.parseAtrulePrelude = !("parseAtrulePrelude" in n3) || Boolean(n3.parseAtrulePrelude), t2.parseRulePrelude = !("parseRulePrelude" in n3) || Boolean(n3.parseRulePrelude), t2.parseValue = !("parseValue" in n3) || Boolean(n3.parseValue), t2.parseCustomProperty = "parseCustomProperty" in n3 && Boolean(n3.parseCustomProperty), !t2.context.hasOwnProperty(i2)) + throw new Error("Unknown context `" + i2 + "`"); + return typeof a2 == "function" && t2.scanner.forEachToken((n4, r3, i3) => { + if (n4 === Un) { + const n5 = t2.getLocation(r3, i3), o2 = _n(e3, i3 - 2, i3, "*/") ? e3.slice(r3 + 2, i3 - 2) : e3.slice(r3 + 2, i3); + a2(o2, n5); + } + }), r2 = t2.context[i2].call(t2, n3), t2.scanner.eof || t2.error(), r2; + }; + }, Jn = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""), er = function(e2) { + if (0 <= e2 && e2 < Jn.length) + return Jn[e2]; + throw new TypeError("Must be between 0 and 63: " + e2); + }; + var tr = function(e2) { + var t2, n2 = "", r2 = function(e3) { + return e3 < 0 ? 1 + (-e3 << 1) : 0 + (e3 << 1); + }(e2); + do { + t2 = 31 & r2, (r2 >>>= 5) > 0 && (t2 |= 32), n2 += er(t2); + } while (r2 > 0); + return n2; + }; + var nr = function(e2, t2) { + return e2(t2 = { exports: {} }, t2.exports), t2.exports; + }(function(e2, t2) { + t2.getArg = function(e3, t3, n3) { + if (t3 in e3) + return e3[t3]; + if (arguments.length === 3) + return n3; + throw new Error('"' + t3 + '" is a required argument.'); + }; + var n2 = /^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/, r2 = /^data:.+\,.+$/; + function i2(e3) { + var t3 = e3.match(n2); + return t3 ? { scheme: t3[1], auth: t3[2], host: t3[3], port: t3[4], path: t3[5] } : null; + } + function a2(e3) { + var t3 = ""; + return e3.scheme && (t3 += e3.scheme + ":"), t3 += "//", e3.auth && (t3 += e3.auth + "@"), e3.host && (t3 += e3.host), e3.port && (t3 += ":" + e3.port), e3.path && (t3 += e3.path), t3; + } + function o2(e3) { + var n3 = e3, r3 = i2(e3); + if (r3) { + if (!r3.path) + return e3; + n3 = r3.path; + } + for (var o3, s3 = t2.isAbsolute(n3), l3 = n3.split(/\/+/), c3 = 0, u3 = l3.length - 1; u3 >= 0; u3--) + (o3 = l3[u3]) === "." ? l3.splice(u3, 1) : o3 === ".." ? c3++ : c3 > 0 && (o3 === "" ? (l3.splice(u3 + 1, c3), c3 = 0) : (l3.splice(u3, 2), c3--)); + return (n3 = l3.join("/")) === "" && (n3 = s3 ? "/" : "."), r3 ? (r3.path = n3, a2(r3)) : n3; + } + function s2(e3, t3) { + e3 === "" && (e3 = "."), t3 === "" && (t3 = "."); + var n3 = i2(t3), s3 = i2(e3); + if (s3 && (e3 = s3.path || "/"), n3 && !n3.scheme) + return s3 && (n3.scheme = s3.scheme), a2(n3); + if (n3 || t3.match(r2)) + return t3; + if (s3 && !s3.host && !s3.path) + return s3.host = t3, a2(s3); + var l3 = t3.charAt(0) === "/" ? t3 : o2(e3.replace(/\/+$/, "") + "/" + t3); + return s3 ? (s3.path = l3, a2(s3)) : l3; + } + t2.urlParse = i2, t2.urlGenerate = a2, t2.normalize = o2, t2.join = s2, t2.isAbsolute = function(e3) { + return e3.charAt(0) === "/" || n2.test(e3); + }, t2.relative = function(e3, t3) { + e3 === "" && (e3 = "."), e3 = e3.replace(/\/$/, ""); + for (var n3 = 0; t3.indexOf(e3 + "/") !== 0; ) { + var r3 = e3.lastIndexOf("/"); + if (r3 < 0) + return t3; + if ((e3 = e3.slice(0, r3)).match(/^([^\/]+:\/)?\/*$/)) + return t3; + ++n3; + } + return Array(n3 + 1).join("../") + t3.substr(e3.length + 1); + }; + var l2 = !("__proto__" in Object.create(null)); + function c2(e3) { + return e3; + } + function u2(e3) { + if (!e3) + return false; + var t3 = e3.length; + if (t3 < 9) + return false; + if (e3.charCodeAt(t3 - 1) !== 95 || e3.charCodeAt(t3 - 2) !== 95 || e3.charCodeAt(t3 - 3) !== 111 || e3.charCodeAt(t3 - 4) !== 116 || e3.charCodeAt(t3 - 5) !== 111 || e3.charCodeAt(t3 - 6) !== 114 || e3.charCodeAt(t3 - 7) !== 112 || e3.charCodeAt(t3 - 8) !== 95 || e3.charCodeAt(t3 - 9) !== 95) + return false; + for (var n3 = t3 - 10; n3 >= 0; n3--) + if (e3.charCodeAt(n3) !== 36) + return false; + return true; + } + function h2(e3, t3) { + return e3 === t3 ? 0 : e3 === null ? 1 : t3 === null ? -1 : e3 > t3 ? 1 : -1; + } + t2.toSetString = l2 ? c2 : function(e3) { + return u2(e3) ? "$" + e3 : e3; + }, t2.fromSetString = l2 ? c2 : function(e3) { + return u2(e3) ? e3.slice(1) : e3; + }, t2.compareByOriginalPositions = function(e3, t3, n3) { + var r3 = h2(e3.source, t3.source); + return r3 !== 0 || (r3 = e3.originalLine - t3.originalLine) !== 0 || (r3 = e3.originalColumn - t3.originalColumn) !== 0 || n3 || (r3 = e3.generatedColumn - t3.generatedColumn) !== 0 || (r3 = e3.generatedLine - t3.generatedLine) !== 0 ? r3 : h2(e3.name, t3.name); + }, t2.compareByGeneratedPositionsDeflated = function(e3, t3, n3) { + var r3 = e3.generatedLine - t3.generatedLine; + return r3 !== 0 || (r3 = e3.generatedColumn - t3.generatedColumn) !== 0 || n3 || (r3 = h2(e3.source, t3.source)) !== 0 || (r3 = e3.originalLine - t3.originalLine) !== 0 || (r3 = e3.originalColumn - t3.originalColumn) !== 0 ? r3 : h2(e3.name, t3.name); + }, t2.compareByGeneratedPositionsInflated = function(e3, t3) { + var n3 = e3.generatedLine - t3.generatedLine; + return n3 !== 0 || (n3 = e3.generatedColumn - t3.generatedColumn) !== 0 || (n3 = h2(e3.source, t3.source)) !== 0 || (n3 = e3.originalLine - t3.originalLine) !== 0 || (n3 = e3.originalColumn - t3.originalColumn) !== 0 ? n3 : h2(e3.name, t3.name); + }, t2.parseSourceMapInput = function(e3) { + return JSON.parse(e3.replace(/^\)]}'[^\n]*\n/, "")); + }, t2.computeSourceURL = function(e3, t3, n3) { + if (t3 = t3 || "", e3 && (e3[e3.length - 1] !== "/" && t3[0] !== "/" && (e3 += "/"), t3 = e3 + t3), n3) { + var r3 = i2(n3); + if (!r3) + throw new Error("sourceMapURL could not be parsed"); + if (r3.path) { + var l3 = r3.path.lastIndexOf("/"); + l3 >= 0 && (r3.path = r3.path.substring(0, l3 + 1)); + } + t3 = s2(a2(r3), t3); + } + return o2(t3); + }; + }), rr = (nr.getArg, nr.urlParse, nr.urlGenerate, nr.normalize, nr.join, nr.isAbsolute, nr.relative, nr.toSetString, nr.fromSetString, nr.compareByOriginalPositions, nr.compareByGeneratedPositionsDeflated, nr.compareByGeneratedPositionsInflated, nr.parseSourceMapInput, nr.computeSourceURL, Object.prototype.hasOwnProperty), ir = typeof Map != "undefined"; + function ar() { + this._array = [], this._set = ir ? new Map() : Object.create(null); + } + ar.fromArray = function(e2, t2) { + for (var n2 = new ar(), r2 = 0, i2 = e2.length; r2 < i2; r2++) + n2.add(e2[r2], t2); + return n2; + }, ar.prototype.size = function() { + return ir ? this._set.size : Object.getOwnPropertyNames(this._set).length; + }, ar.prototype.add = function(e2, t2) { + var n2 = ir ? e2 : nr.toSetString(e2), r2 = ir ? this.has(e2) : rr.call(this._set, n2), i2 = this._array.length; + r2 && !t2 || this._array.push(e2), r2 || (ir ? this._set.set(e2, i2) : this._set[n2] = i2); + }, ar.prototype.has = function(e2) { + if (ir) + return this._set.has(e2); + var t2 = nr.toSetString(e2); + return rr.call(this._set, t2); + }, ar.prototype.indexOf = function(e2) { + if (ir) { + var t2 = this._set.get(e2); + if (t2 >= 0) + return t2; + } else { + var n2 = nr.toSetString(e2); + if (rr.call(this._set, n2)) + return this._set[n2]; + } + throw new Error('"' + e2 + '" is not in the set.'); + }, ar.prototype.at = function(e2) { + if (e2 >= 0 && e2 < this._array.length) + return this._array[e2]; + throw new Error("No element indexed by " + e2); + }, ar.prototype.toArray = function() { + return this._array.slice(); + }; + var or2 = { ArraySet: ar }; + function sr() { + this._array = [], this._sorted = true, this._last = { generatedLine: -1, generatedColumn: 0 }; + } + sr.prototype.unsortedForEach = function(e2, t2) { + this._array.forEach(e2, t2); + }, sr.prototype.add = function(e2) { + var t2, n2, r2, i2, a2, o2; + t2 = this._last, n2 = e2, r2 = t2.generatedLine, i2 = n2.generatedLine, a2 = t2.generatedColumn, o2 = n2.generatedColumn, i2 > r2 || i2 == r2 && o2 >= a2 || nr.compareByGeneratedPositionsInflated(t2, n2) <= 0 ? (this._last = e2, this._array.push(e2)) : (this._sorted = false, this._array.push(e2)); + }, sr.prototype.toArray = function() { + return this._sorted || (this._array.sort(nr.compareByGeneratedPositionsInflated), this._sorted = true), this._array; + }; + var lr = or2.ArraySet, cr = { MappingList: sr }.MappingList; + function ur(e2) { + e2 || (e2 = {}), this._file = nr.getArg(e2, "file", null), this._sourceRoot = nr.getArg(e2, "sourceRoot", null), this._skipValidation = nr.getArg(e2, "skipValidation", false), this._sources = new lr(), this._names = new lr(), this._mappings = new cr(), this._sourcesContents = null; + } + ur.prototype._version = 3, ur.fromSourceMap = function(e2) { + var t2 = e2.sourceRoot, n2 = new ur({ file: e2.file, sourceRoot: t2 }); + return e2.eachMapping(function(e3) { + var r2 = { generated: { line: e3.generatedLine, column: e3.generatedColumn } }; + e3.source != null && (r2.source = e3.source, t2 != null && (r2.source = nr.relative(t2, r2.source)), r2.original = { line: e3.originalLine, column: e3.originalColumn }, e3.name != null && (r2.name = e3.name)), n2.addMapping(r2); + }), e2.sources.forEach(function(r2) { + var i2 = r2; + t2 !== null && (i2 = nr.relative(t2, r2)), n2._sources.has(i2) || n2._sources.add(i2); + var a2 = e2.sourceContentFor(r2); + a2 != null && n2.setSourceContent(r2, a2); + }), n2; + }, ur.prototype.addMapping = function(e2) { + var t2 = nr.getArg(e2, "generated"), n2 = nr.getArg(e2, "original", null), r2 = nr.getArg(e2, "source", null), i2 = nr.getArg(e2, "name", null); + this._skipValidation || this._validateMapping(t2, n2, r2, i2), r2 != null && (r2 = String(r2), this._sources.has(r2) || this._sources.add(r2)), i2 != null && (i2 = String(i2), this._names.has(i2) || this._names.add(i2)), this._mappings.add({ generatedLine: t2.line, generatedColumn: t2.column, originalLine: n2 != null && n2.line, originalColumn: n2 != null && n2.column, source: r2, name: i2 }); + }, ur.prototype.setSourceContent = function(e2, t2) { + var n2 = e2; + this._sourceRoot != null && (n2 = nr.relative(this._sourceRoot, n2)), t2 != null ? (this._sourcesContents || (this._sourcesContents = Object.create(null)), this._sourcesContents[nr.toSetString(n2)] = t2) : this._sourcesContents && (delete this._sourcesContents[nr.toSetString(n2)], Object.keys(this._sourcesContents).length === 0 && (this._sourcesContents = null)); + }, ur.prototype.applySourceMap = function(e2, t2, n2) { + var r2 = t2; + if (t2 == null) { + if (e2.file == null) + throw new Error(`SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map's "file" property. Both were omitted.`); + r2 = e2.file; + } + var i2 = this._sourceRoot; + i2 != null && (r2 = nr.relative(i2, r2)); + var a2 = new lr(), o2 = new lr(); + this._mappings.unsortedForEach(function(t3) { + if (t3.source === r2 && t3.originalLine != null) { + var s2 = e2.originalPositionFor({ line: t3.originalLine, column: t3.originalColumn }); + s2.source != null && (t3.source = s2.source, n2 != null && (t3.source = nr.join(n2, t3.source)), i2 != null && (t3.source = nr.relative(i2, t3.source)), t3.originalLine = s2.line, t3.originalColumn = s2.column, s2.name != null && (t3.name = s2.name)); + } + var l2 = t3.source; + l2 == null || a2.has(l2) || a2.add(l2); + var c2 = t3.name; + c2 == null || o2.has(c2) || o2.add(c2); + }, this), this._sources = a2, this._names = o2, e2.sources.forEach(function(t3) { + var r3 = e2.sourceContentFor(t3); + r3 != null && (n2 != null && (t3 = nr.join(n2, t3)), i2 != null && (t3 = nr.relative(i2, t3)), this.setSourceContent(t3, r3)); + }, this); + }, ur.prototype._validateMapping = function(e2, t2, n2, r2) { + if (t2 && typeof t2.line != "number" && typeof t2.column != "number") + throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values."); + if ((!(e2 && "line" in e2 && "column" in e2 && e2.line > 0 && e2.column >= 0) || t2 || n2 || r2) && !(e2 && "line" in e2 && "column" in e2 && t2 && "line" in t2 && "column" in t2 && e2.line > 0 && e2.column >= 0 && t2.line > 0 && t2.column >= 0 && n2)) + throw new Error("Invalid mapping: " + JSON.stringify({ generated: e2, source: n2, original: t2, name: r2 })); + }, ur.prototype._serializeMappings = function() { + for (var e2, t2, n2, r2, i2 = 0, a2 = 1, o2 = 0, s2 = 0, l2 = 0, c2 = 0, u2 = "", h2 = this._mappings.toArray(), p2 = 0, d2 = h2.length; p2 < d2; p2++) { + if (e2 = "", (t2 = h2[p2]).generatedLine !== a2) + for (i2 = 0; t2.generatedLine !== a2; ) + e2 += ";", a2++; + else if (p2 > 0) { + if (!nr.compareByGeneratedPositionsInflated(t2, h2[p2 - 1])) + continue; + e2 += ","; + } + e2 += tr(t2.generatedColumn - i2), i2 = t2.generatedColumn, t2.source != null && (r2 = this._sources.indexOf(t2.source), e2 += tr(r2 - c2), c2 = r2, e2 += tr(t2.originalLine - 1 - s2), s2 = t2.originalLine - 1, e2 += tr(t2.originalColumn - o2), o2 = t2.originalColumn, t2.name != null && (n2 = this._names.indexOf(t2.name), e2 += tr(n2 - l2), l2 = n2)), u2 += e2; + } + return u2; + }, ur.prototype._generateSourcesContent = function(e2, t2) { + return e2.map(function(e3) { + if (!this._sourcesContents) + return null; + t2 != null && (e3 = nr.relative(t2, e3)); + var n2 = nr.toSetString(e3); + return Object.prototype.hasOwnProperty.call(this._sourcesContents, n2) ? this._sourcesContents[n2] : null; + }, this); + }, ur.prototype.toJSON = function() { + var e2 = { version: this._version, sources: this._sources.toArray(), names: this._names.toArray(), mappings: this._serializeMappings() }; + return this._file != null && (e2.file = this._file), this._sourceRoot != null && (e2.sourceRoot = this._sourceRoot), this._sourcesContents && (e2.sourcesContent = this._generateSourcesContent(e2.sources, e2.sourceRoot)), e2; + }, ur.prototype.toString = function() { + return JSON.stringify(this.toJSON()); + }; + var hr = { SourceMapGenerator: ur }.SourceMapGenerator, pr2 = { Atrule: true, Selector: true, Declaration: true }, dr = Object.prototype.hasOwnProperty; + function mr(e2, t2) { + var n2 = e2.children, r2 = null; + typeof t2 != "function" ? n2.forEach(this.node, this) : n2.forEach(function(e3) { + r2 !== null && t2.call(this, r2), this.node(e3), r2 = e3; + }, this); + } + var gr = function(e2) { + function t2(e3) { + if (!dr.call(n2, e3.type)) + throw new Error("Unknown node type: " + e3.type); + n2[e3.type].call(this, e3); + } + var n2 = {}; + if (e2.node) + for (var r2 in e2.node) + n2[r2] = e2.node[r2].generate; + return function(e3, n3) { + var r3 = "", i2 = { children: mr, node: t2, chunk: function(e4) { + r3 += e4; + }, result: function() { + return r3; + } }; + return n3 && (typeof n3.decorator == "function" && (i2 = n3.decorator(i2)), n3.sourceMap && (i2 = function(e4) { + var t3 = new hr(), n4 = 1, r4 = 0, i3 = { line: 1, column: 0 }, a2 = { line: 0, column: 0 }, o2 = false, s2 = { line: 1, column: 0 }, l2 = { generated: s2 }, c2 = e4.node; + e4.node = function(e5) { + if (e5.loc && e5.loc.start && pr2.hasOwnProperty(e5.type)) { + var u3 = e5.loc.start.line, h3 = e5.loc.start.column - 1; + a2.line === u3 && a2.column === h3 || (a2.line = u3, a2.column = h3, i3.line = n4, i3.column = r4, o2 && (o2 = false, i3.line === s2.line && i3.column === s2.column || t3.addMapping(l2)), o2 = true, t3.addMapping({ source: e5.loc.source, original: a2, generated: i3 })); + } + c2.call(this, e5), o2 && pr2.hasOwnProperty(e5.type) && (s2.line = n4, s2.column = r4); + }; + var u2 = e4.chunk; + e4.chunk = function(e5) { + for (var t4 = 0; t4 < e5.length; t4++) + e5.charCodeAt(t4) === 10 ? (n4++, r4 = 0) : r4++; + u2(e5); + }; + var h2 = e4.result; + return e4.result = function() { + return o2 && t3.addMapping(l2), { css: h2(), map: t3 }; + }, e4; + }(i2))), i2.node(e3), i2.result(); + }; + }, fr = Object.prototype.hasOwnProperty, br = function() { + }; + function yr(e2) { + return typeof e2 == "function" ? e2 : br; + } + function kr(e2, t2) { + return function(n2, r2, i2) { + n2.type === t2 && e2.call(this, n2, r2, i2); + }; + } + function vr(e2, t2) { + var n2 = t2.structure, r2 = []; + for (var i2 in n2) + if (fr.call(n2, i2) !== false) { + var a2 = n2[i2], o2 = { name: i2, type: false, nullable: false }; + Array.isArray(n2[i2]) || (a2 = [n2[i2]]); + for (var s2 = 0; s2 < a2.length; s2++) { + var l2 = a2[s2]; + l2 === null ? o2.nullable = true : typeof l2 == "string" ? o2.type = "node" : Array.isArray(l2) && (o2.type = "list"); + } + o2.type && r2.push(o2); + } + return r2.length ? { context: t2.walkContext, fields: r2 } : null; + } + function xr(e2, t2) { + var n2 = e2.fields.slice(), r2 = e2.context, i2 = typeof r2 == "string"; + return t2 && n2.reverse(), function(e3, a2, o2, s2) { + var l2; + i2 && (l2 = a2[r2], a2[r2] = e3); + for (var c2 = 0; c2 < n2.length; c2++) { + var u2 = n2[c2], h2 = e3[u2.name]; + if (!u2.nullable || h2) { + if (u2.type === "list") { + if (t2 ? h2.reduceRight(s2, false) : h2.reduce(s2, false)) + return true; + } else if (o2(h2)) + return true; + } + } + i2 && (a2[r2] = l2); + }; + } + function wr2(e2) { + return { Atrule: { StyleSheet: e2.StyleSheet, Atrule: e2.Atrule, Rule: e2.Rule, Block: e2.Block }, Rule: { StyleSheet: e2.StyleSheet, Atrule: e2.Atrule, Rule: e2.Rule, Block: e2.Block }, Declaration: { StyleSheet: e2.StyleSheet, Atrule: e2.Atrule, Rule: e2.Rule, Block: e2.Block, DeclarationList: e2.DeclarationList } }; + } + var Sr = function(e2) { + var t2 = function(e3) { + var t3 = {}; + for (var n3 in e3.node) + if (fr.call(e3.node, n3)) { + var r3 = e3.node[n3]; + if (!r3.structure) + throw new Error("Missed `structure` field in `" + n3 + "` node type definition"); + t3[n3] = vr(0, r3); + } + return t3; + }(e2), n2 = {}, r2 = {}, i2 = Symbol("break-walk"), a2 = Symbol("skip-node"); + for (var o2 in t2) + fr.call(t2, o2) && t2[o2] !== null && (n2[o2] = xr(t2[o2], false), r2[o2] = xr(t2[o2], true)); + var s2 = wr2(n2), l2 = wr2(r2), c2 = function(e3, o3) { + function c3(e4, t3, n3) { + var r3 = h2.call(m2, e4, t3, n3); + return r3 === i2 || r3 !== a2 && (!(!d2.hasOwnProperty(e4.type) || !d2[e4.type](e4, m2, c3, u2)) || p2.call(m2, e4, t3, n3) === i2); + } + var u2 = (e4, t3, n3, r3) => e4 || c3(t3, n3, r3), h2 = br, p2 = br, d2 = n2, m2 = { break: i2, skip: a2, root: e3, stylesheet: null, atrule: null, atrulePrelude: null, rule: null, selector: null, block: null, declaration: null, function: null }; + if (typeof o3 == "function") + h2 = o3; + else if (o3 && (h2 = yr(o3.enter), p2 = yr(o3.leave), o3.reverse && (d2 = r2), o3.visit)) { + if (s2.hasOwnProperty(o3.visit)) + d2 = o3.reverse ? l2[o3.visit] : s2[o3.visit]; + else if (!t2.hasOwnProperty(o3.visit)) + throw new Error("Bad value `" + o3.visit + "` for `visit` option (should be: " + Object.keys(t2).join(", ") + ")"); + h2 = kr(h2, o3.visit), p2 = kr(p2, o3.visit); + } + if (h2 === br && p2 === br) + throw new Error("Neither `enter` nor `leave` walker handler is set or both aren't a function"); + c3(e3); + }; + return c2.break = i2, c2.skip = a2, c2.find = function(e3, t3) { + var n3 = null; + return c2(e3, function(e4, r3, a3) { + if (t3.call(this, e4, r3, a3)) + return n3 = e4, i2; + }), n3; + }, c2.findLast = function(e3, t3) { + var n3 = null; + return c2(e3, { reverse: true, enter: function(e4, r3, a3) { + if (t3.call(this, e4, r3, a3)) + return n3 = e4, i2; + } }), n3; + }, c2.findAll = function(e3, t3) { + var n3 = []; + return c2(e3, function(e4, r3, i3) { + t3.call(this, e4, r3, i3) && n3.push(e4); + }), n3; + }, c2; + }, Cr = function e2(t2) { + var n2 = {}; + for (var r2 in t2) { + var i2 = t2[r2]; + i2 && (Array.isArray(i2) || i2 instanceof a ? i2 = i2.map(e2) : i2.constructor === Object && (i2 = e2(i2))), n2[r2] = i2; + } + return n2; + }; + const zr = Object.prototype.hasOwnProperty, Ar = { generic: true, types: Er, atrules: { prelude: Dr, descriptors: Dr }, properties: Er, parseContext: function(e2, t2) { + return Object.assign(e2, t2); + }, scope: function e2(t2, n2) { + for (const r2 in n2) + zr.call(n2, r2) && (Pr2(t2[r2]) ? e2(t2[r2], Tr(n2[r2])) : t2[r2] = Tr(n2[r2])); + return t2; + }, atrule: ["parse"], pseudo: ["parse"], node: ["name", "structure", "parse", "generate", "walkContext"] }; + function Pr2(e2) { + return e2 && e2.constructor === Object; + } + function Tr(e2) { + return Pr2(e2) ? Object.assign({}, e2) : e2; + } + function Lr(e2, t2) { + return typeof t2 == "string" && /^\s*\|/.test(t2) ? typeof e2 == "string" ? e2 + t2 : t2.replace(/^\s*\|\s*/, "") : t2 || null; + } + function Er(e2, t2) { + if (typeof t2 == "string") + return Lr(e2, t2); + const n2 = Object.assign({}, e2); + for (let r2 in t2) + zr.call(t2, r2) && (n2[r2] = Lr(zr.call(e2, r2) ? e2[r2] : void 0, t2[r2])); + return n2; + } + function Dr(e2, t2) { + const n2 = Er(e2, t2); + return !Pr2(n2) || Object.keys(n2).length ? n2 : null; + } + var Or2 = (e2, t2) => function e3(t3, n2, r2) { + for (const i2 in r2) + if (zr.call(r2, i2) !== false) { + if (r2[i2] === true) + i2 in n2 && zr.call(n2, i2) && (t3[i2] = Tr(n2[i2])); + else if (r2[i2]) { + if (typeof r2[i2] == "function") { + const e4 = r2[i2]; + t3[i2] = e4({}, t3[i2]), t3[i2] = e4(t3[i2] || {}, n2[i2]); + } else if (Pr2(r2[i2])) { + const a2 = {}; + for (let n3 in t3[i2]) + a2[n3] = e3({}, t3[i2][n3], r2[i2]); + for (let t4 in n2[i2]) + a2[t4] = e3(a2[t4] || {}, n2[i2][t4], r2[i2]); + t3[i2] = a2; + } else if (Array.isArray(r2[i2])) { + const a2 = {}, o2 = r2[i2].reduce(function(e4, t4) { + return e4[t4] = true, e4; + }, {}); + for (const [n3, r3] of Object.entries(t3[i2] || {})) + a2[n3] = {}, r3 && e3(a2[n3], r3, o2); + for (const t4 in n2[i2]) + zr.call(n2[i2], t4) && (a2[t4] || (a2[t4] = {}), n2[i2] && n2[i2][t4] && e3(a2[t4], n2[i2][t4], o2)); + t3[i2] = a2; + } + } + } + return t3; + }(e2, t2, Ar); + function Br(e2) { + var t2 = $n(e2), n2 = Sr(e2), r2 = gr(e2), i2 = function(e3) { + return { fromPlainObject: function(t3) { + return e3(t3, { enter: function(e4) { + e4.children && e4.children instanceof a == false && (e4.children = new a().fromArray(e4.children)); + } }), t3; + }, toPlainObject: function(t3) { + return e3(t3, { leave: function(e4) { + e4.children && e4.children instanceof a && (e4.children = e4.children.toArray()); + } }), t3; + } }; + }(n2), o2 = { List: a, SyntaxError: l, TokenStream: H, Lexer: Ln, vendorPrefix: ae.vendorPrefix, keyword: ae.keyword, property: ae.property, isCustomProperty: ae.isCustomProperty, definitionSyntax: En, lexer: null, createLexer: function(e3) { + return new Ln(e3, o2, o2.lexer.structure); + }, tokenize: Ce, parse: t2, walk: n2, generate: r2, find: n2.find, findLast: n2.findLast, findAll: n2.findAll, clone: Cr, fromPlainObject: i2.fromPlainObject, toPlainObject: i2.toPlainObject, createSyntax: function(e3) { + return Br(Or2({}, e3)); + }, fork: function(t3) { + var n3 = Or2({}, e2); + return Br(typeof t3 == "function" ? t3(n3, Object.assign) : Or2(n3, t3)); + } }; + return o2.lexer = new Ln({ generic: true, types: e2.types, atrules: e2.atrules, properties: e2.properties, node: e2.node }, o2), o2; + } + var Ir = function(e2) { + return Br(Or2({}, e2)); + }, Nr = { generic: true, types: { "absolute-size": "xx-small|x-small|small|medium|large|x-large|xx-large|xxx-large", "alpha-value": "|", "angle-percentage": "|", "angular-color-hint": "", "angular-color-stop": "&&?", "angular-color-stop-list": "[ [, ]?]# , ", "animateable-feature": "scroll-position|contents|", attachment: "scroll|fixed|local", "attr()": "attr( ? [, ]? )", "attr-matcher": "['~'|'|'|'^'|'$'|'*']? '='", "attr-modifier": "i|s", "attribute-selector": "'[' ']'|'[' [|] ? ']'", "auto-repeat": "repeat( [auto-fill|auto-fit] , [? ]+ ? )", "auto-track-list": "[? [|]]* ? [? [|]]* ?", "baseline-position": "[first|last]? baseline", "basic-shape": "||||", "bg-image": "none|", "bg-layer": "|| [/ ]?||||||||", "bg-position": "[[left|center|right|top|bottom|]|[left|center|right|] [top|center|bottom|]|[center|[left|right] ?]&&[center|[top|bottom] ?]]", "bg-size": "[|auto]{1,2}|cover|contain", "blur()": "blur( )", "blend-mode": "normal|multiply|screen|overlay|darken|lighten|color-dodge|color-burn|hard-light|soft-light|difference|exclusion|hue|saturation|color|luminosity", box: "border-box|padding-box|content-box", "brightness()": "brightness( )", "calc()": "calc( )", "calc-sum": " [['+'|'-'] ]*", "calc-product": " ['*' |'/' ]*", "calc-value": "|||( )", "cf-final-image": "|", "cf-mixing-image": "?&&", "circle()": "circle( []? [at ]? )", "clamp()": "clamp( #{3} )", "class-selector": "'.' ", "clip-source": "", color: "||||||currentcolor|", "color-stop": "|", "color-stop-angle": "{1,2}", "color-stop-length": "{1,2}", "color-stop-list": "[ [, ]?]# , ", combinator: "'>'|'+'|'~'|['||']", "common-lig-values": "[common-ligatures|no-common-ligatures]", "compat-auto": "searchfield|textarea|push-button|slider-horizontal|checkbox|radio|square-button|menulist|listbox|meter|progress-bar|button", "composite-style": "clear|copy|source-over|source-in|source-out|source-atop|destination-over|destination-in|destination-out|destination-atop|xor", "compositing-operator": "add|subtract|intersect|exclude", "compound-selector": "[? * [ *]*]!", "compound-selector-list": "#", "complex-selector": " [? ]*", "complex-selector-list": "#", "conic-gradient()": "conic-gradient( [from ]? [at ]? , )", "contextual-alt-values": "[contextual|no-contextual]", "content-distribution": "space-between|space-around|space-evenly|stretch", "content-list": "[|contents||||||counter( , <'list-style-type'>? )]+", "content-position": "center|start|end|flex-start|flex-end", "content-replacement": "", "contrast()": "contrast( [] )", "counter()": "counter( , ? )", "counter-style": "|symbols( )", "counter-style-name": "", "counters()": "counters( , , ? )", "cross-fade()": "cross-fade( , ? )", "cubic-bezier-timing-function": "ease|ease-in|ease-out|ease-in-out|cubic-bezier( , , , )", "deprecated-system-color": "ActiveBorder|ActiveCaption|AppWorkspace|Background|ButtonFace|ButtonHighlight|ButtonShadow|ButtonText|CaptionText|GrayText|Highlight|HighlightText|InactiveBorder|InactiveCaption|InactiveCaptionText|InfoBackground|InfoText|Menu|MenuText|Scrollbar|ThreeDDarkShadow|ThreeDFace|ThreeDHighlight|ThreeDLightShadow|ThreeDShadow|Window|WindowFrame|WindowText", "discretionary-lig-values": "[discretionary-ligatures|no-discretionary-ligatures]", "display-box": "contents|none", "display-inside": "flow|flow-root|table|flex|grid|ruby", "display-internal": "table-row-group|table-header-group|table-footer-group|table-row|table-cell|table-column-group|table-column|table-caption|ruby-base|ruby-text|ruby-base-container|ruby-text-container", "display-legacy": "inline-block|inline-list-item|inline-table|inline-flex|inline-grid", "display-listitem": "?&&[flow|flow-root]?&&list-item", "display-outside": "block|inline|run-in", "drop-shadow()": "drop-shadow( {2,3} ? )", "east-asian-variant-values": "[jis78|jis83|jis90|jis04|simplified|traditional]", "east-asian-width-values": "[full-width|proportional-width]", "element()": "element( , [first|start|last|first-except]? )|element( )", "ellipse()": "ellipse( [{2}]? [at ]? )", "ending-shape": "circle|ellipse", "env()": "env( , ? )", "explicit-track-list": "[? ]+ ?", "family-name": "|+", "feature-tag-value": " [|on|off]?", "feature-type": "@stylistic|@historical-forms|@styleset|@character-variant|@swash|@ornaments|@annotation", "feature-value-block": " '{' '}'", "feature-value-block-list": "+", "feature-value-declaration": " : + ;", "feature-value-declaration-list": "", "feature-value-name": "", "fill-rule": "nonzero|evenodd", "filter-function": "|||||||||", "filter-function-list": "[|]+", "final-bg-layer": "<'background-color'>|||| [/ ]?||||||||", "fit-content()": "fit-content( [|] )", "fixed-breadth": "", "fixed-repeat": "repeat( [] , [? ]+ ? )", "fixed-size": "|minmax( , )|minmax( , )", "font-stretch-absolute": "normal|ultra-condensed|extra-condensed|condensed|semi-condensed|semi-expanded|expanded|extra-expanded|ultra-expanded|", "font-variant-css21": "[normal|small-caps]", "font-weight-absolute": "normal|bold|", "frequency-percentage": "|", "general-enclosed": "[ )]|( )", "generic-family": "serif|sans-serif|cursive|fantasy|monospace|-apple-system", "generic-name": "serif|sans-serif|cursive|fantasy|monospace", "geometry-box": "|fill-box|stroke-box|view-box", gradient: "|||||<-legacy-gradient>", "grayscale()": "grayscale( )", "grid-line": "auto||[&&?]|[span&&[||]]", "historical-lig-values": "[historical-ligatures|no-historical-ligatures]", "hsl()": "hsl( [/ ]? )|hsl( , , , ? )", "hsla()": "hsla( [/ ]? )|hsla( , , , ? )", hue: "|", "hue-rotate()": "hue-rotate( )", image: "||||||", "image()": "image( ? [? , ?]! )", "image-set()": "image-set( # )", "image-set-option": "[|] ", "image-src": "|", "image-tags": "ltr|rtl", "inflexible-breadth": "||min-content|max-content|auto", "inset()": "inset( {1,4} [round <'border-radius'>]? )", "invert()": "invert( )", "keyframes-name": "|", "keyframe-block": "# { }", "keyframe-block-list": "+", "keyframe-selector": "from|to|", "leader()": "leader( )", "leader-type": "dotted|solid|space|", "length-percentage": "|", "line-names": "'[' * ']'", "line-name-list": "[|]+", "line-style": "none|hidden|dotted|dashed|solid|double|groove|ridge|inset|outset", "line-width": "|thin|medium|thick", "linear-color-hint": "", "linear-color-stop": " ?", "linear-gradient()": "linear-gradient( [|to ]? , )", "mask-layer": "|| [/ ]?||||||[|no-clip]||||", "mask-position": "[|left|center|right] [|top|center|bottom]?", "mask-reference": "none||", "mask-source": "", "masking-mode": "alpha|luminance|match-source", "matrix()": "matrix( #{6} )", "matrix3d()": "matrix3d( #{16} )", "max()": "max( # )", "media-and": " [and ]+", "media-condition": "|||", "media-condition-without-or": "||", "media-feature": "( [||] )", "media-in-parens": "( )||", "media-not": "not ", "media-or": " [or ]+", "media-query": "|[not|only]? [and ]?", "media-query-list": "#", "media-type": "", "mf-boolean": "", "mf-name": "", "mf-plain": " : ", "mf-range": " ['<'|'>']? '='? | ['<'|'>']? '='? | '<' '='? '<' '='? | '>' '='? '>' '='? ", "mf-value": "|||", "min()": "min( # )", "minmax()": "minmax( [||min-content|max-content|auto] , [|||min-content|max-content|auto] )", "named-color": "transparent|aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|rebeccapurple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen|<-non-standard-color>", "namespace-prefix": "", "ns-prefix": "[|'*']? '|'", "number-percentage": "|", "numeric-figure-values": "[lining-nums|oldstyle-nums]", "numeric-fraction-values": "[diagonal-fractions|stacked-fractions]", "numeric-spacing-values": "[proportional-nums|tabular-nums]", nth: "|even|odd", "opacity()": "opacity( [] )", "overflow-position": "unsafe|safe", "outline-radius": "|", "page-body": "? [; ]?| ", "page-margin-box": " '{' '}'", "page-margin-box-type": "@top-left-corner|@top-left|@top-center|@top-right|@top-right-corner|@bottom-left-corner|@bottom-left|@bottom-center|@bottom-right|@bottom-right-corner|@left-top|@left-middle|@left-bottom|@right-top|@right-middle|@right-bottom", "page-selector-list": "[#]?", "page-selector": "+| *", "path()": "path( [ ,]? )", "paint()": "paint( , ? )", "perspective()": "perspective( )", "polygon()": "polygon( ? , [ ]# )", position: "[[left|center|right]||[top|center|bottom]|[left|center|right|] [top|center|bottom|]?|[[left|right] ]&&[[top|bottom] ]]", "pseudo-class-selector": "':' |':' ')'", "pseudo-element-selector": "':' ", "pseudo-page": ": [left|right|first|blank]", quote: "open-quote|close-quote|no-open-quote|no-close-quote", "radial-gradient()": "radial-gradient( [||]? [at ]? , )", "relative-selector": "? ", "relative-selector-list": "#", "relative-size": "larger|smaller", "repeat-style": "repeat-x|repeat-y|[repeat|space|round|no-repeat]{1,2}", "repeating-linear-gradient()": "repeating-linear-gradient( [|to ]? , )", "repeating-radial-gradient()": "repeating-radial-gradient( [||]? [at ]? , )", "rgb()": "rgb( {3} [/ ]? )|rgb( {3} [/ ]? )|rgb( #{3} , ? )|rgb( #{3} , ? )", "rgba()": "rgba( {3} [/ ]? )|rgba( {3} [/ ]? )|rgba( #{3} , ? )|rgba( #{3} , ? )", "rotate()": "rotate( [|] )", "rotate3d()": "rotate3d( , , , [|] )", "rotateX()": "rotateX( [|] )", "rotateY()": "rotateY( [|] )", "rotateZ()": "rotateZ( [|] )", "saturate()": "saturate( )", "scale()": "scale( , ? )", "scale3d()": "scale3d( , , )", "scaleX()": "scaleX( )", "scaleY()": "scaleY( )", "scaleZ()": "scaleZ( )", "self-position": "center|start|end|self-start|self-end|flex-start|flex-end", "shape-radius": "|closest-side|farthest-side", "skew()": "skew( [|] , [|]? )", "skewX()": "skewX( [|] )", "skewY()": "skewY( [|] )", "sepia()": "sepia( )", shadow: "inset?&&{2,4}&&?", "shadow-t": "[{2,3}&&?]", shape: "rect( , , , )|rect( )", "shape-box": "|margin-box", "side-or-corner": "[left|right]||[top|bottom]", "single-animation": "