Files
jjx-admin/.idea/AugmentWebviewStateStore.xml
T
2026-10-08 18:19:39 +08:00

10 lines
188 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="AugmentWebviewStateStore">
<option name="stateMap">
<map>
<entry key="CHAT_STATE" value="eyJjdXJyZW50Q29udmVyc2F0aW9uSWQiOiIxNGMzNDdiNC0xMmM3LTQxNGItYTViOS1mMTc1ZjNiYjA3MWEiLCJjb252ZXJzYXRpb25zIjp7ImQyYzhmZWZhLWI2MTUtNDMzNi1iZWNhLTBiYWMxYmIwM2Q5NiI6eyJpZCI6ImQyYzhmZWZhLWI2MTUtNDMzNi1iZWNhLTBiYWMxYmIwM2Q5NiIsImNyZWF0ZWRBdElzbyI6IjIwMjUtMDYtMTJUMDM6NTU6MjUuOTk0WiIsImxhc3RJbnRlcmFjdGVkQXRJc28iOiIyMDI1LTA2LTEyVDAzOjU1OjI1Ljk5NFoiLCJjaGF0SGlzdG9yeSI6W10sImZlZWRiYWNrU3RhdGVzIjp7fSwidG9vbFVzZVN0YXRlcyI6e30sImRyYWZ0RXhjaGFuZ2UiOnsicmVxdWVzdF9tZXNzYWdlIjoiIiwicmljaF90ZXh0X2pzb25fcmVwciI6eyJ0eXBlIjoiZG9jIiwiY29udGVudCI6W3sidHlwZSI6InBhcmFncmFwaCJ9XX0sIm1lbnRpb25lZF9pdGVtcyI6W10sInN0YXR1cyI6ImRyYWZ0In0sInJlcXVlc3RJZHMiOltdLCJpc1Bpbm5lZCI6ZmFsc2UsImlzU2hhcmVhYmxlIjpmYWxzZSwiZXh0cmFEYXRhIjp7Imhhc0RpcnR5RWRpdHMiOmZhbHNlfSwicGVyc29uYVR5cGUiOjAsInJvb3RUYXNrVXVpZCI6ImExYjE4NTZlLTliZDgtNDFiOC1iYjg2LTE1OGY3MmFmMmFmYyJ9LCI2OTFjYTg5Yy1mN2RhLTQ3NGMtODBkOS05ZDIxMTI2MzUwMmEiOnsiaWQiOiI2OTFjYTg5Yy1mN2RhLTQ3NGMtODBkOS05ZDIxMTI2MzUwMmEiLCJjcmVhdGVkQXRJc28iOiIyMDI1LTA2LTEyVDAzOjU1OjI2LjEyMVoiLCJsYXN0SW50ZXJhY3RlZEF0SXNvIjoiMjAyNS0wNi0xMlQwMzo1NToyNi4xMjFaIiwiY2hhdEhpc3RvcnkiOltdLCJmZWVkYmFja1N0YXRlcyI6e30sInRvb2xVc2VTdGF0ZXMiOnt9LCJkcmFmdEV4Y2hhbmdlIjp7InJlcXVlc3RfbWVzc2FnZSI6IiIsInJpY2hfdGV4dF9qc29uX3JlcHIiOnsidHlwZSI6ImRvYyIsImNvbnRlbnQiOlt7InR5cGUiOiJwYXJhZ3JhcGgifV19LCJtZW50aW9uZWRfaXRlbXMiOltdLCJzdGF0dXMiOiJkcmFmdCJ9LCJyZXF1ZXN0SWRzIjpbXSwiaXNQaW5uZWQiOmZhbHNlLCJpc1NoYXJlYWJsZSI6ZmFsc2UsImV4dHJhRGF0YSI6eyJoYXNEaXJ0eUVkaXRzIjpmYWxzZX0sInBlcnNvbmFUeXBlIjowLCJyb290VGFza1V1aWQiOiIxYWNiMmJjOC1lOTM1LTQ2MzUtYmI4MC0wMDQ4ZWVlZDAyNzgifSwiMTRjMzQ3YjQtMTJjNy00MTRiLWE1YjktZjE3NWYzYmIwNzFhIjp7ImlkIjoiMTRjMzQ3YjQtMTJjNy00MTRiLWE1YjktZjE3NWYzYmIwNzFhIiwiY3JlYXRlZEF0SXNvIjoiMjAyNS0wNi0xMlQwMzo1NTozMC45MTRaIiwibGFzdEludGVyYWN0ZWRBdElzbyI6IjIwMjUtMDYtMTJUMDM6NTg6NTEuMTM1WiIsImNoYXRIaXN0b3J5IjpbeyJyZXF1ZXN0X2lkIjoiNjYwYjI3OGUtOGY1Yi00ZDBjLThjNzMtMWViNmYxOTNmZWVlIiwidXVpZCI6IjJhZGUzZGFjLTI1ODItNDg5ZC1iMThhLTA0MDhlZDVhZWFjZCIsImNoYXRJdGVtVHlwZSI6ImFnZW50aWMtY2hlY2twb2ludC1kZWxpbWl0ZXIiLCJzdGF0dXMiOiJzdWNjZXNzIiwiZnJvbVRpbWVzdGFtcCI6MCwidG9UaW1lc3RhbXAiOjE3NDk3MDA1MzA5MTUsInNlZW5fc3RhdGUiOiJzZWVuIn0seyJzdGF0dXMiOiJzdWNjZXNzIiwicmVxdWVzdF9pZCI6ImY3MGE0NGI2LWVmYjItNDk1Yy05OGU4LTBkZTMwNzFmZDc5OCIsInJlcXVlc3RfbWVzc2FnZSI6IuagueaNriAvVXNlcnMvbGlhbmd4aW4vUHJvamVjdC9IdG1sL21pbmlQcm9ncmFtL2ppbmppdXhpbi13ZWIvcGFnZXMvY29udHJhY3QvY2VydGlmaWNhdGUudnVlIOi/meS4quaWh+S7tueahOWtl+aute+8jOeUn+aIkOWQjuWPsOWIl+ihqO+8jOWcqHBhZ2VzL2NvbnRyYWN0L2NlcnRpZmljYXRlLnZ1ZeS4rea3u+WKoCIsInJpY2hfdGV4dF9qc29uX3JlcHIiOnsidHlwZSI6ImRvYyIsImNvbnRlbnQiOlt7InR5cGUiOiJwYXJhZ3JhcGgiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiLmoLnmja4gL1VzZXJzL2xpYW5neGluL1Byb2plY3QvSHRtbC9taW5pUHJvZ3JhbS9qaW5qaXV4aW4td2ViL3BhZ2VzL2NvbnRyYWN0L2NlcnRpZmljYXRlLnZ1ZSDov5nkuKrmlofku7bnmoTlrZfmrrXvvIznlJ/miJDlkI7lj7DliJfooajvvIzlnKhwYWdlcy9jb250cmFjdC9jZXJ0aWZpY2F0ZS52dWXkuK3mt7vliqAifV19XX0sIm1lbnRpb25lZF9pdGVtcyI6W10sInN0cnVjdHVyZWRfb3V0cHV0X25vZGVzIjpbeyJpZCI6MSwidHlwZSI6NSwiY29udGVudCI6IiIsInRvb2xfdXNlIjp7InRvb2xfdXNlX2lkIjoidG9vbHVfMDFTcEQzMm5LY01KejJYY2dBcTQ4NWd1IiwidG9vbF9uYW1lIjoidmlldyIsImlucHV0X2pzb24iOiJ7XCJwYXRoXCI6IFwiL1VzZXJzL2xpYW5neGluL1Byb2plY3QvSHRtbC9taW5pUHJvZ3JhbS9qaW5qaXV4aW4td2ViL3BhZ2VzL2NvbnRyYWN0L2NlcnRpZmljYXRlLnZ1ZVwifSIsIm1jcF9zZXJ2ZXJfbmFtZSI6IiIsIm1jcF90b29sX25hbWUiOiIifX0seyJpZCI6MCwidHlwZSI6MCwiY29udGVudCI6IuaIkemcgOimgeWFiOafpeeci+aMh+WumueahOaWh+S7tuadpeS6huino+WFtuWtl+autee7k+aehO+8jOeEtuWQjuS4uuaCqOeUn+aIkOWQjuWPsOWIl+ihqOOAguiuqeaIkeWFiOiOt+WPlui/meS4quaWh+S7tueahOWGheWuueOAglxuIn0seyJpZCI6MiwidHlwZSI6MiwiY29udGVudCI6IiJ9LHsiaWQiOjMsInR5cGUiOjMsImNvbnRlbnQiOiIifV0sInNlZW5fc3RhdGUiOiJzZWVuIiwic3RydWN0dXJlZF9yZXF1ZXN0X25vZGVzIjpbeyJpZCI6MCwidHlwZSI6MCwidGV4dF9ub2RlIjp7ImNvbnRlbnQiOiLmoLnmja4gL1VzZXJzL2xpYW5neGluL1Byb2plY3QvSHRtbC9taW5pUHJvZ3JhbS9qaW5qaXV4aW4td2ViL3BhZ2VzL2NvbnRyYWN0L2NlcnRpZmljYXRlLnZ1ZSDov5nkuKrmlofku7bnmoTlrZfmrrXvvIznlJ/miJDlkI7lj7DliJfooajvvIzlnKhwYWdlcy9jb250cmFjdC9jZXJ0aWZpY2F0ZS52dWXkuK3mt7vliqAifX0seyJpZCI6MSwidHlwZSI6NCwiaWRlX3N0YXRlX25vZGUiOnsid29ya3NwYWNlRm9sZGVycyI6W3sicmVwb3NpdG9yeVJvb3QiOiIvVXNlcnMvbGlhbmd4aW4vUHJvamVjdC9IdG1sL21pbmlQcm9ncmFtL2ppbmppdXhpbi1hZG1pbiIsImZvbGRlclJvb3QiOiIvVXNlcnMvbGlhbmd4aW4vUHJvamVjdC9IdG1sL21pbmlQcm9ncmFtL2ppbmppdXhpbi1hZG1pbiJ9XSwid29ya3NwYWNlRm9sZGVyc1VuY2hhbmdlZCI6ZmFsc2V9fV0sInRpbWVzdGFtcCI6IjIwMjUtMDYtMTJUMDM6NTY6MDUuNzUxWiIsInJlc3BvbnNlX3RleHQiOiLmiJHpnIDopoHlhYjmn6XnnIvmjIflrprnmoTmlofku7bmnaXkuobop6PlhbblrZfmrrXnu5PmnoTvvIznhLblkI7kuLrmgqjnlJ/miJDlkI7lj7DliJfooajjgILorqnmiJHlhYjojrflj5bov5nkuKrmlofku7bnmoTlhoXlrrnjgIJcbiIsIndvcmtzcGFjZV9maWxlX2NodW5rcyI6W119LHsic3RhdHVzIjoic3VjY2VzcyIsInJlcXVlc3RfaWQiOiI3Zjc0NjQxYi04OTE1LTQ1YWYtOGZmMC00NDA0ZTQzMzkzNDEiLCJyZXF1ZXN0X21lc3NhZ2UiOiIiLCJzdHJ1Y3R1cmVkX291dHB1dF9ub2RlcyI6W3siaWQiOjEsInR5cGUiOjUsImNvbnRlbnQiOiIiLCJ0b29sX3VzZSI6eyJ0b29sX3VzZV9pZCI6InRvb2x1XzAxSGFYVlFoOU5tVnY0NUFIYlNDd0NrbiIsInRvb2xfbmFtZSI6InZpZXciLCJpbnB1dF9qc29uIjoie1wicGF0aFwiOiBcInBhZ2VzL2NvbnRyYWN0L2NlcnRpZmljYXRlLnZ1ZVwifSIsIm1jcF9zZXJ2ZXJfbmFtZSI6IiIsIm1jcF90b29sX25hbWUiOiIifX0seyJpZCI6MCwidHlwZSI6MCwiY29udGVudCI6IuiuqeaIkeWFiOafpeeci+W9k+WJjeW3peS9nOWMuueahOaWh+S7tue7k+aehO+8jOeEtuWQjuafpeeci+aCqOaPkOWIsOeahOaWh+S7tu+8mlxuIn0seyJpZCI6MiwidHlwZSI6MiwiY29udGVudCI6IiJ9LHsiaWQiOjMsInR5cGUiOjMsImNvbnRlbnQiOiIifV0sInNlZW5fc3RhdGUiOiJzZWVuIiwic3RydWN0dXJlZF9yZXF1ZXN0X25vZGVzIjpbeyJpZCI6MSwidHlwZSI6MSwidG9vbF9yZXN1bHRfbm9kZSI6eyJjb250ZW50IjoiQ2Fubm90IHJlYWQgZmlsZTogL1VzZXJzL2xpYW5neGluL1Byb2plY3QvSHRtbC9taW5pUHJvZ3JhbS9qaW5qaXV4aW4td2ViL3BhZ2VzL2NvbnRyYWN0L2NlcnRpZmljYXRlLnZ1ZSIsImlzX2Vycm9yIjp0cnVlLCJyZXF1ZXN0X2lkIjoiIiwidG9vbF91c2VfaWQiOiJ0b29sdV8wMVNwRDMybktjTUp6MlhjZ0FxNDg1Z3UifX0seyJpZCI6MiwidHlwZSI6NCwiaWRlX3N0YXRlX25vZGUiOnsid29ya3NwYWNlRm9sZGVycyI6W3sicmVwb3NpdG9yeVJvb3QiOiIvVXNlcnMvbGlhbmd4aW4vUHJvamVjdC9IdG1sL21pbmlQcm9ncmFtL2ppbmppdXhpbi1hZG1pbiIsImZvbGRlclJvb3QiOiIvVXNlcnMvbGlhbmd4aW4vUHJvamVjdC9IdG1sL21pbmlQcm9ncmFtL2ppbmppdXhpbi1hZG1pbiJ9XSwid29ya3NwYWNlRm9sZGVyc1VuY2hhbmdlZCI6ZmFsc2V9fV0sInRpbWVzdGFtcCI6IjIwMjUtMDYtMTJUMDM6NTY6MTEuMTkxWiIsInJlc3BvbnNlX3RleHQiOiLorqnmiJHlhYjmn6XnnIvlvZPliY3lt6XkvZzljLrnmoTmlofku7bnu5PmnoTvvIznhLblkI7mn6XnnIvmgqjmj5DliLDnmoTmlofku7bvvJpcbiIsIndvcmtzcGFjZV9maWxlX2NodW5rcyI6W119LHsic3RhdHVzIjoic3VjY2VzcyIsInJlcXVlc3RfaWQiOiIyNDk4NDIzYi0zODZhLTQ2OTYtODY5My05NTc0ODQzYjg0MDUiLCJyZXF1ZXN0X21lc3NhZ2UiOiIiLCJzdHJ1Y3R1cmVkX291dHB1dF9ub2RlcyI6W3siaWQiOjEsInR5cGUiOjUsImNvbnRlbnQiOiIiLCJ0b29sX3VzZSI6eyJ0b29sX3VzZV9pZCI6InRvb2x1XzAxN3N5eE0yWENFUFJLaTZKWUpzWk1ubSIsInRvb2xfbmFtZSI6ImNvZGViYXNlLXJldHJpZXZhbCIsImlucHV0X2pzb24iOiJ7XCJpbmZvcm1hdGlvbl9yZXF1ZXN0XCI6IFwiXFx1NjdlNVxcdTYyN2VcXHU4YmMxXFx1NGU2NihjZXJ0aWZpY2F0ZSlcXHU3NmY4XFx1NTE3M1xcdTc2ODRcXHU1YjU3XFx1NmJiNVxcdTViOWFcXHU0ZTQ5XFx1MzAwMVxcdTY1NzBcXHU2MzZlXFx1N2VkM1xcdTY3ODRcXHUzMDAxXFx1ODg2OFxcdTUzNTVcXHU1YjU3XFx1NmJiNVxcdTYyMTZBUElcXHU2M2E1XFx1NTNlM1xcdWZmMGNcXHU3Mjc5XFx1NTIyYlxcdTY2MmZcXHU0ZTBlXFx1NTQwOFxcdTU0MGNcXHU4YmMxXFx1NGU2NlxcdTc2ZjhcXHU1MTczXFx1NzY4NFxcdTY1NzBcXHU2MzZlXFx1NmEyMVxcdTU3OGJcIn0iLCJtY3Bfc2VydmVyX25hbWUiOiIiLCJtY3BfdG9vbF9uYW1lIjoiIn19LHsiaWQiOjAsInR5cGUiOjAsImNvbnRlbnQiOiLmiJHnnIvliLDlvZPliY3nmoQgYHBhZ2VzL2NvbnRyYWN0L2NlcnRpZmljYXRlLnZ1ZWAg5paH5Lu25piv56m655qE44CC5oKo5o+Q5Yiw6KaB5qC55o2uIGAvVXNlcnMvbGlhbmd4aW4vUHJvamVjdC9IdG1sL21pbmlQcm9ncmFtL2ppbmppdXhpbi13ZWIvcGFnZXMvY29udHJhY3QvY2VydGlmaWNhdGUudnVlYCDov5nkuKrmlofku7bnmoTlrZfmrrXmnaXnlJ/miJDlkI7lj7DliJfooajjgIJcblxu6K6p5oiR5L2/55So5Luj56CB5bqT5qOA57Si5bel5YW35p2l5p+l5om+55u45YWz55qE6K+B5Lmm5oiW5ZCI5ZCM55u45YWz55qE5a2X5q615L+h5oGv77yaXG4ifSx7ImlkIjoyLCJ0eXBlIjoyLCJjb250ZW50IjoiIn0seyJpZCI6MywidHlwZSI6MywiY29udGVudCI6IiJ9XSwic2Vlbl9zdGF0ZSI6InNlZW4iLCJzdHJ1Y3R1cmVkX3JlcXVlc3Rfbm9kZXMiOlt7ImlkIjoxLCJ0eXBlIjoxLCJ0b29sX3Jlc3VsdF9ub2RlIjp7ImNvbnRlbnQiOiJIZXJlJ3MgdGhlIHJlc3VsdCBvZiBydW5uaW5nIGBjYXQgLW5gIG9uIHBhZ2VzL2NvbnRyYWN0L2NlcnRpZmljYXRlLnZ1ZTpcbiAgICAgMVx0PHRlbXBsYXRlPlxuICAgICAyXHRcbiAgICAgM1x0PC90ZW1wbGF0ZT5cbiAgICAgNFx0XG4gICAgIDVcdDxzY3JpcHQ+XG4gICAgIDZcdGV4cG9ydCBkZWZhdWx0IHtcbiAgICAgN1x0ICBuYW1lOiBcImNlcnRpZmljYXRlXCIsXG4gICAgIDhcdCAgZGF0YSgpIHtcbiAgICAgOVx0ICAgIHJldHVybiB7fVxuICAgIDEwXHQgIH0sXG4gICAgMTFcdCAgbWV0aG9kczoge31cbiAgICAxMlx0fVxuICAgIDEzXHQ8L3NjcmlwdD5cblRvdGFsIGxpbmVzIGluIGZpbGU6IDEzXG4iLCJpc19lcnJvciI6ZmFsc2UsInJlcXVlc3RfaWQiOiIiLCJ0b29sX3VzZV9pZCI6InRvb2x1XzAxSGFYVlFoOU5tVnY0NUFIYlNDd0NrbiJ9fSx7ImlkIjoyLCJ0eXBlIjo0LCJpZGVfc3RhdGVfbm9kZSI6eyJ3b3Jrc3BhY2VGb2xkZXJzIjpbeyJyZXBvc2l0b3J5Um9vdCI6Ii9Vc2Vycy9saWFuZ3hpbi9Qcm9qZWN0L0h0bWwvbWluaVByb2dyYW0vamluaml1eGluLWFkbWluIiwiZm9sZGVyUm9vdCI6Ii9Vc2Vycy9saWFuZ3hpbi9Qcm9qZWN0L0h0bWwvbWluaVByb2dyYW0vamluaml1eGluLWFkbWluIn1dLCJ3b3Jrc3BhY2VGb2xkZXJzVW5jaGFuZ2VkIjpmYWxzZX19XSwidGltZXN0YW1wIjoiMjAyNS0wNi0xMlQwMzo1NjoxNS45NDdaIiwicmVzcG9uc2VfdGV4dCI6IuaIkeeci+WIsOW9k+WJjeeahCBgcGFnZXMvY29udHJhY3QvY2VydGlmaWNhdGUudnVlYCDmlofku7bmmK/nqbrnmoTjgILmgqjmj5DliLDopoHmoLnmja4gYC9Vc2Vycy9saWFuZ3hpbi9Qcm9qZWN0L0h0bWwvbWluaVByb2dyYW0vamluaml1eGluLXdlYi9wYWdlcy9jb250cmFjdC9jZXJ0aWZpY2F0ZS52dWVgIOi/meS4quaWh+S7tueahOWtl+auteadpeeUn+aIkOWQjuWPsOWIl+ihqOOAglxuXG7orqnmiJHkvb/nlKjku6PnoIHlupPmo4DntKLlt6XlhbfmnaXmn6Xmib7nm7jlhbPnmoTor4HkuabmiJblkIjlkIznm7jlhbPnmoTlrZfmrrXkv6Hmga/vvJpcbiIsIndvcmtzcGFjZV9maWxlX2NodW5rcyI6W119LHsic3RhdHVzIjoic3VjY2VzcyIsInJlcXVlc3RfaWQiOiJkZDgzNmQxMC05ZWVhLTQ4ZTItOGIzMi1lMGM1Y2U0Nzg4MjkiLCJyZXF1ZXN0X21lc3NhZ2UiOiIiLCJzdHJ1Y3R1cmVkX291dHB1dF9ub2RlcyI6W3siaWQiOjEsInR5cGUiOjUsImNvbnRlbnQiOiIiLCJ0b29sX3VzZSI6eyJ0b29sX3VzZV9pZCI6InRvb2x1XzAxSm8xTlV4VFA4RkdiWTF4R29WN3hkaiIsInRvb2xfbmFtZSI6ImNvZGViYXNlLXJldHJpZXZhbCIsImlucHV0X2pzb24iOiJ7XCJpbmZvcm1hdGlvbl9yZXF1ZXN0XCI6IFwiXFx1NjdlNVxcdTYyN2VcXHU1NDA4XFx1NTQwYyhjb250cmFjdClcXHU3NmY4XFx1NTE3M1xcdTc2ODRcXHU2NTcwXFx1NjM2ZVxcdTViNTdcXHU2YmI1XFx1MzAwMVxcdTg4NjhcXHU1MzU1XFx1NWI1N1xcdTZiYjVcXHUzMDAxXFx1NjU3MFxcdTYzNmVcXHU1ZTkzXFx1ODg2OFxcdTdlZDNcXHU2Nzg0XFx1ZmYwY1xcdTcyNzlcXHU1MjJiXFx1NjYyZlxcdTU0MDhcXHU1NDBjXFx1OGJjMVxcdTRlNjZcXHUzMDAxXFx1NTQwOFxcdTU0MGNcXHU3YmExXFx1NzQwNlxcdTc2ZjhcXHU1MTczXFx1NzY4NFxcdTViNTdcXHU2YmI1XFx1NWI5YVxcdTRlNDlcIn0iLCJtY3Bfc2VydmVyX25hbWUiOiIiLCJtY3BfdG9vbF9uYW1lIjoiIn19LHsiaWQiOjAsInR5cGUiOjAsImNvbnRlbnQiOiLnjrDlnKjorqnmiJHmn6Xmib7mm7TlpJrlhbPkuo7lkIjlkIzor4Hkuabnm7jlhbPnmoTlrZfmrrXkv6Hmga/vvJpcbiJ9LHsiaWQiOjIsInR5cGUiOjIsImNvbnRlbnQiOiIifSx7ImlkIjozLCJ0eXBlIjozLCJjb250ZW50IjoiIn1dLCJzZWVuX3N0YXRlIjoic2VlbiIsInN0cnVjdHVyZWRfcmVxdWVzdF9ub2RlcyI6W3siaWQiOjEsInR5cGUiOjEsInRvb2xfcmVzdWx0X25vZGUiOnsiY29udGVudCI6IlRoZSBmb2xsb3dpbmcgY29kZSBzZWN0aW9ucyB3ZXJlIHJldHJpZXZlZDpcblBhdGg6IHBhZ2VzX3RlbXBsYXRlL2NvbXBvbmVudHMvZm9ybS9mb3JtLXBheS1jZXJ0LnZ1ZVxuICAgICAxXHQ8dGVtcGxhdGU+XG4gICAgIDJcdFx0PHZpZXcgY2xhc3M9XCJwYWdlXCI+XG4gICAgIDNcdFx0XHQ8IS0tIOmhtemdouWGheWuueW8gOWniyAtLT5cbiAgICAgNFx0XHRcdDx2ay1kYXRhLXBhZ2UtaGVhZGVyXG4gICAgIDVcdFx0XHRcdHRpdGxlPVwi6K+B5Lmm6L2s5o2iXCJcbiAgICAgNlx0XHRcdFx0c3ViVGl0bGU9XCLlv6vpgJ/lsIbor4HkuablhoXlrrnlj5jmiJAx6KGM5a2X56ym5LiyXCJcbiAgICAgN1x0XHRcdD48L3ZrLWRhdGEtcGFnZS1oZWFkZXI+XG4gICAgIDhcdFx0XHQ8dmlldyBjbGFzcz1cInBhZ2UtYm9keVwiIHN0eWxlPVwid2lkdGg6IDEwMCVcIj5cbiAgICAgOVx0XHRcdFx0PHZpZXcgc3R5bGU9XCJjb2xvcjogcmVkO2ZvbnQtc2l6ZTogMTJweDtcIj7lhajnqIvml6DnvZHnu5zor7fmsYLvvIjmiZPlvIDmraTpobXpnaLlkI7ml6DnvZHnirbmgIHkuZ/og73miafooYzvvInvvIznm7TmjqXlnKjliY3nq6/op6PmnpDor4HkuabvvIzmsqHmnInor4Hkuabms4TpnLLpo47pmak8L3ZpZXc+XG4gICAgMTBcdFx0XHRcdDxlbC10YWJsZSA6ZGF0YT1cImNlcnRMaXN0XCIgc3R5bGU9XCJ3aWR0aDogMTAwJVwiPlxuICAgIDExXHRcdFx0XHRcdDxlbC10YWJsZS1jb2x1bW4gcHJvcD1cInRpcHNcIiBsYWJlbD1cIuivtOaYjlwiIG1pbldpZHRoPVwiMzAwXCI+IDwvZWwtdGFibGUtY29sdW1uPlxuICAgIDEyXHRcdFx0XHRcdDxlbC10YWJsZS1jb2x1bW4gcHJvcD1cIm5hbWVcIiBsYWJlbD1cIumAieaLqeivgeS5plwiIG1pbldpZHRoPVwiMzAwXCI+XG4gICAgMTNcdFx0XHRcdFx0XHQ8dGVtcGxhdGUgc2xvdC1zY29wZT1cInNjb3BlXCI+XG4gICAgMTRcdFx0XHRcdFx0XHRcdDx0ZXh0IHN0eWxlPVwibWFyZ2luLXJpZ2h0OiAyMHB4O1wiPnt7IHNjb3BlLnJvdy5uYW1lIH19PC90ZXh0PlxuICAgIDE1XHRcdFx0XHRcdFx0XHQ8ZWwtYnV0dG9uIHR5cGU9XCJzdWNjZXNzXCIgQGNsaWNrPVwidXBsb2FkKHNjb3BlLnJvdylcIiBzaXplPVwibWluaVwiIHBsYWluPiB7eyBzY29wZS5yb3cuY29udGVudCA/ICflt7InIDogJyd9femAieaLqSB7eyBzY29wZS5yb3cuZmlsZSB9fSA8L2VsLWJ1dHRvbj5cbiAgICAxNlx0XHRcdFx0XHRcdFx0PHRleHQgc3R5bGU9XCJtYXJnaW4tbGVmdDogMjBweDtjb2xvcjogI2MyZTdiMDtcIiB2LWlmPVwic2NvcGUucm93LmNvbnRlbnQgJiYgc2NvcGUucm93LmZpbGUgPT09IHNjb3BlLnJvdy5uYW1lXCI+IOKImiA8L3RleHQ+XG4gICAgMTdcdFx0XHRcdFx0XHRcdDx0ZXh0IHN0eWxlPVwibWFyZ2luLWxlZnQ6IDIwcHg7Y29sb3I6IHJlZDtcIiB2LWlmPVwic2NvcGUucm93LmNvbnRlbnQgJiYgc2NvcGUucm93LmZpbGUgIT09IHNjb3BlLnJvdy5uYW1lXCI+IMOXIDwvdGV4dD5cbiAgICAxOFx0XHRcdFx0XHRcdDwvdGVtcGxhdGU+XG4gICAgMTlcdFx0XHRcdFx0PC9lbC10YWJsZS1jb2x1bW4+XG4gICAgMjBcdFx0XHRcdFx0PGVsLXRhYmxlLWNvbHVtbiBwcm9wPVwia2V5NFwiIGxhYmVsPVwi6YCJ5oup5ZCO5Y+v5aSN5Yi2XCIgbWluV2lkdGg9XCIyMDBcIiA+XG4gICAgMjFcdFx0XHRcdFx0XHQ8dGVtcGxhdGUgc2xvdC1zY29wZT1cInNjb3BlXCI+XG4gICAgMjJcdFx0XHRcdFx0XHRcdDwhLS0gPGVsLWJ1dHRvbiB0eXBlPVwic3VjY2Vzc1wiIEBjbGljaz1cImNvcHkoc2NvcGUucm93Lm5hbWUpXCIgc2l6ZT1cIm1pbmlcIiBwbGFpbiB2LWlmPVwic2NvcGUucm93LmNvbnRlbnQgJiYgc2NvcGUucm93LmZpbGUgPT09IHNjb3BlLnJvdy5uYW1lXCI+IOWkjeWItiA8L2VsLWJ1dHRvbj4gLS0+XG4gICAgMjNcdFx0XHRcdFx0XHRcdDxlbC1idXR0b24gdHlwZT1cInN1Y2Nlc3NcIiBzaXplPVwibWluaVwiIHBsYWluIHYtaWY9XCJzY29wZS5yb3cuY29udGVudCAmJiBzY29wZS5yb3cuZmlsZSA9PT0gc2NvcGUucm93Lm5hbWVcIj4g6K+35aSN5Yi25LiL5pa56K+B5Lmm5YaF5a65IDwvZWwtYnV0dG9uPlxuICAgIDI0XHRcdFx0XHRcdFx0PC90ZW1wbGF0ZT5cbiAgICAyNVx0XHRcdFx0XHQ8L2VsLXRhYmxlLWNvbHVtbj5cbiAgICAyNlx0XHRcdFx0PC9lbC10YWJsZT5cbi4uLlxuICAgIDQxXHRcbiAgICA0Mlx0PHNjcmlwdD5cbiAgICA0M1x0XHR2YXIgdGhhdDtcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIOW9k+WJjemhtemdouWvueixoVxuICAgIDQ0XHRcdHZhciB2ayA9IHVuaS52aztcdFx0XHRcdFx0XHRcdFx0XHQvLyB2a+WunuS+i1xuICAgIDQ1XHRcdGV4cG9ydCBkZWZhdWx0IHtcbiAgICA0Nlx0XHRcdGRhdGEoKSB7XG4gICAgNDdcdFx0XHRcdC8vIOmhtemdouaVsOaNruWPmOmHj1xuICAgIDQ4XHRcdFx0XHRyZXR1cm4ge1xuICAgIDQ5XHRcdFx0XHRcdCBjZXJ0TGlzdDogW1xuICAgIDUwXHRcdFx0XHRcdFx0e1xuICAgIDUxXHRcdFx0XHRcdFx0XHRuYW1lOiAnYXBpY2xpZW50X2NlcnQucDEyJyxcbiAgICA1Mlx0XHRcdFx0XHRcdFx0dGlwczogJ+W+ruS/oeaUr+S7mHYy6ZyA6KaB55So5Yiw55qE6K+B5Lmm77yId3hwYXkucGZ477yJ55qE5YC8JyxcbiAgICA1M1x0XHRcdFx0XHRcdFx0ZmlsZTogJycsXG4gICAgNTRcdFx0XHRcdFx0XHRcdGNvbnRlbnQ6ICcnLFxuICAgIDU1XHRcdFx0XHRcdFx0XHRrZXk6ICd3eHBheS5wZngnXG4gICAgNTZcdFx0XHRcdFx0XHR9LFxuICAgIDU3XHRcdFx0XHRcdFx0e1xuICAgIDU4XHRcdFx0XHRcdFx0XHRuYW1lOiAnYXBpY2xpZW50X2NlcnQucGVtJyxcbiAgICA1OVx0XHRcdFx0XHRcdFx0dGlwczogJ+W+ruS/oeaUr+S7mHYz6ZyA6KaB55So5Yiw55qE6K+B5Lmm77yId3hwYXkuYXBwQ2VydENvbnRlbnTvvInnmoTlgLwnLFxuICAgIDYwXHRcdFx0XHRcdFx0XHRmaWxlOiAnJyxcbiAgICA2MVx0XHRcdFx0XHRcdFx0Y29udGVudDogJycsXG4gICAgNjJcdFx0XHRcdFx0XHRcdGtleTogJ3d4cGF5LmFwcENlcnRDb250ZW50J1xuICAgIDYzXHRcdFx0XHRcdFx0fSxcbiAgICA2NFx0XHRcdFx0XHRcdHtcbiAgICA2NVx0XHRcdFx0XHRcdFx0bmFtZTogJ2FwaWNsaWVudF9rZXkucGVtJyxcbiAgICA2Nlx0XHRcdFx0XHRcdFx0dGlwczogJ+W+ruS/oeaUr+S7mHYz6ZyA6KaB55So5Yiw55qE6K+B5Lmm77yId3hwYXkuYXBwUHJpdmF0ZUtleUNvbnRlbnTvvInnmoTlgLwnLFxuICAgIDY3XHRcdFx0XHRcdFx0XHRmaWxlOiAnJyxcbiAgICA2OFx0XHRcdFx0XHRcdFx0Y29udGVudDogJycsXG4gICAgNjlcdFx0XHRcdFx0XHRcdGtleTogJ3d4cGF5LmFwcFByaXZhdGVLZXlDb250ZW50J1xuICAgIDcwXHRcdFx0XHRcdFx0fSxcbiAgICA3MVx0XHRcdFx0XHRcdHtcbiAgICA3Mlx0XHRcdFx0XHRcdFx0bmFtZTogJ2FsaXBheUNlcnRQdWJsaWNLZXlfUlNBMi5jcnQnLFxuICAgIDczXHRcdFx0XHRcdFx0XHR0aXBzOiAn5pSv5LuY5a6d5pSv5LuYIC0g5pSv5LuY5a6d5YWs6ZKl6K+B5Lmm77yIYWxpcGF5LmFsaXBheVB1YmxpY0NlcnRDb250ZW5077yJ55qE5YC8JyxcbiAgICA3NFx0XHRcdFx0XHRcdFx0ZmlsZTogJycsXG4gICAgNzVcdFx0XHRcdFx0XHRcdGNvbnRlbnQ6ICcnLFxuICAgIDc2XHRcdFx0XHRcdFx0XHRrZXk6ICdhbGlwYXkuYWxpcGF5UHVibGljQ2VydENvbnRlbnQnXG4gICAgNzdcdFx0XHRcdFx0XHR9LFxuICAgIDc4XHRcdFx0XHRcdFx0e1xuICAgIDc5XHRcdFx0XHRcdFx0XHRuYW1lOiAnYWxpcGF5Um9vdENlcnQuY3J0JyxcbiAgICA4MFx0XHRcdFx0XHRcdFx0dGlwczogJ+aUr+S7mOWuneaUr+S7mCAtIOaUr+S7mOWuneagueivgeS5pu+8iGFsaXBheS5hbGlwYXlSb290Q2VydENvbnRlbnTvvInnmoTlgLwnLFxuICAgIDgxXHRcdFx0XHRcdFx0XHRmaWxlOiAnJyxcbiAgICA4Mlx0XHRcdFx0XHRcdFx0Y29udGVudDogJycsXG4gICAgODNcdFx0XHRcdFx0XHRcdGtleTogJ2FsaXBheS5hbGlwYXlSb290Q2VydENvbnRlbnQnXG4gICAgODRcdFx0XHRcdFx0XHR9LFxuICAgIDg1XHRcdFx0XHRcdFx0e1xuICAgIDg2XHRcdFx0XHRcdFx0XHRuYW1lOiAnYXBwQ2VydFB1YmxpY0tleS5jcnQnLFxuICAgIDg3XHRcdFx0XHRcdFx0XHR0aXBzOiAn5pSv5LuY5a6d5pSv5LuYIC0g5bqU55So5YWs6ZKl6K+B5Lmm77yIYWxpcGF5LmFwcENlcnRDb250ZW5077yJ55qE5YC8JyxcbiAgICA4OFx0XHRcdFx0XHRcdFx0ZmlsZTogJycsXG4gICAgODlcdFx0XHRcdFx0XHRcdGNvbnRlbnQ6ICcnLFxuICAgIDkwXHRcdFx0XHRcdFx0XHRrZXk6ICdhbGlwYXkuYXBwQ2VydENvbnRlbnQnXG4gICAgOTFcdFx0XHRcdFx0XHR9XG4gICAgOTJcdFx0XHRcdFx0XSxcbiAgICA5M1x0XHRcdFx0XHQvLyDooajljZXnm7jlhbPlvIDlp4stLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIDk0XHRcdFx0XHRcdGZvcm0xOiB7XG4gICAgOTVcdFx0XHRcdFx0XHR3eHBheToge1xuICAgIDk2XHRcdFx0XHRcdFx0XHRwZng6IFwiXCIsXG4gICAgOTdcdFx0XHRcdFx0XHRcdGFwcENlcnRDb250ZW50OiBcIlwiLFxuICAgIDk4XHRcdFx0XHRcdFx0XHRhcHBQcml2YXRlS2V5Q29udGVudDogXCJcIixcbiAgICA5OVx0XHRcdFx0XHRcdH0sXG4gICAxMDBcdFx0XHRcdFx0XHRhbGlwYXk6IHtcbiAgIDEwMVx0XHRcdFx0XHRcdFx0YWxpcGF5UHVibGljQ2VydENvbnRlbnQ6IFwiXCIsXG4gICAxMDJcdFx0XHRcdFx0XHRcdGFsaXBheVJvb3RDZXJ0Q29udGVudDogXCJcIixcbiAgIDEwM1x0XHRcdFx0XHRcdFx0YXBwQ2VydENvbnRlbnQ6IFwiXCJcbiAgIDEwNFx0XHRcdFx0XHRcdH1cbiAgIDEwNVx0XHRcdFx0XHR9LFxuICAgMTA2XHRcdFx0XHRcdC8vIOihqOWNleebuOWFs+e7k+adny0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAxMDdcdFxuICAgMTA4XHRcdFx0XHR9XG4gICAxMDlcdFx0XHR9LFxuICAgMTEwXHRcdFx0Ly8g55uR5ZCsIC0g6aG16Z2i5q+P5qyh44CQ5Yqg6L295pe244CR5omn6KGMKOWmgu+8muWJjei/mylcbiAgIDExMVx0XHRcdG9uTG9hZChvcHRpb25zID0ge30pIHtcbiAgIDExMlx0XHRcdFx0dGhhdCA9IHRoaXM7XG4gICAxMTNcdFx0XHRcdHZrID0gdGhhdC52aztcbiAgIDExNFx0XHRcdFx0dGhhdC5vcHRpb25zID0gb3B0aW9ucztcbiAgIDExNVx0XHRcdFx0dGhhdC5pbml0KG9wdGlvbnMpO1xuICAgMTE2XHRcdFx0fSxcbi4uLlxuICAgMTQyXHRcdFx0XHRcdGxldCBzdWZmaXggPSBuYW1lLnN1YnN0cmluZyhuYW1lLmxhc3RJbmRleE9mKFwiLlwiKSArIDEpO1xuICAgMTQzXHRcdFx0XHRcdHVuaS5jaG9vc2VGaWxlKHtcbiAgIDE0NFx0XHRcdFx0XHQgIGNvdW50OiAxLCAvL+m7mOiupDEwMFxuICAgMTQ1XHRcdFx0XHRcdCAgZXh0ZW5zaW9uOiBbc3VmZml4XSxcbiAgIDE0Nlx0XHRcdFx0XHRcdHN1Y2Nlc3M6IChyZXMpID0+IHtcbiAgIDE0N1x0XHRcdFx0XHRcdFx0bGV0IHRlbXBGaWxlID0gcmVzLnRlbXBGaWxlc1swXTtcbiAgIDE0OFx0XHRcdFx0XHRcdFx0aWYgKG5hbWUgPT09IFwiYXBpY2xpZW50X2NlcnQucDEyXCIpIHtcbiAgIDE0OVx0XHRcdFx0XHRcdFx0XHR2ay5wdWJmbi5maWxlVG9CYXNlNjQoe1xuICAgMTUwXHRcdFx0XHRcdFx0XHRcdCAgZmlsZTogdGVtcEZpbGUsXG4gICAxNTFcdFx0XHRcdFx0XHRcdFx0ICBzdWNjZXNzOiAoYmFzZTY0KSA9PiB7XG4gICAxNTJcdFx0XHRcdFx0XHRcdFx0XHRcdGxldCBiYXNlNjRJbmRleCA9IGJhc2U2NC5pbmRleE9mKFwiYmFzZTY0LFwiKTtcbiAgIDE1M1x0XHRcdFx0XHRcdFx0XHRcdFx0YmFzZTY0ID0gYmFzZTY0LnN1YnN0cmluZyhiYXNlNjRJbmRleCtcImJhc2U2NCxcIi5sZW5ndGgpO1xuICAgMTU0XHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLmZvcm0xLnd4cGF5LnBmeCA9IGJhc2U2NDtcbiAgIDE1NVx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5jZXJ0TGlzdFtpbmRleF0uY29udGVudCA9IGJhc2U2NDtcbiAgIDE1Nlx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5jZXJ0TGlzdFtpbmRleF0uZmlsZSA9IHRlbXBGaWxlLm5hbWU7XG4gICAxNTdcdFx0XHRcdFx0XHRcdFx0ICB9XG4gICAxNThcdFx0XHRcdFx0XHRcdFx0fSk7XG4gICAxNTlcdFx0XHRcdFx0XHRcdH0gZWxzZSB7XG4gICAxNjBcdFx0XHRcdFx0XHRcdFx0Y29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgIDE2MVx0XHRcdFx0XHRcdFx0XHRyZWFkZXIub25sb2FkID0gKCkgPT4ge1xuICAgMTYyXHRcdFx0XHRcdFx0XHRcdFx0bGV0IHJlc3VsdCA9IHJlYWRlci5yZXN1bHQ7XG4gICAxNjNcdFx0XHRcdFx0XHRcdFx0XHRyZXN1bHQgPSByZXN1bHQucmVwbGFjZSgvXFxyXFxuL2csIFwiXFxuXCIpO1xuICAgMTY0XHRcdFx0XHRcdFx0XHRcdFx0dmsucHViZm4uc2V0RGF0YSh0aGlzLmZvcm0xLCBrZXksIHJlc3VsdCk7XG4gICAxNjVcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLmNlcnRMaXN0W2luZGV4XS5jb250ZW50ID0gcmVzdWx0O1xuICAgMTY2XHRcdFx0XHRcdFx0XHRcdH07XG4gICAxNjdcdFx0XHRcdFx0XHRcdFx0cmVhZGVyLnJlYWRBc1RleHQocmVzLnRlbXBGaWxlc1swXSk7XG4gICAxNjhcdFx0XHRcdFx0XHRcdFx0aWYgKHRlbXBGaWxlLm5hbWUuaW5kZXhPZihcImFwcENlcnRQdWJsaWNLZXlfXCIpID09IDApIHtcbiAgIDE2OVx0XHRcdFx0XHRcdFx0XHRcdHRlbXBGaWxlLm5hbWUgPSBcImFwcENlcnRQdWJsaWNLZXkuY3J0XCI7XG4gICAxNzBcdFx0XHRcdFx0XHRcdFx0fVxuICAgMTcxXHRcdFx0XHRcdFx0XHRcdHRoaXMuY2VydExpc3RbaW5kZXhdLmZpbGUgPSB0ZW1wRmlsZS5uYW1lO1xuICAgMTcyXHRcdFx0XHRcdFx0XHR9XG4gICAxNzNcdFx0XHRcdFx0XHR9XG4gICAxNzRcdFx0XHRcdFx0fSk7XG4gICAxNzVcdFx0XHRcdH0sXG4gICAxNzZcdFx0XHRcdGNvcHkobmFtZSl7XG4gICAxNzdcdFx0XHRcdFx0bGV0IGNvbnRlbnRJdGVtID0gdGhpcy5jZXJ0TGlzdC5maW5kKChpdGVtKSA9PiB7XG4gICAxNzhcdFx0XHRcdFx0XHRyZXR1cm4gbmFtZSA9PT0gaXRlbS5uYW1lO1xuICAgMTc5XHRcdFx0XHRcdH0pO1xuICAgMTgwXHRcdFx0XHRcdGxldCBjb250ZW50ID0gY29udGVudEl0ZW0uY29udGVudDtcbiAgIDE4MVx0XHRcdFx0XHR1bmkuc2V0Q2xpcGJvYXJkRGF0YSh7XG4gICAxODJcdFx0XHRcdFx0XHRkYXRhOiBjb250ZW50LFxuICAgMTgzXHRcdFx0XHRcdFx0c3VjY2VzczogKCkgPT4ge1xuICAgMTg0XHRcdFx0XHRcdFx0XHR2ay50b2FzdChcIuWkjeWItuaIkOWKn1wiKTtcbiAgIDE4NVx0XHRcdFx0XHRcdH1cbiAgIDE4Nlx0XHRcdFx0XHR9KTtcbiAgIDE4N1x0XHRcdFx0fVxuICAgMTg4XHRcdFx0fSxcbiAgIDE4OVx0XHRcdC8vIOiuoeeul+WxnuaAp1xuICAgMTkwXHRcdFx0Y29tcHV0ZWQ6e1xuICAgMTkxXHRcbiAgIDE5Mlx0XHRcdH1cbiAgIDE5M1x0XHR9XG4gICAxOTRcdDwvc2NyaXB0PlxuICAgMTk1XHQ8c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XG4gICAxOTZcdFxuICAgMTk3XHQ8L3N0eWxlPlxuLi4uXG5QYXRoOiB1bmlfbW9kdWxlcy91bmktY29uZmlnLWNlbnRlci91bmlDbG91ZC9jbG91ZGZ1bmN0aW9ucy9jb21tb24vdW5pLWNvbmZpZy1jZW50ZXIvdW5pLXBheS9hbGlwYXkv44CQ6YeN6KaB44CR6L+Z6YeM5pS+5pSv5LuY5a6d6K+B5LmmLm1kXG4gICAgIDFcdCMjIyDmlofku7blkI3vvJpcbiAgICAgMlx0IyMjIyAx44CBYGFsaXBheUNlcnRQdWJsaWNLZXlfUlNBMi5jcnRgXG4gICAgIDNcdCMjIyMgMuOAgWBhbGlwYXlSb290Q2VydC5jcnRgXG4gICAgIDRcdCMjIyMgM+OAgWBhcHBDZXJ0UHVibGljS2V5LmNydGBcbiAgICAgNVx0IVvor4HkuabkvY3nva5dKGh0dHBzOi8vdmtjZXl1Z3UuY2RuLmJzcGFwcC5jb20vVktDRVlVR1UtY2YwYzVlNjktNjIwYy00ZjNjLTg0YWItZjQ2MTkyNjI5MzlmLzYxYzE1ODJhLTJjYTctNDNkMy05MmViLWI4MjEzNmNjNTgzZi5wbmcpLi4uXG5QYXRoOiBwYWdlc190ZW1wbGF0ZS9jb21wb25lbnRzL2Zvcm0vZm9ybS1jZXJ0LnZ1ZVxuICAgICAxXHQ8dGVtcGxhdGU+XG4gICAgIDJcdFx0PHZpZXcgY2xhc3M9XCJwYWdlXCI+XG4gICAgIDNcdFx0XHQ8IS0tIOmhtemdouWGheWuueW8gOWniyAtLT5cbiAgICAgNFx0XHRcdDx2ay1kYXRhLXBhZ2UtaGVhZGVyXG4gICAgIDVcdFx0XHRcdHRpdGxlPVwi6K+B5Lmm6L2s5o2iXCJcbiAgICAgNlx0XHRcdFx0c3ViVGl0bGU9XCLlv6vpgJ/lsIbor4HkuablhoXlrrnlj5jmiJAx6KGM5a2X56ym5LiyXCJcbiAgICAgN1x0XHRcdD48L3ZrLWRhdGEtcGFnZS1oZWFkZXI+XG4gICAgIDhcdFx0XHQ8dmlldyBjbGFzcz1cInBhZ2UtYm9keVwiIHN0eWxlPVwibWF4LXdpZHRoOiA4MDBweDttYXJnaW46IDAgYXV0bztcIj5cbiAgICAgOVx0XHRcdFx0PGVsLWlucHV0IHYtbW9kZWw9XCJmb3JtMS5jb250ZW50XCIgdHlwZT1cInRleHRhcmVhXCIgOnJvd3M9XCIyMFwiIHBsYWNlaG9sZGVyPVwi6K+35bCG6K+B5Lmm5YaF5a6557KY6LS05Yiw5q2k5aSEXCI+PC9lbC1pbnB1dD5cbiAgICAxMFx0XHRcdFx0PHZpZXcgc3R5bGU9XCJtYXJnaW4tdG9wOiAyMHB4O1wiPlxuICAgIDExXHRcdFx0XHRcdDxlbC1idXR0b24gdHlwZT1cInByaW1hcnlcIiBAY2xpY2s9XCJjb3B5XCI+5aSN5Yi26K+B5Lmm5YaF5a6577yI5LiA6KGM5a2X56ym5Liy5b2i5byP77yJPC9lbC1idXR0b24+XG4gICAgMTJcdFx0XHRcdDwvdmlldz5cbiAgICAxM1x0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0aXBzIG10MTVcIj5cbiAgICAxNFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm10MTUganNvbi12aWV3XCIgdi1pZj1cImZvcm0xXCI+XG4gICAgMTVcdFx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cImZvbnQtc2l6ZTogMTRweDtcIj7or4HkuablhoXlrrk8L3ZpZXc+XG4gICAgMTZcdFx0XHRcdFx0XHQ8cHJlPlxuICAgIDE3XHRcdFx0XHRcdFx0XHR7eyBmb3JtMSB9fVxuICAgIDE4XHRcdFx0XHRcdFx0PC9wcmU+XG4gICAgMTlcdFx0XHRcdFx0PC92aWV3PlxuICAgIDIwXHRcdFx0XHQ8L3ZpZXc+XG4gICAgMjFcdFxuICAgIDIyXHRcdFx0PC92aWV3PlxuICAgIDIzXHRcdFx0PCEtLSDpobXpnaLlhoXlrrnnu5PmnZ8gLS0+XG4gICAgMjRcdFx0PC92aWV3PlxuICAgIDI1XHQ8L3RlbXBsYXRlPlxuLi4uXG5QYXRoOiB1bmlfbW9kdWxlcy91bmktY29uZmlnLWNlbnRlci91bmlDbG91ZC9jbG91ZGZ1bmN0aW9ucy9jb21tb24vdW5pLWNvbmZpZy1jZW50ZXIvdW5pLXBheS93eHBheS/jgJDph43opoHjgJHov5nph4zmlL7lvq7kv6HmlK/ku5jor4HkuaYubWRcbiAgICAgMVx0IyMjIOaWh+S7tuWQje+8mlxuICAgICAyXHQjIyMjIDHjgIFgd3hwYXkucDEyYFxuICAgICAzXHQhW+ivgeS5puS9jee9rl0oaHR0cHM6Ly92a2NleXVndS5jZG4uYnNwYXBwLmNvbS9WS0NFWVVHVS1jZjBjNWU2OS02MjBjLTRmM2MtODRhYi1mNDYxOTI2MjkzOWYvNjFjMTU4MmEtMmNhNy00M2QzLTkyZWItYjgyMTM2Y2M1ODNmLnBuZykuLi5cblBhdGg6IHBhZ2VzL2NvbnRyYWN0L3RlbXBsYXRlL2xpc3QudnVlXG4uLi5cbiAgICA3MFx0ICAgICAgICAgICAgLy8g6KGo5qC855u45YWz5byA5aeLIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgNzFcdCAgICAgICAgICAgIHRhYmxlMToge1xuICAgIDcyXHQgICAgICAgICAgICAgICAgLy8g6KGo5qC85pWw5o2u6K+35rGC5Zyw5Z2AXG4gICAgNzNcdCAgICAgICAgICAgICAgICBhY3Rpb246IFwiYWRtaW4vY29udHJhY3QvdGVtcGxhdGUvc3lzL2dldExpc3RcIixcbiAgICA3NFx0ICAgICAgICAgICAgICAgIC8vIOihqOagvOWtl+auteaYvuekuuinhOWImVxuICAgIDc1XHQgICAgICAgICAgICAgICAgY29sdW1uczogW1xuICAgIDc2XHQgICAgICAgICAgICAgICAgICAgIC8vIHtcbiAgICA3N1x0ICAgICAgICAgICAgICAgICAgICAvLyBcdGtleTogXCJfaWRcIixcbiAgICA3OFx0ICAgICAgICAgICAgICAgICAgICAvLyBcdHRpdGxlOiBcImlkXCIsXG4gICAgNzlcdCAgICAgICAgICAgICAgICAgICAgLy8gXHR0eXBlOiBcInRleHRcIixcbiAgICA4MFx0ICAgICAgICAgICAgICAgICAgICAvLyBcdHdpZHRoOiAyMjBcbiAgICA4MVx0ICAgICAgICAgICAgICAgICAgICAvLyB9LFxuICAgIDgyXHQgICAgICAgICAgICAgICAgICAgIHtcbiAgICA4M1x0ICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBcIm5hbWVcIixcbiAgICA4NFx0ICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IFwi5ZCN56ewXCIsXG4gICAgODVcdCAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwidGV4dFwiLFxuICAgIDg2XHQgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjIwLFxuICAgIDg3XHQgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbjogXCJsZWZ0XCIsXG4gICAgODhcdCAgICAgICAgICAgICAgICAgICAgfSxcbiAgICA4OVx0ICAgICAgICAgICAgICAgICAgICB7XG4gICAgOTBcdCAgICAgICAgICAgICAgICAgICAgICAgIGtleTogXCJmaWVsZFwiLFxuICAgIDkxXHQgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogXCLlj5jph49cIixcbiAgICA5Mlx0ICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJ0ZXh0XCIsXG4gICAgOTNcdCAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduOiBcImxlZnRcIixcbiAgICA5NFx0ICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIyMFxuICAgIDk1XHQgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgOTZcdCAgICAgICAgICAgICAgICAgICAge1xuICAgIDk3XHQgICAgICAgICAgICAgICAgICAgICAgICBrZXk6IFwiaXNPblwiLFxuICAgIDk4XHQgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogXCLmmK/lkKblkK/nlKhcIixcbiAgICA5OVx0ICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJzd2l0Y2hcIixcbiAgIDEwMFx0ICAgICAgICAgICAgICAgICAgICB9LFxuICAgMTAxXHQgICAgICAgICAgICAgICAgICAgIHtcbiAgIDEwMlx0ICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBcIl9hZGRfdGltZVwiLFxuICAgMTAzXHQgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogXCLmt7vliqDml7bpl7RcIixcbiAgIDEwNFx0ICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJ0aW1lXCIsXG4gICAxMDVcdCAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduOiBcImxlZnRcIixcbiAgIDEwNlx0ICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE2MCxcbiAgIDEwN1x0ICAgICAgICAgICAgICAgICAgICAgICAgc29ydGFibGU6IFwiY3VzdG9tXCJcbiAgIDEwOFx0ICAgICAgICAgICAgICAgICAgICB9LFxuICAgMTA5XHQgICAgICAgICAgICAgICAgICAgIHtcbiAgIDExMFx0ICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBcIl9hZGRfdGltZVwiLFxuICAgMTExXHQgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogXCLot53nprvnjrDlnKhcIixcbiAgIDExMlx0ICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJkYXRlRGlmZlwiLFxuICAgMTEzXHQgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbjogXCJsZWZ0XCIsXG4gICAxMTRcdCAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMjBcbiAgIDExNVx0ICAgICAgICAgICAgICAgICAgICB9LFxuICAgMTE2XHQgICAgICAgICAgICAgICAgXSxcbiAgIDExN1x0ICAgICAgICAgICAgICAgIC8vIOWkmumAieahhumAieS4reeahOWAvFxuICAgMTE4XHQgICAgICAgICAgICAgICAgbXVsdGlwbGVTZWxlY3Rpb246IFtdLFxuICAgMTE5XHQgICAgICAgICAgICAgICAgLy8g5b2T5YmN6auY5Lqu55qE6K6w5b2VXG4gICAxMjBcdCAgICAgICAgICAgICAgICBzZWxlY3RJdGVtOiBcIlwiXG4gICAxMjFcdCAgICAgICAgICAgIH0sXG4uLi5cblBhdGg6IHBhZ2VzL2NvbnRyYWN0L2NlcnRpZmljYXRlLnZ1ZVxuICAgICAxXHQ8dGVtcGxhdGU+XG4gICAgIDJcdFxuICAgICAzXHQ8L3RlbXBsYXRlPlxuICAgICA0XHRcbiAgICAgNVx0PHNjcmlwdD5cbiAgICAgNlx0ZXhwb3J0IGRlZmF1bHQge1xuICAgICA3XHQgIG5hbWU6IFwiY2VydGlmaWNhdGVcIixcbiAgICAgOFx0ICBkYXRhKCkge1xuICAgICA5XHQgICAgcmV0dXJuIHt9XG4gICAgMTBcdCAgfSxcbiAgICAxMVx0ICBtZXRob2RzOiB7fVxuICAgIDEyXHR9XG4gICAgMTNcdDwvc2NyaXB0Pi4uLlxuUGF0aDogdW5pQ2xvdWQtdGNiL2RhdGFiYXNlL2RiX2luaXQuanNvblxuICAgICAxXHQvLyDlnKjmnKzmlofku7bkuK3lj6/phY3nva7kupHmlbDmja7lupPliJ3lp4vljJbvvIzmlbDmja7moLzlvI/op4HvvJpodHRwczovL3VuaWFwcC5kY2xvdWQuaW8vdW5pQ2xvdWQvY2YtZGF0YWJhc2U/aWQ9ZGJfaW5pdFxuICAgICAyXHRcbiAgICAgM1x0Ly8g57yW5YaZ5a6M5q+V5ZCO5a+55pys5paH5Lu254K55Y+z6ZSu77yM5Y+v5oyJ6YWN572u6KeE5YiZ5Yib5bu66KGo5ZKM5re75Yqg5pWw5o2uXG4gICAgIDRcdFxuICAgICA1XHR7XG4gICAgIDZcdFx0XCJ2ay10ZXN0XCI6IHtcbiAgICAgN1x0XHRcdFwiZGF0YVwiOiBbXG4gICAgIDhcdFx0XHRcdFxuICAgICA5XHRcdFx0XSxcbiAgICAxMFx0XHRcdFwiaW5kZXhcIjogW1xuICAgIDExXHRcdFx0XHR7XG4gICAgMTJcdFx0XHRcdFx0XCJJbmRleE5hbWVcIjogXCJsb2NhdGlvblwiLFxuICAgIDEzXHRcdFx0XHRcdFwiTWdvS2V5U2NoZW1hXCI6IHtcIk1nb0luZGV4S2V5c1wiOiBbe1wiTmFtZVwiOiBcImxvY2F0aW9uXCIsXCJEaXJlY3Rpb25cIjogXCIyZHNwaGVyZVwifV0sXCJNZ29Jc1VuaXF1ZVwiOiBmYWxzZX1cbiAgICAxNFx0XHRcdFx0fSxcbiAgICAxNVx0XHRcdFx0e1xuICAgIDE2XHRcdFx0XHRcdFwiSW5kZXhOYW1lXCI6IFwiX2FkZF90aW1lXCIsXG4gICAgMTdcdFx0XHRcdFx0XCJNZ29LZXlTY2hlbWFcIjoge1wiTWdvSW5kZXhLZXlzXCI6IFt7XCJOYW1lXCI6IFwiX2FkZF90aW1lXCIsXCJEaXJlY3Rpb25cIjogXCIxXCJ9XSxcIk1nb0lzVW5pcXVlXCI6IGZhbHNlfVxuICAgIDE4XHRcdFx0XHR9XG4gICAgMTlcdFx0XHRdXG4gICAgMjBcdFx0fSxcbiAgICAyMVx0XHRcInVuaS1pZC11c2Vyc1wiOiB7XG4gICAgMjJcdFx0XHRcImRhdGFcIjogW1xuICAgIDIzXHRcdFx0XHR7XG4gICAgMjRcdFx0XHRcdFx0XCJfaWRcIjpcIjAwMVwiLFxuICAgIDI1XHRcdFx0XHRcdFwidXNlcm5hbWVcIjogXCJhZG1pblwiLFxuICAgIDI2XHRcdFx0XHRcdFwicGFzc3dvcmRcIjogXCIwM2NhZWJiMzY2NzA5OTVmYzI2MWEyNzVkMjEyY2FkNjVlNGJiZWJkXCIsXG4gICAgMjdcdFx0XHRcdFx0XCJyZWdpc3Rlcl9kYXRlXCI6IDE1OTY0MTY0MDAwMDAsXG4gICAgMjhcdFx0XHRcdFx0XCJyZWdpc3Rlcl9pcFwiOiBcIjEyNy4wLjAuMVwiLFxuICAgIDI5XHRcdFx0XHRcdFwibmlja25hbWVcIjogXCLotoXnuqfnrqHnkIblkZhcIixcbiAgICAzMFx0XHRcdFx0XHRcInJvbGVcIjpbXCJhZG1pblwiXSxcbiAgICAzMVx0XHRcdFx0XHRcInRva2VuXCI6IFtdLFxuICAgIDMyXHRcdFx0XHRcdFwiYWxsb3dfbG9naW5fYmFja2dyb3VuZFwiOnRydWVcbiAgICAzM1x0XHRcdFx0fVxuICAgIDM0XHRcdFx0XSxcbi4uLlxuICAgIDg2XHRcdFwib3BlbmRiLXZlcmlmeS1jb2Rlc1wiOiB7XG4gICAgODdcdFx0XHRcImRhdGFcIjogW10sXG4gICAgODhcdFx0XHRcImluZGV4XCI6IFtcbiAgICA4OVx0XHRcdFx0e1xuICAgIDkwXHRcdFx0XHRcdFwiSW5kZXhOYW1lXCI6IFwibW9iaWxlXCIsXG4gICAgOTFcdFx0XHRcdFx0XCJNZ29LZXlTY2hlbWFcIjoge1xuICAgIDkyXHRcdFx0XHRcdFx0XCJNZ29JbmRleEtleXNcIjogW3tcbiAgICA5M1x0XHRcdFx0XHRcdFx0XCJOYW1lXCI6IFwibW9iaWxlXCIsXG4gICAgOTRcdFx0XHRcdFx0XHRcdFwiRGlyZWN0aW9uXCI6IFwiMVwiXG4gICAgOTVcdFx0XHRcdFx0XHR9LCB7XG4gICAgOTZcdFx0XHRcdFx0XHRcdFwiTmFtZVwiOiBcImNvZGVcIixcbiAgICA5N1x0XHRcdFx0XHRcdFx0XCJEaXJlY3Rpb25cIjogXCIxXCJcbiAgICA5OFx0XHRcdFx0XHRcdH1dLFxuICAgIDk5XHRcdFx0XHRcdFx0XCJNZ29Jc1VuaXF1ZVwiOiBmYWxzZVxuICAgMTAwXHRcdFx0XHRcdH1cbiAgIDEwMVx0XHRcdFx0fSxcbiAgIDEwMlx0XHRcdFx0e1xuICAgMTAzXHRcdFx0XHRcdFwiSW5kZXhOYW1lXCI6IFwiZW1haWxcIixcbiAgIDEwNFx0XHRcdFx0XHRcIk1nb0tleVNjaGVtYVwiOiB7XG4gICAxMDVcdFx0XHRcdFx0XHRcIk1nb0luZGV4S2V5c1wiOiBbe1xuICAgMTA2XHRcdFx0XHRcdFx0XHRcIk5hbWVcIjogXCJlbWFpbFwiLFxuICAgMTA3XHRcdFx0XHRcdFx0XHRcIkRpcmVjdGlvblwiOiBcIjFcIlxuICAgMTA4XHRcdFx0XHRcdFx0fSwge1xuICAgMTA5XHRcdFx0XHRcdFx0XHRcIk5hbWVcIjogXCJjb2RlXCIsXG4gICAxMTBcdFx0XHRcdFx0XHRcdFwiRGlyZWN0aW9uXCI6IFwiMVwiXG4gICAxMTFcdFx0XHRcdFx0XHR9XSxcbiAgIDExMlx0XHRcdFx0XHRcdFwiTWdvSXNVbmlxdWVcIjogZmFsc2VcbiAgIDExM1x0XHRcdFx0XHR9XG4gICAxMTRcdFx0XHRcdH0sXG4gICAxMTVcdFx0XHRcdHtcbiAgIDExNlx0XHRcdFx0XHRcIkluZGV4TmFtZVwiOiBcInR5cGVcIixcbiAgIDExN1x0XHRcdFx0XHRcIk1nb0tleVNjaGVtYVwiOiB7XCJNZ29JbmRleEtleXNcIjogW3tcIk5hbWVcIjogXCJ0eXBlXCIsXCJEaXJlY3Rpb25cIjogXCIxXCJ9XSxcIk1nb0lzVW5pcXVlXCI6IGZhbHNlfVxuICAgMTE4XHRcdFx0XHR9LFxuICAgMTE5XHRcdFx0XHR7XG4gICAxMjBcdFx0XHRcdFx0XCJJbmRleE5hbWVcIjogXCJzdGF0ZVwiLFxuICAgMTIxXHRcdFx0XHRcdFwiTWdvS2V5U2NoZW1hXCI6IHtcIk1nb0luZGV4S2V5c1wiOiBbe1wiTmFtZVwiOiBcInN0YXRlXCIsXCJEaXJlY3Rpb25cIjogXCIxXCJ9XSxcIk1nb0lzVW5pcXVlXCI6IGZhbHNlfVxuICAgMTIyXHRcdFx0XHR9XG4gICAxMjNcdFx0XHRdXG4gICAxMjRcdFx0fSxcbiAgIDEyNVx0XHRcIm9wZW5kYi10ZW1wZGF0YVwiOiB7XG4gICAxMjZcdFx0XHRcImRhdGFcIjogW1xuICAgMTI3XHRcbiAgIDEyOFx0XHRcdF0sXG4gICAxMjlcdFx0XHRcImluZGV4XCI6IFtcbiAgIDEzMFx0XHRcdFx0e1xuICAgMTMxXHRcdFx0XHRcdFwiSW5kZXhOYW1lXCI6IFwiX2FkZF90aW1lXCIsXG4gICAxMzJcdFx0XHRcdFx0XCJNZ29LZXlTY2hlbWFcIjoge1wiTWdvSW5kZXhLZXlzXCI6IFt7XCJOYW1lXCI6IFwiX2FkZF90aW1lXCIsXCJEaXJlY3Rpb25cIjogXCIxXCJ9XSxcIk1nb0lzVW5pcXVlXCI6IGZhbHNlfVxuICAgMTMzXHRcdFx0XHR9LFxuICAgMTM0XHRcdFx0XHR7XG4gICAxMzVcdFx0XHRcdFx0XCJJbmRleE5hbWVcIjogXCJleHBpcmVkXCIsXG4gICAxMzZcdFx0XHRcdFx0XCJNZ29LZXlTY2hlbWFcIjoge1wiTWdvSW5kZXhLZXlzXCI6IFt7XCJOYW1lXCI6IFwiZXhwaXJlZFwiLFwiRGlyZWN0aW9uXCI6IFwiMVwifV0sXCJNZ29Jc1VuaXF1ZVwiOiBmYWxzZX1cbiAgIDEzN1x0XHRcdFx0fVxuICAgMTM4XHRcdFx0XVxuICAgMTM5XHRcdH0sXG4gICAxNDBcdFx0XCJvcGVuZGItb3Blbi1kYXRhXCI6IHtcbiAgIDE0MVx0XHRcdFwiZGF0YVwiOiBbXG4gICAxNDJcdFx0XG4gICAxNDNcdFx0XHRdLFxuICAgMTQ0XHRcdFx0XCJpbmRleFwiOiBbXG4gICAxNDVcdFx0XHRcdHtcbiAgIDE0Nlx0XHRcdFx0XHRcIkluZGV4TmFtZVwiOiBcIl9hZGRfdGltZVwiLFxuICAgMTQ3XHRcdFx0XHRcdFwiTWdvS2V5U2NoZW1hXCI6IHtcIk1nb0luZGV4S2V5c1wiOiBbe1wiTmFtZVwiOiBcIl9hZGRfdGltZVwiLFwiRGlyZWN0aW9uXCI6IFwiMVwifV0sXCJNZ29Jc1VuaXF1ZVwiOiBmYWxzZX1cbiAgIDE0OFx0XHRcdFx0fSxcbiAgIDE0OVx0XHRcdFx0e1xuICAgMTUwXHRcdFx0XHRcdFwiSW5kZXhOYW1lXCI6IFwiZXhwaXJlZFwiLFxuICAgMTUxXHRcdFx0XHRcdFwiTWdvS2V5U2NoZW1hXCI6IHtcIk1nb0luZGV4S2V5c1wiOiBbe1wiTmFtZVwiOiBcImV4cGlyZWRcIixcIkRpcmVjdGlvblwiOiBcIjFcIn1dLFwiTWdvSXNVbmlxdWVcIjogZmFsc2V9XG4gICAxNTJcdFx0XHRcdH1cbiAgIDE1M1x0XHRcdF1cbiAgIDE1NFx0XHR9LFxuICAgMTU1XHRcdFwidW5pLWlkLWxvZ1wiOntcbiAgIDE1Nlx0XHRcdFwiZGF0YVwiOiBbXSxcbiAgIDE1N1x0XHRcdFwiaW5kZXhcIjogW1xuICAgMTU4XHRcdFx0XHR7XG4gICAxNTlcdFx0XHRcdFx0XCJJbmRleE5hbWVcIjogXCJfYWRkX3RpbWVcIixcbiAgIDE2MFx0XHRcdFx0XHRcIk1nb0tleVNjaGVtYVwiOiB7XCJNZ29JbmRleEtleXNcIjogW3tcIk5hbWVcIjogXCJfYWRkX3RpbWVcIixcIkRpcmVjdGlvblwiOiBcIjFcIn1dLFwiTWdvSXNVbmlxdWVcIjogZmFsc2V9XG4gICAxNjFcdFx0XHRcdH0sXG4gICAxNjJcdFx0XHRcdHtcbiAgIDE2M1x0XHRcdFx0XHRcIkluZGV4TmFtZVwiOiBcInVzZXJfaWRcIixcbiAgIDE2NFx0XHRcdFx0XHRcIk1nb0tleVNjaGVtYVwiOiB7XCJNZ29JbmRleEtleXNcIjogW3tcIk5hbWVcIjogXCJ1c2VyX2lkXCIsXCJEaXJlY3Rpb25cIjogXCIxXCJ9XSxcIk1nb0lzVW5pcXVlXCI6IGZhbHNlfVxuICAgMTY1XHRcdFx0XHR9XG4gICAxNjZcdFx0XHRdXG4gICAxNjdcdFx0fSxcbi4uLlxuICAgMjE3XHRcdFwidW5pLWlkLXBlcm1pc3Npb25zXCI6e1xuICAgMjE4XHRcdFx0XCJkYXRhXCI6IFtcbiAgIDIxOVx0XHRcdFx0e1xuICAgMjIwXHRcdFx0XHRcdFwiX2lkXCI6IFwic3lzLXBlcm1pc3Npb25cIixcbiAgIDIyMVx0XHRcdFx0XHRcIl9hZGRfdGltZVwiOiAxNTk2NDE2NDAwMDAwLFxuICAgMjIyXHRcdFx0XHRcdFwicGVybWlzc2lvbl9pZFwiOlwic3lzLXBlcm1pc3Npb25cIixcbiAgIDIyM1x0XHRcdFx0XHRcInBlcm1pc3Npb25fbmFtZVwiOiBcIuezu+e7n+WGhee9ruadg+mZkFwiLFxuICAgMjI0XHRcdFx0XHRcdFwiY29tbWVudFwiOlwi57O757uf5YaF572u5p2D6ZmQXCIsXG4gICAyMjVcdFx0XHRcdFx0XCJ1cmxcIjogXCJcIixcbiAgIDIyNlx0XHRcdFx0XHRcInNvcnRcIjogMTAzLFxuICAgMjI3XHRcdFx0XHRcdFwiZW5hYmxlXCI6dHJ1ZVxuICAgMjI4XHRcdFx0XHR9LFxuICAgMjI5XHRcdFx0XHR7XG4gICAyMzBcdFx0XHRcdFx0XCJfaWRcIjogXCJzeXMtcGVybWlzc2lvbi1hZGRcIixcbiAgIDIzMVx0XHRcdFx0XHRcIl9hZGRfdGltZVwiOiAxNTk2NDE2NDAwMDAwLFxuICAgMjMyXHRcdFx0XHRcdFwicGVybWlzc2lvbl9pZFwiOlwic3lzLXBlcm1pc3Npb24tYWRkXCIsXG4gICAyMzNcdFx0XHRcdFx0XCJwZXJtaXNzaW9uX25hbWVcIjogXCLns7vnu5/lhoXnva4gLSDlop5cIixcbiAgIDIzNFx0XHRcdFx0XHRcImNvbW1lbnRcIjpcIuaJgOacieWHveaVsOWQjeS7pWFkZOW8gOWktOeahOS6keWHveaVsFwiLFxuICAgMjM1XHRcdFx0XHRcdFwidXJsXCI6IFtcIiovYWRkKlwiXSxcbiAgIDIzNlx0XHRcdFx0XHRcImljb25cIjpcInZrLWljb24tYWRkXCIsXG4gICAyMzdcdFx0XHRcdFx0XCJzb3J0XCI6IDEsXG4gICAyMzhcdFx0XHRcdFx0XCJwYXJlbnRfaWRcIjpcInN5cy1wZXJtaXNzaW9uXCIsXG4gICAyMzlcdFx0XHRcdFx0XCJlbmFibGVcIjp0cnVlLFxuICAgMjQwXHRcdFx0XHRcdFwibWF0Y2hfbW9kZVwiOjEsXG4gICAyNDFcdFx0XHRcdFx0XCJjdXJkX2NhdGVnb3J5XCI6MSxcbiAgIDI0Mlx0XHRcdFx0XHRcImxldmVsXCI6M1xuICAgMjQzXHRcdFx0XHR9LFxuLi4uXG4gICA3MzNcdFx0XCJvcGVuZGItYWRtaW4tbG9nXCI6e1xuICAgNzM0XHRcdCAgXCJkYXRhXCI6IFtcbiAgIDczNVx0XHRcbiAgIDczNlx0XHQgIF0sXG4gICA3MzdcdFx0ICBcImluZGV4XCI6IFtcbiAgIDczOFx0XHQgICAge1xuICAgNzM5XHRcdCAgICAgIFwiSW5kZXhOYW1lXCI6IFwiX2FkZF90aW1lXCIsXG4gICA3NDBcdFx0ICAgICAgXCJNZ29LZXlTY2hlbWFcIjoge1wiTWdvSW5kZXhLZXlzXCI6IFt7XCJOYW1lXCI6IFwiX2FkZF90aW1lXCIsXCJEaXJlY3Rpb25cIjogXCIxXCJ9XSxcIk1nb0lzVW5pcXVlXCI6IGZhbHNlfVxuICAgNzQxXHRcdCAgICB9LFxuICAgNzQyXHRcdCAgICB7XG4gICA3NDNcdFx0ICAgICAgXCJJbmRleE5hbWVcIjogXCJ1c2VyX2lkXCIsXG4gICA3NDRcdFx0ICAgICAgXCJNZ29LZXlTY2hlbWFcIjoge1wiTWdvSW5kZXhLZXlzXCI6IFt7XCJOYW1lXCI6IFwidXNlcl9pZFwiLFwiRGlyZWN0aW9uXCI6IFwiMVwifV0sXCJNZ29Jc1VuaXF1ZVwiOiBmYWxzZX1cbiAgIDc0NVx0XHQgICAgfSxcbiAgIDc0Nlx0XHQgICAge1xuICAgNzQ3XHRcdCAgICAgIFwiSW5kZXhOYW1lXCI6IFwidGl0bGVcIixcbiAgIDc0OFx0XHQgICAgICBcIk1nb0tleVNjaGVtYVwiOiB7XCJNZ29JbmRleEtleXNcIjogW3tcIk5hbWVcIjogXCJ0aXRsZVwiLFwiRGlyZWN0aW9uXCI6IFwiMVwifV0sXCJNZ29Jc1VuaXF1ZVwiOiBmYWxzZX1cbiAgIDc0OVx0XHQgICAgfVxuICAgNzUwXHRcdCAgXVxuICAgNzUxXHRcdH0sXG4uLi5cblBhdGg6IHBhZ2VzL2NvbnRyYWN0L2xpc3QudnVlXG4uLi5cbiAgIDE2OFx0ICAgICAgICAgICAgICAgIHtrZXk6IFwiZG9jVGl0bGVcIiwgdGl0bGU6IFwi5ZCI5ZCM5ZCN56ewXCIsIHR5cGU6IFwidGV4dFwifSxcbiAgIDE2OVx0ICAgICAgICAgICAgICAgIHtrZXk6IFwiYW1vdW50XCIsIHRpdGxlOiBcIuWQiOWQjOmHkeminVwiLCB0eXBlOiBcInRleHRcIn0sXG4gICAxNzBcdCAgICAgICAgICAgICAgICB7a2V5OiBcIl9hZGRfdGltZV9zdHJcIiwgdGl0bGU6IFwi5Y+R6LW35pe26Ze0XCIsIHR5cGU6IFwidGV4dFwifSxcbiAgIDE3MVx0ICAgICAgICAgICAgICAgIHtcbiAgIDE3Mlx0ICAgICAgICAgICAgICAgICAgICBrZXk6IFwidXNlckNvbnRyYWN0XCIsIHRpdGxlOiBcIueUsuaWueS/oeaBr1wiLCB0eXBlOiBcImh0bWxcIiwgZm9ybWF0dGVyOiAodmFsLCByb3csIGNvbHVtbiwgaW5kZXgpID0+IHtcbiAgIDE3M1x0ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW5mbyA9IHZhbC5maW5kKGl0ZW0gPT4gaXRlbS5yb2xlID09PSAnYnV5ZXInKTtcbiAgIDE3NFx0ICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHN0ciA9IGA8ZGl2PiR7aW5mby51c2VyLmFjY291bnRUeXBlID09PSAyID8gaW5mby51c2VyLmNvbXBhbnkuY29tcGFueU5hbWUgOiBpbmZvLnVzZXIucGVyc29uLnBlcnNvbk5hbWV9PC9kaXY+YFxuICAgMTc1XHQgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaW5mby51c2VyLmJ1c2luZXNzQ2FyZCkge1xuICAgMTc2XHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGluZm8udXNlci5idXNpbmVzc0NhcmQuYXJlYSkge1xuICAgMTc3XHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ciArPSBgPGRpdiA+JHtpbmZvLnVzZXIuYnVzaW5lc3NDYXJkLnByb3ZpbmNlLm5hbWV9JHtpbmZvLnVzZXIuYnVzaW5lc3NDYXJkLmNpdHkubmFtZX0ke2luZm8udXNlci5idXNpbmVzc0NhcmQuYXJlYS5uYW1lfTwvZGl2PmBcbiAgIDE3OFx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgIDE3OVx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ciArPSBgPGRpdj7ogZTns7vmlrnlvI86JHtpbmZvLnVzZXIuYWNjb3VudFR5cGUgPT09IDIgPyBpbmZvLnVzZXIuYnVzaW5lc3NDYXJkLmNvbXBhbnlNb2JpbGUgOiBpbmZvLnVzZXIucGVyc29uLm1vYmlsZX08L2Rpdj5gXG4gICAxODBcdCAgICAgICAgICAgICAgICAgICAgICAgIH1cbi4uLlxuICAgMjkyXHQgICAgICAgICAgICAvLyDooajmoLznm7jlhbPnu5PmnZ8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIDI5M1x0ICAgICAgICAgICAgLy8g6KGo5Y2V55u45YWz5byA5aeLIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAyOTRcdCAgICAgICAgICAgIC8vIOafpeivouihqOWNleivt+axguaVsOaNrlxuICAgMjk1XHQgICAgICAgICAgICBxdWVyeUZvcm0xOiB7XG4gICAyOTZcdCAgICAgICAgICAgICAgICAvLyDmn6Xor6LooajljZXmlbDmja7mupDvvIzlj6/lnKjmraTorr7nva7pu5jorqTlgLxcbiAgIDI5N1x0ICAgICAgICAgICAgICAgIGZvcm1EYXRhOiB7fSxcbiAgIDI5OFx0ICAgICAgICAgICAgICAgIC8vIOafpeivouihqOWNleeahOWtl+auteinhOWImSBmaWVsZE5hbWU65oyH5a6a5pWw5o2u5bqT5a2X5q615ZCNLOS4jeWhq+m7mOiupOetieS6jmtleVxuICAgMjk5XHQgICAgICAgICAgICAgICAgY29sdW1uczogW1xuICAgMzAwXHQgICAgICAgICAgICAgICAgICAgIHtcbiAgIDMwMVx0ICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBcInRyYW5zYWN0aW9uSWRcIixcbiAgIDMwMlx0ICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IFwi5ZCI5ZCM57yW5Y+3XCIsXG4gICAzMDNcdCAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwidGV4dFwiLFxuICAgMzA0XHQgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTYwLFxuICAgMzA1XHQgICAgICAgICAgICAgICAgICAgICAgICBtb2RlOiBcIiUlXCJcbiAgIDMwNlx0ICAgICAgICAgICAgICAgICAgICB9LFxuICAgMzA3XHQgICAgICAgICAgICAgICAgICAgIHtcbiAgIDMwOFx0ICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBcInR5cGVcIixcbiAgIDMwOVx0ICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IFwi5ZCI5ZCM57G75Z6LXCIsXG4gICAzMTBcdCAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwic2VsZWN0XCIsXG4gICAzMTFcdCAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IFtcbiAgIDMxMlx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt2YWx1ZTogXCJlbnF1aXJ5XCIsIGxhYmVsOiAn6K+i5Lu3J30sXG4gICAzMTNcdCAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dmFsdWU6IFwicHJvY2Vzc1wiLCBsYWJlbDogJ+WKoOW3pSd9LFxuICAgMzE0XHQgICAgICAgICAgICAgICAgICAgICAgICAgICAge3ZhbHVlOiBcIm9sZFwiLCBsYWJlbDogJ+aXp+i0pyd9LFxuICAgMzE1XHQgICAgICAgICAgICAgICAgICAgICAgICAgICAge3ZhbHVlOiBcInNpZ25cIiwgbGFiZWw6ICfnrb7nuqblrp0nfSxcbiAgIDMxNlx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt2YWx1ZTogXCJzZWxmLXN1cHBvcnRcIiwgbGFiZWw6ICfoh6rokKXor6Lku7cnfSxcbiAgIDMxN1x0ICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgMzE4XHQgICAgICAgICAgICAgICAgICAgIH0sXG4gICAzMTlcdCAgICAgICAgICAgICAgICAgICAge1xuICAgMzIwXHQgICAgICAgICAgICAgICAgICAgICAgICBrZXk6IFwic3RhdHVzXCIsXG4gICAzMjFcdCAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBcIuWQiOWQjOeKtuaAgVwiLFxuICAgMzIyXHQgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcInNlbGVjdFwiLFxuICAgMzIzXHQgICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiBbXG4gICAzMjRcdCAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dmFsdWU6IDAsIGxhYmVsOiAn5b6F5Yib5bu6J30sXG4gICAzMjVcdCAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dmFsdWU6IDEsIGxhYmVsOiAn5b6F562+572yJ30sXG4gICAzMjZcdCAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dmFsdWU6IDIsIGxhYmVsOiAn5bey562+572yJ30sXG4gICAzMjdcdCAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgIDMyOFx0ICAgICAgICAgICAgICAgICAgICB9LFxuICAgMzI5XHQgICAgICAgICAgICAgICAgXVxuICAgMzMwXHQgICAgICAgICAgICB9LFxuICAgMzMxXHQgICAgICAgICAgICBmb3JtMToge1xuICAgMzMyXHQgICAgICAgICAgICAgICAgLy8g6KGo5Y2V6K+35rGC5pWw5o2u77yM5q2k5aSE5Y+v5Lul6K6+572u6buY6K6k5YC8XG4gICAzMzNcdCAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICAzMzRcdCAgICAgICAgICAgICAgICAgICAgc29ydDogMFxuICAgMzM1XHQgICAgICAgICAgICAgICAgfSxcbi4uLlxuUGF0aDogdW5pX21vZHVsZXMvdW5pLWNvbmZpZy1jZW50ZXIvdW5pQ2xvdWQvY2xvdWRmdW5jdGlvbnMvY29tbW9uL3VuaS1jb25maWctY2VudGVyL3VuaS1wYXkvYWxpcGF5L2FwcENlcnRQdWJsaWNLZXkuY3J0XG4gICAgIDFcdC0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLVxuICAgICAyXHTor4HkuablhoXlrrlcbiAgICAgM1x0LS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLS4uLlxuUGF0aDogdW5pX21vZHVsZXMvdmstdW5pY2xvdWQvdmtfbW9kdWxlcy92ay11bmljbG91ZC1wYWdlL2xpYnMvb3BlbmFwaS9iYWlkdS9pbmRleC5qc1xuLi4uXG4gICAgMzJcdCAqL1xuICAgIDMzXHRiYWlkdS5vcGVuLm9jci5idXNpbmVzc19saWNlbnNlID0gZnVuY3Rpb24ob2JqPXt9KXtcbiAgICAzNFx0XHRvYmouYWN0aW9uID0gXCJvY3IvdjEvYnVzaW5lc3NfbGljZW5zZVwiO1xuICAgIDM1XHRcdGxldCBmaWxlID0gb2JqLmRhdGEuZmlsZTtcbiAgICAzNlx0XHRpZihmaWxlKXtcbiAgICAzN1x0XHRcdHZrLnB1YmZuLmZpbGVUb0Jhc2U2NCh7IGZpbGUgfSkudGhlbihiYXNlNjQgPT4ge1xuICAgIDM4XHRcdFx0XHRvYmouZGF0YS5pbWFnZSA9IGJhc2U2NDtcbiAgICAzOVx0XHRcdFx0ZGVsZXRlIG9iai5kYXRhLmZpbGU7XG4gICAgNDBcdFx0XHRcdGJhaWR1LnJlcXVlc3Qob2JqKTtcbiAgICA0MVx0XHRcdH0pO1xuICAgIDQyXHRcdH1lbHNle1xuICAgIDQzXHRcdFx0YmFpZHUucmVxdWVzdChvYmopO1xuICAgIDQ0XHRcdH1cbiAgICA0NVx0fVxuICAgIDQ2XHRcbiAgICA0N1x0LyoqXG4gICAgNDhcdCAqIOi6q+S7veivgeivhuWIq1xuICAgIDQ5XHQgKiDku6XkuItkYXRh5Y+C5pWw5LiJ6YCJ5LiA5Y2z5Y+vXG4gICAgNTBcdCAqIEBwYXJhbSB7RmlsZX0gZmlsZSAgICAg5paH5Lu25a+56LGhXG4gICAgNTFcdCAqIEBwYXJhbSB7U3RyaW5nfSBpbWFnZSAg5Zu+5YOPYmFzZTY057yW56CB5ZCO6L+b6KGMdXJsZW5jb2RlXG4gICAgNTJcdCAqIEBwYXJhbSB7U3RyaW5nfSB1cmwgICAg5Zu+54mH5a6M5pW0VVJMXG4gICAgNTNcdHZrLm9wZW5hcGkuYmFpZHUub3Blbi5vY3IuaWRjYXJkKHtcbiAgICA1NFx0XHR0aXRsZTpcIuivhuWIq+S4rS4uLlwiLFxuICAgIDU1XHRcdGRhdGE6IHtcbiAgICA1Nlx0XHRcdGltYWdlOmJhc2U2NCxcbiAgICA1N1x0XHRcdGlkX2NhcmRfc2lkZTpcImZyb250XCIsIC8vIGZyb25077ya6Lqr5Lu96K+B5ZCr54Wn54mH55qE5LiA6Z2iIGJhY2vvvJrouqvku73or4HluKblm73lvr3nmoTkuIDpnaJcbiAgICA1OFx0XHR9LFxuICAgIDU5XHRcdHN1Y2Nlc3M6IChyZXMpID0+IHtcbiAgICA2MFx0XHRcdHRoYXQuZGF0YSA9IHJlcy5kYXRhO1xuICAgIDYxXHRcdH0sXG4gICAgNjJcdH0pO1xuLi4uXG4gICAgNzhcdFxuICAgIDc5XHQvKipcbiAgICA4MFx0ICog55m+5bqm5byA5pS+5bmz5Y+w6YCa55So6K+35rGC5o6l5Y+jXG4gICAgODFcdCAqIEBwYXJhbSB7U3RyaW5nfSBhY3Rpb24gICAgICAgIOaOpeWPo+WQjeensFxuICAgIDgyXHQgKiBAcGFyYW0ge1N0cmluZ30gYWN0aW9uVmVyc2lvbiDmjqXlj6PniYjmnKzlkI3np7Ag6buY6K6kMi4wXG4gICAgODNcdCAqIEBwYXJhbSB7U3RyaW5nfSB0aXRsZSAgICAgICAgIGxvYWRpbmfmloflrZdcbiAgICA4NFx0ICogQHBhcmFtIHtvYmplY3R9IGRhdGEgICAgICAgICAg6K+35rGC5Y+C5pWwXG4gICAgODVcdCAqIEBwYXJhbSB7U3RyaW5nfSBzdWNjZXNzICAgICAgIOaIkOWKn+Wbnuiwg1xuICAgIDg2XHQgKiBAcGFyYW0ge1N0cmluZ30gZmFpbCAgICAgICAgICDlpLHotKXlm57osINcbiAgICA4N1x0ICogQHBhcmFtIHtTdHJpbmd9IGNvbXBsZXRlICAgICAg5a6M5oiQ5Zue6LCDXG4gICAgODhcdCAqIOS9v+eUqOekuuS+i1xuICAgIDg5XHR2ay5vcGVuYXBpLmJhaWR1LnJlcXVlc3Qoe1xuICAgIDkwXHQgXHRhY3Rpb246ICdvY3IvdjEvYnVzaW5lc3NfbGljZW5zZScsXG4gICAgOTFcdCBcdHRpdGxlOlwi6K+G5Yir5LitLi4uXCIsXG4gICAgOTJcdCBcdGRhdGE6IHtcbiAgICA5M1x0IFx0XHRpbWFnZTpiYXNlNjRcbiAgICA5NFx0IFx0fSxcbiAgICA5NVx0IFx0c3VjY2VzczogKGRhdGEpID0+IHtcbiAgICA5Nlx0IFx0XHR0aGF0LmRhdGEgPSBkYXRhO1xuICAgIDk3XHQgXHR9LFxuICAgIDk4XHR9KTtcbi4uLlxuUGF0aDogdW5pX21vZHVsZXMvdW5pLWNvbmZpZy1jZW50ZXIvdW5pQ2xvdWQvY2xvdWRmdW5jdGlvbnMvY29tbW9uL3VuaS1jb25maWctY2VudGVyL3VuaS1wYXkvY29uZmlnLmpzXG4uLi5cbiAgICA3NVx0ICAvKipcbiAgICA3Nlx0ICAgKiDmlK/ku5jlrp3vvIjor4HkuaborrDlvpfpgIlqYXZh54mI5pys77yJXG4gICAgNzdcdCAgICog5YWs5YWx5Y+C5pWw6K+05piOXG4gICAgNzhcdCAgICogbWNoSWQgICAgICAgICAgICAgICAgICDmlK/ku5jlrp3llYbmiLdpZCAyMDg45byA5aS055qE6YKj5Liq77yI5q2k5Y+C5pWw5Y+v5Lul5Y676Zmk77yJXG4gICAgNzlcdCAgICogYXBwSWQgICAgICAgICAgICAgICAgICDmlK/ku5jlrp3lvIDmlL7lubPlj7DnmoTlupTnlKhhcHBJZFxuICAuLi4iLCJpc19lcnJvciI6ZmFsc2UsInJlcXVlc3RfaWQiOiIiLCJ0b29sX3VzZV9pZCI6InRvb2x1XzAxN3N5eE0yWENFUFJLaTZKWUpzWk1ubSJ9fSx7ImlkIjoyLCJ0eXBlIjo0LCJpZGVfc3RhdGVfbm9kZSI6eyJ3b3Jrc3BhY2VGb2xkZXJzIjpbeyJyZXBvc2l0b3J5Um9vdCI6Ii9Vc2Vycy9saWFuZ3hpbi9Qcm9qZWN0L0h0bWwvbWluaVByb2dyYW0vamluaml1eGluLWFkbWluIiwiZm9sZGVyUm9vdCI6Ii9Vc2Vycy9saWFuZ3hpbi9Qcm9qZWN0L0h0bWwvbWluaVByb2dyYW0vamluaml1eGluLWFkbWluIn1dLCJ3b3Jrc3BhY2VGb2xkZXJzVW5jaGFuZ2VkIjpmYWxzZX19XSwidGltZXN0YW1wIjoiMjAyNS0wNi0xMlQwMzo1NjozMC4wMjNaIiwicmVzcG9uc2VfdGV4dCI6IueOsOWcqOiuqeaIkeafpeaJvuabtOWkmuWFs+S6juWQiOWQjOivgeS5puebuOWFs+eahOWtl+auteS/oeaBr++8mlxuIiwid29ya3NwYWNlX2ZpbGVfY2h1bmtzIjpbXX0seyJzdGF0dXMiOiJzdWNjZXNzIiwicmVxdWVzdF9pZCI6ImI0ZmUxMjNlLWVjYWEtNDhkMi1iYTM1LWQ0MjRhODA1M2Q3OCIsInJlcXVlc3RfbWVzc2FnZSI6IiIsInN0cnVjdHVyZWRfb3V0cHV0X25vZGVzIjpbeyJpZCI6MSwidHlwZSI6NSwiY29udGVudCI6IiIsInRvb2xfdXNlIjp7InRvb2xfdXNlX2lkIjoidG9vbHVfMDE4TExUZUNVUDNibmRmRDZRNnNFS05ZIiwidG9vbF9uYW1lIjoic3RyLXJlcGxhY2UtZWRpdG9yIiwiaW5wdXRfanNvbiI6IntcImNvbW1hbmRcIjogXCJzdHJfcmVwbGFjZVwiLCBcInBhdGhcIjogXCJwYWdlcy9jb250cmFjdC9jZXJ0aWZpY2F0ZS52dWVcIiwgXCJpbnN0cnVjdGlvbl9yZW1pbmRlclwiOiBcIkFMV0FZUyBCUkVBSyBET1dOIEVESVRTIElOVE8gU01BTExFUiBDSFVOS1MgT0YgQVQgTU9TVCAyMDAgTElORVMgRUFDSC5cIiwgXCJvbGRfc3RyXzFcIjogXCI8dGVtcGxhdGU+XFxuXFxuPC90ZW1wbGF0ZT5cXG5cXG48c2NyaXB0PlxcbmV4cG9ydCBkZWZhdWx0IHtcXG4gIG5hbWU6IFxcXCJjZXJ0aWZpY2F0ZVxcXCIsXFxuICBkYXRhKCkge1xcbiAgICByZXR1cm4ge31cXG4gIH0sXFxuICBtZXRob2RzOiB7fVxcbn1cXG48L3NjcmlwdD5cIiwgXCJvbGRfc3RyX3N0YXJ0X2xpbmVfbnVtYmVyXzFcIjogMSwgXCJvbGRfc3RyX2VuZF9saW5lX251bWJlcl8xXCI6IDEzLCBcIm5ld19zdHJfMVwiOiBcIjx0ZW1wbGF0ZT5cXG4gIDx2aWV3IGNsYXNzPVxcXCJwYWdlXFxcIj5cXG4gICAgPCEtLSBcXHU5ODc1XFx1OTc2MlxcdTUxODVcXHU1YmI5XFx1NWYwMFxcdTU5Y2IgLS0+XFxuICAgIDx2ay1kYXRhLXBhZ2UtaGVhZGVyIHRpdGxlPVxcXCJcXHU1NDA4XFx1NTQwY1xcdThiYzFcXHU0ZTY2XFx1N2JhMVxcdTc0MDZcXFwiIHN1YlRpdGxlPVxcXCJcXHU3YmExXFx1NzQwNlxcdTU0MDhcXHU1NDBjXFx1NzZmOFxcdTUxNzNcXHU3Njg0XFx1OGJjMVxcdTRlNjZcXHU2NTg3XFx1NGVmNlxcXCI+PC92ay1kYXRhLXBhZ2UtaGVhZGVyPlxcbiAgICBcXG4gICAgPCEtLSBcXHU2N2U1XFx1OGJlMlxcdTg4NjhcXHU1MzU1XFx1NWYwMFxcdTU5Y2IgLS0+XFxuICAgIDx2ay1kYXRhLXF1ZXJ5LWZvcm0gdi1tb2RlbD1cXFwicXVlcnlGb3JtMS5mb3JtRGF0YVxcXCIgOmNvbHVtbnM9XFxcInF1ZXJ5Rm9ybTEuY29sdW1uc1xcXCIgQHNlYXJjaD1cXFwic2VhcmNoXFxcIiBAcmVzZXQ9XFxcInNlYXJjaFxcXCI+XFxuICAgICAgPHRlbXBsYXRlIHYtc2xvdDpidXR0b25zPlxcbiAgICAgICAgPGVsLWJ1dHRvbiB0eXBlPVxcXCJwcmltYXJ5XFxcIiBAY2xpY2s9XFxcImFkZEJ0blxcXCIgaWNvbj1cXFwiZWwtaWNvbi1wbHVzXFxcIj5cXHU2ZGZiXFx1NTJhMFxcdThiYzFcXHU0ZTY2PC9lbC1idXR0b24+XFxuICAgICAgPC90ZW1wbGF0ZT5cXG4gICAgPC92ay1kYXRhLXF1ZXJ5LWZvcm0+XFxuICAgIDwhLS0gXFx1NjdlNVxcdThiZTJcXHU4ODY4XFx1NTM1NVxcdTdlZDNcXHU2NzVmIC0tPlxcblxcbiAgICA8IS0tIFxcdTg4NjhcXHU2ODNjXFx1N2VjNFxcdTRlZjZcXHU1ZjAwXFx1NTljYiAtLT5cXG4gICAgPHZrLWRhdGEtdGFibGUgXFxuICAgICAgcmVmPVxcXCJ0YWJsZTFcXFwiIFxcbiAgICAgIDphY3Rpb249XFxcInRhYmxlMS5hY3Rpb25cXFwiIFxcbiAgICAgIDpjb2x1bW5zPVxcXCJ0YWJsZTEuY29sdW1uc1xcXCIgXFxuICAgICAgOnF1ZXJ5LWZvcm0tcGFyYW09XFxcInF1ZXJ5Rm9ybTFcXFwiXFxuICAgICAgOnBhZ2Utc2l6ZT1cXFwiMjBcXFwiXFxuICAgICAgOnJpZ2h0LWJ0bnM9XFxcIlsnZGV0YWlsX2F1dG8nLCd1cGRhdGUnLCdkZWxldGUnXVxcXCIgXFxuICAgICAgOmRlZmF1bHQtZXhwYW5kLWFsbD1cXFwiZmFsc2VcXFwiIFxcbiAgICAgIEB1cGRhdGU9XFxcInVwZGF0ZUJ0blxcXCJcXG4gICAgICBAZGVsZXRlPVxcXCJkZWxldGVCdG5cXFwiIFxcbiAgICAgIEBjdXJyZW50LWNoYW5nZT1cXFwiY3VycmVudENoYW5nZVxcXCIgXFxuICAgICAgQHNlbGVjdGlvbi1jaGFuZ2U9XFxcInNlbGVjdGlvbkNoYW5nZVxcXCI+XFxuICAgICAgXFxuICAgICAgPCEtLSBcXHU4YmMxXFx1NGU2NlxcdTcyYjZcXHU2MDAxXFx1ODFlYVxcdTViOWFcXHU0ZTQ5XFx1NjYzZVxcdTc5M2EgLS0+XFxuICAgICAgPHRlbXBsYXRlIHYtc2xvdDpzdGF0dXM9XFxcInsgcm93LCBjb2x1bW4sIGluZGV4IH1cXFwiPlxcbiAgICAgICAgPGVsLXRhZyA6dHlwZT1cXFwiZ2V0U3RhdHVzVHlwZShyb3cuc3RhdHVzKVxcXCIgc2l6ZT1cXFwibWluaVxcXCI+XFxuICAgICAgICAgIHt7IGdldFN0YXR1c1RleHQocm93LnN0YXR1cykgfX1cXG4gICAgICAgIDwvZWwtdGFnPlxcbiAgICAgIDwvdGVtcGxhdGU+XFxuICAgICAgXFxuICAgICAgPCEtLSBcXHU4YmMxXFx1NGU2NlxcdTdjN2JcXHU1NzhiXFx1ODFlYVxcdTViOWFcXHU0ZTQ5XFx1NjYzZVxcdTc5M2EgLS0+XFxuICAgICAgPHRlbXBsYXRlIHYtc2xvdDpjZXJ0VHlwZT1cXFwieyByb3csIGNvbHVtbiwgaW5kZXggfVxcXCI+XFxuICAgICAgICA8ZWwtdGFnIHNpemU9XFxcIm1pbmlcXFwiPnt7IGdldENlcnRUeXBlVGV4dChyb3cuY2VydFR5cGUpIH19PC9lbC10YWc+XFxuICAgICAgPC90ZW1wbGF0ZT5cXG4gICAgICBcXG4gICAgICA8IS0tIFxcdTY0Y2RcXHU0ZjVjXFx1NjMwOVxcdTk0YWUgLS0+XFxuICAgICAgPHRlbXBsYXRlIHYtc2xvdDphY3Rpb249XFxcInsgcm93LCBjb2x1bW4sIGluZGV4IH1cXFwiPlxcbiAgICAgICAgPGVsLWJ1dHRvbiB0eXBlPVxcXCJ0ZXh0XFxcIiBzaXplPVxcXCJtaW5pXFxcIiBAY2xpY2s9XFxcInZpZXdDZXJ0aWZpY2F0ZShyb3cpXFxcIiBpY29uPVxcXCJlbC1pY29uLXZpZXdcXFwiPlxcdTY3ZTVcXHU3NzBiPC9lbC1idXR0b24+XFxuICAgICAgICA8ZWwtYnV0dG9uIHR5cGU9XFxcInRleHRcXFwiIHNpemU9XFxcIm1pbmlcXFwiIEBjbGljaz1cXFwiZG93bmxvYWRDZXJ0aWZpY2F0ZShyb3cpXFxcIiBpY29uPVxcXCJlbC1pY29uLWRvd25sb2FkXFxcIj5cXHU0ZTBiXFx1OGY3ZDwvZWwtYnV0dG9uPlxcbiAgICAgICAgPGVsLWJ1dHRvbiB2LWlmPVxcXCJyb3cuc3RhdHVzID09PSAwXFxcIiB0eXBlPVxcXCJ0ZXh0XFxcIiBzaXplPVxcXCJtaW5pXFxcIiBAY2xpY2s9XFxcImF1ZGl0Q2VydGlmaWNhdGUocm93LCAxKVxcXCIgc3R5bGU9XFxcImNvbG9yOiAjNjdDMjNBO1xcXCI+XFx1OTAxYVxcdThmYzc8L2VsLWJ1dHRvbj5cXG4gICAgICAgIDxlbC1idXR0b24gdi1pZj1cXFwicm93LnN0YXR1cyA9PT0gMFxcXCIgdHlwZT1cXFwidGV4dFxcXCIgc2l6ZT1cXFwibWluaVxcXCIgQGNsaWNrPVxcXCJhdWRpdENlcnRpZmljYXRlKHJvdywgMilcXFwiIHN0eWxlPVxcXCJjb2xvcjogI0Y1NkM2QztcXFwiPlxcdTYyZDJcXHU3ZWRkPC9lbC1idXR0b24+XFxuICAgICAgPC90ZW1wbGF0ZT5cXG4gICAgPC92ay1kYXRhLXRhYmxlPlxcbiAgICA8IS0tIFxcdTg4NjhcXHU2ODNjXFx1N2VjNFxcdTRlZjZcXHU3ZWQzXFx1Njc1ZiAtLT5cXG5cXG4gICAgPCEtLSBcXHU2ZGZiXFx1NTJhMFxcdTYyMTZcXHU3ZjE2XFx1OGY5MVxcdTc2ODRcXHU1ZjM5XFx1N2E5N1xcdTVmMDBcXHU1OWNiIC0tPlxcbiAgICA8dmstZGF0YS1kaWFsb2cgXFxuICAgICAgdi1tb2RlbD1cXFwiZm9ybTEucHJvcHMuc2hvd1xcXCIgXFxuICAgICAgOnRpdGxlPVxcXCJmb3JtMS5wcm9wcy50aXRsZVxcXCIgXFxuICAgICAgd2lkdGg9XFxcIjYwJVxcXCIgXFxuICAgICAgbW9kZT1cXFwiZm9ybVxcXCJcXG4gICAgICA6Y2xvc2Utb24tY2xpY2stbW9kYWw9XFxcImZhbHNlXFxcIj5cXG4gICAgICA8dmstZGF0YS1mb3JtIFxcbiAgICAgICAgdi1tb2RlbD1cXFwiZm9ybTEuZGF0YVxcXCIgXFxuICAgICAgICA6cnVsZXM9XFxcImZvcm0xLnByb3BzLnJ1bGVzXFxcIiBcXG4gICAgICAgIDphY3Rpb249XFxcImZvcm0xLnByb3BzLmFjdGlvblxcXCJcXG4gICAgICAgIDpmb3JtLXR5cGU9XFxcImZvcm0xLnByb3BzLmZvcm1UeXBlXFxcIiBcXG4gICAgICAgIDpjb2x1bW5zPSdmb3JtMS5wcm9wcy5jb2x1bW5zJyBcXG4gICAgICAgIGxhYmVsLXdpZHRoPVxcXCIxMjBweFxcXCJcXG4gICAgICAgIEBzdWNjZXNzPVxcXCJmb3JtMS5wcm9wcy5zaG93ID0gZmFsc2U7cmVmcmVzaCgpO1xcXCI+XFxuICAgICAgPC92ay1kYXRhLWZvcm0+XFxuICAgIDwvdmstZGF0YS1kaWFsb2c+XFxuICAgIDwhLS0gXFx1NmRmYlxcdTUyYTBcXHU2MjE2XFx1N2YxNlxcdThmOTFcXHU3Njg0XFx1NWYzOVxcdTdhOTdcXHU3ZWQzXFx1Njc1ZiAtLT5cXG5cXG4gICAgPCEtLSBcXHU4YmMxXFx1NGU2NlxcdThiZTZcXHU2MGM1XFx1NWYzOVxcdTdhOTdcXHU1ZjAwXFx1NTljYiAtLT5cXG4gICAgPHZrLWRhdGEtZGlhbG9nXFxuICAgICAgdi1tb2RlbD1cXFwic2hvd0NlcnREZXRhaWxcXFwiXFxuICAgICAgdGl0bGU9XFxcIlxcdThiYzFcXHU0ZTY2XFx1OGJlNlxcdTYwYzVcXFwiXFxuICAgICAgd2lkdGg9XFxcIjcwJVxcXCJcXG4gICAgICB0b3A9XFxcIjEwdmhcXFwiXFxuICAgICAgY2VudGVyXFxuICAgICAgOmNsb3NlLW9uLWNsaWNrLW1vZGFsPVxcXCJ0cnVlXFxcIj5cXG4gICAgICA8ZGl2IHYtaWY9XFxcImN1cnJlbnRDZXJ0XFxcIj5cXG4gICAgICAgIDxlbC1kZXNjcmlwdGlvbnMgOmNvbHVtbj1cXFwiMlxcXCIgYm9yZGVyPlxcbiAgICAgICAgICA8ZWwtZGVzY3JpcHRpb25zLWl0ZW0gbGFiZWw9XFxcIlxcdThiYzFcXHU0ZTY2XFx1NTQwZFxcdTc5ZjBcXFwiPnt7IGN1cnJlbnRDZXJ0LmNlcnROYW1lIH19PC9lbC1kZXNjcmlwdGlvbnMtaXRlbT5cXG4gICAgICAgICAgPGVsLWRlc2NyaXB0aW9ucy1pdGVtIGxhYmVsPVxcXCJcXHU4YmMxXFx1NGU2NlxcdTdjN2JcXHU1NzhiXFxcIj57eyBnZXRDZXJ0VHlwZVRleHQoY3VycmVudENlcnQuY2VydFR5cGUpIH19PC9lbC1kZXNjcmlwdGlvbnMtaXRlbT5cXG4gICAgICAgICAgPGVsLWRlc2NyaXB0aW9ucy1pdGVtIGxhYmVsPVxcXCJcXHU1MTczXFx1ODA1NFxcdTU0MDhcXHU1NDBjXFxcIj57eyBjdXJyZW50Q2VydC5jb250cmFjdElkIHx8ICdcXHU2NWUwJyB9fTwvZWwtZGVzY3JpcHRpb25zLWl0ZW0+XFxuICAgICAgICAgIDxlbC1kZXNjcmlwdGlvbnMtaXRlbSBsYWJlbD1cXFwiXFx1OGJjMVxcdTRlNjZcXHU3MmI2XFx1NjAwMVxcXCI+XFxuICAgICAgICAgICAgPGVsLXRhZyA6dHlwZT1cXFwiZ2V0U3RhdHVzVHlwZShjdXJyZW50Q2VydC5zdGF0dXMpXFxcIiBzaXplPVxcXCJtaW5pXFxcIj5cXG4gICAgICAgICAgICAgIHt7IGdldFN0YXR1c1RleHQoY3VycmVudENlcnQuc3RhdHVzKSB9fVxcbiAgICAgICAgICAgIDwvZWwtdGFnPlxcbiAgICAgICAgICA8L2VsLWRlc2NyaXB0aW9ucy1pdGVtPlxcbiAgICAgICAgICA8ZWwtZGVzY3JpcHRpb25zLWl0ZW0gbGFiZWw9XFxcIlxcdTRlMGFcXHU0ZjIwXFx1NjVmNlxcdTk1ZjRcXFwiPnt7IGN1cnJlbnRDZXJ0Ll9hZGRfdGltZV9zdHIgfX08L2VsLWRlc2NyaXB0aW9ucy1pdGVtPlxcbiAgICAgICAgICA8ZWwtZGVzY3JpcHRpb25zLWl0ZW0gbGFiZWw9XFxcIlxcdTY3MDlcXHU2NTQ4XFx1NjcxZlxcXCI+e3sgY3VycmVudENlcnQuZXhwaXJlRGF0ZSB8fCAnXFx1OTU3ZlxcdTY3MWZcXHU2NzA5XFx1NjU0OCcgfX08L2VsLWRlc2NyaXB0aW9ucy1pdGVtPlxcbiAgICAgICAgICA8ZWwtZGVzY3JpcHRpb25zLWl0ZW0gbGFiZWw9XFxcIlxcdTRlMGFcXHU0ZjIwXFx1NGViYVxcXCI+e3sgY3VycmVudENlcnQudXBsb2FkVXNlciB9fTwvZWwtZGVzY3JpcHRpb25zLWl0ZW0+XFxuICAgICAgICAgIDxlbC1kZXNjcmlwdGlvbnMtaXRlbSBsYWJlbD1cXFwiXFx1NWJhMVxcdTY4MzhcXHU1OTA3XFx1NmNlOFxcXCIgdi1pZj1cXFwiY3VycmVudENlcnQuYXVkaXRSZW1hcmtcXFwiPnt7IGN1cnJlbnRDZXJ0LmF1ZGl0UmVtYXJrIH19PC9lbC1kZXNjcmlwdGlvbnMtaXRlbT5cXG4gICAgICAgIDwvZWwtZGVzY3JpcHRpb25zPlxcbiAgICAgICAgXFxuICAgICAgICA8IS0tIFxcdThiYzFcXHU0ZTY2XFx1NjU4N1xcdTRlZjZcXHU5ODg0XFx1ODljOCAtLT5cXG4gICAgICAgIDxkaXYgc3R5bGU9XFxcIm1hcmdpbi10b3A6IDIwcHg7XFxcIiB2LWlmPVxcXCJjdXJyZW50Q2VydC5maWxlVXJsXFxcIj5cXG4gICAgICAgICAgPGg0PlxcdThiYzFcXHU0ZTY2XFx1NjU4N1xcdTRlZjZcXHU5ODg0XFx1ODljOFxcdWZmMWE8L2g0PlxcbiAgICAgICAgICA8ZGl2IHN0eWxlPVxcXCJ0ZXh0LWFsaWduOiBjZW50ZXI7IGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7IHBhZGRpbmc6IDIwcHg7IGJvcmRlci1yYWRpdXM6IDRweDtcXFwiPlxcbiAgICAgICAgICAgIDxpbWcgdi1pZj1cXFwiaXNJbWFnZUZpbGUoY3VycmVudENlcnQuZmlsZVVybClcXFwiIDpzcmM9XFxcImN1cnJlbnRDZXJ0LmZpbGVVcmxcXFwiIHN0eWxlPVxcXCJtYXgtd2lkdGg6IDEwMCU7IG1heC1oZWlnaHQ6IDQwMHB4O1xcXCIgLz5cXG4gICAgICAgICAgICA8ZGl2IHYtZWxzZSBzdHlsZT1cXFwicGFkZGluZzogNDBweDsgY29sb3I6ICM5OTk7XFxcIj5cXG4gICAgICAgICAgICAgIDxpIGNsYXNzPVxcXCJlbC1pY29uLWRvY3VtZW50XFxcIiBzdHlsZT1cXFwiZm9udC1zaXplOiA0OHB4O1xcXCI+PC9pPlxcbiAgICAgICAgICAgICAgPHA+e3sgY3VycmVudENlcnQuZmlsZU5hbWUgfHwgJ1xcdThiYzFcXHU0ZTY2XFx1NjU4N1xcdTRlZjYnIH19PC9wPlxcbiAgICAgICAgICAgICAgPGVsLWJ1dHRvbiB0eXBlPVxcXCJwcmltYXJ5XFxcIiBzaXplPVxcXCJtaW5pXFxcIiBAY2xpY2s9XFxcImRvd25sb2FkQ2VydGlmaWNhdGUoY3VycmVudENlcnQpXFxcIj5cXHU0ZTBiXFx1OGY3ZFxcdTY3ZTVcXHU3NzBiPC9lbC1idXR0b24+XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgPC9kaXY+XFxuICAgICAgPC9kaXY+XFxuICAgIDwvdmstZGF0YS1kaWFsb2c+XFxuICAgIDwhLS0gXFx1OGJjMVxcdTRlNjZcXHU4YmU2XFx1NjBjNVxcdTVmMzlcXHU3YTk3XFx1N2VkM1xcdTY3NWYgLS0+XFxuXFxuICAgIDwhLS0gXFx1OTg3NVxcdTk3NjJcXHU1MTg1XFx1NWJiOVxcdTdlZDNcXHU2NzVmIC0tPlxcbiAgPC92aWV3PlxcbjwvdGVtcGxhdGU+XFxuXFxuPHNjcmlwdD5cXG52YXIgdGhhdDsgLy8gXFx1NWY1M1xcdTUyNGRcXHU5ODc1XFx1OTc2MlxcdTViZjlcXHU4YzYxXFxudmFyIHZrID0gdW5pLnZrOyAvLyB2a1xcdTViOWVcXHU0ZjhiXFxudmFyIG9yaWdpbmFsRm9ybXMgPSB7fTsgLy8gXFx1NTM5ZlxcdTU5Y2JcXHU4ODY4XFx1NTM1NVxcdTY1NzBcXHU2MzZlXFxuXFxuZXhwb3J0IGRlZmF1bHQge1xcbiAgbmFtZTogXFxcImNlcnRpZmljYXRlXFxcIixcXG4gIGRhdGEoKSB7XFxuICAgIC8vIFxcdTk4NzVcXHU5NzYyXFx1NjU3MFxcdTYzNmVcXHU1M2Q4XFx1OTFjZlxcbiAgICByZXR1cm4ge1xcbiAgICAgIC8vIFxcdTk4NzVcXHU5NzYyXFx1NjYyZlxcdTU0MjZcXHU4YmY3XFx1NmM0MlxcdTRlMmRcXHU2MjE2XFx1NTJhMFxcdThmN2RcXHU0ZTJkXFxuICAgICAgbG9hZGluZzogZmFsc2UsXFxuICAgICAgLy8gaW5pdFxcdThiZjdcXHU2YzQyXFx1OGZkNFxcdTU2ZGVcXHU3Njg0XFx1NjU3MFxcdTYzNmVcXG4gICAgICBkYXRhOiB7fSxcXG4gICAgICAvLyBcXHU4YmMxXFx1NGU2NlxcdThiZTZcXHU2MGM1XFx1NWYzOVxcdTdhOTdcXG4gICAgICBzaG93Q2VydERldGFpbDogZmFsc2UsXFxuICAgICAgY3VycmVudENlcnQ6IG51bGwsXFxuICAgICAgXFxuICAgICAgLy8gXFx1OGJjMVxcdTRlNjZcXHU3YzdiXFx1NTc4YlxcdTkwMDlcXHU5ODc5XFxuICAgICAgY2VydFR5cGVPcHRpb25zOiBbXFxuICAgICAgICB7IHZhbHVlOiAnYnVzaW5lc3NfbGljZW5zZScsIGxhYmVsOiAnXFx1ODQyNVxcdTRlMWFcXHU2MjY3XFx1NzE2NycgfSxcXG4gICAgICAgIHsgdmFsdWU6ICdpZF9jYXJkJywgbGFiZWw6ICdcXHU4ZWFiXFx1NGVmZFxcdThiYzEnIH0sXFxuICAgICAgICB7IHZhbHVlOiAncXVhbGlmaWNhdGlvbicsIGxhYmVsOiAnXFx1OGQ0NFxcdThkMjhcXHU4YmMxXFx1NGU2NicgfSxcXG4gICAgICAgIHsgdmFsdWU6ICd0YXhfcmVnaXN0cmF0aW9uJywgbGFiZWw6ICdcXHU3YTBlXFx1NTJhMVxcdTc2N2JcXHU4YmIwXFx1OGJjMScgfSxcXG4gICAgICAgIHsgdmFsdWU6ICdvcmdhbml6YXRpb25fY29kZScsIGxhYmVsOiAnXFx1N2VjNFxcdTdlYzdcXHU2NzNhXFx1Njc4NFxcdTRlZTNcXHU3ODAxXFx1OGJjMScgfSxcXG4gICAgICAgIHsgdmFsdWU6ICdiYW5rX3Blcm1pdCcsIGxhYmVsOiAnXFx1OTRmNlxcdTg4NGNcXHU1ZjAwXFx1NjIzN1xcdThiYjhcXHU1M2VmXFx1OGJjMScgfSxcXG4gICAgICAgIHsgdmFsdWU6ICdvdGhlcicsIGxhYmVsOiAnXFx1NTE3NlxcdTRlZDZcXHU4YmMxXFx1NGU2NicgfVxcbiAgICAgIF0sXFxuICAgICAgXFxuICAgICAgLy8gXFx1NzJiNlxcdTYwMDFcXHU5MDA5XFx1OTg3OVxcbiAgICAgIHN0YXR1c09wdGlvbnM6IFtcXG4gICAgICAgIHsgdmFsdWU6IDAsIGxhYmVsOiAnXFx1NWY4NVxcdTViYTFcXHU2ODM4JyB9LFxcbiAgICAgICAgeyB2YWx1ZTogMSwgbGFiZWw6ICdcXHU1ZGYyXFx1OTAxYVxcdThmYzcnIH0sXFxuICAgICAgICB7IHZhbHVlOiAyLCBsYWJlbDogJ1xcdTVkZjJcXHU2MmQyXFx1N2VkZCcgfVxcbiAgICAgIF0sXFxuXFxuICAgICAgLy8gXFx1ODg2OFxcdTY4M2NcXHU3NmY4XFx1NTE3M1xcdTVmMDBcXHU1OWNiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXFxuICAgICAgdGFibGUxOiB7XFxuICAgICAgICAvLyBcXHU4ODY4XFx1NjgzY1xcdTY1NzBcXHU2MzZlXFx1OGJmN1xcdTZjNDJcXHU1NzMwXFx1NTc0MFxcbiAgICAgICAgYWN0aW9uOiBcXFwiYWRtaW4vY29udHJhY3QvY2VydGlmaWNhdGUvc3lzL2dldExpc3RcXFwiLFxcbiAgICAgICAgLy8gXFx1ODg2OFxcdTY4M2NcXHU1YjU3XFx1NmJiNVxcdTY2M2VcXHU3OTNhXFx1ODljNFxcdTUyMTlcXG4gICAgICAgIGNvbHVtbnM6IFtcXG4gICAgICAgICAge1xcbiAgICAgICAgICAgIGtleTogXFxcImNlcnROYW1lXFxcIixcXG4gICAgICAgICAgICB0aXRsZTogXFxcIlxcdThiYzFcXHU0ZTY2XFx1NTQwZFxcdTc5ZjBcXFwiLFxcbiAgICAgICAgICAgIHR5cGU6IFxcXCJ0ZXh0XFxcIixcXG4gICAgICAgICAgICBhbGlnbjogXFxcImxlZnRcXFwiLFxcbiAgICAgICAgICAgIHdpZHRoOiAyMDBcXG4gICAgICAgICAgfSxcXG4gICAgICAgICAge1xcbiAgICAgICAgICAgIGtleTogXFxcImNlcnRUeXBlXFxcIixcXG4gICAgICAgICAgICB0aXRsZTogXFxcIlxcdThiYzFcXHU0ZTY2XFx1N2M3YlxcdTU3OGJcXFwiLFxcbiAgICAgICAgICAgIHR5cGU6IFxcXCJzbG90XFxcIixcXG4gICAgICAgICAgICB3aWR0aDogMTIwXFxuICAgICAgICAgIH0sXFxuICAgICAgICAgIHtcXG4gICAgICAgICAgICBrZXk6IFxcXCJjb250cmFjdElkXFxcIixcXG4gICAgICAgICAgICB0aXRsZTogXFxcIlxcdTUxNzNcXHU4MDU0XFx1NTQwOFxcdTU0MGNcXFwiLFxcbiAgICAgICAgICAgIHR5cGU6IFxcXCJ0ZXh0XFxcIixcXG4gICAgICAgICAgICBhbGlnbjogXFxcImxlZnRcXFwiLFxcbiAgICAgICAgICAgIHdpZHRoOiAxODBcXG4gICAgICAgICAgfSxcXG4gICAgICAgICAge1xcbiAgICAgICAgICAgIGtleTogXFxcInN0YXR1c1xcXCIsXFxuICAgICAgICAgICAgdGl0bGU6IFxcXCJcXHU3MmI2XFx1NjAwMVxcXCIsXFxuICAgICAgICAgICAgdHlwZTogXFxcInNsb3RcXFwiLFxcbiAgICAgICAgICAgIHdpZHRoOiAxMDBcXG4gICAgICAgICAgfSxcXG4gICAgICAgICAge1xcbiAgICAgICAgICAgIGtleTogXFxcInVwbG9hZFVzZXJcXFwiLFxcbiAgICAgICAgICAgIHRpdGxlOiBcXFwiXFx1NGUwYVxcdTRmMjBcXHU0ZWJhXFxcIixcXG4gICAgICAgICAgICB0eXBlOiBcXFwidGV4dFxcXCIsXFxuICAgICAgICAgICAgd2lkdGg6IDEyMFxcbiAgICAgICAgICB9LFxcbiAgICAgICAgICB7XFxuICAgICAgICAgICAga2V5OiBcXFwiX2FkZF90aW1lXFxcIixcXG4gICAgICAgICAgICB0aXRsZTogXFxcIlxcdTRlMGFcXHU0ZjIwXFx1NjVmNlxcdTk1ZjRcXFwiLFxcbiAgICAgICAgICAgIHR5cGU6IFxcXCJ0aW1lXFxcIixcXG4gICAgICAgICAgICBhbGlnbjogXFxcImxlZnRcXFwiLFxcbiAgICAgICAgICAgIHdpZHRoOiAxNjAsXFxuICAgICAgICAgICAgc29ydGFibGU6IFxcXCJjdXN0b21cXFwiXFxuICAgICAgICAgIH0sXFxuICAgICAgICAgIHtcXG4gICAgICAgICAgICBrZXk6IFxcXCJleHBpcmVEYXRlXFxcIixcXG4gICAgICAgICAgICB0aXRsZTogXFxcIlxcdTY3MDlcXHU2NTQ4XFx1NjcxZlxcXCIsXFxuICAgICAgICAgICAgdHlwZTogXFxcImRhdGVcXFwiLFxcbiAgICAgICAgICAgIGFsaWduOiBcXFwibGVmdFxcXCIsXFxuICAgICAgICAgICAgd2lkdGg6IDEyMFxcbiAgICAgICAgICB9LFxcbiAgICAgICAgICB7XFxuICAgICAgICAgICAga2V5OiBcXFwiYWN0aW9uXFxcIixcXG4gICAgICAgICAgICB0aXRsZTogXFxcIlxcdTY0Y2RcXHU0ZjVjXFxcIixcXG4gICAgICAgICAgICB0eXBlOiBcXFwic2xvdFxcXCIsXFxuICAgICAgICAgICAgd2lkdGg6IDIwMCxcXG4gICAgICAgICAgICBmaXhlZDogXFxcInJpZ2h0XFxcIlxcbiAgICAgICAgICB9XFxuICAgICAgICBdLFxcbiAgICAgICAgLy8gXFx1NTkxYVxcdTkwMDlcXHU2ODQ2XFx1OTAwOVxcdTRlMmRcXHU3Njg0XFx1NTAzY1xcbiAgICAgICAgbXVsdGlwbGVTZWxlY3Rpb246IFtdLFxcbiAgICAgICAgLy8gXFx1NWY1M1xcdTUyNGRcXHU5YWQ4XFx1NGVhZVxcdTc2ODRcXHU4YmIwXFx1NWY1NVxcbiAgICAgICAgc2VsZWN0SXRlbTogXFxcIlxcXCJcXG4gICAgICB9LFxcbiAgICAgIC8vIFxcdTg4NjhcXHU2ODNjXFx1NzZmOFxcdTUxNzNcXHU3ZWQzXFx1Njc1ZiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVwifSIsIm1jcF9zZXJ2ZXJfbmFtZSI6IiIsIm1jcF90b29sX25hbWUiOiIifX0seyJpZCI6MCwidHlwZSI6MCwiY29udGVudCI6IuWfuuS6juaIkeS7juS7o+eggeW6k+S4reaJvuWIsOeahOS/oeaBr++8jOaIkeWPr+S7peeci+WIsOi/meaYr+S4gOS4quWQiOWQjOeuoeeQhuezu+e7n+OAguS7jiBgcGFnZXMvY29udHJhY3QvbGlzdC52dWVgIOaWh+S7tuS4re+8jOaIkeWPr+S7peeci+WIsOWQiOWQjOebuOWFs+eahOWtl+autee7k+aehOOAgueOsOWcqOiuqeaIkeS4uuaCqOWcqCBgcGFnZXMvY29udHJhY3QvY2VydGlmaWNhdGUudnVlYCDkuK3liJvlu7rkuIDkuKrlkIjlkIzor4HkuabnrqHnkIbnmoTlkI7lj7DliJfooajpobXpnaLjgIJcblxuIyMg6K+m57uG6K6h5YiSXG5cbuWfuuS6jueOsOacieeahOWQiOWQjOeuoeeQhuezu+e7n+e7k+aehO+8jOaIkeWwhuS4uuivgeS5pueuoeeQhumhtemdouWIm+W7uuS7peS4i+WKn+iDve+8mlxuXG4xLiAqKuihqOagvOWtl+autSoq77yaXG4gICAtIOivgeS5puWQjeensCAoY2VydE5hbWUpXG4gICAtIOivgeS5puexu+WeiyAoY2VydFR5cGUpIC0g5aaC77ya6JCl5Lia5omn54Wn44CB6Lqr5Lu96K+B44CB6LWE6LSo6K+B5Lmm562JXG4gICAtIOWFs+iBlOWQiOWQjOe8luWPtyAoY29udHJhY3RJZClcbiAgIC0g6K+B5Lmm54q25oCBIChzdGF0dXMpIC0g5b6F5a6h5qC444CB5bey6YCa6L+H44CB5bey5ouS57udXG4gICAtIOS4iuS8oOaXtumXtCAoX2FkZF90aW1lKVxuICAgLSDmnInmlYjmnJ8gKGV4cGlyZURhdGUpXG4gICAtIOS4iuS8oOS6uiAodXBsb2FkVXNlcilcblxuMi4gKirmn6Xor6LooajljZUqKu+8mlxuICAgLSDor4HkuablkI3np7DmkJzntKJcbiAgIC0g6K+B5Lmm57G75Z6L562b6YCJXG4gICAtIOeKtuaAgeetm+mAiVxuICAgLSDml7bpl7TojIPlm7TnrZvpgIlcblxuMy4gKirmk43kvZzlip/og70qKu+8mlxuICAgLSDmn6XnnIvor6bmg4VcbiAgIC0g5a6h5qC46YCa6L+HL+aLkue7nVxuICAgLSDkuIvovb3or4HkuaZcbiAgIC0g5Yig6ZmkXG5cbueOsOWcqOiuqeaIkeWunueOsOi/meS4qumhtemdou+8mlxuIn0seyJpZCI6MiwidHlwZSI6MiwiY29udGVudCI6IiJ9LHsiaWQiOjMsInR5cGUiOjMsImNvbnRlbnQiOiIifV0sInNlZW5fc3RhdGUiOiJzZWVuIiwic3RydWN0dXJlZF9yZXF1ZXN0X25vZGVzIjpbeyJpZCI6MSwidHlwZSI6MSwidG9vbF9yZXN1bHRfbm9kZSI6eyJjb250ZW50IjoiVGhlIGZvbGxvd2luZyBjb2RlIHNlY3Rpb25zIHdlcmUgcmV0cmlldmVkOlxuUGF0aDogcGFnZXMvY29udHJhY3QvbGlzdC52dWVcbi4uLlxuICAgIDM4XHRcbiAgICAzOVx0ICAgICAgICA8IS0tIOa3u+WKoOaIlue8lui+keeahOW8ueeql+W8gOWniyAtLT5cbiAgICA0MFx0ICAgICAgICA8dmstZGF0YS1kaWFsb2cgdi1tb2RlbD1cImZvcm0xLnByb3BzLnNob3dcIiA6dGl0bGU9XCJmb3JtMS5wcm9wcy50aXRsZVwiIHdpZHRoPVwiNjAlXCIgbW9kZT1cImZvcm1cIlxuICAgIDQxXHQgICAgICAgICAgICAgICAgICAgICAgICA6Y2xvc2Utb24tY2xpY2stbW9kYWw9XCJmYWxzZVwiPlxuICAgIDQyXHQgICAgICAgICAgICA8dmstZGF0YS1mb3JtIHYtbW9kZWw9XCJmb3JtMS5kYXRhXCIgOnJ1bGVzPVwiZm9ybTEucHJvcHMucnVsZXNcIiA6YWN0aW9uPVwiZm9ybTEucHJvcHMuYWN0aW9uXCJcbiAgICA0M1x0ICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9ybS10eXBlPVwiZm9ybTEucHJvcHMuZm9ybVR5cGVcIiA6Y29sdW1ucz0nZm9ybTEucHJvcHMuY29sdW1ucycgbGFiZWwtd2lkdGg9XCIxMjBweFwiXG4gICAgNDRcdCAgICAgICAgICAgICAgICAgICAgICAgICAgQHN1Y2Nlc3M9XCJmb3JtMS5wcm9wcy5zaG93ID0gZmFsc2U7cmVmcmVzaCgpO1wiPlxuICAgIDQ1XHQgICAgICAgICAgICA8L3ZrLWRhdGEtZm9ybT5cbiAgICA0Nlx0ICAgICAgICA8L3ZrLWRhdGEtZGlhbG9nPlxuICAgIDQ3XHQgICAgICAgIDwhLS0g5re75Yqg5oiW57yW6L6R55qE5by556qX57uT5p2fIC0tPlxuICAgIDQ4XHQgICAgICAgIDx2ay1kYXRhLWRpYWxvZ1xuICAgIDQ5XHQgICAgICAgICAgICB2LW1vZGVsPVwic2hvd0luZm9cIlxuICAgIDUwXHQgICAgICAgICAgICA6dGl0bGU9XCJ0aXRsZVwiXG4gICAgNTFcdCAgICAgICAgICAgIHdpZHRoPVwiNjAlXCJcbiAgICA1Mlx0ICAgICAgICAgICAgdG9wPVwiMTR2aFwiXG4gICAgNTNcdCAgICAgICAgICAgIGNlbnRlclxuICAgIDU0XHQgICAgICAgICAgICA6Y2xvc2Utb24tY2xpY2stbW9kYWw9XCJ0cnVlXCJcbiAgICA1NVx0ICAgICAgICA+XG4gICAgNTZcdCAgICAgICAgICAgIDxlbC1kZXNjcmlwdGlvbnMgdi1pZj1cImluZm9cIiA6Y29sdW1uPVwiMlwiIGJvcmRlcj5cbiAgICA1N1x0ICAgICAgICAgICAgICAgIDxlbC1kZXNjcmlwdGlvbnMtaXRlbSBsYWJlbD1cIuWQiOWQjOe8luWPt1wiID5cbiAgICA1OFx0ICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBpbmZvLnRyYW5zYWN0aW9uSWQgfX08L3NwYW4+XG4gICAgNTlcdCAgICAgICAgICAgICAgICA8L2VsLWRlc2NyaXB0aW9ucy1pdGVtPlxuICAgIDYwXHQgICAgICAgICAgICAgICAgPGVsLWRlc2NyaXB0aW9ucy1pdGVtIGxhYmVsPVwi5ZCI5ZCM57G75Z6LXCIgPlxuICAgIDYxXHQgICAgICAgICAgICAgICAgICAgIHt7XG4uLi5cbiAgIDE0MVx0XG4gICAxNDJcdGV4cG9ydCBkZWZhdWx0IHtcbiAgIDE0M1x0ICAgIGRhdGEoKSB7XG4gICAxNDRcdCAgICAgICAgLy8g6aG16Z2i5pWw5o2u5Y+Y6YePXG4gICAxNDVcdCAgICAgICAgcmV0dXJuIHtcbiAgIDE0Nlx0ICAgICAgICAgICAgc2hvd0luZm86IGZhbHNlLFxuICAgMTQ3XHQgICAgICAgICAgICBpbmZvOiBudWxsLFxuICAgMTQ4XHQgICAgICAgICAgICB0aXRsZTogJycsXG4gICAxNDlcdCAgICAgICAgICAgIHR5cGVMaXN0OiBbXG4gICAxNTBcdCAgICAgICAgICAgICAgICB7dmFsdWU6IFwiZW5xdWlyeVwiLCBsYWJlbDogJ+ivouS7tyd9LFxuICAgMTUxXHQgICAgICAgICAgICAgICAge3ZhbHVlOiBcInByb2Nlc3NcIiwgbGFiZWw6ICfliqDlt6UnfSxcbiAgIDE1Mlx0ICAgICAgICAgICAgICAgIHt2YWx1ZTogXCJvbGRcIiwgbGFiZWw6ICfml6fotKcnfSxcbiAgIDE1M1x0ICAgICAgICAgICAgICAgIHt2YWx1ZTogXCJzaWduXCIsIGxhYmVsOiAn562+57qm5a6dJ30sXG4gICAxNTRcdCAgICAgICAgICAgICAgICB7dmFsdWU6IFwic2VsZi1zdXBwb3J0XCIsIGxhYmVsOiAn6Ieq6JCl6K+i5Lu3J31cbiAgIDE1NVx0ICAgICAgICAgICAgXSxcbiAgIDE1Nlx0ICAgICAgICAgICAgaW5mb0NvbHVtbnM6IFtcbiAgIDE1N1x0ICAgICAgICAgICAgICAgIHtrZXk6IFwidHJhbnNhY3Rpb25JZFwiLCB0aXRsZTogXCLlkIjlkIznvJblj7dcIiwgdHlwZTogXCJ0ZXh0XCJ9LFxuICAgMTU4XHQgICAgICAgICAgICAgICAge1xuICAgMTU5XHQgICAgICAgICAgICAgICAgICAgIGtleTogXCJ0eXBlXCIsIHRpdGxlOiBcIuWQiOWQjOexu+Wei1wiLCB0eXBlOiBcInNlbGVjdFwiLFxuICAgMTYwXHQgICAgICAgICAgICAgICAgICAgIGRhdGE6IFtcbiAgIDE2MVx0ICAgICAgICAgICAgICAgICAgICAgICAge3ZhbHVlOiBcImVucXVpcnlcIiwgbGFiZWw6ICfor6Lku7cnfSxcbiAgIDE2Mlx0ICAgICAgICAgICAgICAgICAgICAgICAge3ZhbHVlOiBcInByb2Nlc3NcIiwgbGFiZWw6ICfliqDlt6UnfSxcbiAgIDE2M1x0ICAgICAgICAgICAgICAgICAgICAgICAge3ZhbHVlOiBcIm9sZFwiLCBsYWJlbDogJ+aXp+i0pyd9LFxuICAgMTY0XHQgICAgICAgICAgICAgICAgICAgICAgICB7dmFsdWU6IFwic2lnblwiLCBsYWJlbDogJ+etvue6puWunSd9LFxuICAgMTY1XHQgICAgICAgICAgICAgICAgICAgICAgICB7dmFsdWU6IFwic2VsZi1zdXBwb3J0XCIsIGxhYmVsOiAn6Ieq6JCl6K+i5Lu3J30sXG4gICAxNjZcdCAgICAgICAgICAgICAgICAgICAgXVxuICAgMTY3XHQgICAgICAgICAgICAgICAgfSxcbiAgIDE2OFx0ICAgICAgICAgICAgICAgIHtrZXk6IFwiZG9jVGl0bGVcIiwgdGl0bGU6IFwi5ZCI5ZCM5ZCN56ewXCIsIHR5cGU6IFwidGV4dFwifSxcbiAgIDE2OVx0ICAgICAgICAgICAgICAgIHtrZXk6IFwiYW1vdW50XCIsIHRpdGxlOiBcIuWQiOWQjOmHkeminVwiLCB0eXBlOiBcInRleHRcIn0sXG4gICAxNzBcdCAgICAgICAgICAgICAgICB7a2V5OiBcIl9hZGRfdGltZV9zdHJcIiwgdGl0bGU6IFwi5Y+R6LW35pe26Ze0XCIsIHR5cGU6IFwidGV4dFwifSxcbiAgIDE3MVx0ICAgICAgICAgICAgICAgIHtcbiAgIDE3Mlx0ICAgICAgICAgICAgICAgICAgICBrZXk6IFwidXNlckNvbnRyYWN0XCIsIHRpdGxlOiBcIueUsuaWueS/oeaBr1wiLCB0eXBlOiBcImh0bWxcIiwgZm9ybWF0dGVyOiAodmFsLCByb3csIGNvbHVtbiwgaW5kZXgpID0+IHtcbiAgIDE3M1x0ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW5mbyA9IHZhbC5maW5kKGl0ZW0gPT4gaXRlbS5yb2xlID09PSAnYnV5ZXInKTtcbiAgIDE3NFx0ICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHN0ciA9IGA8ZGl2PiR7aW5mby51c2VyLmFjY291bnRUeXBlID09PSAyID8gaW5mby51c2VyLmNvbXBhbnkuY29tcGFueU5hbWUgOiBpbmZvLnVzZXIucGVyc29uLnBlcnNvbk5hbWV9PC9kaXY+YFxuICAgMTc1XHQgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaW5mby51c2VyLmJ1c2luZXNzQ2FyZCkge1xuICAgMTc2XHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGluZm8udXNlci5idXNpbmVzc0NhcmQuYXJlYSkge1xuICAgMTc3XHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ciArPSBgPGRpdiA+JHtpbmZvLnVzZXIuYnVzaW5lc3NDYXJkLnByb3ZpbmNlLm5hbWV9JHtpbmZvLnVzZXIuYnVzaW5lc3NDYXJkLmNpdHkubmFtZX0ke2luZm8udXNlci5idXNpbmVzc0NhcmQuYXJlYS5uYW1lfTwvZGl2PmBcbiAgIDE3OFx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgIDE3OVx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ciArPSBgPGRpdj7ogZTns7vmlrnlvI86JHtpbmZvLnVzZXIuYWNjb3VudFR5cGUgPT09IDIgPyBpbmZvLnVzZXIuYnVzaW5lc3NDYXJkLmNvbXBhbnlNb2JpbGUgOiBpbmZvLnVzZXIucGVyc29uLm1vYmlsZX08L2Rpdj5gXG4gICAxODBcdCAgICAgICAgICAgICAgICAgICAgICAgIH1cbi4uLlxuICAgMjIyXHQgICAgICAgICAgICAvLyDpobXpnaLmmK/lkKbor7fmsYLkuK3miJbliqDovb3kuK1cbiAgIDIyM1x0ICAgICAgICAgICAgbG9hZGluZzogZmFsc2UsXG4gICAyMjRcdCAgICAgICAgICAgIC8vIGluaXTor7fmsYLov5Tlm57nmoTmlbDmja5cbiAgIDIyNVx0ICAgICAgICAgICAgZGF0YToge30sXG4gICAyMjZcdCAgICAgICAgICAgIC8vIOihqOagvOebuOWFs+W8gOWniyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgMjI3XHQgICAgICAgICAgICB0YWJsZTE6IHtcbiAgIDIyOFx0ICAgICAgICAgICAgICAgIC8vIOihqOagvOaVsOaNruivt+axguWcsOWdgFxuICAgMjI5XHQgICAgICAgICAgICAgICAgYWN0aW9uOiBcImFkbWluL2NvbnRyYWN0L3N5cy9nZXRMaXN0XCIsXG4gICAyMzBcdCAgICAgICAgICAgICAgICAvLyDooajmoLzlrZfmrrXmmL7npLrop4TliJlcbiAgIDIzMVx0ICAgICAgICAgICAgICAgIGNvbHVtbnM6IFtcbiAgIDIzMlx0ICAgICAgICAgICAgICAgICAgICB7XG4gICAyMzNcdCAgICAgICAgICAgICAgICAgICAgICAgIGtleTogXCJ0cmFuc2FjdGlvbklkXCIsXG4gICAyMzRcdCAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBcIuWQiOWQjOe8luWPt1wiLFxuICAgMjM1XHQgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcInRleHRcIixcbiAgIDIzNlx0ICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ246IFwibGVmdFwiLFxuICAgMjM3XHQgICAgICAgICAgICAgICAgICAgIH0sXG4gICAyMzhcdCAgICAgICAgICAgICAgICAgICAge1xuICAgMjM5XHQgICAgICAgICAgICAgICAgICAgICAgICBrZXk6IFwidHlwZVwiLCB0aXRsZTogXCLlkIjlkIznsbvlnotcIiwgdHlwZTogXCJzZWxlY3RcIixcbiAgIDI0MFx0ICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogW1xuICAgMjQxXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAge3ZhbHVlOiBcImVucXVpcnlcIiwgbGFiZWw6ICfor6Lku7cnfSxcbiAgIDI0Mlx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt2YWx1ZTogXCJwcm9jZXNzXCIsIGxhYmVsOiAn5Yqg5belJ30sXG4gICAyNDNcdCAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dmFsdWU6IFwib2xkXCIsIGxhYmVsOiAn5pen6LSnJ30sXG4gICAyNDRcdCAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dmFsdWU6IFwic2lnblwiLCBsYWJlbDogJ+etvue6puWunSd9LFxuICAgMjQ1XHQgICAgICAgICAgICAgICAgICAgICAgICAgICAge3ZhbHVlOiBcInNlbGYtc3VwcG9ydFwiLCBsYWJlbDogJ+iHquiQpeivouS7tyd9LFxuICAgMjQ2XHQgICAgICAgICAgICAgICAgICAgICAgICBdXG4gICAyNDdcdCAgICAgICAgICAgICAgICAgICAgfSxcbiAgIDI0OFx0ICAgICAgICAgICAgICAgICAgICB7XG4gICAyNDlcdCAgICAgICAgICAgICAgICAgICAgICAgIGtleTogXCJkb2NUaXRsZVwiLFxuICAgMjUwXHQgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogXCLlkIjlkIzlkI3np7BcIixcbiAgIDI1MVx0ICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJ0ZXh0XCIsXG4gICAyNTJcdCAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduOiBcImxlZnRcIixcbiAgIDI1M1x0ICAgICAgICAgICAgICAgICAgICB9LFxuICAgMjU0XHQgICAgICAgICAgICAgICAgICAgIHtcbiAgIDI1NVx0ICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBcImFtb3VudFwiLFxuICAgMjU2XHQgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogXCLlkIjlkIzph5Hpop1cIixcbiAgIDI1N1x0ICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJ0ZXh0XCIsXG4gICAyNThcdCAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduOiBcImxlZnRcIixcbiAgIDI1OVx0ICAgICAgICAgICAgICAgICAgICB9LFxuLi4uXG4gICAyOTJcdCAgICAgICAgICAgIC8vIOihqOagvOebuOWFs+e7k+adnyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgMjkzXHQgICAgICAgICAgICAvLyDooajljZXnm7jlhbPlvIDlp4sgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIDI5NFx0ICAgICAgICAgICAgLy8g5p+l6K+i6KGo5Y2V6K+35rGC5pWw5o2uXG4gICAyOTVcdCAgICAgICAgICAgIHF1ZXJ5Rm9ybTE6IHtcbiAgIDI5Nlx0ICAgICAgICAgICAgICAgIC8vIOafpeivouihqOWNleaVsOaNrua6kO+8jOWPr+WcqOatpOiuvue9rum7mOiupOWAvFxuICAgMjk3XHQgICAgICAgICAgICAgICAgZm9ybURhdGE6IHt9LFxuICAgMjk4XHQgICAgICAgICAgICAgICAgLy8g5p+l6K+i6KGo5Y2V55qE5a2X5q616KeE5YiZIGZpZWxkTmFtZTrmjIflrprmlbDmja7lupPlrZfmrrXlkI0s5LiN5aGr6buY6K6k562J5LqOa2V5XG4gICAyOTlcdCAgICAgICAgICAgICAgICBjb2x1bW5zOiBbXG4gICAzMDBcdCAgICAgICAgICAgICAgICAgICAge1xuICAgMzAxXHQgICAgICAgICAgICAgICAgICAgICAgICBrZXk6IFwidHJhbnNhY3Rpb25JZFwiLFxuICAgMzAyXHQgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogXCLlkIjlkIznvJblj7dcIixcbiAgIDMwM1x0ICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJ0ZXh0XCIsXG4gICAzMDRcdCAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNjAsXG4gICAzMDVcdCAgICAgICAgICAgICAgICAgICAgICAgIG1vZGU6IFwiJSVcIlxuICAgMzA2XHQgICAgICAgICAgICAgICAgICAgIH0sXG4gICAzMDdcdCAgICAgICAgICAgICAgICAgICAge1xuICAgMzA4XHQgICAgICAgICAgICAgICAgICAgICAgICBrZXk6IFwidHlwZVwiLFxuICAgMzA5XHQgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogXCLlkIjlkIznsbvlnotcIixcbiAgIDMxMFx0ICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJzZWxlY3RcIixcbiAgIDMxMVx0ICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogW1xuICAgMzEyXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAge3ZhbHVlOiBcImVucXVpcnlcIiwgbGFiZWw6ICfor6Lku7cnfSxcbiAgIDMxM1x0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt2YWx1ZTogXCJwcm9jZXNzXCIsIGxhYmVsOiAn5Yqg5belJ30sXG4gICAzMTRcdCAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dmFsdWU6IFwib2xkXCIsIGxhYmVsOiAn5pen6LSnJ30sXG4gICAzMTVcdCAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dmFsdWU6IFwic2lnblwiLCBsYWJlbDogJ+etvue6puWunSd9LFxuICAgMzE2XHQgICAgICAgICAgICAgICAgICAgICAgICAgICAge3ZhbHVlOiBcInNlbGYtc3VwcG9ydFwiLCBsYWJlbDogJ+iHquiQpeivouS7tyd9LFxuICAgMzE3XHQgICAgICAgICAgICAgICAgICAgICAgICBdXG4gICAzMThcdCAgICAgICAgICAgICAgICAgICAgfSxcbiAgIDMxOVx0ICAgICAgICAgICAgICAgICAgICB7XG4gICAzMjBcdCAgICAgICAgICAgICAgICAgICAgICAgIGtleTogXCJzdGF0dXNcIixcbiAgIDMyMVx0ICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IFwi5ZCI5ZCM54q25oCBXCIsXG4gICAzMjJcdCAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwic2VsZWN0XCIsXG4gICAzMjNcdCAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IFtcbiAgIDMyNFx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt2YWx1ZTogMCwgbGFiZWw6ICflvoXliJvlu7onfSxcbiAgIDMyNVx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt2YWx1ZTogMSwgbGFiZWw6ICflvoXnrb7nvbInfSxcbiAgIDMyNlx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt2YWx1ZTogMiwgbGFiZWw6ICflt7Lnrb7nvbInfSxcbiAgIDMyN1x0ICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgMzI4XHQgICAgICAgICAgICAgICAgICAgIH0sXG4gICAzMjlcdCAgICAgICAgICAgICAgICBdXG4gICAzMzBcdCAgICAgICAgICAgIH0sXG4gICAzMzFcdCAgICAgICAgICAgIGZvcm0xOiB7XG4gICAzMzJcdCAgICAgICAgICAgICAgICAvLyDooajljZXor7fmsYLmlbDmja7vvIzmraTlpITlj6/ku6Xorr7nva7pu5jorqTlgLxcbiAgIDMzM1x0ICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgIDMzNFx0ICAgICAgICAgICAgICAgICAgICBzb3J0OiAwXG4gICAzMzVcdCAgICAgICAgICAgICAgICB9LFxuLi4uXG4gICA0MjJcdCAgICAvLyDlh73mlbBcbiAgIDQyM1x0ICAgIG1ldGhvZHM6IHtcbiAgIDQyNFx0ICAgICAgICAvLyDpobXpnaLmlbDmja7liJ3lp4vljJblh73mlbBcbiAgIDQyNVx0ICAgICAgICBpbml0KG9wdGlvbnMpIHtcbiAgIDQyNlx0ICAgICAgICAgICAgb3JpZ2luYWxGb3Jtc1tcImZvcm0xXCJdID0gdmsucHViZm4uY29weU9iamVjdCh0aGF0LmZvcm0xKTtcbiAgIDQyN1x0ICAgICAgICB9LFxuICAgNDI4XHQgICAgICAgIC8vIOmhtemdoui3s+i9rFxuICAgNDI5XHQgICAgICAgIHBhZ2VUbyhwYXRoKSB7XG4gICA0MzBcdCAgICAgICAgICAgIHZrLm5hdmlnYXRlVG8ocGF0aCk7XG4gICA0MzFcdCAgICAgICAgfSxcbiAgIDQzMlx0ICAgICAgICAvLyDooajljZXph43nva5cbiAgIDQzM1x0ICAgICAgICByZXNldEZvcm0oKSB7XG4gICA0MzRcdCAgICAgICAgICAgIHZrLnB1YmZuLnJlc2V0Rm9ybShvcmlnaW5hbEZvcm1zLCB0aGF0KTtcbiAgIDQzNVx0ICAgICAgICB9LFxuICAgNDM2XHQgICAgICAgIC8vIOaQnOe0olxuICAgNDM3XHQgICAgICAgIHNlYXJjaCgpIHtcbiAgIDQzOFx0ICAgICAgICAgICAgdGhhdC4kcmVmcy50YWJsZTEuc2VhcmNoKCk7XG4gICA0MzlcdCAgICAgICAgfSxcbiAgIDQ0MFx0ICAgICAgICAvLyDliLfmlrBcbiAgIDQ0MVx0ICAgICAgICByZWZyZXNoKCkge1xuICAgNDQyXHQgICAgICAgICAgICB0aGF0LiRyZWZzLnRhYmxlMS5yZWZyZXNoKCk7XG4gICA0NDNcdCAgICAgICAgfSxcbiAgIDQ0NFx0ICAgICAgICAvLyDojrflj5blvZPliY3pgInkuK3nmoTooYznmoTmlbDmja5cbiAgIDQ0NVx0ICAgICAgICBnZXRDdXJyZW50Um93KCkge1xuICAgNDQ2XHQgICAgICAgICAgICByZXR1cm4gdGhhdC4kcmVmcy50YWJsZTEuZ2V0Q3VycmVudFJvdygpO1xuICAgNDQ3XHQgICAgICAgIH0sXG4gICA0NDhcdCAgICAgICAgLy8g55uR5ZCsIC0g6KGM55qE6YCJ5Lit6auY5Lqu5LqL5Lu2XG4gICA0NDlcdCAgICAgICAgY3VycmVudENoYW5nZSh2YWwpIHtcbiAgIDQ1MFx0ICAgICAgICAgICAgdGhhdC50YWJsZTEuc2VsZWN0SXRlbSA9IHZhbDtcbiAgIDQ1MVx0ICAgICAgICB9LFxuICAgNDUyXHQgICAgICAgIC8vIOW9k+mAieaLqemhueWPkeeUn+WPmOWMluaXtuS8muinpuWPkeivpeS6i+S7tlxuICAgNDUzXHQgICAgICAgIHNlbGVjdGlvbkNoYW5nZShsaXN0KSB7XG4gICA0NTRcdCAgICAgICAgICAgIHRoYXQudGFibGUxLm11bHRpcGxlU2VsZWN0aW9uID0gbGlzdDtcbiAgIDQ1NVx0ICAgICAgICB9LFxuICAgNDU2XHQgICAgICAgIC8vIOaYvuekuua3u+WKoOmhtemdolxuICAgNDU3XHQgICAgICAgIGFkZEJ0bigpIHtcbiAgIDQ1OFx0ICAgICAgICAgICAgdGhhdC5yZXNldEZvcm0oKTtcbiAgIDQ1OVx0ICAgICAgICAgICAgdGhhdC5mb3JtMS5wcm9wcy5hY3Rpb24gPSAnYWRtaW4vY29udHJhY3QvdGVtcGxhdGUvc3lzL2FkZCc7XG4gICA0NjBcdCAgICAgICAgICAgIHRoYXQuZm9ybTEucHJvcHMuZm9ybVR5cGUgPSAnYWRkJztcbiAgIDQ2MVx0ICAgICAgICAgICAgdGhhdC5mb3JtMS5wcm9wcy50aXRsZSA9ICfmt7vliqAnO1xuICAgNDYyXHQgICAgICAgICAgICB0aGF0LmZvcm0xLnByb3BzLnNob3cgPSB0cnVlO1xuICAgNDYzXHQgICAgICAgIH0sXG4gICA0NjRcdCAgICAgICAgLy8g5pi+56S65L+u5pS56aG16Z2iXG4gICA0NjVcdCAgICAgICAgdXBkYXRlQnRuKHtcbiAgIDQ2Nlx0ICAgICAgICAgICAgICAgICAgICAgIGl0ZW1cbiAgIDQ2N1x0ICAgICAgICAgICAgICAgICAgfSkge1xuICAgNDY4XHQgICAgICAgICAgICB0aGF0LmZvcm0xLnByb3BzLmFjdGlvbiA9ICdhZG1pbi9jb250cmFjdC90ZW1wbGF0ZS9zeXMvdXBkYXRlJztcbiAgIDQ2OVx0ICAgICAgICAgICAgdGhhdC5mb3JtMS5wcm9wcy5mb3JtVHlwZSA9ICd1cGRhdGUnO1xuICAgNDcwXHQgICAgICAgICAgICB0aGF0LmZvcm0xLnByb3BzLnRpdGxlID0gJ+e8lui+kSc7XG4gICA0NzFcdCAgICAgICAgICAgIHRoYXQuZm9ybTEucHJvcHMuc2hvdyA9IHRydWU7XG4gICA0NzJcdCAgICAgICAgICAgIHRoYXQuZm9ybTEuZGF0YSA9IGl0ZW07XG4gICA0NzNcdCAgICAgICAgfSxcbiAgIDQ3NFx0ICAgICAgICAvLyDliKDpmaTmjInpkq5cbiAgIDQ3NVx0ICAgICAgICBkZWxldGVCdG4oe1xuICAgNDc2XHQgICAgICAgICAgICAgICAgICAgICAgaXRlbSxcbiAgIDQ3N1x0ICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZUZuXG4gICA0NzhcdCAgICAgICAgICAgICAgICAgIH0pIHtcbiAgIDQ3OVx0ICAgICAgICAgICAgZGVsZXRlRm4oe1xuICAgNDgwXHQgICAgICAgICAgICAgICAgYWN0aW9uOiBcImFkbWluL2NvbnRyYWN0L3RlbXBsYXRlL3N5cy9kZWxldGVcIixcbiAgIDQ4MVx0ICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgIDQ4Mlx0ICAgICAgICAgICAgICAgICAgICBfaWQ6IGl0ZW0uX2lkXG4gICA0ODNcdCAgICAgICAgICAgICAgICB9LFxuICAgNDg0XHQgICAgICAgICAgICB9KTtcbiAgIDQ4NVx0ICAgICAgICB9LFxuICAgNDg2XHQgICAgICAgIC8vIOebkeWQrCAtIOaJuemHj+aTjeS9nOeahOaMiemSrueCueWHu+S6i+S7tlxuICAgNDg3XHQgICAgICAgIGJhdGNoQnRuKGluZGV4KSB7XG4gICA0ODhcdCAgICAgICAgICAgIHN3aXRjaCAoaW5kZXgpIHtcbiAgIDQ4OVx0ICAgICAgICAgICAgICAgIGNhc2UgMTpcbiAgIDQ5MFx0ICAgICAgICAgICAgICAgICAgICB2ay50b2FzdChcIuaJuemHj+aTjeS9nOaMiemSrjFcIik7XG4gICA0OTFcdCAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICA0OTJcdCAgICAgICAgICAgICAgICBjYXNlIDI6XG4gICA0OTNcdCAgICAgICAgICAgICAgICAgICAgdmsudG9hc3QoXCLmibnph4/mk43kvZzmjInpkq4yXCIpO1xuICAgNDk0XHQgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgNDk1XHQgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgIDQ5Nlx0ICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgIDQ5N1x0ICAgICAgICAgICAgfVxuICAgNDk4XHQgICAgICAgIH0sXG4gICA0OTlcdCAgICAgICAgZG9TaG93SW5mbyhpbmZvKSB7XG4gICA1MDBcdCAgICAgICAgICAgIHRoaXMuaW5mbyA9IGluZm9cbiAgIDUwMVx0ICAgICAgICAgICAgdGhpcy50aXRsZSA9ICfor6bmg4UnXG4gICA1MDJcdCAgICAgICAgICAgIHRoaXMuc2hvd0luZm8gPSB0cnVlXG4gICA1MDNcdCAgICAgICAgfSxcbiAgIDUwNFx0ICAgICAgICB2aWV3Q29udHJhY3QoY29udHJhY3RJZCkge1xuICAgNTA1XHQgICAgICAgICAgICB2ay5jYWxsRnVuY3Rpb24oe1xuICAgNTA2XHQgICAgICAgICAgICAgICAgdXJsOiAnY2xpZW50L2NvbnRyYWN0L2toL3ZpZXdDb250cmFjdCcsXG4gICA1MDdcdCAgICAgICAgICAgICAgICB0aXRsZTogJ+ivt+axguS4rS4uLicsXG4gICA1MDhcdCAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICA1MDlcdCAgICAgICAgICAgICAgICAgICAgY29udHJhY3RJZFxuICAgNTEwXHQgICAgICAgICAgICAgICAgfSxcbiAgIDUxMVx0ICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IChyZXMpID0+IHtcbiAgIDUxMlx0ICAgICAgICAgICAgICAgICAgICB3aW5kb3cub3BlbihyZXMuZGF0YSlcbiAgIDUxM1x0ICAgICAgICAgICAgICAgICAgICB0aGlzLnF1ZXJ5KDEpXG4gICA1MTRcdCAgICAgICAgICAgICAgICB9XG4gICA1MTVcdCAgICAgICAgICAgIH0pO1xuICAgNTE2XHQgICAgICAgIH0sXG4uLi5cblBhdGg6IHBhZ2VzL2NvbnRyYWN0L3RlbXBsYXRlL2xpc3QudnVlXG4uLi5cbiAgICAyOVx0XG4gICAgMzBcdCAgICAgICAgPCEtLSDooajmoLznu4Tku7blvIDlp4sgLS0+XG4gICAgMzFcdCAgICAgICAgPHZrLWRhdGEtdGFibGUgcmVmPVwidGFibGUxXCIgOmFjdGlvbj1cInRhYmxlMS5hY3Rpb25cIiA6Y29sdW1ucz1cInRhYmxlMS5jb2x1bW5zXCIgOnF1ZXJ5LWZvcm0tcGFyYW09XCJxdWVyeUZvcm0xXCJcbiAgICAzMlx0ICAgICAgICAgICAgICAgICAgICAgICA6cGFnZS1zaXplPVwiMjAwXCJcbiAgICAzM1x0ICAgICAgICAgICAgICAgICAgICAgICA6cmlnaHQtYnRucz1cIlsnZGV0YWlsX2F1dG8nLCd1cGRhdGUnLCdkZWxldGUnXVwiIDpkZWZhdWx0LWV4cGFuZC1hbGw9XCJmYWxzZVwiIEB1cGRhdGU9XCJ1cGRhdGVCdG5cIlxuICAgIDM0XHQgICAgICAgICAgICAgICAgICAgICAgIEBkZWxldGU9XCJkZWxldGVCdG5cIiBAY3VycmVudC1jaGFuZ2U9XCJjdXJyZW50Q2hhbmdlXCIgQHNlbGVjdGlvbi1jaGFuZ2U9XCJzZWxlY3Rpb25DaGFuZ2VcIj5cbiAgICAzNVx0ICAgICAgICAgICAgPHRlbXBsYXRlIHYtc2xvdDppc09uPVwieyByb3csIGNvbHVtbiwgaW5kZXggfVwiPlxuICAgIDM2XHQgICAgICAgICAgICAgICAgPGVsLXN3aXRjaCB2LW1vZGVsPVwicm93LmlzT25cIiBzaXplPVwibWluaVwiIEBjaGFuZ2U9XCJjaGFuZ2VGaWVsZChyb3cuX2lkLCAnaXNPbicsICRldmVudClcIlxuICAgIDM3XHQgICAgICAgICAgICAgICAgICAgICAgICAgICA6YWN0aXZlLXZhbHVlPVwidHJ1ZVwiXG4gICAgMzhcdCAgICAgICAgICAgICAgICAgICAgICAgICAgIDppbmFjdGl2ZS12YWx1ZT1cImZhbHNlXCIvPlxuICAgIDM5XHQgICAgICAgICAgICA8L3RlbXBsYXRlPlxuICAgIDQwXHQgICAgICAgIDwvdmstZGF0YS10YWJsZT5cbiAgICA0MVx0ICAgICAgICA8IS0tIOihqOagvOe7hOS7tue7k+adnyAtLT5cbi4uLlxuICAgIDcwXHQgICAgICAgICAgICAvLyDooajmoLznm7jlhbPlvIDlp4sgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICA3MVx0ICAgICAgICAgICAgdGFibGUxOiB7XG4gICAgNzJcdCAgICAgICAgICAgICAgICAvLyDooajmoLzmlbDmja7or7fmsYLlnLDlnYBcbiAgICA3M1x0ICAgICAgICAgICAgICAgIGFjdGlvbjogXCJhZG1pbi9jb250cmFjdC90ZW1wbGF0ZS9zeXMvZ2V0TGlzdFwiLFxuICAgIDc0XHQgICAgICAgICAgICAgICAgLy8g6KGo5qC85a2X5q615pi+56S66KeE5YiZXG4gICAgNzVcdCAgICAgICAgICAgICAgICBjb2x1bW5zOiBbXG4gICAgNzZcdCAgICAgICAgICAgICAgICAgICAgLy8ge1xuICAgIDc3XHQgICAgICAgICAgICAgICAgICAgIC8vIFx0a2V5OiBcIl9pZFwiLFxuICAgIDc4XHQgICAgICAgICAgICAgICAgICAgIC8vIFx0dGl0bGU6IFwiaWRcIixcbiAgICA3OVx0ICAgICAgICAgICAgICAgICAgICAvLyBcdHR5cGU6IFwidGV4dFwiLFxuICAgIDgwXHQgICAgICAgICAgICAgICAgICAgIC8vIFx0d2lkdGg6IDIyMFxuICAgIDgxXHQgICAgICAgICAgICAgICAgICAgIC8vIH0sXG4gICAgODJcdCAgICAgICAgICAgICAgICAgICAge1xuICAgIDgzXHQgICAgICAgICAgICAgICAgICAgICAgICBrZXk6IFwibmFtZVwiLFxuICAgIDg0XHQgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogXCLlkI3np7BcIixcbiAgICA4NVx0ICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJ0ZXh0XCIsXG4gICAgODZcdCAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMjAsXG4gICAgODdcdCAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduOiBcImxlZnRcIixcbiAgICA4OFx0ICAgICAgICAgICAgICAgICAgICB9LFxuICAgIDg5XHQgICAgICAgICAgICAgICAgICAgIHtcbiAgICA5MFx0ICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBcImZpZWxkXCIsXG4gICAgOTFcdCAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBcIuWPmOmHj1wiLFxuICAgIDkyXHQgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcInRleHRcIixcbiAgICA5M1x0ICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ246IFwibGVmdFwiLFxuICAgIDk0XHQgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjIwXG4gICAgOTVcdCAgICAgICAgICAgICAgICAgICAgfSxcbiAgICA5Nlx0ICAgICAgICAgICAgICAgICAgICB7XG4gICAgOTdcdCAgICAgICAgICAgICAgICAgICAgICAgIGtleTogXCJpc09uXCIsXG4gICAgOThcdCAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBcIuaYr+WQpuWQr+eUqFwiLFxuICAgIDk5XHQgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcInN3aXRjaFwiLFxuICAgMTAwXHQgICAgICAgICAgICAgICAgICAgIH0sXG4gICAxMDFcdCAgICAgICAgICAgICAgICAgICAge1xuICAgMTAyXHQgICAgICAgICAgICAgICAgICAgICAgICBrZXk6IFwiX2FkZF90aW1lXCIsXG4gICAxMDNcdCAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBcIua3u+WKoOaXtumXtFwiLFxuICAgMTA0XHQgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcInRpbWVcIixcbiAgIDEwNVx0ICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ246IFwibGVmdFwiLFxuICAgMTA2XHQgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTYwLFxuICAgMTA3XHQgICAgICAgICAgICAgICAgICAgICAgICBzb3J0YWJsZTogXCJjdXN0b21cIlxuICAgMTA4XHQgICAgICAgICAgICAgICAgICAgIH0sXG4gICAxMDlcdCAgICAgICAgICAgICAgICAgICAge1xuICAgMTEwXHQgICAgICAgICAgICAgICAgICAgICAgICBrZXk6IFwiX2FkZF90aW1lXCIsXG4gICAxMTFcdCAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBcIui3neemu+eOsOWcqFwiLFxuICAgMTEyXHQgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcImRhdGVEaWZmXCIsXG4gICAxMTNcdCAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduOiBcImxlZnRcIixcbiAgIDExNFx0ICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEyMFxuICAgMTE1XHQgICAgICAgICAgICAgICAgICAgIH0sXG4gICAxMTZcdCAgICAgICAgICAgICAgICBdLFxuICAgMTE3XHQgICAgICAgICAgICAgICAgLy8g5aSa6YCJ5qGG6YCJ5Lit55qE5YC8XG4gICAxMThcdCAgICAgICAgICAgICAgICBtdWx0aXBsZVNlbGVjdGlvbjogW10sXG4gICAxMTlcdCAgICAgICAgICAgICAgICAvLyDlvZPliY3pq5jkuq7nmoTorrDlvZVcbiAgIDEyMFx0ICAgICAgICAgICAgICAgIHNlbGVjdEl0ZW06IFwiXCJcbiAgIDEyMVx0ICAgICAgICAgICAgfSxcbi4uLlxuUGF0aDogcGFnZXNfdGVtcGxhdGUvY29tcG9uZW50cy9mb3JtL2Zvcm0tcGF5LWNlcnQudnVlXG4gICAgIDFcdDx0ZW1wbGF0ZT5cbiAgICAgMlx0XHQ8dmlldyBjbGFzcz1cInBhZ2VcIj5cbiAgICAgM1x0XHRcdDwhLS0g6aG16Z2i5YaF5a655byA5aeLIC0tPlxuICAgICA0XHRcdFx0PHZrLWRhdGEtcGFnZS1oZWFkZXJcbiAgICAgNVx0XHRcdFx0dGl0bGU9XCLor4HkuabovazmjaJcIlxuICAgICA2XHRcdFx0XHRzdWJUaXRsZT1cIuW/q+mAn+WwhuivgeS5puWGheWuueWPmOaIkDHooYzlrZfnrKbkuLJcIlxuICAgICA3XHRcdFx0PjwvdmstZGF0YS1wYWdlLWhlYWRlcj5cbiAgICAgOFx0XHRcdDx2aWV3IGNsYXNzPVwicGFnZS1ib2R5XCIgc3R5bGU9XCJ3aWR0aDogMTAwJVwiPlxuICAgICA5XHRcdFx0XHQ8dmlldyBzdHlsZT1cImNvbG9yOiByZWQ7Zm9udC1zaXplOiAxMnB4O1wiPuWFqOeoi+aXoOe9kee7nOivt+axgu+8iOaJk+W8gOatpOmhtemdouWQjuaXoOe9keeKtuaAgeS5n+iDveaJp+ihjO+8ie+8jOebtOaOpeWcqOWJjeerr+ino+aekOivgeS5pu+8jOayoeacieivgeS5puazhOmcsumjjumZqTwvdmlldz5cbiAgICAxMFx0XHRcdFx0PGVsLXRhYmxlIDpkYXRhPVwiY2VydExpc3RcIiBzdHlsZT1cIndpZHRoOiAxMDAlXCI+XG4gICAgMTFcdFx0XHRcdFx0PGVsLXRhYmxlLWNvbHVtbiBwcm9wPVwidGlwc1wiIGxhYmVsPVwi6K+05piOXCIgbWluV2lkdGg9XCIzMDBcIj4gPC9lbC10YWJsZS1jb2x1bW4+XG4gICAgMTJcdFx0XHRcdFx0PGVsLXRhYmxlLWNvbHVtbiBwcm9wPVwibmFtZVwiIGxhYmVsPVwi6YCJ5oup6K+B5LmmXCIgbWluV2lkdGg9XCIzMDBcIj5cbiAgICAxM1x0XHRcdFx0XHRcdDx0ZW1wbGF0ZSBzbG90LXNjb3BlPVwic2NvcGVcIj5cbiAgICAxNFx0XHRcdFx0XHRcdFx0PHRleHQgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDIwcHg7XCI+e3sgc2NvcGUucm93Lm5hbWUgfX08L3RleHQ+XG4gICAgMTVcdFx0XHRcdFx0XHRcdDxlbC1idXR0b24gdHlwZT1cInN1Y2Nlc3NcIiBAY2xpY2s9XCJ1cGxvYWQoc2NvcGUucm93KVwiIHNpemU9XCJtaW5pXCIgcGxhaW4+IHt7IHNjb3BlLnJvdy5jb250ZW50ID8gJ+W3sicgOiAnJ3196YCJ5oupIHt7IHNjb3BlLnJvdy5maWxlIH19IDwvZWwtYnV0dG9uPlxuLi4uXG4gICAgNDFcdFxuICAgIDQyXHQ8c2NyaXB0PlxuICAgIDQzXHRcdHZhciB0aGF0O1x0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8g5b2T5YmN6aG16Z2i5a+56LGhXG4gICAgNDRcdFx0dmFyIHZrID0gdW5pLnZrO1x0XHRcdFx0XHRcdFx0XHRcdC8vIHZr5a6e5L6LXG4gICAgNDVcdFx0ZXhwb3J0IGRlZmF1bHQge1xuICAgIDQ2XHRcdFx0ZGF0YSgpIHtcbiAgICA0N1x0XHRcdFx0Ly8g6aG16Z2i5pWw5o2u5Y+Y6YePXG4gICAgNDhcdFx0XHRcdHJldHVybiB7XG4gICAgNDlcdFx0XHRcdFx0IGNlcnRMaXN0OiBbXG4gICAgNTBcdFx0XHRcdFx0XHR7XG4gICAgNTFcdFx0XHRcdFx0XHRcdG5hbWU6ICdhcGljbGllbnRfY2VydC5wMTInLFxuICAgIDUyXHRcdFx0XHRcdFx0XHR0aXBzOiAn5b6u5L+h5pSv5LuYdjLpnIDopoHnlKjliLDnmoTor4HkuabvvIh3eHBheS5wZnjvvInnmoTlgLwnLFxuICAgIDUzXHRcdFx0XHRcdFx0XHRmaWxlOiAnJyxcbiAgICA1NFx0XHRcdFx0XHRcdFx0Y29udGVudDogJycsXG4gICAgNTVcdFx0XHRcdFx0XHRcdGtleTogJ3d4cGF5LnBmeCdcbiAgICA1Nlx0XHRcdFx0XHRcdH0sXG4gICAgNTdcdFx0XHRcdFx0XHR7XG4gICAgNThcdFx0XHRcdFx0XHRcdG5hbWU6ICdhcGljbGllbnRfY2VydC5wZW0nLFxuICAgIDU5XHRcdFx0XHRcdFx0XHR0aXBzOiAn5b6u5L+h5pSv5LuYdjPpnIDopoHnlKjliLDnmoTor4HkuabvvIh3eHBheS5hcHBDZXJ0Q29udGVudO+8ieeahOWAvCcsXG4gICAgNjBcdFx0XHRcdFx0XHRcdGZpbGU6ICcnLFxuICAgIDYxXHRcdFx0XHRcdFx0XHRjb250ZW50OiAnJyxcbiAgICA2Mlx0XHRcdFx0XHRcdFx0a2V5OiAnd3hwYXkuYXBwQ2VydENvbnRlbnQnXG4gICAgNjNcdFx0XHRcdFx0XHR9LFxuICAgIDY0XHRcdFx0XHRcdFx0e1xuICAgIDY1XHRcdFx0XHRcdFx0XHRuYW1lOiAnYXBpY2xpZW50X2tleS5wZW0nLFxuICAgIDY2XHRcdFx0XHRcdFx0XHR0aXBzOiAn5b6u5L+h5pSv5LuYdjPpnIDopoHnlKjliLDnmoTor4HkuabvvIh3eHBheS5hcHBQcml2YXRlS2V5Q29udGVudO+8ieeahOWAvCcsXG4gICAgNjdcdFx0XHRcdFx0XHRcdGZpbGU6ICcnLFxuICAgIDY4XHRcdFx0XHRcdFx0XHRjb250ZW50OiAnJyxcbiAgICA2OVx0XHRcdFx0XHRcdFx0a2V5OiAnd3hwYXkuYXBwUHJpdmF0ZUtleUNvbnRlbnQnXG4gICAgNzBcdFx0XHRcdFx0XHR9LFxuICAgIDcxXHRcdFx0XHRcdFx0e1xuICAgIDcyXHRcdFx0XHRcdFx0XHRuYW1lOiAnYWxpcGF5Q2VydFB1YmxpY0tleV9SU0EyLmNydCcsXG4gICAgNzNcdFx0XHRcdFx0XHRcdHRpcHM6ICfmlK/ku5jlrp3mlK/ku5ggLSDmlK/ku5jlrp3lhazpkqXor4HkuabvvIhhbGlwYXkuYWxpcGF5UHVibGljQ2VydENvbnRlbnTvvInnmoTlgLwnLFxuICAgIDc0XHRcdFx0XHRcdFx0XHRmaWxlOiAnJyxcbiAgICA3NVx0XHRcdFx0XHRcdFx0Y29udGVudDogJycsXG4gICAgNzZcdFx0XHRcdFx0XHRcdGtleTogJ2FsaXBheS5hbGlwYXlQdWJsaWNDZXJ0Q29udGVudCdcbiAgICA3N1x0XHRcdFx0XHRcdH0sXG4uLi5cbiAgIDE0Mlx0XHRcdFx0XHRsZXQgc3VmZml4ID0gbmFtZS5zdWJzdHJpbmcobmFtZS5sYXN0SW5kZXhPZihcIi5cIikgKyAxKTtcbiAgIDE0M1x0XHRcdFx0XHR1bmkuY2hvb3NlRmlsZSh7XG4gICAxNDRcdFx0XHRcdFx0ICBjb3VudDogMSwgLy/pu5jorqQxMDBcbiAgIDE0NVx0XHRcdFx0XHQgIGV4dGVuc2lvbjogW3N1ZmZpeF0sXG4gICAxNDZcdFx0XHRcdFx0XHRzdWNjZXNzOiAocmVzKSA9PiB7XG4gICAxNDdcdFx0XHRcdFx0XHRcdGxldCB0ZW1wRmlsZSA9IHJlcy50ZW1wRmlsZXNbMF07XG4gICAxNDhcdFx0XHRcdFx0XHRcdGlmIChuYW1lID09PSBcImFwaWNsaWVudF9jZXJ0LnAxMlwiKSB7XG4gICAxNDlcdFx0XHRcdFx0XHRcdFx0dmsucHViZm4uZmlsZVRvQmFzZTY0KHtcbiAgIDE1MFx0XHRcdFx0XHRcdFx0XHQgIGZpbGU6IHRlbXBGaWxlLFxuICAgMTUxXHRcdFx0XHRcdFx0XHRcdCAgc3VjY2VzczogKGJhc2U2NCkgPT4ge1xuICAgMTUyXHRcdFx0XHRcdFx0XHRcdFx0XHRsZXQgYmFzZTY0SW5kZXggPSBiYXNlNjQuaW5kZXhPZihcImJhc2U2NCxcIik7XG4gICAxNTNcdFx0XHRcdFx0XHRcdFx0XHRcdGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoYmFzZTY0SW5kZXgrXCJiYXNlNjQsXCIubGVuZ3RoKTtcbiAgIDE1NFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5mb3JtMS53eHBheS5wZnggPSBiYXNlNjQ7XG4gICAxNTVcdFx0XHRcdFx0XHRcdFx0XHRcdHRoaXMuY2VydExpc3RbaW5kZXhdLmNvbnRlbnQgPSBiYXNlNjQ7XG4gICAxNTZcdFx0XHRcdFx0XHRcdFx0XHRcdHRoaXMuY2VydExpc3RbaW5kZXhdLmZpbGUgPSB0ZW1wRmlsZS5uYW1lO1xuICAgMTU3XHRcdFx0XHRcdFx0XHRcdCAgfVxuICAgMTU4XHRcdFx0XHRcdFx0XHRcdH0pO1xuICAgMTU5XHRcdFx0XHRcdFx0XHR9IGVsc2Uge1xuICAgMTYwXHRcdFx0XHRcdFx0XHRcdGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAxNjFcdFx0XHRcdFx0XHRcdFx0cmVhZGVyLm9ubG9hZCA9ICgpID0+IHtcbiAgIDE2Mlx0XHRcdFx0XHRcdFx0XHRcdGxldCByZXN1bHQgPSByZWFkZXIucmVzdWx0O1xuICAgMTYzXHRcdFx0XHRcdFx0XHRcdFx0cmVzdWx0ID0gcmVzdWx0LnJlcGxhY2UoL1xcclxcbi9nLCBcIlxcblwiKTtcbiAgIDE2NFx0XHRcdFx0XHRcdFx0XHRcdHZrLnB1YmZuLnNldERhdGEodGhpcy5mb3JtMSwga2V5LCByZXN1bHQpO1xuICAgMTY1XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5jZXJ0TGlzdFtpbmRleF0uY29udGVudCA9IHJlc3VsdDtcbiAgIDE2Nlx0XHRcdFx0XHRcdFx0XHR9O1xuLi4uXG5QYXRoOiBwYWdlcy9jb250cmFjdC9jZXJ0aWZpY2F0ZS52dWVcbiAgICAgMVx0PHRlbXBsYXRlPlxuICAgICAyXHRcbiAgICAgM1x0PC90ZW1wbGF0ZT5cbiAgICAgNFx0XG4gICAgIDVcdDxzY3JpcHQ+XG4gICAgIDZcdGV4cG9ydCBkZWZhdWx0IHtcbiAgICAgN1x0ICBuYW1lOiBcImNlcnRpZmljYXRlXCIsXG4gICAgIDhcdCAgZGF0YSgpIHtcbiAgICAgOVx0ICAgIHJldHVybiB7fVxuICAgIDEwXHQgIH0sXG4gICAgMTFcdCAgbWV0aG9kczoge31cbiAgICAxMlx0fVxuICAgIDEzXHQ8L3NjcmlwdD4uLi5cblBhdGg6IHVuaV9tb2R1bGVzL3VuaS1jb25maWctY2VudGVyL3VuaUNsb3VkL2Nsb3VkZnVuY3Rpb25zL2NvbW1vbi91bmktY29uZmlnLWNlbnRlci91bmktcGF5L2FsaXBheS/jgJDph43opoHjgJHov5nph4zmlL7mlK/ku5jlrp3or4HkuaYubWRcbiAgICAgMVx0IyMjIOaWh+S7tuWQje+8mlxuICAgICAyXHQjIyMjIDHjgIFgYWxpcGF5Q2VydFB1YmxpY0tleV9SU0EyLmNydGBcbiAgICAgM1x0IyMjIyAy44CBYGFsaXBheVJvb3RDZXJ0LmNydGBcbiAgICAgNFx0IyMjIyAz44CBYGFwcENlcnRQdWJsaWNLZXkuY3J0YFxuICAgICA1XHQhW+ivgeS5puS9jee9rl0oaHR0cHM6Ly92a2NleXVndS5jZG4uYnNwYXBwLmNvbS9WS0NFWVVHVS1jZjBjNWU2OS02MjBjLTRmM2MtODRhYi1mNDYxOTI2MjkzOWYvNjFjMTU4MmEtMmNhNy00M2QzLTkyZWItYjgyMTM2Y2M1ODNmLnBuZykuLi5cblBhdGg6IHVuaV9tb2R1bGVzL3VuaS1jb25maWctY2VudGVyL3VuaUNsb3VkL2Nsb3VkZnVuY3Rpb25zL2NvbW1vbi91bmktY29uZmlnLWNlbnRlci91bmktcGF5L3d4cGF5L+OAkOmHjeimgeOAkei/memHjOaUvuW+ruS/oeaUr+S7mOivgeS5pi5tZFxuICAgICAxXHQjIyMg5paH5Lu25ZCN77yaXG4gICAgIDJcdCMjIyMgMeOAgWB3eHBheS5wMTJgXG4gICAgIDNcdCFb6K+B5Lmm5L2N572uXShodHRwczovL3ZrY2V5dWd1LmNkbi5ic3BhcHAuY29tL1ZLQ0VZVUdVLWNmMGM1ZTY5LTYyMGMtNGYzYy04NGFiLWY0NjE5MjYyOTM5Zi82MWMxNTgyYS0yY2E3LTQzZDMtOTJlYi1iODIxMzZjYzU4M2YucG5nKS4uLlxuUGF0aDogdW5pQ2xvdWQtdGNiL2Nsb3VkZnVuY3Rpb25zL3JvdXRlci9zZXJ2aWNlL3VzZXIva2gvYWNjZXB0SW52aXRlLmpzXG4gICAgIDFcdG1vZHVsZS5leHBvcnRzID0ge1xuICAgICAyXHQgIC8qKlxuICAgICAzXHQgICAqIOeUqOaIt+aOpeWPl+mCgOivt1xuICAgICA0XHQgICAqIEB1cmwgdXNlci9raC9hY2NlcHRJbnZpdGUg5YmN56uv6LCD55So55qEdXJs5Y+C5pWw5Zyw5Z2AXG4gICAgIDVcdCAgICogQGRlc2NyaXB0aW9uIOatpOaOpeWPo+eUqOS6juWcqOazqOWGjOS5i+WQjuWGjeWhq+WGmemCgOivt+eggeeahOWcuuaZr++8jOWkmuaVsOaDheWGteS4i+S4jeS8mueUqOWIsOatpOaOpeWPo+iAjOaYr+WcqOazqOWGjOaXtuWhq+WGmemCgOivt+eggVxuICAgICA2XHRcdCAqIGRhdGEg6K+35rGC5Y+C5pWwIOivtOaYjlxuICAgICA3XHRcdCAqIEBwYXJhbSB7U3RyaW5nfSBpbnZpdGVDb2RlIOmCgOivt+S6uueahOmCgOivt+eggVxuICAgICA4XHRcdCAqIHJlcyDov5Tlm57lj4LmlbDor7TmmI5cbiAgICAgOVx0XHQgKiBAcGFyYW0ge051bWJlcn0gY29kZSDplJnor6/noIHvvIww6KGo56S65oiQ5YqfXG4gICAgMTBcdFx0ICogQHBhcmFtIHtTdHJpbmd9IG1zZyDor6bnu4bkv6Hmga9cbiAgICAxMVx0ICAgKi9cbiAgICAxMlx0XHRtYWluOiBhc3luYyAoZXZlbnQpID0+IHtcbiAgICAxM1x0XHRcdGxldCB7IGRhdGEgPSB7fSwgdXRpbCwgb3JpZ2luYWxQYXJhbSB9ID0gZXZlbnQ7XG4gICAgMTRcdFx0XHRsZXQgeyB1bmlJRCB9ID0gdXRpbDtcbiAgICAxNVx0XHRcdGxldCB7IHVpZCwgaW52aXRlQ29kZSA9IFwiXCIgfSA9IGRhdGE7XG4gICAgMTZcdFx0XHRsZXQgcmVzID0ge307XG4gICAgMTdcdFx0XHQvLyDkuJrliqHpgLvovpHlvIDlp4stLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIDE4XHRcdFx0cmVzID0gYXdhaXQgdW5pSUQuYWNjZXB0SW52aXRlKHtcbiAgICAxOVx0XHRcdFx0dWlkOnVpZCxcbiAgICAyMFx0XHRcdFx0aW52aXRlQ29kZTppbnZpdGVDb2RlXG4gICAgMjFcdFx0XHR9KTtcbiAgICAyMlx0XHRcdC8vIOS4muWKoemAu+i+kee7k+adny0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgMjNcdFx0XHRyZXR1cm4gcmVzO1xuICAgIDI0XHRcdH1cbiAgICAyNVx0fVxuLi4uXG5QYXRoOiB1bmlDbG91ZC10Y2IvY2xvdWRmdW5jdGlvbnMvcm91dGVyL3NlcnZpY2UvdXNlci9wdWIvY29kZTJTZXNzaW9uQWxpcGF5LmpzXG4uLi5cbiAgICAyMlx0XHRcdC8vIOS4muWKoemAu+i+keW8gOWniy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgMjNcdFx0XHQvLyDnlKjmiLfnmbvlvZUo6LSm5Y+3K+WvhueggSlcbiAgICAyNFx0XHRcdHJlcyA9IGF3YWl0IHVuaUlELmNvZGUyU2Vzc2lvbkFsaXBheShkYXRhKTtcbiAgICAyNVx0XHRcdGlmIChyZXMuY29kZSA9PT0gMCkge1xuICAgIDI2XHRcdFx0XHRsZXQgZW5jcnlwdGVkID0gdmsuY3J5cHRvLmFlcy5lbmNyeXB0KHtcbiAgICAyN1x0XHRcdFx0XHRkYXRhOiByZXNcbiAgICAyOFx0XHRcdFx0fSk7XG4gICAgMjlcdFx0XHRcdGRlbGV0ZSByZXMuc2Vzc2lvbktleTsgLy8g5Yig6Zmk5piO5paHc2Vzc2lvbktleVxuICAgIDMwXHRcdFx0XHRkZWxldGUgcmVzLmFjY2Vzc1Rva2VuOyAvLyDliKDpmaTmmI7mlodhY2Nlc3NUb2tlblxuICAgIDMxXHRcdFx0XHRkZWxldGUgcmVzLnJlZnJlc2hUb2tlbjsgLy8g5Yig6Zmk5piO5paHcmVmcmVzaFRva2VuXG4gICAgMzJcdFx0XHRcdHJlcy5lbmNyeXB0ZWRLZXkgPSBlbmNyeXB0ZWQ7IC8vIOi/lOWbnuWJjeerr+WKoOWvhuWGheWuuVxuICAgIDMzXHRcdFx0fVxuICAgIDM0XHRcdFx0Ly8g5Lia5Yqh6YC76L6R57uT5p2fLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAzNVx0XHRcdHJldHVybiByZXM7XG4gICAgMzZcdFx0fVxuICAgIDM3XHR9XG4uLi5cblBhdGg6IHVuaUNsb3VkLXRjYi9jbG91ZGZ1bmN0aW9ucy9yb3V0ZXIvc2VydmljZS91c2VyL2toL2JpbmRBbGlwYXkuanNcbiAgICAgMVx0bW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgIDJcdFx0LyoqXG4gICAgIDNcdFx0ICog57uR5a6a5pSv5LuY5a6dXG4gICAgIDRcdFx0ICogQHVybCB1c2VyL2toL2JpbmRBbGlwYXkg5YmN56uv6LCD55So55qEdXJs5Y+C5pWw5Zyw5Z2AXG4gICAgIDVcdFx0ICogQGRlc2NyaXB0aW9uIOWwhuW9k+WJjeeZu+W9leeUqOaIt+e7keWumuaUr+S7mOWunVxuICAgICA2XHRcdCAqIGRhdGEg6K+35rGC5Y+C5pWwIOivtOaYjlxuICAgICA3XHRcdCAqIEBwYXJhbSB7U3RyaW5nfSBjb2RlIOaUr+S7mOWuneeZu+W9lei/lOWbnueahGNvZGVcbiAgICAgOFx0XHQgKiBAcGFyYW0ge1N0cmluZ30gcGxhdGZvcm0g5a6i5oi356uv57G75Z6L77yabXAtd2VpeGlu44CBYXBwLXBsdXPvvIzpu5jorqR1bmktaWTkvJroh6rliqjlj5blrqLmiLfnq6/nsbvlnovvvIzkvYbmmK/lnKjkupHlh73mlbB1cmzljJbnrYnlnLrmma/ml6Dms5Xlj5bliLDlrqLmiLfnq6/nsbvlnovvvIzlj6/ku6Xkvb/nlKjmraTlj4LmlbDmjIflrppcbiAgICAgOVx0XHQgKiByZXMg6L+U5Zue5Y+C5pWw6K+05piOXG4gICAgMTBcdFx0ICogQHBhcmFtIHtOdW1iZXJ9IGNvZGUg6ZSZ6K+v56CB77yMMOihqOekuuaIkOWKn1xuICAgIDExXHRcdCAqIEBwYXJhbSB7U3RyaW5nfSBtc2cg6K+m57uG5L+h5oGvXG4gICAgMTJcdFx0ICovXG4gICAgMTNcdFx0bWFpbjogYXN5bmMgKGV2ZW50KSA9PiB7XG4gICAgMTRcdFx0XHQvLyDkuJrliqHpgLvovpHlvIDlp4stLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIDE1XHRcdFx0bGV0IHsgZGF0YSA9IHt9LCB1c2VySW5mbywgdXRpbCB9ID0gZXZlbnQ7XG4gICAgMTZcdFx0XHRsZXQgeyB1bmlJRCwgdmssIF8gfSA9IHV0aWw7XG4gICAgMTdcdFx0XHRsZXQgeyB1aWQgfSA9IGRhdGE7XG4gICAgMThcdFx0XHRsZXQgcmVzID0geyBjb2RlIDogMCwgbXNnIDogJycgfTsuLi4iLCJpc19lcnJvciI6ZmFsc2UsInJlcXVlc3RfaWQiOiIiLCJ0b29sX3VzZV9pZCI6InRvb2x1XzAxSm8xTlV4VFA4RkdiWTF4R29WN3hkaiJ9fSx7ImlkIjoyLCJ0eXBlIjo0LCJpZGVfc3RhdGVfbm9kZSI6eyJ3b3Jrc3BhY2VGb2xkZXJzIjpbeyJyZXBvc2l0b3J5Um9vdCI6Ii9Vc2Vycy9saWFuZ3hpbi9Qcm9qZWN0L0h0bWwvbWluaVByb2dyYW0vamluaml1eGluLWFkbWluIiwiZm9sZGVyUm9vdCI6Ii9Vc2Vycy9saWFuZ3hpbi9Qcm9qZWN0L0h0bWwvbWluaVByb2dyYW0vamluaml1eGluLWFkbWluIn1dLCJ3b3Jrc3BhY2VGb2xkZXJzVW5jaGFuZ2VkIjpmYWxzZX19XSwidGltZXN0YW1wIjoiMjAyNS0wNi0xMlQwMzo1Njo0Mi4wMjVaIiwicmVzcG9uc2VfdGV4dCI6IuWfuuS6juaIkeS7juS7o+eggeW6k+S4reaJvuWIsOeahOS/oeaBr++8jOaIkeWPr+S7peeci+WIsOi/meaYr+S4gOS4quWQiOWQjOeuoeeQhuezu+e7n+OAguS7jiBgcGFnZXMvY29udHJhY3QvbGlzdC52dWVgIOaWh+S7tuS4re+8jOaIkeWPr+S7peeci+WIsOWQiOWQjOebuOWFs+eahOWtl+autee7k+aehOOAgueOsOWcqOiuqeaIkeS4uuaCqOWcqCBgcGFnZXMvY29udHJhY3QvY2VydGlmaWNhdGUudnVlYCDkuK3liJvlu7rkuIDkuKrlkIjlkIzor4HkuabnrqHnkIbnmoTlkI7lj7DliJfooajpobXpnaLjgIJcblxuIyMg6K+m57uG6K6h5YiSXG5cbuWfuuS6jueOsOacieeahOWQiOWQjOeuoeeQhuezu+e7n+e7k+aehO+8jOaIkeWwhuS4uuivgeS5pueuoeeQhumhtemdouWIm+W7uuS7peS4i+WKn+iDve+8mlxuXG4xLiAqKuihqOagvOWtl+autSoq77yaXG4gICAtIOivgeS5puWQjeensCAoY2VydE5hbWUpXG4gICAtIOivgeS5puexu+WeiyAoY2VydFR5cGUpIC0g5aaC77ya6JCl5Lia5omn54Wn44CB6Lqr5Lu96K+B44CB6LWE6LSo6K+B5Lmm562JXG4gICAtIOWFs+iBlOWQiOWQjOe8luWPtyAoY29udHJhY3RJZClcbiAgIC0g6K+B5Lmm54q25oCBIChzdGF0dXMpIC0g5b6F5a6h5qC444CB5bey6YCa6L+H44CB5bey5ouS57udXG4gICAtIOS4iuS8oOaXtumXtCAoX2FkZF90aW1lKVxuICAgLSDmnInmlYjmnJ8gKGV4cGlyZURhdGUpXG4gICAtIOS4iuS8oOS6uiAodXBsb2FkVXNlcilcblxuMi4gKirmn6Xor6LooajljZUqKu+8mlxuICAgLSDor4HkuablkI3np7DmkJzntKJcbiAgIC0g6K+B5Lmm57G75Z6L562b6YCJXG4gICAtIOeKtuaAgeetm+mAiVxuICAgLSDml7bpl7TojIPlm7TnrZvpgIlcblxuMy4gKirmk43kvZzlip/og70qKu+8mlxuICAgLSDmn6XnnIvor6bmg4VcbiAgIC0g5a6h5qC46YCa6L+HL+aLkue7nVxuICAgLSDkuIvovb3or4HkuaZcbiAgIC0g5Yig6ZmkXG5cbueOsOWcqOiuqeaIkeWunueOsOi/meS4qumhtemdou+8mlxuIiwid29ya3NwYWNlX2ZpbGVfY2h1bmtzIjpbXX0seyJzdGF0dXMiOiJzdWNjZXNzIiwicmVxdWVzdF9pZCI6IjViMGIxZWEwLTkyNGItNGJjOS05MzAzLTVlMDVhYjgzYTUwYSIsInJlcXVlc3RfbWVzc2FnZSI6IiIsInN0cnVjdHVyZWRfb3V0cHV0X25vZGVzIjpbeyJpZCI6MSwidHlwZSI6NSwiY29udGVudCI6IiIsInRvb2xfdXNlIjp7InRvb2xfdXNlX2lkIjoidG9vbHVfMDFDMnpweGNETG1IUjZGczNGRURpRXFXIiwidG9vbF9uYW1lIjoic3RyLXJlcGxhY2UtZWRpdG9yIiwiaW5wdXRfanNvbiI6IntcImNvbW1hbmRcIjogXCJzdHJfcmVwbGFjZVwiLCBcInBhdGhcIjogXCJwYWdlcy9jb250cmFjdC9jZXJ0aWZpY2F0ZS52dWVcIiwgXCJpbnN0cnVjdGlvbl9yZW1pbmRlclwiOiBcIkFMV0FZUyBCUkVBSyBET1dOIEVESVRTIElOVE8gU01BTExFUiBDSFVOS1MgT0YgQVQgTU9TVCAyMDAgTElORVMgRUFDSC5cIiwgXCJvbGRfc3RyXzFcIjogXCIgICAgICAvLyBcXHU4ODY4XFx1NjgzY1xcdTc2ZjhcXHU1MTczXFx1N2VkM1xcdTY3NWYgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cIiwgXCJvbGRfc3RyX3N0YXJ0X2xpbmVfbnVtYmVyXzFcIjogMjE1LCBcIm9sZF9zdHJfZW5kX2xpbmVfbnVtYmVyXzFcIjogMjE1LCBcIm5ld19zdHJfMVwiOiBcIiAgICAgIC8vIFxcdTg4NjhcXHU2ODNjXFx1NzZmOFxcdTUxNzNcXHU3ZWQzXFx1Njc1ZiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxcbiAgICAgIFxcbiAgICAgIC8vIFxcdTg4NjhcXHU1MzU1XFx1NzZmOFxcdTUxNzNcXHU1ZjAwXFx1NTljYiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxcbiAgICAgIC8vIFxcdTY3ZTVcXHU4YmUyXFx1ODg2OFxcdTUzNTVcXHU4YmY3XFx1NmM0MlxcdTY1NzBcXHU2MzZlXFxuICAgICAgcXVlcnlGb3JtMToge1xcbiAgICAgICAgLy8gXFx1NjdlNVxcdThiZTJcXHU4ODY4XFx1NTM1NVxcdTY1NzBcXHU2MzZlXFx1NmU5MFxcdWZmMGNcXHU1M2VmXFx1NTcyOFxcdTZiNjRcXHU4YmJlXFx1N2Y2ZVxcdTllZDhcXHU4YmE0XFx1NTAzY1xcbiAgICAgICAgZm9ybURhdGE6IHt9LFxcbiAgICAgICAgLy8gXFx1NjdlNVxcdThiZTJcXHU4ODY4XFx1NTM1NVxcdTc2ODRcXHU1YjU3XFx1NmJiNVxcdTg5YzRcXHU1MjE5XFxuICAgICAgICBjb2x1bW5zOiBbXFxuICAgICAgICAgIHtcXG4gICAgICAgICAgICBrZXk6IFxcXCJjZXJ0TmFtZVxcXCIsXFxuICAgICAgICAgICAgdGl0bGU6IFxcXCJcXHU4YmMxXFx1NGU2NlxcdTU0MGRcXHU3OWYwXFxcIixcXG4gICAgICAgICAgICB0eXBlOiBcXFwidGV4dFxcXCIsXFxuICAgICAgICAgICAgd2lkdGg6IDE2MCxcXG4gICAgICAgICAgICBtb2RlOiBcXFwiJSVcXFwiXFxuICAgICAgICAgIH0sXFxuICAgICAgICAgIHtcXG4gICAgICAgICAgICBrZXk6IFxcXCJjZXJ0VHlwZVxcXCIsXFxuICAgICAgICAgICAgdGl0bGU6IFxcXCJcXHU4YmMxXFx1NGU2NlxcdTdjN2JcXHU1NzhiXFxcIixcXG4gICAgICAgICAgICB0eXBlOiBcXFwic2VsZWN0XFxcIixcXG4gICAgICAgICAgICBkYXRhOiBbXFxuICAgICAgICAgICAgICB7IHZhbHVlOiAnYnVzaW5lc3NfbGljZW5zZScsIGxhYmVsOiAnXFx1ODQyNVxcdTRlMWFcXHU2MjY3XFx1NzE2NycgfSxcXG4gICAgICAgICAgICAgIHsgdmFsdWU6ICdpZF9jYXJkJywgbGFiZWw6ICdcXHU4ZWFiXFx1NGVmZFxcdThiYzEnIH0sXFxuICAgICAgICAgICAgICB7IHZhbHVlOiAncXVhbGlmaWNhdGlvbicsIGxhYmVsOiAnXFx1OGQ0NFxcdThkMjhcXHU4YmMxXFx1NGU2NicgfSxcXG4gICAgICAgICAgICAgIHsgdmFsdWU6ICd0YXhfcmVnaXN0cmF0aW9uJywgbGFiZWw6ICdcXHU3YTBlXFx1NTJhMVxcdTc2N2JcXHU4YmIwXFx1OGJjMScgfSxcXG4gICAgICAgICAgICAgIHsgdmFsdWU6ICdvcmdhbml6YXRpb25fY29kZScsIGxhYmVsOiAnXFx1N2VjNFxcdTdlYzdcXHU2NzNhXFx1Njc4NFxcdTRlZTNcXHU3ODAxXFx1OGJjMScgfSxcXG4gICAgICAgICAgICAgIHsgdmFsdWU6ICdiYW5rX3Blcm1pdCcsIGxhYmVsOiAnXFx1OTRmNlxcdTg4NGNcXHU1ZjAwXFx1NjIzN1xcdThiYjhcXHU1M2VmXFx1OGJjMScgfSxcXG4gICAgICAgICAgICAgIHsgdmFsdWU6ICdvdGhlcicsIGxhYmVsOiAnXFx1NTE3NlxcdTRlZDZcXHU4YmMxXFx1NGU2NicgfVxcbiAgICAgICAgICAgIF1cXG4gICAgICAgICAgfSxcXG4gICAgICAgICAge1xcbiAgICAgICAgICAgIGtleTogXFxcInN0YXR1c1xcXCIsXFxuICAgICAgICAgICAgdGl0bGU6IFxcXCJcXHU1YmExXFx1NjgzOFxcdTcyYjZcXHU2MDAxXFxcIixcXG4gICAgICAgICAgICB0eXBlOiBcXFwic2VsZWN0XFxcIixcXG4gICAgICAgICAgICBkYXRhOiBbXFxuICAgICAgICAgICAgICB7IHZhbHVlOiAwLCBsYWJlbDogJ1xcdTVmODVcXHU1YmExXFx1NjgzOCcgfSxcXG4gICAgICAgICAgICAgIHsgdmFsdWU6IDEsIGxhYmVsOiAnXFx1NWRmMlxcdTkwMWFcXHU4ZmM3JyB9LFxcbiAgICAgICAgICAgICAgeyB2YWx1ZTogMiwgbGFiZWw6ICdcXHU1ZGYyXFx1NjJkMlxcdTdlZGQnIH1cXG4gICAgICAgICAgICBdXFxuICAgICAgICAgIH0sXFxuICAgICAgICAgIHtcXG4gICAgICAgICAgICBrZXk6IFxcXCJjb250cmFjdElkXFxcIixcXG4gICAgICAgICAgICB0aXRsZTogXFxcIlxcdTUxNzNcXHU4MDU0XFx1NTQwOFxcdTU0MGNcXFwiLFxcbiAgICAgICAgICAgIHR5cGU6IFxcXCJ0ZXh0XFxcIixcXG4gICAgICAgICAgICB3aWR0aDogMTYwLFxcbiAgICAgICAgICAgIG1vZGU6IFxcXCIlJVxcXCJcXG4gICAgICAgICAgfVxcbiAgICAgICAgXVxcbiAgICAgIH0sXFxuICAgICAgXFxuICAgICAgLy8gXFx1NmRmYlxcdTUyYTAvXFx1N2YxNlxcdThmOTFcXHU4ODY4XFx1NTM1NVxcbiAgICAgIGZvcm0xOiB7XFxuICAgICAgICAvLyBcXHU4ODY4XFx1NTM1NVxcdThiZjdcXHU2YzQyXFx1NjU3MFxcdTYzNmVcXHVmZjBjXFx1NmI2NFxcdTU5MDRcXHU1M2VmXFx1NGVlNVxcdThiYmVcXHU3ZjZlXFx1OWVkOFxcdThiYTRcXHU1MDNjXFxuICAgICAgICBkYXRhOiB7XFxuICAgICAgICAgIHN0YXR1czogMFxcbiAgICAgICAgfSxcXG4gICAgICAgIC8vIFxcdTg4NjhcXHU1MzU1XFx1NWM1ZVxcdTYwMjdcXG4gICAgICAgIHByb3BzOiB7XFxuICAgICAgICAgIHNob3c6IGZhbHNlLFxcbiAgICAgICAgICB0aXRsZTogXFxcIlxcXCIsXFxuICAgICAgICAgIGZvcm1UeXBlOiBcXFwiYWRkXFxcIixcXG4gICAgICAgICAgYWN0aW9uOiBcXFwiXFxcIixcXG4gICAgICAgICAgcnVsZXM6IHtcXG4gICAgICAgICAgICBjZXJ0TmFtZTogW1xcbiAgICAgICAgICAgICAgeyByZXF1aXJlZDogdHJ1ZSwgbWVzc2FnZTogJ1xcdThiZjdcXHU4ZjkzXFx1NTE2NVxcdThiYzFcXHU0ZTY2XFx1NTQwZFxcdTc5ZjAnLCB0cmlnZ2VyOiAnYmx1cicgfVxcbiAgICAgICAgICAgIF0sXFxuICAgICAgICAgICAgY2VydFR5cGU6IFtcXG4gICAgICAgICAgICAgIHsgcmVxdWlyZWQ6IHRydWUsIG1lc3NhZ2U6ICdcXHU4YmY3XFx1OTAwOVxcdTYyZTlcXHU4YmMxXFx1NGU2NlxcdTdjN2JcXHU1NzhiJywgdHJpZ2dlcjogJ2NoYW5nZScgfVxcbiAgICAgICAgICAgIF0sXFxuICAgICAgICAgICAgZmlsZVVybDogW1xcbiAgICAgICAgICAgICAgeyByZXF1aXJlZDogdHJ1ZSwgbWVzc2FnZTogJ1xcdThiZjdcXHU0ZTBhXFx1NGYyMFxcdThiYzFcXHU0ZTY2XFx1NjU4N1xcdTRlZjYnLCB0cmlnZ2VyOiAnY2hhbmdlJyB9XFxuICAgICAgICAgICAgXVxcbiAgICAgICAgICB9LFxcbiAgICAgICAgICBjb2x1bW5zOiBbXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAga2V5OiBcXFwiY2VydE5hbWVcXFwiLFxcbiAgICAgICAgICAgICAgdGl0bGU6IFxcXCJcXHU4YmMxXFx1NGU2NlxcdTU0MGRcXHU3OWYwXFxcIixcXG4gICAgICAgICAgICAgIHR5cGU6IFxcXCJ0ZXh0XFxcIixcXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiBcXFwiXFx1OGJmN1xcdThmOTNcXHU1MTY1XFx1OGJjMVxcdTRlNjZcXHU1NDBkXFx1NzlmMFxcXCJcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgIGtleTogXFxcImNlcnRUeXBlXFxcIixcXG4gICAgICAgICAgICAgIHRpdGxlOiBcXFwiXFx1OGJjMVxcdTRlNjZcXHU3YzdiXFx1NTc4YlxcXCIsXFxuICAgICAgICAgICAgICB0eXBlOiBcXFwic2VsZWN0XFxcIixcXG4gICAgICAgICAgICAgIGRhdGE6IFtcXG4gICAgICAgICAgICAgICAgeyB2YWx1ZTogJ2J1c2luZXNzX2xpY2Vuc2UnLCBsYWJlbDogJ1xcdTg0MjVcXHU0ZTFhXFx1NjI2N1xcdTcxNjcnIH0sXFxuICAgICAgICAgICAgICAgIHsgdmFsdWU6ICdpZF9jYXJkJywgbGFiZWw6ICdcXHU4ZWFiXFx1NGVmZFxcdThiYzEnIH0sXFxuICAgICAgICAgICAgICAgIHsgdmFsdWU6ICdxdWFsaWZpY2F0aW9uJywgbGFiZWw6ICdcXHU4ZDQ0XFx1OGQyOFxcdThiYzFcXHU0ZTY2JyB9LFxcbiAgICAgICAgICAgICAgICB7IHZhbHVlOiAndGF4X3JlZ2lzdHJhdGlvbicsIGxhYmVsOiAnXFx1N2EwZVxcdTUyYTFcXHU3NjdiXFx1OGJiMFxcdThiYzEnIH0sXFxuICAgICAgICAgICAgICAgIHsgdmFsdWU6ICdvcmdhbml6YXRpb25fY29kZScsIGxhYmVsOiAnXFx1N2VjNFxcdTdlYzdcXHU2NzNhXFx1Njc4NFxcdTRlZTNcXHU3ODAxXFx1OGJjMScgfSxcXG4gICAgICAgICAgICAgICAgeyB2YWx1ZTogJ2JhbmtfcGVybWl0JywgbGFiZWw6ICdcXHU5NGY2XFx1ODg0Y1xcdTVmMDBcXHU2MjM3XFx1OGJiOFxcdTUzZWZcXHU4YmMxJyB9LFxcbiAgICAgICAgICAgICAgICB7IHZhbHVlOiAnb3RoZXInLCBsYWJlbDogJ1xcdTUxNzZcXHU0ZWQ2XFx1OGJjMVxcdTRlNjYnIH1cXG4gICAgICAgICAgICAgIF1cXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgIGtleTogXFxcImNvbnRyYWN0SWRcXFwiLFxcbiAgICAgICAgICAgICAgdGl0bGU6IFxcXCJcXHU1MTczXFx1ODA1NFxcdTU0MDhcXHU1NDBjXFx1N2YxNlxcdTUzZjdcXFwiLFxcbiAgICAgICAgICAgICAgdHlwZTogXFxcInRleHRcXFwiLFxcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6IFxcXCJcXHU4YmY3XFx1OGY5M1xcdTUxNjVcXHU1MTczXFx1ODA1NFxcdTc2ODRcXHU1NDA4XFx1NTQwY1xcdTdmMTZcXHU1M2Y3XFx1ZmYwOFxcdTUzZWZcXHU5MDA5XFx1ZmYwOVxcXCJcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgIGtleTogXFxcImZpbGVVcmxcXFwiLFxcbiAgICAgICAgICAgICAgdGl0bGU6IFxcXCJcXHU4YmMxXFx1NGU2NlxcdTY1ODdcXHU0ZWY2XFxcIixcXG4gICAgICAgICAgICAgIHR5cGU6IFxcXCJmaWxlXFxcIixcXG4gICAgICAgICAgICAgIGZpbGVUeXBlOiBcXFwiaW1hZ2UscGRmLGRvYyxkb2N4XFxcIixcXG4gICAgICAgICAgICAgIGxpbWl0OiAxLFxcbiAgICAgICAgICAgICAgdGlwczogXFxcIlxcdTY1MmZcXHU2MzAxXFx1NTZmZVxcdTcyNDdcXHUzMDAxUERGXFx1MzAwMVdvcmRcXHU2NTg3XFx1Njg2M1xcdTY4M2NcXHU1ZjBmXFxcIlxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAga2V5OiBcXFwiZXhwaXJlRGF0ZVxcXCIsXFxuICAgICAgICAgICAgICB0aXRsZTogXFxcIlxcdTY3MDlcXHU2NTQ4XFx1NjcxZlxcXCIsXFxuICAgICAgICAgICAgICB0eXBlOiBcXFwiZGF0ZVxcXCIsXFxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogXFxcIlxcdThiZjdcXHU5MDA5XFx1NjJlOVxcdThiYzFcXHU0ZTY2XFx1NjcwOVxcdTY1NDhcXHU2NzFmXFx1ZmYwOFxcdTUzZWZcXHU5MDA5XFx1ZmYwOVxcXCJcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgIGtleTogXFxcInJlbWFya1xcXCIsXFxuICAgICAgICAgICAgICB0aXRsZTogXFxcIlxcdTU5MDdcXHU2Y2U4XFxcIixcXG4gICAgICAgICAgICAgIHR5cGU6IFxcXCJ0ZXh0YXJlYVxcXCIsXFxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogXFxcIlxcdThiZjdcXHU4ZjkzXFx1NTE2NVxcdTU5MDdcXHU2Y2U4XFx1NGZlMVxcdTYwNmZcXHVmZjA4XFx1NTNlZlxcdTkwMDlcXHVmZjA5XFxcIlxcbiAgICAgICAgICAgIH1cXG4gICAgICAgICAgXVxcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgICAvLyBcXHU4ODY4XFx1NTM1NVxcdTc2ZjhcXHU1MTczXFx1N2VkM1xcdTY3NWYgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cXG4gICAgfVxcbiAgfSxcXG4gIFxcbiAgLy8gXFx1NzZkMVxcdTU0MmMgLSBcXHU5ODc1XFx1OTc2MlxcdTZiY2ZcXHU2YjIxXFx1MzAxMFxcdTUyYTBcXHU4ZjdkXFx1NjVmNlxcdTMwMTFcXHU2MjY3XFx1ODg0YyhcXHU1OTgyXFx1ZmYxYVxcdTUyNGRcXHU4ZmRiKVxcbiAgb25Mb2FkKG9wdGlvbnMgPSB7fSkge1xcbiAgICB0aGF0ID0gdGhpcztcXG4gICAgdmsgPSB0aGF0LnZrO1xcbiAgICB0aGF0Lm9wdGlvbnMgPSBvcHRpb25zO1xcbiAgICB0aGF0LmluaXQob3B0aW9ucyk7XFxuICB9LFxcbiAgXFxuICAvLyBcXHU3NmQxXFx1NTQyYyAtIFxcdTk4NzVcXHU5NzYyXFx1NmJjZlxcdTZiMjFcXHUzMDEwXFx1NjYzZVxcdTc5M2FcXHU2NWY2XFx1MzAxMVxcdTYyNjdcXHU4ODRjKFxcdTU5ODJcXHVmZjFhXFx1NTI0ZFxcdThmZGJcXHU1NDhjXFx1OGZkNFxcdTU2ZGUpIFxcbiAgb25TaG93KCkge1xcbiAgICBcXG4gIH0sXFxuICBcXG4gIC8vIFxcdTUxZmRcXHU2NTcwXFxuICBtZXRob2RzOiB7XFxuICAgIC8vIFxcdTk4NzVcXHU5NzYyXFx1NjU3MFxcdTYzNmVcXHU1MjFkXFx1NTljYlxcdTUzMTZcXHU1MWZkXFx1NjU3MFxcbiAgICBpbml0KG9wdGlvbnMpIHtcXG4gICAgICBvcmlnaW5hbEZvcm1zW1xcXCJmb3JtMVxcXCJdID0gdmsucHViZm4uY29weU9iamVjdCh0aGF0LmZvcm0xKTtcXG4gICAgfSxcXG4gICAgXFxuICAgIC8vIFxcdTk4NzVcXHU5NzYyXFx1OGRmM1xcdThmNmNcXG4gICAgcGFnZVRvKHBhdGgpIHtcXG4gICAgICB2ay5uYXZpZ2F0ZVRvKHBhdGgpO1xcbiAgICB9LFxcbiAgICBcXG4gICAgLy8gXFx1ODg2OFxcdTUzNTVcXHU5MWNkXFx1N2Y2ZVxcbiAgICByZXNldEZvcm0oKSB7XFxuICAgICAgdmsucHViZm4ucmVzZXRGb3JtKG9yaWdpbmFsRm9ybXMsIHRoYXQpO1xcbiAgICB9LFxcbiAgICBcXG4gICAgLy8gXFx1NjQxY1xcdTdkMjJcXG4gICAgc2VhcmNoKCkge1xcbiAgICAgIHRoYXQuJHJlZnMudGFibGUxLnNlYXJjaCgpO1xcbiAgICB9LFxcbiAgICBcXG4gICAgLy8gXFx1NTIzN1xcdTY1YjBcXG4gICAgcmVmcmVzaCgpIHtcXG4gICAgICB0aGF0LiRyZWZzLnRhYmxlMS5yZWZyZXNoKCk7XFxuICAgIH0sXFxuICAgIFxcbiAgICAvLyBcXHU4M2I3XFx1NTNkNlxcdTVmNTNcXHU1MjRkXFx1OTAwOVxcdTRlMmRcXHU3Njg0XFx1ODg0Y1xcdTc2ODRcXHU2NTcwXFx1NjM2ZVxcbiAgICBnZXRDdXJyZW50Um93KCkge1xcbiAgICAgIHJldHVybiB0aGF0LiRyZWZzLnRhYmxlMS5nZXRDdXJyZW50Um93KCk7XFxuICAgIH0sXFxuICAgIFxcbiAgICAvLyBcXHU3NmQxXFx1NTQyYyAtIFxcdTg4NGNcXHU3Njg0XFx1OTAwOVxcdTRlMmRcXHU5YWQ4XFx1NGVhZVxcdTRlOGJcXHU0ZWY2XFxuICAgIGN1cnJlbnRDaGFuZ2UodmFsKSB7XFxuICAgICAgdGhhdC50YWJsZTEuc2VsZWN0SXRlbSA9IHZhbDtcXG4gICAgfSxcXG4gICAgXFxuICAgIC8vIFxcdTVmNTNcXHU5MDA5XFx1NjJlOVxcdTk4NzlcXHU1M2QxXFx1NzUxZlxcdTUzZDhcXHU1MzE2XFx1NjVmNlxcdTRmMWFcXHU4OWU2XFx1NTNkMVxcdThiZTVcXHU0ZThiXFx1NGVmNlxcbiAgICBzZWxlY3Rpb25DaGFuZ2UobGlzdCkge1xcbiAgICAgIHRoYXQudGFibGUxLm11bHRpcGxlU2VsZWN0aW9uID0gbGlzdDtcXG4gICAgfSxcXG4gICAgXFxuICAgIC8vIFxcdTY2M2VcXHU3OTNhXFx1NmRmYlxcdTUyYTBcXHU5ODc1XFx1OTc2MlxcbiAgICBhZGRCdG4oKSB7XFxuICAgICAgdGhhdC5yZXNldEZvcm0oKTtcXG4gICAgICB0aGF0LmZvcm0xLnByb3BzLmFjdGlvbiA9ICdhZG1pbi9jb250cmFjdC9jZXJ0aWZpY2F0ZS9zeXMvYWRkJztcXG4gICAgICB0aGF0LmZvcm0xLnByb3BzLmZvcm1UeXBlID0gJ2FkZCc7XFxuICAgICAgdGhhdC5mb3JtMS5wcm9wcy50aXRsZSA9ICdcXHU2ZGZiXFx1NTJhMFxcdThiYzFcXHU0ZTY2JztcXG4gICAgICB0aGF0LmZvcm0xLnByb3BzLnNob3cgPSB0cnVlO1xcbiAgICB9LFxcbiAgICBcXG4gICAgLy8gXFx1NjYzZVxcdTc5M2FcXHU0ZmVlXFx1NjUzOVxcdTk4NzVcXHU5NzYyXFxuICAgIHVwZGF0ZUJ0bih7IGl0ZW0gfSkge1xcbiAgICAgIHRoYXQuZm9ybTEucHJvcHMuYWN0aW9uID0gJ2FkbWluL2NvbnRyYWN0L2NlcnRpZmljYXRlL3N5cy91cGRhdGUnO1xcbiAgICAgIHRoYXQuZm9ybTEucHJvcHMuZm9ybVR5cGUgPSAndXBkYXRlJztcXG4gICAgICB0aGF0LmZvcm0xLnByb3BzLnRpdGxlID0gJ1xcdTdmMTZcXHU4ZjkxXFx1OGJjMVxcdTRlNjYnO1xcbiAgICAgIHRoYXQuZm9ybTEucHJvcHMuc2hvdyA9IHRydWU7XFxuICAgICAgdGhhdC5mb3JtMS5kYXRhID0gaXRlbTtcXG4gICAgfSxcXG4gICAgXFxuICAgIC8vIFxcdTUyMjBcXHU5NjY0XFx1NjMwOVxcdTk0YWVcXG4gICAgZGVsZXRlQnRuKHsgaXRlbSwgZGVsZXRlRm4gfSkge1xcbiAgICAgIGRlbGV0ZUZuKHtcXG4gICAgICAgIGFjdGlvbjogXFxcImFkbWluL2NvbnRyYWN0L2NlcnRpZmljYXRlL3N5cy9kZWxldGVcXFwiLFxcbiAgICAgICAgZGF0YToge1xcbiAgICAgICAgICBfaWQ6IGl0ZW0uX2lkXFxuICAgICAgICB9LFxcbiAgICAgIH0pO1xcbiAgICB9LFwifSIsIm1jcF9zZXJ2ZXJfbmFtZSI6IiIsIm1jcF90b29sX25hbWUiOiIifX0seyJpZCI6MCwidHlwZSI6MCwiY29udGVudCI6IueOsOWcqOe7p+e7rea3u+WKoOWJqeS9meeahOS7o+eggemDqOWIhu+8mlxuIn0seyJpZCI6MiwidHlwZSI6MiwiY29udGVudCI6IiJ9LHsiaWQiOjMsInR5cGUiOjMsImNvbnRlbnQiOiIifV0sInNlZW5fc3RhdGUiOiJzZWVuIiwic3RydWN0dXJlZF9yZXF1ZXN0X25vZGVzIjpbeyJpZCI6MSwidHlwZSI6MSwidG9vbF9yZXN1bHRfbm9kZSI6eyJjb250ZW50IjoiU3VjY2Vzc2Z1bGx5IGVkaXRlZCB0aGUgZmlsZSBwYWdlcy9jb250cmFjdC9jZXJ0aWZpY2F0ZS52dWUuXG5SZXN1bHQgZm9yIHN0cl9yZXBsYWNlIGZvciBlbnRyeSB3aXRoIGluZGV4IFsxXTpcblJlcGxhY2VtZW50IHN1Y2Nlc3NmdWwuXG5uZXdfc3RyIHN0YXJ0cyBhdCBsaW5lIDEgYW5kIGVuZHMgYXQgbGluZSAyMTUuXG5cblJldmlldyB0aGUgY2hhbmdlcyBhbmQgbWFrZSBzdXJlIHRoZXkgYXJlIGFzIGV4cGVjdGVkIChjb3JyZWN0IGluZGVudGF0aW9uLCBubyBkdXBsaWNhdGUgbGluZXMsIGV0YykuXG5FZGl0IHRoZSBmaWxlIGFnYWluIGlmIG5lY2Vzc2FyeS5cbiIsImlzX2Vycm9yIjpmYWxzZSwicmVxdWVzdF9pZCI6IiIsInRvb2xfdXNlX2lkIjoidG9vbHVfMDE4TExUZUNVUDNibmRmRDZRNnNFS05ZIn19LHsiaWQiOjIsInR5cGUiOjQsImlkZV9zdGF0ZV9ub2RlIjp7IndvcmtzcGFjZUZvbGRlcnMiOlt7InJlcG9zaXRvcnlSb290IjoiL1VzZXJzL2xpYW5neGluL1Byb2plY3QvSHRtbC9taW5pUHJvZ3JhbS9qaW5qaXV4aW4tYWRtaW4iLCJmb2xkZXJSb290IjoiL1VzZXJzL2xpYW5neGluL1Byb2plY3QvSHRtbC9taW5pUHJvZ3JhbS9qaW5qaXV4aW4tYWRtaW4ifV0sIndvcmtzcGFjZUZvbGRlcnNVbmNoYW5nZWQiOmZhbHNlfX1dLCJ0aW1lc3RhbXAiOiIyMDI1LTA2LTEyVDAzOjU3OjM5Ljk5NFoiLCJyZXNwb25zZV90ZXh0Ijoi546w5Zyo57un57ut5re75Yqg5Ymp5L2Z55qE5Luj56CB6YOo5YiG77yaXG4iLCJ3b3Jrc3BhY2VfZmlsZV9jaHVua3MiOltdfSx7InN0YXR1cyI6InN1Y2Nlc3MiLCJyZXF1ZXN0X2lkIjoiMjdiMzMwNzMtYWI2Yi00MWQwLWE2NGMtN2EyMWU4Y2VhNWJkIiwicmVxdWVzdF9tZXNzYWdlIjoiIiwic3RydWN0dXJlZF9vdXRwdXRfbm9kZXMiOlt7ImlkIjoxLCJ0eXBlIjo1LCJjb250ZW50IjoiIiwidG9vbF91c2UiOnsidG9vbF91c2VfaWQiOiJ0b29sdV8wMVNhcFJjV1RLb2RpdFpDamZDdGhTYm0iLCJ0b29sX25hbWUiOiJzdHItcmVwbGFjZS1lZGl0b3IiLCJpbnB1dF9qc29uIjoie1wiY29tbWFuZFwiOiBcInN0cl9yZXBsYWNlXCIsIFwicGF0aFwiOiBcInBhZ2VzL2NvbnRyYWN0L2NlcnRpZmljYXRlLnZ1ZVwiLCBcImluc3RydWN0aW9uX3JlbWluZGVyXCI6IFwiQUxXQVlTIEJSRUFLIERPV04gRURJVFMgSU5UTyBTTUFMTEVSIENIVU5LUyBPRiBBVCBNT1NUIDIwMCBMSU5FUyBFQUNILlwiLCBcIm9sZF9zdHJfMVwiOiBcIiAgICAvLyBcXHU1MjIwXFx1OTY2NFxcdTYzMDlcXHU5NGFlXFxuICAgIGRlbGV0ZUJ0bih7IGl0ZW0sIGRlbGV0ZUZuIH0pIHtcXG4gICAgICBkZWxldGVGbih7XFxuICAgICAgICBhY3Rpb246IFxcXCJhZG1pbi9jb250cmFjdC9jZXJ0aWZpY2F0ZS9zeXMvZGVsZXRlXFxcIixcXG4gICAgICAgIGRhdGE6IHtcXG4gICAgICAgICAgX2lkOiBpdGVtLl9pZFxcbiAgICAgICAgfSxcXG4gICAgICB9KTtcXG4gICAgfSxcIiwgXCJvbGRfc3RyX3N0YXJ0X2xpbmVfbnVtYmVyXzFcIjogNDE2LCBcIm9sZF9zdHJfZW5kX2xpbmVfbnVtYmVyXzFcIjogNDIzLCBcIm5ld19zdHJfMVwiOiBcIiAgICAvLyBcXHU1MjIwXFx1OTY2NFxcdTYzMDlcXHU5NGFlXFxuICAgIGRlbGV0ZUJ0bih7IGl0ZW0sIGRlbGV0ZUZuIH0pIHtcXG4gICAgICBkZWxldGVGbih7XFxuICAgICAgICBhY3Rpb246IFxcXCJhZG1pbi9jb250cmFjdC9jZXJ0aWZpY2F0ZS9zeXMvZGVsZXRlXFxcIixcXG4gICAgICAgIGRhdGE6IHtcXG4gICAgICAgICAgX2lkOiBpdGVtLl9pZFxcbiAgICAgICAgfSxcXG4gICAgICB9KTtcXG4gICAgfSxcXG4gICAgXFxuICAgIC8vIFxcdTgzYjdcXHU1M2Q2XFx1OGJjMVxcdTRlNjZcXHU3YzdiXFx1NTc4YlxcdTY1ODdcXHU2NzJjXFxuICAgIGdldENlcnRUeXBlVGV4dChjZXJ0VHlwZSkge1xcbiAgICAgIGNvbnN0IHR5cGVNYXAgPSB7XFxuICAgICAgICAnYnVzaW5lc3NfbGljZW5zZSc6ICdcXHU4NDI1XFx1NGUxYVxcdTYyNjdcXHU3MTY3JyxcXG4gICAgICAgICdpZF9jYXJkJzogJ1xcdThlYWJcXHU0ZWZkXFx1OGJjMScsXFxuICAgICAgICAncXVhbGlmaWNhdGlvbic6ICdcXHU4ZDQ0XFx1OGQyOFxcdThiYzFcXHU0ZTY2JyxcXG4gICAgICAgICd0YXhfcmVnaXN0cmF0aW9uJzogJ1xcdTdhMGVcXHU1MmExXFx1NzY3YlxcdThiYjBcXHU4YmMxJyxcXG4gICAgICAgICdvcmdhbml6YXRpb25fY29kZSc6ICdcXHU3ZWM0XFx1N2VjN1xcdTY3M2FcXHU2Nzg0XFx1NGVlM1xcdTc4MDFcXHU4YmMxJyxcXG4gICAgICAgICdiYW5rX3Blcm1pdCc6ICdcXHU5NGY2XFx1ODg0Y1xcdTVmMDBcXHU2MjM3XFx1OGJiOFxcdTUzZWZcXHU4YmMxJyxcXG4gICAgICAgICdvdGhlcic6ICdcXHU1MTc2XFx1NGVkNlxcdThiYzFcXHU0ZTY2J1xcbiAgICAgIH07XFxuICAgICAgcmV0dXJuIHR5cGVNYXBbY2VydFR5cGVdIHx8IGNlcnRUeXBlO1xcbiAgICB9LFxcbiAgICBcXG4gICAgLy8gXFx1ODNiN1xcdTUzZDZcXHU3MmI2XFx1NjAwMVxcdTY1ODdcXHU2NzJjXFxuICAgIGdldFN0YXR1c1RleHQoc3RhdHVzKSB7XFxuICAgICAgY29uc3Qgc3RhdHVzTWFwID0ge1xcbiAgICAgICAgMDogJ1xcdTVmODVcXHU1YmExXFx1NjgzOCcsXFxuICAgICAgICAxOiAnXFx1NWRmMlxcdTkwMWFcXHU4ZmM3JyxcXG4gICAgICAgIDI6ICdcXHU1ZGYyXFx1NjJkMlxcdTdlZGQnXFxuICAgICAgfTtcXG4gICAgICByZXR1cm4gc3RhdHVzTWFwW3N0YXR1c10gfHwgJ1xcdTY3MmFcXHU3N2U1JztcXG4gICAgfSxcXG4gICAgXFxuICAgIC8vIFxcdTgzYjdcXHU1M2Q2XFx1NzJiNlxcdTYwMDFcXHU2ODA3XFx1N2I3ZVxcdTdjN2JcXHU1NzhiXFxuICAgIGdldFN0YXR1c1R5cGUoc3RhdHVzKSB7XFxuICAgICAgY29uc3QgdHlwZU1hcCA9IHtcXG4gICAgICAgIDA6ICd3YXJuaW5nJyxcXG4gICAgICAgIDE6ICdzdWNjZXNzJyxcXG4gICAgICAgIDI6ICdkYW5nZXInXFxuICAgICAgfTtcXG4gICAgICByZXR1cm4gdHlwZU1hcFtzdGF0dXNdIHx8ICdpbmZvJztcXG4gICAgfSxcXG4gICAgXFxuICAgIC8vIFxcdTY3ZTVcXHU3NzBiXFx1OGJjMVxcdTRlNjZcXHU4YmU2XFx1NjBjNVxcbiAgICB2aWV3Q2VydGlmaWNhdGUocm93KSB7XFxuICAgICAgdGhpcy5jdXJyZW50Q2VydCA9IHJvdztcXG4gICAgICB0aGlzLnNob3dDZXJ0RGV0YWlsID0gdHJ1ZTtcXG4gICAgfSxcXG4gICAgXFxuICAgIC8vIFxcdTRlMGJcXHU4ZjdkXFx1OGJjMVxcdTRlNjZcXG4gICAgZG93bmxvYWRDZXJ0aWZpY2F0ZShyb3cpIHtcXG4gICAgICBpZiAoIXJvdy5maWxlVXJsKSB7XFxuICAgICAgICB2ay50b2FzdCgnXFx1OGJlNVxcdThiYzFcXHU0ZTY2XFx1NmNhMVxcdTY3MDlcXHU2NTg3XFx1NGVmNlxcdTUzZWZcXHU0ZTBiXFx1OGY3ZCcpO1xcbiAgICAgICAgcmV0dXJuO1xcbiAgICAgIH1cXG4gICAgICBcXG4gICAgICAvLyBcXHU1MjFiXFx1NWVmYVxcdTRlMGJcXHU4ZjdkXFx1OTRmZVxcdTYzYTVcXG4gICAgICBjb25zdCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xcbiAgICAgIGxpbmsuaHJlZiA9IHJvdy5maWxlVXJsO1xcbiAgICAgIGxpbmsuZG93bmxvYWQgPSByb3cuZmlsZU5hbWUgfHwgYCR7cm93LmNlcnROYW1lfS4ke3RoaXMuZ2V0RmlsZUV4dGVuc2lvbihyb3cuZmlsZVVybCl9YDtcXG4gICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmspO1xcbiAgICAgIGxpbmsuY2xpY2soKTtcXG4gICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGxpbmspO1xcbiAgICAgIFxcbiAgICAgIHZrLnRvYXN0KCdcXHU1ZjAwXFx1NTljYlxcdTRlMGJcXHU4ZjdkXFx1OGJjMVxcdTRlNjZcXHU2NTg3XFx1NGVmNicpO1xcbiAgICB9LFxcbiAgICBcXG4gICAgLy8gXFx1NWJhMVxcdTY4MzhcXHU4YmMxXFx1NGU2NlxcbiAgICBhdWRpdENlcnRpZmljYXRlKHJvdywgc3RhdHVzKSB7XFxuICAgICAgY29uc3Qgc3RhdHVzVGV4dCA9IHN0YXR1cyA9PT0gMSA/ICdcXHU5MDFhXFx1OGZjNycgOiAnXFx1NjJkMlxcdTdlZGQnO1xcbiAgICAgIFxcbiAgICAgIHZrLmNvbmZpcm0oYFxcdTc4NmVcXHU1YjlhXFx1ODk4MSR7c3RhdHVzVGV4dH1cXHU4ZmQ5XFx1NGUyYVxcdThiYzFcXHU0ZTY2XFx1NTQxN1xcdWZmMWZgLCB7XFxuICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogJ1xcdTc4NmVcXHU1YjlhJyxcXG4gICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6ICdcXHU1M2Q2XFx1NmQ4OCcsXFxuICAgICAgICB0eXBlOiAnd2FybmluZydcXG4gICAgICB9KS50aGVuKCgpID0+IHtcXG4gICAgICAgIHZrLmNhbGxGdW5jdGlvbih7XFxuICAgICAgICAgIHVybDogJ2FkbWluL2NvbnRyYWN0L2NlcnRpZmljYXRlL3N5cy9hdWRpdCcsXFxuICAgICAgICAgIHRpdGxlOiBgJHtzdGF0dXNUZXh0fVxcdTRlMmQuLi5gLFxcbiAgICAgICAgICBkYXRhOiB7XFxuICAgICAgICAgICAgX2lkOiByb3cuX2lkLFxcbiAgICAgICAgICAgIHN0YXR1czogc3RhdHVzLFxcbiAgICAgICAgICAgIGF1ZGl0UmVtYXJrOiBzdGF0dXMgPT09IDIgPyAnXFx1NWJhMVxcdTY4MzhcXHU0ZTBkXFx1OTAxYVxcdThmYzcnIDogJ1xcdTViYTFcXHU2ODM4XFx1OTAxYVxcdThmYzcnXFxuICAgICAgICAgIH0sXFxuICAgICAgICAgIHN1Y2Nlc3M6IChyZXMpID0+IHtcXG4gICAgICAgICAgICB2ay50b2FzdChgXFx1OGJjMVxcdTRlNjYke3N0YXR1c1RleHR9XFx1NjIxMFxcdTUyOWZgKTtcXG4gICAgICAgICAgICB0aGlzLnJlZnJlc2goKTtcXG4gICAgICAgICAgfVxcbiAgICAgICAgfSk7XFxuICAgICAgfSkuY2F0Y2goKCkgPT4ge1xcbiAgICAgICAgLy8gXFx1NTNkNlxcdTZkODhcXHU2NGNkXFx1NGY1Y1xcbiAgICAgIH0pO1xcbiAgICB9LFxcbiAgICBcXG4gICAgLy8gXFx1NTIyNFxcdTY1YWRcXHU2NjJmXFx1NTQyNlxcdTRlM2FcXHU1NmZlXFx1NzI0N1xcdTY1ODdcXHU0ZWY2XFxuICAgIGlzSW1hZ2VGaWxlKHVybCkge1xcbiAgICAgIGlmICghdXJsKSByZXR1cm4gZmFsc2U7XFxuICAgICAgY29uc3QgaW1hZ2VFeHRlbnNpb25zID0gWycuanBnJywgJy5qcGVnJywgJy5wbmcnLCAnLmdpZicsICcuYm1wJywgJy53ZWJwJ107XFxuICAgICAgY29uc3QgZXh0ZW5zaW9uID0gdGhpcy5nZXRGaWxlRXh0ZW5zaW9uKHVybCkudG9Mb3dlckNhc2UoKTtcXG4gICAgICByZXR1cm4gaW1hZ2VFeHRlbnNpb25zLmluY2x1ZGVzKCcuJyArIGV4dGVuc2lvbik7XFxuICAgIH0sXFxuICAgIFxcbiAgICAvLyBcXHU4M2I3XFx1NTNkNlxcdTY1ODdcXHU0ZWY2XFx1NjI2OVxcdTVjNTVcXHU1NDBkXFxuICAgIGdldEZpbGVFeHRlbnNpb24odXJsKSB7XFxuICAgICAgaWYgKCF1cmwpIHJldHVybiAnJztcXG4gICAgICBjb25zdCBwYXJ0cyA9IHVybC5zcGxpdCgnLicpO1xcbiAgICAgIHJldHVybiBwYXJ0cy5sZW5ndGggPiAxID8gcGFydHNbcGFydHMubGVuZ3RoIC0gMV0gOiAnJztcXG4gICAgfVxcbiAgfSxcXG4gIFxcbiAgLy8gXFx1OGJhMVxcdTdiOTdcXHU1YzVlXFx1NjAyN1xcbiAgY29tcHV0ZWQ6IHtcXG4gICAgXFxuICB9XFxufVxcbjwvc2NyaXB0PlxcblxcbjxzdHlsZSBsYW5nPVxcXCJzY3NzXFxcIiBzY29wZWQ+XFxuLnBhZ2Uge1xcbiAgcGFkZGluZzogMjBweDtcXG59XFxuXFxuLmVsLWRlc2NyaXB0aW9ucyB7XFxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xcbn1cXG5cXG4uZWwtdGFnIHtcXG4gIG1hcmdpbi1yaWdodDogNXB4O1xcbn1cXG5cXG4vLyBcXHU4ODY4XFx1NjgzY1xcdTY0Y2RcXHU0ZjVjXFx1NjMwOVxcdTk0YWVcXHU2ODM3XFx1NWYwZlxcbi5lbC1idXR0b24tLXRleHQge1xcbiAgcGFkZGluZzogMDtcXG4gIG1hcmdpbi1yaWdodDogMTBweDtcXG4gIFxcbiAgJjpsYXN0LWNoaWxkIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xcbiAgfVxcbn1cXG5cXG4vLyBcXHU4YmMxXFx1NGU2NlxcdTk4ODRcXHU4OWM4XFx1NjgzN1xcdTVmMGZcXG4uY2VydC1wcmV2aWV3IHtcXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcXG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XFxuICBwYWRkaW5nOiAyMHB4O1xcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcXG4gIFxcbiAgaW1nIHtcXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xcbiAgICBtYXgtaGVpZ2h0OiA0MDBweDtcXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xcbiAgfVxcbiAgXFxuICAuZmlsZS1pY29uIHtcXG4gICAgZm9udC1zaXplOiA0OHB4O1xcbiAgICBjb2xvcjogIzk5OTtcXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcXG4gIH1cXG4gIFxcbiAgLmZpbGUtbmFtZSB7XFxuICAgIGNvbG9yOiAjNjY2O1xcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xcbiAgfVxcbn1cXG5cXG4vLyBcXHU3MmI2XFx1NjAwMVxcdTY4MDdcXHU3YjdlXFx1NjgzN1xcdTVmMGZcXG4uc3RhdHVzLXRhZyB7XFxuICBmb250LXdlaWdodDogYm9sZDtcXG59XFxuXFxuLy8gXFx1NjRjZFxcdTRmNWNcXHU2MzA5XFx1OTRhZVxcdTUzM2FcXHU1N2RmXFxuLmFjdGlvbi1idXR0b25zIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBnYXA6IDhweDtcXG4gIGZsZXgtd3JhcDogd3JhcDtcXG59XFxuPC9zdHlsZT5cIn0iLCJtY3Bfc2VydmVyX25hbWUiOiIiLCJtY3BfdG9vbF9uYW1lIjoiIn19LHsiaWQiOjAsInR5cGUiOjAsImNvbnRlbnQiOiLnjrDlnKjmt7vliqDmnIDlkI7kuIDpg6jliIbku6PnoIHvvJpcbiJ9LHsiaWQiOjIsInR5cGUiOjIsImNvbnRlbnQiOiIifSx7ImlkIjozLCJ0eXBlIjozLCJjb250ZW50IjoiIn1dLCJzZWVuX3N0YXRlIjoic2VlbiIsInN0cnVjdHVyZWRfcmVxdWVzdF9ub2RlcyI6W3siaWQiOjEsInR5cGUiOjEsInRvb2xfcmVzdWx0X25vZGUiOnsiY29udGVudCI6IlN1Y2Nlc3NmdWxseSBlZGl0ZWQgdGhlIGZpbGUgcGFnZXMvY29udHJhY3QvY2VydGlmaWNhdGUudnVlLlxuUmVzdWx0IGZvciBzdHJfcmVwbGFjZSBmb3IgZW50cnkgd2l0aCBpbmRleCBbMV06XG5SZXBsYWNlbWVudCBzdWNjZXNzZnVsLlxubmV3X3N0ciBzdGFydHMgYXQgbGluZSAyMTUgYW5kIGVuZHMgYXQgbGluZSA0MjMuXG5cblJldmlldyB0aGUgY2hhbmdlcyBhbmQgbWFrZSBzdXJlIHRoZXkgYXJlIGFzIGV4cGVjdGVkIChjb3JyZWN0IGluZGVudGF0aW9uLCBubyBkdXBsaWNhdGUgbGluZXMsIGV0YykuXG5FZGl0IHRoZSBmaWxlIGFnYWluIGlmIG5lY2Vzc2FyeS5cbiIsImlzX2Vycm9yIjpmYWxzZSwicmVxdWVzdF9pZCI6IiIsInRvb2xfdXNlX2lkIjoidG9vbHVfMDFDMnpweGNETG1IUjZGczNGRURpRXFXIn19LHsiaWQiOjIsInR5cGUiOjQsImlkZV9zdGF0ZV9ub2RlIjp7IndvcmtzcGFjZUZvbGRlcnMiOlt7InJlcG9zaXRvcnlSb290IjoiL1VzZXJzL2xpYW5neGluL1Byb2plY3QvSHRtbC9taW5pUHJvZ3JhbS9qaW5qaXV4aW4tYWRtaW4iLCJmb2xkZXJSb290IjoiL1VzZXJzL2xpYW5neGluL1Byb2plY3QvSHRtbC9taW5pUHJvZ3JhbS9qaW5qaXV4aW4tYWRtaW4ifV0sIndvcmtzcGFjZUZvbGRlcnNVbmNoYW5nZWQiOmZhbHNlfX1dLCJ0aW1lc3RhbXAiOiIyMDI1LTA2LTEyVDAzOjU4OjE5Ljc2MloiLCJyZXNwb25zZV90ZXh0Ijoi546w5Zyo5re75Yqg5pyA5ZCO5LiA6YOo5YiG5Luj56CB77yaXG4iLCJ3b3Jrc3BhY2VfZmlsZV9jaHVua3MiOltdfSx7InN0YXR1cyI6InN1Y2Nlc3MiLCJyZXF1ZXN0X2lkIjoiZWVkNzdhZTEtMjYzYS00ZmUzLTk2NmQtNGVhNTE4YjU3MWNkIiwicmVxdWVzdF9tZXNzYWdlIjoiIiwic3RydWN0dXJlZF9vdXRwdXRfbm9kZXMiOlt7ImlkIjowLCJ0eXBlIjowLCJjb250ZW50Ijoi5a6M5oiQ77yB5oiR5bey57uP5Li65oKo5ZyoIGBwYWdlcy9jb250cmFjdC9jZXJ0aWZpY2F0ZS52dWVgIOS4reWIm+W7uuS6huS4gOS4quWujOaVtOeahOWQiOWQjOivgeS5pueuoeeQhuWQjuWPsOWIl+ihqOmhtemdouOAglxuXG4jIyDlip/og73nibnmgKdcblxuIyMjIPCfk4sgKirooajmoLzlrZfmrrUqKlxuLSAqKuivgeS5puWQjeensCoqIC0g5pi+56S66K+B5Lmm55qE5ZCN56ewXG4tICoq6K+B5Lmm57G75Z6LKiogLSDokKXkuJrmiafnhafjgIHouqvku73or4HjgIHotYTotKjor4HkuabnrYnvvIzluKbmoIfnrb7mmL7npLpcbi0gKirlhbPogZTlkIjlkIwqKiAtIOaYvuekuuWFs+iBlOeahOWQiOWQjOe8luWPt1xuLSAqKueKtuaAgSoqIC0g5b6F5a6h5qC4L+W3sumAmui/hy/lt7Lmi5Lnu53vvIzluKbpopzoibLmoIfnrb5cbi0gKirkuIrkvKDkuroqKiAtIOaYvuekuuS4iuS8oOivgeS5pueahOeUqOaIt1xuLSAqKuS4iuS8oOaXtumXtCoqIC0g5pSv5oyB5o6S5bqPXG4tICoq5pyJ5pWI5pyfKiogLSDor4HkuabnmoTmnInmlYjmnJ/pmZBcbi0gKirmk43kvZwqKiAtIOafpeeci+OAgeS4i+i9veOAgeWuoeaguOetieaTjeS9nOaMiemSrlxuXG4jIyMg8J+UjSAqKuafpeivouWKn+iDvSoqXG4tIOivgeS5puWQjeensOaooeeziuaQnOe0olxuLSDor4HkuabnsbvlnovnrZvpgIlcbi0g5a6h5qC454q25oCB562b6YCJICBcbi0g5YWz6IGU5ZCI5ZCM57yW5Y+35pCc57SiXG5cbiMjIyDimqEgKirmoLjlv4Plip/og70qKlxuMS4gKirmt7vliqDor4HkuaYqKiAtIOaUr+aMgeS4iuS8oOWkmuenjeagvOW8j+aWh+S7tu+8iOWbvueJh+OAgVBERuOAgVdvcmTvvIlcbjIuICoq57yW6L6R6K+B5LmmKiogLSDkv67mlLnor4Hkuabkv6Hmga9cbjMuICoq5Yig6Zmk6K+B5LmmKiogLSDliKDpmaTkuI3pnIDopoHnmoTor4HkuaZcbjQuICoq5p+l55yL6K+m5oOFKiogLSDlvLnnqpfmmL7npLrlrozmlbTor4Hkuabkv6Hmga/lkozmlofku7bpooTop4hcbjUuICoq5LiL6L296K+B5LmmKiogLSDnm7TmjqXkuIvovb3or4Hkuabmlofku7ZcbjYuICoq5a6h5qC45Yqf6IO9KiogLSDnrqHnkIblkZjlj6/ku6XlrqHmoLjpgJrov4fmiJbmi5Lnu53or4HkuaZcblxuIyMjIPCfjqggKirnlYzpnaLnibnoibIqKlxuLSDlk43lupTlvI/orr7orqHvvIzpgILphY3kuI3lkIzlsY/luZVcbi0g54q25oCB5qCH562+5bim6aKc6Imy5Yy65YiGXG4tIOWbvueJh+aWh+S7tuaUr+aMgemihOiniFxuLSDpnZ7lm77niYfmlofku7bmmL7npLrmlofku7blm77moIdcbi0g5pON5L2c5oyJ6ZKu5qC55o2u54q25oCB5Yqo5oCB5pi+56S6XG5cbiMjIyDwn5SnICoq5oqA5pyv5a6e546wKipcbi0g5Z+65LqO546w5pyJ55qEIHZrLXVuaWNsb3VkIOahhuaetlxuLSDkvb/nlKggRWxlbWVudCBVSSDnu4Tku7Zcbi0g5pSv5oyB5paH5Lu25LiK5Lyg5ZKM6aKE6KeIXG4tIOWujOaVtOeahCBDUlVEIOaTjeS9nFxuLSDmlbDmja7pqozor4HlkozplJnor6/lpITnkIZcblxu6L+Z5Liq6aG16Z2i5a6M5YWo5Z+65LqO5oKo546w5pyJ6aG555uu55qE5p625p6E5ZKM5Luj56CB6aOO5qC877yM5Y+v5Lul55u05o6l5L2/55So44CC5oKo6ZyA6KaB5Zyo5ZCO56uv5Yib5bu65a+55bqU55qE5LqR5Ye95pWw5o6l5Y+j5p2l5aSE55CG5pWw5o2u5pON5L2c77yaXG5cbi0gYGFkbWluL2NvbnRyYWN0L2NlcnRpZmljYXRlL3N5cy9nZXRMaXN0YCAtIOiOt+WPluivgeS5puWIl+ihqFxuLSBgYWRtaW4vY29udHJhY3QvY2VydGlmaWNhdGUvc3lzL2FkZGAgLSDmt7vliqDor4HkuaZcbi0gYGFkbWluL2NvbnRyYWN0L2NlcnRpZmljYXRlL3N5cy91cGRhdGVgIC0g5pu05paw6K+B5LmmXG4tIGBhZG1pbi9jb250cmFjdC9jZXJ0aWZpY2F0ZS9zeXMvZGVsZXRlYCAtIOWIoOmZpOivgeS5plxuLSBgYWRtaW4vY29udHJhY3QvY2VydGlmaWNhdGUvc3lzL2F1ZGl0YCAtIOWuoeaguOivgeS5plxuXG7pnIDopoHmiJHluK7mgqjliJvlu7rov5nkupvlkI7nq6/mjqXlj6PlkJfvvJ9cbiJ9LHsiaWQiOjIsInR5cGUiOjIsImNvbnRlbnQiOiIifSx7ImlkIjozLCJ0eXBlIjozLCJjb250ZW50IjoiIn1dLCJzZWVuX3N0YXRlIjoic2VlbiIsInN0cnVjdHVyZWRfcmVxdWVzdF9ub2RlcyI6W3siaWQiOjEsInR5cGUiOjEsInRvb2xfcmVzdWx0X25vZGUiOnsiY29udGVudCI6IlN1Y2Nlc3NmdWxseSBlZGl0ZWQgdGhlIGZpbGUgcGFnZXMvY29udHJhY3QvY2VydGlmaWNhdGUudnVlLlxuUmVzdWx0IGZvciBzdHJfcmVwbGFjZSBmb3IgZW50cnkgd2l0aCBpbmRleCBbMV06XG5SZXBsYWNlbWVudCBzdWNjZXNzZnVsLlxubmV3X3N0ciBzdGFydHMgYXQgbGluZSA0MTUgYW5kIGVuZHMgYXQgbGluZSA1OTQuXG5cblJldmlldyB0aGUgY2hhbmdlcyBhbmQgbWFrZSBzdXJlIHRoZXkgYXJlIGFzIGV4cGVjdGVkIChjb3JyZWN0IGluZGVudGF0aW9uLCBubyBkdXBsaWNhdGUgbGluZXMsIGV0YykuXG5FZGl0IHRoZSBmaWxlIGFnYWluIGlmIG5lY2Vzc2FyeS5cbiIsImlzX2Vycm9yIjpmYWxzZSwicmVxdWVzdF9pZCI6IiIsInRvb2xfdXNlX2lkIjoidG9vbHVfMDFTYXBSY1dUS29kaXRaQ2pmQ3RoU2JtIn19LHsiaWQiOjIsInR5cGUiOjQsImlkZV9zdGF0ZV9ub2RlIjp7IndvcmtzcGFjZUZvbGRlcnMiOlt7InJlcG9zaXRvcnlSb290IjoiL1VzZXJzL2xpYW5neGluL1Byb2plY3QvSHRtbC9taW5pUHJvZ3JhbS9qaW5qaXV4aW4tYWRtaW4iLCJmb2xkZXJSb290IjoiL1VzZXJzL2xpYW5neGluL1Byb2plY3QvSHRtbC9taW5pUHJvZ3JhbS9qaW5qaXV4aW4tYWRtaW4ifV0sIndvcmtzcGFjZUZvbGRlcnNVbmNoYW5nZWQiOmZhbHNlfX1dLCJ0aW1lc3RhbXAiOiIyMDI1LTA2LTEyVDAzOjU4OjUxLjEzNVoiLCJyZXNwb25zZV90ZXh0Ijoi5a6M5oiQ77yB5oiR5bey57uP5Li65oKo5ZyoIGBwYWdlcy9jb250cmFjdC9jZXJ0aWZpY2F0ZS52dWVgIOS4reWIm+W7uuS6huS4gOS4quWujOaVtOeahOWQiOWQjOivgeS5pueuoeeQhuWQjuWPsOWIl+ihqOmhtemdouOAglxuXG4jIyDlip/og73nibnmgKdcblxuIyMjIPCfk4sgKirooajmoLzlrZfmrrUqKlxuLSAqKuivgeS5puWQjeensCoqIC0g5pi+56S66K+B5Lmm55qE5ZCN56ewXG4tICoq6K+B5Lmm57G75Z6LKiogLSDokKXkuJrmiafnhafjgIHouqvku73or4HjgIHotYTotKjor4HkuabnrYnvvIzluKbmoIfnrb7mmL7npLpcbi0gKirlhbPogZTlkIjlkIwqKiAtIOaYvuekuuWFs+iBlOeahOWQiOWQjOe8luWPt1xuLSAqKueKtuaAgSoqIC0g5b6F5a6h5qC4L+W3sumAmui/hy/lt7Lmi5Lnu53vvIzluKbpopzoibLmoIfnrb5cbi0gKirkuIrkvKDkuroqKiAtIOaYvuekuuS4iuS8oOivgeS5pueahOeUqOaIt1xuLSAqKuS4iuS8oOaXtumXtCoqIC0g5pSv5oyB5o6S5bqPXG4tICoq5pyJ5pWI5pyfKiogLSDor4HkuabnmoTmnInmlYjmnJ/pmZBcbi0gKirmk43kvZwqKiAtIOafpeeci+OAgeS4i+i9veOAgeWuoeaguOetieaTjeS9nOaMiemSrlxuXG4jIyMg8J+UjSAqKuafpeivouWKn+iDvSoqXG4tIOivgeS5puWQjeensOaooeeziuaQnOe0olxuLSDor4HkuabnsbvlnovnrZvpgIlcbi0g5a6h5qC454q25oCB562b6YCJICBcbi0g5YWz6IGU5ZCI5ZCM57yW5Y+35pCc57SiXG5cbiMjIyDimqEgKirmoLjlv4Plip/og70qKlxuMS4gKirmt7vliqDor4HkuaYqKiAtIOaUr+aMgeS4iuS8oOWkmuenjeagvOW8j+aWh+S7tu+8iOWbvueJh+OAgVBERuOAgVdvcmTvvIlcbjIuICoq57yW6L6R6K+B5LmmKiogLSDkv67mlLnor4Hkuabkv6Hmga9cbjMuICoq5Yig6Zmk6K+B5LmmKiogLSDliKDpmaTkuI3pnIDopoHnmoTor4HkuaZcbjQuICoq5p+l55yL6K+m5oOFKiogLSDlvLnnqpfmmL7npLrlrozmlbTor4Hkuabkv6Hmga/lkozmlofku7bpooTop4hcbjUuICoq5LiL6L296K+B5LmmKiogLSDnm7TmjqXkuIvovb3or4Hkuabmlofku7ZcbjYuICoq5a6h5qC45Yqf6IO9KiogLSDnrqHnkIblkZjlj6/ku6XlrqHmoLjpgJrov4fmiJbmi5Lnu53or4HkuaZcblxuIyMjIPCfjqggKirnlYzpnaLnibnoibIqKlxuLSDlk43lupTlvI/orr7orqHvvIzpgILphY3kuI3lkIzlsY/luZVcbi0g54q25oCB5qCH562+5bim6aKc6Imy5Yy65YiGXG4tIOWbvueJh+aWh+S7tuaUr+aMgemihOiniFxuLSDpnZ7lm77niYfmlofku7bmmL7npLrmlofku7blm77moIdcbi0g5pON5L2c5oyJ6ZKu5qC55o2u54q25oCB5Yqo5oCB5pi+56S6XG5cbiMjIyDwn5SnICoq5oqA5pyv5a6e546wKipcbi0g5Z+65LqO546w5pyJ55qEIHZrLXVuaWNsb3VkIOahhuaetlxuLSDkvb/nlKggRWxlbWVudCBVSSDnu4Tku7Zcbi0g5pSv5oyB5paH5Lu25LiK5Lyg5ZKM6aKE6KeIXG4tIOWujOaVtOeahCBDUlVEIOaTjeS9nFxuLSDmlbDmja7pqozor4HlkozplJnor6/lpITnkIZcblxu6L+Z5Liq6aG16Z2i5a6M5YWo5Z+65LqO5oKo546w5pyJ6aG555uu55qE5p625p6E5ZKM5Luj56CB6aOO5qC877yM5Y+v5Lul55u05o6l5L2/55So44CC5oKo6ZyA6KaB5Zyo5ZCO56uv5Yib5bu65a+55bqU55qE5LqR5Ye95pWw5o6l5Y+j5p2l5aSE55CG5pWw5o2u5pON5L2c77yaXG5cbi0gYGFkbWluL2NvbnRyYWN0L2NlcnRpZmljYXRlL3N5cy9nZXRMaXN0YCAtIOiOt+WPluivgeS5puWIl+ihqFxuLSBgYWRtaW4vY29udHJhY3QvY2VydGlmaWNhdGUvc3lzL2FkZGAgLSDmt7vliqDor4HkuaZcbi0gYGFkbWluL2NvbnRyYWN0L2NlcnRpZmljYXRlL3N5cy91cGRhdGVgIC0g5pu05paw6K+B5LmmXG4tIGBhZG1pbi9jb250cmFjdC9jZXJ0aWZpY2F0ZS9zeXMvZGVsZXRlYCAtIOWIoOmZpOivgeS5plxuLSBgYWRtaW4vY29udHJhY3QvY2VydGlmaWNhdGUvc3lzL2F1ZGl0YCAtIOWuoeaguOivgeS5plxuXG7pnIDopoHmiJHluK7mgqjliJvlu7rov5nkupvlkI7nq6/mjqXlj6PlkJfvvJ9cbiIsIndvcmtzcGFjZV9maWxlX2NodW5rcyI6W119LHsicmVxdWVzdF9pZCI6IjY3NjE2ZTg2LWRhYTUtNDZlMy04M2NlLTg5OTljYTk3MWE3OSIsInV1aWQiOiJiY2M0NDA2NS05YTg3LTRiMWEtYTQwNC02N2VjODEwM2Y3M2QiLCJjaGF0SXRlbVR5cGUiOiJhZ2VudGljLWNoZWNrcG9pbnQtZGVsaW1pdGVyIiwic3RhdHVzIjoic3VjY2VzcyIsImZyb21UaW1lc3RhbXAiOjE3NDk3MDA1MzA5MTUsInRvVGltZXN0YW1wIjoxNzQ5NzAwNzQ5OTMxLCJzZWVuX3N0YXRlIjoic2VlbiJ9XSwiZmVlZGJhY2tTdGF0ZXMiOnsidGVtcC1mZS00NTc4NjFhOS02ZTBmLTRhMmItYjhlZC03MWU4YTYyMTgxNDgiOnsic2VsZWN0ZWRSYXRpbmciOjAsImZlZWRiYWNrTm90ZSI6IiJ9LCJ0ZW1wLWZlLTA1MTU4MDAzLWJjMjYtNDg5OS05OTdlLTdiOTY0NzZlZTliNyI6eyJzZWxlY3RlZFJhdGluZyI6MCwiZmVlZGJhY2tOb3RlIjoiIn0sInRlbXAtZmUtZDc2MmQ5NWYtN2Y0Yy00MjZmLTliYWUtYzc1YmY0OGQwYWM4Ijp7InNlbGVjdGVkUmF0aW5nIjowLCJmZWVkYmFja05vdGUiOiIifSwidGVtcC1mZS0yOTlhMzNkNS1lZjMwLTRmOTEtOTBjYy1mY2FkM2FhNDk2NTgiOnsic2VsZWN0ZWRSYXRpbmciOjAsImZlZWRiYWNrTm90ZSI6IiJ9LCJ0ZW1wLWZlLWE0YjhhMWM0LWEwNTAtNGZhNy1iNzk3LTE3NTAxYTI4OThiOSI6eyJzZWxlY3RlZFJhdGluZyI6MCwiZmVlZGJhY2tOb3RlIjoiIn0sInRlbXAtZmUtYWQ1NDYzZjAtYTAyMS00MzljLWEzMTEtMjQzZGYwNDZlMDI2Ijp7InNlbGVjdGVkUmF0aW5nIjowLCJmZWVkYmFja05vdGUiOiIifSwidGVtcC1mZS1lMzcxMzQ0NC0wYWFkLTRkYjgtODQxOS02MWFjYzcwZGE3NTIiOnsic2VsZWN0ZWRSYXRpbmciOjAsImZlZWRiYWNrTm90ZSI6IiJ9LCJ0ZW1wLWZlLTcwMmM3ZDRiLWFkMWQtNDJiZC04NmFjLWMyNTNkYWY0M2ZkMCI6eyJzZWxlY3RlZFJhdGluZyI6MCwiZmVlZGJhY2tOb3RlIjoiIn19LCJ0b29sVXNlU3RhdGVzIjp7ImY3MGE0NGI2LWVmYjItNDk1Yy05OGU4LTBkZTMwNzFmZDc5ODt0b29sdV8wMVNwRDMybktjTUp6MlhjZ0FxNDg1Z3UiOnsicmVxdWVzdElkIjoiZjcwYTQ0YjYtZWZiMi00OTVjLTk4ZTgtMGRlMzA3MWZkNzk4IiwidG9vbFVzZUlkIjoidG9vbHVfMDFTcEQzMm5LY01KejJYY2dBcTQ4NWd1IiwicGhhc2UiOjYsInJlc3VsdCI6eyJ0ZXh0IjoiQ2Fubm90IHJlYWQgZmlsZTogL1VzZXJzL2xpYW5neGluL1Byb2plY3QvSHRtbC9taW5pUHJvZ3JhbS9qaW5qaXV4aW4td2ViL3BhZ2VzL2NvbnRyYWN0L2NlcnRpZmljYXRlLnZ1ZSIsImlzRXJyb3IiOnRydWUsInJlcXVlc3RJZCI6IiJ9fSwiN2Y3NDY0MWItODkxNS00NWFmLThmZjAtNDQwNGU0MzM5MzQxO3Rvb2x1XzAxSGFYVlFoOU5tVnY0NUFIYlNDd0NrbiI6eyJyZXF1ZXN0SWQiOiI3Zjc0NjQxYi04OTE1LTQ1YWYtOGZmMC00NDA0ZTQzMzkzNDEiLCJ0b29sVXNlSWQiOiJ0b29sdV8wMUhhWFZRaDlObVZ2NDVBSGJTQ3dDa24iLCJwaGFzZSI6NSwicmVzdWx0Ijp7InRleHQiOiJIZXJlJ3MgdGhlIHJlc3VsdCBvZiBydW5uaW5nIGBjYXQgLW5gIG9uIHBhZ2VzL2NvbnRyYWN0L2NlcnRpZmljYXRlLnZ1ZTpcbiAgICAgMVx0PHRlbXBsYXRlPlxuICAgICAyXHRcbiAgICAgM1x0PC90ZW1wbGF0ZT5cbiAgICAgNFx0XG4gICAgIDVcdDxzY3JpcHQ+XG4gICAgIDZcdGV4cG9ydCBkZWZhdWx0IHtcbiAgICAgN1x0ICBuYW1lOiBcImNlcnRpZmljYXRlXCIsXG4gICAgIDhcdCAgZGF0YSgpIHtcbiAgICAgOVx0ICAgIHJldHVybiB7fVxuICAgIDEwXHQgIH0sXG4gICAgMTFcdCAgbWV0aG9kczoge31cbiAgICAxMlx0fVxuICAgIDEzXHQ8L3NjcmlwdD5cblRvdGFsIGxpbmVzIGluIGZpbGU6IDEzXG4iLCJpc0Vycm9yIjpmYWxzZSwicmVxdWVzdElkIjoiIn19LCIyNDk4NDIzYi0zODZhLTQ2OTYtODY5My05NTc0ODQzYjg0MDU7dG9vbHVfMDE3c3l4TTJYQ0VQUktpNkpZSnNaTW5tIjp7InJlcXVlc3RJZCI6IjI0OTg0MjNiLTM4NmEtNDY5Ni04NjkzLTk1NzQ4NDNiODQwNSIsInRvb2xVc2VJZCI6InRvb2x1XzAxN3N5eE0yWENFUFJLaTZKWUpzWk1ubSIsInBoYXNlIjo1LCJyZXN1bHQiOnsidGV4dCI6IlRoZSBmb2xsb3dpbmcgY29kZSBzZWN0aW9ucyB3ZXJlIHJldHJpZXZlZDpcblBhdGg6IHBhZ2VzX3RlbXBsYXRlL2NvbXBvbmVudHMvZm9ybS9mb3JtLXBheS1jZXJ0LnZ1ZVxuICAgICAxXHQ8dGVtcGxhdGU+XG4gICAgIDJcdFx0PHZpZXcgY2xhc3M9XCJwYWdlXCI+XG4gICAgIDNcdFx0XHQ8IS0tIOmhtemdouWGheWuueW8gOWniyAtLT5cbiAgICAgNFx0XHRcdDx2ay1kYXRhLXBhZ2UtaGVhZGVyXG4gICAgIDVcdFx0XHRcdHRpdGxlPVwi6K+B5Lmm6L2s5o2iXCJcbiAgICAgNlx0XHRcdFx0c3ViVGl0bGU9XCLlv6vpgJ/lsIbor4HkuablhoXlrrnlj5jmiJAx6KGM5a2X56ym5LiyXCJcbiAgICAgN1x0XHRcdD48L3ZrLWRhdGEtcGFnZS1oZWFkZXI+XG4gICAgIDhcdFx0XHQ8dmlldyBjbGFzcz1cInBhZ2UtYm9keVwiIHN0eWxlPVwid2lkdGg6IDEwMCVcIj5cbiAgICAgOVx0XHRcdFx0PHZpZXcgc3R5bGU9XCJjb2xvcjogcmVkO2ZvbnQtc2l6ZTogMTJweDtcIj7lhajnqIvml6DnvZHnu5zor7fmsYLvvIjmiZPlvIDmraTpobXpnaLlkI7ml6DnvZHnirbmgIHkuZ/og73miafooYzvvInvvIznm7TmjqXlnKjliY3nq6/op6PmnpDor4HkuabvvIzmsqHmnInor4Hkuabms4TpnLLpo47pmak8L3ZpZXc+XG4gICAgMTBcdFx0XHRcdDxlbC10YWJsZSA6ZGF0YT1cImNlcnRMaXN0XCIgc3R5bGU9XCJ3aWR0aDogMTAwJVwiPlxuICAgIDExXHRcdFx0XHRcdDxlbC10YWJsZS1jb2x1bW4gcHJvcD1cInRpcHNcIiBsYWJlbD1cIuivtOaYjlwiIG1pbldpZHRoPVwiMzAwXCI+IDwvZWwtdGFibGUtY29sdW1uPlxuICAgIDEyXHRcdFx0XHRcdDxlbC10YWJsZS1jb2x1bW4gcHJvcD1cIm5hbWVcIiBsYWJlbD1cIumAieaLqeivgeS5plwiIG1pbldpZHRoPVwiMzAwXCI+XG4gICAgMTNcdFx0XHRcdFx0XHQ8dGVtcGxhdGUgc2xvdC1zY29wZT1cInNjb3BlXCI+XG4gICAgMTRcdFx0XHRcdFx0XHRcdDx0ZXh0IHN0eWxlPVwibWFyZ2luLXJpZ2h0OiAyMHB4O1wiPnt7IHNjb3BlLnJvdy5uYW1lIH19PC90ZXh0PlxuICAgIDE1XHRcdFx0XHRcdFx0XHQ8ZWwtYnV0dG9uIHR5cGU9XCJzdWNjZXNzXCIgQGNsaWNrPVwidXBsb2FkKHNjb3BlLnJvdylcIiBzaXplPVwibWluaVwiIHBsYWluPiB7eyBzY29wZS5yb3cuY29udGVudCA/ICflt7InIDogJyd9femAieaLqSB7eyBzY29wZS5yb3cuZmlsZSB9fSA8L2VsLWJ1dHRvbj5cbiAgICAxNlx0XHRcdFx0XHRcdFx0PHRleHQgc3R5bGU9XCJtYXJnaW4tbGVmdDogMjBweDtjb2xvcjogI2MyZTdiMDtcIiB2LWlmPVwic2NvcGUucm93LmNvbnRlbnQgJiYgc2NvcGUucm93LmZpbGUgPT09IHNjb3BlLnJvdy5uYW1lXCI+IOKImiA8L3RleHQ+XG4gICAgMTdcdFx0XHRcdFx0XHRcdDx0ZXh0IHN0eWxlPVwibWFyZ2luLWxlZnQ6IDIwcHg7Y29sb3I6IHJlZDtcIiB2LWlmPVwic2NvcGUucm93LmNvbnRlbnQgJiYgc2NvcGUucm93LmZpbGUgIT09IHNjb3BlLnJvdy5uYW1lXCI+IMOXIDwvdGV4dD5cbiAgICAxOFx0XHRcdFx0XHRcdDwvdGVtcGxhdGU+XG4gICAgMTlcdFx0XHRcdFx0PC9lbC10YWJsZS1jb2x1bW4+XG4gICAgMjBcdFx0XHRcdFx0PGVsLXRhYmxlLWNvbHVtbiBwcm9wPVwia2V5NFwiIGxhYmVsPVwi6YCJ5oup5ZCO5Y+v5aSN5Yi2XCIgbWluV2lkdGg9XCIyMDBcIiA+XG4gICAgMjFcdFx0XHRcdFx0XHQ8dGVtcGxhdGUgc2xvdC1zY29wZT1cInNjb3BlXCI+XG4gICAgMjJcdFx0XHRcdFx0XHRcdDwhLS0gPGVsLWJ1dHRvbiB0eXBlPVwic3VjY2Vzc1wiIEBjbGljaz1cImNvcHkoc2NvcGUucm93Lm5hbWUpXCIgc2l6ZT1cIm1pbmlcIiBwbGFpbiB2LWlmPVwic2NvcGUucm93LmNvbnRlbnQgJiYgc2NvcGUucm93LmZpbGUgPT09IHNjb3BlLnJvdy5uYW1lXCI+IOWkjeWItiA8L2VsLWJ1dHRvbj4gLS0+XG4gICAgMjNcdFx0XHRcdFx0XHRcdDxlbC1idXR0b24gdHlwZT1cInN1Y2Nlc3NcIiBzaXplPVwibWluaVwiIHBsYWluIHYtaWY9XCJzY29wZS5yb3cuY29udGVudCAmJiBzY29wZS5yb3cuZmlsZSA9PT0gc2NvcGUucm93Lm5hbWVcIj4g6K+35aSN5Yi25LiL5pa56K+B5Lmm5YaF5a65IDwvZWwtYnV0dG9uPlxuICAgIDI0XHRcdFx0XHRcdFx0PC90ZW1wbGF0ZT5cbiAgICAyNVx0XHRcdFx0XHQ8L2VsLXRhYmxlLWNvbHVtbj5cbiAgICAyNlx0XHRcdFx0PC9lbC10YWJsZT5cbi4uLlxuICAgIDQxXHRcbiAgICA0Mlx0PHNjcmlwdD5cbiAgICA0M1x0XHR2YXIgdGhhdDtcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIOW9k+WJjemhtemdouWvueixoVxuICAgIDQ0XHRcdHZhciB2ayA9IHVuaS52aztcdFx0XHRcdFx0XHRcdFx0XHQvLyB2a+WunuS+i1xuICAgIDQ1XHRcdGV4cG9ydCBkZWZhdWx0IHtcbiAgICA0Nlx0XHRcdGRhdGEoKSB7XG4gICAgNDdcdFx0XHRcdC8vIOmhtemdouaVsOaNruWPmOmHj1xuICAgIDQ4XHRcdFx0XHRyZXR1cm4ge1xuICAgIDQ5XHRcdFx0XHRcdCBjZXJ0TGlzdDogW1xuICAgIDUwXHRcdFx0XHRcdFx0e1xuICAgIDUxXHRcdFx0XHRcdFx0XHRuYW1lOiAnYXBpY2xpZW50X2NlcnQucDEyJyxcbiAgICA1Mlx0XHRcdFx0XHRcdFx0dGlwczogJ+W+ruS/oeaUr+S7mHYy6ZyA6KaB55So5Yiw55qE6K+B5Lmm77yId3hwYXkucGZ477yJ55qE5YC8JyxcbiAgICA1M1x0XHRcdFx0XHRcdFx0ZmlsZTogJycsXG4gICAgNTRcdFx0XHRcdFx0XHRcdGNvbnRlbnQ6ICcnLFxuICAgIDU1XHRcdFx0XHRcdFx0XHRrZXk6ICd3eHBheS5wZngnXG4gICAgNTZcdFx0XHRcdFx0XHR9LFxuICAgIDU3XHRcdFx0XHRcdFx0e1xuICAgIDU4XHRcdFx0XHRcdFx0XHRuYW1lOiAnYXBpY2xpZW50X2NlcnQucGVtJyxcbiAgICA1OVx0XHRcdFx0XHRcdFx0dGlwczogJ+W+ruS/oeaUr+S7mHYz6ZyA6KaB55So5Yiw55qE6K+B5Lmm77yId3hwYXkuYXBwQ2VydENvbnRlbnTvvInnmoTlgLwnLFxuICAgIDYwXHRcdFx0XHRcdFx0XHRmaWxlOiAnJyxcbiAgICA2MVx0XHRcdFx0XHRcdFx0Y29udGVudDogJycsXG4gICAgNjJcdFx0XHRcdFx0XHRcdGtleTogJ3d4cGF5LmFwcENlcnRDb250ZW50J1xuICAgIDYzXHRcdFx0XHRcdFx0fSxcbiAgICA2NFx0XHRcdFx0XHRcdHtcbiAgICA2NVx0XHRcdFx0XHRcdFx0bmFtZTogJ2FwaWNsaWVudF9rZXkucGVtJyxcbiAgICA2Nlx0XHRcdFx0XHRcdFx0dGlwczogJ+W+ruS/oeaUr+S7mHYz6ZyA6KaB55So5Yiw55qE6K+B5Lmm77yId3hwYXkuYXBwUHJpdmF0ZUtleUNvbnRlbnTvvInnmoTlgLwnLFxuICAgIDY3XHRcdFx0XHRcdFx0XHRmaWxlOiAnJyxcbiAgICA2OFx0XHRcdFx0XHRcdFx0Y29udGVudDogJycsXG4gICAgNjlcdFx0XHRcdFx0XHRcdGtleTogJ3d4cGF5LmFwcFByaXZhdGVLZXlDb250ZW50J1xuICAgIDcwXHRcdFx0XHRcdFx0fSxcbiAgICA3MVx0XHRcdFx0XHRcdHtcbiAgICA3Mlx0XHRcdFx0XHRcdFx0bmFtZTogJ2FsaXBheUNlcnRQdWJsaWNLZXlfUlNBMi5jcnQnLFxuICAgIDczXHRcdFx0XHRcdFx0XHR0aXBzOiAn5pSv5LuY5a6d5pSv5LuYIC0g5pSv5LuY5a6d5YWs6ZKl6K+B5Lmm77yIYWxpcGF5LmFsaXBheVB1YmxpY0NlcnRDb250ZW5077yJ55qE5YC8JyxcbiAgICA3NFx0XHRcdFx0XHRcdFx0ZmlsZTogJycsXG4gICAgNzVcdFx0XHRcdFx0XHRcdGNvbnRlbnQ6ICcnLFxuICAgIDc2XHRcdFx0XHRcdFx0XHRrZXk6ICdhbGlwYXkuYWxpcGF5UHVibGljQ2VydENvbnRlbnQnXG4gICAgNzdcdFx0XHRcdFx0XHR9LFxuICAgIDc4XHRcdFx0XHRcdFx0e1xuICAgIDc5XHRcdFx0XHRcdFx0XHRuYW1lOiAnYWxpcGF5Um9vdENlcnQuY3J0JyxcbiAgICA4MFx0XHRcdFx0XHRcdFx0dGlwczogJ+aUr+S7mOWuneaUr+S7mCAtIOaUr+S7mOWuneagueivgeS5pu+8iGFsaXBheS5hbGlwYXlSb290Q2VydENvbnRlbnTvvInnmoTlgLwnLFxuICAgIDgxXHRcdFx0XHRcdFx0XHRmaWxlOiAnJyxcbiAgICA4Mlx0XHRcdFx0XHRcdFx0Y29udGVudDogJycsXG4gICAgODNcdFx0XHRcdFx0XHRcdGtleTogJ2FsaXBheS5hbGlwYXlSb290Q2VydENvbnRlbnQnXG4gICAgODRcdFx0XHRcdFx0XHR9LFxuICAgIDg1XHRcdFx0XHRcdFx0e1xuICAgIDg2XHRcdFx0XHRcdFx0XHRuYW1lOiAnYXBwQ2VydFB1YmxpY0tleS5jcnQnLFxuICAgIDg3XHRcdFx0XHRcdFx0XHR0aXBzOiAn5pSv5LuY5a6d5pSv5LuYIC0g5bqU55So5YWs6ZKl6K+B5Lmm77yIYWxpcGF5LmFwcENlcnRDb250ZW5077yJ55qE5YC8JyxcbiAgICA4OFx0XHRcdFx0XHRcdFx0ZmlsZTogJycsXG4gICAgODlcdFx0XHRcdFx0XHRcdGNvbnRlbnQ6ICcnLFxuICAgIDkwXHRcdFx0XHRcdFx0XHRrZXk6ICdhbGlwYXkuYXBwQ2VydENvbnRlbnQnXG4gICAgOTFcdFx0XHRcdFx0XHR9XG4gICAgOTJcdFx0XHRcdFx0XSxcbiAgICA5M1x0XHRcdFx0XHQvLyDooajljZXnm7jlhbPlvIDlp4stLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIDk0XHRcdFx0XHRcdGZvcm0xOiB7XG4gICAgOTVcdFx0XHRcdFx0XHR3eHBheToge1xuICAgIDk2XHRcdFx0XHRcdFx0XHRwZng6IFwiXCIsXG4gICAgOTdcdFx0XHRcdFx0XHRcdGFwcENlcnRDb250ZW50OiBcIlwiLFxuICAgIDk4XHRcdFx0XHRcdFx0XHRhcHBQcml2YXRlS2V5Q29udGVudDogXCJcIixcbiAgICA5OVx0XHRcdFx0XHRcdH0sXG4gICAxMDBcdFx0XHRcdFx0XHRhbGlwYXk6IHtcbiAgIDEwMVx0XHRcdFx0XHRcdFx0YWxpcGF5UHVibGljQ2VydENvbnRlbnQ6IFwiXCIsXG4gICAxMDJcdFx0XHRcdFx0XHRcdGFsaXBheVJvb3RDZXJ0Q29udGVudDogXCJcIixcbiAgIDEwM1x0XHRcdFx0XHRcdFx0YXBwQ2VydENvbnRlbnQ6IFwiXCJcbiAgIDEwNFx0XHRcdFx0XHRcdH1cbiAgIDEwNVx0XHRcdFx0XHR9LFxuICAgMTA2XHRcdFx0XHRcdC8vIOihqOWNleebuOWFs+e7k+adny0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAxMDdcdFxuICAgMTA4XHRcdFx0XHR9XG4gICAxMDlcdFx0XHR9LFxuICAgMTEwXHRcdFx0Ly8g55uR5ZCsIC0g6aG16Z2i5q+P5qyh44CQ5Yqg6L295pe244CR5omn6KGMKOWmgu+8muWJjei/mylcbiAgIDExMVx0XHRcdG9uTG9hZChvcHRpb25zID0ge30pIHtcbiAgIDExMlx0XHRcdFx0dGhhdCA9IHRoaXM7XG4gICAxMTNcdFx0XHRcdHZrID0gdGhhdC52aztcbiAgIDExNFx0XHRcdFx0dGhhdC5vcHRpb25zID0gb3B0aW9ucztcbiAgIDExNVx0XHRcdFx0dGhhdC5pbml0KG9wdGlvbnMpO1xuICAgMTE2XHRcdFx0fSxcbi4uLlxuICAgMTQyXHRcdFx0XHRcdGxldCBzdWZmaXggPSBuYW1lLnN1YnN0cmluZyhuYW1lLmxhc3RJbmRleE9mKFwiLlwiKSArIDEpO1xuICAgMTQzXHRcdFx0XHRcdHVuaS5jaG9vc2VGaWxlKHtcbiAgIDE0NFx0XHRcdFx0XHQgIGNvdW50OiAxLCAvL+m7mOiupDEwMFxuICAgMTQ1XHRcdFx0XHRcdCAgZXh0ZW5zaW9uOiBbc3VmZml4XSxcbiAgIDE0Nlx0XHRcdFx0XHRcdHN1Y2Nlc3M6IChyZXMpID0+IHtcbiAgIDE0N1x0XHRcdFx0XHRcdFx0bGV0IHRlbXBGaWxlID0gcmVzLnRlbXBGaWxlc1swXTtcbiAgIDE0OFx0XHRcdFx0XHRcdFx0aWYgKG5hbWUgPT09IFwiYXBpY2xpZW50X2NlcnQucDEyXCIpIHtcbiAgIDE0OVx0XHRcdFx0XHRcdFx0XHR2ay5wdWJmbi5maWxlVG9CYXNlNjQoe1xuICAgMTUwXHRcdFx0XHRcdFx0XHRcdCAgZmlsZTogdGVtcEZpbGUsXG4gICAxNTFcdFx0XHRcdFx0XHRcdFx0ICBzdWNjZXNzOiAoYmFzZTY0KSA9PiB7XG4gICAxNTJcdFx0XHRcdFx0XHRcdFx0XHRcdGxldCBiYXNlNjRJbmRleCA9IGJhc2U2NC5pbmRleE9mKFwiYmFzZTY0LFwiKTtcbiAgIDE1M1x0XHRcdFx0XHRcdFx0XHRcdFx0YmFzZTY0ID0gYmFzZTY0LnN1YnN0cmluZyhiYXNlNjRJbmRleCtcImJhc2U2NCxcIi5sZW5ndGgpO1xuICAgMTU0XHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLmZvcm0xLnd4cGF5LnBmeCA9IGJhc2U2NDtcbiAgIDE1NVx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5jZXJ0TGlzdFtpbmRleF0uY29udGVudCA9IGJhc2U2NDtcbiAgIDE1Nlx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5jZXJ0TGlzdFtpbmRleF0uZmlsZSA9IHRlbXBGaWxlLm5hbWU7XG4gICAxNTdcdFx0XHRcdFx0XHRcdFx0ICB9XG4gICAxNThcdFx0XHRcdFx0XHRcdFx0fSk7XG4gICAxNTlcdFx0XHRcdFx0XHRcdH0gZWxzZSB7XG4gICAxNjBcdFx0XHRcdFx0XHRcdFx0Y29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgIDE2MVx0XHRcdFx0XHRcdFx0XHRyZWFkZXIub25sb2FkID0gKCkgPT4ge1xuICAgMTYyXHRcdFx0XHRcdFx0XHRcdFx0bGV0IHJlc3VsdCA9IHJlYWRlci5yZXN1bHQ7XG4gICAxNjNcdFx0XHRcdFx0XHRcdFx0XHRyZXN1bHQgPSByZXN1bHQucmVwbGFjZSgvXFxyXFxuL2csIFwiXFxuXCIpO1xuICAgMTY0XHRcdFx0XHRcdFx0XHRcdFx0dmsucHViZm4uc2V0RGF0YSh0aGlzLmZvcm0xLCBrZXksIHJlc3VsdCk7XG4gICAxNjVcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLmNlcnRMaXN0W2luZGV4XS5jb250ZW50ID0gcmVzdWx0O1xuICAgMTY2XHRcdFx0XHRcdFx0XHRcdH07XG4gICAxNjdcdFx0XHRcdFx0XHRcdFx0cmVhZGVyLnJlYWRBc1RleHQocmVzLnRlbXBGaWxlc1swXSk7XG4gICAxNjhcdFx0XHRcdFx0XHRcdFx0aWYgKHRlbXBGaWxlLm5hbWUuaW5kZXhPZihcImFwcENlcnRQdWJsaWNLZXlfXCIpID09IDApIHtcbiAgIDE2OVx0XHRcdFx0XHRcdFx0XHRcdHRlbXBGaWxlLm5hbWUgPSBcImFwcENlcnRQdWJsaWNLZXkuY3J0XCI7XG4gICAxNzBcdFx0XHRcdFx0XHRcdFx0fVxuICAgMTcxXHRcdFx0XHRcdFx0XHRcdHRoaXMuY2VydExpc3RbaW5kZXhdLmZpbGUgPSB0ZW1wRmlsZS5uYW1lO1xuICAgMTcyXHRcdFx0XHRcdFx0XHR9XG4gICAxNzNcdFx0XHRcdFx0XHR9XG4gICAxNzRcdFx0XHRcdFx0fSk7XG4gICAxNzVcdFx0XHRcdH0sXG4gICAxNzZcdFx0XHRcdGNvcHkobmFtZSl7XG4gICAxNzdcdFx0XHRcdFx0bGV0IGNvbnRlbnRJdGVtID0gdGhpcy5jZXJ0TGlzdC5maW5kKChpdGVtKSA9PiB7XG4gICAxNzhcdFx0XHRcdFx0XHRyZXR1cm4gbmFtZSA9PT0gaXRlbS5uYW1lO1xuICAgMTc5XHRcdFx0XHRcdH0pO1xuICAgMTgwXHRcdFx0XHRcdGxldCBjb250ZW50ID0gY29udGVudEl0ZW0uY29udGVudDtcbiAgIDE4MVx0XHRcdFx0XHR1bmkuc2V0Q2xpcGJvYXJkRGF0YSh7XG4gICAxODJcdFx0XHRcdFx0XHRkYXRhOiBjb250ZW50LFxuICAgMTgzXHRcdFx0XHRcdFx0c3VjY2VzczogKCkgPT4ge1xuICAgMTg0XHRcdFx0XHRcdFx0XHR2ay50b2FzdChcIuWkjeWItuaIkOWKn1wiKTtcbiAgIDE4NVx0XHRcdFx0XHRcdH1cbiAgIDE4Nlx0XHRcdFx0XHR9KTtcbiAgIDE4N1x0XHRcdFx0fVxuICAgMTg4XHRcdFx0fSxcbiAgIDE4OVx0XHRcdC8vIOiuoeeul+WxnuaAp1xuICAgMTkwXHRcdFx0Y29tcHV0ZWQ6e1xuICAgMTkxXHRcbiAgIDE5Mlx0XHRcdH1cbiAgIDE5M1x0XHR9XG4gICAxOTRcdDwvc2NyaXB0PlxuICAgMTk1XHQ8c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XG4gICAxOTZcdFxuICAgMTk3XHQ8L3N0eWxlPlxuLi4uXG5QYXRoOiB1bmlfbW9kdWxlcy91bmktY29uZmlnLWNlbnRlci91bmlDbG91ZC9jbG91ZGZ1bmN0aW9ucy9jb21tb24vdW5pLWNvbmZpZy1jZW50ZXIvdW5pLXBheS9hbGlwYXkv44CQ6YeN6KaB44CR6L+Z6YeM5pS+5pSv5LuY5a6d6K+B5LmmLm1kXG4gICAgIDFcdCMjIyDmlofku7blkI3vvJpcbiAgICAgMlx0IyMjIyAx44CBYGFsaXBheUNlcnRQdWJsaWNLZXlfUlNBMi5jcnRgXG4gICAgIDNcdCMjIyMgMuOAgWBhbGlwYXlSb290Q2VydC5jcnRgXG4gICAgIDRcdCMjIyMgM+OAgWBhcHBDZXJ0UHVibGljS2V5LmNydGBcbiAgICAgNVx0IVvor4HkuabkvY3nva5dKGh0dHBzOi8vdmtjZXl1Z3UuY2RuLmJzcGFwcC5jb20vVktDRVlVR1UtY2YwYzVlNjktNjIwYy00ZjNjLTg0YWItZjQ2MTkyNjI5MzlmLzYxYzE1ODJhLTJjYTctNDNkMy05MmViLWI4MjEzNmNjNTgzZi5wbmcpLi4uXG5QYXRoOiBwYWdlc190ZW1wbGF0ZS9jb21wb25lbnRzL2Zvcm0vZm9ybS1jZXJ0LnZ1ZVxuICAgICAxXHQ8dGVtcGxhdGU+XG4gICAgIDJcdFx0PHZpZXcgY2xhc3M9XCJwYWdlXCI+XG4gICAgIDNcdFx0XHQ8IS0tIOmhtemdouWGheWuueW8gOWniyAtLT5cbiAgICAgNFx0XHRcdDx2ay1kYXRhLXBhZ2UtaGVhZGVyXG4gICAgIDVcdFx0XHRcdHRpdGxlPVwi6K+B5Lmm6L2s5o2iXCJcbiAgICAgNlx0XHRcdFx0c3ViVGl0bGU9XCLlv6vpgJ/lsIbor4HkuablhoXlrrnlj5jmiJAx6KGM5a2X56ym5LiyXCJcbiAgICAgN1x0XHRcdD48L3ZrLWRhdGEtcGFnZS1oZWFkZXI+XG4gICAgIDhcdFx0XHQ8dmlldyBjbGFzcz1cInBhZ2UtYm9keVwiIHN0eWxlPVwibWF4LXdpZHRoOiA4MDBweDttYXJnaW46IDAgYXV0bztcIj5cbiAgICAgOVx0XHRcdFx0PGVsLWlucHV0IHYtbW9kZWw9XCJmb3JtMS5jb250ZW50XCIgdHlwZT1cInRleHRhcmVhXCIgOnJvd3M9XCIyMFwiIHBsYWNlaG9sZGVyPVwi6K+35bCG6K+B5Lmm5YaF5a6557KY6LS05Yiw5q2k5aSEXCI+PC9lbC1pbnB1dD5cbiAgICAxMFx0XHRcdFx0PHZpZXcgc3R5bGU9XCJtYXJnaW4tdG9wOiAyMHB4O1wiPlxuICAgIDExXHRcdFx0XHRcdDxlbC1idXR0b24gdHlwZT1cInByaW1hcnlcIiBAY2xpY2s9XCJjb3B5XCI+5aSN5Yi26K+B5Lmm5YaF5a6577yI5LiA6KGM5a2X56ym5Liy5b2i5byP77yJPC9lbC1idXR0b24+XG4gICAgMTJcdFx0XHRcdDwvdmlldz5cbiAgICAxM1x0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0aXBzIG10MTVcIj5cbiAgICAxNFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm10MTUganNvbi12aWV3XCIgdi1pZj1cImZvcm0xXCI+XG4gICAgMTVcdFx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cImZvbnQtc2l6ZTogMTRweDtcIj7or4HkuablhoXlrrk8L3ZpZXc+XG4gICAgMTZcdFx0XHRcdFx0XHQ8cHJlPlxuICAgIDE3XHRcdFx0XHRcdFx0XHR7eyBmb3JtMSB9fVxuICAgIDE4XHRcdFx0XHRcdFx0PC9wcmU+XG4gICAgMTlcdFx0XHRcdFx0PC92aWV3PlxuICAgIDIwXHRcdFx0XHQ8L3ZpZXc+XG4gICAgMjFcdFxuICAgIDIyXHRcdFx0PC92aWV3PlxuICAgIDIzXHRcdFx0PCEtLSDpobXpnaLlhoXlrrnnu5PmnZ8gLS0+XG4gICAgMjRcdFx0PC92aWV3PlxuICAgIDI1XHQ8L3RlbXBsYXRlPlxuLi4uXG5QYXRoOiB1bmlfbW9kdWxlcy91bmktY29uZmlnLWNlbnRlci91bmlDbG91ZC9jbG91ZGZ1bmN0aW9ucy9jb21tb24vdW5pLWNvbmZpZy1jZW50ZXIvdW5pLXBheS93eHBheS/jgJDph43opoHjgJHov5nph4zmlL7lvq7kv6HmlK/ku5jor4HkuaYubWRcbiAgICAgMVx0IyMjIOaWh+S7tuWQje+8mlxuICAgICAyXHQjIyMjIDHjgIFgd3hwYXkucDEyYFxuICAgICAzXHQhW+ivgeS5puS9jee9rl0oaHR0cHM6Ly92a2NleXVndS5jZG4uYnNwYXBwLmNvbS9WS0NFWVVHVS1jZjBjNWU2OS02MjBjLTRmM2MtODRhYi1mNDYxOTI2MjkzOWYvNjFjMTU4MmEtMmNhNy00M2QzLTkyZWItYjgyMTM2Y2M1ODNmLnBuZykuLi5cblBhdGg6IHBhZ2VzL2NvbnRyYWN0L3RlbXBsYXRlL2xpc3QudnVlXG4uLi5cbiAgICA3MFx0ICAgICAgICAgICAgLy8g6KGo5qC855u45YWz5byA5aeLIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgNzFcdCAgICAgICAgICAgIHRhYmxlMToge1xuICAgIDcyXHQgICAgICAgICAgICAgICAgLy8g6KGo5qC85pWw5o2u6K+35rGC5Zyw5Z2AXG4gICAgNzNcdCAgICAgICAgICAgICAgICBhY3Rpb246IFwiYWRtaW4vY29udHJhY3QvdGVtcGxhdGUvc3lzL2dldExpc3RcIixcbiAgICA3NFx0ICAgICAgICAgICAgICAgIC8vIOihqOagvOWtl+auteaYvuekuuinhOWImVxuICAgIDc1XHQgICAgICAgICAgICAgICAgY29sdW1uczogW1xuICAgIDc2XHQgICAgICAgICAgICAgICAgICAgIC8vIHtcbiAgICA3N1x0ICAgICAgICAgICAgICAgICAgICAvLyBcdGtleTogXCJfaWRcIixcbiAgICA3OFx0ICAgICAgICAgICAgICAgICAgICAvLyBcdHRpdGxlOiBcImlkXCIsXG4gICAgNzlcdCAgICAgICAgICAgICAgICAgICAgLy8gXHR0eXBlOiBcInRleHRcIixcbiAgICA4MFx0ICAgICAgICAgICAgICAgICAgICAvLyBcdHdpZHRoOiAyMjBcbiAgICA4MVx0ICAgICAgICAgICAgICAgICAgICAvLyB9LFxuICAgIDgyXHQgICAgICAgICAgICAgICAgICAgIHtcbiAgICA4M1x0ICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBcIm5hbWVcIixcbiAgICA4NFx0ICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IFwi5ZCN56ewXCIsXG4gICAgODVcdCAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwidGV4dFwiLFxuICAgIDg2XHQgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjIwLFxuICAgIDg3XHQgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbjogXCJsZWZ0XCIsXG4gICAgODhcdCAgICAgICAgICAgICAgICAgICAgfSxcbiAgICA4OVx0ICAgICAgICAgICAgICAgICAgICB7XG4gICAgOTBcdCAgICAgICAgICAgICAgICAgICAgICAgIGtleTogXCJmaWVsZFwiLFxuICAgIDkxXHQgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogXCLlj5jph49cIixcbiAgICA5Mlx0ICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJ0ZXh0XCIsXG4gICAgOTNcdCAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduOiBcImxlZnRcIixcbiAgICA5NFx0ICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIyMFxuICAgIDk1XHQgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgOTZcdCAgICAgICAgICAgICAgICAgICAge1xuICAgIDk3XHQgICAgICAgICAgICAgICAgICAgICAgICBrZXk6IFwiaXNPblwiLFxuICAgIDk4XHQgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogXCLmmK/lkKblkK/nlKhcIixcbiAgICA5OVx0ICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJzd2l0Y2hcIixcbiAgIDEwMFx0ICAgICAgICAgICAgICAgICAgICB9LFxuICAgMTAxXHQgICAgICAgICAgICAgICAgICAgIHtcbiAgIDEwMlx0ICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBcIl9hZGRfdGltZVwiLFxuICAgMTAzXHQgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogXCLmt7vliqDml7bpl7RcIixcbiAgIDEwNFx0ICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJ0aW1lXCIsXG4gICAxMDVcdCAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduOiBcImxlZnRcIixcbiAgIDEwNlx0ICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE2MCxcbiAgIDEwN1x0ICAgICAgICAgICAgICAgICAgICAgICAgc29ydGFibGU6IFwiY3VzdG9tXCJcbiAgIDEwOFx0ICAgICAgICAgICAgICAgICAgICB9LFxuICAgMTA5XHQgICAgICAgICAgICAgICAgICAgIHtcbiAgIDExMFx0ICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBcIl9hZGRfdGltZVwiLFxuICAgMTExXHQgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogXCLot53nprvnjrDlnKhcIixcbiAgIDExMlx0ICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJkYXRlRGlmZlwiLFxuICAgMTEzXHQgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbjogXCJsZWZ0XCIsXG4gICAxMTRcdCAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMjBcbiAgIDExNVx0ICAgICAgICAgICAgICAgICAgICB9LFxuICAgMTE2XHQgICAgICAgICAgICAgICAgXSxcbiAgIDExN1x0ICAgICAgICAgICAgICAgIC8vIOWkmumAieahhumAieS4reeahOWAvFxuICAgMTE4XHQgICAgICAgICAgICAgICAgbXVsdGlwbGVTZWxlY3Rpb246IFtdLFxuICAgMTE5XHQgICAgICAgICAgICAgICAgLy8g5b2T5YmN6auY5Lqu55qE6K6w5b2VXG4gICAxMjBcdCAgICAgICAgICAgICAgICBzZWxlY3RJdGVtOiBcIlwiXG4gICAxMjFcdCAgICAgICAgICAgIH0sXG4uLi5cblBhdGg6IHBhZ2VzL2NvbnRyYWN0L2NlcnRpZmljYXRlLnZ1ZVxuICAgICAxXHQ8dGVtcGxhdGU+XG4gICAgIDJcdFxuICAgICAzXHQ8L3RlbXBsYXRlPlxuICAgICA0XHRcbiAgICAgNVx0PHNjcmlwdD5cbiAgICAgNlx0ZXhwb3J0IGRlZmF1bHQge1xuICAgICA3XHQgIG5hbWU6IFwiY2VydGlmaWNhdGVcIixcbiAgICAgOFx0ICBkYXRhKCkge1xuICAgICA5XHQgICAgcmV0dXJuIHt9XG4gICAgMTBcdCAgfSxcbiAgICAxMVx0ICBtZXRob2RzOiB7fVxuICAgIDEyXHR9XG4gICAgMTNcdDwvc2NyaXB0Pi4uLlxuUGF0aDogdW5pQ2xvdWQtdGNiL2RhdGFiYXNlL2RiX2luaXQuanNvblxuICAgICAxXHQvLyDlnKjmnKzmlofku7bkuK3lj6/phY3nva7kupHmlbDmja7lupPliJ3lp4vljJbvvIzmlbDmja7moLzlvI/op4HvvJpodHRwczovL3VuaWFwcC5kY2xvdWQuaW8vdW5pQ2xvdWQvY2YtZGF0YWJhc2U/aWQ9ZGJfaW5pdFxuICAgICAyXHRcbiAgICAgM1x0Ly8g57yW5YaZ5a6M5q+V5ZCO5a+55pys5paH5Lu254K55Y+z6ZSu77yM5Y+v5oyJ6YWN572u6KeE5YiZ5Yib5bu66KGo5ZKM5re75Yqg5pWw5o2uXG4gICAgIDRcdFxuICAgICA1XHR7XG4gICAgIDZcdFx0XCJ2ay10ZXN0XCI6IHtcbiAgICAgN1x0XHRcdFwiZGF0YVwiOiBbXG4gICAgIDhcdFx0XHRcdFxuICAgICA5XHRcdFx0XSxcbiAgICAxMFx0XHRcdFwiaW5kZXhcIjogW1xuICAgIDExXHRcdFx0XHR7XG4gICAgMTJcdFx0XHRcdFx0XCJJbmRleE5hbWVcIjogXCJsb2NhdGlvblwiLFxuICAgIDEzXHRcdFx0XHRcdFwiTWdvS2V5U2NoZW1hXCI6IHtcIk1nb0luZGV4S2V5c1wiOiBbe1wiTmFtZVwiOiBcImxvY2F0aW9uXCIsXCJEaXJlY3Rpb25cIjogXCIyZHNwaGVyZVwifV0sXCJNZ29Jc1VuaXF1ZVwiOiBmYWxzZX1cbiAgICAxNFx0XHRcdFx0fSxcbiAgICAxNVx0XHRcdFx0e1xuICAgIDE2XHRcdFx0XHRcdFwiSW5kZXhOYW1lXCI6IFwiX2FkZF90aW1lXCIsXG4gICAgMTdcdFx0XHRcdFx0XCJNZ29LZXlTY2hlbWFcIjoge1wiTWdvSW5kZXhLZXlzXCI6IFt7XCJOYW1lXCI6IFwiX2FkZF90aW1lXCIsXCJEaXJlY3Rpb25cIjogXCIxXCJ9XSxcIk1nb0lzVW5pcXVlXCI6IGZhbHNlfVxuICAgIDE4XHRcdFx0XHR9XG4gICAgMTlcdFx0XHRdXG4gICAgMjBcdFx0fSxcbiAgICAyMVx0XHRcInVuaS1pZC11c2Vyc1wiOiB7XG4gICAgMjJcdFx0XHRcImRhdGFcIjogW1xuICAgIDIzXHRcdFx0XHR7XG4gICAgMjRcdFx0XHRcdFx0XCJfaWRcIjpcIjAwMVwiLFxuICAgIDI1XHRcdFx0XHRcdFwidXNlcm5hbWVcIjogXCJhZG1pblwiLFxuICAgIDI2XHRcdFx0XHRcdFwicGFzc3dvcmRcIjogXCIwM2NhZWJiMzY2NzA5OTVmYzI2MWEyNzVkMjEyY2FkNjVlNGJiZWJkXCIsXG4gICAgMjdcdFx0XHRcdFx0XCJyZWdpc3Rlcl9kYXRlXCI6IDE1OTY0MTY0MDAwMDAsXG4gICAgMjhcdFx0XHRcdFx0XCJyZWdpc3Rlcl9pcFwiOiBcIjEyNy4wLjAuMVwiLFxuICAgIDI5XHRcdFx0XHRcdFwibmlja25hbWVcIjogXCLotoXnuqfnrqHnkIblkZhcIixcbiAgICAzMFx0XHRcdFx0XHRcInJvbGVcIjpbXCJhZG1pblwiXSxcbiAgICAzMVx0XHRcdFx0XHRcInRva2VuXCI6IFtdLFxuICAgIDMyXHRcdFx0XHRcdFwiYWxsb3dfbG9naW5fYmFja2dyb3VuZFwiOnRydWVcbiAgICAzM1x0XHRcdFx0fVxuICAgIDM0XHRcdFx0XSxcbi4uLlxuICAgIDg2XHRcdFwib3BlbmRiLXZlcmlmeS1jb2Rlc1wiOiB7XG4gICAgODdcdFx0XHRcImRhdGFcIjogW10sXG4gICAgODhcdFx0XHRcImluZGV4XCI6IFtcbiAgICA4OVx0XHRcdFx0e1xuICAgIDkwXHRcdFx0XHRcdFwiSW5kZXhOYW1lXCI6IFwibW9iaWxlXCIsXG4gICAgOTFcdFx0XHRcdFx0XCJNZ29LZXlTY2hlbWFcIjoge1xuICAgIDkyXHRcdFx0XHRcdFx0XCJNZ29JbmRleEtleXNcIjogW3tcbiAgICA5M1x0XHRcdFx0XHRcdFx0XCJOYW1lXCI6IFwibW9iaWxlXCIsXG4gICAgOTRcdFx0XHRcdFx0XHRcdFwiRGlyZWN0aW9uXCI6IFwiMVwiXG4gICAgOTVcdFx0XHRcdFx0XHR9LCB7XG4gICAgOTZcdFx0XHRcdFx0XHRcdFwiTmFtZVwiOiBcImNvZGVcIixcbiAgICA5N1x0XHRcdFx0XHRcdFx0XCJEaXJlY3Rpb25cIjogXCIxXCJcbiAgICA5OFx0XHRcdFx0XHRcdH1dLFxuICAgIDk5XHRcdFx0XHRcdFx0XCJNZ29Jc1VuaXF1ZVwiOiBmYWxzZVxuICAgMTAwXHRcdFx0XHRcdH1cbiAgIDEwMVx0XHRcdFx0fSxcbiAgIDEwMlx0XHRcdFx0e1xuICAgMTAzXHRcdFx0XHRcdFwiSW5kZXhOYW1lXCI6IFwiZW1haWxcIixcbiAgIDEwNFx0XHRcdFx0XHRcIk1nb0tleVNjaGVtYVwiOiB7XG4gICAxMDVcdFx0XHRcdFx0XHRcIk1nb0luZGV4S2V5c1wiOiBbe1xuICAgMTA2XHRcdFx0XHRcdFx0XHRcIk5hbWVcIjogXCJlbWFpbFwiLFxuICAgMTA3XHRcdFx0XHRcdFx0XHRcIkRpcmVjdGlvblwiOiBcIjFcIlxuICAgMTA4XHRcdFx0XHRcdFx0fSwge1xuICAgMTA5XHRcdFx0XHRcdFx0XHRcIk5hbWVcIjogXCJjb2RlXCIsXG4gICAxMTBcdFx0XHRcdFx0XHRcdFwiRGlyZWN0aW9uXCI6IFwiMVwiXG4gICAxMTFcdFx0XHRcdFx0XHR9XSxcbiAgIDExMlx0XHRcdFx0XHRcdFwiTWdvSXNVbmlxdWVcIjogZmFsc2VcbiAgIDExM1x0XHRcdFx0XHR9XG4gICAxMTRcdFx0XHRcdH0sXG4gICAxMTVcdFx0XHRcdHtcbiAgIDExNlx0XHRcdFx0XHRcIkluZGV4TmFtZVwiOiBcInR5cGVcIixcbiAgIDExN1x0XHRcdFx0XHRcIk1nb0tleVNjaGVtYVwiOiB7XCJNZ29JbmRleEtleXNcIjogW3tcIk5hbWVcIjogXCJ0eXBlXCIsXCJEaXJlY3Rpb25cIjogXCIxXCJ9XSxcIk1nb0lzVW5pcXVlXCI6IGZhbHNlfVxuICAgMTE4XHRcdFx0XHR9LFxuICAgMTE5XHRcdFx0XHR7XG4gICAxMjBcdFx0XHRcdFx0XCJJbmRleE5hbWVcIjogXCJzdGF0ZVwiLFxuICAgMTIxXHRcdFx0XHRcdFwiTWdvS2V5U2NoZW1hXCI6IHtcIk1nb0luZGV4S2V5c1wiOiBbe1wiTmFtZVwiOiBcInN0YXRlXCIsXCJEaXJlY3Rpb25cIjogXCIxXCJ9XSxcIk1nb0lzVW5pcXVlXCI6IGZhbHNlfVxuICAgMTIyXHRcdFx0XHR9XG4gICAxMjNcdFx0XHRdXG4gICAxMjRcdFx0fSxcbiAgIDEyNVx0XHRcIm9wZW5kYi10ZW1wZGF0YVwiOiB7XG4gICAxMjZcdFx0XHRcImRhdGFcIjogW1xuICAgMTI3XHRcbiAgIDEyOFx0XHRcdF0sXG4gICAxMjlcdFx0XHRcImluZGV4XCI6IFtcbiAgIDEzMFx0XHRcdFx0e1xuICAgMTMxXHRcdFx0XHRcdFwiSW5kZXhOYW1lXCI6IFwiX2FkZF90aW1lXCIsXG4gICAxMzJcdFx0XHRcdFx0XCJNZ29LZXlTY2hlbWFcIjoge1wiTWdvSW5kZXhLZXlzXCI6IFt7XCJOYW1lXCI6IFwiX2FkZF90aW1lXCIsXCJEaXJlY3Rpb25cIjogXCIxXCJ9XSxcIk1nb0lzVW5pcXVlXCI6IGZhbHNlfVxuICAgMTMzXHRcdFx0XHR9LFxuICAgMTM0XHRcdFx0XHR7XG4gICAxMzVcdFx0XHRcdFx0XCJJbmRleE5hbWVcIjogXCJleHBpcmVkXCIsXG4gICAxMzZcdFx0XHRcdFx0XCJNZ29LZXlTY2hlbWFcIjoge1wiTWdvSW5kZXhLZXlzXCI6IFt7XCJOYW1lXCI6IFwiZXhwaXJlZFwiLFwiRGlyZWN0aW9uXCI6IFwiMVwifV0sXCJNZ29Jc1VuaXF1ZVwiOiBmYWxzZX1cbiAgIDEzN1x0XHRcdFx0fVxuICAgMTM4XHRcdFx0XVxuICAgMTM5XHRcdH0sXG4gICAxNDBcdFx0XCJvcGVuZGItb3Blbi1kYXRhXCI6IHtcbiAgIDE0MVx0XHRcdFwiZGF0YVwiOiBbXG4gICAxNDJcdFx0XG4gICAxNDNcdFx0XHRdLFxuICAgMTQ0XHRcdFx0XCJpbmRleFwiOiBbXG4gICAxNDVcdFx0XHRcdHtcbiAgIDE0Nlx0XHRcdFx0XHRcIkluZGV4TmFtZVwiOiBcIl9hZGRfdGltZVwiLFxuICAgMTQ3XHRcdFx0XHRcdFwiTWdvS2V5U2NoZW1hXCI6IHtcIk1nb0luZGV4S2V5c1wiOiBbe1wiTmFtZVwiOiBcIl9hZGRfdGltZVwiLFwiRGlyZWN0aW9uXCI6IFwiMVwifV0sXCJNZ29Jc1VuaXF1ZVwiOiBmYWxzZX1cbiAgIDE0OFx0XHRcdFx0fSxcbiAgIDE0OVx0XHRcdFx0e1xuICAgMTUwXHRcdFx0XHRcdFwiSW5kZXhOYW1lXCI6IFwiZXhwaXJlZFwiLFxuICAgMTUxXHRcdFx0XHRcdFwiTWdvS2V5U2NoZW1hXCI6IHtcIk1nb0luZGV4S2V5c1wiOiBbe1wiTmFtZVwiOiBcImV4cGlyZWRcIixcIkRpcmVjdGlvblwiOiBcIjFcIn1dLFwiTWdvSXNVbmlxdWVcIjogZmFsc2V9XG4gICAxNTJcdFx0XHRcdH1cbiAgIDE1M1x0XHRcdF1cbiAgIDE1NFx0XHR9LFxuICAgMTU1XHRcdFwidW5pLWlkLWxvZ1wiOntcbiAgIDE1Nlx0XHRcdFwiZGF0YVwiOiBbXSxcbiAgIDE1N1x0XHRcdFwiaW5kZXhcIjogW1xuICAgMTU4XHRcdFx0XHR7XG4gICAxNTlcdFx0XHRcdFx0XCJJbmRleE5hbWVcIjogXCJfYWRkX3RpbWVcIixcbiAgIDE2MFx0XHRcdFx0XHRcIk1nb0tleVNjaGVtYVwiOiB7XCJNZ29JbmRleEtleXNcIjogW3tcIk5hbWVcIjogXCJfYWRkX3RpbWVcIixcIkRpcmVjdGlvblwiOiBcIjFcIn1dLFwiTWdvSXNVbmlxdWVcIjogZmFsc2V9XG4gICAxNjFcdFx0XHRcdH0sXG4gICAxNjJcdFx0XHRcdHtcbiAgIDE2M1x0XHRcdFx0XHRcIkluZGV4TmFtZVwiOiBcInVzZXJfaWRcIixcbiAgIDE2NFx0XHRcdFx0XHRcIk1nb0tleVNjaGVtYVwiOiB7XCJNZ29JbmRleEtleXNcIjogW3tcIk5hbWVcIjogXCJ1c2VyX2lkXCIsXCJEaXJlY3Rpb25cIjogXCIxXCJ9XSxcIk1nb0lzVW5pcXVlXCI6IGZhbHNlfVxuICAgMTY1XHRcdFx0XHR9XG4gICAxNjZcdFx0XHRdXG4gICAxNjdcdFx0fSxcbi4uLlxuICAgMjE3XHRcdFwidW5pLWlkLXBlcm1pc3Npb25zXCI6e1xuICAgMjE4XHRcdFx0XCJkYXRhXCI6IFtcbiAgIDIxOVx0XHRcdFx0e1xuICAgMjIwXHRcdFx0XHRcdFwiX2lkXCI6IFwic3lzLXBlcm1pc3Npb25cIixcbiAgIDIyMVx0XHRcdFx0XHRcIl9hZGRfdGltZVwiOiAxNTk2NDE2NDAwMDAwLFxuICAgMjIyXHRcdFx0XHRcdFwicGVybWlzc2lvbl9pZFwiOlwic3lzLXBlcm1pc3Npb25cIixcbiAgIDIyM1x0XHRcdFx0XHRcInBlcm1pc3Npb25fbmFtZVwiOiBcIuezu+e7n+WGhee9ruadg+mZkFwiLFxuICAgMjI0XHRcdFx0XHRcdFwiY29tbWVudFwiOlwi57O757uf5YaF572u5p2D6ZmQXCIsXG4gICAyMjVcdFx0XHRcdFx0XCJ1cmxcIjogXCJcIixcbiAgIDIyNlx0XHRcdFx0XHRcInNvcnRcIjogMTAzLFxuICAgMjI3XHRcdFx0XHRcdFwiZW5hYmxlXCI6dHJ1ZVxuICAgMjI4XHRcdFx0XHR9LFxuICAgMjI5XHRcdFx0XHR7XG4gICAyMzBcdFx0XHRcdFx0XCJfaWRcIjogXCJzeXMtcGVybWlzc2lvbi1hZGRcIixcbiAgIDIzMVx0XHRcdFx0XHRcIl9hZGRfdGltZVwiOiAxNTk2NDE2NDAwMDAwLFxuICAgMjMyXHRcdFx0XHRcdFwicGVybWlzc2lvbl9pZFwiOlwic3lzLXBlcm1pc3Npb24tYWRkXCIsXG4gICAyMzNcdFx0XHRcdFx0XCJwZXJtaXNzaW9uX25hbWVcIjogXCLns7vnu5/lhoXnva4gLSDlop5cIixcbiAgIDIzNFx0XHRcdFx0XHRcImNvbW1lbnRcIjpcIuaJgOacieWHveaVsOWQjeS7pWFkZOW8gOWktOeahOS6keWHveaVsFwiLFxuICAgMjM1XHRcdFx0XHRcdFwidXJsXCI6IFtcIiovYWRkKlwiXSxcbiAgIDIzNlx0XHRcdFx0XHRcImljb25cIjpcInZrLWljb24tYWRkXCIsXG4gICAyMzdcdFx0XHRcdFx0XCJzb3J0XCI6IDEsXG4gICAyMzhcdFx0XHRcdFx0XCJwYXJlbnRfaWRcIjpcInN5cy1wZXJtaXNzaW9uXCIsXG4gICAyMzlcdFx0XHRcdFx0XCJlbmFibGVcIjp0cnVlLFxuICAgMjQwXHRcdFx0XHRcdFwibWF0Y2hfbW9kZVwiOjEsXG4gICAyNDFcdFx0XHRcdFx0XCJjdXJkX2NhdGVnb3J5XCI6MSxcbiAgIDI0Mlx0XHRcdFx0XHRcImxldmVsXCI6M1xuICAgMjQzXHRcdFx0XHR9LFxuLi4uXG4gICA3MzNcdFx0XCJvcGVuZGItYWRtaW4tbG9nXCI6e1xuICAgNzM0XHRcdCAgXCJkYXRhXCI6IFtcbiAgIDczNVx0XHRcbiAgIDczNlx0XHQgIF0sXG4gICA3MzdcdFx0ICBcImluZGV4XCI6IFtcbiAgIDczOFx0XHQgICAge1xuICAgNzM5XHRcdCAgICAgIFwiSW5kZXhOYW1lXCI6IFwiX2FkZF90aW1lXCIsXG4gICA3NDBcdFx0ICAgICAgXCJNZ29LZXlTY2hlbWFcIjoge1wiTWdvSW5kZXhLZXlzXCI6IFt7XCJOYW1lXCI6IFwiX2FkZF90aW1lXCIsXCJEaXJlY3Rpb25cIjogXCIxXCJ9XSxcIk1nb0lzVW5pcXVlXCI6IGZhbHNlfVxuICAgNzQxXHRcdCAgICB9LFxuICAgNzQyXHRcdCAgICB7XG4gICA3NDNcdFx0ICAgICAgXCJJbmRleE5hbWVcIjogXCJ1c2VyX2lkXCIsXG4gICA3NDRcdFx0ICAgICAgXCJNZ29LZXlTY2hlbWFcIjoge1wiTWdvSW5kZXhLZXlzXCI6IFt7XCJOYW1lXCI6IFwidXNlcl9pZFwiLFwiRGlyZWN0aW9uXCI6IFwiMVwifV0sXCJNZ29Jc1VuaXF1ZVwiOiBmYWxzZX1cbiAgIDc0NVx0XHQgICAgfSxcbiAgIDc0Nlx0XHQgICAge1xuICAgNzQ3XHRcdCAgICAgIFwiSW5kZXhOYW1lXCI6IFwidGl0bGVcIixcbiAgIDc0OFx0XHQgICAgICBcIk1nb0tleVNjaGVtYVwiOiB7XCJNZ29JbmRleEtleXNcIjogW3tcIk5hbWVcIjogXCJ0aXRsZVwiLFwiRGlyZWN0aW9uXCI6IFwiMVwifV0sXCJNZ29Jc1VuaXF1ZVwiOiBmYWxzZX1cbiAgIDc0OVx0XHQgICAgfVxuICAgNzUwXHRcdCAgXVxuICAgNzUxXHRcdH0sXG4uLi5cblBhdGg6IHBhZ2VzL2NvbnRyYWN0L2xpc3QudnVlXG4uLi5cbiAgIDE2OFx0ICAgICAgICAgICAgICAgIHtrZXk6IFwiZG9jVGl0bGVcIiwgdGl0bGU6IFwi5ZCI5ZCM5ZCN56ewXCIsIHR5cGU6IFwidGV4dFwifSxcbiAgIDE2OVx0ICAgICAgICAgICAgICAgIHtrZXk6IFwiYW1vdW50XCIsIHRpdGxlOiBcIuWQiOWQjOmHkeminVwiLCB0eXBlOiBcInRleHRcIn0sXG4gICAxNzBcdCAgICAgICAgICAgICAgICB7a2V5OiBcIl9hZGRfdGltZV9zdHJcIiwgdGl0bGU6IFwi5Y+R6LW35pe26Ze0XCIsIHR5cGU6IFwidGV4dFwifSxcbiAgIDE3MVx0ICAgICAgICAgICAgICAgIHtcbiAgIDE3Mlx0ICAgICAgICAgICAgICAgICAgICBrZXk6IFwidXNlckNvbnRyYWN0XCIsIHRpdGxlOiBcIueUsuaWueS/oeaBr1wiLCB0eXBlOiBcImh0bWxcIiwgZm9ybWF0dGVyOiAodmFsLCByb3csIGNvbHVtbiwgaW5kZXgpID0+IHtcbiAgIDE3M1x0ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW5mbyA9IHZhbC5maW5kKGl0ZW0gPT4gaXRlbS5yb2xlID09PSAnYnV5ZXInKTtcbiAgIDE3NFx0ICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHN0ciA9IGA8ZGl2PiR7aW5mby51c2VyLmFjY291bnRUeXBlID09PSAyID8gaW5mby51c2VyLmNvbXBhbnkuY29tcGFueU5hbWUgOiBpbmZvLnVzZXIucGVyc29uLnBlcnNvbk5hbWV9PC9kaXY+YFxuICAgMTc1XHQgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaW5mby51c2VyLmJ1c2luZXNzQ2FyZCkge1xuICAgMTc2XHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGluZm8udXNlci5idXNpbmVzc0NhcmQuYXJlYSkge1xuICAgMTc3XHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ciArPSBgPGRpdiA+JHtpbmZvLnVzZXIuYnVzaW5lc3NDYXJkLnByb3ZpbmNlLm5hbWV9JHtpbmZvLnVzZXIuYnVzaW5lc3NDYXJkLmNpdHkubmFtZX0ke2luZm8udXNlci5idXNpbmVzc0NhcmQuYXJlYS5uYW1lfTwvZGl2PmBcbiAgIDE3OFx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgIDE3OVx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ciArPSBgPGRpdj7ogZTns7vmlrnlvI86JHtpbmZvLnVzZXIuYWNjb3VudFR5cGUgPT09IDIgPyBpbmZvLnVzZXIuYnVzaW5lc3NDYXJkLmNvbXBhbnlNb2JpbGUgOiBpbmZvLnVzZXIucGVyc29uLm1vYmlsZX08L2Rpdj5gXG4gICAxODBcdCAgICAgICAgICAgICAgICAgICAgICAgIH1cbi4uLlxuICAgMjkyXHQgICAgICAgICAgICAvLyDooajmoLznm7jlhbPnu5PmnZ8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIDI5M1x0ICAgICAgICAgICAgLy8g6KGo5Y2V55u45YWz5byA5aeLIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAyOTRcdCAgICAgICAgICAgIC8vIOafpeivouihqOWNleivt+axguaVsOaNrlxuICAgMjk1XHQgICAgICAgICAgICBxdWVyeUZvcm0xOiB7XG4gICAyOTZcdCAgICAgICAgICAgICAgICAvLyDmn6Xor6LooajljZXmlbDmja7mupDvvIzlj6/lnKjmraTorr7nva7pu5jorqTlgLxcbiAgIDI5N1x0ICAgICAgICAgICAgICAgIGZvcm1EYXRhOiB7fSxcbiAgIDI5OFx0ICAgICAgICAgICAgICAgIC8vIOafpeivouihqOWNleeahOWtl+auteinhOWImSBmaWVsZE5hbWU65oyH5a6a5pWw5o2u5bqT5a2X5q615ZCNLOS4jeWhq+m7mOiupOetieS6jmtleVxuICAgMjk5XHQgICAgICAgICAgICAgICAgY29sdW1uczogW1xuICAgMzAwXHQgICAgICAgICAgICAgICAgICAgIHtcbiAgIDMwMVx0ICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBcInRyYW5zYWN0aW9uSWRcIixcbiAgIDMwMlx0ICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IFwi5ZCI5ZCM57yW5Y+3XCIsXG4gICAzMDNcdCAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwidGV4dFwiLFxuICAgMzA0XHQgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTYwLFxuICAgMzA1XHQgICAgICAgICAgICAgICAgICAgICAgICBtb2RlOiBcIiUlXCJcbiAgIDMwNlx0ICAgICAgICAgICAgICAgICAgICB9LFxuICAgMzA3XHQgICAgICAgICAgICAgICAgICAgIHtcbiAgIDMwOFx0ICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBcInR5cGVcIixcbiAgIDMwOVx0ICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IFwi5ZCI5ZCM57G75Z6LXCIsXG4gICAzMTBcdCAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwic2VsZWN0XCIsXG4gICAzMTFcdCAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IFtcbiAgIDMxMlx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt2YWx1ZTogXCJlbnF1aXJ5XCIsIGxhYmVsOiAn6K+i5Lu3J30sXG4gICAzMTNcdCAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dmFsdWU6IFwicHJvY2Vzc1wiLCBsYWJlbDogJ+WKoOW3pSd9LFxuICAgMzE0XHQgICAgICAgICAgICAgICAgICAgICAgICAgICAge3ZhbHVlOiBcIm9sZFwiLCBsYWJlbDogJ+aXp+i0pyd9LFxuICAgMzE1XHQgICAgICAgICAgICAgICAgICAgICAgICAgICAge3ZhbHVlOiBcInNpZ25cIiwgbGFiZWw6ICfnrb7nuqblrp0nfSxcbiAgIDMxNlx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt2YWx1ZTogXCJzZWxmLXN1cHBvcnRcIiwgbGFiZWw6ICfoh6rokKXor6Lku7cnfSxcbiAgIDMxN1x0ICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgMzE4XHQgICAgICAgICAgICAgICAgICAgIH0sXG4gICAzMTlcdCAgICAgICAgICAgICAgICAgICAge1xuICAgMzIwXHQgICAgICAgICAgICAgICAgICAgICAgICBrZXk6IFwic3RhdHVzXCIsXG4gICAzMjFcdCAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBcIuWQiOWQjOeKtuaAgVwiLFxuICAgMzIyXHQgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcInNlbGVjdFwiLFxuICAgMzIzXHQgICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiBbXG4gICAzMjRcdCAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dmFsdWU6IDAsIGxhYmVsOiAn5b6F5Yib5bu6J30sXG4gICAzMjVcdCAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dmFsdWU6IDEsIGxhYmVsOiAn5b6F562+572yJ30sXG4gICAzMjZcdCAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dmFsdWU6IDIsIGxhYmVsOiAn5bey562+572yJ30sXG4gICAzMjdcdCAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgIDMyOFx0ICAgICAgICAgICAgICAgICAgICB9LFxuICAgMzI5XHQgICAgICAgICAgICAgICAgXVxuICAgMzMwXHQgICAgICAgICAgICB9LFxuICAgMzMxXHQgICAgICAgICAgICBmb3JtMToge1xuICAgMzMyXHQgICAgICAgICAgICAgICAgLy8g6KGo5Y2V6K+35rGC5pWw5o2u77yM5q2k5aSE5Y+v5Lul6K6+572u6buY6K6k5YC8XG4gICAzMzNcdCAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICAzMzRcdCAgICAgICAgICAgICAgICAgICAgc29ydDogMFxuICAgMzM1XHQgICAgICAgICAgICAgICAgfSxcbi4uLlxuUGF0aDogdW5pX21vZHVsZXMvdW5pLWNvbmZpZy1jZW50ZXIvdW5pQ2xvdWQvY2xvdWRmdW5jdGlvbnMvY29tbW9uL3VuaS1jb25maWctY2VudGVyL3VuaS1wYXkvYWxpcGF5L2FwcENlcnRQdWJsaWNLZXkuY3J0XG4gICAgIDFcdC0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLVxuICAgICAyXHTor4HkuablhoXlrrlcbiAgICAgM1x0LS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLS4uLlxuUGF0aDogdW5pX21vZHVsZXMvdmstdW5pY2xvdWQvdmtfbW9kdWxlcy92ay11bmljbG91ZC1wYWdlL2xpYnMvb3BlbmFwaS9iYWlkdS9pbmRleC5qc1xuLi4uXG4gICAgMzJcdCAqL1xuICAgIDMzXHRiYWlkdS5vcGVuLm9jci5idXNpbmVzc19saWNlbnNlID0gZnVuY3Rpb24ob2JqPXt9KXtcbiAgICAzNFx0XHRvYmouYWN0aW9uID0gXCJvY3IvdjEvYnVzaW5lc3NfbGljZW5zZVwiO1xuICAgIDM1XHRcdGxldCBmaWxlID0gb2JqLmRhdGEuZmlsZTtcbiAgICAzNlx0XHRpZihmaWxlKXtcbiAgICAzN1x0XHRcdHZrLnB1YmZuLmZpbGVUb0Jhc2U2NCh7IGZpbGUgfSkudGhlbihiYXNlNjQgPT4ge1xuICAgIDM4XHRcdFx0XHRvYmouZGF0YS5pbWFnZSA9IGJhc2U2NDtcbiAgICAzOVx0XHRcdFx0ZGVsZXRlIG9iai5kYXRhLmZpbGU7XG4gICAgNDBcdFx0XHRcdGJhaWR1LnJlcXVlc3Qob2JqKTtcbiAgICA0MVx0XHRcdH0pO1xuICAgIDQyXHRcdH1lbHNle1xuICAgIDQzXHRcdFx0YmFpZHUucmVxdWVzdChvYmopO1xuICAgIDQ0XHRcdH1cbiAgICA0NVx0fVxuICAgIDQ2XHRcbiAgICA0N1x0LyoqXG4gICAgNDhcdCAqIOi6q+S7veivgeivhuWIq1xuICAgIDQ5XHQgKiDku6XkuItkYXRh5Y+C5pWw5LiJ6YCJ5LiA5Y2z5Y+vXG4gICAgNTBcdCAqIEBwYXJhbSB7RmlsZX0gZmlsZSAgICAg5paH5Lu25a+56LGhXG4gICAgNTFcdCAqIEBwYXJhbSB7U3RyaW5nfSBpbWFnZSAg5Zu+5YOPYmFzZTY057yW56CB5ZCO6L+b6KGMdXJsZW5jb2RlXG4gICAgNTJcdCAqIEBwYXJhbSB7U3RyaW5nfSB1cmwgICAg5Zu+54mH5a6M5pW0VVJMXG4gICAgNTNcdHZrLm9wZW5hcGkuYmFpZHUub3Blbi5vY3IuaWRjYXJkKHtcbiAgICA1NFx0XHR0aXRsZTpcIuivhuWIq+S4rS4uLlwiLFxuICAgIDU1XHRcdGRhdGE6IHtcbiAgICA1Nlx0XHRcdGltYWdlOmJhc2U2NCxcbiAgICA1N1x0XHRcdGlkX2NhcmRfc2lkZTpcImZyb250XCIsIC8vIGZyb25077ya6Lqr5Lu96K+B5ZCr54Wn54mH55qE5LiA6Z2iIGJhY2vvvJrouqvku73or4HluKblm73lvr3nmoTkuIDpnaJcbiAgICA1OFx0XHR9LFxuICAgIDU5XHRcdHN1Y2Nlc3M6IChyZXMpID0+IHtcbiAgICA2MFx0XHRcdHRoYXQuZGF0YSA9IHJlcy5kYXRhO1xuICAgIDYxXHRcdH0sXG4gICAgNjJcdH0pO1xuLi4uXG4gICAgNzhcdFxuICAgIDc5XHQvKipcbiAgICA4MFx0ICog55m+5bqm5byA5pS+5bmz5Y+w6YCa55So6K+35rGC5o6l5Y+jXG4gICAgODFcdCAqIEBwYXJhbSB7U3RyaW5nfSBhY3Rpb24gICAgICAgIOaOpeWPo+WQjeensFxuICAgIDgyXHQgKiBAcGFyYW0ge1N0cmluZ30gYWN0aW9uVmVyc2lvbiDmjqXlj6PniYjmnKzlkI3np7Ag6buY6K6kMi4wXG4gICAgODNcdCAqIEBwYXJhbSB7U3RyaW5nfSB0aXRsZSAgICAgICAgIGxvYWRpbmfmloflrZdcbiAgICA4NFx0ICogQHBhcmFtIHtvYmplY3R9IGRhdGEgICAgICAgICAg6K+35rGC5Y+C5pWwXG4gICAgODVcdCAqIEBwYXJhbSB7U3RyaW5nfSBzdWNjZXNzICAgICAgIOaIkOWKn+Wbnuiwg1xuICAgIDg2XHQgKiBAcGFyYW0ge1N0cmluZ30gZmFpbCAgICAgICAgICDlpLHotKXlm57osINcbiAgICA4N1x0ICogQHBhcmFtIHtTdHJpbmd9IGNvbXBsZXRlICAgICAg5a6M5oiQ5Zue6LCDXG4gICAgODhcdCAqIOS9v+eUqOekuuS+i1xuICAgIDg5XHR2ay5vcGVuYXBpLmJhaWR1LnJlcXVlc3Qoe1xuICAgIDkwXHQgXHRhY3Rpb246ICdvY3IvdjEvYnVzaW5lc3NfbGljZW5zZScsXG4gICAgOTFcdCBcdHRpdGxlOlwi6K+G5Yir5LitLi4uXCIsXG4gICAgOTJcdCBcdGRhdGE6IHtcbiAgICA5M1x0IFx0XHRpbWFnZTpiYXNlNjRcbiAgICA5NFx0IFx0fSxcbiAgICA5NVx0IFx0c3VjY2VzczogKGRhdGEpID0+IHtcbiAgICA5Nlx0IFx0XHR0aGF0LmRhdGEgPSBkYXRhO1xuICAgIDk3XHQgXHR9LFxuICAgIDk4XHR9KTtcbi4uLlxuUGF0aDogdW5pX21vZHVsZXMvdW5pLWNvbmZpZy1jZW50ZXIvdW5pQ2xvdWQvY2xvdWRmdW5jdGlvbnMvY29tbW9uL3VuaS1jb25maWctY2VudGVyL3VuaS1wYXkvY29uZmlnLmpzXG4uLi5cbiAgICA3NVx0ICAvKipcbiAgICA3Nlx0ICAgKiDmlK/ku5jlrp3vvIjor4HkuaborrDlvpfpgIlqYXZh54mI5pys77yJXG4gICAgNzdcdCAgICog5YWs5YWx5Y+C5pWw6K+05piOXG4gICAgNzhcdCAgICogbWNoSWQgICAgICAgICAgICAgICAgICDmlK/ku5jlrp3llYbmiLdpZCAyMDg45byA5aS055qE6YKj5Liq77yI5q2k5Y+C5pWw5Y+v5Lul5Y676Zmk77yJXG4gICAgNzlcdCAgICogYXBwSWQgICAgICAgICAgICAgICAgICDmlK/ku5jlrp3lvIDmlL7lubPlj7DnmoTlupTnlKhhcHBJZFxuICAuLi4iLCJpc0Vycm9yIjpmYWxzZSwicmVxdWVzdElkIjoiIn19LCJkZDgzNmQxMC05ZWVhLTQ4ZTItOGIzMi1lMGM1Y2U0Nzg4Mjk7dG9vbHVfMDFKbzFOVXhUUDhGR2JZMXhHb1Y3eGRqIjp7InJlcXVlc3RJZCI6ImRkODM2ZDEwLTllZWEtNDhlMi04YjMyLWUwYzVjZTQ3ODgyOSIsInRvb2xVc2VJZCI6InRvb2x1XzAxSm8xTlV4VFA4RkdiWTF4R29WN3hkaiIsInBoYXNlIjo1LCJyZXN1bHQiOnsidGV4dCI6IlRoZSBmb2xsb3dpbmcgY29kZSBzZWN0aW9ucyB3ZXJlIHJldHJpZXZlZDpcblBhdGg6IHBhZ2VzL2NvbnRyYWN0L2xpc3QudnVlXG4uLi5cbiAgICAzOFx0XG4gICAgMzlcdCAgICAgICAgPCEtLSDmt7vliqDmiJbnvJbovpHnmoTlvLnnqpflvIDlp4sgLS0+XG4gICAgNDBcdCAgICAgICAgPHZrLWRhdGEtZGlhbG9nIHYtbW9kZWw9XCJmb3JtMS5wcm9wcy5zaG93XCIgOnRpdGxlPVwiZm9ybTEucHJvcHMudGl0bGVcIiB3aWR0aD1cIjYwJVwiIG1vZGU9XCJmb3JtXCJcbiAgICA0MVx0ICAgICAgICAgICAgICAgICAgICAgICAgOmNsb3NlLW9uLWNsaWNrLW1vZGFsPVwiZmFsc2VcIj5cbiAgICA0Mlx0ICAgICAgICAgICAgPHZrLWRhdGEtZm9ybSB2LW1vZGVsPVwiZm9ybTEuZGF0YVwiIDpydWxlcz1cImZvcm0xLnByb3BzLnJ1bGVzXCIgOmFjdGlvbj1cImZvcm0xLnByb3BzLmFjdGlvblwiXG4gICAgNDNcdCAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcm0tdHlwZT1cImZvcm0xLnByb3BzLmZvcm1UeXBlXCIgOmNvbHVtbnM9J2Zvcm0xLnByb3BzLmNvbHVtbnMnIGxhYmVsLXdpZHRoPVwiMTIwcHhcIlxuICAgIDQ0XHQgICAgICAgICAgICAgICAgICAgICAgICAgIEBzdWNjZXNzPVwiZm9ybTEucHJvcHMuc2hvdyA9IGZhbHNlO3JlZnJlc2goKTtcIj5cbiAgICA0NVx0ICAgICAgICAgICAgPC92ay1kYXRhLWZvcm0+XG4gICAgNDZcdCAgICAgICAgPC92ay1kYXRhLWRpYWxvZz5cbiAgICA0N1x0ICAgICAgICA8IS0tIOa3u+WKoOaIlue8lui+keeahOW8ueeql+e7k+adnyAtLT5cbiAgICA0OFx0ICAgICAgICA8dmstZGF0YS1kaWFsb2dcbiAgICA0OVx0ICAgICAgICAgICAgdi1tb2RlbD1cInNob3dJbmZvXCJcbiAgICA1MFx0ICAgICAgICAgICAgOnRpdGxlPVwidGl0bGVcIlxuICAgIDUxXHQgICAgICAgICAgICB3aWR0aD1cIjYwJVwiXG4gICAgNTJcdCAgICAgICAgICAgIHRvcD1cIjE0dmhcIlxuICAgIDUzXHQgICAgICAgICAgICBjZW50ZXJcbiAgICA1NFx0ICAgICAgICAgICAgOmNsb3NlLW9uLWNsaWNrLW1vZGFsPVwidHJ1ZVwiXG4gICAgNTVcdCAgICAgICAgPlxuICAgIDU2XHQgICAgICAgICAgICA8ZWwtZGVzY3JpcHRpb25zIHYtaWY9XCJpbmZvXCIgOmNvbHVtbj1cIjJcIiBib3JkZXI+XG4gICAgNTdcdCAgICAgICAgICAgICAgICA8ZWwtZGVzY3JpcHRpb25zLWl0ZW0gbGFiZWw9XCLlkIjlkIznvJblj7dcIiA+XG4gICAgNThcdCAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgaW5mby50cmFuc2FjdGlvbklkIH19PC9zcGFuPlxuICAgIDU5XHQgICAgICAgICAgICAgICAgPC9lbC1kZXNjcmlwdGlvbnMtaXRlbT5cbiAgICA2MFx0ICAgICAgICAgICAgICAgIDxlbC1kZXNjcmlwdGlvbnMtaXRlbSBsYWJlbD1cIuWQiOWQjOexu+Wei1wiID5cbiAgICA2MVx0ICAgICAgICAgICAgICAgICAgICB7e1xuLi4uXG4gICAxNDFcdFxuICAgMTQyXHRleHBvcnQgZGVmYXVsdCB7XG4gICAxNDNcdCAgICBkYXRhKCkge1xuICAgMTQ0XHQgICAgICAgIC8vIOmhtemdouaVsOaNruWPmOmHj1xuICAgMTQ1XHQgICAgICAgIHJldHVybiB7XG4gICAxNDZcdCAgICAgICAgICAgIHNob3dJbmZvOiBmYWxzZSxcbiAgIDE0N1x0ICAgICAgICAgICAgaW5mbzogbnVsbCxcbiAgIDE0OFx0ICAgICAgICAgICAgdGl0bGU6ICcnLFxuICAgMTQ5XHQgICAgICAgICAgICB0eXBlTGlzdDogW1xuICAgMTUwXHQgICAgICAgICAgICAgICAge3ZhbHVlOiBcImVucXVpcnlcIiwgbGFiZWw6ICfor6Lku7cnfSxcbiAgIDE1MVx0ICAgICAgICAgICAgICAgIHt2YWx1ZTogXCJwcm9jZXNzXCIsIGxhYmVsOiAn5Yqg5belJ30sXG4gICAxNTJcdCAgICAgICAgICAgICAgICB7dmFsdWU6IFwib2xkXCIsIGxhYmVsOiAn5pen6LSnJ30sXG4gICAxNTNcdCAgICAgICAgICAgICAgICB7dmFsdWU6IFwic2lnblwiLCBsYWJlbDogJ+etvue6puWunSd9LFxuICAgMTU0XHQgICAgICAgICAgICAgICAge3ZhbHVlOiBcInNlbGYtc3VwcG9ydFwiLCBsYWJlbDogJ+iHquiQpeivouS7tyd9XG4gICAxNTVcdCAgICAgICAgICAgIF0sXG4gICAxNTZcdCAgICAgICAgICAgIGluZm9Db2x1bW5zOiBbXG4gICAxNTdcdCAgICAgICAgICAgICAgICB7a2V5OiBcInRyYW5zYWN0aW9uSWRcIiwgdGl0bGU6IFwi5ZCI5ZCM57yW5Y+3XCIsIHR5cGU6IFwidGV4dFwifSxcbiAgIDE1OFx0ICAgICAgICAgICAgICAgIHtcbiAgIDE1OVx0ICAgICAgICAgICAgICAgICAgICBrZXk6IFwidHlwZVwiLCB0aXRsZTogXCLlkIjlkIznsbvlnotcIiwgdHlwZTogXCJzZWxlY3RcIixcbiAgIDE2MFx0ICAgICAgICAgICAgICAgICAgICBkYXRhOiBbXG4gICAxNjFcdCAgICAgICAgICAgICAgICAgICAgICAgIHt2YWx1ZTogXCJlbnF1aXJ5XCIsIGxhYmVsOiAn6K+i5Lu3J30sXG4gICAxNjJcdCAgICAgICAgICAgICAgICAgICAgICAgIHt2YWx1ZTogXCJwcm9jZXNzXCIsIGxhYmVsOiAn5Yqg5belJ30sXG4gICAxNjNcdCAgICAgICAgICAgICAgICAgICAgICAgIHt2YWx1ZTogXCJvbGRcIiwgbGFiZWw6ICfml6fotKcnfSxcbiAgIDE2NFx0ICAgICAgICAgICAgICAgICAgICAgICAge3ZhbHVlOiBcInNpZ25cIiwgbGFiZWw6ICfnrb7nuqblrp0nfSxcbiAgIDE2NVx0ICAgICAgICAgICAgICAgICAgICAgICAge3ZhbHVlOiBcInNlbGYtc3VwcG9ydFwiLCBsYWJlbDogJ+iHquiQpeivouS7tyd9LFxuICAgMTY2XHQgICAgICAgICAgICAgICAgICAgIF1cbiAgIDE2N1x0ICAgICAgICAgICAgICAgIH0sXG4gICAxNjhcdCAgICAgICAgICAgICAgICB7a2V5OiBcImRvY1RpdGxlXCIsIHRpdGxlOiBcIuWQiOWQjOWQjeensFwiLCB0eXBlOiBcInRleHRcIn0sXG4gICAxNjlcdCAgICAgICAgICAgICAgICB7a2V5OiBcImFtb3VudFwiLCB0aXRsZTogXCLlkIjlkIzph5Hpop1cIiwgdHlwZTogXCJ0ZXh0XCJ9LFxuICAgMTcwXHQgICAgICAgICAgICAgICAge2tleTogXCJfYWRkX3RpbWVfc3RyXCIsIHRpdGxlOiBcIuWPkei1t+aXtumXtFwiLCB0eXBlOiBcInRleHRcIn0sXG4gICAxNzFcdCAgICAgICAgICAgICAgICB7XG4gICAxNzJcdCAgICAgICAgICAgICAgICAgICAga2V5OiBcInVzZXJDb250cmFjdFwiLCB0aXRsZTogXCLnlLLmlrnkv6Hmga9cIiwgdHlwZTogXCJodG1sXCIsIGZvcm1hdHRlcjogKHZhbCwgcm93LCBjb2x1bW4sIGluZGV4KSA9PiB7XG4gICAxNzNcdCAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGluZm8gPSB2YWwuZmluZChpdGVtID0+IGl0ZW0ucm9sZSA9PT0gJ2J1eWVyJyk7XG4gICAxNzRcdCAgICAgICAgICAgICAgICAgICAgICAgIGxldCBzdHIgPSBgPGRpdj4ke2luZm8udXNlci5hY2NvdW50VHlwZSA9PT0gMiA/IGluZm8udXNlci5jb21wYW55LmNvbXBhbnlOYW1lIDogaW5mby51c2VyLnBlcnNvbi5wZXJzb25OYW1lfTwvZGl2PmBcbiAgIDE3NVx0ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGluZm8udXNlci5idXNpbmVzc0NhcmQpIHtcbiAgIDE3Nlx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpbmZvLnVzZXIuYnVzaW5lc3NDYXJkLmFyZWEpIHtcbiAgIDE3N1x0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIgKz0gYDxkaXYgPiR7aW5mby51c2VyLmJ1c2luZXNzQ2FyZC5wcm92aW5jZS5uYW1lfSR7aW5mby51c2VyLmJ1c2luZXNzQ2FyZC5jaXR5Lm5hbWV9JHtpbmZvLnVzZXIuYnVzaW5lc3NDYXJkLmFyZWEubmFtZX08L2Rpdj5gXG4gICAxNzhcdCAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAxNzlcdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIgKz0gYDxkaXY+6IGU57O75pa55byPOiR7aW5mby51c2VyLmFjY291bnRUeXBlID09PSAyID8gaW5mby51c2VyLmJ1c2luZXNzQ2FyZC5jb21wYW55TW9iaWxlIDogaW5mby51c2VyLnBlcnNvbi5tb2JpbGV9PC9kaXY+YFxuICAgMTgwXHQgICAgICAgICAgICAgICAgICAgICAgICB9XG4uLi5cbiAgIDIyMlx0ICAgICAgICAgICAgLy8g6aG16Z2i5piv5ZCm6K+35rGC5Lit5oiW5Yqg6L295LitXG4gICAyMjNcdCAgICAgICAgICAgIGxvYWRpbmc6IGZhbHNlLFxuICAgMjI0XHQgICAgICAgICAgICAvLyBpbml06K+35rGC6L+U5Zue55qE5pWw5o2uXG4gICAyMjVcdCAgICAgICAgICAgIGRhdGE6IHt9LFxuICAgMjI2XHQgICAgICAgICAgICAvLyDooajmoLznm7jlhbPlvIDlp4sgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIDIyN1x0ICAgICAgICAgICAgdGFibGUxOiB7XG4gICAyMjhcdCAgICAgICAgICAgICAgICAvLyDooajmoLzmlbDmja7or7fmsYLlnLDlnYBcbiAgIDIyOVx0ICAgICAgICAgICAgICAgIGFjdGlvbjogXCJhZG1pbi9jb250cmFjdC9zeXMvZ2V0TGlzdFwiLFxuICAgMjMwXHQgICAgICAgICAgICAgICAgLy8g6KGo5qC85a2X5q615pi+56S66KeE5YiZXG4gICAyMzFcdCAgICAgICAgICAgICAgICBjb2x1bW5zOiBbXG4gICAyMzJcdCAgICAgICAgICAgICAgICAgICAge1xuICAgMjMzXHQgICAgICAgICAgICAgICAgICAgICAgICBrZXk6IFwidHJhbnNhY3Rpb25JZFwiLFxuICAgMjM0XHQgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogXCLlkIjlkIznvJblj7dcIixcbiAgIDIzNVx0ICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJ0ZXh0XCIsXG4gICAyMzZcdCAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduOiBcImxlZnRcIixcbiAgIDIzN1x0ICAgICAgICAgICAgICAgICAgICB9LFxuICAgMjM4XHQgICAgICAgICAgICAgICAgICAgIHtcbiAgIDIzOVx0ICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBcInR5cGVcIiwgdGl0bGU6IFwi5ZCI5ZCM57G75Z6LXCIsIHR5cGU6IFwic2VsZWN0XCIsXG4gICAyNDBcdCAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IFtcbiAgIDI0MVx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt2YWx1ZTogXCJlbnF1aXJ5XCIsIGxhYmVsOiAn6K+i5Lu3J30sXG4gICAyNDJcdCAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dmFsdWU6IFwicHJvY2Vzc1wiLCBsYWJlbDogJ+WKoOW3pSd9LFxuICAgMjQzXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAge3ZhbHVlOiBcIm9sZFwiLCBsYWJlbDogJ+aXp+i0pyd9LFxuICAgMjQ0XHQgICAgICAgICAgICAgICAgICAgICAgICAgICAge3ZhbHVlOiBcInNpZ25cIiwgbGFiZWw6ICfnrb7nuqblrp0nfSxcbiAgIDI0NVx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt2YWx1ZTogXCJzZWxmLXN1cHBvcnRcIiwgbGFiZWw6ICfoh6rokKXor6Lku7cnfSxcbiAgIDI0Nlx0ICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgMjQ3XHQgICAgICAgICAgICAgICAgICAgIH0sXG4gICAyNDhcdCAgICAgICAgICAgICAgICAgICAge1xuICAgMjQ5XHQgICAgICAgICAgICAgICAgICAgICAgICBrZXk6IFwiZG9jVGl0bGVcIixcbiAgIDI1MFx0ICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IFwi5ZCI5ZCM5ZCN56ewXCIsXG4gICAyNTFcdCAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwidGV4dFwiLFxuICAgMjUyXHQgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbjogXCJsZWZ0XCIsXG4gICAyNTNcdCAgICAgICAgICAgICAgICAgICAgfSxcbiAgIDI1NFx0ICAgICAgICAgICAgICAgICAgICB7XG4gICAyNTVcdCAgICAgICAgICAgICAgICAgICAgICAgIGtleTogXCJhbW91bnRcIixcbiAgIDI1Nlx0ICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IFwi5ZCI5ZCM6YeR6aKdXCIsXG4gICAyNTdcdCAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwidGV4dFwiLFxuICAgMjU4XHQgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbjogXCJsZWZ0XCIsXG4gICAyNTlcdCAgICAgICAgICAgICAgICAgICAgfSxcbi4uLlxuICAgMjkyXHQgICAgICAgICAgICAvLyDooajmoLznm7jlhbPnu5PmnZ8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIDI5M1x0ICAgICAgICAgICAgLy8g6KGo5Y2V55u45YWz5byA5aeLIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAyOTRcdCAgICAgICAgICAgIC8vIOafpeivouihqOWNleivt+axguaVsOaNrlxuICAgMjk1XHQgICAgICAgICAgICBxdWVyeUZvcm0xOiB7XG4gICAyOTZcdCAgICAgICAgICAgICAgICAvLyDmn6Xor6LooajljZXmlbDmja7mupDvvIzlj6/lnKjmraTorr7nva7pu5jorqTlgLxcbiAgIDI5N1x0ICAgICAgICAgICAgICAgIGZvcm1EYXRhOiB7fSxcbiAgIDI5OFx0ICAgICAgICAgICAgICAgIC8vIOafpeivouihqOWNleeahOWtl+auteinhOWImSBmaWVsZE5hbWU65oyH5a6a5pWw5o2u5bqT5a2X5q615ZCNLOS4jeWhq+m7mOiupOetieS6jmtleVxuICAgMjk5XHQgICAgICAgICAgICAgICAgY29sdW1uczogW1xuICAgMzAwXHQgICAgICAgICAgICAgICAgICAgIHtcbiAgIDMwMVx0ICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBcInRyYW5zYWN0aW9uSWRcIixcbiAgIDMwMlx0ICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IFwi5ZCI5ZCM57yW5Y+3XCIsXG4gICAzMDNcdCAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwidGV4dFwiLFxuICAgMzA0XHQgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTYwLFxuICAgMzA1XHQgICAgICAgICAgICAgICAgICAgICAgICBtb2RlOiBcIiUlXCJcbiAgIDMwNlx0ICAgICAgICAgICAgICAgICAgICB9LFxuICAgMzA3XHQgICAgICAgICAgICAgICAgICAgIHtcbiAgIDMwOFx0ICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBcInR5cGVcIixcbiAgIDMwOVx0ICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IFwi5ZCI5ZCM57G75Z6LXCIsXG4gICAzMTBcdCAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwic2VsZWN0XCIsXG4gICAzMTFcdCAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IFtcbiAgIDMxMlx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt2YWx1ZTogXCJlbnF1aXJ5XCIsIGxhYmVsOiAn6K+i5Lu3J30sXG4gICAzMTNcdCAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dmFsdWU6IFwicHJvY2Vzc1wiLCBsYWJlbDogJ+WKoOW3pSd9LFxuICAgMzE0XHQgICAgICAgICAgICAgICAgICAgICAgICAgICAge3ZhbHVlOiBcIm9sZFwiLCBsYWJlbDogJ+aXp+i0pyd9LFxuICAgMzE1XHQgICAgICAgICAgICAgICAgICAgICAgICAgICAge3ZhbHVlOiBcInNpZ25cIiwgbGFiZWw6ICfnrb7nuqblrp0nfSxcbiAgIDMxNlx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt2YWx1ZTogXCJzZWxmLXN1cHBvcnRcIiwgbGFiZWw6ICfoh6rokKXor6Lku7cnfSxcbiAgIDMxN1x0ICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgMzE4XHQgICAgICAgICAgICAgICAgICAgIH0sXG4gICAzMTlcdCAgICAgICAgICAgICAgICAgICAge1xuICAgMzIwXHQgICAgICAgICAgICAgICAgICAgICAgICBrZXk6IFwic3RhdHVzXCIsXG4gICAzMjFcdCAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBcIuWQiOWQjOeKtuaAgVwiLFxuICAgMzIyXHQgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcInNlbGVjdFwiLFxuICAgMzIzXHQgICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiBbXG4gICAzMjRcdCAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dmFsdWU6IDAsIGxhYmVsOiAn5b6F5Yib5bu6J30sXG4gICAzMjVcdCAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dmFsdWU6IDEsIGxhYmVsOiAn5b6F562+572yJ30sXG4gICAzMjZcdCAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dmFsdWU6IDIsIGxhYmVsOiAn5bey562+572yJ30sXG4gICAzMjdcdCAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgIDMyOFx0ICAgICAgICAgICAgICAgICAgICB9LFxuICAgMzI5XHQgICAgICAgICAgICAgICAgXVxuICAgMzMwXHQgICAgICAgICAgICB9LFxuICAgMzMxXHQgICAgICAgICAgICBmb3JtMToge1xuICAgMzMyXHQgICAgICAgICAgICAgICAgLy8g6KGo5Y2V6K+35rGC5pWw5o2u77yM5q2k5aSE5Y+v5Lul6K6+572u6buY6K6k5YC8XG4gICAzMzNcdCAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICAzMzRcdCAgICAgICAgICAgICAgICAgICAgc29ydDogMFxuICAgMzM1XHQgICAgICAgICAgICAgICAgfSxcbi4uLlxuICAgNDIyXHQgICAgLy8g5Ye95pWwXG4gICA0MjNcdCAgICBtZXRob2RzOiB7XG4gICA0MjRcdCAgICAgICAgLy8g6aG16Z2i5pWw5o2u5Yid5aeL5YyW5Ye95pWwXG4gICA0MjVcdCAgICAgICAgaW5pdChvcHRpb25zKSB7XG4gICA0MjZcdCAgICAgICAgICAgIG9yaWdpbmFsRm9ybXNbXCJmb3JtMVwiXSA9IHZrLnB1YmZuLmNvcHlPYmplY3QodGhhdC5mb3JtMSk7XG4gICA0MjdcdCAgICAgICAgfSxcbiAgIDQyOFx0ICAgICAgICAvLyDpobXpnaLot7PovaxcbiAgIDQyOVx0ICAgICAgICBwYWdlVG8ocGF0aCkge1xuICAgNDMwXHQgICAgICAgICAgICB2ay5uYXZpZ2F0ZVRvKHBhdGgpO1xuICAgNDMxXHQgICAgICAgIH0sXG4gICA0MzJcdCAgICAgICAgLy8g6KGo5Y2V6YeN572uXG4gICA0MzNcdCAgICAgICAgcmVzZXRGb3JtKCkge1xuICAgNDM0XHQgICAgICAgICAgICB2ay5wdWJmbi5yZXNldEZvcm0ob3JpZ2luYWxGb3JtcywgdGhhdCk7XG4gICA0MzVcdCAgICAgICAgfSxcbiAgIDQzNlx0ICAgICAgICAvLyDmkJzntKJcbiAgIDQzN1x0ICAgICAgICBzZWFyY2goKSB7XG4gICA0MzhcdCAgICAgICAgICAgIHRoYXQuJHJlZnMudGFibGUxLnNlYXJjaCgpO1xuICAgNDM5XHQgICAgICAgIH0sXG4gICA0NDBcdCAgICAgICAgLy8g5Yi35pawXG4gICA0NDFcdCAgICAgICAgcmVmcmVzaCgpIHtcbiAgIDQ0Mlx0ICAgICAgICAgICAgdGhhdC4kcmVmcy50YWJsZTEucmVmcmVzaCgpO1xuICAgNDQzXHQgICAgICAgIH0sXG4gICA0NDRcdCAgICAgICAgLy8g6I635Y+W5b2T5YmN6YCJ5Lit55qE6KGM55qE5pWw5o2uXG4gICA0NDVcdCAgICAgICAgZ2V0Q3VycmVudFJvdygpIHtcbiAgIDQ0Nlx0ICAgICAgICAgICAgcmV0dXJuIHRoYXQuJHJlZnMudGFibGUxLmdldEN1cnJlbnRSb3coKTtcbiAgIDQ0N1x0ICAgICAgICB9LFxuICAgNDQ4XHQgICAgICAgIC8vIOebkeWQrCAtIOihjOeahOmAieS4remrmOS6ruS6i+S7tlxuICAgNDQ5XHQgICAgICAgIGN1cnJlbnRDaGFuZ2UodmFsKSB7XG4gICA0NTBcdCAgICAgICAgICAgIHRoYXQudGFibGUxLnNlbGVjdEl0ZW0gPSB2YWw7XG4gICA0NTFcdCAgICAgICAgfSxcbiAgIDQ1Mlx0ICAgICAgICAvLyDlvZPpgInmi6npobnlj5HnlJ/lj5jljJbml7bkvJrop6blj5Hor6Xkuovku7ZcbiAgIDQ1M1x0ICAgICAgICBzZWxlY3Rpb25DaGFuZ2UobGlzdCkge1xuICAgNDU0XHQgICAgICAgICAgICB0aGF0LnRhYmxlMS5tdWx0aXBsZVNlbGVjdGlvbiA9IGxpc3Q7XG4gICA0NTVcdCAgICAgICAgfSxcbiAgIDQ1Nlx0ICAgICAgICAvLyDmmL7npLrmt7vliqDpobXpnaJcbiAgIDQ1N1x0ICAgICAgICBhZGRCdG4oKSB7XG4gICA0NThcdCAgICAgICAgICAgIHRoYXQucmVzZXRGb3JtKCk7XG4gICA0NTlcdCAgICAgICAgICAgIHRoYXQuZm9ybTEucHJvcHMuYWN0aW9uID0gJ2FkbWluL2NvbnRyYWN0L3RlbXBsYXRlL3N5cy9hZGQnO1xuICAgNDYwXHQgICAgICAgICAgICB0aGF0LmZvcm0xLnByb3BzLmZvcm1UeXBlID0gJ2FkZCc7XG4gICA0NjFcdCAgICAgICAgICAgIHRoYXQuZm9ybTEucHJvcHMudGl0bGUgPSAn5re75YqgJztcbiAgIDQ2Mlx0ICAgICAgICAgICAgdGhhdC5mb3JtMS5wcm9wcy5zaG93ID0gdHJ1ZTtcbiAgIDQ2M1x0ICAgICAgICB9LFxuICAgNDY0XHQgICAgICAgIC8vIOaYvuekuuS/ruaUuemhtemdolxuICAgNDY1XHQgICAgICAgIHVwZGF0ZUJ0bih7XG4gICA0NjZcdCAgICAgICAgICAgICAgICAgICAgICBpdGVtXG4gICA0NjdcdCAgICAgICAgICAgICAgICAgIH0pIHtcbiAgIDQ2OFx0ICAgICAgICAgICAgdGhhdC5mb3JtMS5wcm9wcy5hY3Rpb24gPSAnYWRtaW4vY29udHJhY3QvdGVtcGxhdGUvc3lzL3VwZGF0ZSc7XG4gICA0NjlcdCAgICAgICAgICAgIHRoYXQuZm9ybTEucHJvcHMuZm9ybVR5cGUgPSAndXBkYXRlJztcbiAgIDQ3MFx0ICAgICAgICAgICAgdGhhdC5mb3JtMS5wcm9wcy50aXRsZSA9ICfnvJbovpEnO1xuICAgNDcxXHQgICAgICAgICAgICB0aGF0LmZvcm0xLnByb3BzLnNob3cgPSB0cnVlO1xuICAgNDcyXHQgICAgICAgICAgICB0aGF0LmZvcm0xLmRhdGEgPSBpdGVtO1xuICAgNDczXHQgICAgICAgIH0sXG4gICA0NzRcdCAgICAgICAgLy8g5Yig6Zmk5oyJ6ZKuXG4gICA0NzVcdCAgICAgICAgZGVsZXRlQnRuKHtcbiAgIDQ3Nlx0ICAgICAgICAgICAgICAgICAgICAgIGl0ZW0sXG4gICA0NzdcdCAgICAgICAgICAgICAgICAgICAgICBkZWxldGVGblxuICAgNDc4XHQgICAgICAgICAgICAgICAgICB9KSB7XG4gICA0NzlcdCAgICAgICAgICAgIGRlbGV0ZUZuKHtcbiAgIDQ4MFx0ICAgICAgICAgICAgICAgIGFjdGlvbjogXCJhZG1pbi9jb250cmFjdC90ZW1wbGF0ZS9zeXMvZGVsZXRlXCIsXG4gICA0ODFcdCAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICA0ODJcdCAgICAgICAgICAgICAgICAgICAgX2lkOiBpdGVtLl9pZFxuICAgNDgzXHQgICAgICAgICAgICAgICAgfSxcbiAgIDQ4NFx0ICAgICAgICAgICAgfSk7XG4gICA0ODVcdCAgICAgICAgfSxcbiAgIDQ4Nlx0ICAgICAgICAvLyDnm5HlkKwgLSDmibnph4/mk43kvZznmoTmjInpkq7ngrnlh7vkuovku7ZcbiAgIDQ4N1x0ICAgICAgICBiYXRjaEJ0bihpbmRleCkge1xuICAgNDg4XHQgICAgICAgICAgICBzd2l0Y2ggKGluZGV4KSB7XG4gICA0ODlcdCAgICAgICAgICAgICAgICBjYXNlIDE6XG4gICA0OTBcdCAgICAgICAgICAgICAgICAgICAgdmsudG9hc3QoXCLmibnph4/mk43kvZzmjInpkq4xXCIpO1xuICAgNDkxXHQgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgNDkyXHQgICAgICAgICAgICAgICAgY2FzZSAyOlxuICAgNDkzXHQgICAgICAgICAgICAgICAgICAgIHZrLnRvYXN0KFwi5om56YeP5pON5L2c5oyJ6ZKuMlwiKTtcbiAgIDQ5NFx0ICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgIDQ5NVx0ICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICA0OTZcdCAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICA0OTdcdCAgICAgICAgICAgIH1cbiAgIDQ5OFx0ICAgICAgICB9LFxuICAgNDk5XHQgICAgICAgIGRvU2hvd0luZm8oaW5mbykge1xuICAgNTAwXHQgICAgICAgICAgICB0aGlzLmluZm8gPSBpbmZvXG4gICA1MDFcdCAgICAgICAgICAgIHRoaXMudGl0bGUgPSAn6K+m5oOFJ1xuICAgNTAyXHQgICAgICAgICAgICB0aGlzLnNob3dJbmZvID0gdHJ1ZVxuICAgNTAzXHQgICAgICAgIH0sXG4gICA1MDRcdCAgICAgICAgdmlld0NvbnRyYWN0KGNvbnRyYWN0SWQpIHtcbiAgIDUwNVx0ICAgICAgICAgICAgdmsuY2FsbEZ1bmN0aW9uKHtcbiAgIDUwNlx0ICAgICAgICAgICAgICAgIHVybDogJ2NsaWVudC9jb250cmFjdC9raC92aWV3Q29udHJhY3QnLFxuICAgNTA3XHQgICAgICAgICAgICAgICAgdGl0bGU6ICfor7fmsYLkuK0uLi4nLFxuICAgNTA4XHQgICAgICAgICAgICAgICAgZGF0YToge1xuICAgNTA5XHQgICAgICAgICAgICAgICAgICAgIGNvbnRyYWN0SWRcbiAgIDUxMFx0ICAgICAgICAgICAgICAgIH0sXG4gICA1MTFcdCAgICAgICAgICAgICAgICBzdWNjZXNzOiAocmVzKSA9PiB7XG4gICA1MTJcdCAgICAgICAgICAgICAgICAgICAgd2luZG93Lm9wZW4ocmVzLmRhdGEpXG4gICA1MTNcdCAgICAgICAgICAgICAgICAgICAgdGhpcy5xdWVyeSgxKVxuICAgNTE0XHQgICAgICAgICAgICAgICAgfVxuICAgNTE1XHQgICAgICAgICAgICB9KTtcbiAgIDUxNlx0ICAgICAgICB9LFxuLi4uXG5QYXRoOiBwYWdlcy9jb250cmFjdC90ZW1wbGF0ZS9saXN0LnZ1ZVxuLi4uXG4gICAgMjlcdFxuICAgIDMwXHQgICAgICAgIDwhLS0g6KGo5qC857uE5Lu25byA5aeLIC0tPlxuICAgIDMxXHQgICAgICAgIDx2ay1kYXRhLXRhYmxlIHJlZj1cInRhYmxlMVwiIDphY3Rpb249XCJ0YWJsZTEuYWN0aW9uXCIgOmNvbHVtbnM9XCJ0YWJsZTEuY29sdW1uc1wiIDpxdWVyeS1mb3JtLXBhcmFtPVwicXVlcnlGb3JtMVwiXG4gICAgMzJcdCAgICAgICAgICAgICAgICAgICAgICAgOnBhZ2Utc2l6ZT1cIjIwMFwiXG4gICAgMzNcdCAgICAgICAgICAgICAgICAgICAgICAgOnJpZ2h0LWJ0bnM9XCJbJ2RldGFpbF9hdXRvJywndXBkYXRlJywnZGVsZXRlJ11cIiA6ZGVmYXVsdC1leHBhbmQtYWxsPVwiZmFsc2VcIiBAdXBkYXRlPVwidXBkYXRlQnRuXCJcbiAgICAzNFx0ICAgICAgICAgICAgICAgICAgICAgICBAZGVsZXRlPVwiZGVsZXRlQnRuXCIgQGN1cnJlbnQtY2hhbmdlPVwiY3VycmVudENoYW5nZVwiIEBzZWxlY3Rpb24tY2hhbmdlPVwic2VsZWN0aW9uQ2hhbmdlXCI+XG4gICAgMzVcdCAgICAgICAgICAgIDx0ZW1wbGF0ZSB2LXNsb3Q6aXNPbj1cInsgcm93LCBjb2x1bW4sIGluZGV4IH1cIj5cbiAgICAzNlx0ICAgICAgICAgICAgICAgIDxlbC1zd2l0Y2ggdi1tb2RlbD1cInJvdy5pc09uXCIgc2l6ZT1cIm1pbmlcIiBAY2hhbmdlPVwiY2hhbmdlRmllbGQocm93Ll9pZCwgJ2lzT24nLCAkZXZlbnQpXCJcbiAgICAzN1x0ICAgICAgICAgICAgICAgICAgICAgICAgICAgOmFjdGl2ZS12YWx1ZT1cInRydWVcIlxuICAgIDM4XHQgICAgICAgICAgICAgICAgICAgICAgICAgICA6aW5hY3RpdmUtdmFsdWU9XCJmYWxzZVwiLz5cbiAgICAzOVx0ICAgICAgICAgICAgPC90ZW1wbGF0ZT5cbiAgICA0MFx0ICAgICAgICA8L3ZrLWRhdGEtdGFibGU+XG4gICAgNDFcdCAgICAgICAgPCEtLSDooajmoLznu4Tku7bnu5PmnZ8gLS0+XG4uLi5cbiAgICA3MFx0ICAgICAgICAgICAgLy8g6KGo5qC855u45YWz5byA5aeLIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgNzFcdCAgICAgICAgICAgIHRhYmxlMToge1xuICAgIDcyXHQgICAgICAgICAgICAgICAgLy8g6KGo5qC85pWw5o2u6K+35rGC5Zyw5Z2AXG4gICAgNzNcdCAgICAgICAgICAgICAgICBhY3Rpb246IFwiYWRtaW4vY29udHJhY3QvdGVtcGxhdGUvc3lzL2dldExpc3RcIixcbiAgICA3NFx0ICAgICAgICAgICAgICAgIC8vIOihqOagvOWtl+auteaYvuekuuinhOWImVxuICAgIDc1XHQgICAgICAgICAgICAgICAgY29sdW1uczogW1xuICAgIDc2XHQgICAgICAgICAgICAgICAgICAgIC8vIHtcbiAgICA3N1x0ICAgICAgICAgICAgICAgICAgICAvLyBcdGtleTogXCJfaWRcIixcbiAgICA3OFx0ICAgICAgICAgICAgICAgICAgICAvLyBcdHRpdGxlOiBcImlkXCIsXG4gICAgNzlcdCAgICAgICAgICAgICAgICAgICAgLy8gXHR0eXBlOiBcInRleHRcIixcbiAgICA4MFx0ICAgICAgICAgICAgICAgICAgICAvLyBcdHdpZHRoOiAyMjBcbiAgICA4MVx0ICAgICAgICAgICAgICAgICAgICAvLyB9LFxuICAgIDgyXHQgICAgICAgICAgICAgICAgICAgIHtcbiAgICA4M1x0ICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBcIm5hbWVcIixcbiAgICA4NFx0ICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IFwi5ZCN56ewXCIsXG4gICAgODVcdCAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwidGV4dFwiLFxuICAgIDg2XHQgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjIwLFxuICAgIDg3XHQgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbjogXCJsZWZ0XCIsXG4gICAgODhcdCAgICAgICAgICAgICAgICAgICAgfSxcbiAgICA4OVx0ICAgICAgICAgICAgICAgICAgICB7XG4gICAgOTBcdCAgICAgICAgICAgICAgICAgICAgICAgIGtleTogXCJmaWVsZFwiLFxuICAgIDkxXHQgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogXCLlj5jph49cIixcbiAgICA5Mlx0ICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJ0ZXh0XCIsXG4gICAgOTNcdCAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduOiBcImxlZnRcIixcbiAgICA5NFx0ICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIyMFxuICAgIDk1XHQgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgOTZcdCAgICAgICAgICAgICAgICAgICAge1xuICAgIDk3XHQgICAgICAgICAgICAgICAgICAgICAgICBrZXk6IFwiaXNPblwiLFxuICAgIDk4XHQgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogXCLmmK/lkKblkK/nlKhcIixcbiAgICA5OVx0ICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJzd2l0Y2hcIixcbiAgIDEwMFx0ICAgICAgICAgICAgICAgICAgICB9LFxuICAgMTAxXHQgICAgICAgICAgICAgICAgICAgIHtcbiAgIDEwMlx0ICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBcIl9hZGRfdGltZVwiLFxuICAgMTAzXHQgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogXCLmt7vliqDml7bpl7RcIixcbiAgIDEwNFx0ICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJ0aW1lXCIsXG4gICAxMDVcdCAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduOiBcImxlZnRcIixcbiAgIDEwNlx0ICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE2MCxcbiAgIDEwN1x0ICAgICAgICAgICAgICAgICAgICAgICAgc29ydGFibGU6IFwiY3VzdG9tXCJcbiAgIDEwOFx0ICAgICAgICAgICAgICAgICAgICB9LFxuICAgMTA5XHQgICAgICAgICAgICAgICAgICAgIHtcbiAgIDExMFx0ICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBcIl9hZGRfdGltZVwiLFxuICAgMTExXHQgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogXCLot53nprvnjrDlnKhcIixcbiAgIDExMlx0ICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJkYXRlRGlmZlwiLFxuICAgMTEzXHQgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbjogXCJsZWZ0XCIsXG4gICAxMTRcdCAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMjBcbiAgIDExNVx0ICAgICAgICAgICAgICAgICAgICB9LFxuICAgMTE2XHQgICAgICAgICAgICAgICAgXSxcbiAgIDExN1x0ICAgICAgICAgICAgICAgIC8vIOWkmumAieahhumAieS4reeahOWAvFxuICAgMTE4XHQgICAgICAgICAgICAgICAgbXVsdGlwbGVTZWxlY3Rpb246IFtdLFxuICAgMTE5XHQgICAgICAgICAgICAgICAgLy8g5b2T5YmN6auY5Lqu55qE6K6w5b2VXG4gICAxMjBcdCAgICAgICAgICAgICAgICBzZWxlY3RJdGVtOiBcIlwiXG4gICAxMjFcdCAgICAgICAgICAgIH0sXG4uLi5cblBhdGg6IHBhZ2VzX3RlbXBsYXRlL2NvbXBvbmVudHMvZm9ybS9mb3JtLXBheS1jZXJ0LnZ1ZVxuICAgICAxXHQ8dGVtcGxhdGU+XG4gICAgIDJcdFx0PHZpZXcgY2xhc3M9XCJwYWdlXCI+XG4gICAgIDNcdFx0XHQ8IS0tIOmhtemdouWGheWuueW8gOWniyAtLT5cbiAgICAgNFx0XHRcdDx2ay1kYXRhLXBhZ2UtaGVhZGVyXG4gICAgIDVcdFx0XHRcdHRpdGxlPVwi6K+B5Lmm6L2s5o2iXCJcbiAgICAgNlx0XHRcdFx0c3ViVGl0bGU9XCLlv6vpgJ/lsIbor4HkuablhoXlrrnlj5jmiJAx6KGM5a2X56ym5LiyXCJcbiAgICAgN1x0XHRcdD48L3ZrLWRhdGEtcGFnZS1oZWFkZXI+XG4gICAgIDhcdFx0XHQ8dmlldyBjbGFzcz1cInBhZ2UtYm9keVwiIHN0eWxlPVwid2lkdGg6IDEwMCVcIj5cbiAgICAgOVx0XHRcdFx0PHZpZXcgc3R5bGU9XCJjb2xvcjogcmVkO2ZvbnQtc2l6ZTogMTJweDtcIj7lhajnqIvml6DnvZHnu5zor7fmsYLvvIjmiZPlvIDmraTpobXpnaLlkI7ml6DnvZHnirbmgIHkuZ/og73miafooYzvvInvvIznm7TmjqXlnKjliY3nq6/op6PmnpDor4HkuabvvIzmsqHmnInor4Hkuabms4TpnLLpo47pmak8L3ZpZXc+XG4gICAgMTBcdFx0XHRcdDxlbC10YWJsZSA6ZGF0YT1cImNlcnRMaXN0XCIgc3R5bGU9XCJ3aWR0aDogMTAwJVwiPlxuICAgIDExXHRcdFx0XHRcdDxlbC10YWJsZS1jb2x1bW4gcHJvcD1cInRpcHNcIiBsYWJlbD1cIuivtOaYjlwiIG1pbldpZHRoPVwiMzAwXCI+IDwvZWwtdGFibGUtY29sdW1uPlxuICAgIDEyXHRcdFx0XHRcdDxlbC10YWJsZS1jb2x1bW4gcHJvcD1cIm5hbWVcIiBsYWJlbD1cIumAieaLqeivgeS5plwiIG1pbldpZHRoPVwiMzAwXCI+XG4gICAgMTNcdFx0XHRcdFx0XHQ8dGVtcGxhdGUgc2xvdC1zY29wZT1cInNjb3BlXCI+XG4gICAgMTRcdFx0XHRcdFx0XHRcdDx0ZXh0IHN0eWxlPVwibWFyZ2luLXJpZ2h0OiAyMHB4O1wiPnt7IHNjb3BlLnJvdy5uYW1lIH19PC90ZXh0PlxuICAgIDE1XHRcdFx0XHRcdFx0XHQ8ZWwtYnV0dG9uIHR5cGU9XCJzdWNjZXNzXCIgQGNsaWNrPVwidXBsb2FkKHNjb3BlLnJvdylcIiBzaXplPVwibWluaVwiIHBsYWluPiB7eyBzY29wZS5yb3cuY29udGVudCA/ICflt7InIDogJyd9femAieaLqSB7eyBzY29wZS5yb3cuZmlsZSB9fSA8L2VsLWJ1dHRvbj5cbi4uLlxuICAgIDQxXHRcbiAgICA0Mlx0PHNjcmlwdD5cbiAgICA0M1x0XHR2YXIgdGhhdDtcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIOW9k+WJjemhtemdouWvueixoVxuICAgIDQ0XHRcdHZhciB2ayA9IHVuaS52aztcdFx0XHRcdFx0XHRcdFx0XHQvLyB2a+WunuS+i1xuICAgIDQ1XHRcdGV4cG9ydCBkZWZhdWx0IHtcbiAgICA0Nlx0XHRcdGRhdGEoKSB7XG4gICAgNDdcdFx0XHRcdC8vIOmhtemdouaVsOaNruWPmOmHj1xuICAgIDQ4XHRcdFx0XHRyZXR1cm4ge1xuICAgIDQ5XHRcdFx0XHRcdCBjZXJ0TGlzdDogW1xuICAgIDUwXHRcdFx0XHRcdFx0e1xuICAgIDUxXHRcdFx0XHRcdFx0XHRuYW1lOiAnYXBpY2xpZW50X2NlcnQucDEyJyxcbiAgICA1Mlx0XHRcdFx0XHRcdFx0dGlwczogJ+W+ruS/oeaUr+S7mHYy6ZyA6KaB55So5Yiw55qE6K+B5Lmm77yId3hwYXkucGZ477yJ55qE5YC8JyxcbiAgICA1M1x0XHRcdFx0XHRcdFx0ZmlsZTogJycsXG4gICAgNTRcdFx0XHRcdFx0XHRcdGNvbnRlbnQ6ICcnLFxuICAgIDU1XHRcdFx0XHRcdFx0XHRrZXk6ICd3eHBheS5wZngnXG4gICAgNTZcdFx0XHRcdFx0XHR9LFxuICAgIDU3XHRcdFx0XHRcdFx0e1xuICAgIDU4XHRcdFx0XHRcdFx0XHRuYW1lOiAnYXBpY2xpZW50X2NlcnQucGVtJyxcbiAgICA1OVx0XHRcdFx0XHRcdFx0dGlwczogJ+W+ruS/oeaUr+S7mHYz6ZyA6KaB55So5Yiw55qE6K+B5Lmm77yId3hwYXkuYXBwQ2VydENvbnRlbnTvvInnmoTlgLwnLFxuICAgIDYwXHRcdFx0XHRcdFx0XHRmaWxlOiAnJyxcbiAgICA2MVx0XHRcdFx0XHRcdFx0Y29udGVudDogJycsXG4gICAgNjJcdFx0XHRcdFx0XHRcdGtleTogJ3d4cGF5LmFwcENlcnRDb250ZW50J1xuICAgIDYzXHRcdFx0XHRcdFx0fSxcbiAgICA2NFx0XHRcdFx0XHRcdHtcbiAgICA2NVx0XHRcdFx0XHRcdFx0bmFtZTogJ2FwaWNsaWVudF9rZXkucGVtJyxcbiAgICA2Nlx0XHRcdFx0XHRcdFx0dGlwczogJ+W+ruS/oeaUr+S7mHYz6ZyA6KaB55So5Yiw55qE6K+B5Lmm77yId3hwYXkuYXBwUHJpdmF0ZUtleUNvbnRlbnTvvInnmoTlgLwnLFxuICAgIDY3XHRcdFx0XHRcdFx0XHRmaWxlOiAnJyxcbiAgICA2OFx0XHRcdFx0XHRcdFx0Y29udGVudDogJycsXG4gICAgNjlcdFx0XHRcdFx0XHRcdGtleTogJ3d4cGF5LmFwcFByaXZhdGVLZXlDb250ZW50J1xuICAgIDcwXHRcdFx0XHRcdFx0fSxcbiAgICA3MVx0XHRcdFx0XHRcdHtcbiAgICA3Mlx0XHRcdFx0XHRcdFx0bmFtZTogJ2FsaXBheUNlcnRQdWJsaWNLZXlfUlNBMi5jcnQnLFxuICAgIDczXHRcdFx0XHRcdFx0XHR0aXBzOiAn5pSv5LuY5a6d5pSv5LuYIC0g5pSv5LuY5a6d5YWs6ZKl6K+B5Lmm77yIYWxpcGF5LmFsaXBheVB1YmxpY0NlcnRDb250ZW5077yJ55qE5YC8JyxcbiAgICA3NFx0XHRcdFx0XHRcdFx0ZmlsZTogJycsXG4gICAgNzVcdFx0XHRcdFx0XHRcdGNvbnRlbnQ6ICcnLFxuICAgIDc2XHRcdFx0XHRcdFx0XHRrZXk6ICdhbGlwYXkuYWxpcGF5UHVibGljQ2VydENvbnRlbnQnXG4gICAgNzdcdFx0XHRcdFx0XHR9LFxuLi4uXG4gICAxNDJcdFx0XHRcdFx0bGV0IHN1ZmZpeCA9IG5hbWUuc3Vic3RyaW5nKG5hbWUubGFzdEluZGV4T2YoXCIuXCIpICsgMSk7XG4gICAxNDNcdFx0XHRcdFx0dW5pLmNob29zZUZpbGUoe1xuICAgMTQ0XHRcdFx0XHRcdCAgY291bnQ6IDEsIC8v6buY6K6kMTAwXG4gICAxNDVcdFx0XHRcdFx0ICBleHRlbnNpb246IFtzdWZmaXhdLFxuICAgMTQ2XHRcdFx0XHRcdFx0c3VjY2VzczogKHJlcykgPT4ge1xuICAgMTQ3XHRcdFx0XHRcdFx0XHRsZXQgdGVtcEZpbGUgPSByZXMudGVtcEZpbGVzWzBdO1xuICAgMTQ4XHRcdFx0XHRcdFx0XHRpZiAobmFtZSA9PT0gXCJhcGljbGllbnRfY2VydC5wMTJcIikge1xuICAgMTQ5XHRcdFx0XHRcdFx0XHRcdHZrLnB1YmZuLmZpbGVUb0Jhc2U2NCh7XG4gICAxNTBcdFx0XHRcdFx0XHRcdFx0ICBmaWxlOiB0ZW1wRmlsZSxcbiAgIDE1MVx0XHRcdFx0XHRcdFx0XHQgIHN1Y2Nlc3M6IChiYXNlNjQpID0+IHtcbiAgIDE1Mlx0XHRcdFx0XHRcdFx0XHRcdFx0bGV0IGJhc2U2NEluZGV4ID0gYmFzZTY0LmluZGV4T2YoXCJiYXNlNjQsXCIpO1xuICAgMTUzXHRcdFx0XHRcdFx0XHRcdFx0XHRiYXNlNjQgPSBiYXNlNjQuc3Vic3RyaW5nKGJhc2U2NEluZGV4K1wiYmFzZTY0LFwiLmxlbmd0aCk7XG4gICAxNTRcdFx0XHRcdFx0XHRcdFx0XHRcdHRoaXMuZm9ybTEud3hwYXkucGZ4ID0gYmFzZTY0O1xuICAgMTU1XHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLmNlcnRMaXN0W2luZGV4XS5jb250ZW50ID0gYmFzZTY0O1xuICAgMTU2XHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLmNlcnRMaXN0W2luZGV4XS5maWxlID0gdGVtcEZpbGUubmFtZTtcbiAgIDE1N1x0XHRcdFx0XHRcdFx0XHQgIH1cbiAgIDE1OFx0XHRcdFx0XHRcdFx0XHR9KTtcbiAgIDE1OVx0XHRcdFx0XHRcdFx0fSBlbHNlIHtcbiAgIDE2MFx0XHRcdFx0XHRcdFx0XHRjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgMTYxXHRcdFx0XHRcdFx0XHRcdHJlYWRlci5vbmxvYWQgPSAoKSA9PiB7XG4gICAxNjJcdFx0XHRcdFx0XHRcdFx0XHRsZXQgcmVzdWx0ID0gcmVhZGVyLnJlc3VsdDtcbiAgIDE2M1x0XHRcdFx0XHRcdFx0XHRcdHJlc3VsdCA9IHJlc3VsdC5yZXBsYWNlKC9cXHJcXG4vZywgXCJcXG5cIik7XG4gICAxNjRcdFx0XHRcdFx0XHRcdFx0XHR2ay5wdWJmbi5zZXREYXRhKHRoaXMuZm9ybTEsIGtleSwgcmVzdWx0KTtcbiAgIDE2NVx0XHRcdFx0XHRcdFx0XHRcdHRoaXMuY2VydExpc3RbaW5kZXhdLmNvbnRlbnQgPSByZXN1bHQ7XG4gICAxNjZcdFx0XHRcdFx0XHRcdFx0fTtcbi4uLlxuUGF0aDogcGFnZXMvY29udHJhY3QvY2VydGlmaWNhdGUudnVlXG4gICAgIDFcdDx0ZW1wbGF0ZT5cbiAgICAgMlx0XG4gICAgIDNcdDwvdGVtcGxhdGU+XG4gICAgIDRcdFxuICAgICA1XHQ8c2NyaXB0PlxuICAgICA2XHRleHBvcnQgZGVmYXVsdCB7XG4gICAgIDdcdCAgbmFtZTogXCJjZXJ0aWZpY2F0ZVwiLFxuICAgICA4XHQgIGRhdGEoKSB7XG4gICAgIDlcdCAgICByZXR1cm4ge31cbiAgICAxMFx0ICB9LFxuICAgIDExXHQgIG1ldGhvZHM6IHt9XG4gICAgMTJcdH1cbiAgICAxM1x0PC9zY3JpcHQ+Li4uXG5QYXRoOiB1bmlfbW9kdWxlcy91bmktY29uZmlnLWNlbnRlci91bmlDbG91ZC9jbG91ZGZ1bmN0aW9ucy9jb21tb24vdW5pLWNvbmZpZy1jZW50ZXIvdW5pLXBheS9hbGlwYXkv44CQ6YeN6KaB44CR6L+Z6YeM5pS+5pSv5LuY5a6d6K+B5LmmLm1kXG4gICAgIDFcdCMjIyDmlofku7blkI3vvJpcbiAgICAgMlx0IyMjIyAx44CBYGFsaXBheUNlcnRQdWJsaWNLZXlfUlNBMi5jcnRgXG4gICAgIDNcdCMjIyMgMuOAgWBhbGlwYXlSb290Q2VydC5jcnRgXG4gICAgIDRcdCMjIyMgM+OAgWBhcHBDZXJ0UHVibGljS2V5LmNydGBcbiAgICAgNVx0IVvor4HkuabkvY3nva5dKGh0dHBzOi8vdmtjZXl1Z3UuY2RuLmJzcGFwcC5jb20vVktDRVlVR1UtY2YwYzVlNjktNjIwYy00ZjNjLTg0YWItZjQ2MTkyNjI5MzlmLzYxYzE1ODJhLTJjYTctNDNkMy05MmViLWI4MjEzNmNjNTgzZi5wbmcpLi4uXG5QYXRoOiB1bmlfbW9kdWxlcy91bmktY29uZmlnLWNlbnRlci91bmlDbG91ZC9jbG91ZGZ1bmN0aW9ucy9jb21tb24vdW5pLWNvbmZpZy1jZW50ZXIvdW5pLXBheS93eHBheS/jgJDph43opoHjgJHov5nph4zmlL7lvq7kv6HmlK/ku5jor4HkuaYubWRcbiAgICAgMVx0IyMjIOaWh+S7tuWQje+8mlxuICAgICAyXHQjIyMjIDHjgIFgd3hwYXkucDEyYFxuICAgICAzXHQhW+ivgeS5puS9jee9rl0oaHR0cHM6Ly92a2NleXVndS5jZG4uYnNwYXBwLmNvbS9WS0NFWVVHVS1jZjBjNWU2OS02MjBjLTRmM2MtODRhYi1mNDYxOTI2MjkzOWYvNjFjMTU4MmEtMmNhNy00M2QzLTkyZWItYjgyMTM2Y2M1ODNmLnBuZykuLi5cblBhdGg6IHVuaUNsb3VkLXRjYi9jbG91ZGZ1bmN0aW9ucy9yb3V0ZXIvc2VydmljZS91c2VyL2toL2FjY2VwdEludml0ZS5qc1xuICAgICAxXHRtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICAgMlx0ICAvKipcbiAgICAgM1x0ICAgKiDnlKjmiLfmjqXlj5fpgoDor7dcbiAgICAgNFx0ICAgKiBAdXJsIHVzZXIva2gvYWNjZXB0SW52aXRlIOWJjeerr+iwg+eUqOeahHVybOWPguaVsOWcsOWdgFxuICAgICA1XHQgICAqIEBkZXNjcmlwdGlvbiDmraTmjqXlj6PnlKjkuo7lnKjms6jlhozkuYvlkI7lho3loavlhpnpgoDor7fnoIHnmoTlnLrmma/vvIzlpJrmlbDmg4XlhrXkuIvkuI3kvJrnlKjliLDmraTmjqXlj6PogIzmmK/lnKjms6jlhozml7bloavlhpnpgoDor7fnoIFcbiAgICAgNlx0XHQgKiBkYXRhIOivt+axguWPguaVsCDor7TmmI5cbiAgICAgN1x0XHQgKiBAcGFyYW0ge1N0cmluZ30gaW52aXRlQ29kZSDpgoDor7fkurrnmoTpgoDor7fnoIFcbiAgICAgOFx0XHQgKiByZXMg6L+U5Zue5Y+C5pWw6K+05piOXG4gICAgIDlcdFx0ICogQHBhcmFtIHtOdW1iZXJ9IGNvZGUg6ZSZ6K+v56CB77yMMOihqOekuuaIkOWKn1xuICAgIDEwXHRcdCAqIEBwYXJhbSB7U3RyaW5nfSBtc2cg6K+m57uG5L+h5oGvXG4gICAgMTFcdCAgICovXG4gICAgMTJcdFx0bWFpbjogYXN5bmMgKGV2ZW50KSA9PiB7XG4gICAgMTNcdFx0XHRsZXQgeyBkYXRhID0ge30sIHV0aWwsIG9yaWdpbmFsUGFyYW0gfSA9IGV2ZW50O1xuICAgIDE0XHRcdFx0bGV0IHsgdW5pSUQgfSA9IHV0aWw7XG4gICAgMTVcdFx0XHRsZXQgeyB1aWQsIGludml0ZUNvZGUgPSBcIlwiIH0gPSBkYXRhO1xuICAgIDE2XHRcdFx0bGV0IHJlcyA9IHt9O1xuICAgIDE3XHRcdFx0Ly8g5Lia5Yqh6YC76L6R5byA5aeLLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAxOFx0XHRcdHJlcyA9IGF3YWl0IHVuaUlELmFjY2VwdEludml0ZSh7XG4gICAgMTlcdFx0XHRcdHVpZDp1aWQsXG4gICAgMjBcdFx0XHRcdGludml0ZUNvZGU6aW52aXRlQ29kZVxuICAgIDIxXHRcdFx0fSk7XG4gICAgMjJcdFx0XHQvLyDkuJrliqHpgLvovpHnu5PmnZ8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIDIzXHRcdFx0cmV0dXJuIHJlcztcbiAgICAyNFx0XHR9XG4gICAgMjVcdH1cbi4uLlxuUGF0aDogdW5pQ2xvdWQtdGNiL2Nsb3VkZnVuY3Rpb25zL3JvdXRlci9zZXJ2aWNlL3VzZXIvcHViL2NvZGUyU2Vzc2lvbkFsaXBheS5qc1xuLi4uXG4gICAgMjJcdFx0XHQvLyDkuJrliqHpgLvovpHlvIDlp4stLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIDIzXHRcdFx0Ly8g55So5oi355m75b2VKOi0puWPtyvlr4bnoIEpXG4gICAgMjRcdFx0XHRyZXMgPSBhd2FpdCB1bmlJRC5jb2RlMlNlc3Npb25BbGlwYXkoZGF0YSk7XG4gICAgMjVcdFx0XHRpZiAocmVzLmNvZGUgPT09IDApIHtcbiAgICAyNlx0XHRcdFx0bGV0IGVuY3J5cHRlZCA9IHZrLmNyeXB0by5hZXMuZW5jcnlwdCh7XG4gICAgMjdcdFx0XHRcdFx0ZGF0YTogcmVzXG4gICAgMjhcdFx0XHRcdH0pO1xuICAgIDI5XHRcdFx0XHRkZWxldGUgcmVzLnNlc3Npb25LZXk7IC8vIOWIoOmZpOaYjuaWh3Nlc3Npb25LZXlcbiAgICAzMFx0XHRcdFx0ZGVsZXRlIHJlcy5hY2Nlc3NUb2tlbjsgLy8g5Yig6Zmk5piO5paHYWNjZXNzVG9rZW5cbiAgICAzMVx0XHRcdFx0ZGVsZXRlIHJlcy5yZWZyZXNoVG9rZW47IC8vIOWIoOmZpOaYjuaWh3JlZnJlc2hUb2tlblxuICAgIDMyXHRcdFx0XHRyZXMuZW5jcnlwdGVkS2V5ID0gZW5jcnlwdGVkOyAvLyDov5Tlm57liY3nq6/liqDlr4blhoXlrrlcbiAgICAzM1x0XHRcdH1cbiAgICAzNFx0XHRcdC8vIOS4muWKoemAu+i+kee7k+adny0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgMzVcdFx0XHRyZXR1cm4gcmVzO1xuICAgIDM2XHRcdH1cbiAgICAzN1x0fVxuLi4uXG5QYXRoOiB1bmlDbG91ZC10Y2IvY2xvdWRmdW5jdGlvbnMvcm91dGVyL3NlcnZpY2UvdXNlci9raC9iaW5kQWxpcGF5LmpzXG4gICAgIDFcdG1vZHVsZS5leHBvcnRzID0ge1xuICAgICAyXHRcdC8qKlxuICAgICAzXHRcdCAqIOe7keWumuaUr+S7mOWunVxuICAgICA0XHRcdCAqIEB1cmwgdXNlci9raC9iaW5kQWxpcGF5IOWJjeerr+iwg+eUqOeahHVybOWPguaVsOWcsOWdgFxuICAgICA1XHRcdCAqIEBkZXNjcmlwdGlvbiDlsIblvZPliY3nmbvlvZXnlKjmiLfnu5HlrprmlK/ku5jlrp1cbiAgICAgNlx0XHQgKiBkYXRhIOivt+axguWPguaVsCDor7TmmI5cbiAgICAgN1x0XHQgKiBAcGFyYW0ge1N0cmluZ30gY29kZSDmlK/ku5jlrp3nmbvlvZXov5Tlm57nmoRjb2RlXG4gICAgIDhcdFx0ICogQHBhcmFtIHtTdHJpbmd9IHBsYXRmb3JtIOWuouaIt+err+exu+Wei++8mm1wLXdlaXhpbuOAgWFwcC1wbHVz77yM6buY6K6kdW5pLWlk5Lya6Ieq5Yqo5Y+W5a6i5oi356uv57G75Z6L77yM5L2G5piv5Zyo5LqR5Ye95pWwdXJs5YyW562J5Zy65pmv5peg5rOV5Y+W5Yiw5a6i5oi356uv57G75Z6L77yM5Y+v5Lul5L2/55So5q2k5Y+C5pWw5oyH5a6aXG4gICAgIDlcdFx0ICogcmVzIOi/lOWbnuWPguaVsOivtOaYjlxuICAgIDEwXHRcdCAqIEBwYXJhbSB7TnVtYmVyfSBjb2RlIOmUmeivr+egge+8jDDooajnpLrmiJDlip9cbiAgICAxMVx0XHQgKiBAcGFyYW0ge1N0cmluZ30gbXNnIOivpue7huS/oeaBr1xuICAgIDEyXHRcdCAqL1xuICAgIDEzXHRcdG1haW46IGFzeW5jIChldmVudCkgPT4ge1xuICAgIDE0XHRcdFx0Ly8g5Lia5Yqh6YC76L6R5byA5aeLLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAxNVx0XHRcdGxldCB7IGRhdGEgPSB7fSwgdXNlckluZm8sIHV0aWwgfSA9IGV2ZW50O1xuICAgIDE2XHRcdFx0bGV0IHsgdW5pSUQsIHZrLCBfIH0gPSB1dGlsO1xuICAgIDE3XHRcdFx0bGV0IHsgdWlkIH0gPSBkYXRhO1xuICAgIDE4XHRcdFx0bGV0IHJlcyA9IHsgY29kZSA6IDAsIG1zZyA6ICcnIH07Li4uIiwiaXNFcnJvciI6ZmFsc2UsInJlcXVlc3RJZCI6IiJ9fSwiYjRmZTEyM2UtZWNhYS00OGQyLWJhMzUtZDQyNGE4MDUzZDc4O3Rvb2x1XzAxOExMVGVDVVAzYm5kZkQ2UTZzRUtOWSI6eyJyZXF1ZXN0SWQiOiJiNGZlMTIzZS1lY2FhLTQ4ZDItYmEzNS1kNDI0YTgwNTNkNzgiLCJ0b29sVXNlSWQiOiJ0b29sdV8wMThMTFRlQ1VQM2JuZGZENlE2c0VLTlkiLCJwaGFzZSI6NSwicmVzdWx0Ijp7InRleHQiOiJTdWNjZXNzZnVsbHkgZWRpdGVkIHRoZSBmaWxlIHBhZ2VzL2NvbnRyYWN0L2NlcnRpZmljYXRlLnZ1ZS5cblJlc3VsdCBmb3Igc3RyX3JlcGxhY2UgZm9yIGVudHJ5IHdpdGggaW5kZXggWzFdOlxuUmVwbGFjZW1lbnQgc3VjY2Vzc2Z1bC5cbm5ld19zdHIgc3RhcnRzIGF0IGxpbmUgMSBhbmQgZW5kcyBhdCBsaW5lIDIxNS5cblxuUmV2aWV3IHRoZSBjaGFuZ2VzIGFuZCBtYWtlIHN1cmUgdGhleSBhcmUgYXMgZXhwZWN0ZWQgKGNvcnJlY3QgaW5kZW50YXRpb24sIG5vIGR1cGxpY2F0ZSBsaW5lcywgZXRjKS5cbkVkaXQgdGhlIGZpbGUgYWdhaW4gaWYgbmVjZXNzYXJ5LlxuIiwiaXNFcnJvciI6ZmFsc2UsInJlcXVlc3RJZCI6IiJ9fSwiNWIwYjFlYTAtOTI0Yi00YmM5LTkzMDMtNWUwNWFiODNhNTBhO3Rvb2x1XzAxQzJ6cHhjRExtSFI2RnMzRkVEaUVxVyI6eyJyZXF1ZXN0SWQiOiI1YjBiMWVhMC05MjRiLTRiYzktOTMwMy01ZTA1YWI4M2E1MGEiLCJ0b29sVXNlSWQiOiJ0b29sdV8wMUMyenB4Y0RMbUhSNkZzM0ZFRGlFcVciLCJwaGFzZSI6NSwicmVzdWx0Ijp7InRleHQiOiJTdWNjZXNzZnVsbHkgZWRpdGVkIHRoZSBmaWxlIHBhZ2VzL2NvbnRyYWN0L2NlcnRpZmljYXRlLnZ1ZS5cblJlc3VsdCBmb3Igc3RyX3JlcGxhY2UgZm9yIGVudHJ5IHdpdGggaW5kZXggWzFdOlxuUmVwbGFjZW1lbnQgc3VjY2Vzc2Z1bC5cbm5ld19zdHIgc3RhcnRzIGF0IGxpbmUgMjE1IGFuZCBlbmRzIGF0IGxpbmUgNDIzLlxuXG5SZXZpZXcgdGhlIGNoYW5nZXMgYW5kIG1ha2Ugc3VyZSB0aGV5IGFyZSBhcyBleHBlY3RlZCAoY29ycmVjdCBpbmRlbnRhdGlvbiwgbm8gZHVwbGljYXRlIGxpbmVzLCBldGMpLlxuRWRpdCB0aGUgZmlsZSBhZ2FpbiBpZiBuZWNlc3NhcnkuXG4iLCJpc0Vycm9yIjpmYWxzZSwicmVxdWVzdElkIjoiIn19LCIyN2IzMzA3My1hYjZiLTQxZDAtYTY0Yy03YTIxZThjZWE1YmQ7dG9vbHVfMDFTYXBSY1dUS29kaXRaQ2pmQ3RoU2JtIjp7InJlcXVlc3RJZCI6IjI3YjMzMDczLWFiNmItNDFkMC1hNjRjLTdhMjFlOGNlYTViZCIsInRvb2xVc2VJZCI6InRvb2x1XzAxU2FwUmNXVEtvZGl0WkNqZkN0aFNibSIsInBoYXNlIjo1LCJyZXN1bHQiOnsidGV4dCI6IlN1Y2Nlc3NmdWxseSBlZGl0ZWQgdGhlIGZpbGUgcGFnZXMvY29udHJhY3QvY2VydGlmaWNhdGUudnVlLlxuUmVzdWx0IGZvciBzdHJfcmVwbGFjZSBmb3IgZW50cnkgd2l0aCBpbmRleCBbMV06XG5SZXBsYWNlbWVudCBzdWNjZXNzZnVsLlxubmV3X3N0ciBzdGFydHMgYXQgbGluZSA0MTUgYW5kIGVuZHMgYXQgbGluZSA1OTQuXG5cblJldmlldyB0aGUgY2hhbmdlcyBhbmQgbWFrZSBzdXJlIHRoZXkgYXJlIGFzIGV4cGVjdGVkIChjb3JyZWN0IGluZGVudGF0aW9uLCBubyBkdXBsaWNhdGUgbGluZXMsIGV0YykuXG5FZGl0IHRoZSBmaWxlIGFnYWluIGlmIG5lY2Vzc2FyeS5cbiIsImlzRXJyb3IiOmZhbHNlLCJyZXF1ZXN0SWQiOiIifX19LCJkcmFmdEV4Y2hhbmdlIjp7InJlcXVlc3RfbWVzc2FnZSI6IiIsInJpY2hfdGV4dF9qc29uX3JlcHIiOnsidHlwZSI6ImRvYyIsImNvbnRlbnQiOlt7InR5cGUiOiJwYXJhZ3JhcGgifV19LCJzdGF0dXMiOiJkcmFmdCJ9LCJyZXF1ZXN0SWRzIjpbXSwiaXNQaW5uZWQiOmZhbHNlLCJpc1NoYXJlYWJsZSI6dHJ1ZSwiZXh0cmFEYXRhIjp7ImlzQWdlbnRDb252ZXJzYXRpb24iOnRydWUsImhhc0RpcnR5RWRpdHMiOnRydWV9LCJwZXJzb25hVHlwZSI6MCwicm9vdFRhc2tVdWlkIjoiYmFkODIyMmMtMGM5MS00YTcwLWE3YTctYjJlZGI4ZjEzYjcwIn19LCJhZ2VudEV4ZWN1dGlvbk1vZGUiOiJtYW51YWwiLCJpc1BhbmVsQ29sbGFwc2VkIjp0cnVlfQ==" />
</map>
</option>
</component>
</project>