@projectcor/maia-components 2.11.53-10 → 2.11.53-3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.styles.js +3 -3
- package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.styles.js +2 -2
- package/lib/components/atoms/MAIAInput/MAIAInput.js +1 -3
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +2 -3
- package/lib/components/molecules/ChatAIModal/ChatAIModal.js +2 -3
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +1 -1
- package/lib/components/molecules/Sidebar/Sidebar.js +7 -6
- package/lib/components/organisms/EditQuestionModal/EditQuestionModal.js +2 -3
- package/lib/hooks/useChatMessages/useChatMessages.js +10 -32
- package/lib/services/maia/Chats/getChatMessages.js +4 -28
- package/lib/types/Chat.js +1 -1
- package/package.json +1 -1
- package/lib/utils/agentDisplayName.js +0 -18
|
@@ -23,7 +23,7 @@ export var SCFAQCategoryTitleText = styled.span.withConfig({
|
|
|
23
23
|
export var SCFAQList = styled.div.withConfig({
|
|
24
24
|
displayName: "FrequentlyAskedQuestionsstyles__SCFAQList",
|
|
25
25
|
componentId: "sc-zxh16d-5"
|
|
26
|
-
})(["display:flex;flex-direction:column;align-items:flex-start;align-self:stretch;"]);
|
|
26
|
+
})(["display:flex;flex-direction:column;align-items:flex-start;gap:8px;align-self:stretch;"]);
|
|
27
27
|
export var SCFAQItem = styled.div.withConfig({
|
|
28
28
|
displayName: "FrequentlyAskedQuestionsstyles__SCFAQItem",
|
|
29
29
|
componentId: "sc-zxh16d-6"
|
|
@@ -31,9 +31,9 @@ export var SCFAQItem = styled.div.withConfig({
|
|
|
31
31
|
export var SCFAQItemText = styled.span.withConfig({
|
|
32
32
|
displayName: "FrequentlyAskedQuestionsstyles__SCFAQItemText",
|
|
33
33
|
componentId: "sc-zxh16d-7"
|
|
34
|
-
})(["color:#20201f;font-size:
|
|
34
|
+
})(["color:#20201f;font-size:11px;font-weight:400;line-height:120%;letter-spacing:-0.11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;"]);
|
|
35
35
|
export var SCFAQItemIcon = styled.div.withConfig({
|
|
36
36
|
displayName: "FrequentlyAskedQuestionsstyles__SCFAQItemIcon",
|
|
37
37
|
componentId: "sc-zxh16d-8"
|
|
38
38
|
})(["display:flex;align-items:center;justify-content:center;flex-shrink:0;opacity:0;transition:opacity 0.2s ease;", ":hover &{opacity:1;}"], SCFAQItem);
|
|
39
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJWSU9MRVRfSUFfQ09MT1JTIiwiU0NGQVFzQ29udGFpbmVyIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJTQ0ZBUXNMaXN0Q29udGFpbmVyIiwiU0NGQVFzVGl0bGUiLCJTQ0ZBUUNhdGVnb3J5IiwiU0NGQVFDYXRlZ29yeVRpdGxlVGV4dCIsInNwYW4iLCJTQ0ZBUUxpc3QiLCJTQ0ZBUUl0ZW0iLCJTQ0ZBUUl0ZW1UZXh0IiwiU0NGQVFJdGVtSWNvbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL0ZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucy9GcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMuc3R5bGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnXG5pbXBvcnQgeyBWSU9MRVRfSUFfQ09MT1JTIH0gZnJvbSAnLi4vLi4vLi4vc3R5bGVzL2NvbmZpZydcblxuZXhwb3J0IGNvbnN0IFNDRkFRc0NvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDQzMnB4O1xuICBnYXA6IDEwcHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuYFxuXG5leHBvcnQgY29uc3QgU0NGQVFzTGlzdENvbnRhaW5lciA9IHN0eWxlZC5kaXY8e1xuICAkc2hvd0ZBUXM/OiBib29sZWFuXG4gICRzaG93UHJvamVjdFN1bW1hcnk/
|
|
39
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJWSU9MRVRfSUFfQ09MT1JTIiwiU0NGQVFzQ29udGFpbmVyIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJTQ0ZBUXNMaXN0Q29udGFpbmVyIiwiU0NGQVFzVGl0bGUiLCJTQ0ZBUUNhdGVnb3J5IiwiU0NGQVFDYXRlZ29yeVRpdGxlVGV4dCIsInNwYW4iLCJTQ0ZBUUxpc3QiLCJTQ0ZBUUl0ZW0iLCJTQ0ZBUUl0ZW1UZXh0IiwiU0NGQVFJdGVtSWNvbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL0ZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucy9GcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMuc3R5bGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnXG5pbXBvcnQgeyBWSU9MRVRfSUFfQ09MT1JTIH0gZnJvbSAnLi4vLi4vLi4vc3R5bGVzL2NvbmZpZydcblxuZXhwb3J0IGNvbnN0IFNDRkFRc0NvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDQzMnB4O1xuICBnYXA6IDEwcHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuYFxuXG5leHBvcnQgY29uc3QgU0NGQVFzTGlzdENvbnRhaW5lciA9IHN0eWxlZC5kaXY8e1xuICAkc2hvd0ZBUXM/OiBib29sZWFuXG4gICRzaG93UHJvamVjdFN1bW1hcnk/OiBib29sZWFuXG59PmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMCU7XG4gIGdhcDogMTBweDtcbiAgZmxleC1zaHJpbms6IDA7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0ZBUXNUaXRsZSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBjb2xvcjogJHtWSU9MRVRfSUFfQ09MT1JTWzUwMF19O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMjFweDtcbiAgZmxleC1zaHJpbms6IDA7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0ZBUUNhdGVnb3J5ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA4cHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0ZBUUNhdGVnb3J5VGl0bGVUZXh0ID0gc3R5bGVkLnNwYW5gXG4gIGNvbG9yOiAjNjY2O1xuICBmb250LXNpemU6IDEwcHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxMjAlO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuYFxuXG5leHBvcnQgY29uc3QgU0NGQVFMaXN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogOHB4O1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuYFxuXG5leHBvcnQgY29uc3QgU0NGQVFJdGVtID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogOHB4IDEwcHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZ2FwOiA4cHg7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmOWY5Zjk7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDRkFRSXRlbVRleHQgPSBzdHlsZWQuc3BhbmBcbiAgY29sb3I6ICMyMDIwMWY7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEyMCU7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4xMXB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgZmxleDogMTtcbiAgbWluLXdpZHRoOiAwO1xuYFxuXG5leHBvcnQgY29uc3QgU0NGQVFJdGVtSWNvbiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmbGV4LXNocmluazogMDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG5cbiAgJHtTQ0ZBUUl0ZW19OmhvdmVyICYge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbmBcbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsTUFBTSxNQUFNLG1CQUFtQjtBQUN0QyxTQUFTQyxnQkFBZ0IsUUFBUSx3QkFBd0I7QUFFekQsT0FBTyxJQUFNQyxlQUFlLEdBQUdGLE1BQU0sQ0FBQ0csR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDZGQU94QztBQUVELE9BQU8sSUFBTUMsbUJBQW1CLEdBQUdQLE1BQU0sQ0FBQ0csR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDZFQVM1QztBQUVELE9BQU8sSUFBTUUsV0FBVyxHQUFHUixNQUFNLENBQUNHLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSw2SUFHMUJMLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQU0vQjtBQUVELE9BQU8sSUFBTVEsYUFBYSxHQUFHVCxNQUFNLENBQUNHLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxtREFJdEM7QUFFRCxPQUFPLElBQU1JLHNCQUFzQixHQUFHVixNQUFNLENBQUNXLElBQUksQ0FBQVAsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxrSEFPaEQ7QUFFRCxPQUFPLElBQU1NLFNBQVMsR0FBR1osTUFBTSxDQUFDRyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsNkZBTWxDO0FBRUQsT0FBTyxJQUFNTyxTQUFTLEdBQUdiLE1BQU0sQ0FBQ0csR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLCtMQWNsQztBQUVELE9BQU8sSUFBTVEsYUFBYSxHQUFHZCxNQUFNLENBQUNXLElBQUksQ0FBQVAsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSwwS0FXdkM7QUFFRCxPQUFPLElBQU1TLGFBQWEsR0FBR2YsTUFBTSxDQUFDRyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsNklBUW5DTyxTQUFTLENBR1oiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -23,7 +23,7 @@ export var SCFUAList = styled.div.withConfig({
|
|
|
23
23
|
export var SCFUAItem = styled.div.withConfig({
|
|
24
24
|
displayName: "FrequentlyUsedActionsstyles__SCFUAItem",
|
|
25
25
|
componentId: "sc-189idh6-5"
|
|
26
|
-
})(["display:flex;padding:8px 10px;align-items:
|
|
26
|
+
})(["display:flex;padding:8px 10px;align-items:flex-start;gap:8px;align-self:stretch;cursor:pointer;border-radius:8px;border:1px solid #f2f2f2;background:#fff;&:hover{background:#f2f2f2;}"]);
|
|
27
27
|
export var SCFUAItemIcon = styled.div.withConfig({
|
|
28
28
|
displayName: "FrequentlyUsedActionsstyles__SCFUAItemIcon",
|
|
29
29
|
componentId: "sc-189idh6-6"
|
|
@@ -46,4 +46,4 @@ export var SCFUAItemText = styled.span.withConfig({
|
|
|
46
46
|
displayName: "FrequentlyUsedActionsstyles__SCFUAItemText",
|
|
47
47
|
componentId: "sc-189idh6-10"
|
|
48
48
|
})(["color:#20201f;font-size:11px;font-weight:400;line-height:120%;letter-spacing:-0.11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 40px);"]);
|
|
49
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJWSU9MRVRfSUFfQ09MT1JTIiwiU0NGVUFDb250YWluZXIiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIlNDRlVBTGlzdENvbnRhaW5lciIsIlNDRlVBVGl0bGUiLCJTQ0ZVQU5ld0JhZGdlIiwic3BhbiIsIlNDRlVBTGlzdCIsIlNDRlVBSXRlbSIsIlNDRlVBSXRlbUljb24iLCJTQ0ZVQUl0ZW1Db250ZW50IiwiU0NGVUFJdGVtVGl0bGUiLCJTQ0ZVQUl0ZW1TdWJ0aXRsZSIsIlNDRlVBSXRlbVRleHQiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hdG9tcy9GcmVxdWVudGx5VXNlZEFjdGlvbnMvRnJlcXVlbnRseVVzZWRBY3Rpb25zLnN0eWxlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJ1xuaW1wb3J0IHsgVklPTEVUX0lBX0NPTE9SUyB9IGZyb20gJy4uLy4uLy4uL3N0eWxlcy9jb25maWcnXG5cbmV4cG9ydCBjb25zdCBTQ0ZVQUNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDQzMnB4O1xuICBnYXA6IDEwcHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuYFxuXG5leHBvcnQgY29uc3QgU0NGVUFMaXN0Q29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMCU7XG4gIGdhcDogMTBweDtcbiAgZmxleC1zaHJpbms6IDA7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0ZVQVRpdGxlID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6ICR7VklPTEVUX0lBX0NPTE9SU1s1MDBdfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMTQwJTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjIxcHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBnYXA6IDhweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDRlVBTmV3QmFkZ2UgPSBzdHlsZWQuc3BhbmBcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHBhZGRpbmc6IDRweCA4cHg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDRweDtcbiAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzAwNTc4YyAwJSwgIzRkMzU2OSAxMDAlKTtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJztcbiAgZm9udC1zaXplOiAxMHB4O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxMjAlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuYFxuXG5leHBvcnQgY29uc3QgU0NGVUFMaXN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogOHB4O1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuYFxuXG5leHBvcnQgY29uc3QgU0NGVUFJdGVtID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogOHB4IDEwcHg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBnYXA6IDhweDtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmMmYyZjI7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NGVUFJdGVtSWNvbiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAzNnB4O1xuICBoZWlnaHQ6IDM2cHg7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgJiA+IHN2ZyB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDRlVBSXRlbUNvbnRlbnQgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZ2FwOiAycHg7XG4gIGZsZXg6IDE7XG4gIG1pbi13aWR0aDogMDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDRlVBSXRlbVRpdGxlID0gc3R5bGVkLnNwYW5gXG4gIGNvbG9yOiAjMjAyMDFmO1xuICBmb250LWZhbWlseTogJ1dvcmsgU2Fucyc7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMTQwJTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjIxcHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBtYXgtd2lkdGg6IDEwMCU7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0ZVQUl0ZW1TdWJ0aXRsZSA9IHN0eWxlZC5zcGFuYFxuICBjb2xvcjogIzY2NjtcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJztcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxMzAlO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICBtYXgtd2lkdGg6IDEwMCU7XG5gXG5cbi8qKiBAZGVwcmVjYXRlZCBtYW50ZW5lciBwYXJhIHJldHJvY29tcGF0IOKAlCB1c2FyIFNDRlVBSXRlbVRpdGxlIC8gU0NGVUFJdGVtU3VidGl0bGUgKi9cbmV4cG9ydCBjb25zdCBTQ0ZVQUl0ZW1UZXh0ID0gc3R5bGVkLnNwYW5gXG4gIGNvbG9yOiAjMjAyMDFmO1xuICBmb250LXNpemU6IDExcHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxMjAlO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMTFweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG5gXG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLE1BQU0sTUFBTSxtQkFBbUI7QUFDdEMsU0FBU0MsZ0JBQWdCLFFBQVEsd0JBQXdCO0FBRXpELE9BQU8sSUFBTUMsY0FBYyxHQUFHRixNQUFNLENBQUNHLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSw2RkFPdkM7QUFFRCxPQUFPLElBQU1DLGtCQUFrQixHQUFHUCxNQUFNLENBQUNHLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSw2RUFNM0M7QUFFRCxPQUFPLElBQU1FLFVBQVUsR0FBR1IsTUFBTSxDQUFDRyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsaUpBR3pCTCxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FPL0I7QUFFRCxPQUFPLElBQU1RLGFBQWEsR0FBR1QsTUFBTSxDQUFDVSxJQUFJLENBQUFOLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsMFNBZXZDO0FBRUQsT0FBTyxJQUFNSyxTQUFTLEdBQUdYLE1BQU0sQ0FBQ0csR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDZGQU1sQztBQUVELE9BQU8sSUFBTU0sU0FBUyxHQUFHWixNQUFNLENBQUNHLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSw4TEFjbEM7QUFFRCxPQUFPLElBQU1PLGFBQWEsR0FBR2IsTUFBTSxDQUFDRyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsbU9Ba0J0QztBQUVELE9BQU8sSUFBTVEsZ0JBQWdCLEdBQUdkLE1BQU0sQ0FBQ0csR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDZGQU96QztBQUVELE9BQU8sSUFBTVMsY0FBYyxHQUFHZixNQUFNLENBQUNVLElBQUksQ0FBQU4sVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxnTkFZeEM7QUFFRCxPQUFPLElBQU1VLGlCQUFpQixHQUFHaEIsTUFBTSxDQUFDVSxJQUFJLENBQUFOLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsK01BWTNDOztBQUVEO0FBQ0EsT0FBTyxJQUFNVyxhQUFhLEdBQUdqQixNQUFNLENBQUNVLElBQUksQ0FBQU4sVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxtTEFVdkMiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -580,7 +580,6 @@ export var MAIAInput = function MAIAInput(_ref) {
|
|
|
580
580
|
var isImage = isImageByMime && isImageByExtension;
|
|
581
581
|
return /*#__PURE__*/_jsx(Tooltip, {
|
|
582
582
|
title: attachment.name,
|
|
583
|
-
zIndex: tooltipZIndex,
|
|
584
583
|
children: /*#__PURE__*/_jsxs(SCMIAttachment, {
|
|
585
584
|
isImage: isImage,
|
|
586
585
|
children: [attachment.icon, /*#__PURE__*/_jsx(SCMIAttachmentDeleteIcon, {
|
|
@@ -742,7 +741,6 @@ export var MAIAInput = function MAIAInput(_ref) {
|
|
|
742
741
|
})
|
|
743
742
|
}) : /*#__PURE__*/_jsx(Tooltip, {
|
|
744
743
|
title: t('chat.send'),
|
|
745
|
-
zIndex: tooltipZIndex,
|
|
746
744
|
children: /*#__PURE__*/_jsx("span", {
|
|
747
745
|
style: {
|
|
748
746
|
display: 'inline-flex',
|
|
@@ -787,4 +785,4 @@ export var MAIAInput = function MAIAInput(_ref) {
|
|
|
787
785
|
}), popoverNode && /*#__PURE__*/createPortal(popoverNode, document.body)]
|
|
788
786
|
});
|
|
789
787
|
};
|
|
790
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZUVmZmVjdCIsInVzZU1lbW8iLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsImNyZWF0ZVBvcnRhbCIsIlBvcG92ZXIiLCJQYXBlclBsYW5lIiwiQXR0YWNoIiwiR2xvYmUiLCJUcmFzaCIsIlBsdXMiLCJDaGVjayIsIkNyb3NzIiwiVG9vbHRpcCIsImNvbG9ycyIsIkFjdGl2ZVRvb2xDaGlwSWNvbkJ1dHRvbiIsIkFjdGl2ZVRvb2xDaGlwTGFiZWwiLCJBY3RpdmVUb29sQ2hpcFJvb3QiLCJQbHVzTWVudURpdmlkZXIiLCJQbHVzTWVudUlubmVyQ29sdW1uIiwiUGx1c01lbnVJdGVtQnV0dG9uIiwiUGx1c01lbnVJdGVtTGFiZWwiLCJQbHVzTWVudVBhcGVyIiwiUGx1c01lbnVUb29sc1JvdyIsIlBsdXNUb2dnbGVCdXR0b24iLCJTQ01JQXR0YWNobWVudCIsIlNDTUlBdHRhY2htZW50RGVsZXRlSWNvbiIsIlN0eWxlZE1BSUFJbnB1dFdyYXBwZXIiLCJTdHlsZWRNQUlBU2VuZEJ1dHRvbiIsIlN0eWxlZE1BSUFNYWluVG9vbGJhckdyaWQiLCJTdHlsZWRNQUlBUGx1c1Rvb2xiYXJDZWxsIiwiU3R5bGVkTUFJQVNlbmRUb29sYmFyQ2VsbCIsIlN0eWxlZE1BSUFTdG9wQnV0dG9uIiwiU3R5bGVkTUFJQVN0b3BJY29uIiwidXNlR2xvYmFsQ29udGV4dCIsIk1vZGFsRmlsZUV4Y2VlZHMiLCJTbGFzaENvbW1hbmREcm9wZG93biIsInVzZVNsYXNoQ29tbWFuZHMiLCJxdWlja0FjdGlvblRpdGxlVG9UeXBlIiwidXNlVCIsIlRlbGVzY29wZUljb24iLCJFVkVOVFMiLCJ1c2VFdmVudCIsImdldENoYXRUb29sc01lbnVBZ2VudFR5cGUiLCJNQUlBX0NIQVRfSU5QVVRfVUkiLCJhbGxvd2VkRmlsZVR5cGVzIiwiZmlsZVR5cGVzIiwiTUFYX0ZJTEVfU0laRV9NQl9NQUlBX1ZJU0lPTiIsIk1BWF9GSUxFX1NJWkVfTUJfT0xEIiwiTUFYX0ZJTEVfU0laRV9NQl9BVURJTyIsIk1BWF9DSEFUX0lOUFVUX0FUVEFDSE1FTlRTIiwiQVBQQ1VFU19FVkVOVFMiLCJ0cmFja0FwcGN1ZXNFdmVudCIsIkNvbnRleHRNZW50aW9uRWRpdG9yIiwidXNlTWFpYVRhc2tQYW5lbFpJbmRleCIsInVzZU1lbnRpb25Qb3BvdmVyIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkZyYWdtZW50IiwiX0ZyYWdtZW50IiwiVE9PTF9DSElQX0VYSVRfTVMiLCJNQUlBSW5wdXQiLCJfcmVmIiwiX2FnZW50JGVudGl0eSIsIm9uU2VuZE1lc3NhZ2UiLCJjbGFzc05hbWUiLCJkaXNhYmxlZCIsImlzU3RyZWFtaW5nIiwiaXNXcml0aW5nIiwib25TdG9wR2VuZXJhdGlvbiIsInBsYWNlaG9sZGVyIiwib25DaGFuZ2UiLCJfcmVmJGFsaWduQnV0dG9ucyIsImFsaWduQnV0dG9ucyIsIm9uRmlsZUF0dGFjaCIsIm9uRGVsZXRlQXR0YWNobWVudCIsIl9yZWYkYXR0YWNobWVudHMiLCJhdHRhY2htZW50cyIsImNoYXRJZCIsIm5ld0NoYXRLZXkiLCJ0b29sdGlwWkluZGV4IiwiX3VzZVQiLCJ0IiwiZWRpdG9yUmVmIiwiZmlsZUlucHV0UmVmIiwid3JhcHBlclJlZiIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImhhc1dyYXBwZWRUb1NlY29uZExpbmUiLCJzZXRIYXNXcmFwcGVkVG9TZWNvbmRMaW5lIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJoYXNUeXBpbmdQcmVzZW5jZSIsInNldEhhc1R5cGluZ1ByZXNlbmNlIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJpc0ZvY3VzZWQiLCJzZXRJc0ZvY3VzZWQiLCJfdXNlU3RhdGU3IiwiaXNPcGVuIiwiZXhjbHVkZWRGaWxlcyIsImV4Y2VlZGVkRmlsZXMiLCJmaWxlU2l6ZXMiLCJfdXNlU3RhdGU4IiwibW9kYWxQcm9wcyIsInNldE1vZGFsUHJvcHMiLCJldmVudEFtcGxpdHVkZSIsIl91c2VHbG9iYWxDb250ZXh0IiwidG9nZ2xlV2ViU2VhcmNoIiwiaXNXZWJTZWFyY2hBY3RpdmUiLCJ0b2dnbGVEZWVwU2VhcmNoIiwiaXNEZWVwU2VhcmNoQWN0aXZlIiwiYWdlbnQiLCJwbHVzTWVudVpJbmRleCIsIl91c2VNZW50aW9uUG9wb3ZlciIsInBvcG92ZXJBbmNob3JSZWYiLCJwb3BvdmVyT3BlbiIsInJlc2V0TWVudGlvbk9wZW5UcmFja2luZyIsImhhbmRsZVRyaWdnZXIiLCJoYW5kbGVQb3BvdmVyS2V5RG93biIsImhhbmRsZUtleURvd24iLCJwb3BvdmVyTm9kZSIsIl91c2VTdGF0ZTkiLCJfdXNlU3RhdGUwIiwicGx1c01lbnVBbmNob3IiLCJzZXRQbHVzTWVudUFuY2hvciIsIl91c2VTdGF0ZTEiLCJfdXNlU3RhdGUxMCIsImFjdGl2ZVRvb2xDaGlwSG92ZXJlZCIsInNldEFjdGl2ZVRvb2xDaGlwSG92ZXJlZCIsIl91c2VTdGF0ZTExIiwiX3VzZVN0YXRlMTIiLCJ0b29sQ2hpcEV4aXRpbmciLCJzZXRUb29sQ2hpcEV4aXRpbmciLCJ0b29sQ2hpcEV4aXRUaW1lclJlZiIsInNlYXJjaE1vZGVBY3RpdmVSZWYiLCJ3ZWIiLCJkZWVwIiwicGx1c01lbnVPcGVuIiwiQm9vbGVhbiIsInByZXZpb3VzQWdlbnRJZFJlZiIsInVuZGVmaW5lZCIsInByZXZpb3VzQ2hhdElkUmVmIiwicHJldmlvdXNOZXdDaGF0S2V5UmVmIiwiYW5hbHl0aWNzQWdlbnRUeXBlIiwiYW5hbHl0aWNzQ2xvbmVFbnRpdHlQYXlsb2FkIiwidHlwZSIsImVudGl0eSIsIl91c2VTbGFzaENvbW1hbmRzIiwiaWQiLCJzbGFzaENvbW1hbmRzIiwiY29tbWFuZHMiLCJfdXNlU3RhdGUxMyIsIl91c2VTdGF0ZTE0Iiwic2hvd1NsYXNoRHJvcGRvd24iLCJzZXRTaG93U2xhc2hEcm9wZG93biIsIl91c2VTdGF0ZTE1IiwiX3VzZVN0YXRlMTYiLCJzbGFzaFF1ZXJ5Iiwic2V0U2xhc2hRdWVyeSIsInNsYXNoTWVudVdhc09wZW5SZWYiLCJzY2hlZHVsZUlucHV0Rm9jdXNBZnRlclRvb2xBY3Rpb24iLCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiLCJ3aW5kb3ciLCJzZXRUaW1lb3V0IiwiX2VkaXRvclJlZiRjdXJyZW50IiwiY3VycmVudCIsImZvY3VzIiwiY2xvc2VQbHVzTWVudSIsImNhbmNlbFBlbmRpbmdUb29sQ2hpcEV4aXQiLCJjbGVhclRpbWVvdXQiLCJoYW5kbGVQbHVzQnV0dG9uQ2xpY2siLCJlIiwic3RvcFByb3BhZ2F0aW9uIiwiY3VycmVudFRhcmdldCIsImFpQ2hhdFBsdXNPcGVuIiwiX29iamVjdFNwcmVhZCIsImFnZW50X3R5cGUiLCJoYW5kbGVQbHVzTWVudUF0dGFjaCIsIl9maWxlSW5wdXRSZWYkY3VycmVudCIsImFpQ2hhdFRvb2xzIiwib3B0aW9uIiwibGVuZ3RoIiwiY2xpY2siLCJiZWdpblRvb2xDaGlwRXhpdCIsIndhc1dlYiIsIndhc0RlZXAiLCJfc2VhcmNoTW9kZUFjdGl2ZVJlZiQiLCJoYW5kbGVQbHVzTWVudVdlYlNlYXJjaCIsImhhbmRsZVBsdXNNZW51RGVlcFNlYXJjaCIsIl9lZGl0b3JSZWYkY3VycmVudDIiLCJjb21wYWN0U2luZ2xlUm93VG9vbGJhciIsInNlbmREaXNhYmxlZCIsImFnZW50Q2hhbmdlZCIsInByZXZpb3VzQ2hhdElkIiwiY3VycmVudENoYXRJZCIsImNoYXRDaGFuZ2VkIiwiY2hhbmdlZEZyb21OZXdDaGF0VG9PbGRDaGF0IiwibmV3Q2hhdFN0YXJ0ZWQiLCJpc0luaXRpYWxNb3VudCIsImRlbGF5IiwiX2VkaXRvclJlZiRjdXJyZW50MyIsImlzU3BlY2lhbGlzdEFnZW50Iiwib2JzZXJ2ZXIiLCJJbnRlcnNlY3Rpb25PYnNlcnZlciIsIl9yZWYyIiwiX3JlZjMiLCJlbnRyeSIsImlzSW50ZXJzZWN0aW5nIiwibWFpYUNvbnRleHRNZW50aW9uSW5pdCIsImRpc2Nvbm5lY3QiLCJ0aHJlc2hvbGQiLCJvYnNlcnZlIiwiaGFuZGxlU2Vzc2lvbkNoYW5nZSIsIl9lZGl0b3JSZWYkY3VycmVudDQiLCJjbGVhciIsImRvY3VtZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJoYW5kbGVTZW5kTWVzc2FnZSIsIl9lZGl0b3JSZWYkY3VycmVudDUiLCJfc3RhdGUkdGV4dCIsIl9zdGF0ZSRtZW50aW9ucyIsIl9lZGl0b3JSZWYkY3VycmVudDYiLCJzdGF0ZSIsInNlcmlhbGl6ZSIsInRleHQiLCJ0cmltIiwibWVudGlvbnMiLCJoYW5kbGVTZWxlY3RTbGFzaENvbW1hbmQiLCJjb21tYW5kIiwiX2VkaXRvclJlZiRjdXJyZW50NyIsIl9zdGF0ZSR0ZXh0MiIsIl9lZGl0b3JSZWYkY3VycmVudDkiLCJhaUNoYXRRdWlja0FjdGlvblNlbGVjdCIsInR5cGVfcXVpY2tfYWN0aW9uIiwidGl0bGUiLCJvcmlnaW5fcXVpY2tfYWN0aW9uIiwidHJpZ2dlclBhcnQiLCJjb25jYXQiLCJiZWZvcmVUcmlnZ2VyIiwiZW5kc1dpdGgiLCJzbGljZSIsImlzRW1wdHlCZWZvcmVUcmlnZ2VyIiwiX2VkaXRvclJlZiRjdXJyZW50OCIsImluc2VydFNsYXNoQ29tbWFuZCIsImxhYmVsIiwiaGFuZGxlQ2xvc2VTbGFzaERyb3Bkb3duIiwiaGFuZGxlRWRpdG9ySW5wdXQiLCJfcmVmNCIsIl9lZGl0b3JSZWYkY3VycmVudDAiLCJ0cmlnZ2VyIiwic2xhc2hUcmlnZ2VyIiwidmlzdWFsTXVsdGlsaW5lIiwiaGFzVmlzdWFsTXVsdGlsaW5lIiwiZXhwbGljaXRNdWx0aWxpbmUiLCJpbmNsdWRlcyIsImlzTGlrZWx5Rmlyc3RDaGFyTWVhc3VyZW1lbnRHbGl0Y2giLCJzdGFibGVWaXN1YWxNdWx0aWxpbmUiLCJuZXh0SXNNdWx0aWxpbmUiLCJuZXh0SGFzVHlwaW5nUHJlc2VuY2UiLCJuZXh0VHlwaW5nUHJlc2VuY2UiLCJwcmV2IiwibmV4dCIsImFjdGl2ZSIsImFpQ2hhdFF1aWNrQWN0aW9uT3BlbiIsInF1ZXJ5Iiwia2V5Iiwic2hpZnRLZXkiLCJwcmV2ZW50RGVmYXVsdCIsImhhbmRsZUZpbGVTZWxlY3QiLCJmaWxlcyIsInRhcmdldCIsImZpbGVzSW5zZXJ0ZWQiLCJpc05ld0Zvcm1hdCIsImV4dGVuc2lvbiIsImlzT2xkRm9ybWF0IiwiaXNBdWRpb0Zvcm1hdCIsIkFycmF5IiwiZnJvbSIsImZvckVhY2giLCJmaWxlIiwiX2ZpbGVOYW1lUGFydHMkcG9wIiwiZXhjbHVkZWRGaWxlIiwiZmlsZU5hbWVQYXJ0cyIsIm5hbWUiLCJzcGxpdCIsImZpbGVFeHRlbnNpb24iLCJwb3AiLCJ0b0xvd2VyQ2FzZSIsInNpemUiLCJwdXNoIiwidHlwZUZpbGUiLCJwYXJzZWRGaWxlIiwiRmlsZSIsInZhbHVlIiwiaGFuZGxlRGVsZXRlQXR0YWNobWVudCIsImZpbGVJZCIsImhhbmRsZVdyYXBwZXJGb2N1cyIsImhhbmRsZVdyYXBwZXJCbHVyIiwiX3dyYXBwZXJSZWYkY3VycmVudCIsImNvbnRhaW5zIiwiYWN0aXZlRWxlbWVudCIsImhhbmRsZVN0b3BHZW5lcmF0aW9uIiwiYWlDaGF0U3RvcFJlc3BvbnNlIiwicGx1c0ljb25Db2xvciIsInNlY29uZGFyeSIsIm1lZGl1bUdyYXkiLCJwbHVzTWVudUljb25Db2xvciIsIm1lbnVJY29uIiwicGx1c01lbnVTZWxlY3RlZENvbG9yIiwidGV4dEJyYW5kQm9sZCIsImFjdGl2ZVRvb2xDaGlwTGVhZGluZ0ljb24iLCJjb2xvciIsImNoaXBDbG9zZUljb24iLCJ3aWR0aCIsImhlaWdodCIsImNoaWxkcmVuIiwicmVmIiwiaGFzQXR0YWNobWVudHMiLCJvbkZvY3VzIiwib25CbHVyIiwic3R5bGUiLCJwb3NpdGlvbiIsIm9uU2VsZWN0Iiwib25DbG9zZSIsImRpc3BsYXkiLCJnYXAiLCJhbGlnbkl0ZW1zIiwibWFwIiwiYXR0YWNobWVudCIsImluZGV4IiwiX2ZpbGVOYW1lUGFydHMkcG9wMiIsIl9hdHRhY2htZW50JHR5cGUiLCJpc0ltYWdlQnlFeHRlbnNpb24iLCJpc0ltYWdlQnlNaW1lIiwic3RhcnRzV2l0aCIsImlzSW1hZ2UiLCJ6SW5kZXgiLCJpY29uIiwib25DbGljayIsIiRjb21wYWN0Um93IiwiJG1lbnVPcGVuIiwib3BlbiIsImFuY2hvckVsIiwiYW5jaG9yT3JpZ2luIiwidmVydGljYWwiLCJob3Jpem9udGFsIiwidHJhbnNmb3JtT3JpZ2luIiwic3giLCJzbG90UHJvcHMiLCJwYXBlciIsImVsZXZhdGlvbiIsIm92ZXJmbG93IiwiYm9yZGVyUmFkaXVzIiwiYm94U2hhZG93IiwiYmFja2dyb3VuZENvbG9yIiwibWFyZ2luVG9wIiwiJHNlbGVjdGVkIiwiJGhvdmVyZWQiLCIkZXhpdGluZyIsIm9uTW91c2VFbnRlciIsIm9uTW91c2VMZWF2ZSIsIiRjbG9zZVNob3duIiwiZ3JpZENvbHVtbiIsImdyaWRSb3ciLCJtaW5XaWR0aCIsImFsaWduU2VsZiIsIm9uSW5wdXQiLCJvbktleURvd24iLCJoYXNWYWx1ZXMiLCJtdWx0aXBsZSIsImFjY2VwdCIsImJvZHkiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hdG9tcy9NQUlBSW5wdXQvTUFJQUlucHV0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1yZXN0cmljdGVkLXN5bnRheCAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tY29udGludWUgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLXZvaWQgKi9cbi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L25vLWFycmF5LWluZGV4LWtleSAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tbG9uZWx5LWlmICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBwcmVmZXItZGVzdHJ1Y3R1cmluZyAqL1xuLyogZXNsaW50LWRpc2FibGUganN4LWExMXkvY2xpY2stZXZlbnRzLWhhdmUta2V5LWV2ZW50cyAqL1xuLyogZXNsaW50LWRpc2FibGUganN4LWExMXkvbm8tc3RhdGljLWVsZW1lbnQtaW50ZXJhY3Rpb25zICovXG5pbXBvcnQge1xuICBDaGFuZ2VFdmVudCxcbiAgS2V5Ym9hcmRFdmVudCxcbiAgTW91c2VFdmVudCxcbiAgUmVhY3ROb2RlLFxuICB1c2VDYWxsYmFjayxcbiAgdXNlRWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VSZWYsXG4gIHVzZVN0YXRlLFxufSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IGNyZWF0ZVBvcnRhbCB9IGZyb20gJ3JlYWN0LWRvbSdcbmltcG9ydCB7IFBvcG92ZXIgfSBmcm9tICdAbXVpL21hdGVyaWFsJ1xuaW1wb3J0IHsgUGFwZXJQbGFuZSB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL1BhcGVyUGxhbmUnXG5pbXBvcnQgeyBBdHRhY2ggfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9BdHRhY2gnXG5pbXBvcnQgeyBHbG9iZSB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0dsb2JlJ1xuaW1wb3J0IHsgVHJhc2ggfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9UcmFzaCdcbmltcG9ydCB7IFBsdXMgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9QbHVzJ1xuaW1wb3J0IHsgQ2hlY2sgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9DaGVjaydcbmltcG9ydCB7IENyb3NzIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ3Jvc3MnXG5pbXBvcnQgeyBUb29sdGlwIH0gZnJvbSAnQHByb2plY3Rjb3IvdG9vbHRpcHYyL2xpYi9jb21wb25lbnRzL1Rvb2x0aXAnXG5pbXBvcnQgY29sb3JzIGZyb20gJ0Bwcm9qZWN0Y29yL3RoZW1lL2xpYi9iYXNlL2NvbG9ycydcblxuaW1wb3J0IHtcbiAgQWN0aXZlVG9vbENoaXBJY29uQnV0dG9uLFxuICBBY3RpdmVUb29sQ2hpcExhYmVsLFxuICBBY3RpdmVUb29sQ2hpcFJvb3QsXG4gIFBsdXNNZW51RGl2aWRlcixcbiAgUGx1c01lbnVJbm5lckNvbHVtbixcbiAgUGx1c01lbnVJdGVtQnV0dG9uLFxuICBQbHVzTWVudUl0ZW1MYWJlbCxcbiAgUGx1c01lbnVQYXBlcixcbiAgUGx1c01lbnVUb29sc1JvdyxcbiAgUGx1c1RvZ2dsZUJ1dHRvbixcbiAgU0NNSUF0dGFjaG1lbnQsXG4gIFNDTUlBdHRhY2htZW50RGVsZXRlSWNvbixcbiAgU3R5bGVkTUFJQUlucHV0V3JhcHBlcixcbiAgU3R5bGVkTUFJQVNlbmRCdXR0b24sXG4gIFN0eWxlZE1BSUFNYWluVG9vbGJhckdyaWQsXG4gIFN0eWxlZE1BSUFQbHVzVG9vbGJhckNlbGwsXG4gIFN0eWxlZE1BSUFTZW5kVG9vbGJhckNlbGwsXG4gIFN0eWxlZE1BSUFTdG9wQnV0dG9uLFxuICBTdHlsZWRNQUlBU3RvcEljb24sXG59IGZyb20gJy4vc3R5bGVzJ1xuaW1wb3J0IHsgdXNlR2xvYmFsQ29udGV4dCB9IGZyb20gJy4uLy4uLy4uL2NvbnRleHQvZ2xvYmFsLWNvbnRleHQnXG5pbXBvcnQgeyBNb2RhbEZpbGVFeGNlZWRzIH0gZnJvbSAnLi4vLi4vb3JnYW5pc21zL01vZGFsRmlsZUV4Y2VlZHMnXG5pbXBvcnQgeyBTbGFzaENvbW1hbmREcm9wZG93biB9IGZyb20gJy4uL1NsYXNoQ29tbWFuZERyb3Bkb3duJ1xuaW1wb3J0IHsgdXNlU2xhc2hDb21tYW5kcyB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZVNsYXNoQ29tbWFuZHMnXG5pbXBvcnQgeyBxdWlja0FjdGlvblRpdGxlVG9UeXBlIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvc2xhc2hDb21tYW5kTWFya2VyJ1xuaW1wb3J0IHR5cGUgeyBBY3Rpb24gfSBmcm9tICcuLi8uLi8uLi90eXBlcy9BY3Rpb24nXG5pbXBvcnQgeyB1c2VUIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlVCdcbmltcG9ydCB7IFRlbGVzY29wZUljb24gfSBmcm9tICcuLi9pY29ucy9UZWxlc2NvcGVJY29uJ1xuaW1wb3J0IHsgRVZFTlRTLCB1c2VFdmVudCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZUV2ZW50J1xuaW1wb3J0IHsgZ2V0Q2hhdFRvb2xzTWVudUFnZW50VHlwZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2hpdGxBbmFseXRpY3MnXG5pbXBvcnQgeyBNQUlBX0NIQVRfSU5QVVRfVUkgfSBmcm9tICcuLi8uLi8uLi9zdHlsZXMvY29uZmlnJ1xuaW1wb3J0IHtcbiAgYWxsb3dlZEZpbGVUeXBlcyxcbiAgZmlsZVR5cGVzLFxuICBNQVhfRklMRV9TSVpFX01CX01BSUFfVklTSU9OLFxuICBNQVhfRklMRV9TSVpFX01CX09MRCxcbiAgTUFYX0ZJTEVfU0laRV9NQl9BVURJTyxcbiAgTUFYX0NIQVRfSU5QVVRfQVRUQUNITUVOVFMsXG59IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9mb3JtYXRFeHRlbnNpb25zJ1xuaW1wb3J0IHsgQVBQQ1VFU19FVkVOVFMsIHRyYWNrQXBwY3Vlc0V2ZW50IH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXBwY3VlcydcbmltcG9ydCB7IENvbnRleHRNZW50aW9uRWRpdG9yLCBDb250ZXh0TWVudGlvbkVkaXRvckhhbmRsZSB9IGZyb20gJy4uL0NvbnRleHRNZW50aW9uRWRpdG9yJ1xuaW1wb3J0IHsgdXNlTWFpYVRhc2tQYW5lbFpJbmRleCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZU1haWFUYXNrUGFuZWxaSW5kZXgnXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLWN5Y2xlXG5pbXBvcnQgeyB1c2VNZW50aW9uUG9wb3ZlciB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZU1lbnRpb25Qb3BvdmVyJ1xuaW1wb3J0IHsgQ29udGV4dE1lbnRpb24gfSBmcm9tICcuLi8uLi8uLi90eXBlcy9jb250ZXh0TWVudGlvbidcblxuY29uc3QgVE9PTF9DSElQX0VYSVRfTVMgPSAyMjBcblxudHlwZSBBdHRhY2htZW50RmlsZSA9IHtcbiAgZmlsZTogRmlsZVxuICBvcmlnaW5hbEZpbGU/OiBGaWxlXG4gIGlkOiBzdHJpbmdcbiAgbmFtZTogc3RyaW5nXG4gIHNpemU6IG51bWJlclxuICB0eXBlOiBzdHJpbmdcbiAgaWNvbj86IFJlYWN0Tm9kZVxufVxuXG50eXBlIE1BSUFJbnB1dFByb3BzID0ge1xuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgZGlzYWJsZWQ/OiBib29sZWFuXG4gIG9uU2VuZE1lc3NhZ2U6IChcbiAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICAgYXR0YWNobWVudHM/OiBBdHRhY2htZW50RmlsZVtdLFxuICAgIG1lbnRpb25zPzogQ29udGV4dE1lbnRpb25bXSxcbiAgICBmYXFJZD86IHN0cmluZyxcbiAgICBhZ2VudFN1Z2dlc3Rpb25JZD86IHN0cmluZyxcbiAgICBmdWFJZD86IHN0cmluZyxcbiAgICBzY0lkPzogc3RyaW5nXG4gICkgPT4gdm9pZFxuICBvblN0b3BHZW5lcmF0aW9uPzogKCgpID0+IHZvaWQpIHwgbnVsbFxuICBpc1N0cmVhbWluZz86IGJvb2xlYW5cbiAgaXNXcml0aW5nPzogYm9vbGVhblxuICBwbGFjZWhvbGRlcj86IHN0cmluZ1xuICBvbkNoYW5nZT86ICgpID0+IHZvaWRcbiAgYWxpZ25CdXR0b25zPzogJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJ1xuICBvbkZpbGVBdHRhY2g/OiAoZmlsZTogRmlsZSkgPT4gdm9pZFxuICBvbkRlbGV0ZUF0dGFjaG1lbnQ/OiAoZmlsZUlkOiBzdHJpbmcpID0+IHZvaWRcbiAgYXR0YWNobWVudHM/OiBBdHRhY2htZW50RmlsZVtdXG4gIGNoYXRJZD86IHN0cmluZ1xuICBuZXdDaGF0S2V5PzogbnVtYmVyXG4gIHRvb2x0aXBaSW5kZXg/OiBudW1iZXJcbn1cblxuZXhwb3J0IGNvbnN0IE1BSUFJbnB1dCA9ICh7XG4gIG9uU2VuZE1lc3NhZ2UsXG4gIGNsYXNzTmFtZSxcbiAgZGlzYWJsZWQsXG4gIGlzU3RyZWFtaW5nLFxuICBpc1dyaXRpbmcsXG4gIG9uU3RvcEdlbmVyYXRpb24sXG4gIHBsYWNlaG9sZGVyLFxuICBvbkNoYW5nZSxcbiAgYWxpZ25CdXR0b25zID0gJ3ZlcnRpY2FsJyxcbiAgb25GaWxlQXR0YWNoLFxuICBvbkRlbGV0ZUF0dGFjaG1lbnQsXG4gIGF0dGFjaG1lbnRzID0gW10sXG4gIGNoYXRJZCxcbiAgbmV3Q2hhdEtleSxcbiAgdG9vbHRpcFpJbmRleCxcbn06IE1BSUFJbnB1dFByb3BzKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVCgpXG4gIGNvbnN0IGVkaXRvclJlZiA9IHVzZVJlZjxDb250ZXh0TWVudGlvbkVkaXRvckhhbmRsZT4obnVsbClcbiAgY29uc3QgZmlsZUlucHV0UmVmID0gdXNlUmVmPEhUTUxJbnB1dEVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IHdyYXBwZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IFtoYXNXcmFwcGVkVG9TZWNvbmRMaW5lLCBzZXRIYXNXcmFwcGVkVG9TZWNvbmRMaW5lXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbaGFzVHlwaW5nUHJlc2VuY2UsIHNldEhhc1R5cGluZ1ByZXNlbmNlXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbaXNGb2N1c2VkLCBzZXRJc0ZvY3VzZWRdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFttb2RhbFByb3BzLCBzZXRNb2RhbFByb3BzXSA9IHVzZVN0YXRlKHtcbiAgICBpc09wZW46IGZhbHNlLFxuICAgIGV4Y2x1ZGVkRmlsZXM6IFtdIGFzIHN0cmluZ1tdLFxuICAgIGV4Y2VlZGVkRmlsZXM6IFtdIGFzIHN0cmluZ1tdLFxuICAgIGZpbGVTaXplczoge30gYXMgUmVjb3JkPHN0cmluZywgbnVtYmVyPixcbiAgfSlcbiAgY29uc3QgZXZlbnRBbXBsaXR1ZGUgPSB1c2VFdmVudCgpXG4gIGNvbnN0IHsgdG9nZ2xlV2ViU2VhcmNoLCBpc1dlYlNlYXJjaEFjdGl2ZSwgdG9nZ2xlRGVlcFNlYXJjaCwgaXNEZWVwU2VhcmNoQWN0aXZlLCBhZ2VudCB9ID0gdXNlR2xvYmFsQ29udGV4dCgpXG4gIGNvbnN0IHBsdXNNZW51WkluZGV4ID0gdXNlTWFpYVRhc2tQYW5lbFpJbmRleCgxMzAwLCAnb3ZlcmxheScpXG5cbiAgY29uc3Qge1xuICAgIHBvcG92ZXJPcGVuLFxuICAgIHJlc2V0TWVudGlvbk9wZW5UcmFja2luZyxcbiAgICBoYW5kbGVUcmlnZ2VyLFxuICAgIGhhbmRsZUtleURvd246IGhhbmRsZVBvcG92ZXJLZXlEb3duLFxuICAgIHBvcG92ZXJOb2RlLFxuICB9ID0gdXNlTWVudGlvblBvcG92ZXIoe1xuICAgIGVkaXRvclJlZixcbiAgICBwb3BvdmVyQW5jaG9yUmVmOiB3cmFwcGVyUmVmLFxuICB9KVxuXG4gIGNvbnN0IFtwbHVzTWVudUFuY2hvciwgc2V0UGx1c01lbnVBbmNob3JdID0gdXNlU3RhdGU8SFRNTEJ1dHRvbkVsZW1lbnQgfCBudWxsPihudWxsKVxuICBjb25zdCBbYWN0aXZlVG9vbENoaXBIb3ZlcmVkLCBzZXRBY3RpdmVUb29sQ2hpcEhvdmVyZWRdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFt0b29sQ2hpcEV4aXRpbmcsIHNldFRvb2xDaGlwRXhpdGluZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgdG9vbENoaXBFeGl0VGltZXJSZWYgPSB1c2VSZWY8UmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4gfCBudWxsPihudWxsKVxuICBjb25zdCBzZWFyY2hNb2RlQWN0aXZlUmVmID0gdXNlUmVmKHsgd2ViOiBmYWxzZSwgZGVlcDogZmFsc2UgfSlcbiAgY29uc3QgcGx1c01lbnVPcGVuID0gQm9vbGVhbihwbHVzTWVudUFuY2hvcilcblxuICAvLyBJbmljaWFsaXphciBsYXMgcmVmZXJlbmNpYXMgY29tbyB1bmRlZmluZWQgcGFyYSBkZXRlY3RhciBlbCBwcmltZXIgY2FtYmlvIGNvcnJlY3RhbWVudGVcbiAgY29uc3QgcHJldmlvdXNBZ2VudElkUmVmID0gdXNlUmVmPHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKVxuICBjb25zdCBwcmV2aW91c0NoYXRJZFJlZiA9IHVzZVJlZjxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZClcbiAgY29uc3QgcHJldmlvdXNOZXdDaGF0S2V5UmVmID0gdXNlUmVmPG51bWJlciB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKVxuXG4gIGNvbnN0IGFuYWx5dGljc0FnZW50VHlwZSA9IGdldENoYXRUb29sc01lbnVBZ2VudFR5cGUoYWdlbnQpXG4gIGNvbnN0IGFuYWx5dGljc0Nsb25lRW50aXR5UGF5bG9hZCA9IGFnZW50Py50eXBlID09PSAnY2xvbmUnID8geyBlbnRpdHk6IGFnZW50LmVudGl0eSA/PyBudWxsIH0gOiB7fVxuXG4gIGNvbnN0IHsgY29tbWFuZHM6IHNsYXNoQ29tbWFuZHMgfSA9IHVzZVNsYXNoQ29tbWFuZHMoYWdlbnQ/LmlkKVxuICBjb25zdCBbc2hvd1NsYXNoRHJvcGRvd24sIHNldFNob3dTbGFzaERyb3Bkb3duXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbc2xhc2hRdWVyeSwgc2V0U2xhc2hRdWVyeV0gPSB1c2VTdGF0ZSgnJylcbiAgY29uc3Qgc2xhc2hNZW51V2FzT3BlblJlZiA9IHVzZVJlZihmYWxzZSlcblxuICAvKiogVHJhcyBlbGVnaXIgbyBxdWl0YXIgYsO6c3F1ZWRhIHdlYi9wcm9mdW5kYTogdm9sdmVyIGFsIHRleHRhcmVhIChQb3BvdmVyL21lbnUgcHVlZGUgcm9iYXIgZm9jbykuICovXG4gIGNvbnN0IHNjaGVkdWxlSW5wdXRGb2N1c0FmdGVyVG9vbEFjdGlvbiA9ICgpID0+IHtcbiAgICBpZiAoZGlzYWJsZWQpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBlZGl0b3JSZWYuY3VycmVudD8uZm9jdXMoKVxuICAgICAgfSwgMClcbiAgICB9KVxuICB9XG5cbiAgY29uc3QgY2xvc2VQbHVzTWVudSA9ICgpID0+IHtcbiAgICBzZXRQbHVzTWVudUFuY2hvcihudWxsKVxuICB9XG5cbiAgY29uc3QgY2FuY2VsUGVuZGluZ1Rvb2xDaGlwRXhpdCA9ICgpID0+IHtcbiAgICBpZiAodG9vbENoaXBFeGl0VGltZXJSZWYuY3VycmVudCAhPT0gbnVsbCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRvb2xDaGlwRXhpdFRpbWVyUmVmLmN1cnJlbnQpXG4gICAgICB0b29sQ2hpcEV4aXRUaW1lclJlZi5jdXJyZW50ID0gbnVsbFxuICAgIH1cbiAgICBzZXRUb29sQ2hpcEV4aXRpbmcoZmFsc2UpXG4gIH1cblxuICBjb25zdCBoYW5kbGVQbHVzQnV0dG9uQ2xpY2sgPSAoZTogTW91c2VFdmVudDxIVE1MQnV0dG9uRWxlbWVudD4pID0+IHtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpXG4gICAgaWYgKHBsdXNNZW51QW5jaG9yKSB7XG4gICAgICBjbG9zZVBsdXNNZW51KClcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBzZXRQbHVzTWVudUFuY2hvcihlLmN1cnJlbnRUYXJnZXQpXG4gICAgZXZlbnRBbXBsaXR1ZGUoRVZFTlRTLmFpQ2hhdFBsdXNPcGVuLCB7IGFnZW50X3R5cGU6IGFuYWx5dGljc0FnZW50VHlwZSwgLi4uYW5hbHl0aWNzQ2xvbmVFbnRpdHlQYXlsb2FkIH0pXG4gIH1cblxuICBjb25zdCBoYW5kbGVQbHVzTWVudUF0dGFjaCA9ICgpID0+IHtcbiAgICBjbG9zZVBsdXNNZW51KClcbiAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWlDaGF0VG9vbHMsIHtcbiAgICAgIGFnZW50X3R5cGU6IGFuYWx5dGljc0FnZW50VHlwZSxcbiAgICAgIG9wdGlvbjogJ2ZpbGVzJyxcbiAgICAgIC4uLmFuYWx5dGljc0Nsb25lRW50aXR5UGF5bG9hZCxcbiAgICB9KVxuICAgIGlmIChhdHRhY2htZW50cy5sZW5ndGggPj0gTUFYX0NIQVRfSU5QVVRfQVRUQUNITUVOVFMpIHJldHVyblxuICAgIGZpbGVJbnB1dFJlZi5jdXJyZW50Py5jbGljaygpXG4gIH1cblxuICBjb25zdCBiZWdpblRvb2xDaGlwRXhpdCA9ICgpID0+IHtcbiAgICBpZiAodG9vbENoaXBFeGl0VGltZXJSZWYuY3VycmVudCAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGNvbnN0IHdhc1dlYiA9IGlzV2ViU2VhcmNoQWN0aXZlXG4gICAgY29uc3Qgd2FzRGVlcCA9IGlzRGVlcFNlYXJjaEFjdGl2ZVxuICAgIGlmICghd2FzV2ViICYmICF3YXNEZWVwKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgc2V0VG9vbENoaXBFeGl0aW5nKHRydWUpXG4gICAgdG9vbENoaXBFeGl0VGltZXJSZWYuY3VycmVudCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdG9vbENoaXBFeGl0VGltZXJSZWYuY3VycmVudCA9IG51bGxcbiAgICAgIGNvbnN0IHsgd2ViLCBkZWVwIH0gPSBzZWFyY2hNb2RlQWN0aXZlUmVmLmN1cnJlbnRcbiAgICAgIGlmICh3YXNXZWIgJiYgd2ViKSB7XG4gICAgICAgIHRvZ2dsZVdlYlNlYXJjaCgpXG4gICAgICB9IGVsc2UgaWYgKHdhc0RlZXAgJiYgZGVlcCkge1xuICAgICAgICB0b2dnbGVEZWVwU2VhcmNoKClcbiAgICAgIH1cbiAgICAgIHNldFRvb2xDaGlwRXhpdGluZyhmYWxzZSlcbiAgICAgIHNjaGVkdWxlSW5wdXRGb2N1c0FmdGVyVG9vbEFjdGlvbigpXG4gICAgfSwgVE9PTF9DSElQX0VYSVRfTVMpXG4gIH1cblxuICBjb25zdCBoYW5kbGVQbHVzTWVudVdlYlNlYXJjaCA9ICgpID0+IHtcbiAgICBjbG9zZVBsdXNNZW51KClcbiAgICBpZiAoaXNXZWJTZWFyY2hBY3RpdmUpIHtcbiAgICAgIGJlZ2luVG9vbENoaXBFeGl0KClcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBjYW5jZWxQZW5kaW5nVG9vbENoaXBFeGl0KClcbiAgICBpZiAoaXNEZWVwU2VhcmNoQWN0aXZlKSB7XG4gICAgICB0b2dnbGVEZWVwU2VhcmNoKClcbiAgICB9XG4gICAgdG9nZ2xlV2ViU2VhcmNoKClcbiAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWlDaGF0VG9vbHMsIHtcbiAgICAgIGFnZW50X3R5cGU6IGFuYWx5dGljc0FnZW50VHlwZSxcbiAgICAgIG9wdGlvbjogJ3NlYXJjaCcsXG4gICAgICAuLi5hbmFseXRpY3NDbG9uZUVudGl0eVBheWxvYWQsXG4gICAgfSlcbiAgICBzY2hlZHVsZUlucHV0Rm9jdXNBZnRlclRvb2xBY3Rpb24oKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlUGx1c01lbnVEZWVwU2VhcmNoID0gKCkgPT4ge1xuICAgIGNsb3NlUGx1c01lbnUoKVxuICAgIGlmIChpc0RlZXBTZWFyY2hBY3RpdmUpIHtcbiAgICAgIGJlZ2luVG9vbENoaXBFeGl0KClcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBjYW5jZWxQZW5kaW5nVG9vbENoaXBFeGl0KClcbiAgICBpZiAoaXNXZWJTZWFyY2hBY3RpdmUpIHtcbiAgICAgIHRvZ2dsZVdlYlNlYXJjaCgpXG4gICAgfVxuICAgIHRvZ2dsZURlZXBTZWFyY2goKVxuICAgIGV2ZW50QW1wbGl0dWRlKEVWRU5UUy5haUNoYXRUb29scywge1xuICAgICAgYWdlbnRfdHlwZTogYW5hbHl0aWNzQWdlbnRUeXBlLFxuICAgICAgb3B0aW9uOiAnZGVlcF9zZWFyY2gnLFxuICAgICAgLi4uYW5hbHl0aWNzQ2xvbmVFbnRpdHlQYXlsb2FkLFxuICAgIH0pXG4gICAgc2NoZWR1bGVJbnB1dEZvY3VzQWZ0ZXJUb29sQWN0aW9uKClcbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFkaXNhYmxlZCkge1xuICAgICAgZWRpdG9yUmVmLmN1cnJlbnQ/LmZvY3VzKClcbiAgICB9XG4gIH0sIFtkaXNhYmxlZF0pXG5cbiAgY29uc3QgY29tcGFjdFNpbmdsZVJvd1Rvb2xiYXIgPSB1c2VNZW1vKFxuICAgICgpID0+IGF0dGFjaG1lbnRzLmxlbmd0aCA9PT0gMCAmJiAhaXNXZWJTZWFyY2hBY3RpdmUgJiYgIWlzRGVlcFNlYXJjaEFjdGl2ZSAmJiAhaGFzV3JhcHBlZFRvU2Vjb25kTGluZSxcbiAgICBbYXR0YWNobWVudHMubGVuZ3RoLCBpc1dlYlNlYXJjaEFjdGl2ZSwgaXNEZWVwU2VhcmNoQWN0aXZlLCBoYXNXcmFwcGVkVG9TZWNvbmRMaW5lXVxuICApXG5cbiAgY29uc3Qgc2VuZERpc2FibGVkID0gdXNlTWVtbyhcbiAgICAoKSA9PiAhaGFzVHlwaW5nUHJlc2VuY2UgJiYgYXR0YWNobWVudHMubGVuZ3RoID09PSAwLFxuICAgIFtoYXNUeXBpbmdQcmVzZW5jZSwgYXR0YWNobWVudHMubGVuZ3RoXVxuICApXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZWFyY2hNb2RlQWN0aXZlUmVmLmN1cnJlbnQgPSB7IHdlYjogaXNXZWJTZWFyY2hBY3RpdmUsIGRlZXA6IGlzRGVlcFNlYXJjaEFjdGl2ZSB9XG4gIH0sIFtpc1dlYlNlYXJjaEFjdGl2ZSwgaXNEZWVwU2VhcmNoQWN0aXZlXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAodG9vbENoaXBFeGl0VGltZXJSZWYuY3VycmVudCAhPT0gbnVsbCkge1xuICAgICAgICBjbGVhclRpbWVvdXQodG9vbENoaXBFeGl0VGltZXJSZWYuY3VycmVudClcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpc1dlYlNlYXJjaEFjdGl2ZSAmJiAhaXNEZWVwU2VhcmNoQWN0aXZlKSB7XG4gICAgICBzZXRBY3RpdmVUb29sQ2hpcEhvdmVyZWQoZmFsc2UpXG4gICAgfVxuICB9LCBbaXNXZWJTZWFyY2hBY3RpdmUsIGlzRGVlcFNlYXJjaEFjdGl2ZV0pXG5cbiAgLy8gQXV0by1mb2N1cyBjdWFuZG8gY2FtYmlhIGVsIGFnZW50ZSBvIGxhIGNvbnZlcnNhY2nDs24sIG8gYWwgbW9udGFyIGVsIGNvbXBvbmVudGVcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBhZ2VudENoYW5nZWQgPSBwcmV2aW91c0FnZW50SWRSZWYuY3VycmVudCAhPT0gYWdlbnQ/LmlkXG4gICAgY29uc3QgcHJldmlvdXNDaGF0SWQgPSBwcmV2aW91c0NoYXRJZFJlZi5jdXJyZW50XG4gICAgY29uc3QgY3VycmVudENoYXRJZCA9IGNoYXRJZFxuICAgIGNvbnN0IGNoYXRDaGFuZ2VkID0gcHJldmlvdXNDaGF0SWQgIT09IGN1cnJlbnRDaGF0SWRcbiAgICBjb25zdCBjaGFuZ2VkRnJvbU5ld0NoYXRUb09sZENoYXQgPVxuICAgICAgKHByZXZpb3VzQ2hhdElkID09PSB1bmRlZmluZWQgfHwgcHJldmlvdXNDaGF0SWQgPT09IG51bGwpICYmIGN1cnJlbnRDaGF0SWQgIT09IHVuZGVmaW5lZCAmJiBjdXJyZW50Q2hhdElkICE9PSBudWxsXG4gICAgY29uc3QgbmV3Q2hhdFN0YXJ0ZWQgPSBwcmV2aW91c05ld0NoYXRLZXlSZWYuY3VycmVudCAhPT0gbmV3Q2hhdEtleVxuICAgIGNvbnN0IGlzSW5pdGlhbE1vdW50ID0gcHJldmlvdXNBZ2VudElkUmVmLmN1cnJlbnQgPT09IHVuZGVmaW5lZCAmJiBwcmV2aW91c0NoYXRJZFJlZi5jdXJyZW50ID09PSB1bmRlZmluZWRcblxuICAgIGlmICgoYWdlbnRDaGFuZ2VkIHx8IGNoYXRDaGFuZ2VkIHx8IGNoYW5nZWRGcm9tTmV3Q2hhdFRvT2xkQ2hhdCB8fCBuZXdDaGF0U3RhcnRlZCB8fCBpc0luaXRpYWxNb3VudCkgJiYgIWRpc2FibGVkKSB7XG4gICAgICBjb25zdCBkZWxheSA9IGlzSW5pdGlhbE1vdW50IHx8IGNoYW5nZWRGcm9tTmV3Q2hhdFRvT2xkQ2hhdCA/IDIwMCA6IDEwMFxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlmICghZGlzYWJsZWQpIGVkaXRvclJlZi5jdXJyZW50Py5mb2N1cygpXG4gICAgICB9LCBkZWxheSlcbiAgICB9XG5cbiAgICBwcmV2aW91c0FnZW50SWRSZWYuY3VycmVudCA9IGFnZW50Py5pZFxuICAgIHByZXZpb3VzQ2hhdElkUmVmLmN1cnJlbnQgPSBjaGF0SWRcbiAgICBwcmV2aW91c05ld0NoYXRLZXlSZWYuY3VycmVudCA9IG5ld0NoYXRLZXlcbiAgfSwgW2FnZW50Py5pZCwgY2hhdElkLCBuZXdDaGF0S2V5LCBkaXNhYmxlZF0pXG5cbiAgLy8gQXBwY3Vlczogbm90aWZ5IHRoYXQgdGhlIGlucHV0IGlzIHZpc2libGUgZm9yIHNwZWNpYWxpc3QgYWdlbnRzIChjbG9uZSArIHByb2plY3QvY2xpZW50KVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGlzU3BlY2lhbGlzdEFnZW50ID0gYWdlbnQ/LnR5cGUgPT09ICdjbG9uZScgJiYgKGFnZW50Py5lbnRpdHkgPT09ICdwcm9qZWN0JyB8fCBhZ2VudD8uZW50aXR5ID09PSAnY2xpZW50JylcbiAgICBpZiAoIXdyYXBwZXJSZWYuY3VycmVudCB8fCAhaXNTcGVjaWFsaXN0QWdlbnQpIHJldHVybiB1bmRlZmluZWRcblxuICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKFxuICAgICAgKFtlbnRyeV0pID0+IHtcbiAgICAgICAgaWYgKGVudHJ5LmlzSW50ZXJzZWN0aW5nKSB7XG4gICAgICAgICAgdHJhY2tBcHBjdWVzRXZlbnQoQVBQQ1VFU19FVkVOVFMubWFpYUNvbnRleHRNZW50aW9uSW5pdClcbiAgICAgICAgICBvYnNlcnZlci5kaXNjb25uZWN0KClcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHsgdGhyZXNob2xkOiAwLjEgfVxuICAgIClcblxuICAgIG9ic2VydmVyLm9ic2VydmUod3JhcHBlclJlZi5jdXJyZW50KVxuICAgIHJldHVybiAoKSA9PiBvYnNlcnZlci5kaXNjb25uZWN0KClcbiAgfSwgW2FnZW50Py5pZCwgYWdlbnQ/LnR5cGUsIGFnZW50Py5lbnRpdHldKVxuXG4gIC8vIENsZWFyIGlucHV0IHdoZW4gc2Vzc2lvbiBjaGFuZ2VzICh1c2VyIHN3aXRjaGVzIHRvIGEgZGlmZmVyZW50IGNoYXQpXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlU2Vzc2lvbkNoYW5nZSA9ICgpID0+IHtcbiAgICAgIGVkaXRvclJlZi5jdXJyZW50Py5jbGVhcigpXG4gICAgICBzZXRIYXNUeXBpbmdQcmVzZW5jZShmYWxzZSlcbiAgICAgIHNldEhhc1dyYXBwZWRUb1NlY29uZExpbmUoZmFsc2UpXG4gICAgICBzZXRTaG93U2xhc2hEcm9wZG93bihmYWxzZSlcbiAgICAgIHNldFNsYXNoUXVlcnkoJycpXG4gICAgICByZXNldE1lbnRpb25PcGVuVHJhY2tpbmcoKVxuICAgIH1cblxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYXQtc2Vzc2lvbi1jaGFuZ2VkJywgaGFuZGxlU2Vzc2lvbkNoYW5nZSlcbiAgICByZXR1cm4gKCkgPT4gZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2hhdC1zZXNzaW9uLWNoYW5nZWQnLCBoYW5kbGVTZXNzaW9uQ2hhbmdlKVxuICB9LCBbcmVzZXRNZW50aW9uT3BlblRyYWNraW5nXSlcblxuICBjb25zdCBoYW5kbGVTZW5kTWVzc2FnZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBzdGF0ZSA9IGVkaXRvclJlZi5jdXJyZW50Py5zZXJpYWxpemUoKVxuICAgIGNvbnN0IHRleHQgPSBzdGF0ZT8udGV4dCA/PyAnJ1xuICAgIGlmICghdGV4dC50cmltKCkgJiYgIWF0dGFjaG1lbnRzLmxlbmd0aCkgcmV0dXJuXG4gICAgY29uc3QgbWVudGlvbnMgPSBzdGF0ZT8ubWVudGlvbnMgPz8gW11cbiAgICBvblNlbmRNZXNzYWdlKHRleHQsIGF0dGFjaG1lbnRzLCBtZW50aW9ucylcbiAgICBlZGl0b3JSZWYuY3VycmVudD8uY2xlYXIoKVxuICAgIHNldEhhc1R5cGluZ1ByZXNlbmNlKGZhbHNlKVxuICAgIHNldEhhc1dyYXBwZWRUb1NlY29uZExpbmUoZmFsc2UpXG4gICAgc2V0U2hvd1NsYXNoRHJvcGRvd24oZmFsc2UpXG4gICAgc2V0U2xhc2hRdWVyeSgnJylcbiAgICByZXNldE1lbnRpb25PcGVuVHJhY2tpbmcoKVxuICB9LCBbYXR0YWNobWVudHMsIG9uU2VuZE1lc3NhZ2UsIHJlc2V0TWVudGlvbk9wZW5UcmFja2luZ10pXG5cbiAgY29uc3QgaGFuZGxlU2VsZWN0U2xhc2hDb21tYW5kID0gdXNlQ2FsbGJhY2soXG4gICAgKGNvbW1hbmQ6IEFjdGlvbikgPT4ge1xuICAgICAgZXZlbnRBbXBsaXR1ZGUoRVZFTlRTLmFpQ2hhdFF1aWNrQWN0aW9uU2VsZWN0LCB7XG4gICAgICAgIHR5cGVfcXVpY2tfYWN0aW9uOiBxdWlja0FjdGlvblRpdGxlVG9UeXBlKGNvbW1hbmQuaWQsIGNvbW1hbmQudGl0bGUpLFxuICAgICAgICBvcmlnaW5fcXVpY2tfYWN0aW9uOiAnc2xhc2hfbWVudScsXG4gICAgICB9KVxuXG4gICAgICBjb25zdCBzdGF0ZSA9IGVkaXRvclJlZi5jdXJyZW50Py5zZXJpYWxpemUoKVxuICAgICAgY29uc3QgdGV4dCA9IHN0YXRlPy50ZXh0ID8/ICcnXG4gICAgICBjb25zdCB0cmlnZ2VyUGFydCA9IGAvJHtzbGFzaFF1ZXJ5fWBcbiAgICAgIGNvbnN0IGJlZm9yZVRyaWdnZXIgPSB0ZXh0LmVuZHNXaXRoKHRyaWdnZXJQYXJ0KSA/IHRleHQuc2xpY2UoMCwgLXRyaWdnZXJQYXJ0Lmxlbmd0aCkgOiB0ZXh0XG4gICAgICBjb25zdCBpc0VtcHR5QmVmb3JlVHJpZ2dlciA9IGJlZm9yZVRyaWdnZXIudHJpbSgpID09PSAnJ1xuXG4gICAgICBpZiAoaXNFbXB0eUJlZm9yZVRyaWdnZXIpIHtcbiAgICAgICAgb25TZW5kTWVzc2FnZShjb21tYW5kLnRpdGxlLCBhdHRhY2htZW50cywgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBjb21tYW5kLmlkKVxuICAgICAgICBlZGl0b3JSZWYuY3VycmVudD8uY2xlYXIoKVxuICAgICAgICBzZXRIYXNUeXBpbmdQcmVzZW5jZShmYWxzZSlcbiAgICAgICAgc2V0SGFzV3JhcHBlZFRvU2Vjb25kTGluZShmYWxzZSlcbiAgICAgICAgc2V0U2hvd1NsYXNoRHJvcGRvd24oZmFsc2UpXG4gICAgICAgIHNldFNsYXNoUXVlcnkoJycpXG4gICAgICAgIHNsYXNoTWVudVdhc09wZW5SZWYuY3VycmVudCA9IGZhbHNlXG4gICAgICAgIHJlc2V0TWVudGlvbk9wZW5UcmFja2luZygpXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBlZGl0b3JSZWYuY3VycmVudD8uaW5zZXJ0U2xhc2hDb21tYW5kKHsgaWQ6IGNvbW1hbmQuaWQsIGxhYmVsOiBjb21tYW5kLnRpdGxlIH0pXG4gICAgICBzZXRTaG93U2xhc2hEcm9wZG93bihmYWxzZSlcbiAgICAgIHNldFNsYXNoUXVlcnkoJycpXG4gICAgICBzbGFzaE1lbnVXYXNPcGVuUmVmLmN1cnJlbnQgPSBmYWxzZVxuICAgIH0sXG4gICAgW2F0dGFjaG1lbnRzLCBvblNlbmRNZXNzYWdlLCByZXNldE1lbnRpb25PcGVuVHJhY2tpbmcsIHNsYXNoUXVlcnksIGV2ZW50QW1wbGl0dWRlXVxuICApXG5cbiAgY29uc3QgaGFuZGxlQ2xvc2VTbGFzaERyb3Bkb3duID0gKCkgPT4ge1xuICAgIHNldFNob3dTbGFzaERyb3Bkb3duKGZhbHNlKVxuICAgIHNsYXNoTWVudVdhc09wZW5SZWYuY3VycmVudCA9IGZhbHNlXG4gIH1cblxuICBjb25zdCBoYW5kbGVFZGl0b3JJbnB1dCA9IHVzZUNhbGxiYWNrKFxuICAgICh7XG4gICAgICB0ZXh0LFxuICAgICAgdHJpZ2dlcixcbiAgICAgIHNsYXNoVHJpZ2dlcixcbiAgICB9OiB7XG4gICAgICB0ZXh0OiBzdHJpbmdcbiAgICAgIG1lbnRpb25zOiBDb250ZXh0TWVudGlvbltdXG4gICAgICB0cmlnZ2VyOiB7IGFjdGl2ZTogYm9vbGVhbjsgcXVlcnk6IHN0cmluZzsgYXRSdW5MZW5ndGg6IG51bWJlciB9XG4gICAgICBzbGFzaFRyaWdnZXI/OiB7IGFjdGl2ZTogYm9vbGVhbjsgcXVlcnk6IHN0cmluZyB9XG4gICAgfSkgPT4ge1xuICAgICAgY29uc3QgdmlzdWFsTXVsdGlsaW5lID0gISFlZGl0b3JSZWYuY3VycmVudD8uaGFzVmlzdWFsTXVsdGlsaW5lKClcbiAgICAgIGNvbnN0IGV4cGxpY2l0TXVsdGlsaW5lID0gdGV4dC5pbmNsdWRlcygnXFxuJylcbiAgICAgIGNvbnN0IGlzTGlrZWx5Rmlyc3RDaGFyTWVhc3VyZW1lbnRHbGl0Y2ggPSB0ZXh0Lmxlbmd0aCA8PSAxICYmICFleHBsaWNpdE11bHRpbGluZSAmJiB2aXN1YWxNdWx0aWxpbmVcbiAgICAgIGNvbnN0IHN0YWJsZVZpc3VhbE11bHRpbGluZSA9IGlzTGlrZWx5Rmlyc3RDaGFyTWVhc3VyZW1lbnRHbGl0Y2ggPyBmYWxzZSA6IHZpc3VhbE11bHRpbGluZVxuICAgICAgY29uc3QgbmV4dElzTXVsdGlsaW5lID0gZXhwbGljaXRNdWx0aWxpbmUgfHwgc3RhYmxlVmlzdWFsTXVsdGlsaW5lXG4gICAgICBjb25zdCBuZXh0SGFzVHlwaW5nUHJlc2VuY2UgPSB0ZXh0LnRyaW0oKS5sZW5ndGggPiAwXG4gICAgICBjb25zdCBuZXh0VHlwaW5nUHJlc2VuY2UgPSB0ZXh0LnRyaW0oKS5sZW5ndGggPiAwXG5cbiAgICAgIHNldEhhc1R5cGluZ1ByZXNlbmNlKG5leHRUeXBpbmdQcmVzZW5jZSlcbiAgICAgIHNldEhhc1dyYXBwZWRUb1NlY29uZExpbmUocHJldiA9PiB7XG4gICAgICAgIGxldCBuZXh0ID0gcHJldlxuICAgICAgICBpZiAoIW5leHRIYXNUeXBpbmdQcmVzZW5jZSkge1xuICAgICAgICAgIG5leHQgPSBmYWxzZVxuICAgICAgICB9IGVsc2UgaWYgKG5leHRJc011bHRpbGluZSkge1xuICAgICAgICAgIG5leHQgPSB0cnVlXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbmV4dFxuICAgICAgfSlcbiAgICAgIG9uQ2hhbmdlPy4oKVxuICAgICAgaGFuZGxlVHJpZ2dlcih0cmlnZ2VyKVxuXG4gICAgICBpZiAoc2xhc2hUcmlnZ2VyPy5hY3RpdmUgJiYgc2xhc2hDb21tYW5kcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGlmICghc2xhc2hNZW51V2FzT3BlblJlZi5jdXJyZW50KSB7XG4gICAgICAgICAgZXZlbnRBbXBsaXR1ZGUoRVZFTlRTLmFpQ2hhdFF1aWNrQWN0aW9uT3BlbilcbiAgICAgICAgICBzbGFzaE1lbnVXYXNPcGVuUmVmLmN1cnJlbnQgPSB0cnVlXG4gICAgICAgIH1cbiAgICAgICAgc2V0U2hvd1NsYXNoRHJvcGRvd24odHJ1ZSlcbiAgICAgICAgc2V0U2xhc2hRdWVyeShzbGFzaFRyaWdnZXIucXVlcnkpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzbGFzaE1lbnVXYXNPcGVuUmVmLmN1cnJlbnQgPSBmYWxzZVxuICAgICAgICBzZXRTaG93U2xhc2hEcm9wZG93bihmYWxzZSlcbiAgICAgICAgc2V0U2xhc2hRdWVyeSgnJylcbiAgICAgIH1cbiAgICB9LFxuICAgIFtvbkNoYW5nZSwgaGFuZGxlVHJpZ2dlciwgc2xhc2hDb21tYW5kcywgZXZlbnRBbXBsaXR1ZGVdXG4gIClcblxuICBjb25zdCBoYW5kbGVLZXlEb3duID0gdXNlQ2FsbGJhY2soXG4gICAgKGU6IEtleWJvYXJkRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgICBpZiAoaGFuZGxlUG9wb3ZlcktleURvd24oZSkpIHJldHVyblxuICAgICAgaWYgKGUua2V5ID09PSAnRW50ZXInICYmICFlLnNoaWZ0S2V5ICYmICFwb3BvdmVyT3Blbikge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgaWYgKCFzZW5kRGlzYWJsZWQgJiYgIWRpc2FibGVkKSBoYW5kbGVTZW5kTWVzc2FnZSgpXG4gICAgICB9XG4gICAgfSxcbiAgICBbaGFuZGxlUG9wb3ZlcktleURvd24sIHBvcG92ZXJPcGVuLCBzZW5kRGlzYWJsZWQsIGRpc2FibGVkLCBoYW5kbGVTZW5kTWVzc2FnZV1cbiAgKVxuXG4gIGNvbnN0IGhhbmRsZUZpbGVTZWxlY3QgPSAoZTogQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHtcbiAgICBjb25zdCBmaWxlcyA9IGUudGFyZ2V0LmZpbGVzXG4gICAgaWYgKCFmaWxlcykgcmV0dXJuXG5cbiAgICBjb25zdCBleGNlZWRlZEZpbGVzOiBzdHJpbmdbXSA9IFtdXG4gICAgY29uc3QgZXhjbHVkZWRGaWxlczogc3RyaW5nW10gPSBbXVxuICAgIGNvbnN0IGZpbGVTaXplczogUmVjb3JkPHN0cmluZywgbnVtYmVyPiA9IHt9XG4gICAgbGV0IGZpbGVzSW5zZXJ0ZWQgPSBhdHRhY2htZW50cy5sZW5ndGhcblxuICAgIC8vIERlZmluaXIgbMOtbWl0ZXMgcGFyYSBkaWZlcmVudGVzIHRpcG9zIGRlIGFyY2hpdm9zXG4gICAgY29uc3QgaXNOZXdGb3JtYXQgPSAoZXh0ZW5zaW9uOiBzdHJpbmcpID0+IFsnLnBuZycsICcuanBnJywgJy5qcGVnJywgJy5wZGYnXS5pbmNsdWRlcyhleHRlbnNpb24pXG4gICAgY29uc3QgaXNPbGRGb3JtYXQgPSAoZXh0ZW5zaW9uOiBzdHJpbmcpID0+XG4gICAgICBbJy50eHQnLCAnLm1kJywgJy5jc3YnLCAnLmRvYycsICcuZG9jeCcsICcueGxzeCcsICcueGxzJ10uaW5jbHVkZXMoZXh0ZW5zaW9uKVxuICAgIGNvbnN0IGlzQXVkaW9Gb3JtYXQgPSAoZXh0ZW5zaW9uOiBzdHJpbmcpID0+XG4gICAgICBbJy5mbGFjJywgJy5tNGEnLCAnLm1wMycsICcubXA0JywgJy5vZ2EnLCAnLm9nZycsICcud2F2JywgJy53ZWJtJ10uaW5jbHVkZXMoZXh0ZW5zaW9uKVxuXG4gICAgQXJyYXkuZnJvbShmaWxlcykuZm9yRWFjaChmaWxlID0+IHtcbiAgICAgIGxldCBleGNsdWRlZEZpbGUgPSBmYWxzZVxuICAgICAgY29uc3QgZmlsZU5hbWVQYXJ0cyA9IGZpbGUubmFtZS5zcGxpdCgnLicpXG4gICAgICBjb25zdCBmaWxlRXh0ZW5zaW9uID0gZmlsZU5hbWVQYXJ0cy5sZW5ndGggPiAxID8gYC4ke2ZpbGVOYW1lUGFydHMucG9wKCk/LnRvTG93ZXJDYXNlKCl9YCA6ICcnXG5cbiAgICAgIGlmICghYWxsb3dlZEZpbGVUeXBlcz8uaW5jbHVkZXMoZmlsZUV4dGVuc2lvbikpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGZpbGVTaXplc1tmaWxlLm5hbWVdID0gZmlsZS5zaXplXG5cbiAgICAgIC8vIFZhbGlkYWNpb25lcyBlc3BlY8OtZmljYXMgc2Vnw7puIGVsIHRpcG8gZGUgYXJjaGl2b1xuICAgICAgaWYgKGlzTmV3Rm9ybWF0KGZpbGVFeHRlbnNpb24pKSB7XG4gICAgICAgIC8vIFBhcmEgbnVldm9zIGZvcm1hdG9zOiBoYXN0YSA0Ljk5TUIgcG9yIGFyY2hpdm8sIGhhc3RhIE1BWF9DSEFUX0lOUFVUX0FUVEFDSE1FTlRTIGFyY2hpdm9zXG4gICAgICAgIGlmIChmaWxlLnNpemUgPiBNQVhfRklMRV9TSVpFX01CX01BSUFfVklTSU9OICogMTAyNCAqIDEwMjQpIHtcbiAgICAgICAgICBleGNlZWRlZEZpbGVzLnB1c2goZmlsZS5uYW1lKVxuICAgICAgICAgIGV4Y2x1ZGVkRmlsZSA9IHRydWVcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmaWxlc0luc2VydGVkICsgMSA+IE1BWF9DSEFUX0lOUFVUX0FUVEFDSE1FTlRTKSB7XG4gICAgICAgICAgZXhjbHVkZWRGaWxlcy5wdXNoKGZpbGUubmFtZSlcbiAgICAgICAgICBleGNsdWRlZEZpbGUgPSB0cnVlXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoaXNPbGRGb3JtYXQoZmlsZUV4dGVuc2lvbikpIHtcbiAgICAgICAgLy8gUGFyYSBmb3JtYXRvcyBhbnRlcmlvcmVzOiBoYXN0YSAxTUIgcG9yIGFyY2hpdm8sIGhhc3RhIE1BWF9DSEFUX0lOUFVUX0FUVEFDSE1FTlRTIGFyY2hpdm9zXG4gICAgICAgIGlmIChmaWxlLnNpemUgPiBNQVhfRklMRV9TSVpFX01CX09MRCAqIDEwMjQgKiAxMDI0KSB7XG4gICAgICAgICAgZXhjZWVkZWRGaWxlcy5wdXNoKGZpbGUubmFtZSlcbiAgICAgICAgICBleGNsdWRlZEZpbGUgPSB0cnVlXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZmlsZXNJbnNlcnRlZCArIDEgPiBNQVhfQ0hBVF9JTlBVVF9BVFRBQ0hNRU5UUykge1xuICAgICAgICAgIGV4Y2x1ZGVkRmlsZXMucHVzaChmaWxlLm5hbWUpXG4gICAgICAgICAgZXhjbHVkZWRGaWxlID0gdHJ1ZVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGlzQXVkaW9Gb3JtYXQoZmlsZUV4dGVuc2lvbikpIHtcbiAgICAgICAgLy8gUGFyYSBhcmNoaXZvcyBkZSBhdWRpbzogaGFzdGEgMTBNQiBwb3IgYXJjaGl2bywgaGFzdGEgTUFYX0NIQVRfSU5QVVRfQVRUQUNITUVOVFMgYXJjaGl2b3NcbiAgICAgICAgaWYgKGZpbGUuc2l6ZSA+IE1BWF9GSUxFX1NJWkVfTUJfQVVESU8gKiAxMDI0ICogMTAyNCkge1xuICAgICAgICAgIGV4Y2VlZGVkRmlsZXMucHVzaChmaWxlLm5hbWUpXG4gICAgICAgICAgZXhjbHVkZWRGaWxlID0gdHJ1ZVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZpbGVzSW5zZXJ0ZWQgKyAxID4gTUFYX0NIQVRfSU5QVVRfQVRUQUNITUVOVFMpIHtcbiAgICAgICAgICBleGNsdWRlZEZpbGVzLnB1c2goZmlsZS5uYW1lKVxuICAgICAgICAgIGV4Y2x1ZGVkRmlsZSA9IHRydWVcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoIWV4Y2x1ZGVkRmlsZSkge1xuICAgICAgICBmaWxlc0luc2VydGVkICs9IDFcbiAgICAgICAgY29uc3QgdHlwZUZpbGUgPSBmaWxlLnR5cGUgfHwgZmlsZVR5cGVzW2ZpbGVFeHRlbnNpb25dXG4gICAgICAgIGNvbnN0IHBhcnNlZEZpbGUgPSBuZXcgRmlsZShbZmlsZV0sIGZpbGUubmFtZSwgeyB0eXBlOiB0eXBlRmlsZSB9KVxuICAgICAgICBvbkZpbGVBdHRhY2g/LihwYXJzZWRGaWxlKVxuICAgICAgfVxuICAgIH0pXG5cbiAgICBpZiAoZXhjbHVkZWRGaWxlcy5sZW5ndGggfHwgZXhjZWVkZWRGaWxlcy5sZW5ndGgpIHtcbiAgICAgIHNldE1vZGFsUHJvcHMoeyBpc09wZW46IHRydWUsIGV4Y2x1ZGVkRmlsZXMsIGV4Y2VlZGVkRmlsZXMsIGZpbGVTaXplcyB9KVxuICAgIH1cblxuICAgIGlmIChmaWxlSW5wdXRSZWYuY3VycmVudCkge1xuICAgICAgZmlsZUlucHV0UmVmLmN1cnJlbnQudmFsdWUgPSAnJ1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGhhbmRsZURlbGV0ZUF0dGFjaG1lbnQgPSAoZmlsZUlkOiBzdHJpbmcpID0+IHtcbiAgICBvbkRlbGV0ZUF0dGFjaG1lbnQ/LihmaWxlSWQpXG4gIH1cblxuICBjb25zdCBoYW5kbGVXcmFwcGVyRm9jdXMgPSAoKSA9PiBzZXRJc0ZvY3VzZWQodHJ1ZSlcbiAgY29uc3QgaGFuZGxlV3JhcHBlckJsdXIgPSAoKSA9PiB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAoIXdyYXBwZXJSZWYuY3VycmVudD8uY29udGFpbnMoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCkpIHtcbiAgICAgICAgc2V0SXNGb2N1c2VkKGZhbHNlKVxuICAgICAgfVxuICAgIH0sIDApXG4gIH1cblxuICBjb25zdCBoYW5kbGVTdG9wR2VuZXJhdGlvbiA9ICgpID0+IHtcbiAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWlDaGF0U3RvcFJlc3BvbnNlKVxuICAgIG9uU3RvcEdlbmVyYXRpb24/LigpXG4gIH1cblxuICBjb25zdCBwbHVzSWNvbkNvbG9yID0gaXNGb2N1c2VkID8gY29sb3JzLnRleHQuc2Vjb25kYXJ5IDogY29sb3JzLnRleHQubWVkaXVtR3JheVxuICBjb25zdCBwbHVzTWVudUljb25Db2xvciA9IE1BSUFfQ0hBVF9JTlBVVF9VSS5tZW51SWNvblxuICBjb25zdCBwbHVzTWVudVNlbGVjdGVkQ29sb3IgPSBNQUlBX0NIQVRfSU5QVVRfVUkudGV4dEJyYW5kQm9sZFxuXG4gIGxldCBhY3RpdmVUb29sQ2hpcExlYWRpbmdJY29uOiBSZWFjdE5vZGVcbiAgaWYgKGFjdGl2ZVRvb2xDaGlwSG92ZXJlZCkge1xuICAgIGFjdGl2ZVRvb2xDaGlwTGVhZGluZ0ljb24gPSA8Q3Jvc3MgY29sb3I9e01BSUFfQ0hBVF9JTlBVVF9VSS5jaGlwQ2xvc2VJY29ufSB3aWR0aD17MTh9IGhlaWdodD17MTh9IC8+XG4gIH0gZWxzZSBpZiAoaXNXZWJTZWFyY2hBY3RpdmUpIHtcbiAgICBhY3RpdmVUb29sQ2hpcExlYWRpbmdJY29uID0gPEdsb2JlIGNvbG9yPXtwbHVzTWVudUljb25Db2xvcn0gd2lkdGg9ezE4fSBoZWlnaHQ9ezE4fSAvPlxuICB9IGVsc2Uge1xuICAgIGFjdGl2ZVRvb2xDaGlwTGVhZGluZ0ljb24gPSA8VGVsZXNjb3BlSWNvbiBjb2xvcj17cGx1c01lbnVJY29uQ29sb3J9IHdpZHRoPXsxOH0gaGVpZ2h0PXsxOH0gLz5cbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxTdHlsZWRNQUlBSW5wdXRXcmFwcGVyXG4gICAgICAgIHJlZj17d3JhcHBlclJlZn1cbiAgICAgICAgZGlzYWJsZWQ9e2ZhbHNlfVxuICAgICAgICBhbGlnbkJ1dHRvbnM9e2FsaWduQnV0dG9uc31cbiAgICAgICAgaGFzQXR0YWNobWVudHM9eyEhYXR0YWNobWVudHMubGVuZ3RofVxuICAgICAgICBjb21wYWN0U2luZ2xlUm93VG9vbGJhcj17Y29tcGFjdFNpbmdsZVJvd1Rvb2xiYXJ9XG4gICAgICAgIGRhdGEtbWFpYS1zdHJlYW1pbmc9e2lzU3RyZWFtaW5nID8gJ3RydWUnIDogJ2ZhbHNlJ31cbiAgICAgICAgb25Gb2N1cz17aGFuZGxlV3JhcHBlckZvY3VzfVxuICAgICAgICBvbkJsdXI9e2hhbmRsZVdyYXBwZXJCbHVyfVxuICAgICAgICBzdHlsZT17eyBwb3NpdGlvbjogJ3JlbGF0aXZlJyB9fVxuICAgICAgPlxuICAgICAgICB7c2hvd1NsYXNoRHJvcGRvd24gJiYgKFxuICAgICAgICAgIDxTbGFzaENvbW1hbmREcm9wZG93blxuICAgICAgICAgICAgY29tbWFuZHM9e3NsYXNoQ29tbWFuZHN9XG4gICAgICAgICAgICBxdWVyeT17c2xhc2hRdWVyeX1cbiAgICAgICAgICAgIG9uU2VsZWN0PXtoYW5kbGVTZWxlY3RTbGFzaENvbW1hbmR9XG4gICAgICAgICAgICBvbkNsb3NlPXtoYW5kbGVDbG9zZVNsYXNoRHJvcGRvd259XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgICAgeyEhYXR0YWNobWVudHMubGVuZ3RoICYmIChcbiAgICAgICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgZ2FwOiAnMTJweCcsIGFsaWduSXRlbXM6ICdjZW50ZXInIH19PlxuICAgICAgICAgICAge2F0dGFjaG1lbnRzLm1hcCgoYXR0YWNobWVudCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgZmlsZU5hbWVQYXJ0cyA9IGF0dGFjaG1lbnQubmFtZS5zcGxpdCgnLicpXG4gICAgICAgICAgICAgIGNvbnN0IGZpbGVFeHRlbnNpb24gPSBmaWxlTmFtZVBhcnRzLmxlbmd0aCA+IDEgPyBgLiR7ZmlsZU5hbWVQYXJ0cy5wb3AoKT8udG9Mb3dlckNhc2UoKX1gIDogJydcbiAgICAgICAgICAgICAgY29uc3QgaXNJbWFnZUJ5RXh0ZW5zaW9uID0gWycucG5nJywgJy5qcGcnLCAnLmpwZWcnXS5pbmNsdWRlcyhmaWxlRXh0ZW5zaW9uKVxuICAgICAgICAgICAgICBjb25zdCBpc0ltYWdlQnlNaW1lID0gYXR0YWNobWVudC50eXBlPy5zdGFydHNXaXRoKCdpbWFnZS8nKVxuICAgICAgICAgICAgICBjb25zdCBpc0ltYWdlID0gaXNJbWFnZUJ5TWltZSAmJiBpc0ltYWdlQnlFeHRlbnNpb25cbiAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8VG9vbHRpcCB0aXRsZT17YXR0YWNobWVudC5uYW1lfSBrZXk9e2Ake2luZGV4fS0ke2F0dGFjaG1lbnQubmFtZX1gfSB6SW5kZXg9e3Rvb2x0aXBaSW5kZXh9PlxuICAgICAgICAgICAgICAgICAgPFNDTUlBdHRhY2htZW50IGlzSW1hZ2U9e2lzSW1hZ2V9PlxuICAgICAgICAgICAgICAgICAgICB7YXR0YWNobWVudC5pY29ufVxuICAgICAgICAgICAgICAgICAgICA8U0NNSUF0dGFjaG1lbnREZWxldGVJY29uIG9uQ2xpY2s9eygpID0+IGhhbmRsZURlbGV0ZUF0dGFjaG1lbnQoYXR0YWNobWVudC5pZCl9PlxuICAgICAgICAgICAgICAgICAgICAgIDxUcmFzaCBjb2xvcj1cInJnYmEoMTkxLCAxOTEsIDE5MSwgMSlcIiB3aWR0aD17MTh9IGhlaWdodD17MTh9IC8+XG4gICAgICAgICAgICAgICAgICAgIDwvU0NNSUF0dGFjaG1lbnREZWxldGVJY29uPlxuICAgICAgICAgICAgICAgICAgPC9TQ01JQXR0YWNobWVudD5cbiAgICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgICA8U3R5bGVkTUFJQU1haW5Ub29sYmFyR3JpZCAkY29tcGFjdFJvdz17Y29tcGFjdFNpbmdsZVJvd1Rvb2xiYXJ9PlxuICAgICAgICAgIDxTdHlsZWRNQUlBUGx1c1Rvb2xiYXJDZWxsICRjb21wYWN0Um93PXtjb21wYWN0U2luZ2xlUm93VG9vbGJhcn0+XG4gICAgICAgICAgICA8UGx1c01lbnVUb29sc1Jvdz5cbiAgICAgICAgICAgICAgPFBsdXNUb2dnbGVCdXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAkbWVudU9wZW49e3BsdXNNZW51T3Blbn1cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVQbHVzQnV0dG9uQ2xpY2t9XG4gICAgICAgICAgICAgICAgYXJpYS1sYWJlbD17dCgnY2hhdC5vcGVuUGx1c01lbnVBcmlhJyl9XG4gICAgICAgICAgICAgICAgYXJpYS1oYXNwb3B1cD1cInRydWVcIlxuICAgICAgICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9e3BsdXNNZW51T3Blbn1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxQbHVzIGNvbG9yPXtwbHVzSWNvbkNvbG9yfSB3aWR0aD17MjB9IGhlaWdodD17MjB9IC8+XG4gICAgICAgICAgICAgIDwvUGx1c1RvZ2dsZUJ1dHRvbj5cbiAgICAgICAgICAgICAgPFBvcG92ZXJcbiAgICAgICAgICAgICAgICBvcGVuPXtwbHVzTWVudU9wZW59XG4gICAgICAgICAgICAgICAgYW5jaG9yRWw9e3BsdXNNZW51QW5jaG9yfVxuICAgICAgICAgICAgICAgIG9uQ2xvc2U9e2Nsb3NlUGx1c01lbnV9XG4gICAgICAgICAgICAgICAgYW5jaG9yT3JpZ2luPXt7IHZlcnRpY2FsOiAndG9wJywgaG9yaXpvbnRhbDogJ2xlZnQnIH19XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtT3JpZ2luPXt7IHZlcnRpY2FsOiAnYm90dG9tJywgaG9yaXpvbnRhbDogJ2xlZnQnIH19XG4gICAgICAgICAgICAgICAgc3g9e3sgekluZGV4OiBwbHVzTWVudVpJbmRleCB9fVxuICAgICAgICAgICAgICAgIHNsb3RQcm9wcz17e1xuICAgICAgICAgICAgICAgICAgcGFwZXI6IHtcbiAgICAgICAgICAgICAgICAgICAgZWxldmF0aW9uOiAwLFxuICAgICAgICAgICAgICAgICAgICBzeDoge1xuICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiAndmlzaWJsZScsXG4gICAgICAgICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAnNHB4JyxcbiAgICAgICAgICAgICAgICAgICAgICBib3hTaGFkb3c6ICdub25lJyxcbiAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICd0cmFuc3BhcmVudCcsXG4gICAgICAgICAgICAgICAgICAgICAgbWFyZ2luVG9wOiAnLTRweCcsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8UGx1c01lbnVQYXBlcj5cbiAgICAgICAgICAgICAgICAgIDxQbHVzTWVudUlubmVyQ29sdW1uPlxuICAgICAgICAgICAgICAgICAgICA8UGx1c01lbnVJdGVtQnV0dG9uIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXtoYW5kbGVQbHVzTWVudUF0dGFjaH0+XG4gICAgICAgICAgICAgICAgICAgICAgPEF0dGFjaCBjb2xvcj17cGx1c01lbnVJY29uQ29sb3J9IHdpZHRoPXsyMH0gaGVpZ2h0PXsyMH0gLz5cbiAgICAgICAgICAgICAgICAgICAgICA8UGx1c01lbnVJdGVtTGFiZWwgJHNlbGVjdGVkPXtmYWxzZX0+e3QoJ2NoYXQucGx1c01lbnVBdHRhY2gnKX08L1BsdXNNZW51SXRlbUxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8L1BsdXNNZW51SXRlbUJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPFBsdXNNZW51RGl2aWRlciAvPlxuICAgICAgICAgICAgICAgICAgICA8UGx1c01lbnVJdGVtQnV0dG9uIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXtoYW5kbGVQbHVzTWVudVdlYlNlYXJjaH0+XG4gICAgICAgICAgICAgICAgICAgICAgPEdsb2JlXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj17aXNXZWJTZWFyY2hBY3RpdmUgPyBwbHVzTWVudVNlbGVjdGVkQ29sb3IgOiBwbHVzTWVudUljb25Db2xvcn1cbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPXsyMH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD17MjB9XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8UGx1c01lbnVJdGVtTGFiZWwgJHNlbGVjdGVkPXshIWlzV2ViU2VhcmNoQWN0aXZlfT57dCgnY2hhdC5zZWFyY2hXZWInKX08L1BsdXNNZW51SXRlbUxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgIHtpc1dlYlNlYXJjaEFjdGl2ZSA/IDxDaGVjayBjb2xvcj17cGx1c01lbnVTZWxlY3RlZENvbG9yfSB3aWR0aD17MTZ9IGhlaWdodD17MTZ9IC8+IDogbnVsbH1cbiAgICAgICAgICAgICAgICAgICAgPC9QbHVzTWVudUl0ZW1CdXR0b24+XG4gICAgICAgICAgICAgICAgICA8L1BsdXNNZW51SW5uZXJDb2x1bW4+XG4gICAgICAgICAgICAgICAgICA8UGx1c01lbnVJdGVtQnV0dG9uIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXtoYW5kbGVQbHVzTWVudURlZXBTZWFyY2h9PlxuICAgICAgICAgICAgICAgICAgICA8VGVsZXNjb3BlSWNvblxuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPXtpc0RlZXBTZWFyY2hBY3RpdmUgPyBwbHVzTWVudVNlbGVjdGVkQ29sb3IgOiBwbHVzTWVudUljb25Db2xvcn1cbiAgICAgICAgICAgICAgICAgICAgICB3aWR0aD17MjB9XG4gICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PXsyMH1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPFBsdXNNZW51SXRlbUxhYmVsICRzZWxlY3RlZD17ISFpc0RlZXBTZWFyY2hBY3RpdmV9PlxuICAgICAgICAgICAgICAgICAgICAgIHt0KCdjaGF0LnBsdXNNZW51RGVlcEludmVzdGlnYXRpb24nKX1cbiAgICAgICAgICAgICAgICAgICAgPC9QbHVzTWVudUl0ZW1MYWJlbD5cbiAgICAgICAgICAgICAgICAgICAge2lzRGVlcFNlYXJjaEFjdGl2ZSA/IDxDaGVjayBjb2xvcj17cGx1c01lbnVTZWxlY3RlZENvbG9yfSB3aWR0aD17MTZ9IGhlaWdodD17MTZ9IC8+IDogbnVsbH1cbiAgICAgICAgICAgICAgICAgIDwvUGx1c01lbnVJdGVtQnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvUGx1c01lbnVQYXBlcj5cbiAgICAgICAgICAgICAgPC9Qb3BvdmVyPlxuICAgICAgICAgICAgICB7KGlzV2ViU2VhcmNoQWN0aXZlIHx8IGlzRGVlcFNlYXJjaEFjdGl2ZSkgJiYgKFxuICAgICAgICAgICAgICAgIDxBY3RpdmVUb29sQ2hpcFJvb3RcbiAgICAgICAgICAgICAgICAgICRob3ZlcmVkPXthY3RpdmVUb29sQ2hpcEhvdmVyZWR9XG4gICAgICAgICAgICAgICAgICAkZXhpdGluZz17dG9vbENoaXBFeGl0aW5nfVxuICAgICAgICAgICAgICAgICAgb25Nb3VzZUVudGVyPXsoKSA9PiBzZXRBY3RpdmVUb29sQ2hpcEhvdmVyZWQodHJ1ZSl9XG4gICAgICAgICAgICAgICAgICBvbk1vdXNlTGVhdmU9eygpID0+IHNldEFjdGl2ZVRvb2xDaGlwSG92ZXJlZChmYWxzZSl9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPEFjdGl2ZVRvb2xDaGlwSWNvbkJ1dHRvblxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgJGNsb3NlU2hvd249e2FjdGl2ZVRvb2xDaGlwSG92ZXJlZH1cbiAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD17dCgnY2hhdC5yZW1vdmVBY3RpdmVUb29sQXJpYScpfVxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgICAgICAgICAgICAgYmVnaW5Ub29sQ2hpcEV4aXQoKVxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7YWN0aXZlVG9vbENoaXBMZWFkaW5nSWNvbn1cbiAgICAgICAgICAgICAgICAgIDwvQWN0aXZlVG9vbENoaXBJY29uQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPEFjdGl2ZVRvb2xDaGlwTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIHtpc1dlYlNlYXJjaEFjdGl2ZSA/IHQoJ2NoYXQuc2VhcmNoV2ViJykgOiB0KCdjaGF0LnBsdXNNZW51RGVlcEludmVzdGlnYXRpb24nKX1cbiAgICAgICAgICAgICAgICAgIDwvQWN0aXZlVG9vbENoaXBMYWJlbD5cbiAgICAgICAgICAgICAgICA8L0FjdGl2ZVRvb2xDaGlwUm9vdD5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvUGx1c01lbnVUb29sc1Jvdz5cbiAgICAgICAgICA8L1N0eWxlZE1BSUFQbHVzVG9vbGJhckNlbGw+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgc3R5bGU9e1xuICAgICAgICAgICAgICBjb21wYWN0U2luZ2xlUm93VG9vbGJhclxuICAgICAgICAgICAgICAgID8geyBncmlkQ29sdW1uOiAyLCBncmlkUm93OiAxLCBtaW5XaWR0aDogMCwgYWxpZ25TZWxmOiAnY2VudGVyJyB9XG4gICAgICAgICAgICAgICAgOiB7IGdyaWRDb2x1bW46ICcxIC8gLTEnLCBncmlkUm93OiAxLCBtaW5XaWR0aDogMCB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPENvbnRleHRNZW50aW9uRWRpdG9yXG4gICAgICAgICAgICAgIHJlZj17ZWRpdG9yUmVmfVxuICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcn1cbiAgICAgICAgICAgICAgb25JbnB1dD17aGFuZGxlRWRpdG9ySW5wdXR9XG4gICAgICAgICAgICAgIG9uS2V5RG93bj17aGFuZGxlS2V5RG93bn1cbiAgICAgICAgICAgICAgb25Gb2N1cz17aGFuZGxlV3JhcHBlckZvY3VzfVxuICAgICAgICAgICAgICBvbkJsdXI9e2hhbmRsZVdyYXBwZXJCbHVyfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8U3R5bGVkTUFJQVNlbmRUb29sYmFyQ2VsbCAkY29tcGFjdFJvdz17Y29tcGFjdFNpbmdsZVJvd1Rvb2xiYXJ9PlxuICAgICAgICAgICAge2lzV3JpdGluZyA/IChcbiAgICAgICAgICAgICAgPFRvb2x0aXAgdGl0bGU9e3QoJ2NoYXQuc3RvcCcpfSB6SW5kZXg9e3Rvb2x0aXBaSW5kZXh9PlxuICAgICAgICAgICAgICAgIDxTdHlsZWRNQUlBU3RvcEJ1dHRvbiBkaXNhYmxlZD17ZmFsc2V9IG9uQ2xpY2s9e2hhbmRsZVN0b3BHZW5lcmF0aW9ufSBjbGFzc05hbWU9e2NsYXNzTmFtZX0+XG4gICAgICAgICAgICAgICAgICA8U3R5bGVkTUFJQVN0b3BJY29uIC8+XG4gICAgICAgICAgICAgICAgPC9TdHlsZWRNQUlBU3RvcEJ1dHRvbj5cbiAgICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgPFRvb2x0aXAgdGl0bGU9e3QoJ2NoYXQuc2VuZCcpfSB6SW5kZXg9e3Rvb2x0aXBaSW5kZXh9PlxuICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPXt7IGRpc3BsYXk6ICdpbmxpbmUtZmxleCcsIGFsaWduSXRlbXM6ICdjZW50ZXInIH19PlxuICAgICAgICAgICAgICAgICAgPFN0eWxlZE1BSUFTZW5kQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZVNlbmRNZXNzYWdlfVxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3NlbmREaXNhYmxlZCB8fCBkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgaGFzVmFsdWVzPXtoYXNUeXBpbmdQcmVzZW5jZSB8fCBhdHRhY2htZW50cy5sZW5ndGggPiAwfVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8UGFwZXJQbGFuZSBjb2xvcj1cIiNCRkJGQkZcIiB3aWR0aD17MTh9IGhlaWdodD17MTh9IC8+XG4gICAgICAgICAgICAgICAgICA8L1N0eWxlZE1BSUFTZW5kQnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L1N0eWxlZE1BSUFTZW5kVG9vbGJhckNlbGw+XG4gICAgICAgIDwvU3R5bGVkTUFJQU1haW5Ub29sYmFyR3JpZD5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgcmVmPXtmaWxlSW5wdXRSZWZ9XG4gICAgICAgICAgdHlwZT1cImZpbGVcIlxuICAgICAgICAgIG11bHRpcGxlXG4gICAgICAgICAgYWNjZXB0PVwiLnR4dCwubWQsLmNzdiwuZG9jLC5kb2N4LC5wbmcsLmpwZywuanBlZywucGRmLC54bHN4LC54bHMsLmZsYWMsLm00YSwubXAzLC5tcDQsLm9nYSwub2dnLC53YXYsLndlYm1cIlxuICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVGaWxlU2VsZWN0fVxuICAgICAgICAgIHN0eWxlPXt7IGRpc3BsYXk6ICdub25lJyB9fVxuICAgICAgICAvPlxuICAgICAgPC9TdHlsZWRNQUlBSW5wdXRXcmFwcGVyPlxuICAgICAge21vZGFsUHJvcHMuaXNPcGVuICYmIChcbiAgICAgICAgPE1vZGFsRmlsZUV4Y2VlZHNcbiAgICAgICAgICBvbkNsb3NlPXsoKSA9PiBzZXRNb2RhbFByb3BzKHsgaXNPcGVuOiBmYWxzZSwgZXhjbHVkZWRGaWxlczogW10sIGV4Y2VlZGVkRmlsZXM6IFtdLCBmaWxlU2l6ZXM6IHt9IH0pfVxuICAgICAgICAgIGV4Y2x1ZGVkRmlsZXM9e21vZGFsUHJvcHMuZXhjbHVkZWRGaWxlc31cbiAgICAgICAgICBleGNlZWRlZEZpbGVzPXttb2RhbFByb3BzLmV4Y2VlZGVkRmlsZXN9XG4gICAgICAgICAgZmlsZVNpemVzPXttb2RhbFByb3BzLmZpbGVTaXplc31cbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgICB7cG9wb3Zlck5vZGUgJiYgY3JlYXRlUG9ydGFsKHBvcG92ZXJOb2RlLCBkb2N1bWVudC5ib2R5KX1cbiAgICA8Lz5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FLRUEsV0FBVyxFQUNYQyxTQUFTLEVBQ1RDLE9BQU8sRUFDUEMsTUFBTSxFQUNOQyxRQUFRLFFBQ0gsT0FBTztBQUNkLFNBQVNDLFlBQVksUUFBUSxXQUFXO0FBQ3hDLFNBQVNDLE9BQU8sUUFBUSxlQUFlO0FBQ3ZDLFNBQVNDLFVBQVUsUUFBUSw2Q0FBNkM7QUFDeEUsU0FBU0MsTUFBTSxRQUFRLHlDQUF5QztBQUNoRSxTQUFTQyxLQUFLLFFBQVEsd0NBQXdDO0FBQzlELFNBQVNDLEtBQUssUUFBUSx3Q0FBd0M7QUFDOUQsU0FBU0MsSUFBSSxRQUFRLHVDQUF1QztBQUM1RCxTQUFTQyxLQUFLLFFBQVEsd0NBQXdDO0FBQzlELFNBQVNDLEtBQUssUUFBUSx3Q0FBd0M7QUFDOUQsU0FBU0MsT0FBTyxRQUFRLDhDQUE4QztBQUN0RSxPQUFPQyxNQUFNLE1BQU0sbUNBQW1DO0FBRXRELFNBQ0VDLHdCQUF3QixFQUN4QkMsbUJBQW1CLEVBQ25CQyxrQkFBa0IsRUFDbEJDLGVBQWUsRUFDZkMsbUJBQW1CLEVBQ25CQyxrQkFBa0IsRUFDbEJDLGlCQUFpQixFQUNqQkMsYUFBYSxFQUNiQyxnQkFBZ0IsRUFDaEJDLGdCQUFnQixFQUNoQkMsY0FBYyxFQUNkQyx3QkFBd0IsRUFDeEJDLHNCQUFzQixFQUN0QkMsb0JBQW9CLEVBQ3BCQyx5QkFBeUIsRUFDekJDLHlC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
|
|
788
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZUVmZmVjdCIsInVzZU1lbW8iLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsImNyZWF0ZVBvcnRhbCIsIlBvcG92ZXIiLCJQYXBlclBsYW5lIiwiQXR0YWNoIiwiR2xvYmUiLCJUcmFzaCIsIlBsdXMiLCJDaGVjayIsIkNyb3NzIiwiVG9vbHRpcCIsImNvbG9ycyIsIkFjdGl2ZVRvb2xDaGlwSWNvbkJ1dHRvbiIsIkFjdGl2ZVRvb2xDaGlwTGFiZWwiLCJBY3RpdmVUb29sQ2hpcFJvb3QiLCJQbHVzTWVudURpdmlkZXIiLCJQbHVzTWVudUlubmVyQ29sdW1uIiwiUGx1c01lbnVJdGVtQnV0dG9uIiwiUGx1c01lbnVJdGVtTGFiZWwiLCJQbHVzTWVudVBhcGVyIiwiUGx1c01lbnVUb29sc1JvdyIsIlBsdXNUb2dnbGVCdXR0b24iLCJTQ01JQXR0YWNobWVudCIsIlNDTUlBdHRhY2htZW50RGVsZXRlSWNvbiIsIlN0eWxlZE1BSUFJbnB1dFdyYXBwZXIiLCJTdHlsZWRNQUlBU2VuZEJ1dHRvbiIsIlN0eWxlZE1BSUFNYWluVG9vbGJhckdyaWQiLCJTdHlsZWRNQUlBUGx1c1Rvb2xiYXJDZWxsIiwiU3R5bGVkTUFJQVNlbmRUb29sYmFyQ2VsbCIsIlN0eWxlZE1BSUFTdG9wQnV0dG9uIiwiU3R5bGVkTUFJQVN0b3BJY29uIiwidXNlR2xvYmFsQ29udGV4dCIsIk1vZGFsRmlsZUV4Y2VlZHMiLCJTbGFzaENvbW1hbmREcm9wZG93biIsInVzZVNsYXNoQ29tbWFuZHMiLCJxdWlja0FjdGlvblRpdGxlVG9UeXBlIiwidXNlVCIsIlRlbGVzY29wZUljb24iLCJFVkVOVFMiLCJ1c2VFdmVudCIsImdldENoYXRUb29sc01lbnVBZ2VudFR5cGUiLCJNQUlBX0NIQVRfSU5QVVRfVUkiLCJhbGxvd2VkRmlsZVR5cGVzIiwiZmlsZVR5cGVzIiwiTUFYX0ZJTEVfU0laRV9NQl9NQUlBX1ZJU0lPTiIsIk1BWF9GSUxFX1NJWkVfTUJfT0xEIiwiTUFYX0ZJTEVfU0laRV9NQl9BVURJTyIsIk1BWF9DSEFUX0lOUFVUX0FUVEFDSE1FTlRTIiwiQVBQQ1VFU19FVkVOVFMiLCJ0cmFja0FwcGN1ZXNFdmVudCIsIkNvbnRleHRNZW50aW9uRWRpdG9yIiwidXNlTWFpYVRhc2tQYW5lbFpJbmRleCIsInVzZU1lbnRpb25Qb3BvdmVyIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkZyYWdtZW50IiwiX0ZyYWdtZW50IiwiVE9PTF9DSElQX0VYSVRfTVMiLCJNQUlBSW5wdXQiLCJfcmVmIiwiX2FnZW50JGVudGl0eSIsIm9uU2VuZE1lc3NhZ2UiLCJjbGFzc05hbWUiLCJkaXNhYmxlZCIsImlzU3RyZWFtaW5nIiwiaXNXcml0aW5nIiwib25TdG9wR2VuZXJhdGlvbiIsInBsYWNlaG9sZGVyIiwib25DaGFuZ2UiLCJfcmVmJGFsaWduQnV0dG9ucyIsImFsaWduQnV0dG9ucyIsIm9uRmlsZUF0dGFjaCIsIm9uRGVsZXRlQXR0YWNobWVudCIsIl9yZWYkYXR0YWNobWVudHMiLCJhdHRhY2htZW50cyIsImNoYXRJZCIsIm5ld0NoYXRLZXkiLCJ0b29sdGlwWkluZGV4IiwiX3VzZVQiLCJ0IiwiZWRpdG9yUmVmIiwiZmlsZUlucHV0UmVmIiwid3JhcHBlclJlZiIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImhhc1dyYXBwZWRUb1NlY29uZExpbmUiLCJzZXRIYXNXcmFwcGVkVG9TZWNvbmRMaW5lIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJoYXNUeXBpbmdQcmVzZW5jZSIsInNldEhhc1R5cGluZ1ByZXNlbmNlIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJpc0ZvY3VzZWQiLCJzZXRJc0ZvY3VzZWQiLCJfdXNlU3RhdGU3IiwiaXNPcGVuIiwiZXhjbHVkZWRGaWxlcyIsImV4Y2VlZGVkRmlsZXMiLCJmaWxlU2l6ZXMiLCJfdXNlU3RhdGU4IiwibW9kYWxQcm9wcyIsInNldE1vZGFsUHJvcHMiLCJldmVudEFtcGxpdHVkZSIsIl91c2VHbG9iYWxDb250ZXh0IiwidG9nZ2xlV2ViU2VhcmNoIiwiaXNXZWJTZWFyY2hBY3RpdmUiLCJ0b2dnbGVEZWVwU2VhcmNoIiwiaXNEZWVwU2VhcmNoQWN0aXZlIiwiYWdlbnQiLCJwbHVzTWVudVpJbmRleCIsIl91c2VNZW50aW9uUG9wb3ZlciIsInBvcG92ZXJBbmNob3JSZWYiLCJwb3BvdmVyT3BlbiIsInJlc2V0TWVudGlvbk9wZW5UcmFja2luZyIsImhhbmRsZVRyaWdnZXIiLCJoYW5kbGVQb3BvdmVyS2V5RG93biIsImhhbmRsZUtleURvd24iLCJwb3BvdmVyTm9kZSIsIl91c2VTdGF0ZTkiLCJfdXNlU3RhdGUwIiwicGx1c01lbnVBbmNob3IiLCJzZXRQbHVzTWVudUFuY2hvciIsIl91c2VTdGF0ZTEiLCJfdXNlU3RhdGUxMCIsImFjdGl2ZVRvb2xDaGlwSG92ZXJlZCIsInNldEFjdGl2ZVRvb2xDaGlwSG92ZXJlZCIsIl91c2VTdGF0ZTExIiwiX3VzZVN0YXRlMTIiLCJ0b29sQ2hpcEV4aXRpbmciLCJzZXRUb29sQ2hpcEV4aXRpbmciLCJ0b29sQ2hpcEV4aXRUaW1lclJlZiIsInNlYXJjaE1vZGVBY3RpdmVSZWYiLCJ3ZWIiLCJkZWVwIiwicGx1c01lbnVPcGVuIiwiQm9vbGVhbiIsInByZXZpb3VzQWdlbnRJZFJlZiIsInVuZGVmaW5lZCIsInByZXZpb3VzQ2hhdElkUmVmIiwicHJldmlvdXNOZXdDaGF0S2V5UmVmIiwiYW5hbHl0aWNzQWdlbnRUeXBlIiwiYW5hbHl0aWNzQ2xvbmVFbnRpdHlQYXlsb2FkIiwidHlwZSIsImVudGl0eSIsIl91c2VTbGFzaENvbW1hbmRzIiwiaWQiLCJzbGFzaENvbW1hbmRzIiwiY29tbWFuZHMiLCJfdXNlU3RhdGUxMyIsIl91c2VTdGF0ZTE0Iiwic2hvd1NsYXNoRHJvcGRvd24iLCJzZXRTaG93U2xhc2hEcm9wZG93biIsIl91c2VTdGF0ZTE1IiwiX3VzZVN0YXRlMTYiLCJzbGFzaFF1ZXJ5Iiwic2V0U2xhc2hRdWVyeSIsInNsYXNoTWVudVdhc09wZW5SZWYiLCJzY2hlZHVsZUlucHV0Rm9jdXNBZnRlclRvb2xBY3Rpb24iLCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiLCJ3aW5kb3ciLCJzZXRUaW1lb3V0IiwiX2VkaXRvclJlZiRjdXJyZW50IiwiY3VycmVudCIsImZvY3VzIiwiY2xvc2VQbHVzTWVudSIsImNhbmNlbFBlbmRpbmdUb29sQ2hpcEV4aXQiLCJjbGVhclRpbWVvdXQiLCJoYW5kbGVQbHVzQnV0dG9uQ2xpY2siLCJlIiwic3RvcFByb3BhZ2F0aW9uIiwiY3VycmVudFRhcmdldCIsImFpQ2hhdFBsdXNPcGVuIiwiX29iamVjdFNwcmVhZCIsImFnZW50X3R5cGUiLCJoYW5kbGVQbHVzTWVudUF0dGFjaCIsIl9maWxlSW5wdXRSZWYkY3VycmVudCIsImFpQ2hhdFRvb2xzIiwib3B0aW9uIiwibGVuZ3RoIiwiY2xpY2siLCJiZWdpblRvb2xDaGlwRXhpdCIsIndhc1dlYiIsIndhc0RlZXAiLCJfc2VhcmNoTW9kZUFjdGl2ZVJlZiQiLCJoYW5kbGVQbHVzTWVudVdlYlNlYXJjaCIsImhhbmRsZVBsdXNNZW51RGVlcFNlYXJjaCIsIl9lZGl0b3JSZWYkY3VycmVudDIiLCJjb21wYWN0U2luZ2xlUm93VG9vbGJhciIsInNlbmREaXNhYmxlZCIsImFnZW50Q2hhbmdlZCIsInByZXZpb3VzQ2hhdElkIiwiY3VycmVudENoYXRJZCIsImNoYXRDaGFuZ2VkIiwiY2hhbmdlZEZyb21OZXdDaGF0VG9PbGRDaGF0IiwibmV3Q2hhdFN0YXJ0ZWQiLCJpc0luaXRpYWxNb3VudCIsImRlbGF5IiwiX2VkaXRvclJlZiRjdXJyZW50MyIsImlzU3BlY2lhbGlzdEFnZW50Iiwib2JzZXJ2ZXIiLCJJbnRlcnNlY3Rpb25PYnNlcnZlciIsIl9yZWYyIiwiX3JlZjMiLCJlbnRyeSIsImlzSW50ZXJzZWN0aW5nIiwibWFpYUNvbnRleHRNZW50aW9uSW5pdCIsImRpc2Nvbm5lY3QiLCJ0aHJlc2hvbGQiLCJvYnNlcnZlIiwiaGFuZGxlU2Vzc2lvbkNoYW5nZSIsIl9lZGl0b3JSZWYkY3VycmVudDQiLCJjbGVhciIsImRvY3VtZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJoYW5kbGVTZW5kTWVzc2FnZSIsIl9lZGl0b3JSZWYkY3VycmVudDUiLCJfc3RhdGUkdGV4dCIsIl9zdGF0ZSRtZW50aW9ucyIsIl9lZGl0b3JSZWYkY3VycmVudDYiLCJzdGF0ZSIsInNlcmlhbGl6ZSIsInRleHQiLCJ0cmltIiwibWVudGlvbnMiLCJoYW5kbGVTZWxlY3RTbGFzaENvbW1hbmQiLCJjb21tYW5kIiwiX2VkaXRvclJlZiRjdXJyZW50NyIsIl9zdGF0ZSR0ZXh0MiIsIl9lZGl0b3JSZWYkY3VycmVudDkiLCJhaUNoYXRRdWlja0FjdGlvblNlbGVjdCIsInR5cGVfcXVpY2tfYWN0aW9uIiwidGl0bGUiLCJvcmlnaW5fcXVpY2tfYWN0aW9uIiwidHJpZ2dlclBhcnQiLCJjb25jYXQiLCJiZWZvcmVUcmlnZ2VyIiwiZW5kc1dpdGgiLCJzbGljZSIsImlzRW1wdHlCZWZvcmVUcmlnZ2VyIiwiX2VkaXRvclJlZiRjdXJyZW50OCIsImluc2VydFNsYXNoQ29tbWFuZCIsImxhYmVsIiwiaGFuZGxlQ2xvc2VTbGFzaERyb3Bkb3duIiwiaGFuZGxlRWRpdG9ySW5wdXQiLCJfcmVmNCIsIl9lZGl0b3JSZWYkY3VycmVudDAiLCJ0cmlnZ2VyIiwic2xhc2hUcmlnZ2VyIiwidmlzdWFsTXVsdGlsaW5lIiwiaGFzVmlzdWFsTXVsdGlsaW5lIiwiZXhwbGljaXRNdWx0aWxpbmUiLCJpbmNsdWRlcyIsImlzTGlrZWx5Rmlyc3RDaGFyTWVhc3VyZW1lbnRHbGl0Y2giLCJzdGFibGVWaXN1YWxNdWx0aWxpbmUiLCJuZXh0SXNNdWx0aWxpbmUiLCJuZXh0SGFzVHlwaW5nUHJlc2VuY2UiLCJuZXh0VHlwaW5nUHJlc2VuY2UiLCJwcmV2IiwibmV4dCIsImFjdGl2ZSIsImFpQ2hhdFF1aWNrQWN0aW9uT3BlbiIsInF1ZXJ5Iiwia2V5Iiwic2hpZnRLZXkiLCJwcmV2ZW50RGVmYXVsdCIsImhhbmRsZUZpbGVTZWxlY3QiLCJmaWxlcyIsInRhcmdldCIsImZpbGVzSW5zZXJ0ZWQiLCJpc05ld0Zvcm1hdCIsImV4dGVuc2lvbiIsImlzT2xkRm9ybWF0IiwiaXNBdWRpb0Zvcm1hdCIsIkFycmF5IiwiZnJvbSIsImZvckVhY2giLCJmaWxlIiwiX2ZpbGVOYW1lUGFydHMkcG9wIiwiZXhjbHVkZWRGaWxlIiwiZmlsZU5hbWVQYXJ0cyIsIm5hbWUiLCJzcGxpdCIsImZpbGVFeHRlbnNpb24iLCJwb3AiLCJ0b0xvd2VyQ2FzZSIsInNpemUiLCJwdXNoIiwidHlwZUZpbGUiLCJwYXJzZWRGaWxlIiwiRmlsZSIsInZhbHVlIiwiaGFuZGxlRGVsZXRlQXR0YWNobWVudCIsImZpbGVJZCIsImhhbmRsZVdyYXBwZXJGb2N1cyIsImhhbmRsZVdyYXBwZXJCbHVyIiwiX3dyYXBwZXJSZWYkY3VycmVudCIsImNvbnRhaW5zIiwiYWN0aXZlRWxlbWVudCIsImhhbmRsZVN0b3BHZW5lcmF0aW9uIiwiYWlDaGF0U3RvcFJlc3BvbnNlIiwicGx1c0ljb25Db2xvciIsInNlY29uZGFyeSIsIm1lZGl1bUdyYXkiLCJwbHVzTWVudUljb25Db2xvciIsIm1lbnVJY29uIiwicGx1c01lbnVTZWxlY3RlZENvbG9yIiwidGV4dEJyYW5kQm9sZCIsImFjdGl2ZVRvb2xDaGlwTGVhZGluZ0ljb24iLCJjb2xvciIsImNoaXBDbG9zZUljb24iLCJ3aWR0aCIsImhlaWdodCIsImNoaWxkcmVuIiwicmVmIiwiaGFzQXR0YWNobWVudHMiLCJvbkZvY3VzIiwib25CbHVyIiwic3R5bGUiLCJwb3NpdGlvbiIsIm9uU2VsZWN0Iiwib25DbG9zZSIsImRpc3BsYXkiLCJnYXAiLCJhbGlnbkl0ZW1zIiwibWFwIiwiYXR0YWNobWVudCIsImluZGV4IiwiX2ZpbGVOYW1lUGFydHMkcG9wMiIsIl9hdHRhY2htZW50JHR5cGUiLCJpc0ltYWdlQnlFeHRlbnNpb24iLCJpc0ltYWdlQnlNaW1lIiwic3RhcnRzV2l0aCIsImlzSW1hZ2UiLCJpY29uIiwib25DbGljayIsIiRjb21wYWN0Um93IiwiJG1lbnVPcGVuIiwib3BlbiIsImFuY2hvckVsIiwiYW5jaG9yT3JpZ2luIiwidmVydGljYWwiLCJob3Jpem9udGFsIiwidHJhbnNmb3JtT3JpZ2luIiwic3giLCJ6SW5kZXgiLCJzbG90UHJvcHMiLCJwYXBlciIsImVsZXZhdGlvbiIsIm92ZXJmbG93IiwiYm9yZGVyUmFkaXVzIiwiYm94U2hhZG93IiwiYmFja2dyb3VuZENvbG9yIiwibWFyZ2luVG9wIiwiJHNlbGVjdGVkIiwiJGhvdmVyZWQiLCIkZXhpdGluZyIsIm9uTW91c2VFbnRlciIsIm9uTW91c2VMZWF2ZSIsIiRjbG9zZVNob3duIiwiZ3JpZENvbHVtbiIsImdyaWRSb3ciLCJtaW5XaWR0aCIsImFsaWduU2VsZiIsIm9uSW5wdXQiLCJvbktleURvd24iLCJoYXNWYWx1ZXMiLCJtdWx0aXBsZSIsImFjY2VwdCIsImJvZHkiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hdG9tcy9NQUlBSW5wdXQvTUFJQUlucHV0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1yZXN0cmljdGVkLXN5bnRheCAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tY29udGludWUgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLXZvaWQgKi9cbi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L25vLWFycmF5LWluZGV4LWtleSAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tbG9uZWx5LWlmICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBwcmVmZXItZGVzdHJ1Y3R1cmluZyAqL1xuLyogZXNsaW50LWRpc2FibGUganN4LWExMXkvY2xpY2stZXZlbnRzLWhhdmUta2V5LWV2ZW50cyAqL1xuLyogZXNsaW50LWRpc2FibGUganN4LWExMXkvbm8tc3RhdGljLWVsZW1lbnQtaW50ZXJhY3Rpb25zICovXG5pbXBvcnQge1xuICBDaGFuZ2VFdmVudCxcbiAgS2V5Ym9hcmRFdmVudCxcbiAgTW91c2VFdmVudCxcbiAgUmVhY3ROb2RlLFxuICB1c2VDYWxsYmFjayxcbiAgdXNlRWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VSZWYsXG4gIHVzZVN0YXRlLFxufSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IGNyZWF0ZVBvcnRhbCB9IGZyb20gJ3JlYWN0LWRvbSdcbmltcG9ydCB7IFBvcG92ZXIgfSBmcm9tICdAbXVpL21hdGVyaWFsJ1xuaW1wb3J0IHsgUGFwZXJQbGFuZSB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL1BhcGVyUGxhbmUnXG5pbXBvcnQgeyBBdHRhY2ggfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9BdHRhY2gnXG5pbXBvcnQgeyBHbG9iZSB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0dsb2JlJ1xuaW1wb3J0IHsgVHJhc2ggfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9UcmFzaCdcbmltcG9ydCB7IFBsdXMgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9QbHVzJ1xuaW1wb3J0IHsgQ2hlY2sgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9DaGVjaydcbmltcG9ydCB7IENyb3NzIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ3Jvc3MnXG5pbXBvcnQgeyBUb29sdGlwIH0gZnJvbSAnQHByb2plY3Rjb3IvdG9vbHRpcHYyL2xpYi9jb21wb25lbnRzL1Rvb2x0aXAnXG5pbXBvcnQgY29sb3JzIGZyb20gJ0Bwcm9qZWN0Y29yL3RoZW1lL2xpYi9iYXNlL2NvbG9ycydcblxuaW1wb3J0IHtcbiAgQWN0aXZlVG9vbENoaXBJY29uQnV0dG9uLFxuICBBY3RpdmVUb29sQ2hpcExhYmVsLFxuICBBY3RpdmVUb29sQ2hpcFJvb3QsXG4gIFBsdXNNZW51RGl2aWRlcixcbiAgUGx1c01lbnVJbm5lckNvbHVtbixcbiAgUGx1c01lbnVJdGVtQnV0dG9uLFxuICBQbHVzTWVudUl0ZW1MYWJlbCxcbiAgUGx1c01lbnVQYXBlcixcbiAgUGx1c01lbnVUb29sc1JvdyxcbiAgUGx1c1RvZ2dsZUJ1dHRvbixcbiAgU0NNSUF0dGFjaG1lbnQsXG4gIFNDTUlBdHRhY2htZW50RGVsZXRlSWNvbixcbiAgU3R5bGVkTUFJQUlucHV0V3JhcHBlcixcbiAgU3R5bGVkTUFJQVNlbmRCdXR0b24sXG4gIFN0eWxlZE1BSUFNYWluVG9vbGJhckdyaWQsXG4gIFN0eWxlZE1BSUFQbHVzVG9vbGJhckNlbGwsXG4gIFN0eWxlZE1BSUFTZW5kVG9vbGJhckNlbGwsXG4gIFN0eWxlZE1BSUFTdG9wQnV0dG9uLFxuICBTdHlsZWRNQUlBU3RvcEljb24sXG59IGZyb20gJy4vc3R5bGVzJ1xuaW1wb3J0IHsgdXNlR2xvYmFsQ29udGV4dCB9IGZyb20gJy4uLy4uLy4uL2NvbnRleHQvZ2xvYmFsLWNvbnRleHQnXG5pbXBvcnQgeyBNb2RhbEZpbGVFeGNlZWRzIH0gZnJvbSAnLi4vLi4vb3JnYW5pc21zL01vZGFsRmlsZUV4Y2VlZHMnXG5pbXBvcnQgeyBTbGFzaENvbW1hbmREcm9wZG93biB9IGZyb20gJy4uL1NsYXNoQ29tbWFuZERyb3Bkb3duJ1xuaW1wb3J0IHsgdXNlU2xhc2hDb21tYW5kcyB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZVNsYXNoQ29tbWFuZHMnXG5pbXBvcnQgeyBxdWlja0FjdGlvblRpdGxlVG9UeXBlIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvc2xhc2hDb21tYW5kTWFya2VyJ1xuaW1wb3J0IHR5cGUgeyBBY3Rpb24gfSBmcm9tICcuLi8uLi8uLi90eXBlcy9BY3Rpb24nXG5pbXBvcnQgeyB1c2VUIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlVCdcbmltcG9ydCB7IFRlbGVzY29wZUljb24gfSBmcm9tICcuLi9pY29ucy9UZWxlc2NvcGVJY29uJ1xuaW1wb3J0IHsgRVZFTlRTLCB1c2VFdmVudCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZUV2ZW50J1xuaW1wb3J0IHsgZ2V0Q2hhdFRvb2xzTWVudUFnZW50VHlwZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2hpdGxBbmFseXRpY3MnXG5pbXBvcnQgeyBNQUlBX0NIQVRfSU5QVVRfVUkgfSBmcm9tICcuLi8uLi8uLi9zdHlsZXMvY29uZmlnJ1xuaW1wb3J0IHtcbiAgYWxsb3dlZEZpbGVUeXBlcyxcbiAgZmlsZVR5cGVzLFxuICBNQVhfRklMRV9TSVpFX01CX01BSUFfVklTSU9OLFxuICBNQVhfRklMRV9TSVpFX01CX09MRCxcbiAgTUFYX0ZJTEVfU0laRV9NQl9BVURJTyxcbiAgTUFYX0NIQVRfSU5QVVRfQVRUQUNITUVOVFMsXG59IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9mb3JtYXRFeHRlbnNpb25zJ1xuaW1wb3J0IHsgQVBQQ1VFU19FVkVOVFMsIHRyYWNrQXBwY3Vlc0V2ZW50IH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXBwY3VlcydcbmltcG9ydCB7IENvbnRleHRNZW50aW9uRWRpdG9yLCBDb250ZXh0TWVudGlvbkVkaXRvckhhbmRsZSB9IGZyb20gJy4uL0NvbnRleHRNZW50aW9uRWRpdG9yJ1xuaW1wb3J0IHsgdXNlTWFpYVRhc2tQYW5lbFpJbmRleCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZU1haWFUYXNrUGFuZWxaSW5kZXgnXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLWN5Y2xlXG5pbXBvcnQgeyB1c2VNZW50aW9uUG9wb3ZlciB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZU1lbnRpb25Qb3BvdmVyJ1xuaW1wb3J0IHsgQ29udGV4dE1lbnRpb24gfSBmcm9tICcuLi8uLi8uLi90eXBlcy9jb250ZXh0TWVudGlvbidcblxuY29uc3QgVE9PTF9DSElQX0VYSVRfTVMgPSAyMjBcblxudHlwZSBBdHRhY2htZW50RmlsZSA9IHtcbiAgZmlsZTogRmlsZVxuICBvcmlnaW5hbEZpbGU/OiBGaWxlXG4gIGlkOiBzdHJpbmdcbiAgbmFtZTogc3RyaW5nXG4gIHNpemU6IG51bWJlclxuICB0eXBlOiBzdHJpbmdcbiAgaWNvbj86IFJlYWN0Tm9kZVxufVxuXG50eXBlIE1BSUFJbnB1dFByb3BzID0ge1xuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgZGlzYWJsZWQ/OiBib29sZWFuXG4gIG9uU2VuZE1lc3NhZ2U6IChcbiAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICAgYXR0YWNobWVudHM/OiBBdHRhY2htZW50RmlsZVtdLFxuICAgIG1lbnRpb25zPzogQ29udGV4dE1lbnRpb25bXSxcbiAgICBmYXFJZD86IHN0cmluZyxcbiAgICBhZ2VudFN1Z2dlc3Rpb25JZD86IHN0cmluZyxcbiAgICBmdWFJZD86IHN0cmluZyxcbiAgICBzY0lkPzogc3RyaW5nXG4gICkgPT4gdm9pZFxuICBvblN0b3BHZW5lcmF0aW9uPzogKCgpID0+IHZvaWQpIHwgbnVsbFxuICBpc1N0cmVhbWluZz86IGJvb2xlYW5cbiAgaXNXcml0aW5nPzogYm9vbGVhblxuICBwbGFjZWhvbGRlcj86IHN0cmluZ1xuICBvbkNoYW5nZT86ICgpID0+IHZvaWRcbiAgYWxpZ25CdXR0b25zPzogJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJ1xuICBvbkZpbGVBdHRhY2g/OiAoZmlsZTogRmlsZSkgPT4gdm9pZFxuICBvbkRlbGV0ZUF0dGFjaG1lbnQ/OiAoZmlsZUlkOiBzdHJpbmcpID0+IHZvaWRcbiAgYXR0YWNobWVudHM/OiBBdHRhY2htZW50RmlsZVtdXG4gIGNoYXRJZD86IHN0cmluZ1xuICBuZXdDaGF0S2V5PzogbnVtYmVyXG4gIHRvb2x0aXBaSW5kZXg/OiBudW1iZXJcbn1cblxuZXhwb3J0IGNvbnN0IE1BSUFJbnB1dCA9ICh7XG4gIG9uU2VuZE1lc3NhZ2UsXG4gIGNsYXNzTmFtZSxcbiAgZGlzYWJsZWQsXG4gIGlzU3RyZWFtaW5nLFxuICBpc1dyaXRpbmcsXG4gIG9uU3RvcEdlbmVyYXRpb24sXG4gIHBsYWNlaG9sZGVyLFxuICBvbkNoYW5nZSxcbiAgYWxpZ25CdXR0b25zID0gJ3ZlcnRpY2FsJyxcbiAgb25GaWxlQXR0YWNoLFxuICBvbkRlbGV0ZUF0dGFjaG1lbnQsXG4gIGF0dGFjaG1lbnRzID0gW10sXG4gIGNoYXRJZCxcbiAgbmV3Q2hhdEtleSxcbiAgdG9vbHRpcFpJbmRleCxcbn06IE1BSUFJbnB1dFByb3BzKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVCgpXG4gIGNvbnN0IGVkaXRvclJlZiA9IHVzZVJlZjxDb250ZXh0TWVudGlvbkVkaXRvckhhbmRsZT4obnVsbClcbiAgY29uc3QgZmlsZUlucHV0UmVmID0gdXNlUmVmPEhUTUxJbnB1dEVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IHdyYXBwZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IFtoYXNXcmFwcGVkVG9TZWNvbmRMaW5lLCBzZXRIYXNXcmFwcGVkVG9TZWNvbmRMaW5lXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbaGFzVHlwaW5nUHJlc2VuY2UsIHNldEhhc1R5cGluZ1ByZXNlbmNlXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbaXNGb2N1c2VkLCBzZXRJc0ZvY3VzZWRdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFttb2RhbFByb3BzLCBzZXRNb2RhbFByb3BzXSA9IHVzZVN0YXRlKHtcbiAgICBpc09wZW46IGZhbHNlLFxuICAgIGV4Y2x1ZGVkRmlsZXM6IFtdIGFzIHN0cmluZ1tdLFxuICAgIGV4Y2VlZGVkRmlsZXM6IFtdIGFzIHN0cmluZ1tdLFxuICAgIGZpbGVTaXplczoge30gYXMgUmVjb3JkPHN0cmluZywgbnVtYmVyPixcbiAgfSlcbiAgY29uc3QgZXZlbnRBbXBsaXR1ZGUgPSB1c2VFdmVudCgpXG4gIGNvbnN0IHsgdG9nZ2xlV2ViU2VhcmNoLCBpc1dlYlNlYXJjaEFjdGl2ZSwgdG9nZ2xlRGVlcFNlYXJjaCwgaXNEZWVwU2VhcmNoQWN0aXZlLCBhZ2VudCB9ID0gdXNlR2xvYmFsQ29udGV4dCgpXG4gIGNvbnN0IHBsdXNNZW51WkluZGV4ID0gdXNlTWFpYVRhc2tQYW5lbFpJbmRleCgxMzAwLCAnb3ZlcmxheScpXG5cbiAgY29uc3Qge1xuICAgIHBvcG92ZXJPcGVuLFxuICAgIHJlc2V0TWVudGlvbk9wZW5UcmFja2luZyxcbiAgICBoYW5kbGVUcmlnZ2VyLFxuICAgIGhhbmRsZUtleURvd246IGhhbmRsZVBvcG92ZXJLZXlEb3duLFxuICAgIHBvcG92ZXJOb2RlLFxuICB9ID0gdXNlTWVudGlvblBvcG92ZXIoe1xuICAgIGVkaXRvclJlZixcbiAgICBwb3BvdmVyQW5jaG9yUmVmOiB3cmFwcGVyUmVmLFxuICB9KVxuXG4gIGNvbnN0IFtwbHVzTWVudUFuY2hvciwgc2V0UGx1c01lbnVBbmNob3JdID0gdXNlU3RhdGU8SFRNTEJ1dHRvbkVsZW1lbnQgfCBudWxsPihudWxsKVxuICBjb25zdCBbYWN0aXZlVG9vbENoaXBIb3ZlcmVkLCBzZXRBY3RpdmVUb29sQ2hpcEhvdmVyZWRdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFt0b29sQ2hpcEV4aXRpbmcsIHNldFRvb2xDaGlwRXhpdGluZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgdG9vbENoaXBFeGl0VGltZXJSZWYgPSB1c2VSZWY8UmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4gfCBudWxsPihudWxsKVxuICBjb25zdCBzZWFyY2hNb2RlQWN0aXZlUmVmID0gdXNlUmVmKHsgd2ViOiBmYWxzZSwgZGVlcDogZmFsc2UgfSlcbiAgY29uc3QgcGx1c01lbnVPcGVuID0gQm9vbGVhbihwbHVzTWVudUFuY2hvcilcblxuICAvLyBJbmljaWFsaXphciBsYXMgcmVmZXJlbmNpYXMgY29tbyB1bmRlZmluZWQgcGFyYSBkZXRlY3RhciBlbCBwcmltZXIgY2FtYmlvIGNvcnJlY3RhbWVudGVcbiAgY29uc3QgcHJldmlvdXNBZ2VudElkUmVmID0gdXNlUmVmPHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKVxuICBjb25zdCBwcmV2aW91c0NoYXRJZFJlZiA9IHVzZVJlZjxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZClcbiAgY29uc3QgcHJldmlvdXNOZXdDaGF0S2V5UmVmID0gdXNlUmVmPG51bWJlciB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKVxuXG4gIGNvbnN0IGFuYWx5dGljc0FnZW50VHlwZSA9IGdldENoYXRUb29sc01lbnVBZ2VudFR5cGUoYWdlbnQpXG4gIGNvbnN0IGFuYWx5dGljc0Nsb25lRW50aXR5UGF5bG9hZCA9IGFnZW50Py50eXBlID09PSAnY2xvbmUnID8geyBlbnRpdHk6IGFnZW50LmVudGl0eSA/PyBudWxsIH0gOiB7fVxuXG4gIGNvbnN0IHsgY29tbWFuZHM6IHNsYXNoQ29tbWFuZHMgfSA9IHVzZVNsYXNoQ29tbWFuZHMoYWdlbnQ/LmlkKVxuICBjb25zdCBbc2hvd1NsYXNoRHJvcGRvd24sIHNldFNob3dTbGFzaERyb3Bkb3duXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbc2xhc2hRdWVyeSwgc2V0U2xhc2hRdWVyeV0gPSB1c2VTdGF0ZSgnJylcbiAgY29uc3Qgc2xhc2hNZW51V2FzT3BlblJlZiA9IHVzZVJlZihmYWxzZSlcblxuICAvKiogVHJhcyBlbGVnaXIgbyBxdWl0YXIgYsO6c3F1ZWRhIHdlYi9wcm9mdW5kYTogdm9sdmVyIGFsIHRleHRhcmVhIChQb3BvdmVyL21lbnUgcHVlZGUgcm9iYXIgZm9jbykuICovXG4gIGNvbnN0IHNjaGVkdWxlSW5wdXRGb2N1c0FmdGVyVG9vbEFjdGlvbiA9ICgpID0+IHtcbiAgICBpZiAoZGlzYWJsZWQpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBlZGl0b3JSZWYuY3VycmVudD8uZm9jdXMoKVxuICAgICAgfSwgMClcbiAgICB9KVxuICB9XG5cbiAgY29uc3QgY2xvc2VQbHVzTWVudSA9ICgpID0+IHtcbiAgICBzZXRQbHVzTWVudUFuY2hvcihudWxsKVxuICB9XG5cbiAgY29uc3QgY2FuY2VsUGVuZGluZ1Rvb2xDaGlwRXhpdCA9ICgpID0+IHtcbiAgICBpZiAodG9vbENoaXBFeGl0VGltZXJSZWYuY3VycmVudCAhPT0gbnVsbCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRvb2xDaGlwRXhpdFRpbWVyUmVmLmN1cnJlbnQpXG4gICAgICB0b29sQ2hpcEV4aXRUaW1lclJlZi5jdXJyZW50ID0gbnVsbFxuICAgIH1cbiAgICBzZXRUb29sQ2hpcEV4aXRpbmcoZmFsc2UpXG4gIH1cblxuICBjb25zdCBoYW5kbGVQbHVzQnV0dG9uQ2xpY2sgPSAoZTogTW91c2VFdmVudDxIVE1MQnV0dG9uRWxlbWVudD4pID0+IHtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpXG4gICAgaWYgKHBsdXNNZW51QW5jaG9yKSB7XG4gICAgICBjbG9zZVBsdXNNZW51KClcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBzZXRQbHVzTWVudUFuY2hvcihlLmN1cnJlbnRUYXJnZXQpXG4gICAgZXZlbnRBbXBsaXR1ZGUoRVZFTlRTLmFpQ2hhdFBsdXNPcGVuLCB7IGFnZW50X3R5cGU6IGFuYWx5dGljc0FnZW50VHlwZSwgLi4uYW5hbHl0aWNzQ2xvbmVFbnRpdHlQYXlsb2FkIH0pXG4gIH1cblxuICBjb25zdCBoYW5kbGVQbHVzTWVudUF0dGFjaCA9ICgpID0+IHtcbiAgICBjbG9zZVBsdXNNZW51KClcbiAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWlDaGF0VG9vbHMsIHtcbiAgICAgIGFnZW50X3R5cGU6IGFuYWx5dGljc0FnZW50VHlwZSxcbiAgICAgIG9wdGlvbjogJ2ZpbGVzJyxcbiAgICAgIC4uLmFuYWx5dGljc0Nsb25lRW50aXR5UGF5bG9hZCxcbiAgICB9KVxuICAgIGlmIChhdHRhY2htZW50cy5sZW5ndGggPj0gTUFYX0NIQVRfSU5QVVRfQVRUQUNITUVOVFMpIHJldHVyblxuICAgIGZpbGVJbnB1dFJlZi5jdXJyZW50Py5jbGljaygpXG4gIH1cblxuICBjb25zdCBiZWdpblRvb2xDaGlwRXhpdCA9ICgpID0+IHtcbiAgICBpZiAodG9vbENoaXBFeGl0VGltZXJSZWYuY3VycmVudCAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGNvbnN0IHdhc1dlYiA9IGlzV2ViU2VhcmNoQWN0aXZlXG4gICAgY29uc3Qgd2FzRGVlcCA9IGlzRGVlcFNlYXJjaEFjdGl2ZVxuICAgIGlmICghd2FzV2ViICYmICF3YXNEZWVwKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgc2V0VG9vbENoaXBFeGl0aW5nKHRydWUpXG4gICAgdG9vbENoaXBFeGl0VGltZXJSZWYuY3VycmVudCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdG9vbENoaXBFeGl0VGltZXJSZWYuY3VycmVudCA9IG51bGxcbiAgICAgIGNvbnN0IHsgd2ViLCBkZWVwIH0gPSBzZWFyY2hNb2RlQWN0aXZlUmVmLmN1cnJlbnRcbiAgICAgIGlmICh3YXNXZWIgJiYgd2ViKSB7XG4gICAgICAgIHRvZ2dsZVdlYlNlYXJjaCgpXG4gICAgICB9IGVsc2UgaWYgKHdhc0RlZXAgJiYgZGVlcCkge1xuICAgICAgICB0b2dnbGVEZWVwU2VhcmNoKClcbiAgICAgIH1cbiAgICAgIHNldFRvb2xDaGlwRXhpdGluZyhmYWxzZSlcbiAgICAgIHNjaGVkdWxlSW5wdXRGb2N1c0FmdGVyVG9vbEFjdGlvbigpXG4gICAgfSwgVE9PTF9DSElQX0VYSVRfTVMpXG4gIH1cblxuICBjb25zdCBoYW5kbGVQbHVzTWVudVdlYlNlYXJjaCA9ICgpID0+IHtcbiAgICBjbG9zZVBsdXNNZW51KClcbiAgICBpZiAoaXNXZWJTZWFyY2hBY3RpdmUpIHtcbiAgICAgIGJlZ2luVG9vbENoaXBFeGl0KClcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBjYW5jZWxQZW5kaW5nVG9vbENoaXBFeGl0KClcbiAgICBpZiAoaXNEZWVwU2VhcmNoQWN0aXZlKSB7XG4gICAgICB0b2dnbGVEZWVwU2VhcmNoKClcbiAgICB9XG4gICAgdG9nZ2xlV2ViU2VhcmNoKClcbiAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWlDaGF0VG9vbHMsIHtcbiAgICAgIGFnZW50X3R5cGU6IGFuYWx5dGljc0FnZW50VHlwZSxcbiAgICAgIG9wdGlvbjogJ3NlYXJjaCcsXG4gICAgICAuLi5hbmFseXRpY3NDbG9uZUVudGl0eVBheWxvYWQsXG4gICAgfSlcbiAgICBzY2hlZHVsZUlucHV0Rm9jdXNBZnRlclRvb2xBY3Rpb24oKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlUGx1c01lbnVEZWVwU2VhcmNoID0gKCkgPT4ge1xuICAgIGNsb3NlUGx1c01lbnUoKVxuICAgIGlmIChpc0RlZXBTZWFyY2hBY3RpdmUpIHtcbiAgICAgIGJlZ2luVG9vbENoaXBFeGl0KClcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBjYW5jZWxQZW5kaW5nVG9vbENoaXBFeGl0KClcbiAgICBpZiAoaXNXZWJTZWFyY2hBY3RpdmUpIHtcbiAgICAgIHRvZ2dsZVdlYlNlYXJjaCgpXG4gICAgfVxuICAgIHRvZ2dsZURlZXBTZWFyY2goKVxuICAgIGV2ZW50QW1wbGl0dWRlKEVWRU5UUy5haUNoYXRUb29scywge1xuICAgICAgYWdlbnRfdHlwZTogYW5hbHl0aWNzQWdlbnRUeXBlLFxuICAgICAgb3B0aW9uOiAnZGVlcF9zZWFyY2gnLFxuICAgICAgLi4uYW5hbHl0aWNzQ2xvbmVFbnRpdHlQYXlsb2FkLFxuICAgIH0pXG4gICAgc2NoZWR1bGVJbnB1dEZvY3VzQWZ0ZXJUb29sQWN0aW9uKClcbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFkaXNhYmxlZCkge1xuICAgICAgZWRpdG9yUmVmLmN1cnJlbnQ/LmZvY3VzKClcbiAgICB9XG4gIH0sIFtkaXNhYmxlZF0pXG5cbiAgY29uc3QgY29tcGFjdFNpbmdsZVJvd1Rvb2xiYXIgPSB1c2VNZW1vKFxuICAgICgpID0+IGF0dGFjaG1lbnRzLmxlbmd0aCA9PT0gMCAmJiAhaXNXZWJTZWFyY2hBY3RpdmUgJiYgIWlzRGVlcFNlYXJjaEFjdGl2ZSAmJiAhaGFzV3JhcHBlZFRvU2Vjb25kTGluZSxcbiAgICBbYXR0YWNobWVudHMubGVuZ3RoLCBpc1dlYlNlYXJjaEFjdGl2ZSwgaXNEZWVwU2VhcmNoQWN0aXZlLCBoYXNXcmFwcGVkVG9TZWNvbmRMaW5lXVxuICApXG5cbiAgY29uc3Qgc2VuZERpc2FibGVkID0gdXNlTWVtbyhcbiAgICAoKSA9PiAhaGFzVHlwaW5nUHJlc2VuY2UgJiYgYXR0YWNobWVudHMubGVuZ3RoID09PSAwLFxuICAgIFtoYXNUeXBpbmdQcmVzZW5jZSwgYXR0YWNobWVudHMubGVuZ3RoXVxuICApXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZWFyY2hNb2RlQWN0aXZlUmVmLmN1cnJlbnQgPSB7IHdlYjogaXNXZWJTZWFyY2hBY3RpdmUsIGRlZXA6IGlzRGVlcFNlYXJjaEFjdGl2ZSB9XG4gIH0sIFtpc1dlYlNlYXJjaEFjdGl2ZSwgaXNEZWVwU2VhcmNoQWN0aXZlXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAodG9vbENoaXBFeGl0VGltZXJSZWYuY3VycmVudCAhPT0gbnVsbCkge1xuICAgICAgICBjbGVhclRpbWVvdXQodG9vbENoaXBFeGl0VGltZXJSZWYuY3VycmVudClcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpc1dlYlNlYXJjaEFjdGl2ZSAmJiAhaXNEZWVwU2VhcmNoQWN0aXZlKSB7XG4gICAgICBzZXRBY3RpdmVUb29sQ2hpcEhvdmVyZWQoZmFsc2UpXG4gICAgfVxuICB9LCBbaXNXZWJTZWFyY2hBY3RpdmUsIGlzRGVlcFNlYXJjaEFjdGl2ZV0pXG5cbiAgLy8gQXV0by1mb2N1cyBjdWFuZG8gY2FtYmlhIGVsIGFnZW50ZSBvIGxhIGNvbnZlcnNhY2nDs24sIG8gYWwgbW9udGFyIGVsIGNvbXBvbmVudGVcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBhZ2VudENoYW5nZWQgPSBwcmV2aW91c0FnZW50SWRSZWYuY3VycmVudCAhPT0gYWdlbnQ/LmlkXG4gICAgY29uc3QgcHJldmlvdXNDaGF0SWQgPSBwcmV2aW91c0NoYXRJZFJlZi5jdXJyZW50XG4gICAgY29uc3QgY3VycmVudENoYXRJZCA9IGNoYXRJZFxuICAgIGNvbnN0IGNoYXRDaGFuZ2VkID0gcHJldmlvdXNDaGF0SWQgIT09IGN1cnJlbnRDaGF0SWRcbiAgICBjb25zdCBjaGFuZ2VkRnJvbU5ld0NoYXRUb09sZENoYXQgPVxuICAgICAgKHByZXZpb3VzQ2hhdElkID09PSB1bmRlZmluZWQgfHwgcHJldmlvdXNDaGF0SWQgPT09IG51bGwpICYmIGN1cnJlbnRDaGF0SWQgIT09IHVuZGVmaW5lZCAmJiBjdXJyZW50Q2hhdElkICE9PSBudWxsXG4gICAgY29uc3QgbmV3Q2hhdFN0YXJ0ZWQgPSBwcmV2aW91c05ld0NoYXRLZXlSZWYuY3VycmVudCAhPT0gbmV3Q2hhdEtleVxuICAgIGNvbnN0IGlzSW5pdGlhbE1vdW50ID0gcHJldmlvdXNBZ2VudElkUmVmLmN1cnJlbnQgPT09IHVuZGVmaW5lZCAmJiBwcmV2aW91c0NoYXRJZFJlZi5jdXJyZW50ID09PSB1bmRlZmluZWRcblxuICAgIGlmICgoYWdlbnRDaGFuZ2VkIHx8IGNoYXRDaGFuZ2VkIHx8IGNoYW5nZWRGcm9tTmV3Q2hhdFRvT2xkQ2hhdCB8fCBuZXdDaGF0U3RhcnRlZCB8fCBpc0luaXRpYWxNb3VudCkgJiYgIWRpc2FibGVkKSB7XG4gICAgICBjb25zdCBkZWxheSA9IGlzSW5pdGlhbE1vdW50IHx8IGNoYW5nZWRGcm9tTmV3Q2hhdFRvT2xkQ2hhdCA/IDIwMCA6IDEwMFxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlmICghZGlzYWJsZWQpIGVkaXRvclJlZi5jdXJyZW50Py5mb2N1cygpXG4gICAgICB9LCBkZWxheSlcbiAgICB9XG5cbiAgICBwcmV2aW91c0FnZW50SWRSZWYuY3VycmVudCA9IGFnZW50Py5pZFxuICAgIHByZXZpb3VzQ2hhdElkUmVmLmN1cnJlbnQgPSBjaGF0SWRcbiAgICBwcmV2aW91c05ld0NoYXRLZXlSZWYuY3VycmVudCA9IG5ld0NoYXRLZXlcbiAgfSwgW2FnZW50Py5pZCwgY2hhdElkLCBuZXdDaGF0S2V5LCBkaXNhYmxlZF0pXG5cbiAgLy8gQXBwY3Vlczogbm90aWZ5IHRoYXQgdGhlIGlucHV0IGlzIHZpc2libGUgZm9yIHNwZWNpYWxpc3QgYWdlbnRzIChjbG9uZSArIHByb2plY3QvY2xpZW50KVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGlzU3BlY2lhbGlzdEFnZW50ID0gYWdlbnQ/LnR5cGUgPT09ICdjbG9uZScgJiYgKGFnZW50Py5lbnRpdHkgPT09ICdwcm9qZWN0JyB8fCBhZ2VudD8uZW50aXR5ID09PSAnY2xpZW50JylcbiAgICBpZiAoIXdyYXBwZXJSZWYuY3VycmVudCB8fCAhaXNTcGVjaWFsaXN0QWdlbnQpIHJldHVybiB1bmRlZmluZWRcblxuICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKFxuICAgICAgKFtlbnRyeV0pID0+IHtcbiAgICAgICAgaWYgKGVudHJ5LmlzSW50ZXJzZWN0aW5nKSB7XG4gICAgICAgICAgdHJhY2tBcHBjdWVzRXZlbnQoQVBQQ1VFU19FVkVOVFMubWFpYUNvbnRleHRNZW50aW9uSW5pdClcbiAgICAgICAgICBvYnNlcnZlci5kaXNjb25uZWN0KClcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHsgdGhyZXNob2xkOiAwLjEgfVxuICAgIClcblxuICAgIG9ic2VydmVyLm9ic2VydmUod3JhcHBlclJlZi5jdXJyZW50KVxuICAgIHJldHVybiAoKSA9PiBvYnNlcnZlci5kaXNjb25uZWN0KClcbiAgfSwgW2FnZW50Py5pZCwgYWdlbnQ/LnR5cGUsIGFnZW50Py5lbnRpdHldKVxuXG4gIC8vIENsZWFyIGlucHV0IHdoZW4gc2Vzc2lvbiBjaGFuZ2VzICh1c2VyIHN3aXRjaGVzIHRvIGEgZGlmZmVyZW50IGNoYXQpXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlU2Vzc2lvbkNoYW5nZSA9ICgpID0+IHtcbiAgICAgIGVkaXRvclJlZi5jdXJyZW50Py5jbGVhcigpXG4gICAgICBzZXRIYXNUeXBpbmdQcmVzZW5jZShmYWxzZSlcbiAgICAgIHNldEhhc1dyYXBwZWRUb1NlY29uZExpbmUoZmFsc2UpXG4gICAgICBzZXRTaG93U2xhc2hEcm9wZG93bihmYWxzZSlcbiAgICAgIHNldFNsYXNoUXVlcnkoJycpXG4gICAgICByZXNldE1lbnRpb25PcGVuVHJhY2tpbmcoKVxuICAgIH1cblxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYXQtc2Vzc2lvbi1jaGFuZ2VkJywgaGFuZGxlU2Vzc2lvbkNoYW5nZSlcbiAgICByZXR1cm4gKCkgPT4gZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2hhdC1zZXNzaW9uLWNoYW5nZWQnLCBoYW5kbGVTZXNzaW9uQ2hhbmdlKVxuICB9LCBbcmVzZXRNZW50aW9uT3BlblRyYWNraW5nXSlcblxuICBjb25zdCBoYW5kbGVTZW5kTWVzc2FnZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBzdGF0ZSA9IGVkaXRvclJlZi5jdXJyZW50Py5zZXJpYWxpemUoKVxuICAgIGNvbnN0IHRleHQgPSBzdGF0ZT8udGV4dCA/PyAnJ1xuICAgIGlmICghdGV4dC50cmltKCkgJiYgIWF0dGFjaG1lbnRzLmxlbmd0aCkgcmV0dXJuXG4gICAgY29uc3QgbWVudGlvbnMgPSBzdGF0ZT8ubWVudGlvbnMgPz8gW11cbiAgICBvblNlbmRNZXNzYWdlKHRleHQsIGF0dGFjaG1lbnRzLCBtZW50aW9ucylcbiAgICBlZGl0b3JSZWYuY3VycmVudD8uY2xlYXIoKVxuICAgIHNldEhhc1R5cGluZ1ByZXNlbmNlKGZhbHNlKVxuICAgIHNldEhhc1dyYXBwZWRUb1NlY29uZExpbmUoZmFsc2UpXG4gICAgc2V0U2hvd1NsYXNoRHJvcGRvd24oZmFsc2UpXG4gICAgc2V0U2xhc2hRdWVyeSgnJylcbiAgICByZXNldE1lbnRpb25PcGVuVHJhY2tpbmcoKVxuICB9LCBbYXR0YWNobWVudHMsIG9uU2VuZE1lc3NhZ2UsIHJlc2V0TWVudGlvbk9wZW5UcmFja2luZ10pXG5cbiAgY29uc3QgaGFuZGxlU2VsZWN0U2xhc2hDb21tYW5kID0gdXNlQ2FsbGJhY2soXG4gICAgKGNvbW1hbmQ6IEFjdGlvbikgPT4ge1xuICAgICAgZXZlbnRBbXBsaXR1ZGUoRVZFTlRTLmFpQ2hhdFF1aWNrQWN0aW9uU2VsZWN0LCB7XG4gICAgICAgIHR5cGVfcXVpY2tfYWN0aW9uOiBxdWlja0FjdGlvblRpdGxlVG9UeXBlKGNvbW1hbmQuaWQsIGNvbW1hbmQudGl0bGUpLFxuICAgICAgICBvcmlnaW5fcXVpY2tfYWN0aW9uOiAnc2xhc2hfbWVudScsXG4gICAgICB9KVxuXG4gICAgICBjb25zdCBzdGF0ZSA9IGVkaXRvclJlZi5jdXJyZW50Py5zZXJpYWxpemUoKVxuICAgICAgY29uc3QgdGV4dCA9IHN0YXRlPy50ZXh0ID8/ICcnXG4gICAgICBjb25zdCB0cmlnZ2VyUGFydCA9IGAvJHtzbGFzaFF1ZXJ5fWBcbiAgICAgIGNvbnN0IGJlZm9yZVRyaWdnZXIgPSB0ZXh0LmVuZHNXaXRoKHRyaWdnZXJQYXJ0KSA/IHRleHQuc2xpY2UoMCwgLXRyaWdnZXJQYXJ0Lmxlbmd0aCkgOiB0ZXh0XG4gICAgICBjb25zdCBpc0VtcHR5QmVmb3JlVHJpZ2dlciA9IGJlZm9yZVRyaWdnZXIudHJpbSgpID09PSAnJ1xuXG4gICAgICBpZiAoaXNFbXB0eUJlZm9yZVRyaWdnZXIpIHtcbiAgICAgICAgb25TZW5kTWVzc2FnZShjb21tYW5kLnRpdGxlLCBhdHRhY2htZW50cywgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBjb21tYW5kLmlkKVxuICAgICAgICBlZGl0b3JSZWYuY3VycmVudD8uY2xlYXIoKVxuICAgICAgICBzZXRIYXNUeXBpbmdQcmVzZW5jZShmYWxzZSlcbiAgICAgICAgc2V0SGFzV3JhcHBlZFRvU2Vjb25kTGluZShmYWxzZSlcbiAgICAgICAgc2V0U2hvd1NsYXNoRHJvcGRvd24oZmFsc2UpXG4gICAgICAgIHNldFNsYXNoUXVlcnkoJycpXG4gICAgICAgIHNsYXNoTWVudVdhc09wZW5SZWYuY3VycmVudCA9IGZhbHNlXG4gICAgICAgIHJlc2V0TWVudGlvbk9wZW5UcmFja2luZygpXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBlZGl0b3JSZWYuY3VycmVudD8uaW5zZXJ0U2xhc2hDb21tYW5kKHsgaWQ6IGNvbW1hbmQuaWQsIGxhYmVsOiBjb21tYW5kLnRpdGxlIH0pXG4gICAgICBzZXRTaG93U2xhc2hEcm9wZG93bihmYWxzZSlcbiAgICAgIHNldFNsYXNoUXVlcnkoJycpXG4gICAgICBzbGFzaE1lbnVXYXNPcGVuUmVmLmN1cnJlbnQgPSBmYWxzZVxuICAgIH0sXG4gICAgW2F0dGFjaG1lbnRzLCBvblNlbmRNZXNzYWdlLCByZXNldE1lbnRpb25PcGVuVHJhY2tpbmcsIHNsYXNoUXVlcnksIGV2ZW50QW1wbGl0dWRlXVxuICApXG5cbiAgY29uc3QgaGFuZGxlQ2xvc2VTbGFzaERyb3Bkb3duID0gKCkgPT4ge1xuICAgIHNldFNob3dTbGFzaERyb3Bkb3duKGZhbHNlKVxuICAgIHNsYXNoTWVudVdhc09wZW5SZWYuY3VycmVudCA9IGZhbHNlXG4gIH1cblxuICBjb25zdCBoYW5kbGVFZGl0b3JJbnB1dCA9IHVzZUNhbGxiYWNrKFxuICAgICh7XG4gICAgICB0ZXh0LFxuICAgICAgdHJpZ2dlcixcbiAgICAgIHNsYXNoVHJpZ2dlcixcbiAgICB9OiB7XG4gICAgICB0ZXh0OiBzdHJpbmdcbiAgICAgIG1lbnRpb25zOiBDb250ZXh0TWVudGlvbltdXG4gICAgICB0cmlnZ2VyOiB7IGFjdGl2ZTogYm9vbGVhbjsgcXVlcnk6IHN0cmluZzsgYXRSdW5MZW5ndGg6IG51bWJlciB9XG4gICAgICBzbGFzaFRyaWdnZXI/OiB7IGFjdGl2ZTogYm9vbGVhbjsgcXVlcnk6IHN0cmluZyB9XG4gICAgfSkgPT4ge1xuICAgICAgY29uc3QgdmlzdWFsTXVsdGlsaW5lID0gISFlZGl0b3JSZWYuY3VycmVudD8uaGFzVmlzdWFsTXVsdGlsaW5lKClcbiAgICAgIGNvbnN0IGV4cGxpY2l0TXVsdGlsaW5lID0gdGV4dC5pbmNsdWRlcygnXFxuJylcbiAgICAgIGNvbnN0IGlzTGlrZWx5Rmlyc3RDaGFyTWVhc3VyZW1lbnRHbGl0Y2ggPSB0ZXh0Lmxlbmd0aCA8PSAxICYmICFleHBsaWNpdE11bHRpbGluZSAmJiB2aXN1YWxNdWx0aWxpbmVcbiAgICAgIGNvbnN0IHN0YWJsZVZpc3VhbE11bHRpbGluZSA9IGlzTGlrZWx5Rmlyc3RDaGFyTWVhc3VyZW1lbnRHbGl0Y2ggPyBmYWxzZSA6IHZpc3VhbE11bHRpbGluZVxuICAgICAgY29uc3QgbmV4dElzTXVsdGlsaW5lID0gZXhwbGljaXRNdWx0aWxpbmUgfHwgc3RhYmxlVmlzdWFsTXVsdGlsaW5lXG4gICAgICBjb25zdCBuZXh0SGFzVHlwaW5nUHJlc2VuY2UgPSB0ZXh0LnRyaW0oKS5sZW5ndGggPiAwXG4gICAgICBjb25zdCBuZXh0VHlwaW5nUHJlc2VuY2UgPSB0ZXh0LnRyaW0oKS5sZW5ndGggPiAwXG5cbiAgICAgIHNldEhhc1R5cGluZ1ByZXNlbmNlKG5leHRUeXBpbmdQcmVzZW5jZSlcbiAgICAgIHNldEhhc1dyYXBwZWRUb1NlY29uZExpbmUocHJldiA9PiB7XG4gICAgICAgIGxldCBuZXh0ID0gcHJldlxuICAgICAgICBpZiAoIW5leHRIYXNUeXBpbmdQcmVzZW5jZSkge1xuICAgICAgICAgIG5leHQgPSBmYWxzZVxuICAgICAgICB9IGVsc2UgaWYgKG5leHRJc011bHRpbGluZSkge1xuICAgICAgICAgIG5leHQgPSB0cnVlXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbmV4dFxuICAgICAgfSlcbiAgICAgIG9uQ2hhbmdlPy4oKVxuICAgICAgaGFuZGxlVHJpZ2dlcih0cmlnZ2VyKVxuXG4gICAgICBpZiAoc2xhc2hUcmlnZ2VyPy5hY3RpdmUgJiYgc2xhc2hDb21tYW5kcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGlmICghc2xhc2hNZW51V2FzT3BlblJlZi5jdXJyZW50KSB7XG4gICAgICAgICAgZXZlbnRBbXBsaXR1ZGUoRVZFTlRTLmFpQ2hhdFF1aWNrQWN0aW9uT3BlbilcbiAgICAgICAgICBzbGFzaE1lbnVXYXNPcGVuUmVmLmN1cnJlbnQgPSB0cnVlXG4gICAgICAgIH1cbiAgICAgICAgc2V0U2hvd1NsYXNoRHJvcGRvd24odHJ1ZSlcbiAgICAgICAgc2V0U2xhc2hRdWVyeShzbGFzaFRyaWdnZXIucXVlcnkpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzbGFzaE1lbnVXYXNPcGVuUmVmLmN1cnJlbnQgPSBmYWxzZVxuICAgICAgICBzZXRTaG93U2xhc2hEcm9wZG93bihmYWxzZSlcbiAgICAgICAgc2V0U2xhc2hRdWVyeSgnJylcbiAgICAgIH1cbiAgICB9LFxuICAgIFtvbkNoYW5nZSwgaGFuZGxlVHJpZ2dlciwgc2xhc2hDb21tYW5kcywgZXZlbnRBbXBsaXR1ZGVdXG4gIClcblxuICBjb25zdCBoYW5kbGVLZXlEb3duID0gdXNlQ2FsbGJhY2soXG4gICAgKGU6IEtleWJvYXJkRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgICBpZiAoaGFuZGxlUG9wb3ZlcktleURvd24oZSkpIHJldHVyblxuICAgICAgaWYgKGUua2V5ID09PSAnRW50ZXInICYmICFlLnNoaWZ0S2V5ICYmICFwb3BvdmVyT3Blbikge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgaWYgKCFzZW5kRGlzYWJsZWQgJiYgIWRpc2FibGVkKSBoYW5kbGVTZW5kTWVzc2FnZSgpXG4gICAgICB9XG4gICAgfSxcbiAgICBbaGFuZGxlUG9wb3ZlcktleURvd24sIHBvcG92ZXJPcGVuLCBzZW5kRGlzYWJsZWQsIGRpc2FibGVkLCBoYW5kbGVTZW5kTWVzc2FnZV1cbiAgKVxuXG4gIGNvbnN0IGhhbmRsZUZpbGVTZWxlY3QgPSAoZTogQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHtcbiAgICBjb25zdCBmaWxlcyA9IGUudGFyZ2V0LmZpbGVzXG4gICAgaWYgKCFmaWxlcykgcmV0dXJuXG5cbiAgICBjb25zdCBleGNlZWRlZEZpbGVzOiBzdHJpbmdbXSA9IFtdXG4gICAgY29uc3QgZXhjbHVkZWRGaWxlczogc3RyaW5nW10gPSBbXVxuICAgIGNvbnN0IGZpbGVTaXplczogUmVjb3JkPHN0cmluZywgbnVtYmVyPiA9IHt9XG4gICAgbGV0IGZpbGVzSW5zZXJ0ZWQgPSBhdHRhY2htZW50cy5sZW5ndGhcblxuICAgIC8vIERlZmluaXIgbMOtbWl0ZXMgcGFyYSBkaWZlcmVudGVzIHRpcG9zIGRlIGFyY2hpdm9zXG4gICAgY29uc3QgaXNOZXdGb3JtYXQgPSAoZXh0ZW5zaW9uOiBzdHJpbmcpID0+IFsnLnBuZycsICcuanBnJywgJy5qcGVnJywgJy5wZGYnXS5pbmNsdWRlcyhleHRlbnNpb24pXG4gICAgY29uc3QgaXNPbGRGb3JtYXQgPSAoZXh0ZW5zaW9uOiBzdHJpbmcpID0+XG4gICAgICBbJy50eHQnLCAnLm1kJywgJy5jc3YnLCAnLmRvYycsICcuZG9jeCcsICcueGxzeCcsICcueGxzJ10uaW5jbHVkZXMoZXh0ZW5zaW9uKVxuICAgIGNvbnN0IGlzQXVkaW9Gb3JtYXQgPSAoZXh0ZW5zaW9uOiBzdHJpbmcpID0+XG4gICAgICBbJy5mbGFjJywgJy5tNGEnLCAnLm1wMycsICcubXA0JywgJy5vZ2EnLCAnLm9nZycsICcud2F2JywgJy53ZWJtJ10uaW5jbHVkZXMoZXh0ZW5zaW9uKVxuXG4gICAgQXJyYXkuZnJvbShmaWxlcykuZm9yRWFjaChmaWxlID0+IHtcbiAgICAgIGxldCBleGNsdWRlZEZpbGUgPSBmYWxzZVxuICAgICAgY29uc3QgZmlsZU5hbWVQYXJ0cyA9IGZpbGUubmFtZS5zcGxpdCgnLicpXG4gICAgICBjb25zdCBmaWxlRXh0ZW5zaW9uID0gZmlsZU5hbWVQYXJ0cy5sZW5ndGggPiAxID8gYC4ke2ZpbGVOYW1lUGFydHMucG9wKCk/LnRvTG93ZXJDYXNlKCl9YCA6ICcnXG5cbiAgICAgIGlmICghYWxsb3dlZEZpbGVUeXBlcz8uaW5jbHVkZXMoZmlsZUV4dGVuc2lvbikpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGZpbGVTaXplc1tmaWxlLm5hbWVdID0gZmlsZS5zaXplXG5cbiAgICAgIC8vIFZhbGlkYWNpb25lcyBlc3BlY8OtZmljYXMgc2Vnw7puIGVsIHRpcG8gZGUgYXJjaGl2b1xuICAgICAgaWYgKGlzTmV3Rm9ybWF0KGZpbGVFeHRlbnNpb24pKSB7XG4gICAgICAgIC8vIFBhcmEgbnVldm9zIGZvcm1hdG9zOiBoYXN0YSA0Ljk5TUIgcG9yIGFyY2hpdm8sIGhhc3RhIE1BWF9DSEFUX0lOUFVUX0FUVEFDSE1FTlRTIGFyY2hpdm9zXG4gICAgICAgIGlmIChmaWxlLnNpemUgPiBNQVhfRklMRV9TSVpFX01CX01BSUFfVklTSU9OICogMTAyNCAqIDEwMjQpIHtcbiAgICAgICAgICBleGNlZWRlZEZpbGVzLnB1c2goZmlsZS5uYW1lKVxuICAgICAgICAgIGV4Y2x1ZGVkRmlsZSA9IHRydWVcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmaWxlc0luc2VydGVkICsgMSA+IE1BWF9DSEFUX0lOUFVUX0FUVEFDSE1FTlRTKSB7XG4gICAgICAgICAgZXhjbHVkZWRGaWxlcy5wdXNoKGZpbGUubmFtZSlcbiAgICAgICAgICBleGNsdWRlZEZpbGUgPSB0cnVlXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoaXNPbGRGb3JtYXQoZmlsZUV4dGVuc2lvbikpIHtcbiAgICAgICAgLy8gUGFyYSBmb3JtYXRvcyBhbnRlcmlvcmVzOiBoYXN0YSAxTUIgcG9yIGFyY2hpdm8sIGhhc3RhIE1BWF9DSEFUX0lOUFVUX0FUVEFDSE1FTlRTIGFyY2hpdm9zXG4gICAgICAgIGlmIChmaWxlLnNpemUgPiBNQVhfRklMRV9TSVpFX01CX09MRCAqIDEwMjQgKiAxMDI0KSB7XG4gICAgICAgICAgZXhjZWVkZWRGaWxlcy5wdXNoKGZpbGUubmFtZSlcbiAgICAgICAgICBleGNsdWRlZEZpbGUgPSB0cnVlXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZmlsZXNJbnNlcnRlZCArIDEgPiBNQVhfQ0hBVF9JTlBVVF9BVFRBQ0hNRU5UUykge1xuICAgICAgICAgIGV4Y2x1ZGVkRmlsZXMucHVzaChmaWxlLm5hbWUpXG4gICAgICAgICAgZXhjbHVkZWRGaWxlID0gdHJ1ZVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGlzQXVkaW9Gb3JtYXQoZmlsZUV4dGVuc2lvbikpIHtcbiAgICAgICAgLy8gUGFyYSBhcmNoaXZvcyBkZSBhdWRpbzogaGFzdGEgMTBNQiBwb3IgYXJjaGl2bywgaGFzdGEgTUFYX0NIQVRfSU5QVVRfQVRUQUNITUVOVFMgYXJjaGl2b3NcbiAgICAgICAgaWYgKGZpbGUuc2l6ZSA+IE1BWF9GSUxFX1NJWkVfTUJfQVVESU8gKiAxMDI0ICogMTAyNCkge1xuICAgICAgICAgIGV4Y2VlZGVkRmlsZXMucHVzaChmaWxlLm5hbWUpXG4gICAgICAgICAgZXhjbHVkZWRGaWxlID0gdHJ1ZVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZpbGVzSW5zZXJ0ZWQgKyAxID4gTUFYX0NIQVRfSU5QVVRfQVRUQUNITUVOVFMpIHtcbiAgICAgICAgICBleGNsdWRlZEZpbGVzLnB1c2goZmlsZS5uYW1lKVxuICAgICAgICAgIGV4Y2x1ZGVkRmlsZSA9IHRydWVcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoIWV4Y2x1ZGVkRmlsZSkge1xuICAgICAgICBmaWxlc0luc2VydGVkICs9IDFcbiAgICAgICAgY29uc3QgdHlwZUZpbGUgPSBmaWxlLnR5cGUgfHwgZmlsZVR5cGVzW2ZpbGVFeHRlbnNpb25dXG4gICAgICAgIGNvbnN0IHBhcnNlZEZpbGUgPSBuZXcgRmlsZShbZmlsZV0sIGZpbGUubmFtZSwgeyB0eXBlOiB0eXBlRmlsZSB9KVxuICAgICAgICBvbkZpbGVBdHRhY2g/LihwYXJzZWRGaWxlKVxuICAgICAgfVxuICAgIH0pXG5cbiAgICBpZiAoZXhjbHVkZWRGaWxlcy5sZW5ndGggfHwgZXhjZWVkZWRGaWxlcy5sZW5ndGgpIHtcbiAgICAgIHNldE1vZGFsUHJvcHMoeyBpc09wZW46IHRydWUsIGV4Y2x1ZGVkRmlsZXMsIGV4Y2VlZGVkRmlsZXMsIGZpbGVTaXplcyB9KVxuICAgIH1cblxuICAgIGlmIChmaWxlSW5wdXRSZWYuY3VycmVudCkge1xuICAgICAgZmlsZUlucHV0UmVmLmN1cnJlbnQudmFsdWUgPSAnJ1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGhhbmRsZURlbGV0ZUF0dGFjaG1lbnQgPSAoZmlsZUlkOiBzdHJpbmcpID0+IHtcbiAgICBvbkRlbGV0ZUF0dGFjaG1lbnQ/LihmaWxlSWQpXG4gIH1cblxuICBjb25zdCBoYW5kbGVXcmFwcGVyRm9jdXMgPSAoKSA9PiBzZXRJc0ZvY3VzZWQodHJ1ZSlcbiAgY29uc3QgaGFuZGxlV3JhcHBlckJsdXIgPSAoKSA9PiB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAoIXdyYXBwZXJSZWYuY3VycmVudD8uY29udGFpbnMoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCkpIHtcbiAgICAgICAgc2V0SXNGb2N1c2VkKGZhbHNlKVxuICAgICAgfVxuICAgIH0sIDApXG4gIH1cblxuICBjb25zdCBoYW5kbGVTdG9wR2VuZXJhdGlvbiA9ICgpID0+IHtcbiAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWlDaGF0U3RvcFJlc3BvbnNlKVxuICAgIG9uU3RvcEdlbmVyYXRpb24/LigpXG4gIH1cblxuICBjb25zdCBwbHVzSWNvbkNvbG9yID0gaXNGb2N1c2VkID8gY29sb3JzLnRleHQuc2Vjb25kYXJ5IDogY29sb3JzLnRleHQubWVkaXVtR3JheVxuICBjb25zdCBwbHVzTWVudUljb25Db2xvciA9IE1BSUFfQ0hBVF9JTlBVVF9VSS5tZW51SWNvblxuICBjb25zdCBwbHVzTWVudVNlbGVjdGVkQ29sb3IgPSBNQUlBX0NIQVRfSU5QVVRfVUkudGV4dEJyYW5kQm9sZFxuXG4gIGxldCBhY3RpdmVUb29sQ2hpcExlYWRpbmdJY29uOiBSZWFjdE5vZGVcbiAgaWYgKGFjdGl2ZVRvb2xDaGlwSG92ZXJlZCkge1xuICAgIGFjdGl2ZVRvb2xDaGlwTGVhZGluZ0ljb24gPSA8Q3Jvc3MgY29sb3I9e01BSUFfQ0hBVF9JTlBVVF9VSS5jaGlwQ2xvc2VJY29ufSB3aWR0aD17MTh9IGhlaWdodD17MTh9IC8+XG4gIH0gZWxzZSBpZiAoaXNXZWJTZWFyY2hBY3RpdmUpIHtcbiAgICBhY3RpdmVUb29sQ2hpcExlYWRpbmdJY29uID0gPEdsb2JlIGNvbG9yPXtwbHVzTWVudUljb25Db2xvcn0gd2lkdGg9ezE4fSBoZWlnaHQ9ezE4fSAvPlxuICB9IGVsc2Uge1xuICAgIGFjdGl2ZVRvb2xDaGlwTGVhZGluZ0ljb24gPSA8VGVsZXNjb3BlSWNvbiBjb2xvcj17cGx1c01lbnVJY29uQ29sb3J9IHdpZHRoPXsxOH0gaGVpZ2h0PXsxOH0gLz5cbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxTdHlsZWRNQUlBSW5wdXRXcmFwcGVyXG4gICAgICAgIHJlZj17d3JhcHBlclJlZn1cbiAgICAgICAgZGlzYWJsZWQ9e2ZhbHNlfVxuICAgICAgICBhbGlnbkJ1dHRvbnM9e2FsaWduQnV0dG9uc31cbiAgICAgICAgaGFzQXR0YWNobWVudHM9eyEhYXR0YWNobWVudHMubGVuZ3RofVxuICAgICAgICBjb21wYWN0U2luZ2xlUm93VG9vbGJhcj17Y29tcGFjdFNpbmdsZVJvd1Rvb2xiYXJ9XG4gICAgICAgIGRhdGEtbWFpYS1zdHJlYW1pbmc9e2lzU3RyZWFtaW5nID8gJ3RydWUnIDogJ2ZhbHNlJ31cbiAgICAgICAgb25Gb2N1cz17aGFuZGxlV3JhcHBlckZvY3VzfVxuICAgICAgICBvbkJsdXI9e2hhbmRsZVdyYXBwZXJCbHVyfVxuICAgICAgICBzdHlsZT17eyBwb3NpdGlvbjogJ3JlbGF0aXZlJyB9fVxuICAgICAgPlxuICAgICAgICB7c2hvd1NsYXNoRHJvcGRvd24gJiYgKFxuICAgICAgICAgIDxTbGFzaENvbW1hbmREcm9wZG93blxuICAgICAgICAgICAgY29tbWFuZHM9e3NsYXNoQ29tbWFuZHN9XG4gICAgICAgICAgICBxdWVyeT17c2xhc2hRdWVyeX1cbiAgICAgICAgICAgIG9uU2VsZWN0PXtoYW5kbGVTZWxlY3RTbGFzaENvbW1hbmR9XG4gICAgICAgICAgICBvbkNsb3NlPXtoYW5kbGVDbG9zZVNsYXNoRHJvcGRvd259XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgICAgeyEhYXR0YWNobWVudHMubGVuZ3RoICYmIChcbiAgICAgICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgZ2FwOiAnMTJweCcsIGFsaWduSXRlbXM6ICdjZW50ZXInIH19PlxuICAgICAgICAgICAge2F0dGFjaG1lbnRzLm1hcCgoYXR0YWNobWVudCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgZmlsZU5hbWVQYXJ0cyA9IGF0dGFjaG1lbnQubmFtZS5zcGxpdCgnLicpXG4gICAgICAgICAgICAgIGNvbnN0IGZpbGVFeHRlbnNpb24gPSBmaWxlTmFtZVBhcnRzLmxlbmd0aCA+IDEgPyBgLiR7ZmlsZU5hbWVQYXJ0cy5wb3AoKT8udG9Mb3dlckNhc2UoKX1gIDogJydcbiAgICAgICAgICAgICAgY29uc3QgaXNJbWFnZUJ5RXh0ZW5zaW9uID0gWycucG5nJywgJy5qcGcnLCAnLmpwZWcnXS5pbmNsdWRlcyhmaWxlRXh0ZW5zaW9uKVxuICAgICAgICAgICAgICBjb25zdCBpc0ltYWdlQnlNaW1lID0gYXR0YWNobWVudC50eXBlPy5zdGFydHNXaXRoKCdpbWFnZS8nKVxuICAgICAgICAgICAgICBjb25zdCBpc0ltYWdlID0gaXNJbWFnZUJ5TWltZSAmJiBpc0ltYWdlQnlFeHRlbnNpb25cbiAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8VG9vbHRpcCB0aXRsZT17YXR0YWNobWVudC5uYW1lfSBrZXk9e2Ake2luZGV4fS0ke2F0dGFjaG1lbnQubmFtZX1gfT5cbiAgICAgICAgICAgICAgICAgIDxTQ01JQXR0YWNobWVudCBpc0ltYWdlPXtpc0ltYWdlfT5cbiAgICAgICAgICAgICAgICAgICAge2F0dGFjaG1lbnQuaWNvbn1cbiAgICAgICAgICAgICAgICAgICAgPFNDTUlBdHRhY2htZW50RGVsZXRlSWNvbiBvbkNsaWNrPXsoKSA9PiBoYW5kbGVEZWxldGVBdHRhY2htZW50KGF0dGFjaG1lbnQuaWQpfT5cbiAgICAgICAgICAgICAgICAgICAgICA8VHJhc2ggY29sb3I9XCJyZ2JhKDE5MSwgMTkxLCAxOTEsIDEpXCIgd2lkdGg9ezE4fSBoZWlnaHQ9ezE4fSAvPlxuICAgICAgICAgICAgICAgICAgICA8L1NDTUlBdHRhY2htZW50RGVsZXRlSWNvbj5cbiAgICAgICAgICAgICAgICAgIDwvU0NNSUF0dGFjaG1lbnQ+XG4gICAgICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgICAgPFN0eWxlZE1BSUFNYWluVG9vbGJhckdyaWQgJGNvbXBhY3RSb3c9e2NvbXBhY3RTaW5nbGVSb3dUb29sYmFyfT5cbiAgICAgICAgICA8U3R5bGVkTUFJQVBsdXNUb29sYmFyQ2VsbCAkY29tcGFjdFJvdz17Y29tcGFjdFNpbmdsZVJvd1Rvb2xiYXJ9PlxuICAgICAgICAgICAgPFBsdXNNZW51VG9vbHNSb3c+XG4gICAgICAgICAgICAgIDxQbHVzVG9nZ2xlQnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgJG1lbnVPcGVuPXtwbHVzTWVudU9wZW59XG4gICAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlUGx1c0J1dHRvbkNsaWNrfVxuICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9e3QoJ2NoYXQub3BlblBsdXNNZW51QXJpYScpfVxuICAgICAgICAgICAgICAgIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBhcmlhLWV4cGFuZGVkPXtwbHVzTWVudU9wZW59XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8UGx1cyBjb2xvcj17cGx1c0ljb25Db2xvcn0gd2lkdGg9ezIwfSBoZWlnaHQ9ezIwfSAvPlxuICAgICAgICAgICAgICA8L1BsdXNUb2dnbGVCdXR0b24+XG4gICAgICAgICAgICAgIDxQb3BvdmVyXG4gICAgICAgICAgICAgICAgb3Blbj17cGx1c01lbnVPcGVufVxuICAgICAgICAgICAgICAgIGFuY2hvckVsPXtwbHVzTWVudUFuY2hvcn1cbiAgICAgICAgICAgICAgICBvbkNsb3NlPXtjbG9zZVBsdXNNZW51fVxuICAgICAgICAgICAgICAgIGFuY2hvck9yaWdpbj17eyB2ZXJ0aWNhbDogJ3RvcCcsIGhvcml6b250YWw6ICdsZWZ0JyB9fVxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybU9yaWdpbj17eyB2ZXJ0aWNhbDogJ2JvdHRvbScsIGhvcml6b250YWw6ICdsZWZ0JyB9fVxuICAgICAgICAgICAgICAgIHN4PXt7IHpJbmRleDogcGx1c01lbnVaSW5kZXggfX1cbiAgICAgICAgICAgICAgICBzbG90UHJvcHM9e3tcbiAgICAgICAgICAgICAgICAgIHBhcGVyOiB7XG4gICAgICAgICAgICAgICAgICAgIGVsZXZhdGlvbjogMCxcbiAgICAgICAgICAgICAgICAgICAgc3g6IHtcbiAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogJ3Zpc2libGUnLFxuICAgICAgICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogJzRweCcsXG4gICAgICAgICAgICAgICAgICAgICAgYm94U2hhZG93OiAnbm9uZScsXG4gICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAndHJhbnNwYXJlbnQnLFxuICAgICAgICAgICAgICAgICAgICAgIG1hcmdpblRvcDogJy00cHgnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFBsdXNNZW51UGFwZXI+XG4gICAgICAgICAgICAgICAgICA8UGx1c01lbnVJbm5lckNvbHVtbj5cbiAgICAgICAgICAgICAgICAgICAgPFBsdXNNZW51SXRlbUJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17aGFuZGxlUGx1c01lbnVBdHRhY2h9PlxuICAgICAgICAgICAgICAgICAgICAgIDxBdHRhY2ggY29sb3I9e3BsdXNNZW51SWNvbkNvbG9yfSB3aWR0aD17MjB9IGhlaWdodD17MjB9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgPFBsdXNNZW51SXRlbUxhYmVsICRzZWxlY3RlZD17ZmFsc2V9Pnt0KCdjaGF0LnBsdXNNZW51QXR0YWNoJyl9PC9QbHVzTWVudUl0ZW1MYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPC9QbHVzTWVudUl0ZW1CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxQbHVzTWVudURpdmlkZXIgLz5cbiAgICAgICAgICAgICAgICAgICAgPFBsdXNNZW51SXRlbUJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17aGFuZGxlUGx1c01lbnVXZWJTZWFyY2h9PlxuICAgICAgICAgICAgICAgICAgICAgIDxHbG9iZVxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9e2lzV2ViU2VhcmNoQWN0aXZlID8gcGx1c01lbnVTZWxlY3RlZENvbG9yIDogcGx1c01lbnVJY29uQ29sb3J9XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD17MjB9XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9ezIwfVxuICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPFBsdXNNZW51SXRlbUxhYmVsICRzZWxlY3RlZD17ISFpc1dlYlNlYXJjaEFjdGl2ZX0+e3QoJ2NoYXQuc2VhcmNoV2ViJyl9PC9QbHVzTWVudUl0ZW1MYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICB7aXNXZWJTZWFyY2hBY3RpdmUgPyA8Q2hlY2sgY29sb3I9e3BsdXNNZW51U2VsZWN0ZWRDb2xvcn0gd2lkdGg9ezE2fSBoZWlnaHQ9ezE2fSAvPiA6IG51bGx9XG4gICAgICAgICAgICAgICAgICAgIDwvUGx1c01lbnVJdGVtQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPC9QbHVzTWVudUlubmVyQ29sdW1uPlxuICAgICAgICAgICAgICAgICAgPFBsdXNNZW51SXRlbUJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17aGFuZGxlUGx1c01lbnVEZWVwU2VhcmNofT5cbiAgICAgICAgICAgICAgICAgICAgPFRlbGVzY29wZUljb25cbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcj17aXNEZWVwU2VhcmNoQWN0aXZlID8gcGx1c01lbnVTZWxlY3RlZENvbG9yIDogcGx1c01lbnVJY29uQ29sb3J9XG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg9ezIwfVxuICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD17MjB9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDxQbHVzTWVudUl0ZW1MYWJlbCAkc2VsZWN0ZWQ9eyEhaXNEZWVwU2VhcmNoQWN0aXZlfT5cbiAgICAgICAgICAgICAgICAgICAgICB7dCgnY2hhdC5wbHVzTWVudURlZXBJbnZlc3RpZ2F0aW9uJyl9XG4gICAgICAgICAgICAgICAgICAgIDwvUGx1c01lbnVJdGVtTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIHtpc0RlZXBTZWFyY2hBY3RpdmUgPyA8Q2hlY2sgY29sb3I9e3BsdXNNZW51U2VsZWN0ZWRDb2xvcn0gd2lkdGg9ezE2fSBoZWlnaHQ9ezE2fSAvPiA6IG51bGx9XG4gICAgICAgICAgICAgICAgICA8L1BsdXNNZW51SXRlbUJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8L1BsdXNNZW51UGFwZXI+XG4gICAgICAgICAgICAgIDwvUG9wb3Zlcj5cbiAgICAgICAgICAgICAgeyhpc1dlYlNlYXJjaEFjdGl2ZSB8fCBpc0RlZXBTZWFyY2hBY3RpdmUpICYmIChcbiAgICAgICAgICAgICAgICA8QWN0aXZlVG9vbENoaXBSb290XG4gICAgICAgICAgICAgICAgICAkaG92ZXJlZD17YWN0aXZlVG9vbENoaXBIb3ZlcmVkfVxuICAgICAgICAgICAgICAgICAgJGV4aXRpbmc9e3Rvb2xDaGlwRXhpdGluZ31cbiAgICAgICAgICAgICAgICAgIG9uTW91c2VFbnRlcj17KCkgPT4gc2V0QWN0aXZlVG9vbENoaXBIb3ZlcmVkKHRydWUpfVxuICAgICAgICAgICAgICAgICAgb25Nb3VzZUxlYXZlPXsoKSA9PiBzZXRBY3RpdmVUb29sQ2hpcEhvdmVyZWQoZmFsc2UpfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxBY3RpdmVUb29sQ2hpcEljb25CdXR0b25cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICRjbG9zZVNob3duPXthY3RpdmVUb29sQ2hpcEhvdmVyZWR9XG4gICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9e3QoJ2NoYXQucmVtb3ZlQWN0aXZlVG9vbEFyaWEnKX1cbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17ZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKVxuICAgICAgICAgICAgICAgICAgICAgIGJlZ2luVG9vbENoaXBFeGl0KClcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge2FjdGl2ZVRvb2xDaGlwTGVhZGluZ0ljb259XG4gICAgICAgICAgICAgICAgICA8L0FjdGl2ZVRvb2xDaGlwSWNvbkJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDxBY3RpdmVUb29sQ2hpcExhYmVsPlxuICAgICAgICAgICAgICAgICAgICB7aXNXZWJTZWFyY2hBY3RpdmUgPyB0KCdjaGF0LnNlYXJjaFdlYicpIDogdCgnY2hhdC5wbHVzTWVudURlZXBJbnZlc3RpZ2F0aW9uJyl9XG4gICAgICAgICAgICAgICAgICA8L0FjdGl2ZVRvb2xDaGlwTGFiZWw+XG4gICAgICAgICAgICAgICAgPC9BY3RpdmVUb29sQ2hpcFJvb3Q+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L1BsdXNNZW51VG9vbHNSb3c+XG4gICAgICAgICAgPC9TdHlsZWRNQUlBUGx1c1Rvb2xiYXJDZWxsPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIHN0eWxlPXtcbiAgICAgICAgICAgICAgY29tcGFjdFNpbmdsZVJvd1Rvb2xiYXJcbiAgICAgICAgICAgICAgICA/IHsgZ3JpZENvbHVtbjogMiwgZ3JpZFJvdzogMSwgbWluV2lkdGg6IDAsIGFsaWduU2VsZjogJ2NlbnRlcicgfVxuICAgICAgICAgICAgICAgIDogeyBncmlkQ29sdW1uOiAnMSAvIC0xJywgZ3JpZFJvdzogMSwgbWluV2lkdGg6IDAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxDb250ZXh0TWVudGlvbkVkaXRvclxuICAgICAgICAgICAgICByZWY9e2VkaXRvclJlZn1cbiAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17cGxhY2Vob2xkZXJ9XG4gICAgICAgICAgICAgIG9uSW5wdXQ9e2hhbmRsZUVkaXRvcklucHV0fVxuICAgICAgICAgICAgICBvbktleURvd249e2hhbmRsZUtleURvd259XG4gICAgICAgICAgICAgIG9uRm9jdXM9e2hhbmRsZVdyYXBwZXJGb2N1c31cbiAgICAgICAgICAgICAgb25CbHVyPXtoYW5kbGVXcmFwcGVyQmx1cn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPFN0eWxlZE1BSUFTZW5kVG9vbGJhckNlbGwgJGNvbXBhY3RSb3c9e2NvbXBhY3RTaW5nbGVSb3dUb29sYmFyfT5cbiAgICAgICAgICAgIHtpc1dyaXRpbmcgPyAoXG4gICAgICAgICAgICAgIDxUb29sdGlwIHRpdGxlPXt0KCdjaGF0LnN0b3AnKX0gekluZGV4PXt0b29sdGlwWkluZGV4fT5cbiAgICAgICAgICAgICAgICA8U3R5bGVkTUFJQVN0b3BCdXR0b24gZGlzYWJsZWQ9e2ZhbHNlfSBvbkNsaWNrPXtoYW5kbGVTdG9wR2VuZXJhdGlvbn0gY2xhc3NOYW1lPXtjbGFzc05hbWV9PlxuICAgICAgICAgICAgICAgICAgPFN0eWxlZE1BSUFTdG9wSWNvbiAvPlxuICAgICAgICAgICAgICAgIDwvU3R5bGVkTUFJQVN0b3BCdXR0b24+XG4gICAgICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxUb29sdGlwIHRpdGxlPXt0KCdjaGF0LnNlbmQnKX0+XG4gICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9e3sgZGlzcGxheTogJ2lubGluZS1mbGV4JywgYWxpZ25JdGVtczogJ2NlbnRlcicgfX0+XG4gICAgICAgICAgICAgICAgICA8U3R5bGVkTUFJQVNlbmRCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlU2VuZE1lc3NhZ2V9XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17c2VuZERpc2FibGVkIHx8IGRpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICBoYXNWYWx1ZXM9e2hhc1R5cGluZ1ByZXNlbmNlIHx8IGF0dGFjaG1lbnRzLmxlbmd0aCA+IDB9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxQYXBlclBsYW5lIGNvbG9yPVwiI0JGQkZCRlwiIHdpZHRoPXsxOH0gaGVpZ2h0PXsxOH0gLz5cbiAgICAgICAgICAgICAgICAgIDwvU3R5bGVkTUFJQVNlbmRCdXR0b24+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvU3R5bGVkTUFJQVNlbmRUb29sYmFyQ2VsbD5cbiAgICAgICAgPC9TdHlsZWRNQUlBTWFpblRvb2xiYXJHcmlkPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICByZWY9e2ZpbGVJbnB1dFJlZn1cbiAgICAgICAgICB0eXBlPVwiZmlsZVwiXG4gICAgICAgICAgbXVsdGlwbGVcbiAgICAgICAgICBhY2NlcHQ9XCIudHh0LC5tZCwuY3N2LC5kb2MsLmRvY3gsLnBuZywuanBnLC5qcGVnLC5wZGYsLnhsc3gsLnhscywuZmxhYywubTRhLC5tcDMsLm1wNCwub2dhLC5vZ2csLndhdiwud2VibVwiXG4gICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZUZpbGVTZWxlY3R9XG4gICAgICAgICAgc3R5bGU9e3sgZGlzcGxheTogJ25vbmUnIH19XG4gICAgICAgIC8+XG4gICAgICA8L1N0eWxlZE1BSUFJbnB1dFdyYXBwZXI+XG4gICAgICB7bW9kYWxQcm9wcy5pc09wZW4gJiYgKFxuICAgICAgICA8TW9kYWxGaWxlRXhjZWVkc1xuICAgICAgICAgIG9uQ2xvc2U9eygpID0+IHNldE1vZGFsUHJvcHMoeyBpc09wZW46IGZhbHNlLCBleGNsdWRlZEZpbGVzOiBbXSwgZXhjZWVkZWRGaWxlczogW10sIGZpbGVTaXplczoge30gfSl9XG4gICAgICAgICAgZXhjbHVkZWRGaWxlcz17bW9kYWxQcm9wcy5leGNsdWRlZEZpbGVzfVxuICAgICAgICAgIGV4Y2VlZGVkRmlsZXM9e21vZGFsUHJvcHMuZXhjZWVkZWRGaWxlc31cbiAgICAgICAgICBmaWxlU2l6ZXM9e21vZGFsUHJvcHMuZmlsZVNpemVzfVxuICAgICAgICAvPlxuICAgICAgKX1cbiAgICAgIHtwb3BvdmVyTm9kZSAmJiBjcmVhdGVQb3J0YWwocG9wb3Zlck5vZGUsIGRvY3VtZW50LmJvZHkpfVxuICAgIDwvPlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUtFQSxXQUFXLEVBQ1hDLFNBQVMsRUFDVEMsT0FBTyxFQUNQQyxNQUFNLEVBQ05DLFFBQVEsUUFDSCxPQUFPO0FBQ2QsU0FBU0MsWUFBWSxRQUFRLFdBQVc7QUFDeEMsU0FBU0MsT0FBTyxRQUFRLGVBQWU7QUFDdkMsU0FBU0MsVUFBVSxRQUFRLDZDQUE2QztBQUN4RSxTQUFTQyxNQUFNLFFBQVEseUNBQXlDO0FBQ2hFLFNBQVNDLEtBQUssUUFBUSx3Q0FBd0M7QUFDOUQsU0FBU0MsS0FBSyxRQUFRLHdDQUF3QztBQUM5RCxTQUFTQyxJQUFJLFFBQVEsdUNBQXVDO0FBQzVELFNBQVNDLEtBQUssUUFBUSx3Q0FBd0M7QUFDOUQsU0FBU0MsS0FBSyxRQUFRLHdDQUF3QztBQUM5RCxTQUFTQyxPQUFPLFFBQVEsOENBQThDO0FBQ3RFLE9BQU9DLE1BQU0sTUFBTSxtQ0FBbUM7QUFFdEQsU0FDRUMsd0JBQXdCLEVBQ3hCQyxtQkFBbUIsRUFDbkJDLGtCQUFrQixFQUNsQkMsZUFBZSxFQUNmQyxtQkFBbUIsRUFDbkJDLGtCQUFrQixFQUNsQkMsaUJBQWlCLEVBQ2pCQyxhQUFhLEVBQ2JDLGdCQUFnQixFQUNoQkMsZ0JBQWdCLEVBQ2hCQyxjQUFjLEVBQ2RDLHdCQUF3QixFQUN4QkMsc0JBQXNCLEVBQ3RCQyxvQkFBb0IsRUFDcEJDLHlCQUF5QixFQUN6QkMseUJBQXlCLEVBQ3pCQyx5QkFBeUIsRUFDekJDLG9CQUFvQixFQUNwQkMsa0JBQWtC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
|